計算機網絡-第三章:數據鏈路層

0.本章思維導圖:

數據鏈路層使用的信道:

    點對點信道:使用一對一的點對點通信方式

    廣播信道:使用一對多的廣播通信方式,過程比較複雜,需要專用的協議來協調

 

1.使用點對點信道的數據鏈路層

    

1.1數據鏈路和幀

    

鏈路(物理鏈路):從一個結點到相鄰結點的一段物理線路,中間沒有任何其他的交換節點

     鏈路是一條路徑的一個組成部分:兩臺計算機之間的通信路徑需要許多鏈路

數據鏈路(邏輯鏈路):把實現了這些通信協議的硬件和軟件加到鏈路上,就構成了數據鏈路(物理線路+協議)

網絡適配器:既有硬件也包括軟件,實現了通信協議,包括了數據鏈路層和物理層兩層的功能

規程:數據鏈路層中,規程等同於協議

幀:點對點信道數據鏈路層的協議數據單元

數據鏈路層通信時的主要步驟:

    (1)結點A的數據鏈路層把網絡層交下來的IP數據報添加首部和尾部封裝成幀

    (2)結點A把封裝好的幀發送給結點B的數據鏈路層

    (3)若結點B的數據鏈路層收到的幀無差錯,則從收到的幀中提取IP數據報上交給網絡層;否則丟棄這個幀

特點:數據鏈路層不用考慮物理層如何實現,所以就相當與對等層水平傳輸

    

*1.2三個基本問題

        

1.封裝成幀:

    封裝成幀:就是在一段數據前後分別添加首部和尾部,確定幀的界限,然後就構成了一個幀

    添加首部和尾部的作用:進行幀定界(確定幀的界限);包含許多必要的控制信息

    幀長:幀的數據部分加上幀首部和幀尾部的長度

    最大傳送單元MTU:鏈路層協議規定的所能傳送的幀的數據部分長度上限

    幀格式:

            

    幀界定的方法:可用特殊的幀定界符,在ACSCII碼中,用SOH表示幀的首部開始,EOT表示幀的結束

    幀界定的作用:判斷收到的幀是否完整,不完整則丟棄

        

2.透明傳輸:

    透明傳輸:不管什麼數據,都能完整無差錯的通過這個數據鏈路層,數據鏈路層對數據沒有妨礙,數據鏈路層對數據時透明的

    透明傳輸中的問題:若數據中的某個字節的二進制代碼恰好組成了幀界定符,就會出現錯誤

    解決方法:字節填充,在控制字符和特殊字符前插入一個轉義字符"ESC",而真正的首部和尾部前不加

        

3.差錯檢測:

    比特差錯:在傳輸中可能會產生比特差錯,1可能變0,0可能變1

    誤碼率:在一段時間,傳輸錯誤的比特佔所有傳輸比特總數的比率,與信噪比有關

   *循環冗餘校驗(CRC):

        原理:在發送端,先把數據劃分爲組,假定每組k個比特,若傳輸一組數據M=101001(k=6),在M後添加供差錯檢測用的n位冗餘碼後一起發送,共發送(k+n)位,接收方用收到的數據除P,若餘數爲0則表示沒有差錯

        冗餘碼計算方法:在M後面添加n個0,得到(k+n)位的數除以選定好的除數p,得出商Q,餘數R,將餘數R作爲冗餘碼,添加到M後

                例:k=6,M=101001,設n=3,除數P=1101,被除數是101001000,計算後得到商Q=110100,餘數R=001

        幀校驗序列(FCS):爲差錯檢驗而添加的冗餘碼;就是計算後得到的餘數R 

        生成多項式:一種方便的表示循環冗餘校驗過程的方法

            例:P=1101->P(X)=X³+X²+1(最高位對應X³,最低位對應Xº)

    傳輸差錯的分類:

        比特差錯:1變0,0變1

        幀丟失:丟失某個幀

        幀重複:某個幀收到多次

        幀失序:後發送的幀反而先到達接收端

    CRC的侷限性:只能實現無比特差錯,不能實現無傳輸差錯,只能判斷收到的數據是否正確,其餘均無法判斷,並不是可靠傳輸

        無差錯接受:接收端數據鏈路層接受的幀,都能認爲在傳輸過程中沒有產生差錯

        可靠傳輸:發送端發送什麼,接收端就收到什麼

     

2.點對點協議PPP

 

對於點對點的鏈路,目前使用最廣泛的是PPP協議

