網絡(三)數據鏈路層


第三章 數據鏈路層

3.1 鏈路層的功能

物理層使得1010能夠傳到對端,而使1010有意義,就是數據鏈路層,通過組幀的方式實現的。
鏈路是一條無源的點到點的物理線路,中間沒有其他任何交換節點

一. 數據鏈路層的功能

  1. 鏈路管理,幀同步
  2. 流量控制,差錯控制
  3. 數據和控制信息分開
  4. 透明傳輸和尋址

二. 組幀

  1. 組幀的概念
    (1)封裝成幀是在一段數據的前后分別添加首部和尾部。
    (2)確定幀的界限:首部和尾部的作用就是幀的定界
    (3)MTU是幀的數據部分的最大長度,也是IP數據報的最大傳輸長度(相當於快遞時限制傳輸包裹不能超過20公斤)
    image_1aubr9mfq1so9di8hec6o53aq9.png-9.5kB

  2. 用控制符進行幀定界
    (1)用控制字符進行幀定界的方法是,在幀的開始和結尾處加上特定的字符,這個字符一般是0X7E
    image_1aubrtad71598jt736b5p41j7t13.png-4.5kB
    (2)透明傳輸:如果幀的數據部分出現了0X7E(SOH或EOT的字符),則要進行轉義

  3. 透明傳輸的轉義方法:
    (1) 字符填充
         因為0x7E=0111 1110,字符填充是在這兩個字節中,填充進0xD5。變為(0x7D,0x5E)的組合。
         即0111 1101 1001 1110
    (2)零比特填充
         因為0x7E=0111 1110,帶有連續的6個1.因此發送端發送幀數據時,每當發現有連續的5個1,立即填充一個0發送。接收端對幀中的比特流掃描,每當發現5個連續的1,就把后面的1個0刪除
         eg:0111 1110變成0111 1101 0進行傳輸

3.2 差錯控制

  1. 檢測編碼:循環冗余校驗碼
  2. 糾錯編碼:漢明碼

3.3 流量控制和可靠傳輸

一. 停止-等待協議

  1. 基本概念
    (1)發送端A發送完幀,必須等待獲得對端B對陣個幀發送確認幀,A才能繼續發送下一個幀
    (2)由於幀可能再傳輸中由於線路問題而丟失,B收不到幀從而無法發送確認幀。因此A設置一個超時重傳時間。在這個時間后如果還沒收到確認幀,A就重新發送該幀。超時重傳時間一般設置為2\(\tau^+\)。(\(\tau\)為A到B的傳輸時延)
    image_1aubt4tsgrj5ofio2rp0bnta1g.png-6.9kB

  2. 停止等待協議的特點
    (1)在發完一個分組后,必須暫時保留已發送的分組的副本
    (2)分組和確認都必須進行編號(才能知道是對哪個分組進行確認)
    (3)超時重傳的時間比數據在分組傳輸的平均往返時間2\(\tau\)更長一些
    (4)ack報文丟失的結果:A向B發送數據幀,當B的ACK確認幀丟失后,A通過超時重傳重傳丟失的幀。這個幀實際上已經被B接收到了,如果這個幀沒序號,B就無法識別這是收到的重復的幀
    (5)綜上所述,停止等待協議使用的確認和重傳機制,可以在不可靠的傳輸網路上實現可靠地通信。

  3. ARQ協議
    (1)上面這種可靠傳輸協議常稱為自動重傳請求(ARQ--atomic repeat request)。是停止等待的一種實現
    (2)ARQ表明重傳請求是自動進行的,接收方不需要請求發送方重傳某個出錯的數據幀。
    (3)停止等待協議的信道利用率:

