




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)網(wǎng)絡(luò)第 4 章 數(shù)據(jù)鏈路層第 4 章 數(shù)據(jù)鏈路層4.1 數(shù)據(jù)鏈路層概述 4.1.1數(shù)據(jù)鏈路層的必要性 4.1.2 數(shù)據(jù)鏈路層的功能4.1.3數(shù)據(jù)鏈路層所提供的基本服務(wù)4.2 幀與成幀4.2.1 幀的基本格式4.2.2成幀與拆幀4.2.3幀定界4.3 差錯(cuò)控制4.3.1差錯(cuò)控制的作用與機(jī)制4.3.2奇偶校驗(yàn)碼4.3.3循環(huán)冗余校驗(yàn)碼(CRC)4.3.4反饋重發(fā)機(jī)制4.4 流量控制4.4.1流量控制作用4.4.2 滑動(dòng)窗口協(xié)議4.5 數(shù)據(jù)鏈路層協(xié)議示例4.5.1 HDLC高級(jí)數(shù)據(jù)鏈路控制4.5.2 PPP協(xié)議4.1.1數(shù)據(jù)鏈路層的必要性n鏈路是一條無(wú)源的點(diǎn)到點(diǎn)的物理線路段,中間沒(méi)有任何其他的
2、交換結(jié)點(diǎn)。n網(wǎng)絡(luò)上兩臺(tái)計(jì)算機(jī)在通信時(shí),所傳送的數(shù)據(jù)往往要網(wǎng)絡(luò)上兩臺(tái)計(jì)算機(jī)在通信時(shí),所傳送的數(shù)據(jù)往往要經(jīng)過(guò)許多中間交換結(jié)點(diǎn),因而一條從源結(jié)點(diǎn)到目標(biāo)經(jīng)過(guò)許多中間交換結(jié)點(diǎn),因而一條從源結(jié)點(diǎn)到目標(biāo)結(jié)點(diǎn)的通路往往是由許多鏈路串接而成的,也就是結(jié)點(diǎn)的通路往往是由許多鏈路串接而成的,也就是說(shuō),一條鏈路往往只是一條通路的一部分。一條鏈說(shuō),一條鏈路往往只是一條通路的一部分。一條鏈路往往只是一條通路的一部分。路往往只是一條通路的一部分。n數(shù)據(jù)鏈路是一條物理通路加上必要的數(shù)據(jù)傳輸規(guī)程或協(xié)議后所形成的邏輯連接。這種規(guī)程或協(xié)議控制著數(shù)據(jù)在鏈路上的傳輸。n數(shù)據(jù)鏈路層存在的必要性n解決數(shù)據(jù)傳輸過(guò)程中的損壞與丟失問(wèn)題。物理層
3、只關(guān)心原始比特流的傳送,不考慮也不可能考慮所傳輸信號(hào)的意義和信息的結(jié)構(gòu),所以物理層不可能識(shí)別或判斷數(shù)據(jù)在傳輸過(guò)程中是否出現(xiàn)了損壞或丟失,從而也談不上采取相應(yīng)的機(jī)制或方法進(jìn)行補(bǔ)救。n解決收發(fā)雙方的接收和發(fā)送速率不匹配引發(fā)的數(shù)據(jù)丟失問(wèn)題。當(dāng)數(shù)據(jù)發(fā)送方的發(fā)送能力大于接收方的數(shù)據(jù)接收能力時(shí),接收方會(huì)因?yàn)閬?lái)不及處理而產(chǎn)生數(shù)據(jù)溢出并導(dǎo)致數(shù)據(jù)丟失。然而,物理層并不考慮當(dāng)發(fā)送站點(diǎn)的發(fā)送速度過(guò)快而接收站點(diǎn)接收的速度過(guò)慢時(shí),應(yīng)采取何種策略來(lái)控制發(fā)送站點(diǎn)的發(fā)送速度,以避免接收站點(diǎn)來(lái)不及處理而丟失數(shù)據(jù)。 4.1.2 數(shù)據(jù)鏈路層的功能數(shù)據(jù)鏈路層最基本的服務(wù):將源機(jī)網(wǎng)絡(luò)層來(lái)的數(shù)據(jù)可靠的傳輸?shù)较噜徑Y(jié)點(diǎn)的目標(biāo)將源機(jī)網(wǎng)絡(luò)層來(lái)的
4、數(shù)據(jù)可靠的傳輸?shù)较噜徑Y(jié)點(diǎn)的目標(biāo)機(jī)網(wǎng)絡(luò)層。機(jī)網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層必須具備的功能:(1)(1)如何將數(shù)據(jù)組合成數(shù)據(jù)塊,在數(shù)據(jù)鏈路層中將這種數(shù)如何將數(shù)據(jù)組合成數(shù)據(jù)塊,在數(shù)據(jù)鏈路層中將這種數(shù)據(jù)塊稱為幀,幀是數(shù)據(jù)鏈路層的傳送單位;據(jù)塊稱為幀,幀是數(shù)據(jù)鏈路層的傳送單位; (2)(2)如何控制幀在物理信道上的傳輸,包括如何處理傳輸如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯(cuò);差錯(cuò);(3)(3)如何調(diào)節(jié)發(fā)送速率以使之與接收方相匹配;如何調(diào)節(jié)發(fā)送速率以使之與接收方相匹配;(4)(4)在兩個(gè)網(wǎng)路實(shí)體之間提供數(shù)據(jù)鏈路通路的建立、維持在兩個(gè)網(wǎng)路實(shí)體之間提供數(shù)據(jù)鏈路通路的建立、維持和釋放管理和釋放管理4.1.3數(shù)據(jù)
5、鏈路層所提供的基本服務(wù)數(shù)據(jù)鏈路層有3 種基本服務(wù)n無(wú)確認(rèn)的無(wú)連接服務(wù) 兩個(gè)相鄰機(jī)器之間在發(fā)送數(shù)據(jù)幀之前,事先不建立連兩個(gè)相鄰機(jī)器之間在發(fā)送數(shù)據(jù)幀之前,事先不建立連接,事后也不存在釋放連接。源機(jī)器向目標(biāo)機(jī)器發(fā)送接,事后也不存在釋放連接。源機(jī)器向目標(biāo)機(jī)器發(fā)送獨(dú)立的數(shù)據(jù)幀,而目標(biāo)機(jī)器不對(duì)收到的幀作確認(rèn)。由獨(dú)立的數(shù)據(jù)幀,而目標(biāo)機(jī)器不對(duì)收到的幀作確認(rèn)。由于線路上的噪聲而造成的幀丟失,數(shù)據(jù)鏈路層將不作于線路上的噪聲而造成的幀丟失,數(shù)據(jù)鏈路層將不作努力去恢復(fù),而是將該工作留給上層(通常為傳輸層)努力去恢復(fù),而是將該工作留給上層(通常為傳輸層)去完成。去完成。 無(wú)確認(rèn)無(wú)連接服務(wù)方式通常適用于誤碼率很低的信道,
6、如大多數(shù)局域網(wǎng)使用這種無(wú)確認(rèn)的無(wú)連接服務(wù)方式。n有確認(rèn)的無(wú)連接服務(wù) 不需要建立連接,源機(jī)器向目標(biāo)機(jī)器發(fā)送獨(dú)立的數(shù)據(jù)不需要建立連接,源機(jī)器向目標(biāo)機(jī)器發(fā)送獨(dú)立的數(shù)據(jù)幀,但是接收站點(diǎn)要對(duì)收到的每一幀作確認(rèn)。即在收幀,但是接收站點(diǎn)要對(duì)收到的每一幀作確認(rèn)。即在收到數(shù)據(jù)幀之后回送一個(gè)確認(rèn)幀,而發(fā)送站點(diǎn)在收到確到數(shù)據(jù)幀之后回送一個(gè)確認(rèn)幀,而發(fā)送站點(diǎn)在收到確認(rèn)幀之后才會(huì)發(fā)送下一幀。當(dāng)在一個(gè)確定的時(shí)間段內(nèi)認(rèn)幀之后才會(huì)發(fā)送下一幀。當(dāng)在一個(gè)確定的時(shí)間段內(nèi)沒(méi)有收到確認(rèn)幀時(shí),發(fā)送方就認(rèn)為所發(fā)送的數(shù)據(jù)幀丟沒(méi)有收到確認(rèn)幀時(shí),發(fā)送方就認(rèn)為所發(fā)送的數(shù)據(jù)幀丟失并自動(dòng)重發(fā)此幀。自動(dòng)重發(fā)可能會(huì)產(chǎn)生接收站點(diǎn)收失并自動(dòng)重發(fā)此幀。自動(dòng)重發(fā)
7、可能會(huì)產(chǎn)生接收站點(diǎn)收到重復(fù)的數(shù)據(jù)幀的問(wèn)題。到重復(fù)的數(shù)據(jù)幀的問(wèn)題。 有確認(rèn)的無(wú)連接服務(wù)方式適用于像無(wú)線網(wǎng)之類的不可靠信道。n有確認(rèn)的面向連接服務(wù) 發(fā)送數(shù)據(jù)之前,需要首先建立連接,然后才會(huì)啟動(dòng)幀的發(fā)送數(shù)據(jù)之前,需要首先建立連接,然后才會(huì)啟動(dòng)幀的傳輸。在發(fā)送數(shù)據(jù)階段,為所傳輸?shù)拿恳粠家幧蟼鬏?。在發(fā)送數(shù)據(jù)階段,為所傳輸?shù)拿恳粠家幧咸?hào),數(shù)據(jù)鏈路層提供相應(yīng)的確認(rèn)和流量控制機(jī)制來(lái)保號(hào),數(shù)據(jù)鏈路層提供相應(yīng)的確認(rèn)和流量控制機(jī)制來(lái)保證每一幀都只被正確接收一次,并保證所有幀都按正證每一幀都只被正確接收一次,并保證所有幀都按正確的順序被接收。當(dāng)數(shù)據(jù)傳輸完成之后,還需要拆除確的順序被接收。當(dāng)數(shù)據(jù)傳輸完成之后,還
8、需要拆除或釋放所建立的連接?;蜥尫潘⒌倪B接。 即面向連接的服務(wù)方式分即面向連接的服務(wù)方式分3 3 個(gè)階段:個(gè)階段:鏈路建立階段、數(shù)鏈路建立階段、數(shù)據(jù)傳輸階段和鏈路拆除階段。據(jù)傳輸階段和鏈路拆除階段。 這類服務(wù)實(shí)現(xiàn)復(fù)雜度及代價(jià)很高,通常適用于誤碼率較高的不可靠信道,如某些廣域網(wǎng)鏈路。4.2 幀與成幀n數(shù)據(jù)鏈路層除了要傳送的用戶數(shù)據(jù)外,還要提供關(guān)于尋址、差錯(cuò)控制和流量控制所必需的信息,而不再是物理層所謂的原始比特流。n數(shù)據(jù)鏈路層將從網(wǎng)絡(luò)層接收的分組(Packet)組成幀后傳送給物理層,通過(guò)物理層傳送到對(duì)方的數(shù)據(jù)鏈路層。n幀:數(shù)據(jù)鏈路層的數(shù)據(jù)傳送邏輯單元數(shù)據(jù)鏈路層的數(shù)據(jù)傳送邏輯單元n不同的數(shù)據(jù)鏈
9、路層協(xié)議的核心任務(wù):根據(jù)它所要實(shí)現(xiàn)的數(shù)據(jù)鏈路層功能來(lái)規(guī)定幀的格式。根據(jù)它所要實(shí)現(xiàn)的數(shù)據(jù)鏈路層功能來(lái)規(guī)定幀的格式。4.2.1 幀的基本格式n幀定界(開(kāi)始與結(jié)束) n地址字段(用于尋址) n幀類型(或長(zhǎng)度/控制)字段n數(shù)據(jù)n幀校驗(yàn)字段(差錯(cuò)控制)n幀開(kāi)始:用以指示一個(gè)幀的開(kāi)始。n地址:用于設(shè)備或機(jī)器的物理尋址,使得能夠在多個(gè)相鄰結(jié)點(diǎn)之間確定一個(gè)接收目標(biāo)。n幀的長(zhǎng)度/類型/控制:這個(gè)字段在不同的數(shù)據(jù)鏈路層協(xié)議中可以有不同的規(guī)定?;蚪o出幀的長(zhǎng)度信息,或給出幀的類型信息,或表明該幀為控制幀。長(zhǎng)度通常以字節(jié)為單位;幀的類型主要包括提供數(shù)據(jù)傳輸?shù)臄?shù)據(jù)幀和提供鏈路控制與傳輸管理功能的控制幀。幀開(kāi)始 地址長(zhǎng)度/
10、類型/控制 數(shù)據(jù)FCS幀結(jié)束n數(shù)據(jù):承載的來(lái)自高層(網(wǎng)絡(luò)層)的數(shù)據(jù)分組(packet)。nFCS :表示幀檢驗(yàn)序列(Frame Check Sequence),該字段提供與差錯(cuò)檢測(cè)有關(guān)的信息。n幀結(jié)束:用以指示一個(gè)幀的結(jié)束。該字段與幀開(kāi)始字段一起提供了數(shù)據(jù)流的定界,使得接收方可以正確識(shí)別數(shù)據(jù)流的開(kāi)始與結(jié)束。通常,通常,“數(shù)據(jù)數(shù)據(jù)”字段之前的那些字段被統(tǒng)稱為幀頭(字段之前的那些字段被統(tǒng)稱為幀頭(headhead)部分,而)部分,而“數(shù)據(jù)數(shù)據(jù)”字段之后的所有字段被稱為字段之后的所有字段被稱為幀尾(幀尾(trailertrailer)部分。)部分。4.2.2成幀與拆幀n引入幀機(jī)制不僅可以實(shí)現(xiàn)相鄰結(jié)點(diǎn)
11、之間的可靠傳輸,還有助于提高數(shù)據(jù)傳輸?shù)男?。n若發(fā)現(xiàn)接收到的某一個(gè)(或幾個(gè))若發(fā)現(xiàn)接收到的某一個(gè)(或幾個(gè))比特出錯(cuò)或丟失時(shí),出錯(cuò)或丟失時(shí),可以只對(duì)相應(yīng)的幀進(jìn)行特殊處理(如請(qǐng)求重發(fā)等),而可以只對(duì)相應(yīng)的幀進(jìn)行特殊處理(如請(qǐng)求重發(fā)等),而不需要對(duì)其他幀進(jìn)行這種處理;不需要對(duì)其他幀進(jìn)行這種處理;n成幀為來(lái)自網(wǎng)絡(luò)層的分組加上必要的幀頭和幀尾部分。n拆幀去掉發(fā)送端數(shù)據(jù)鏈路層所加的幀頭和幀尾部分,從中分離出網(wǎng)絡(luò)層所需的分組。n在成幀過(guò)程中,如果上層的分組大小超出下層幀的大小限制,則上層的分組還要被劃分成若干個(gè)幀才能被傳輸。發(fā)送端和接收端數(shù)據(jù)鏈路層幀發(fā)送和接收過(guò)程:發(fā)送端:數(shù)據(jù)鏈路層接收到網(wǎng)絡(luò)層的發(fā)送請(qǐng)求之
12、后,便從網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層之間的接口處取下待發(fā)送的分組,并封裝成幀,然后經(jīng)過(guò)其下層物理層送入傳輸信道;這樣不斷地將幀送入傳輸信道就形成了連續(xù)的比特流;接收端:數(shù)據(jù)鏈路層從來(lái)自其物理層的比特流中識(shí)別出一個(gè)一個(gè)的獨(dú)立幀,然后利用幀中的FCS字段對(duì)每一個(gè)幀進(jìn)行校驗(yàn),判斷是否有錯(cuò)誤。如果有錯(cuò)誤,就采取收發(fā)雙方約定的差錯(cuò)控制方法進(jìn)行處理;如果沒(méi)有錯(cuò)誤,就對(duì)幀實(shí)施拆封,并將其中的數(shù)據(jù)部分即分組通過(guò)數(shù)據(jù)鏈路層與網(wǎng)絡(luò)層之間的接口上交給網(wǎng)絡(luò)層,從而完成了相鄰結(jié)點(diǎn)的數(shù)據(jù)鏈路層關(guān)于該幀的傳輸任務(wù)。4.2.3幀定界n定界就是標(biāo)識(shí)幀的開(kāi)始與結(jié)束n常用的幀定界方法:字節(jié)計(jì)數(shù)法字節(jié)計(jì)數(shù)法使用使用字符填充的首尾定界符法字符填
13、充的首尾定界符法用用比特填充的首尾定界符法比特填充的首尾定界符法違法編碼法違法編碼法字節(jié)計(jì)數(shù)法n以一個(gè)特殊字符表征一幀的起始,并以一個(gè)專門字段來(lái)標(biāo)明幀內(nèi)的字節(jié)數(shù)n接收方可以通過(guò)對(duì)該特殊字符的識(shí)別從比特流中區(qū)分出幀的起始,并從專門字段中獲知該幀中隨后跟隨的數(shù)據(jù)字節(jié)數(shù),從而可確定出幀的終止位置。 幀格式如圖所示:SOHCountFlagACKSegAddrCRC1DataCRC228148816-131064816(位)16格式中控制字符SOH標(biāo)志數(shù)據(jù)幀的起始。Count字段用以指示幀中數(shù)據(jù)段中數(shù)據(jù)的字節(jié)數(shù),數(shù)據(jù)段最大長(zhǎng)度為8(214-1)=131064位,長(zhǎng)度必須為字節(jié)(即8位)的整倍數(shù),DDC
14、MP協(xié)議就是靠這個(gè)字節(jié)計(jì)數(shù)來(lái)確定幀的終止位置的。DDCMP幀格式中的Ask、Seg、Addr及Flag中的第2位。它們的功能分別類似于HDLC中的N(S)、N(R)、Addr字段及P/F位。(稍后介紹)CRC1、CRC2分別對(duì)標(biāo)題部分和數(shù)據(jù)部分進(jìn)行雙重校驗(yàn),強(qiáng)調(diào)標(biāo)題部分單獨(dú)校驗(yàn)的原因是,一旦標(biāo)題部分中的Count字段出錯(cuò),即失卻了幀邊界劃分的依據(jù),將造成災(zāi)難性的后果。使用字符填充的首尾定界符法n每一幀以ASCII字符序列DLE STX開(kāi)始,以DLE ETX結(jié)束。n為了不使數(shù)據(jù)信息位中出現(xiàn)的與特定字符相同的字符被誤判為幀的首尾定界符,可以在這種數(shù)據(jù)字符前填充轉(zhuǎn)義控制字符以示區(qū)別,從而達(dá)到數(shù)據(jù)的透
15、明性。DLE Data DLESTXETX使用字符填充的首尾定界符法(續(xù))n在首尾界符法中,由于數(shù)據(jù)中可能會(huì)出現(xiàn)DLE STX或DLE ETX,從而干擾幀的正常定界。n字符填充法可用于解決上述問(wèn)題。即發(fā)送端在數(shù)據(jù)中所遇到的DLE前再插入一個(gè)附加的DLE,而接收方,若遇到兩個(gè)連續(xù)的DLE,則認(rèn)為是數(shù)據(jù)部分,并刪除一個(gè)DLE。DataDLE STX DLE ETXDLE DLE ETXDLEDLE STX DLE用比特填充的首尾定界符法n每一幀使用一個(gè)特殊的比特模式“01111110”標(biāo)識(shí)一幀的開(kāi)始與終止。n為了不使信息位中出現(xiàn)的與該特定模式相似的比特串被誤判為幀的首尾標(biāo)志,可以采用比特填充的方法
16、。 Data 0111111001111110用比特填充的首尾定界符法(續(xù))n比特填充法。發(fā)送方在數(shù)據(jù)中若遇到5個(gè)連續(xù)的“1”時(shí),則自動(dòng)在其后插入一個(gè)“0”。而接收方則做該過(guò)程的逆操作,即每收到連續(xù)5個(gè)“1”,則自動(dòng)刪去其后所跟的“0”,以此恢復(fù)原始信息,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)耐该餍?。Data01111110 01111110111111111110 01111110 0111111011111011111100 違法編碼法n該法在物理層采用特定的比特編碼方法時(shí)采用。n例如,曼徹斯特編碼方法,是將數(shù)據(jù)比特例如,曼徹斯特編碼方法,是將數(shù)據(jù)比特“1”1”編碼成編碼成“高高- -低低”電平對(duì),將數(shù)據(jù)比特電平
17、對(duì),將數(shù)據(jù)比特“0”0”編碼成編碼成“低低- -高高”電電平對(duì)。而平對(duì)。而“高高- -高高”電平對(duì)和電平對(duì)和“低低- -低低”電平對(duì)在數(shù)據(jù)比電平對(duì)在數(shù)據(jù)比特中是違法的??梢越栌眠@些違法編碼序列來(lái)定界幀的特中是違法的??梢越栌眠@些違法編碼序列來(lái)定界幀的起始與終止。局域網(wǎng)起始與終止。局域網(wǎng)IEEE 802IEEE 802標(biāo)準(zhǔn)中就采用了這種方法。標(biāo)準(zhǔn)中就采用了這種方法。n違法編碼法不需要任何填充技術(shù),便能實(shí)現(xiàn)數(shù)據(jù)的透明性,但它只適用采用冗余編碼的特殊編碼環(huán)境。n由于字節(jié)計(jì)數(shù)法中Count字段的脆弱性(其值若有差錯(cuò)將導(dǎo)致災(zāi)難性后果)以及字符填充實(shí)現(xiàn)上的復(fù)雜性和不兼容性,目前較普遍使用的幀同步法是比特填
18、充法和違法編碼法。4.3 差錯(cuò)控制n差錯(cuò)是指接收端收到的數(shù)據(jù)與發(fā)送端實(shí)際發(fā)出的數(shù)據(jù)出現(xiàn)不一致的現(xiàn)象。n產(chǎn)生差錯(cuò)主要是因?yàn)樵谕ㄐ啪€路上噪聲干擾的結(jié)果。n根據(jù)噪聲類型不同,可將差錯(cuò)分為隨機(jī)錯(cuò)和突發(fā)錯(cuò)。根據(jù)噪聲類型不同,可將差錯(cuò)分為隨機(jī)錯(cuò)和突發(fā)錯(cuò)。熱噪聲所產(chǎn)生的差錯(cuò)稱為隨機(jī)錯(cuò),沖擊噪聲(如電熱噪聲所產(chǎn)生的差錯(cuò)稱為隨機(jī)錯(cuò),沖擊噪聲(如電磁干擾、無(wú)線電干擾等)所產(chǎn)生的錯(cuò)誤稱為突發(fā)錯(cuò)。磁干擾、無(wú)線電干擾等)所產(chǎn)生的錯(cuò)誤稱為突發(fā)錯(cuò)。n差錯(cuò)的嚴(yán)重程度由誤碼率來(lái)衡量,誤碼率Pe 等于錯(cuò)誤接收的碼元數(shù)與所接收的碼元總數(shù)之比。顯然,誤碼率越低,信道的傳輸質(zhì)量越高。n由于信道中的噪聲是客觀存在的,所以不管信道質(zhì)量多高
19、,都要進(jìn)行差錯(cuò)控制。4.3.1差錯(cuò)控制的作用與機(jī)制n差錯(cuò)控制的主要作用是通過(guò)發(fā)現(xiàn)數(shù)據(jù)傳輸中的錯(cuò)誤,采取相應(yīng)的措施減少數(shù)據(jù)傳輸錯(cuò)誤。n差錯(cuò)控制的核心是對(duì)傳輸?shù)臄?shù)據(jù)信息加上與其滿足一定關(guān)系的冗余碼,形成一個(gè)加強(qiáng)的、符合一定規(guī)律的發(fā)送序列。n校驗(yàn)碼按功能分類: 糾錯(cuò)碼 檢錯(cuò)碼n糾錯(cuò)碼不僅能發(fā)現(xiàn)傳輸中的錯(cuò)誤,還能利用糾錯(cuò)碼中的信息自動(dòng)糾正錯(cuò)誤,其對(duì)應(yīng)的差錯(cuò)控制措施為自動(dòng)前向糾錯(cuò)。漢明碼(漢明碼(Hamming codeHamming code)為典型的糾錯(cuò)碼,具有很高)為典型的糾錯(cuò)碼,具有很高的糾錯(cuò)能力。的糾錯(cuò)能力。n檢錯(cuò)碼只能用來(lái)發(fā)現(xiàn)傳輸中的錯(cuò)誤,但不能自動(dòng)糾正所發(fā)現(xiàn)的錯(cuò)誤,需要通過(guò)反饋重發(fā)來(lái)糾錯(cuò)。
20、n常見(jiàn)的檢錯(cuò)碼有:奇偶校驗(yàn)碼奇偶校驗(yàn)碼 循環(huán)冗余校驗(yàn)碼(循環(huán)冗余校驗(yàn)碼(CRCCRC)4.3.2 奇偶校驗(yàn)碼n 規(guī)則:在原數(shù)據(jù)位后附加一個(gè)校驗(yàn)位,將其值置為“0”或“1”,使附加該位后的整個(gè)數(shù)據(jù)碼中“1”的個(gè)數(shù)成為奇數(shù)或偶數(shù)。使用奇數(shù)個(gè)使用奇數(shù)個(gè)“1 1”進(jìn)行校驗(yàn)的方案被稱為奇校驗(yàn);進(jìn)行校驗(yàn)的方案被稱為奇校驗(yàn);對(duì)應(yīng)于偶數(shù)個(gè)對(duì)應(yīng)于偶數(shù)個(gè)“1 1”的校驗(yàn)方案被稱為偶校驗(yàn)。的校驗(yàn)方案被稱為偶校驗(yàn)。nEg: 求 1100001的水平奇校驗(yàn)和水平偶校驗(yàn) 水平奇校驗(yàn) 1100001 水平偶校驗(yàn) 1100001注:水平奇/偶校驗(yàn)只能發(fā)現(xiàn)字符傳輸中的奇數(shù)位錯(cuò),而不能發(fā)現(xiàn)偶數(shù)位錯(cuò)。01n垂直奇/偶校驗(yàn):將所發(fā)送
21、的若干個(gè)字符組成字符組或字符塊,形式將所發(fā)送的若干個(gè)字符組成字符組或字符塊,形式上相當(dāng)于是一個(gè)矩陣,每行為一個(gè)字符,每列為所有字上相當(dāng)于是一個(gè)矩陣,每行為一個(gè)字符,每列為所有字符對(duì)應(yīng)的相同位。在這一組字符的末尾即最后一行附加符對(duì)應(yīng)的相同位。在這一組字符的末尾即最后一行附加一個(gè)校驗(yàn)字符,該校驗(yàn)字符中的第一個(gè)校驗(yàn)字符,該校驗(yàn)字符中的第i i 位分別對(duì)應(yīng)組中所位分別對(duì)應(yīng)組中所有字符第有字符第i i 位的校驗(yàn)位。位的校驗(yàn)位。n水平垂直奇/偶校驗(yàn)對(duì)每個(gè)字符作水平校驗(yàn),同時(shí)也對(duì)整個(gè)字符塊作垂對(duì)每個(gè)字符作水平校驗(yàn),同時(shí)也對(duì)整個(gè)字符塊作垂直校驗(yàn)直校驗(yàn)從總體上講,奇偶校驗(yàn)方法的檢錯(cuò)能力仍較差,雖然其實(shí)現(xiàn)方法簡(jiǎn)單
22、。故這種校驗(yàn)一般只用于通信質(zhì)量要求較低的環(huán)境。垂直奇偶校驗(yàn)垂直奇偶校驗(yàn)水平奇偶校驗(yàn)水平奇偶校驗(yàn)4.3.3循環(huán)冗余校驗(yàn)碼(CRC)n循環(huán)冗余校驗(yàn)碼是一種被廣泛采用的多項(xiàng)式編碼,又稱多項(xiàng)式碼。是一種被廣泛采用的多項(xiàng)式編碼,又稱多項(xiàng)式碼。nCRC的組成由兩部分組成,前一部分是由兩部分組成,前一部分是k+1 k+1 個(gè)比特的待發(fā)送信息,后個(gè)比特的待發(fā)送信息,后一部分是一部分是r r 個(gè)比特的冗余碼。個(gè)比特的冗余碼。n主要用到兩個(gè)多項(xiàng)式: f(x)和G(x) 。 其中,其中,f(x)f(x) 是一個(gè)是一個(gè)k k 階多項(xiàng)式,其系數(shù)是待發(fā)送的階多項(xiàng)式,其系數(shù)是待發(fā)送的k+1 k+1 個(gè)個(gè)比特序列;比特序列;
23、G(x)G(x)是一個(gè)是一個(gè)r r 階的生成多項(xiàng)式,由發(fā)收雙方預(yù)階的生成多項(xiàng)式,由發(fā)收雙方預(yù)先約定。先約定。 CRC的工作原理n生成r 個(gè)比特的冗余碼:用模2 除法進(jìn)行xrf(x)/G(x)運(yùn)算,得余式 ,其系數(shù)即是冗余碼。x xr rf(x) f(x) 即即信息序列向左移動(dòng)信息序列向左移動(dòng)r r位,低位補(bǔ)位,低位補(bǔ)0 0。n得到帶CRC 校驗(yàn)的發(fā)送序列:用模2 減法進(jìn)行x5 - 運(yùn)算得到帶CRC 校驗(yàn)的發(fā)送序列.從形式上看,也就是簡(jiǎn)單地在原信息序列后面附加上冗從形式上看,也就是簡(jiǎn)單地在原信息序列后面附加上冗余碼。余碼。n在接收方,用同樣的生成多項(xiàng)式G(x)除所收到的序列。若余數(shù)為0,則表示傳
24、輸無(wú)差錯(cuò),否則說(shuō)明傳輸過(guò)程出現(xiàn)差錯(cuò)。n常見(jiàn)的標(biāo)準(zhǔn)生成多項(xiàng)式如下:CRC-12:G(x)=x12+x11+x3+ x2+1CRC-16:G(x)=x16+x15+x2+1CRC-32:G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1nCRC能夠檢驗(yàn)出下列差錯(cuò):全部的奇數(shù)個(gè)錯(cuò);全部的奇數(shù)個(gè)錯(cuò);全部的二位錯(cuò);全部的二位錯(cuò); 全部長(zhǎng)度小于或等于全部長(zhǎng)度小于或等于r r位的突發(fā)錯(cuò)。其中,位的突發(fā)錯(cuò)。其中,r r是冗余碼的是冗余碼的長(zhǎng)度。長(zhǎng)度。CRC的例子n例1:若要傳輸?shù)谋忍匦蛄袨?10011010,生成多項(xiàng)式 x4x31,求CRC碼的校驗(yàn)序
25、列碼以及實(shí)際發(fā)送的比特序列是什么?解析:發(fā)送數(shù)據(jù)對(duì)應(yīng)的比特序列為110011010; 生成多項(xiàng)式對(duì)應(yīng)的比特序列為11001(k4); F(x)xk對(duì)應(yīng)的比特序列為1100110100000; 將F(x)xk對(duì)應(yīng)的比特序列用生成多項(xiàng)式對(duì)應(yīng)的比 特序列11001去除,計(jì)算過(guò)程如下:CRC的例子(續(xù))求得余數(shù)比特序列為1100(4位),就是CRC碼的校驗(yàn)序列碼;實(shí)際發(fā)送的比特序列為1100110101100。n例2:若要傳送的信息序列為1000100101,生成多項(xiàng)式為 x5x4x21,求CRC碼的校驗(yàn)序列碼,若收到的數(shù)據(jù)比特序列為100010010100011,驗(yàn)證其正確性。 解析:發(fā)送數(shù)據(jù)對(duì)應(yīng)的
26、比特序列為1000100101; 生成多項(xiàng)式對(duì)應(yīng)的比特序列為110101(k5); F(x)xk對(duì)應(yīng)的比特序列為100010010100000; 將F(x)xk對(duì)應(yīng)的比特序列用生成多項(xiàng)式對(duì)應(yīng)的比特序列110101去除,計(jì)算過(guò)程如圖所示。按二進(jìn)制模2算法結(jié)果如下:求得余數(shù)比特序列為00011(5位),就是CRC碼的校驗(yàn)序列碼;將收到的比特序列用生成多項(xiàng)式對(duì)應(yīng)的比特序列110101去除,若能夠被整除,數(shù)據(jù)傳輸正確,否則傳輸錯(cuò)誤,計(jì)算過(guò)程按二進(jìn)制模2算法與前面相同,由讀者自己完成。傳輸結(jié)果應(yīng)是正確的。4.3.4反饋重發(fā)機(jī)制n含義: 由于檢錯(cuò)碼本身不提供自動(dòng)的錯(cuò)誤糾正能由于檢錯(cuò)碼本身不提供自動(dòng)的錯(cuò)誤糾
27、正能力,所以需要提供一種與之相配套的錯(cuò)誤糾正力,所以需要提供一種與之相配套的錯(cuò)誤糾正機(jī)制,即反饋重發(fā)。通常當(dāng)接收方檢出錯(cuò)誤的機(jī)制,即反饋重發(fā)。通常當(dāng)接收方檢出錯(cuò)誤的幀時(shí),首先將該幀丟棄,然后給發(fā)送方反饋信幀時(shí),首先將該幀丟棄,然后給發(fā)送方反饋信息請(qǐng)求發(fā)送方重發(fā)相應(yīng)的幀。反饋重發(fā)又被稱息請(qǐng)求發(fā)送方重發(fā)相應(yīng)的幀。反饋重發(fā)又被稱為自動(dòng)請(qǐng)求重傳(為自動(dòng)請(qǐng)求重傳(ARQARQ,Automatic Repeat Automatic Repeat RequestRequest)。)。n常見(jiàn)的實(shí)現(xiàn)方法:停止等待方式停止等待方式 連續(xù)連續(xù)ARQ ARQ 方式方式停止-等待方式n發(fā)送端在發(fā)出一幀之后必須停下來(lái)等待
28、接收端的對(duì)發(fā)送幀的確認(rèn)。若確認(rèn)提示對(duì)方已經(jīng)正確收到,則發(fā)送方繼續(xù)發(fā)送下一個(gè)幀;否則,發(fā)送方就重發(fā)該幀。n對(duì)幀的確認(rèn)有肯定和否定之分,表示正確接收的被稱為確認(rèn)幀(acknowledgement,ACK),表示錯(cuò)誤接收的被稱為否認(rèn)幀(negative acknowledgement,NAK)。 n在理想情況下,幀在線路上不會(huì)損壞,也不會(huì)丟失。下圖表明了發(fā)送方和接收方在正常情況下的一次幀傳送。發(fā)送方發(fā)送一個(gè)幀,接收方在正確接收后,反饋一個(gè)確認(rèn)幀。正常情況下的停止等待停止等待協(xié)議的算法n在理想的情況下,發(fā)送站點(diǎn)的動(dòng)作如下: n將從網(wǎng)絡(luò)層下來(lái)的分組裝配成幀; n將幀送到數(shù)據(jù)鏈路層的發(fā)送緩沖區(qū); n將發(fā)送
29、緩沖區(qū)中的幀發(fā)送出去; n等待對(duì)方的確認(rèn); n收到接收站點(diǎn)的ACK幀,轉(zhuǎn)到。n接收站點(diǎn)的動(dòng)作如下:n等待; n若收到由發(fā)送站點(diǎn)發(fā)過(guò)來(lái)的幀,將其放入數(shù)據(jù)鏈路層的接收緩沖區(qū);n將接收緩沖區(qū)中的幀進(jìn)行拆封處理,將其中的分組交給網(wǎng)絡(luò)層; n發(fā)送一個(gè)確認(rèn)幀ACK給發(fā)送站點(diǎn),表示幀已正確接收; n轉(zhuǎn)到。 使用停止等待協(xié)議四種情況時(shí)間ABDATA0送主機(jī)ACKDATA1送主機(jī)ACK(a) 正常情況ABDATA0DATA0送主機(jī)ACK(c) 數(shù)據(jù)幀丟失重傳tout丟失 !ABDATA0送主機(jī)ACKDATA0丟棄ACK(d) 確認(rèn)幀丟失重傳tout丟失 !ABDATA0NAKDATA0送主機(jī)ACK(b) 數(shù)據(jù)幀
30、出錯(cuò)重傳出錯(cuò)超時(shí)重發(fā)機(jī)制n超時(shí)重發(fā)機(jī)制的提出在數(shù)據(jù)幀出錯(cuò)的情況下,接收方會(huì)發(fā)送一個(gè)否認(rèn)幀,發(fā)送方在收到該否認(rèn)幀后將會(huì)重傳這個(gè)被損壞的幀。其他兩種情況則可能造成發(fā)送方無(wú)限制地等待下去。在數(shù)據(jù)幀丟失的情況下,由于接收方?jīng)]有收到相應(yīng)的幀,因此也就不會(huì)發(fā)送一個(gè)ACK。在確認(rèn)幀丟失的情況下,盡管接收方正確收到一個(gè)幀且為此發(fā)送了一個(gè)確認(rèn)幀,但是該確認(rèn)幀在傳輸過(guò)程中被丟失。所以,這兩種情況都會(huì)造成發(fā)送方因收不到確認(rèn)幀而無(wú)限等下去。 解決上述無(wú)限等待的有效方法是引入超時(shí)重發(fā)機(jī)制。在發(fā)送方設(shè)置一個(gè)計(jì)時(shí)器,當(dāng)發(fā)送一個(gè)幀之后,就開(kāi)始計(jì)時(shí);如果在規(guī)定的時(shí)間內(nèi)確認(rèn)幀還未到達(dá),就默認(rèn)為幀在傳輸過(guò)程中被丟失,于是重新啟動(dòng)幀
31、的發(fā)送。n簡(jiǎn)單的超時(shí)重發(fā)會(huì)引發(fā)幀被重復(fù)接收的問(wèn)題。例如,在確認(rèn)幀丟失的情況下,數(shù)據(jù)幀已經(jīng)被接收端正確接收,但接收端反饋的確認(rèn)幀卻在傳輸過(guò)程中丟失了,發(fā)送端因此啟動(dòng)了超時(shí)重發(fā)機(jī)制,從而造成接收端收到重復(fù)的幀。n解決幀重復(fù)接收問(wèn)題的一個(gè)簡(jiǎn)單方法就是對(duì)待發(fā)送的幀進(jìn)行編號(hào)。接收端一旦在某段時(shí)間內(nèi)收到兩個(gè)序列號(hào)相同的幀,就可以判斷出是它們是重復(fù)幀,然后丟棄重復(fù)的幀。n停止等待方式實(shí)現(xiàn)簡(jiǎn)單,但是這種發(fā)送一幀等待一個(gè)確認(rèn)的方式使得通信效率很低。 連續(xù) ARQ 協(xié)議的工作原理 n連續(xù)重發(fā)請(qǐng)求方案是指發(fā)送方可以連續(xù)發(fā)送一系列信息幀,即不用等前一幀被確認(rèn)便可發(fā)送下一幀。n需要在發(fā)送方設(shè)置一個(gè)較大的緩沖存儲(chǔ)空間(稱
32、為重發(fā)表),用以存放若干待確認(rèn)的信息幀。當(dāng)發(fā)送方到對(duì)某信息幀的確認(rèn)幀后便可從重發(fā)表中將該信息幀刪除。n連續(xù)ARQ方案的鏈路傳輸效率大大提高,但相應(yīng)地需要更大的緩沖存儲(chǔ)空間。nARQ方案的實(shí)現(xiàn)過(guò)程如下:n發(fā)送方連續(xù)發(fā)送信息幀而不必等待確認(rèn)幀的返回;n發(fā)送方在重發(fā)表中保存所發(fā)送的每個(gè)幀的備份;n重發(fā)表按先進(jìn)先出(FIFO)隊(duì)列規(guī)則操作;n接收方對(duì)每一個(gè)正確收到的信息幀返回一個(gè)確認(rèn)幀;n每一個(gè)確認(rèn)幀包含一個(gè)唯一的序號(hào),隨相應(yīng)的確認(rèn)幀返回;n接收方保存一個(gè)接收次序表,它包含最后正確收到的信息幀的序號(hào);n當(dāng)發(fā)送方收到相應(yīng)信息幀的確認(rèn)后,從重發(fā)表中刪除該信息幀的備份;n當(dāng)發(fā)送方檢測(cè)出失序的確認(rèn)幀(即第N號(hào)
33、信息幀和第N+2號(hào)信息幀的確認(rèn)幀已返回,而N+1號(hào)的確認(rèn)幀未返回)后,便重發(fā)未被確認(rèn)的信息幀。GO-DACK-N策略n上面連續(xù)ARQ過(guò)程是假定在不發(fā)生傳輸差錯(cuò)的情況下描述的,如果差錯(cuò)出現(xiàn),如何進(jìn)一步處理還可以有兩種策略,即GO-DACK-N策略和選擇重發(fā)策略。nGO-DACK-N策略的基本原理當(dāng)接收方檢測(cè)出失序的信息幀后,要求發(fā)送方重發(fā)最后一個(gè)正確接收的信息幀之后的所有未被確認(rèn)的幀;或者當(dāng)發(fā)送方發(fā)送了N個(gè)幀后,若發(fā)現(xiàn)該N幀的前一個(gè)幀在計(jì)時(shí)器超時(shí)后仍未返回其確認(rèn)信息,則該幀被判為出錯(cuò)或丟失,此時(shí)發(fā)送方就不得不重新發(fā)送出錯(cuò)幀及其后的N幀。GO-DACK-N策略GO-DACK-N法操作過(guò)程如圖所示。
34、圖中假定發(fā)送完8號(hào)幀后,發(fā)現(xiàn)2號(hào)幀的確認(rèn)返回在計(jì)時(shí)器超時(shí)后還未收到,則發(fā)送方只能退回從2號(hào)幀開(kāi)始重發(fā)。選擇重發(fā)機(jī)制n當(dāng)接收方發(fā)現(xiàn)某幀出錯(cuò)后,其后繼續(xù)送來(lái)的正確的幀雖然不能立即遞交給接收方的高層,但接收方仍可收下來(lái),存放在一個(gè)緩沖區(qū)中,同時(shí)要求發(fā)送方重新傳送出錯(cuò)的那一幀。一旦收到重新傳來(lái)的幀后,就可以原已存于緩沖區(qū)中的其余幀一并按正確的順序遞交高層。n其工作過(guò)程如圖所示。圖中2號(hào)幀的否認(rèn)返回信息NAK2要求發(fā)送方選擇重發(fā)2號(hào)幀。顯然,選擇重發(fā)減少了浪費(fèi),但要求接收方有足夠大的緩沖區(qū)空間。選擇重發(fā)機(jī)制舉例4.4流量控制4.4.1流量控制作用n由于系統(tǒng)性能的不同,如硬件能力(包括CPU,存儲(chǔ)器等)和
35、軟件功能的差異,會(huì)導(dǎo)致發(fā)送方與接收方處理數(shù)據(jù)的能力有所不同。n若一個(gè)發(fā)送能力較強(qiáng)的發(fā)送方給一個(gè)接收能力相對(duì)較弱的接收方發(fā)送數(shù)據(jù),則接收方會(huì)因無(wú)能力處理所有收到的幀而不得不丟棄一些幀。如果發(fā)送方持續(xù)高速地發(fā)送,則接收方最終還會(huì)被“淹沒(méi)”。也就是說(shuō),在數(shù)據(jù)鏈路層只有差錯(cuò)控制機(jī)制還是不夠的,其不能解決因發(fā)送方和接收方速率不匹配所造成的幀丟失。n流量控制并不是數(shù)據(jù)鏈路層特有的功能,許多高層協(xié)議中也提供流量控制功能,只不過(guò)流量控制的對(duì)象不同而已。比如,對(duì)于數(shù)據(jù)鏈路層來(lái)說(shuō),控制的是相鄰兩結(jié)點(diǎn)這間數(shù)據(jù)鏈路上的流量,而對(duì)于運(yùn)輸層來(lái)說(shuō),控制的則是從源到最終目的之間端對(duì)端的流量。n流量控制的作用是為了平衡雙方的數(shù)
36、據(jù)吞吐量,使發(fā)送方所發(fā)出的數(shù)據(jù)流量不要超過(guò)接收方所能接收的速率。n流量控制的關(guān)鍵是需要有一種信息反饋機(jī)制,使發(fā)送方能了解接收方是否具備足夠的接收及處理能力。n存在各種不同的流量控制機(jī)制。如簡(jiǎn)單的停等協(xié)議,而滑動(dòng)窗口協(xié)議可以將流量控制機(jī)制與幀確認(rèn)機(jī)制巧妙地結(jié)合在一起。4.4.2 滑動(dòng)窗口協(xié)議n發(fā)送方存放待確認(rèn)幀的重發(fā)表中,應(yīng)設(shè)置待確認(rèn)幀數(shù)目的最大限度,這一限度被稱為鏈路的發(fā)送窗口。n重發(fā)表是一個(gè)連續(xù)序號(hào)的列表,對(duì)應(yīng)發(fā)送方已發(fā)送但尚未確認(rèn)的那些幀。這些幀的序號(hào)有一個(gè)最大值,這個(gè)最大值即發(fā)送窗口的限度。n所謂發(fā)送窗口就是指示發(fā)送方已發(fā)送但尚未確認(rèn)的幀序號(hào)隊(duì)列的界,其上、下界分別稱為發(fā)送窗口的上、下沿
37、,上、下沿的部距稱為窗口尺寸。接收方類似地也有接收窗口,它批示允許接收和幀的序號(hào)。n發(fā)送方每次發(fā)送一幀后,待確認(rèn)幀的數(shù)目便增1,每收到一個(gè)確認(rèn)信息后,待確認(rèn)幀的數(shù)目便減1。當(dāng)重發(fā)表長(zhǎng)度計(jì)數(shù)值,即待確認(rèn)幀的數(shù)目等于發(fā)送窗口尺寸時(shí),便停止發(fā)送新的幀。n一般幀號(hào)只取有限位二進(jìn)制數(shù),到一定時(shí)間后就又反復(fù)循環(huán)。若幀號(hào)配3位二進(jìn)制數(shù),則幀號(hào)在07間循環(huán)。01234567012發(fā)送窗口WT不允許發(fā)送這些幀允許發(fā)送 5 個(gè)幀(a)01234567012不允許發(fā)送這些幀還允許發(fā)送 4 個(gè)幀WT已發(fā)送(b)01234567012不允許發(fā)送這些幀WT已發(fā)送(c)01234567012不允許發(fā)送這些幀還允許發(fā)送 3
38、個(gè)幀WT已發(fā)送 已發(fā)送并已收到確認(rèn)(d)n滑動(dòng)窗口變化過(guò)程可敘述如下(假設(shè)發(fā)送窗口尺寸為2,接收窗口尺寸為1):n初始態(tài),發(fā)送方?jīng)]有幀發(fā)出,發(fā)送窗口前后沿相重合。接收方0號(hào)窗口打開(kāi),表示等待接收0號(hào)幀;n發(fā)送方已發(fā)送0號(hào)幀,此時(shí)發(fā)送方打開(kāi)0號(hào)窗口,表示已發(fā)出0幀但尚確認(rèn)返回信息。此時(shí)接收窗口狀態(tài)同前,仍等待接收0號(hào)幀;n 發(fā)送方在未收到0號(hào)幀的確認(rèn)返器信息前,繼續(xù)發(fā)送1號(hào)幀。此時(shí),1號(hào)窗口打開(kāi),表示1號(hào)幀也屬等待確認(rèn)之列。至昆,發(fā)送方打開(kāi)的窗口數(shù)已達(dá)規(guī)定限度,在未收到新的確認(rèn)返回幀之前,發(fā)送方將暫停發(fā)送新的數(shù)據(jù)幀。接收窗口此時(shí)狀態(tài)仍未變;n接收方已收到0號(hào)幀,0號(hào)窗口關(guān)閉,1號(hào)窗口打開(kāi),表示準(zhǔn)
39、備接收1號(hào)幀。此時(shí)發(fā)送窗口狀態(tài)不變; n發(fā)送方收到接收方發(fā)來(lái)的0號(hào)幀確認(rèn)返回信息,關(guān)閉0號(hào)窗口,表示從重發(fā)表中刪除0號(hào)幀。此時(shí)接收窗口狀態(tài)仍不變;n 發(fā)送方繼續(xù)發(fā)送2號(hào)幀,2號(hào)窗口打開(kāi),表示2號(hào)幀也納入待確認(rèn)之列。至此,發(fā)送方打開(kāi)的窗口又已達(dá)規(guī)定限度,在未收到新的確認(rèn)返回幀之前,發(fā)送方將暫停發(fā)送新的數(shù)據(jù)幀,此時(shí)接收窗口狀態(tài)仍不變;n接收方已收到1號(hào)幀,1號(hào)窗口關(guān)閉,2號(hào)窗口打開(kāi),表示準(zhǔn)備接收2號(hào)幀。此時(shí)發(fā)送窗口狀態(tài)不變;n發(fā)送方收到接收方發(fā)來(lái)的1號(hào)幀收畢的確認(rèn)信息,關(guān)閉1號(hào)窗口,表示從重發(fā)表中刪除1號(hào)幀。此時(shí)接收窗口狀態(tài)仍不變。n凡是在一定范圍內(nèi)到達(dá)的幀,即使它們不按順序,接收方也要接收下來(lái)。
40、若把這個(gè)范圍看成是接收窗口的話,由接收窗口的大小也應(yīng)該是大于1的。n停等-協(xié)議、Go-back-N及選擇重發(fā)的區(qū)別:停等停等- -協(xié)議:發(fā)送窗口協(xié)議:發(fā)送窗口=1=1,接收窗口,接收窗口=1=1;Go-back-NGo-back-N: 發(fā)窗口發(fā)窗口11,接收窗口,接收窗口=1=1;選擇重發(fā):發(fā)送窗口選擇重發(fā):發(fā)送窗口11,接收窗口,接收窗口114.5 數(shù)據(jù)鏈路層協(xié)議示例 4.5.1 HDLC高級(jí)數(shù)據(jù)鏈路控制n高級(jí)數(shù)據(jù)鏈路控制(規(guī)程)(High Level Data Link Control,HDLC)是一個(gè)在同步網(wǎng)上傳輸數(shù)據(jù)、面向位的數(shù)據(jù)鏈路層協(xié)議,它是由國(guó)際標(biāo)準(zhǔn)化組織(ISO)制定的。HDL
41、C是IBM 的同步數(shù)據(jù)鏈路控制規(guī)程(SDLC)的一個(gè)超集。nHDLC 是面向比特的協(xié)議,支持全雙工通信,采用位填充的成幀技術(shù),以滑動(dòng)窗口協(xié)議進(jìn)行流量控制。HDLC的幀格式標(biāo)識(shí)標(biāo)識(shí)F地址地址A控制控制C8幀校驗(yàn)序列幀校驗(yàn)序列FCS標(biāo)識(shí)標(biāo)識(shí)F數(shù)據(jù)數(shù)據(jù)Date88可變可變1680N(S)P/FN(R)10SP/FN(R)11MP/FN(R)信息幀監(jiān)控幀無(wú)編號(hào)幀比特序號(hào)123 456 7 8n幀頭和幀尾的位模式串“01111110”為幀的開(kāi)始和結(jié)束標(biāo)記(Flag)??梢钥闯?,HDLC 協(xié)議在幀定界上采用的是帶位填充技術(shù)首尾界符法。n A是地址字段(Address),由8 位組成。對(duì)于命令幀,存放接收站
42、的地址;對(duì)于響應(yīng)幀,存放發(fā)送響應(yīng)幀的站點(diǎn)地址。nC 是控制字段(Control),由8 位組成,該字段是HDLC 協(xié)議的關(guān)鍵部分。它標(biāo)志了HDLC 的3 種類型幀:信息(Information)幀、監(jiān)控(Supervisory)幀和無(wú)序號(hào)(Unnumbered)幀。n監(jiān)控幀中不包含Data(數(shù)據(jù))部分,若幀的第1 和第2 比特為“11”,則代表用于數(shù)據(jù)鏈路控制的無(wú)序號(hào)幀,其第3、 4、6、7 和8 比特用M(Modifier)表示,M的取值不同表示不同功能的無(wú)序號(hào)幀。無(wú)序號(hào)幀可用于建立連接和拆除連接。在所有3 種情況下,第5 比特是輪詢終止(Poll/Final)比特,簡(jiǎn)稱P/F,用于詢問(wèn)對(duì)方
43、是否有數(shù)據(jù)要發(fā)送或告訴對(duì)方數(shù)據(jù)傳輸結(jié)束。nData 是數(shù)據(jù)字段,可以包含任意信息且可以是任意長(zhǎng)的,但實(shí)際上受多種條件的制約,如幀校驗(yàn)效率就會(huì)隨著數(shù)據(jù)長(zhǎng)度的增加而下降。n FCS 是校驗(yàn)序列字段,采用16 位的CRC 校驗(yàn),其生成多項(xiàng)式為CRC16: G(x)=x16+x12+x5+1,校驗(yàn)的內(nèi)容包括A 字段、C 字段和Data 字段。nHDLC提供了三種類型的幀,包括信息幀、監(jiān)控幀和無(wú)符號(hào)幀。n信息幀簡(jiǎn)稱I幀,其控制字段的第1比特為“0”。I幀用于發(fā)送數(shù)據(jù)。在I幀中,第2至第4比特N(S)代表當(dāng)前發(fā)送的信息幀的序號(hào)。第6至第8比特N(R)則代表接收序號(hào),它給出下一個(gè)期望接收的幀序號(hào)。接收方不必
44、專門為正確收到的信息幀發(fā)送確認(rèn),它可以在自己當(dāng)前所要發(fā)送的信息幀中通過(guò)N(R)捎帶上對(duì)已經(jīng)正確接收幀的確認(rèn)。由于通信是全雙工的,所以參與通信的每一方各有一個(gè)N(S)和一個(gè)N(R)。對(duì)于I幀中的P/F位,若P/F=0,表示該位沒(méi)有意義;若P/F=1,則對(duì)不同的情況有不同的含義。對(duì)于正常響應(yīng)模式NRM,若主站置P/F=1,則表示它向從站發(fā)出探詢,只有從站有數(shù)據(jù)要發(fā)送,才可以向主站發(fā)送信息。當(dāng)從站發(fā)送最后一幀時(shí),它要置P/F=1,表示從站數(shù)據(jù)發(fā)送已經(jīng)結(jié)束。n監(jiān)控(supervision)幀簡(jiǎn)稱S幀,其控制字段的第1位為“1”、第2比特為“0”。S幀用于協(xié)調(diào)雙方通信狀態(tài)。根據(jù)S幀中控制字段的第3至4比
45、特取值,S幀又進(jìn)一步分成四種類型,這四種S幀的名稱及作用如表所示。所有S幀都不包含要傳送的數(shù)據(jù)信息,所以它不需要有發(fā)送序號(hào)N(S)。但是,S幀中的接收序號(hào)N(R)卻仍然非常重要。在RR幀和RNR幀中,N(R)都相當(dāng)于是對(duì)前面已經(jīng)正確接收的各幀的確認(rèn),N(R)表示下一個(gè)期望接收的幀;在REJ監(jiān)控幀中,N(R)表示否認(rèn)的信息幀號(hào),同時(shí)也是對(duì)N(R)-1及其以前的各幀均已正確接收的一種確認(rèn)。對(duì)于S幀,當(dāng)P/F位的取值為“0”時(shí)也是沒(méi)有意義的。P/F位取“1”才有意義。在非平衡配置的正常響應(yīng)方式中,從站不能主動(dòng)向主站發(fā)送信息,只有收到主站發(fā)來(lái)的P/F=1的S幀(或I幀)之后才能發(fā)送響應(yīng)幀。若從站有數(shù)據(jù)
46、要發(fā)送,則在最后一個(gè)數(shù)據(jù)幀中將P/F位置1。若無(wú)數(shù)據(jù)發(fā)送,則在回答的S幀中將P/F位置1。n無(wú)序號(hào)幀簡(jiǎn)稱U幀,其控制字段的第1和第2比特為“11”。無(wú)序號(hào)幀本身不帶編號(hào),即無(wú)N(S)和N(R)字段,其第3、4、6、7和8比特用M表示,M的取值不同表示不同功能的無(wú)序號(hào)幀。雖然共有32個(gè)不同的編號(hào),但目前只定義了15種無(wú)編號(hào)幀。無(wú)序號(hào)幀主要用于數(shù)據(jù)鏈路控制,如用于鏈路連接的建立和拆除。下表給出了6種U幀控制字段(C字段)的第3比特至第8比特的格式與鏈路控制功能。在這6種U幀中,前4種是命令,后2種是從站的響應(yīng)。六種用于鏈路控制的U幀格式與功能HDLC 用于實(shí)現(xiàn)面向連接的可靠傳輸n下圖為正常傳輸,其中將無(wú)序號(hào)幀用于鏈路連接的建立、維護(hù)與拆除,而信息幀用于發(fā)送數(shù)據(jù)并實(shí)現(xiàn)捎帶的幀確認(rèn)。n下圖則表示出現(xiàn)差錯(cuò)后的處理過(guò)程,但省略了關(guān)于連接建立的過(guò)程。 由于B 方?jīng)]有數(shù)據(jù)幀要發(fā)送給A 方,所以不能利用信息幀的捎帶來(lái)反饋幀出錯(cuò)信息,只有專門發(fā)送一個(gè)監(jiān)控幀用于告訴A 方數(shù)據(jù)幀傳輸出錯(cuò)并同時(shí)給出建議的差錯(cuò)控制方式,顯然在該例子中差錯(cuò)控制采用了選擇重發(fā)方式。有確認(rèn)的面向連接HDLC 差錯(cuò)控制的實(shí)現(xiàn)連接建立、數(shù)據(jù)傳輸和連接拆除4.5.2 PPP協(xié)議nPPP 是點(diǎn)對(duì)點(diǎn)協(xié)議(Point-to-Point Pro
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 唐鋼技校電工考試試題及答案
- 水利工勤人員技師考試試題及答案
- 社會(huì)團(tuán)體考試試題及答案
- 精油小白測(cè)試題及答案
- 外地返鄉(xiāng)面試題及答案
- 中國(guó)建筑史考試試題及答案
- 2025年erp的證件考試題庫(kù)
- 2025年專業(yè)高級(jí)電工考試題庫(kù)
- 2025年旅館考試題庫(kù)
- 2025年助理編制考試題庫(kù)
- IWE(國(guó)際焊接工程師)考試試題生產(chǎn)模塊
- 40M躉船總體建造方案
- 吞咽障礙患者的營(yíng)養(yǎng)支持課件
- 諾如病毒感染暴發(fā)調(diào)查和預(yù)防控制技術(shù)指南(2023版)
- 行政處罰案卷制作規(guī)范課件
- 無(wú)人機(jī)操控快速入門訓(xùn)練法
- 中國(guó)醫(yī)院質(zhì)量安全管理 第4-13部分:醫(yī)療管理住院患者健康教育 T∕CHAS 10-4-13-2020
- 化學(xué)工業(yè)計(jì)量器具分級(jí)管理辦法解釋
- 火電廠熱控施工方案
- 高中物理(人教版)必修1全冊(cè)課件
- 完整版_第八版內(nèi)科冠心病課件
評(píng)論
0/150
提交評(píng)論