二、組幀
數(shù)據(jù)鏈路層之所以要把比特組合成幀為單位傳輸,是為了出錯(cuò)的時(shí)候,只重發(fā)出錯(cuò)的幀,而不必重發(fā)全部數(shù)據(jù),從而提高效率。
組幀主要解決幀定界、幀同步、透明傳輸?shù)葐?wèn)題。
透明傳輸:不管所傳輸?shù)臄?shù)據(jù)是什么樣的比特組合都能在鏈路上傳送。(數(shù)據(jù)中出現(xiàn)與定界符相同的比特組合,不會(huì)被誤認(rèn))
1、字符計(jì)數(shù)法
幀頭部使用一個(gè)字符來(lái)表示幀的大小(包括第一個(gè)計(jì)數(shù)字符)
(此處一字符=一個(gè)字節(jié))
2、字符填充收尾定界法
特定字符來(lái)定界幀的首和尾。若幀中數(shù)據(jù)段出現(xiàn)等同于特定字符的字符內(nèi)容,前置一個(gè)轉(zhuǎn)義字符。(類(lèi)似于正則表達(dá)式)
3、零比特填充首位標(biāo)志法
允許數(shù)據(jù)幀的幀包含任意個(gè)數(shù)的比特,也允許每個(gè)字符的編碼包含任意比特。
以01111110標(biāo)志一幀的開(kāi)始和結(jié)束。
發(fā)送時(shí),在數(shù)據(jù)段中每五個(gè)連續(xù)的1 就插入一個(gè)0進(jìn)行分割。
接收時(shí)逆操作,自動(dòng)刪除被插入的 0
4、違規(guī)編碼
在物理層進(jìn)行編碼時(shí),進(jìn)行違規(guī)編碼
如曼切斯特編碼:(以太網(wǎng)使用)
高-低:1
低-高:0
可以故意編出 “高-高、 底-底” 這樣的違規(guī)編碼,定界幀的起始和結(jié)尾
* 編碼:
????????數(shù)字?jǐn)?shù)據(jù) 轉(zhuǎn)換為數(shù)字信號(hào)的過(guò)程(基帶信號(hào),非歸零、曼切斯特、差分曼切斯特)
? ? ? ? 模擬數(shù)據(jù) 轉(zhuǎn)換成數(shù)字信號(hào)(PCM脈碼調(diào)制:采樣、量化、編碼)
* 調(diào)制:
????????數(shù)字?jǐn)?shù)據(jù)?轉(zhuǎn)換成模擬信號(hào)的過(guò)程(調(diào)幅、調(diào)相、調(diào)頻、調(diào)幅+調(diào)相)
? ? ? ? 模擬數(shù)據(jù) 轉(zhuǎn)換成模擬信號(hào)
較為常用的是 3和4
三、差錯(cuò)控制
主要討論bit差錯(cuò)
差錯(cuò):噪聲引起(熱噪聲、沖擊噪聲)
ARQ:自動(dòng)重傳請(qǐng)求,遇到某一幀 比特錯(cuò)(位錯(cuò)),主動(dòng)丟棄,并不去通知發(fā)送端,等待超時(shí)重傳。
通過(guò)檢錯(cuò)編碼來(lái)確認(rèn)錯(cuò)誤,并丟棄。
FEC:前向糾錯(cuò),發(fā)現(xiàn)錯(cuò)誤位,并加以糾正。
這是糾錯(cuò)編碼來(lái)實(shí)現(xiàn)。
差錯(cuò)控制(位錯(cuò)) 的兩種編碼:檢錯(cuò)編碼 、糾錯(cuò)編碼。
1、檢錯(cuò)編碼
冗余編碼:
對(duì)幀的數(shù)據(jù)段進(jìn)行以下處理
發(fā)送前:? ?【有效數(shù)據(jù)位(信息位)+冗余位】? ? =》遵守一定的規(guī)則。
????????不管數(shù)據(jù)位怎么變,冗余位隨之變化,保證幀遵守此規(guī)則。
接收端:若收到的幀沒(méi)用遵從此規(guī)則,則數(shù)據(jù)位發(fā)生位錯(cuò)。
1、奇偶校驗(yàn)
碼長(zhǎng)n = n-1位信息位 +1位 校驗(yàn)位
奇校驗(yàn):信息位+校驗(yàn)位? ?比特 1的·個(gè)數(shù)要求是奇數(shù)個(gè)?
偶校驗(yàn):信息位+校驗(yàn)位? ?比特 1的·個(gè)數(shù)要求是偶數(shù)個(gè)
缺點(diǎn): 只能檢測(cè)出奇數(shù)位的錯(cuò)。
換句話(huà)說(shuō),如果錯(cuò)了偶數(shù)位,就檢測(cè)不出來(lái)錯(cuò)。
舉例: 奇校驗(yàn):100100 +1
如果錯(cuò)了兩位 111100 +1 這種是檢測(cè)不出來(lái)的
檢錯(cuò)率 50%。
2、CRC循環(huán)冗余校驗(yàn)
二進(jìn)制串,可以用一個(gè)k位多項(xiàng)式來(lái)表示
比如:1010,可以用4(設(shè)為k)次多項(xiàng)式表示:
1*X^3+ 0*X^2+ 1*X^1+ 0*X^0,這個(gè)多項(xiàng)式的階數(shù)為 3(即階數(shù) =?k-1)
多項(xiàng)式的系數(shù),要么是1,要么是0,對(duì)應(yīng)于二進(jìn)制串的每位的值。
多項(xiàng)式的冪,對(duì)應(yīng)二進(jìn)制串的位數(shù)。
算法描述:
假設(shè)數(shù)據(jù)段為m位,發(fā)送器生成一個(gè)rbit的序列,稱(chēng)為幀檢測(cè)序列(FCS)。
這樣幀就是 m+r位bit構(gòu)成。
發(fā)送方和接收方規(guī)定一個(gè)多項(xiàng)式G(x) (最高位最低位的系數(shù)必須為1)。這個(gè)帶檢驗(yàn)碼的幀剛好可以被這個(gè)多項(xiàng)式整除,則表示幀是無(wú)差錯(cuò)的。
計(jì)算如下:
假設(shè)數(shù)據(jù)段為m位
(1)確定生成多項(xiàng)式G(x)的階數(shù)為r?? 在數(shù)據(jù)段后面補(bǔ)r個(gè)0,
(2)模二運(yùn)算,G(x)對(duì)應(yīng)的數(shù)據(jù)串 與 (1)中計(jì)算出的串進(jìn)行模二運(yùn)算,余數(shù)則是冗余碼
(3)m位數(shù)據(jù)低位補(bǔ)全冗余碼 即可發(fā)送
舉例:
要發(fā)送的數(shù)據(jù)是1101 0110 11,采用CRC,生成多項(xiàng)式為10011 【或者它給出 X^4+X+1】,則最終發(fā)出的數(shù)據(jù)是:
1101 0110 11 【1110 】
2、糾錯(cuò)編碼
海明碼
碼距:也稱(chēng)為海明距離,兩個(gè)合法編碼(碼字)的對(duì)應(yīng)比特取值不同的比特?cái)?shù)稱(chēng)為這兩個(gè)碼字的碼距
一個(gè)有效編碼集中,任意兩個(gè)合法編碼的海明距離的最小值,稱(chēng)為該編碼集的 海明距離(碼距)
兩兩之間的碼距:
000? 與 001, 011?,100 碼距分別是 1,2,1。
簡(jiǎn)單來(lái)說(shuō),就是一上碼字兩兩之間只有幾個(gè)bit位不同,碼距就是多少。
一個(gè)編碼系統(tǒng)中的碼距:
000 ,010,110,111,001? 這組編碼集中,最小碼距是1 ,因此,這個(gè)編碼集的碼距就是 1
步驟:
(1)確定海明碼的位數(shù)
海明不等式:若數(shù)據(jù)位有m位,冗余碼有r位,校驗(yàn)碼一共是 2^r種取值
2^r ≥ m+r+1
比如 要發(fā)送的數(shù)據(jù): D= 1100
數(shù)據(jù)位是m=4,滿(mǎn)足不等式的最小r =3,也就是D=1100的海明碼應(yīng)該有
4+3 =7位,其中原數(shù)據(jù)4位,校驗(yàn)碼3位
(2)確定校驗(yàn)位的分布
校驗(yàn)碼放在2^n 的位置上,數(shù)據(jù)按順序填上
(3)求出校驗(yàn)碼的值
統(tǒng)配值求校驗(yàn)碼值
?將序號(hào)值轉(zhuǎn)換成二進(jìn)制,校驗(yàn)位序號(hào)二進(jìn)制表示中含義如下:
4號(hào)校驗(yàn) 序號(hào)位高位為1的數(shù)據(jù)位:4、5、6、7
2號(hào)校驗(yàn):序號(hào)位中間位為1的數(shù)據(jù)位? :2、3、6、7
1號(hào)校驗(yàn):序號(hào)位低間位為1的數(shù)據(jù)位 :1、3、5、7
此處統(tǒng)一采用偶校驗(yàn):
則推出,
4號(hào)位 0,
2號(hào)位 0
1號(hào)位 1
則完整碼為:
(4)檢錯(cuò)并糾錯(cuò)
若接收方收到的是 1 1?1?0?0?0 1 ??檢錯(cuò)類(lèi)似奇偶校驗(yàn)
4號(hào)校驗(yàn) 序號(hào)位高位為1的數(shù)據(jù)位:4、5、6、7? ?==》0,1,1,1? ?(X)
?2號(hào)校驗(yàn):序號(hào)位中間位為1的數(shù)據(jù)位? :2、3、6、7 ===》 0,0,1,1?(√)
1號(hào)校驗(yàn):序號(hào)位低間位為1的數(shù)據(jù)位 :1、3、5、7? ===》 1,0,1,1(X)
糾錯(cuò)方法1:
找到不滿(mǎn)足奇偶校驗(yàn)的分組取交集,再與符合校驗(yàn)的分組取差集。
?發(fā)現(xiàn)錯(cuò)誤分組 第五位
糾錯(cuò)方法2:
通過(guò)滿(mǎn)足規(guī)定的校驗(yàn)方式進(jìn)行(本例為偶校驗(yàn))異或操作:
x4? 0,1,1,1? ? 當(dāng)x4 =1 滿(mǎn)足偶校驗(yàn)
x2?,0,0,1,1? ? x2=0 滿(mǎn)足偶校驗(yàn)
x1? ?1,0,1,1? x1 =1 ,滿(mǎn)足滿(mǎn)足偶校驗(yàn)
x4x2x1 ===》101 轉(zhuǎn)換為十進(jìn)制? 是5,表示第五位錯(cuò)了
四、流量控制和可靠傳輸機(jī)制
1、流量控制、可靠傳輸與滑動(dòng)窗口機(jī)制
流量控制涉及對(duì)鏈路上的幀的發(fā)送速率的控制,以使接收方有足夠的緩存空間來(lái)接收每個(gè)幀。
流量控制的基本方法是由 接收方 控制 發(fā)送方發(fā)送數(shù)據(jù)的速率,常見(jiàn)的方式有 停止-等待協(xié)議 和 滑動(dòng)窗口協(xié)議。
1.1?停止-等待協(xié)議流量控制基本原理
發(fā)送方每發(fā)送一幀,都要等待接收方的應(yīng)答信號(hào),才能發(fā)送下一幀;
接收端每接收一幀,都要反饋一個(gè)應(yīng)答信號(hào),表示可以接收下一幀。如果接收方不反饋應(yīng)答信號(hào),那么發(fā)送方就一直等待。
每次只允許發(fā)送一幀,然后就陷入等待接收方確認(rèn)信息的過(guò)程中。
效率十分低(有點(diǎn)串行的意思)。
1.2 滑動(dòng)窗口流量控制基本原理
發(fā)送窗口:任何時(shí)刻,發(fā)送方都維持一組連續(xù)的允許發(fā)送的幀的序號(hào)
接收窗口:接收方維持一組連續(xù)的允許接收幀的序號(hào)
發(fā)送窗口用來(lái)對(duì)發(fā)送方進(jìn)行流量控制,而發(fā)送窗口的大小Wt 代表還未收到對(duì)方確認(rèn)信息的情況下發(fā)送方最多還可以發(fā)送多少數(shù)據(jù)幀。
在接收端設(shè)置接收窗口是為了控制可以接收哪些數(shù)據(jù)幀,和不接收哪些數(shù)據(jù)幀。
接收方只有收到數(shù)據(jù)幀的序號(hào)落入接收窗口內(nèi)時(shí),才允許將該數(shù)據(jù)幀收下。若收到的數(shù)據(jù)幀落在接收窗口之外,則一律丟棄。
發(fā)送窗口控制發(fā)送端速率:
a)允許發(fā)送0~4 號(hào) 5個(gè)幀
b) 0號(hào)幀已經(jīng)發(fā)送,還可以發(fā)送1~4號(hào)幀
c) 0~4號(hào)幀都已經(jīng)發(fā)送,等待接收方回應(yīng)確認(rèn)幀,發(fā)送方不允許再發(fā)送其他幀
發(fā)送端在收到接收端的確認(rèn)(ACK)之后,發(fā)送窗口向后移動(dòng)。(移動(dòng)到被確認(rèn)的幀的下一個(gè))
d) 還允許發(fā)送5、6、7三個(gè)幀
接收窗口控制接收速率? Wr=1? 接收窗口大小為1?
PS:修正,準(zhǔn)備接收1號(hào)幀
【規(guī)則】
發(fā)送端每收到一個(gè)確認(rèn)幀,發(fā)送窗口就向前滑動(dòng)一個(gè)幀的位置,當(dāng)發(fā)送窗口內(nèi)沒(méi)有可以發(fā)送的幀(即窗口內(nèi)的幀全部要是已發(fā)送,但是未收到確認(rèn)幀),發(fā)送方就會(huì)停止發(fā)送,直到收到接收方的確認(rèn)幀(ACK) 才開(kāi)始移動(dòng)窗口,窗口內(nèi)有可發(fā)送的幀時(shí),才繼續(xù)發(fā)送。
接收端收到數(shù)據(jù)幀后,將窗口向前移動(dòng)一個(gè)位置,并發(fā)回確認(rèn)幀,若收到的數(shù)據(jù)幀落在接收窗口之外,一律丟棄。
【滑動(dòng)窗口具有以下特性】:
1)只有接收窗口向前滑動(dòng)(同時(shí)接收方發(fā)送了確認(rèn)幀)時(shí),發(fā)送窗口才會(huì)向前滑動(dòng)。
2)
停止-等待協(xié)議:發(fā)送窗口大小 =1,接收窗口大小 =1.
后退N幀: Wt >1,? Wr=1
選擇重傳協(xié)議:Wt >1,WR>1
3)接收窗口大小為1時(shí),可以保證幀的有序傳輸
4)數(shù)據(jù)鏈路層的滑動(dòng)窗口協(xié)議中,窗口的大小在傳輸過(guò)程中是固定的。(注意和傳輸層滑動(dòng)窗口協(xié)議的區(qū)別)
【補(bǔ)充一句】
OSI模型中,數(shù)據(jù)鏈路層也保證了流量控制機(jī)制,通過(guò)滑動(dòng)窗口協(xié)議實(shí)現(xiàn)。
在TCP模型中,流量控制是在傳輸層實(shí)現(xiàn)的
1.3、可靠傳輸機(jī)制
可靠傳輸其實(shí)是依靠 確認(rèn)機(jī)制、超時(shí)重傳兩種機(jī)制來(lái)保障的。
確認(rèn)是一種無(wú)數(shù)據(jù)的控制幀,這種控制幀使得接收方可以讓發(fā)送方知道哪些內(nèi)容被正確接收。
有些時(shí)候,為了提高傳輸效率,將確認(rèn)幀捎帶在一個(gè)回復(fù)幀中,稱(chēng)為 捎帶確認(rèn)。
超時(shí)重傳:發(fā)送方發(fā)送某一數(shù)據(jù)幀后啟動(dòng)一個(gè)計(jì)時(shí)器,若計(jì)時(shí)器結(jié)束沒(méi)有收到接受方的確認(rèn)幀,就會(huì)重發(fā)一該數(shù)據(jù)幀,直到發(fā)送成功。
ARQ:自動(dòng)重傳請(qǐng)求。注意這個(gè)是接收方 請(qǐng)求 發(fā)送方重傳出錯(cuò)幀。
傳統(tǒng)的自動(dòng)重傳請(qǐng)求有三種:
停止等待ARQ,后退N幀(GBN)ARQ,和選擇重傳(SR)ARQ。
后兩種是滑動(dòng)窗口技術(shù)與請(qǐng)求重發(fā)技術(shù)的結(jié)合,由于窗口尺寸開(kāi)到足夠大時(shí),幀在線(xiàn)路上可以連續(xù)流動(dòng),又稱(chēng)為連續(xù)ARQ協(xié)議。
注意:數(shù)據(jù)鏈路層的 流量控制機(jī)制 和可靠傳輸機(jī)制是交織在一起的,如上面所說(shuō),滑動(dòng)窗口+確認(rèn)+超時(shí)重傳/ARQ等綜合的結(jié)果。
2、單幀滑動(dòng)窗口與停止等待協(xié)議
停止-等待協(xié)議相當(dāng)于發(fā)送窗口和接收窗口的大小均為1的滑動(dòng)窗口協(xié)議。
在停等協(xié)議中,若連續(xù)出現(xiàn)相同發(fā)送序號(hào)的數(shù)據(jù)幀,表明發(fā)送端進(jìn)行了超時(shí)重傳,連續(xù)出現(xiàn)相同序號(hào)的確認(rèn)幀,表明接收端收到了重復(fù)幀。
在停止-等待協(xié)議中,除數(shù)據(jù)幀丟失外,還可能出現(xiàn)以下兩種差錯(cuò)。
1、到達(dá)目的站的幀可能被破壞,檢測(cè)到錯(cuò)誤后,簡(jiǎn)單的將該幀丟棄,在發(fā)送端設(shè)置一個(gè)計(jì)時(shí)器,在發(fā)生一個(gè)幀后,啟動(dòng)一個(gè)計(jì)時(shí)器,等待接收端返回確認(rèn)信息,如果在計(jì)時(shí)器結(jié)束時(shí),仍然沒(méi)收到確認(rèn),就再次發(fā)送相同幀。如此重復(fù),直到該數(shù)據(jù)幀無(wú)誤的到達(dá)目的地址。
2、另一種情況是數(shù)據(jù)幀正確,但是確認(rèn)幀錯(cuò)誤,接收方此時(shí)已經(jīng)收到了正確的數(shù)據(jù)幀,但發(fā)送方接收不到確認(rèn)幀,因此發(fā)送方會(huì)重傳已經(jīng)被接收的數(shù)據(jù)幀,接收方接收到同樣數(shù)據(jù)幀會(huì)丟棄,并重傳一個(gè)對(duì)該幀的確認(rèn)。
由于窗口的大小是1,用1bit就可以記錄要發(fā)送的幀編號(hào),發(fā)送的幀交替的用1和0進(jìn)行編號(hào),確認(rèn)幀分別用ACK0和ACK1來(lái)表示。
圖片來(lái)自王道
圖片來(lái)自王道
注意:為了實(shí)現(xiàn)超時(shí)重傳和判定重復(fù)幀,接收端和發(fā)送端需要設(shè)置幀緩沖區(qū)。
當(dāng)發(fā)送端在發(fā)送完數(shù)據(jù)幀時(shí),必須在發(fā)送緩存中保存此數(shù)據(jù)的副本,這樣才能出錯(cuò)時(shí)進(jìn)行重傳。當(dāng)收到接收端發(fā)來(lái)的ACK確認(rèn)幀時(shí),方可清除此副本。
3、多幀滑動(dòng)窗口與后退N幀協(xié)議(GBN)
在后退N幀ARQ中,發(fā)送方無(wú)需在收到上一個(gè)幀的ACK后才能開(kāi)始發(fā)送下一個(gè)幀,而是可以連續(xù)發(fā)送幀。
GBN發(fā)送方必須響應(yīng)三件事:
1、上層調(diào)用
上層要發(fā)送數(shù)據(jù)時(shí),發(fā)送方先檢查發(fā)送窗口是否已滿(mǎn),如果未滿(mǎn),則產(chǎn)生一個(gè)幀發(fā)送;
如果窗口已滿(mǎn),發(fā)送方只需要將數(shù)據(jù)返回個(gè)上層,暗示上層窗口已滿(mǎn),上層等會(huì)再發(fā)送。(實(shí)際實(shí)現(xiàn)中,發(fā)送方可以緩存數(shù)據(jù))
2、收到一個(gè)ACK
GBN協(xié)議中,對(duì)n號(hào)幀的確認(rèn)采用累計(jì)確認(rèn),表明接收方已經(jīng)收到n號(hào)幀和它之前的全部數(shù)據(jù)。
3、超時(shí)事件
協(xié)議的名字是后退N幀,源于出現(xiàn)丟失和超時(shí)發(fā)送方的行為,如果出現(xiàn)超時(shí),發(fā)送方要重傳所有已發(fā)送,但是未確認(rèn)的數(shù)據(jù)。
GBN接收方要做的事:
如果正確接收到n號(hào)幀,并且按序,那么接收端為n幀發(fā)送一個(gè)ACK,并將該幀中的數(shù)據(jù)部分交付給上層。
其余情況丟棄幀,并為最近按序接收的幀重新發(fā)ACK,接收方無(wú)需緩存任何失序幀,只需要維護(hù)一個(gè)信息:expectedSeqNum:(下一個(gè)按序接收的幀序號(hào))
【案例】
例子:用0~8 對(duì)幀進(jìn)行編號(hào),若,0,1 兩個(gè)幀正確收到并確認(rèn),2號(hào)幀出現(xiàn)錯(cuò)誤,后續(xù)6個(gè)幀就算接收端收到了,也得丟棄。
接收端會(huì)重復(fù)發(fā)送最后一個(gè)確認(rèn)幀Ack1(防止已發(fā)送的Ack1丟失)
?
圖片來(lái)自王道,侵刪
滑動(dòng)窗口長(zhǎng)度:
若采用n bit對(duì)幀編號(hào),發(fā)送窗口Wt的尺寸滿(mǎn)足 1<Wt<(2^n)-1,因?yàn)榘l(fā)送窗口尺寸過(guò)大,就無(wú)法使得接收方區(qū)別新舊幀
**比如 4bit 一共8個(gè)編號(hào)? 0~7,如果一次發(fā)送8號(hào)幀 給接收方,若這8個(gè)幀都丟失了,此時(shí)計(jì)時(shí)器重傳這8個(gè)舊幀,由于新幀也是從0~7 循環(huán)編號(hào),接收端就無(wú)法判斷這次發(fā)的是新幀還是舊幀。
如果是 編號(hào)為0~6,那么新幀一定是從7開(kāi)始的,重復(fù)的舊幀一定從0開(kāi)始,接收端就可以辨認(rèn)了。
【特點(diǎn)】:
1、累計(jì)確認(rèn)(偶爾捎帶確認(rèn))
2、接收方值按順序接收幀,不按序的丟棄(不按序,說(shuō)明發(fā)送方某些數(shù)據(jù)幀出錯(cuò)或確認(rèn)沒(méi)收到又重發(fā)了)
3、確認(rèn)序列號(hào)最大、按序到達(dá)的幀
4、發(fā)送窗口最大為2^n -1接收窗口大小為1
4、多幀滑動(dòng)窗口與選擇重傳(SR)
后退N幀,重傳了出錯(cuò)及出錯(cuò)以后的所有幀,為了提高信道利用率,SR協(xié)議可以實(shí)現(xiàn)只重傳出錯(cuò)的幀。
SR協(xié)議解決思路:設(shè)置單個(gè)確認(rèn),同時(shí)加大接收窗口,設(shè)置接收緩存,緩存亂序到達(dá)的幀。
SR發(fā)送方必須響應(yīng)的三件事
1、上層調(diào)用
從上層收到數(shù)據(jù)后,SR發(fā)送方檢查下一個(gè)用于該幀的序號(hào),如果序號(hào)位于發(fā)送窗口,則發(fā)送數(shù)據(jù)幀,否則就像GBN一樣,要么緩存數(shù)據(jù),要么回退給上層。
2、收到一個(gè)ACK
如果收到ACK,假如該幀序號(hào)在窗口內(nèi),則SR發(fā)送方將那個(gè)被確認(rèn)的幀標(biāo)記為已接受,如果該幀序號(hào)是窗口下界,則窗口向前移動(dòng)到最小號(hào)的未確認(rèn)幀處,如果窗口移動(dòng)了,并且有序號(hào)在窗口內(nèi)的未發(fā)送幀,則發(fā)送這些幀。
3、每個(gè)幀都有自己的定時(shí)器,一個(gè)超時(shí)時(shí)間發(fā)生后,只重傳一個(gè)幀。(這點(diǎn)區(qū)別與GBN)
SR接收方要做的事:
SR接收方將確認(rèn)一個(gè)正確接收的幀,而不需要管它是否按序。失序的幀將要被緩存,并且返回給發(fā)送方一個(gè)該幀的確認(rèn)幀【誰(shuí)收確認(rèn)誰(shuí)】,直到所有幀(序號(hào)更小的幀)都被接收到為止,這時(shí)才可以將一批幀交付給上層,然后向前滑動(dòng)窗口
如果收到了窗口序號(hào)之外(小于窗口下界)的幀,就返回一個(gè)ACK,其他情況忽略該幀。
窗口大小限制
發(fā)送窗口最好等于接收窗口
WtMax =WrMax =2^(n-1)
總結(jié):
1、對(duì)數(shù)據(jù)幀注意確認(rèn),收一個(gè)確認(rèn)一個(gè)
2、只重傳出錯(cuò)幀
3、接收方有緩存文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-651420.html
4、WtMax =WrMax =2^(n-1)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-651420.html
到了這里,關(guān)于【計(jì)算機(jī)網(wǎng)絡(luò)】——數(shù)據(jù)鏈路層的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!