粉絲不過W
數據鏈路層使用信道:
點對點信道,一對一的點對點通信方式
廣播信道, 一對多的廣播通信方式,由於複雜,要 共享信道協議來協調主機得數據發送
數據發送概況:
數據的流向:
路由器在轉發分組時,只使用的三層協議棧
數據鏈路層的數據流動:
不同的鏈路層可能採用不同的數據鏈路層協議
點對點信道的數據鏈路層
數據鏈路和幀
鏈路( link ):從一個結點到相鄰結點的一段物理線路( 有線或無線) , 而中間沒有任何其他的交換結點
數據鏈路( data link ):實現這些協議的硬件和軟件加到鏈路上
也可把 鏈路分爲物理鏈路和邏輯鏈路:
物理鏈路:上面的鏈路
邏輯鏈路:上面的數據鏈路, 是物理鏈路加上必要的通信協議
點對點信道的數據鏈路層的協議數據單元:幀
網絡層協議數據單元:IP數據報( 數據報、分組、包 )
點對點信道的數據鏈路層的通信過程:
結點A的網絡層交下IP數據報,數據鏈路層把IP數據報添加首部和尾部封裝成幀
結點A把封裝好的幀發給 結點B的數據鏈路層
若結點B的數據鏈路層收到的幀無差錯, 就從幀中提取出IP數據報交給上面的網絡層
否則丟棄這個幀
數據鏈路層協議的基本問題: 封裝成幀、 透明傳輸、差錯檢測
封裝成幀:
幀:數據的前後分別添加首部和尾部
幀的幀長:幀的數據部分長度加上幀首部和幀尾部的長度
幀的數據部分長度上限:最大傳送單元MTU( Maximum Transfer Unit )
幀的首部開始:控制字符SOH( Start Of Header )
幀的結束:控制字符EOT( End Of Transmission )
透明傳輸:
當數據是文本文件中的字符:透明傳輸
非透明傳輸:數據部分是非ASCII碼的文本文件時,可能與幀邊界一樣,就會發生錯誤
字節填充( byte stuffing) 或字符填充( character stuffing):解決了這個問題
發送端的數據中有控制字符“SOH” 或“EOT” 的在前面插入轉義字符
接收端把數據送往網絡層之前刪除插入的轉義字符
字節填充法:
差錯檢測:
比特差錯:1可能會變成0, 而0也可能變成1
誤碼率BER( Bit ErrorRate ):傳輸錯誤的比特 佔 傳輸比特總數 的比率
循環冗餘檢驗CRC( Cyclic Redundancy Check )解決這個問題
幀檢驗序列FCS( Frame Check Sequence):爲檢錯而添加的冗餘碼
循環冗餘檢驗原理:
接收端:數據以幀爲單位進行CRC檢驗
餘數R= 0, 幀無差錯, 就接受( accept )
餘數R≠0, 幀有差錯, 就丟棄
發送端幀檢驗序列FCS的生成和接收端的CRC檢驗由硬件完成
幀可能出現比特差錯、幀丟失、 幀重複、幀失序
數據鏈路層協議都是不可靠傳輸的協議
點對點協議PPP
PPP協議的特點
PPP協議:用戶計算機和ISP進行通信時,使用的數據鏈路層協議
PPP協議需求
簡單:網際協議IP 簡單, 提供不可靠的數據報對數據鏈路層的幀, 不糾錯, 不序號, 不流量控制
封裝成幀:規定特殊的字符作爲幀定界符
透明性:數據傳輸的透明性
多種網絡層協議:支持鏈路連接的局域網或 路由器上運行的各種網絡層協議
多種類型鏈路:串行的( 一次只發送一個比特 )、並行的( 一次並行地發送多個比特 )、同步的、異步的, 低速的、高速的, 電的、光的, 交換的( 動態的 ) 、非交換的( 靜態的 ) 點對點鏈路
差錯檢測( error detection ):對接收端的幀進行檢測,丟棄差錯的幀
檢測連接狀態:自動檢測 鏈路是否處於正常工作狀態
最大傳送單元:設置最大傳送單元MTU
網絡層地址協商:知道通信雙方的網絡層地址
數據壓縮協商
PPP協議 不支持多點線路, 只支持點對點的鏈路通信,只支持全雙工鏈路
PPP協議的組成
將IP數據報封裝到串行鏈路( 同步串行/異步串行 ),PPP 支持異步鏈路( 無奇偶檢驗的8比特數據 ), 支持面向比特的同步鏈路
鏈路控制協議LCP( Link Control Protocol ):建立、 配置、測試數據鏈路連接
網絡控制協議NCP( Network Control Protocol ):支持不同的網絡層協議
PPP協議狀態圖:
PPP幀的格式:
F:幀定界符:標識字段 01111110
協議:IP數據報、LCP的數據、網絡層控制數據
信息部分:可能插入了轉義字符 7D:01111101
HDLC協議
高級數據鏈路控制(High-level data link control、HDLC):同步網上傳輸數據、面向比特的數據鏈路層協議
數據報文可透明傳輸,用於實現透明傳輸的“ 0比特 插入法 ”易於硬件實現
採用全雙工通信
幀採用CRC檢驗,對信息幀進行順序編號,可防止漏收、重份,傳輸可靠性高
HDLC站:
主站、從站、複合站
主站:發送命令(包括 數據信息)幀、接收響應幀,並負責對整個鏈路的控制系統的初啓、流程的控制、差錯檢測、恢復
從站:接收由主站發來的命令幀,向主站發送響應幀,並配合主站參與差錯恢復等 鏈路控制
複合站:既能發送,又接收命令幀,響應幀,並負責整個鏈路的控制
數據操作方式:
正常響應方式
異步平衡方式
異步響應方式
HDLC的幀格式:
標誌F:01111110
零比特傳輸:5 1 1 0
信息幀( I ) 第1位爲0,用來傳輸數據信息、使用捎帶技術對數據進行確認
監督幀( S ) 10,用於流量控制,差錯控制,執行對信息幀的確認、請求重發,請求暫停發送等功能
無編號幀( U ) 11,用於提供對鏈路的建立、拆除等多種控制功能
PPP與HDLC比較
HDLC、PPP只支持全雙工鏈路
都可 透明傳輸
都可 差錯檢測,但 不糾正差錯
PPP協議 | 面向字節 | 2B協議字段 | 無序號、確認機制 | 不可靠 |
HDLC協議 | 面向比特 | 無 | 有編號和確認 | 可靠 |