\[\frac{T_d}{T_d + RTT + T_A} \]

                              image_1aucjeqrv3l61oie1mvo1m9v5g42a.png-7.7kB

  1. 流水線傳輸 - 連續的ARQ協議
    發送方可連續發送多個分組,不必發送完一個分組就停下來等待對方確認。可以使信道利用率達到100%。一直有數據向外發送。
    (1)連續的ARQ協議:
    連續的ARQ協議可以連續發送多個數據幀,連續發送的個數成為發送窗口的大小。發送窗口中的幀分為2部分:已發送沒確認的幀和等待發送的幀。當收到第一個發送幀的ACK幀后,窗口向后滑動一個位置。
    image_1aucj1n51ehp1o2r17sb4v1f4i1t.png-8.3kB

  2. 累積確認
    (1)接收方的累計確認是指,接收方不必對分割受到的分組逐一確認,逐一發送ACK幀,而是對按需達到的最后一個分組發送方確認幀,表示這個分組及其之前的幀已經正確收到。
    (2)累計確認的優點:容易實現,即使ACK丟失也不必重傳(因為后面的確認幀確認了前面的已經收到)
    (3)累計確認的缺點:不能反映出接收方已經正確接受的所有分組的信息。

二. 后退N幀協議(GBN)

  1. GBN的基本概念
    設想一種場景:加入1到5號幀,如果只有3號幀接收失敗,但是要重傳3,4,5號幀),發送方要把后面的3個分組重新再傳一遍。這種方法就叫做Go-Back-N(回退N)。表示需要退回來重傳已經發送的N個分組。

三. 選擇重傳協議(SR)

  1. SR的基本概念
    (1)當接收方發現某個幀傳輸出錯后,氣候繼續達到的正確幀不能立即送給接收方得高層,需要先存放在一個緩沖區,同時要求發送方重傳出錯的一個幀。
    (2)一旦接收到重傳的幀后,就可以和緩沖區中的正確幀按照順序遞交給上層
    (3)選擇重傳協議,使用連續ARQ發送,但不能使用累積確認。

  2. 滑動窗口設置
    (1)發送方設置一個變量,作為發送窗口SWS(Send Window Size):表示在沒收到確認幀的情況下,發送端最多能發送的幀個數。(停止等待協議中SWS=1)
            接收方設置一個變量,作為接收窗口RWS(Recieve Window Size)
    (2)設置滑動窗口的目的是重復使用有限的序號列。(序號需要包含在幀頭部,無限增加的序號會導致幀序號字段所占位數增大。eg:2bit幀序號能表示序號0 ~ 3)
    (3)發送窗口的規則:
            發送窗口內的幀都是允許發送的幀,不用考慮是否收到確認。
            每發送完一個幀,允許發送的幀數就減1,但是發送窗口的位置不變。
            如果允許發送的幀數都發送完畢,但沒有收到任何確認,則不能繼續發送任何數據。
            發送端沒接受到一個ACK確認,發送窗口向前移動一個幀的位置。
    (4)接收窗口的規則(RWS):

  1. 接收窗口大小RWS,表示能夠接受的幀序號的上限,規定了哪些序號的幀可以接受,哪些不能。即:當收到的幀的序號落在窗口內才允許接受該數據幀。(停止等待協議中的RWS = 1)
  2. 為了減少開銷,連續的ARQ協議還規定接收端不必每收到一個正確的數據幀就發送一個確認幀,而是連續收到幾個正確幀后,才對最后一個數據幀確認。
  3. 有時為了減少開銷,也會采用捎帶確認機制(ACK幀不包含發送時間,只有在信道上傳播的時間)
  4. 接收窗口的大小需要根據需要設定
    (1)RWS=1:表示一次只能接受一個幀
    (2)RWS=SWS:可以將發送端發送的幀全部接受
    (3)RWS>SWS:無意義
  5. 接收窗口的規則:
    (1)只有當接收的幀序號和接受窗口的序號一致時才能接受該幀,否則丟棄該幀
    (2)沒收到一個序號正確的幀,接受窗口向前滑動一個位置(使可接收序號變化),同時發送ACK確認。所以接收窗口的大小,只是起到了累積確認,按序重組數據幀的作用。
    (3)接受窗口滑動了,發送窗口才能滑動。
  1. 如何設定發送窗口(SWS)的大小:
    (1)發送窗口的大小等於序號大小就一定最好嗎
         (i) 假設序號為0到7,發送窗口大小設置為8(與序號個數一樣),接收窗口設置為1,這樣好嗎?答案是不好。
         (ii) 假設接收方返回的1到8號確認幀丟失了,使得發送方重傳1到8號幀,這是發送方發送的其實是接收方已經接收到的重復幀,但是接收方並沒意識到自己收到的是重復幀。
         (iii) 為了解決這個問題,只要把發送窗口大小,設置的比序號至少小1即可。
         image_1aucndhusc37rh61hd4a9j1n2a2n.png-16.5kB
    (2)\(SWS_{max}\) = 序號個數 - RWS:
            保證發送窗口大小與接收窗口大小的和為n,就能保證接收方識別出重傳的幀
    (3)退后N幀的發送窗口最大:\(2^n -1\)
            選擇重傳的發送窗口最大:\(2^{(n-1)}\)

