序言
我是乙隻菜鳥,又來了。開始今天資料鏈路層的學習吧。
---wh
一、資料鏈路層基本概念及基本問題
基本概念 和 三個基本問題 的講解
1、基本概念
先來看一張圖,理解一下:資料鏈路層之間的運輸、資料鏈路層之間的通道。 說的是什麼意思?
看圖中的注釋,我們應該注意的就是這裡說的資料鏈路層之間的通道等語句,是不考慮物理層中運輸的問題。直接考慮鏈路層這一層。要注意這個事情,不然
鏈路:一條點到點的物理線路段,中間沒有任何其他的交換結點,通俗的將,就是一根線,其中不經過任何東西,這樣的就是鏈路,一條鏈路只是一條通路的乙個組成部分
資料鏈路:除了物理線路外,還必須有通訊協議來控制這些資料的傳輸。若把實現這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路。 通俗講,就是經過了一些交換機呀,什麼的,最終到達目的地,所有路段就是資料鏈路,而資料鏈路中就包含了多段鏈路。
幀:資料鏈路層上傳送的就是幀,
2、三個基本問題
封裝成幀、透明傳輸、差錯控制
講解如何封裝幀,封裝完後幀的傳輸問題、傳輸到達目的地,如何檢驗該段幀是否完整, 就是這三個問題。
1、封裝成幀
看圖就理解了。資料鏈路層就是在ip資料報的前面後末尾加了乙個首部和尾部來代表ip資料報的開始和結束,首部和尾部都市由8位二進位制數表示的,可以一樣也可以不一樣
2、透明傳輸
就是為了解決乙個問題, 在ip資料報中如果有乙個跟幀尾部一樣的8位二進位制數,則會提前結束接受資料報,這樣資料就被破壞了。出現了如下圖這樣的問題
解決辦法:
看圖:通過在特殊字元前面增加乙個轉義字元 esc, 就可以解決上面所遇到的問題,在接收端,將資料報中所有esc的字元刪除,遇到兩個esc的,就刪除第乙個,這樣一開始傳輸的時候有esc轉義字元,接受完就沒了,所以說的是透明傳輸
3、差錯檢測
問題:傳輸過程中可能會產生位元差錯:1 可能會變成 0 而 0 也可能變成 1。在一段時間內,傳輸錯誤的位元佔所傳輸位元總數的比率稱為誤位元速率 ber (bit error rate)。
為了檢測傳送的幀中ip資料報是否完整,是否沒有被損壞,所以需要差錯檢測
解決:迴圈冗餘檢測crc,截個圖,把概念性的文字截下來,看到這個人都暈了,其實很簡單,
按照下圖中的7步走,理解一下,然後再看上面的文字,就理解了。
檢測:若得出的餘數 r = 0,則判定這個幀沒有差錯,就接受(accept)。
若餘數 r ≠ 0,則判定這個幀有差錯,就丟棄。
生成多項式:也很簡單,例如上面的除數1101 就用p(x)=x3+x2+1 (x3是x的三次方的意思) 最高位是2的三次方,就是x的三次方這樣算,例如,101101 p(x)=x5+x3+x2+1
這種冗餘差錯校驗的特點:
1這種檢測方法並不能確定究竟是哪乙個或哪幾個位元出現了差錯
2只要經過嚴格的挑選,並使用位數足夠多的除數 p,那麼出現檢測不到的差錯的概率就很小很小。
3只能是無差錯接受:凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近於 1 的概率認為這些幀在傳輸過程中沒有產生差錯」。也就是說:「凡是接收端資料鏈路層接受的幀都沒有傳輸差錯」(有差錯的幀就丟棄而不接受)
4這是」不可靠「的,是無比特差錯,而不是無傳輸差錯的檢測機制,要做到可靠的 還要加上確認和重傳機制。即考慮幀重複、幀丟失、幀亂序的情況
3、可靠傳輸
在有些情況下,我們需要資料鏈路層向上的網路層提供「可靠傳輸」的服務,就是傳送端傳送什麼,在對應的接收端就收到什麼, 前面的crc只能檢測出位數的差錯,不能正確的檢測出更精準的錯誤。
1、停止等待協議
停止等待就是每傳送完乙個分組就停止傳送,等待對方的確認。在收到確認後再傳送下乙個分組,詳細的可以看書上的文本性描述,很簡單,
超時重傳:解決上面如果資料分組或確認分組丟失時,傳送方將會一直等待接收方的確認分組的問題,設定乙個超時計時器,弱到了超時計時器所設定的重傳時間,而傳送方仍收不到接收方的任何確認分組,則會重傳原來的分組。
重複分組:如果只使用超時重傳來解決,不用傳送確認分組,那麼會出現重複分組的問題,就是當接收方收到分組後,發回確認分組時,確認分組丟失,那麼會觸發超時重傳,則接收方會收到兩個重複的分組,這裡需要注意的是,是確認分組丟失。第一次傳送的分組已經正確接收了。
2、停止等待協議的演算法
因為手寫實在太麻煩,所以截圖過來看一下這個演算法的具體步驟
通過畫圖分析了一下正確的過程,其他依葫蘆畫瓢
3、回退n步協議
其實跟停止等待協議差不多,只是使用的是流水線傳輸方式,傳送方不間斷的傳送分組,每次傳送的分組大小有限制,如果不限制,可能會使接收方或網路來不及處理這些分組,導致分組的丟失,所以每次傳送的分組大小可能是5,6或者更多。這種限制就是回退n步協議。
回退n步協議:利用傳送視窗來限制傳送方連續傳送分組的個數。要是傳送視窗為1就是我們上面所討論的停止等待協議。
分析如何工作的
這個就是回退n步協議,根據這個原理圖,也能看出,為什麼叫回退n步協議了,在**出錯了,就必須回退到**全部重傳,為了解決這個,又有了選擇重傳協議
4、選擇重傳協議
也就是改進回退n布協議, 方式都是一樣, 在接受方必須逐一確認, 但是出現錯誤,只需要重傳出現錯誤的那乙個分組,不用全部重傳,這裡的全部,指的是在出現錯誤的分組之後的所有分組,前提是在同乙個傳送視窗中。
5、總結可靠傳輸
不可靠的鏈路上,通過各種協議,就能達到可靠傳輸,來保證資料的準確性。
《計算機網路》 第三章 資料鏈路層
資料鏈路層使用的通道 1.點對點通道 使用一對一的點對點通訊方式 2.廣播通道 使用一對多的廣播通訊方式 資料鏈路層的三個基本問題 1.封裝成幀 2.透明傳輸 3.差錯檢測 3.1.1 資料鏈路和幀 鏈路 從乙個結點到相鄰結點的一段物理線路,中間沒有任何其他的交換結點。資料鏈路 需要有一條物理線路用...
計算機網路 第三章 資料鏈路層
通道型別主要是點對點通道和廣播通道 鏈路 物理鏈路 乙個結點到相鄰結點的一段物理鏈路 資料鏈路 邏輯鏈路 除了物理鏈路以外,還必須要有一些必要的通訊協議來控制資料的傳輸 點對點通道的資料鏈路層的協議資料單元 幀 1 封裝成幀 在一段資料的前後分別新增首部和尾部 soh,eot,作用 進行幀定界 2 ...
計算機網路第三章資料鏈路層基礎習題
資料在傳輸過程出現差錯的主要原因是 a a.突發錯 b.計算錯 c.crc錯 d.隨機錯 在osi參與模型的各層中,b 的資料傳送單位是幀。a.物理層 b.資料鏈路層 c.網路層 d.運輸層 若ppp幀的資料段 現位元串 01011111001 則採用零位元填充後的輸出為 b a.010011111...