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