3.4 介質訪問

一. 介質訪問控制

1、 信道划分介質訪問控制
     復用是通信技術的基本概念
(1)頻分復用FDM
     頻分復用的所有用戶在同樣的時間使用不同的帶寬資源(不同Hz的信道)
(2)時分復用TDM
     (i) 時分復用是將時間划分為一段登場的復用幀(TDM幀)。每一個時分復用的用戶在每一個TDM幀中占用固定序號的時隙。
     (ii) 每一個用戶所占時隙周期性的出現(周期就是TDM幀的長度)
     (iii)TDM信號也成等時
     (v) 時分復用的所有用戶在不同時間占用相同的頻帶寬度
(3)波分復用(WDM)
     光纖通信中,每個用戶占用不同的波長
(4)碼分復用(CDM)
     碼分多址CDMA(Code Division Multiple Access)
     (i) 每一個比特時間划分為m個短的間隔,成為碼片。所有用戶一起發送的結果就是這些碼片向量的疊加
     (ii) 碼片序列:
          每個站被指派一個唯一的m個碼片序列
          eg:發送比特1,則發送m個bit的碼片。
          發送比特0,就發送這m個bit碼片的二進制反碼
          eg:S站的碼片序列為00011011,則如果發送比特0,則發送的是11100100。而CDMA往往用-1代表0(利於后面的正交計算)。所以S站的原始碼片序列為(-1 -1 -1 +1 +1 -1 +1 +1)
     (iii) CDMA的特點:每個站分配的碼片必須正交(使用偽隨機碼序列)

\[正交關系的公式:S*T = \frac{1}{m}\sum S_i*T_i = 0 \]

          eg:向量S為(-1 -1 -1 +1 +1 -1 +1 +1),向量T為(-1 -1 +1 -1 +1 +1 +1 -1)。把向量S和T的各分量之帶入S*T。和為0.
     (v)CDMA分碼,使得向量自己和自己做內積,結果是1。向量和自己的反碼做內積,結果是-1.
          image_1auctkcc01sf51utr1laj1pqo1u7d9.png-175.3kB
          image_1auctljra1a0u16d4k96r4o15ghm.png-289.9kB