2.1PPP協議的特點

 

作用域:用戶計算機和ISP通信時所使用的數據鏈路層協議

PPP協議應滿足的需求:

    (1)簡單:對數據鏈路層的幀,不需要糾錯、序號、流量控制,簡單作爲首要要求;收到幀進行CRC檢驗,無差錯則接收,反之丟棄

    (2)封裝成幀:必須規定特殊的字符作爲幀定界符,使接收端從收到的比特流中準確找出幀的開始和結束位置

    (3)透明性:必須保證數據傳輸的透明性,要能解決碰巧出現和幀定界符一樣的比特組合的問題

    (4)多種網絡層協議:必須能夠在同一條物理鏈路上同時支持多種網絡層協議的運行,如IP等;在局域網和路由器上同樣如此

    (5)多種類型鏈路:必須能夠在多種鏈路上運行

    (6)差錯檢驗:必須能夠對接收端收到的幀進行檢測,並立即丟棄有差錯的幀

    (7)檢測連接狀態:必須能夠自動檢測鏈路是否處於正常工作狀態

    (8)最大傳送單元:必須對每一種類型的點對點鏈路設置MTU的標準默認值;促進各種實現之間的互操作性,若高層協議發送的分組數據部分超過MTU值,則丟棄並返回差錯

    (9)網絡層地址協商:必須提供一種機制使通信的兩個網絡層的實體能夠通過協商知道或能夠配置彼此的網絡層地址

    (10)數據壓縮協商:必須提供方法來協商使用數據壓縮算法

 

PPP的特點:不支持多點線路,只支持點對點的鏈路通信,只支持全雙工鏈路

