2009年軟考網絡工程師教程之八
通過對第八講的學習,并整理簡要分時筆記如下,如若再不懂請參照視頻。完整六十八講視頻見泳者雷敏播客,陸續上傳中……
本講主要內容:數據鏈路層(續):滑動窗口協議(停止等待、連續重傳、選擇重傳ARQ)、HDLC、PPP,本講內容較多,需要認真聽講,仔細理解,你終將受益匪淺。
00:00 選擇重傳ARQ
·發送方沒有收到確認幀時,最多發送3個數據幀。
·堅持按序發送原則,若其中一個數據幀出錯,本數據幀及以后的數據幀全部丟棄。
·出錯之后,已經正確傳送的數據幀都必須重傳。
·數據幀的編號開銷非常大。
·此協議也稱為go-back-N ARQ,回走N步ARQ協議或差錯回傳N幀協議。
12:06 滑動窗口的概念
滑動窗口對連續ARQ中將已發送但未被確認的數據幀數目進行限制。
·發送窗口:發送端流量控制,用 WT 表示,沒有收到確認幀,發送端最多發送數據幀個數。
·接收窗口:用WR表示。
在接收端,數據幀發送序號落入接收窗口,收下;數據幀發送序號落入接收窗口外,丟棄。連續ARQ協議中,WR=1 。
規則:每收到1個序號正確的幀,WR 就向前滑動1個位置,同時發送對該幀的確認幀。
因此,連續ARQ協議是“接收窗口為1”的特殊的滑動窗口協議。
21:00 滑動窗口的重要特性:
·接收窗口向前滑動同時回傳確認幀后,發送窗口才有可能向前滑動。
·接收和發送窗口按以上規律不斷向前滑動,稱之為滑動窗口協議。
當發送窗口為1、接收窗口為1時,即為停止等待協議,屬滑動窗口協議。
當發送窗口不為1,接收窗口為1時,即為連續ARQ協議,屬滑動窗口協議。
當發送窗口不為1,接收窗口也不為1時,即為選擇重傳ARQ協議,屬滑動窗口協議。
22:31 發送窗口的最大值(連續ARQ協議)
當用n個比特進行編號時,接收窗口為1,只有當發送窗口最大值:2的n次方減1。
若序號幀為3bit,發送窗口最大值為7,取值:0、1、2、3、4、5、6
發送窗口為何不能等于2的3次方,等于8呢?
原因:一種特殊情況,若發送窗口為0至7,而第1次發送0-7號數據幀全部丟失,發送端、接收端均等待,達到超時時間Tout時,發送方重發0-7號數據幀,此時接收方收到此組數據幀的0號幀時,則無法分辨是原來的0號幀還是重傳的0號幀。
對發送幀的保存的實現:使用隊列。
信道的利用率永不可能達到100%,因數據幀中存在控制信息。
幀太短,控制信息就太多;幀太長,出錯概率就越大,重傳的次數就會增加。因此存在一個“最佳幀長”,提高信道的利用率。
29:30 選擇重傳ARQ,加大接收窗口。
原理:收下不連續但處在接收窗口內的數據幀,等待所缺序號數據幀,一并上交主機。
優點:可避免重復傳送本來已經正確接收的數據幀。但要付出代價:接收端要提供相當容量的緩存。
接收窗口的最大值:2的n次方的一半。接收窗口大于此值,發送窗口即將小于接收窗口,無意義,浪費。因接收窗口和發送窗口的和為2的n次方。
如:序號幀3bit,接收窗口最大為4,此時和發送窗口相等。
35:00 練習:使用一個64kb/s的無錯衛星通發512字節的數據幀(在一個方向上),而在另一方向上返回很短的確認幀,對于窗口大小為1、7、15、127的最大速率是多少?
解析:見視頻。
40:46 面向比特鏈路控制規程 HDLC
44:01 HDLC幀結構:標志字段F(Flag)、地址字段A、控制字段C、信息位、FCS、標志字段F
零比特填充刪除法,避免信息中出現6個1連續與標志字段混淆,因為標志字段F的值為:01111110
原理:發送端檢測信息比特流,發現5個連續1,馬上在后面填充一個0;接收端,查到標志字段F后,掃描收到數據比特流,發現連續5個1,則將5個1后的0刪去。
50:30 透明傳輸
前一幀結束標志F(01111110)可作為下一幀開始標志字段。無信息傳送時,可連續發送標志字段,保持接收端、發送端的同步。
地址字段A,8bit.
FCS(幀檢驗序列),即CRC中冗余位。此處采用CRC-CCITT生成多項式:x16+x12+x5+1
59:00 面向字節 PPP協議(Point-to-Point Protocol)
電話線接入因特網,一般采用PPP。
包括三個部分:1、一個將IP數據報封裝到串行鏈路的方法。MRU(最大接收單元)默認1500.
2、LCP(link control protocol).
3、NCP (network control protocol).
PPP幀格式,基本同HDLC。不同點:
1、PPP采用16進制,標志字段F為ox7E (01111110)、地址字段A為oxFF、控制字段C為ox03。其中ox表示16進制。
2、比HDLC多一個協議字段:2字節。
ox0021(表示IP數據報)、oxC021(表示PPP鏈路控制數據)、ox8021(表示網絡控制數據)
3、同步傳輸時,PPP和HDLC均使用硬件實施“零比特填充刪除法”。
4、異步傳輸時,PPP采用一種特殊的字符填充法。分解ox7E為 ox7D、ox5E,分解ox7D為ox7D、ox5D。凡是小于ox20的ASCII碼,加ox7D。
PPP協議不提供“使用序號和確認幀”的可靠傳輸,因FCS字段基本可以保證無差錯。
【編輯推薦】