二. 隨機介質訪問控制

  1. ALOHA協議
    (1)用戶有幀即可發送。采用沖突監聽與隨機重發機制。這種系統是競爭系統系統
    (2)幀長統一,但兩幀沖突或重疊,則會被破壞,因此效率不高
    (3)在泊松分布下,每個幀時間為嘗試發送次數G=0.5時,信道吞吐量S=0.184
    (4)只能用原信道吞吐量的18.4%

  2. 載波監聽多路訪問CSMA
    (1)當一個站點需要發送數據前,需要先監聽總線
    (2)如果總線上沒有其他站點發送信號,則該站可以發送信號。如果有其他站點發送信號。則需要等待一段時間再重新監聽總線,再根據總線的忙閑情況決定是否發送數據。

  3. CSMA/CD協議
    (1)CSMA只是監聽總線是否空閑,當兩個站點同時監聽到總線空閑后,會同時發送數據,還是會造成沖突。
    (2)CSMA/CD利用以太網廣播的方式進行單播通信。即線路上的所有站點都能收到總線上的數據,但只有指定的接收方會對該信號作出回應。
    (3)CSMA/CD協議用於以太網。以太網的傳輸特點有以下2中方式:
         (i) 采用靈活的無連接工作方式。即不必先建立連接就可以發送數據
         (ii)以太網對發送的幀不進行編號,也不要求對方發回確認(因為局域網的信道質量很好,產生差錯的概率很低)
    (4)以太網提供的服務
    以太網提供的是不可靠服務,盡最大努力交付
    當目的站收到有差錯數據時就丟棄,其他的什么也不做、
    (5)CD的意思是碰撞檢測:就是邊發數據邊檢測是否有其他站點發送信號。發生碰撞時,總線上傳輸的信號產生嚴重失真,無法恢復有用的信息。因此,使用CSMA/CD協議的以太網不能進行全雙工通信,而只能進行雙向交替通信(半雙工通信)。每個站在發送數據后的一小段時間內,都存在遭遇碰撞的可能性。最先發送數據幀的站,最多在發送數據后的2\(\tau\)時間后,就可以知道是否發生了碰撞。
    (6)以太網端到端的往返延時2\(\tau\)稱為征用期或碰撞窗口
    (7)當發送的時候,檢測到了碰撞,則要二進制指數退避算法延時后再次發送數據
         (i)重傳次數k = Min[重傳次數,10],設隨機數r是從0到$ (2^k-1)\(中隨機取出來的整數。重傳所需的時延就是r倍的2\)\tau\(      (ii)當重傳16次仍發現沖突時,就丟棄該幀,向上層告報告 (8)以太網征用期的長度為51.2\)\mu s$
         因此對於10Mbps的以太網,征用期內能發送512字節的數據幀,即64字節。即如果在發生64自節后,還沒檢測到沖突,則此次發送不會砸發生沖突。
    (9)64字節稱為最短有效幀長。
         若信道長度為L,帶寬為c,傳播速率為D,則最短有效幀長為\(2*C*\frac{L}{D}\)

  4. CSMA/CA協議
    (1)CSMA/CA在無線網中使用、無線網由於沒有一條確定的通信線路,因此cd算法的征用期無法計算,所以不適合用CSMA/CD協議
    (2)CSMA/CA協議盡量在發送時避免沖突,同時使用停止等待,一次只發送一個數據幀。
    (3)CSMA/CA的流程:當檢測到信道空閑,還要等待一小段時間后才能發送數據幀,為了讓高優先級的幀發送

3.5 局域網

一. 以太網與IEEE 802.3

  1. 以太網是符合DIX Ethernet V2標准的局域網。

  2. IEEE 802.3規定數據鏈路層分為2層:
    (1)LLC邏輯鏈路控制層:與媒體無關,與IP層打交道
    (2)MAC媒體控制接入子層

  3. MAC地址
    (1)共48bit的物理地址:前24位(3字節)由RA負責向廠家分配。后3字節由廠家分配
    (2)MAC幀的結構:
    image_1aud1iov9acvoqo1iq21h0u1c6e13.png-16.2kB
         MAC幀的數據部分長度范圍是46到1500字節。
         上限由MTU決定,下限由最短幀長決定。最短幀長為64字節(黃色部分+粉色的FCS部分占18個字節,加起來就是64字節)
    (3)無效MAC幀:
         數據字段長度不在46~1500字節的,有效MAC幀長不在64~1518字節的幀都是無效幀。

  4. 三種不同物理層標准

    標准 線路材質
    100BASE-TX 使用2對UTP5類線或屏蔽雙絞線STP
    100BASE-FX 使用2對光纖
    100BASE-T4 使用4對UTP3類線或5類線