PPP協議不需要的功能:糾錯、流量控制、序號、多點線路、半雙工或單工鏈路(只工作在點對點鏈路

PPP協議的組成:

    (1)將IP數據報封裝到串行鏈路的方法;PPP支持異步鏈路,也支持面向比特的同步鏈路;IP數據報在PPP幀中數據部分,收到MTU限制

    (2)用來建立、配置和測試鏈路連接的鏈路控制協議LCP

    (3)網絡控制協議NCP,其中每一個協議支持不同的網絡層協議

2.2PPP協議的幀格式 

    

 

        首部和尾部分別爲4個字段和2個字段

        標誌字段F:規定爲0x7E,表示一個幀的開始或結束,就是幀的定界符

        地址字段A:規定爲0xFF

        控制字段C:規定爲0x03

        協議字段:

            (1)當協議字段爲0x0021時,PPP幀的信息字段就是IP數據報。

            (2)當協議字段爲0xC021時,PPP幀的信息字段就是PPP鏈路控制協議LCP的數據。

            (3)當協議字段爲0x8021時,PPP幀的信息字段就是網絡層的控制數據。

        信息字段:長度可變,不超過1500字節

        幀減壓序列FCS:CRC中使用的冗餘碼

 

        透明傳輸問題: 當信息字段中出現和標誌字段一樣的比特(0x7E)組合時,就必須採取一些措施使這種形式上和標誌字段一言的比特組合不出現在信息字段中。

            異步傳輸-字符填充:

  • 當PPP使用異步傳輸時,它把轉移符定義爲0x7D,並使用字節填充。

  • RFC1662規定了如下填充方法:

    <p>(1)把信息字段中出現的每一個0x7E字節轉變爲2字節序列(0x7D,0x5E)。</p>
    
    <p>(2)若信息字段中出現一個0x7D的字節(即出現了和轉義字符一樣的比特組合),則把轉義字符0x7D轉變爲2字節序列(0x7D,0x5D)。</p>
    
    <p>(3)若信息字段中出現ASCII碼的控制字符(即數值小於0x20的字符),則在該字符前面要加入一個0x7D字節,同時將該字符的編碼加以改變。例如,出現0x03(在控制字符中是“傳輸結束”ETX)就要把它轉變爲2字節序列的(0x7D,0x31)。</p>
    </li>
    <li>
    <p><span style="color:#0000ff;">由於在發送端進行了字節填充,因此在鏈路上傳送的信息字節數就超過了原來的信息字節數。但接收端在接收到數據後再進行與發送端字節填充相反的變換,就可以正確地恢復出原來的信息。</span></p>
    </li>
    

           *同步傳輸-零比特填充:

  • 當PPP使用同步傳輸時,使用零比特填充。

  • 零比特填充的具體方法:

    <p>(1)在發送端先掃描整個信息字段(通常使用硬件實現,但也可以用軟件實現,但是會慢一些)。</p>
    
    <p>(2)只要發現有5個連續的1,則立即填入一個0。</p>
    
    <p>(3)接收端在收到一個幀時,先找到標誌字段F以確定幀的邊界,接着再用硬件對其中的比特流進行掃描,每當發現5個連續1時,就把5個連續1後的一個0刪除,以還原成原來的信息比特流。</p>
    </li>
    <li>
    <p><span style="color:#0000ff;">因此通過這種零比特填充後的數據,就可以保證在信息字段中不會出現連續6個1。</span></p>
    </li>
    

    

2.3PPP協議的工作狀態

    

3.使用廣播信道的數據鏈路層

 

3.1局域網的數據鏈路層

        

局域網的特點:網絡爲一個單位所擁有,且地理範圍和站點數目均有限

局域網的優點:

    (1)具有廣播功能,從一個站點可方便的訪問全網;局域網上主機共享局域網上各種硬件和軟件資源

    (2)便於系統的擴展和演變,各設備的位置可靈活調整和改變

    (3)提高了系統的可靠性、可用性和生存性

*局域網的拓撲結構:總線網、環形網、星形網

媒體共享技術:

    靜態劃分信道:頻分複用、時分複用、波分複用、碼分複用;代價較高,不適合局域網使用

    動態媒體接入控制(多點接入):

        隨機接入:所有用戶可隨機發送信息,若發生碰撞(衝突),會使這些發送失敗,需要解決碰撞的網絡協議

        受控接入:用戶不能隨機發送信息而必須服從一定的控制,如多點線路探詢(輪詢)

 

以太網的兩個標準:DIX Ethernet V2;IEEE 802.3

數據鏈路層的兩個子層:

    邏輯鏈路控制(MAC):靠近物理層,存放與接入媒體有關的內容

    媒體接入控制(LLC):靠近網絡層,看不見下面的局域網,已經過時

        

適配器的作用:

    網絡適配器又被稱爲網卡

    包含了數據鏈路層和物理層兩層的功能

    適配器的重要功能:(1)進行串行\並行轉換、(2)對數據進行緩存、(3)在計算機的操作系統安裝設備驅動程序、(4)實現以太網協議

    計算機通過配置器和局域網通信:

        

*3.2CSMA\CD協議

  

總線的特點:當一臺主機發送數據時,總線上所有主機都能檢測到這個數據,就是廣播通信方式

爲使通信簡便採取的措施:

    (1)採用無連接工作方式,不必先建立連接就可以直接發送數據;適配器對數據幀不編號,不要求發回確認;因此,以太網提供盡最大努力交付,是不可靠交付;收到差錯幀則丟棄,是否重傳由高層決定,和以太網無關;同一時間只允許一臺主機發送數據;使用CSMA/CD協議

    (2)發送的數據使用曼切斯特編碼

 

CSMA/CD協議要點:

    (1)多點接入:說明是總線型網絡

    (2)載波監聽:檢測總線上有沒有其他計算機也在發送;每個主機必須不停的檢測信道,發送前檢測是爲了獲得發送權,發送中檢測是爲了及時發現碰撞

    (3)碰撞檢測:邊發鬆邊監聽,也叫衝突檢測;發生碰撞就立即停止發生,等待一段隨機時間後再次發送

 

    發生碰撞的原因:電磁波在1km電纜的傳播時延爲5μs,在這段時間其他主機發送數據無法檢測到,就會導致之後某時刻發送衝突

適用環境:雙向交替通信(半雙工通信)

    以太網的發送不確定性:每一個站在自己發送數據之後一段時間內,存在遭遇碰撞的可能,這段時間是不確定的,取決於離另一個發送站的距離,因此無法保證一定能把自己的數據幀成功發送出去

    *爭用期(碰撞窗口):以太網端到端的往返時間2τ;經過爭用期沒檢測到碰撞,才能肯定這次發送不會發送碰撞

    截斷二進制指數退避算法:用來確定碰撞後重傳的時機,不是信道空閒就立即再次發送,而是推遲一個隨機的時間

        具體流程:

            (1)規定了基本退避時間爲爭用期2τ,具體的爭用期時間是51.2μs;對於10Mbit/s以太網,爭用期內能發送512bit,即64字節,也可以說爭用期是512比特時間。

            (2)從離散的整數集合[0,1,...,(2^k-1)]中隨機取一個數,記爲r,重傳應推後r倍的爭用期,k=min(重傳次數,10)

            (3)當重傳16次仍不成功時,丟棄該幀,向高層報告

        凡長度小於64字節的幀都是由於衝突而異常終止的無效幀

    強化碰撞:當發現碰撞時,處理立即停止發送數據外,還要繼續發送32bit或48bit的人爲干擾信號,使所有用戶都知道發生了碰撞

    幀間最小間隔:9.6μs,即96比特時間,使剛收到數據幀的站的接受緩存來得及清理,做好接收下一幀的準備

    CSMA/CD協議要點:

        (1)準備發送:適配器從網絡獲得一個分組,加上首部和尾部組成以太網幀,放入以太網緩存中,發送前先檢測信道

        (2)檢測信道:若檢測到信道忙,則不停檢測,直到信道轉爲空閒;若檢測到信道空閒,並在96比特時間內保持空閒,就發送這個幀

        (3)在發送過程中仍不停檢測信道,邊發送邊監聽。這裏有兩種可能:

                發送成功:爭用期內未檢測到碰撞。這個幀一定能發送成功。發送完畢後回到(1)

                發送失敗:爭用期內檢測到碰撞。立即停止發送,並按規定發送人爲干擾信號(強化碰撞),執行指數退避算法,等待r倍512比特時間後,返回步驟(2);若重傳16次仍不成功,停止重傳並向上報錯

 

3.3使用集線器的星形拓撲

   

*集線器的特點:

    (1)使用集線器的以太網在邏輯上仍是一個總線網,各站共享邏輯上的總線,還是使用CSMA/CD協議,在同一時刻只允許一個站發送數據

    (2)一個集線器有多個接口,因此一個集線器很像一個多接口轉發器

    (3)集線器工作在物理層,僅簡單的轉發比特,不進行碰撞檢測

    (4)有專用的芯片,能自適應串音回波抵消

    每次只能發送一個信號,工作在物理層,只對比特進行轉發不進行檢測

 

3.4以太的網信道利用率

以太網信道的利用率:由於會發生碰撞,實際利用率達不到100%

成功發送一個幀佔用信道的時間:T0+τ

參數a:

    a=τ/T0    是單程端到端時延τ與幀的發送時間T0之比

    a->0表示一發生碰撞就能立即檢測出來並停止發送,而a越大,爭用期佔比越大,使信道利用率降低

    因此a的值越小越好;當數據率一定時,以太網連線的長度受到限制,同時以太網的幀長不能太短

極限信道利用率Smax:

    Smax=T0/(T0+τ)=1/1+a

    只有參數a遠小於1才能得到儘可能高的極限信道利用率

3.5以太網的MAC層

MAC地址:

    定義:又叫物理地址或硬件地址;就是適配器的標識符,用48位二進制數來標識網卡的硬件地址,表示爲6個16進制數,在局域網內具有唯一性

    I/G位:地址字段第一個字節的最低位;爲0表示單個站地址、爲1表示組地址,用來進行多播

    G/L位:地址字段第一個字節的最低第二位;爲0表示全球管理、爲1表示本地管理

 

適配器的過濾功能:適配器收到MAC幀後檢查幀中目的地址,若發往本站則收下,否則丟棄

    發往本站的幀:

        (1)單播幀:一對一,即收到的幀的MAC地址與本站的硬件地址相同

        (2)廣播幀:一對全體,即發送給本局域網上所有站點的幀(全1地址)

        (3)多播幀:一對多,即發送給本局域網上一部分站點的幀

 

MAC幀格式:

    

以太網數據幀長度:64~1518

各字段含義:

    類型:用來標誌上一層使用的是什麼協議

    數據:長度在46~1500字節

    FCS:幀檢驗序列,使用CRC檢驗

填充字段:當數據字段長度小於46字節時,MAC子層會在數據字段後面加入一個整數字節的填充字段,以保證MAC幀長不小於64字節

插入的8字節:從MAC子層傳到物理層時要在幀前插入8字節,由硬件生成

    前同步碼:7字節;使接收端的適配器在接收MAC幀時能迅速調整時鐘頻率,使其和發送端時鐘同步

    幀開始定界符:定義爲10101011;用來表示幀開始

 

無效的MAC幀:

    (1)幀的長度不是整數個字節

    (2)用收到的幀檢驗序列FCS查出差錯

    (3)收到的幀的MAC客戶數據長度不在46~1500字節之間,或MAC幀長度不在64~1518

 

4.擴展以太網

 

物理擴展:集線器、光纖

4.2在數據鏈路層擴展以太網

 

網橋:對收到的幀根據MAC幀目的地址查找地址表進行轉發和過濾

交換機:工作在數據鏈路層,實質就是一個多接口網橋

    *特點:交換機上的主機是全雙工工作,不會產生衝突,交換機中存有地址表通過自學習算法建立,交換機上所有端口在同一個廣播域上

幀轉發方式:

    直通:收到幀之後直接轉發,不必事先把整個數據幀緩存,但也不對幀進行檢驗

    存儲轉發:將所有幀都收到後進行檢查,然後再發送

*交換機的自學習功能:

    地址表的形成:收到未知的地址後,存儲源地址和接口的對應關係,向除來源端口的其它端口廣播,目的地址不符則丟棄,否則接收並回復,收到回覆後存儲對應關係;地址表有有效時間,超過有效時間則失效

生成樹協議STP:解決無限循環的問題

    

4.3虛擬局域網

    

虛擬局域網(VLAN):是一些局域網網段構成的與物理位置無關的邏輯組

*VLAN標記:在MAC幀的源地址和類型間插入4字節的VLAN標記,交換機收到幀後只向所屬VLAN轉發,而不進行廣播

最大幀長變爲1522字節(1518+4)

 

 


習題

3.網絡適配器的作用是什麼?工作在哪一層?

解:適配器是用來實現數據鏈路層和物理層這兩層的協議的硬件和軟件;工作在數據鏈路層和物理層

 

4.數據鏈路層的三個基本問題爲什麼必須解決?

解:幀定界是分組交換的必然要求;透明傳輸避免消息符號與幀定界符混淆;差錯檢驗防止差錯的無效幀浪費後續路由上的傳輸和處理資源

 

14.常用的局域網的網絡拓撲有哪些種類?現在最流行的是哪種結構?爲什麼早期的以太網選擇總線拓撲結構而不是星形拓撲結構,但現在卻改爲使用星形拓撲結構?

解:星形網、總線網、環形網、樹形網;現在最流行星形結構的拓撲;因爲早期可靠的星形拓撲結構較貴,人們都認爲無源的總線結構更可靠

 

*19.以太網使用的CSMA/CD協議是以爭用方式接入到共享信道。這與傳統的時分複用TDM相比優缺點如何?

解:傳統時分複用是靜態時隙分配,均勻高負荷時信道利用率高,低負荷或負荷不均勻時資源浪費較大;CSMA/CD動態使用空閒資源,低負荷時信道利用率高,但控制複雜,高負荷時信道衝突大

 

20.假定1km長的CSMA/CD網絡的數據率爲1Gb/s。設信號在網絡上的傳播速率爲200000km/s。求能夠使用此協議的最短幀長。

解:對於1km長的電纜,單程傳播時間爲1/200000=5μs,來回傳播時間即爲10μs,所以最小幀的發射時間不能小於10μs,以1Gb/s速率工作,10μs能發送的比特數爲10*10^-6*1*10^9=10000.因此,最短幀長是10000位

 

27.有10個站連接到以太網上。試計算一下三種情況下每一個站所能得到的帶寬。(1)10個站都連接到一個10Mb/s以太網集線器;(2)10個站都連接到一個100Mb/s以太網集線器;(3)10個站都連接到一個10Mb/s以太網交換機。

解:(1)10個站共享10MB/s    (2)10個站共享100MB/s    (3)每個站獨享10MB/s

 

29.以太網交換機有何特點?用它怎樣組成虛擬局域網?

解:以太網交換機工作在數據鏈路層,可實現透明交換;虛擬局域網是由一些局域網網段組成的與物理位置無關的邏輯組,這些網段具有某些共同需求。虛擬局域網協議允許在MAC幀中插入一個4字節的VLAN標記,用來指明發送該幀的工作站屬於哪一虛擬局域網

 

30.

解:最大吞吐量爲1100Mbit/s。三個系中各有一臺主機分別訪問兩個服務器和通過路由器上網。其他主機在系內通信。9+2=11

 

33.如圖,以太網交換機有6個接口,分別連接5臺主機和一個路由器,完成下表

    

    

 

解:

動作

交換表

轉發

A發送給D

(A,1)

2,3,4,5,6

D發送給A

(D,4)

1

E發送給A

(E,5)

1

A發送給E

不變

5

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章