本章的重點內容是:算法
從主機H1到主機H2通訊,通過路由器R1,R2,R3.其中的H1和H2都是5層協議,路由器都是三層模型.
數據進入路由器後要從物理層上到網絡層,在轉發表中找到下一跳的地址後,在向下從物理層發送出去.
在咱們研究數據鏈路層中,咱們只研究數據鏈路層,也就是咱們只關心協議棧水平方向的各數據鏈路層. 沒必要考慮物理層的信息,也就是使用模擬信號仍是數字信號,頻分複用,仍是時分複用等等信息等等.
網絡
數據鏈路層屬於計算機的網絡的底層.數據鏈路層使用的信道主要有如下的兩種:異步
就是一段數據的先後分別添加頭部和尾部.這樣就構成了一個幀.
用SACII碼傳輸數據時,幀的定界使用特殊的字符. SOH和EOT
計算機網絡
因爲幀使用特殊的字符控制幀的定界,若是在字符中出現這種字符,那麼會形成數據傳輸的問題.
使用轉義字符,相似C語言中字符串中的問題. 在發送端的數據中出現轉特殊控制字符是時,添加轉義. 在接受端去除這種轉義字符.code
信息在傳輸的過程當中會產生差錯.咱們使用誤碼率
來衡量這個標準.在計算機網絡中.使用一種循環冗餘檢驗(CRC Cyclie Redundancy Cheek)的容錯技術
就是在數據後後面添加上多餘的信息保證前面的信息正確.blog
n位的冗餘碼的計算過程以下:
用二進制的模2運算
進行2的n次
乘以M的運算,至關於在n的後面添加了n個0.獲得(k+n)位的數,除以雙方事先協商好了長度爲(n+1)的除數P,這不是二進制除法.
路由
注意 : 這裏的模2運算,加法和減法沒有
進位值. 1111+1010=0101
在獲得餘數R被添加到數據中,發送出去,在此除以P,那麼餘數就爲0.
模二運算模2運算字符串
在數據鏈路層,反送幀檢驗序列(FCS)就是前面的餘數,以及接受端CRC檢驗都是用硬件完成的,處理很是的迅速.並不會耽誤數據的傳輸
這裏只使用CRC技術,只能對作到對幀的無差錯接受(就是凡是接受端數據鏈路層接受的幀均無差錯).
這裏注意,如今並無對數據鏈路層向網絡層提供可靠的傳輸
服務. 前面說的是bit差錯,就是在數據中發送錯誤.可是接受到的幀若是出現幀丟失,幀重複,幀失序則CRC無能爲力了.
解決辦法:get
在通訊質量比較差的年代,在數據鏈路層使用可靠傳輸協議曾經是一種比較好的辦法(HDLC Height-Level Data Link Control0).可是如今廣泛使用的點對點PPP(point-to-point)協議,在這裏ISP實現了計費功能 驗證功能同步
PPP協議就是計算機和ISP進行通訊是使用的協議. PPP協議是IETF在1992年制定的. 在1994成爲標準.
雙全工
F 0x7E
表示幀的開始 首部地址AoXFF
開始地址,控制字段0X03
沒有定義.
第四個字段: 使用的2個字節是協議字段 0X0021
表示的IP數據段 0xC021
表示的是PPP鏈路控制協議LCP的數據 ,0X8021
表示的是網絡層的控制數據.
尾部的FCS,前面的餘數,最後7E
結束.
字節填充
使用0X7D
爲轉義定義
零bit填充
若是傳輸使用的bit流,若是出現5個1,則後面添加一個0實現,接受端接受帶數據在刪除0
PPP協議工做狀態 用戶撥號接入ISP時,路由器的調制解調器對撥號作出確認,並創建一條物理鏈接. PC機發送一系列的LCP分組(分組成多個PPP協議) 這些分組信息及其相應信息對網絡進行配置,NCP給接入的PC機分配一個臨時IP地址,是PC機成爲一個主機. 通訊完畢,NCP釋放網絡層鏈接,收回分配的IP地址.最後釋放物理層協議 路由器檢測到調制解調器發出的載波信號後,創建的物理層鏈接