3.6 廣域網

一. PPP協議 - 面向字節

  1. 全世界使用最多的點對點協議PPP
  2. ppp是點對點的,所以不是總線型,也就不用CSMA/CD協議。一次沒有最短幀限制(不用2t的爭用期),所以信息段范圍是0~1500字節
  3. 用戶撥號上網電話線介入因特網時,一般使用PPP協議。
  4. PPP協議由三個部分組成
    (1)將IP數據報封裝到串行鏈路的方法
    (2)鏈路控制協議LCP
    (3)網絡控制協議NCP
  5. PPP在同步線路上采用零比特填充解決透明傳輸(同HDLAC),在異步線路上采用字符定界確定幀邊界0x7E(默認做法)
  6. PPP不采用幀序號和幀確認,是不可靠鏈路,只能進行全雙工通信。只檢錯不糾錯。

二. HDLAC - 面向比特

  1. 主站和從站的概念:
  2. 主站到從站的幀稱為命令幀
    從站到主站的幀稱為響應幀
  3. 采用全雙工通信,對幀編號,采用CRC校驗
  4. HDLAC只有3種幀:信息幀,監督幀,無編號幀。

3.7 數據鏈路層設備

一. 網橋

  1. 網橋具備過濾幀的功能:
    網橋收到一個幀時,並不是向所有接口發送此幀。而是先檢查此幀的目的地址。然后確定將該幀轉發到哪一個接口。

  2. 網橋內部結構
    image_1aud2l88o1rqoj6p1os4di91jj31g.png-3.9kB

  3. 網橋的好處
    (1)過濾通信量
    (2)擴大物理范圍
    (3)提高可靠性
    (4)可互連不同物理層,不同速率的局域網。
    (5)網橋可以隔離碰撞域,可以引起廣播風暴(目的地址為FFFFFF)

  4. 網橋轉發表的建立 - 自學習
    (1)若A站發出的幀從接口x進入了某網橋,那么從這個接口出發沿反方向一定可以吧一個幀發送到A
    (2)網橋每接收到一個幀,如果轉發表中沒有此項,就記下源地址和網橋接口,作為轉發表的一項。如果有該站的表項,則更新表項。
    (3)如果發現轉發的地址和源地址在一個接口,則不予轉發
    (4)初始時,網橋的轉發表為空,所以網橋會把幀轉發到所有的接口。
    (5)網橋中的轉標表項有三個部分:MAC地址,轉發接口,倒計時。倒計時是用來限制轉發表項的生存時間的,因為聯路上的機器時常更新,所以轉發表也要時常更新。比如如果倒計時設為10s,則如果在10秒內沒有幀發往此站,則此轉發表項將刪除

二. 交換機

  1. 交換機是有十幾個接口的網橋
  2. 以太網交換機分為共享式和獨占式。如果是共享式,每個接口的帶寬為總代快的n分之1
  3. 交換機的性能指標 - 轉發技術
    (1)直通式交換:收到數據包后,只看幀的前6個字節(目的地址),然后直接轉發
    此種方法速度快,但是沒有對幀進行校驗,可能轉發了無效幀
    (2)存儲轉發式交換
    存儲轉發技術要求交換機在接收到完整的數據報后決定如何轉發。先進行校驗正確性和完整性
    (3)碎片隔離式
    也是接收完整幀,但只校驗幀長是否大於64字節,
  4. 交換機時延:
    從交換機接收到數據包開始向目的端口復制數據包之間的間隔
    (1)采用直通轉發的交換機有固定的時延。取決於交換機解讀數據包前6字節目的地址的速率
    (2)采用存儲轉發技術的交換機由於要接受完整的數據包,因此時延和幀長度有關

【注】:網橋不能隔離廣播域。但是交換機可以通過組建虛擬局域網來隔離廣播域。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM