第二章 資料鍊路層
本章的重點内容是:
- 資料鍊路層的點對點信道和廣播信道的特點,以及這兩種信道使用的協定.(PPP)協定,以及CSMA/CD協定.
- 資料鍊路層的三個基本問題: 封裝成幀,透明傳輸和差錯檢測
資料發送模型
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiETPwJWZ3ZCMwcTP39zZuBnLuVzRjVXS650dRpnT4lFROhHMp5ENNR1T61kaNpXSE1EeVRUT3lERNlHMT5ENFRUT3lFVNZXVE10dJRUT5hzUORTRE10dZRVT2NmMiNnSywEd5ITW110MaZHetlVdO1GT3lERNl3YXJGc5kHT20ESjBjUIF2Lc12bj5SYphXa5VWen5WY35iclN3Ztl2Lc9CX6MHc0RHaiojIsJye.png)
從主機H1到主機H2通信,經過路由器R1,R2,R3.其中的H1和H2都是5層協定,路由器都是三層模型.
資料進入路由器後要從實體層上到網絡層,在轉發表中找到下一跳的位址後,在向下從實體層發送出去.
在我們研究資料鍊路層中,我們隻研究資料鍊路層,也就是我們隻關心協定棧水準方向的各資料鍊路層. 不必考慮實體層的資訊,也就是使用模拟信号還是數字信号,頻分複用,還是時分複用等等資訊等等.
2.1.1資料鍊路層的信道類型
資料鍊路層屬于計算機的網絡的底層.資料鍊路層使用的信道主要有以下的兩種:
- 點對點通信
- 廣播信道 使用一對多的廣播信道.使用專門的共享資訊協定來協調主機的資料發送.
2.1.2鍊路與資料鍊路的概念差別
- 鍊路:指的是實體概念,是一個節點到下一個節點之間的實體線路(有線,或者無線)
- 資料鍊路: 除了實體線路外,必須有通行協定來控制這些資料的傳輸.把實作這些協定的硬體和軟體加到鍊路上,構成了資料鍊路 . (别稱邏輯鍊路)
- 最常見的方法是使用擴充卡(網卡) 來實作這些協定的硬體和軟體
- 一般的擴充卡包括了資料鍊路層和實體層者這兩種功能
2.1.3幀
- 資料鍊路把網絡層交下來的資料構成幀,同樣把收到的幀把其中的資料取出交給網絡層.
- 點對點的通信協定主要的步驟:
- 節點A的資料鍊路層把網絡層交下來的IP資料報添加到首部和(校驗資訊)尾部,封裝成幀.
- 節點A把封裝好的幀發送給B的鍊路層
- 若B的鍊路層收到的幀無差錯,提取資料交給網絡層
2.1.4資料鍊路層解決的三個基本問題
- 封裝成幀
- 透明傳輸
- 差錯控制
2.1.5封裝成幀
就是一段資料的前後分别添加頭部和尾部.這樣就構成了一個幀.
用SACII碼傳輸資料時,幀的定界使用特殊的字元. SOH和EOT
2.1.6透明字元
由于幀使用特殊的字元控制幀的定界,如果在字元中出現這種字元,那麼會造成資料傳輸的問題.
使用轉義字元,類似C語言中字元串中的問題. 在發送端的資料中出現轉特殊控制字元是時,添加轉義. 在接受端去除這種轉義字元.
差2.1.7錯檢測
資訊在傳輸的過程中會産生差錯.我們使用
誤碼率
來衡量這個标準.在計算機網絡中.使用一種循環備援檢驗(CRC Cyclie Redundancy Cheek)的容錯技術
就是在資料後後面添加上多餘的資訊保證前面的資訊正确.
2.1.8 CRC的具體過程
n位的備援碼的計算過程如下:
用二進制的
模2運算
進行
2的n次
乘以M的運算,相當于在n的後面添加了n個0.得到(k+n)位的數,除以雙方事先協商好了長度為(n+1)的除數P,這不是二進制除法.
注意 : 這裡的模2運算,加法和減法
沒有
進位值. 1111+1010=0101
在得到餘數R被添加到資料中,發送出去,在此除以P,那麼餘數就為0.
模二運算模2運算
2.1.8 CRC結果處理
在資料鍊路層,反送幀檢驗序列(FCS)就是前面的餘數,以及接受端CRC檢驗都是用硬體完成的,處理非常的迅速.并不會耽誤資料的傳輸
這裡隻使用CRC技術,隻能對做到對幀的無差錯接受(就是凡是接受端資料鍊路層接受的幀均無差錯).
這裡注意,現在并沒有對資料鍊路層向網絡層提供
可靠的傳輸
服務. 前面說的是bit差錯,就是在資料中發送錯誤.但是接受到的幀如果出現幀丢失,幀重複,幀失序則CRC無能為力了.
解決辦法:
- 最簡單的方法就是在資料上添加必要的備援資訊,例如幀編号,幀确認,幀重複.收到正确的幀要向發送端發送正确的通知,在一定的時間沒有收到幀,發送幀丢失資訊.進行重新傳送.
- 交給上層的傳輸協定來檢查,具體的資料是否正确
2.2 點對點的協定PPP
在通信品質比較差的年代,在資料鍊路層使用可靠傳輸協定曾經是一種比較好的辦法(HDLC Height-Level Data Link Control0).但是現在普遍使用的點對點PPP(point-to-point)協定,在這裡ISP實作了計費功能 驗證功能
2.2.1 PPP協定特點
PPP協定就是計算機和ISP進行通信是使用的協定. PPP協定是IETF在1992年制定的. 在1994成為标準.
PPP協定滿足的要求
- 簡單,将最複雜放在TCP協定,網際協定IP提供的是不可靠的資料服務,資料鍊路層也不需要糾錯,序号等備援資訊 簡單的使用CRC算法
- 封裝成幀 使用特殊的字元作為開始和結束字元
- 透明 前面資料透明相同
- 多種網絡層協定 PPP必須同時能夠在同一條實體鍊路上同時支援多種網絡層協定(IP協定或者IPX)或者其他
-
多種類型鍊路 串行或者并行,同步異步,以及高速低速,光或者非光.
1999年釋出在以太網上運作的PPP及就是PPP over Ethernet ,簡稱為PPoe,這就是PPP協定能夠适應多種類型鍊路的典型例子.
- 差錯檢測:丢棄有差錯的幀
- 連接配接狀态檢測: 自動檢測鍊路是否處于正常工作狀态
- 最大傳送單元 PPP協定必須對每一種類型的點對點鍊路設定最大的傳送單元MTU(maximum receive Unit).預設是1500位元組. 這裡是資料的長度不是幀的長度
- 網絡層位址協商 : 使得通信的兩個網絡層能夠通過協商能夠知道或者配置彼此的網絡層.
-
資料壓縮:不是必須的标準
資料的可靠:資料的可靠是在運輸層的TCP控制的.PPP協定不支援多點線路,一個主站輪流和鍊路上的多個從站交流 PPP指支援
雙全工
PPP協定幀的格式
- F
表示幀的開始 首部位址A0x7E
開始位址,控制字段oXFF
0X03
沒有定義.
第四個字段: 使用的2個位元組是協定字段
表示的IP資料段0X0021
表示的是PPP鍊路控制協定LCP的資料 ,0xC021
0X8021
表示的是網絡層的控制資料.
尾部的FCS,前面的餘數,最後
結束.7E
-
位元組填充
使用
為轉義定義0X7D
-
零bit填充
如果傳輸使用的bit流,如果出現5個1,則後面添加一個0實作,接受端接受帶資料在删除0
第二章 計算機網絡 資料鍊路層 -
PPP協定工作狀态
使用者撥号接入ISP時,路由器的數據機對撥号做出确認,并建立一條實體連接配接.
PC機發送一系列的LCP分組(分組成多個PPP協定) 這些分組資訊及其相應資訊對網絡進行配置,NCP給接入的PC機配置設定一個臨時IP位址,是PC機成為一個主機.
通信完畢,NCP釋放網絡層連接配接,收回配置設定的IP位址.最後釋放實體層協定
路由器檢測到數據機發出的載波信号後,建立的實體層連接配接