《現(xiàn)代網(wǎng)絡(luò)技術(shù)》課件第3章_第1頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)》課件第3章_第2頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)》課件第3章_第3頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)》課件第3章_第4頁
《現(xiàn)代網(wǎng)絡(luò)技術(shù)》課件第3章_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

3.1數(shù)據(jù)鏈路層的基本概念3.2簡單流量控制的數(shù)據(jù)鏈路協(xié)議3.3連續(xù)ARQ協(xié)議3.4面向比特的鏈路控制規(guī)程HDLC3.5Internet中的數(shù)據(jù)鏈路控制協(xié)議PPP習(xí)題

第3章數(shù)據(jù)鏈路層3.1數(shù)據(jù)鏈路層的基本概念第2章中多次使用了“鏈路”和“數(shù)據(jù)鏈路”這兩個術(shù)語,要強(qiáng)調(diào)的是,“鏈路”和“數(shù)據(jù)鏈路”是兩個概念。鏈路是指一條點(diǎn)到點(diǎn)的物理通路,中間沒有任何其他的交換結(jié)點(diǎn)。在進(jìn)行數(shù)據(jù)通信時,兩個計(jì)算機(jī)之間的通路往往是由許多鏈路串接而成的,可見一條鏈路只是一條通路的一個組成部分。數(shù)據(jù)鏈路(DataLink)是指在數(shù)據(jù)通信時,除了必須有一條物理線路外,還必須有一些必要的規(guī)程來控制這些數(shù)據(jù)的傳輸,把實(shí)現(xiàn)這些規(guī)程的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路。數(shù)據(jù)鏈路就像是一個數(shù)字管道,可以在它上面進(jìn)行數(shù)據(jù)通信。當(dāng)采用復(fù)用技術(shù)時,一條鏈路上可以有多條數(shù)據(jù)鏈路。鏈路分為物理鏈路和邏輯鏈路。物理鏈路就是上面所說的鏈路,而邏輯鏈路就是上面所說的數(shù)據(jù)鏈路,是物理鏈路加上必要的通信規(guī)程。這兩種劃分方法實(shí)質(zhì)上是一樣的。數(shù)據(jù)鏈路層也簡稱為鏈路層,其最重要的作用就是:通過一些數(shù)據(jù)鏈路層協(xié)議(即鏈路控制規(guī)程),在不太可靠的物理鏈路上實(shí)現(xiàn)可靠的數(shù)據(jù)傳輸。具體地說,數(shù)據(jù)鏈路層的主要功能有以下七點(diǎn)。

1)鏈路管理當(dāng)網(wǎng)絡(luò)中的兩個結(jié)點(diǎn)要進(jìn)行通信時,數(shù)據(jù)的發(fā)送方必須確知接收方是否已經(jīng)處在準(zhǔn)備接收的狀態(tài)。為此,通信的雙方必須先交換一些必要的信息,如事先要建立一條數(shù)據(jù)鏈路,在傳輸數(shù)據(jù)時要維持?jǐn)?shù)據(jù)鏈路,在通信結(jié)束時要釋放數(shù)據(jù)鏈路。數(shù)據(jù)鏈路的建立、維持和釋放就叫做鏈路管理。

2)幀同步在數(shù)據(jù)鏈路層,數(shù)據(jù)的傳送單位是幀。數(shù)據(jù)一幀一幀地傳送,當(dāng)出現(xiàn)差錯時,將有差錯的幀再重傳一次,從而避免了將全部數(shù)據(jù)都進(jìn)行重傳。幀同步是指接收方應(yīng)當(dāng)能從收到的比特流中準(zhǔn)確地區(qū)分出一幀的開始和結(jié)束。

3)流量控制發(fā)送方發(fā)送數(shù)據(jù)的速率必須使接收方來得及接收。當(dāng)接收方來不及接收時,就必須及時控制發(fā)送方發(fā)送數(shù)據(jù)的速率。

4)差錯控制為了達(dá)到極低的比特差錯率,對數(shù)據(jù)鏈路層必須采用必要的差錯控制。通常采用編碼技術(shù)進(jìn)行檢錯。編碼技術(shù)有兩類。一類是前向糾錯,即接收方收到有差錯的幀時,能夠自動將差錯改正過來。這種方法的開銷較大,不適合于計(jì)算機(jī)通信。另一類是檢錯重發(fā),即接收方一旦檢測出收到的幀中有差錯(但并不知道哪個比特錯),就讓發(fā)送方重發(fā)這一幀,直到接收方正確收到這一幀為止。這種方法在計(jì)算機(jī)通信中是最常用的。本章所要討論的協(xié)議,都采用檢錯重發(fā)的差錯控制策略。

5)將數(shù)據(jù)和控制信息區(qū)分開由于數(shù)據(jù)和控制信息都是在同一信道中傳送的,一般情況下,數(shù)據(jù)和控制信息處于同一幀中,因此一定要有相應(yīng)的措施使接收方能夠?qū)⑺鼈儏^(qū)分開。

6)透明傳輸透明傳輸是指不管數(shù)據(jù)是什么樣的比特組合,都應(yīng)當(dāng)能夠在鏈路上傳送。當(dāng)所傳數(shù)據(jù)中的比特組合恰巧出現(xiàn)了與某一個控制信息完全一樣的情況時,必須采取適當(dāng)?shù)拇胧菇邮辗讲粫⑦@樣的數(shù)據(jù)誤認(rèn)為是某種控制信息。這樣才能保證數(shù)據(jù)鏈路層傳輸?shù)耐该餍浴?/p>

7)尋址在多點(diǎn)連接的情況下,必須保證每一幀都能送到正確的目的站。接收方也應(yīng)當(dāng)知道發(fā)送方是哪一個站。3.2簡單流量控制的數(shù)據(jù)鏈路協(xié)議3.2.1完全理想化的數(shù)據(jù)傳輸當(dāng)兩個主機(jī)進(jìn)行通信時,應(yīng)用進(jìn)程要將數(shù)據(jù)從應(yīng)用層逐層往下傳,經(jīng)物理層到達(dá)通信線路。通信線路將數(shù)據(jù)傳到遠(yuǎn)端主機(jī)的物理層后,再逐層向上傳,最后由應(yīng)用層交給遠(yuǎn)程的應(yīng)用進(jìn)程。為了把主要精力放在數(shù)據(jù)鏈路層的協(xié)議上,構(gòu)造了一個簡化的模型,如圖3-1所示,即把數(shù)據(jù)鏈路層以上的各層用一個主機(jī)來代替,而物理層和通信線路則等效成一條簡單的鏈路。在發(fā)送方和接收方的鏈路層分別有一個發(fā)送緩沖區(qū)和接收緩沖區(qū),若進(jìn)行全雙工通信,則在每一方都要同時設(shè)有發(fā)送緩沖區(qū)和接收緩沖區(qū)。設(shè)置緩沖區(qū)是必不可少的,這是因?yàn)樵谕ㄐ啪€路上數(shù)據(jù)是以比特流的形式串行傳輸?shù)?,但在?jì)算機(jī)內(nèi)部數(shù)據(jù)的傳輸則是以字節(jié)為單位并行傳輸?shù)?,因此,必須在?jì)算機(jī)的內(nèi)存中設(shè)置一定容量的緩沖區(qū),以解決數(shù)據(jù)傳輸速率不一致的矛盾。圖3-1兩臺計(jì)算機(jī)通過鏈路進(jìn)行通信的簡化模型為了深入理解數(shù)據(jù)鏈路層的協(xié)議,我們假想一個完全理想化的數(shù)據(jù)傳輸過程(以后會看出,對于這種完全理想化的數(shù)據(jù)傳輸,數(shù)據(jù)鏈路層協(xié)議是多余的)。為了和后面的討論相銜接,假定數(shù)據(jù)傳輸是以幀為單位的。所謂完全理想化的數(shù)據(jù)傳輸基于以下兩個假定:假定1:鏈路是理想的傳輸信道,即所傳送的任何數(shù)據(jù)既不會出差錯也不會丟失。假定2:不管發(fā)送方以多快的速率發(fā)送數(shù)據(jù),接收方總能來得及收下,并及時交付主機(jī)處理。第一個假定很容易理解。對第二個假定則需加以解釋:假設(shè)主機(jī)A連續(xù)不斷地向主機(jī)B發(fā)送數(shù)據(jù)。在接收方,主機(jī)B的鏈路層將收到的數(shù)據(jù)及時一幀接一幀地交給主機(jī)B。在理想情況下,接收方鏈路層的緩沖區(qū)每存滿一幀就向主機(jī)B交付一幀。如果沒有專門的流量控制協(xié)議,則接收方并沒有辦法控制發(fā)送方的發(fā)送速率,而接收方也很難做到和發(fā)送方絕對精確同步。當(dāng)接收方鏈路層向主機(jī)交付數(shù)據(jù)的速率略低于發(fā)送方發(fā)送數(shù)據(jù)速率時,緩沖區(qū)暫時存放的數(shù)據(jù)幀就會逐漸堆積起來,最后造成緩沖區(qū)溢出和數(shù)據(jù)幀丟失。因此,上述第二個假定就相當(dāng)于認(rèn)為:①接收緩沖區(qū)的容量為無限大而永遠(yuǎn)不會溢出;②接收速率與發(fā)送速率絕對精確相等。在這樣理想化的條件下,數(shù)據(jù)鏈路層當(dāng)然不需要任何協(xié)議就可以保證數(shù)據(jù)傳輸?shù)恼_。下面逐步去掉這些完全理想化的假定。3.2.2具有最簡單流量控制的數(shù)據(jù)鏈路層協(xié)議現(xiàn)在去掉上述的第二個假定,但保留第一個假定,即主機(jī)A向主機(jī)B傳輸數(shù)據(jù)的信道是無差錯的理想信道。為了使接收方的接收緩沖區(qū)在任何情況下都不會溢出,在最簡單的情況下,就是發(fā)送方每發(fā)送一幀就暫時停下來。接收方收到數(shù)據(jù)幀后就交付給主機(jī),然后發(fā)一信息給發(fā)送方,表示接收的任務(wù)已經(jīng)完成,這時,發(fā)送方才再發(fā)送下一個數(shù)據(jù)幀。在這種情況下,接收方的接收緩沖區(qū)的大小只要能夠存儲一個數(shù)據(jù)幀即可。顯然,用這樣的方法,收發(fā)雙方就能夠很好地同步,發(fā)送方發(fā)送數(shù)據(jù)的流量受接收方的控制。這里應(yīng)強(qiáng)調(diào)一下,由接收方控制發(fā)送方的數(shù)據(jù)流量,是計(jì)算機(jī)網(wǎng)絡(luò)中流量控制的一個基本方法。以上具有最簡單流量控制的數(shù)據(jù)鏈路層協(xié)議寫成算法如下。在發(fā)送結(jié)點(diǎn):

(1)從主機(jī)取一個數(shù)據(jù)幀。

(2)將數(shù)據(jù)幀送到數(shù)據(jù)鏈路層的發(fā)送緩沖區(qū)。

(3)將發(fā)送緩沖區(qū)中的數(shù)據(jù)幀發(fā)送出去。

(4)等待。

(5)若收到由接收結(jié)點(diǎn)發(fā)過來的確認(rèn)信息(此信息的格式和內(nèi)容由雙方事先商定好),則從主機(jī)取一個新的數(shù)據(jù)幀,然后轉(zhuǎn)到(2)。在接收結(jié)點(diǎn):

(1)等待。

(2)若收到由發(fā)送結(jié)點(diǎn)發(fā)過來的數(shù)據(jù)幀,則將其放入數(shù)據(jù)鏈路層的接收緩沖區(qū)。

(3)將接收緩沖區(qū)中的數(shù)據(jù)幀上交主機(jī)。

(4)向發(fā)送結(jié)點(diǎn)發(fā)一信息,表示數(shù)據(jù)幀已經(jīng)上交給主機(jī)。

(5)轉(zhuǎn)到(1)。圖3-2是前面所述的兩種情況的對比。圖3-2(a)是不需要任何協(xié)議的理想化情況。主機(jī)A將數(shù)據(jù)幀(圖中用DATA表示)連續(xù)發(fā)出,而不管發(fā)送速率有多快,接收方總能夠與之匹配,收到一幀即交付給主機(jī)B。顯然,這種完全理想化情況的傳輸效率是很高的。圖3-2(b)是由接收方控制發(fā)送方發(fā)送速率的情況。發(fā)送方每發(fā)完一幀就必須停下來,等待收方的信息。這里要指出,由于假定了數(shù)據(jù)在傳輸過程中不會出差錯,因此接收方將數(shù)據(jù)幀交給主機(jī)B后向發(fā)送方主機(jī)A發(fā)送的確認(rèn)信息中不需要有任何具體的內(nèi)容,即不需要說明所收到的數(shù)據(jù)是否正確無誤。這相當(dāng)于只要發(fā)回一個不需要裝入任何信件的空信封就能起到流量控制作用。圖3-2兩種情況的對比(a)不需要任何數(shù)據(jù)鏈路層協(xié)議的數(shù)據(jù)傳輸;(b)具有最簡單的流量控制的數(shù)據(jù)鏈路層協(xié)議3.2.3實(shí)用的停止等待協(xié)議有了上面的基本概念后,現(xiàn)在去掉前面的兩個假定,討論實(shí)用的數(shù)據(jù)鏈路層協(xié)議。這就是說,傳輸數(shù)據(jù)的信道不是可靠的(即不能保證所傳的數(shù)據(jù)不產(chǎn)生差錯),并且還需要對數(shù)據(jù)的發(fā)送端進(jìn)行流量控制。圖3-3(a)表示的是數(shù)據(jù)在傳輸過程中不出差錯的情況。接收方在收到一個正確的數(shù)據(jù)幀后,即交付給主機(jī)B,同時向主機(jī)A發(fā)送一個確認(rèn)幀ACK。當(dāng)主機(jī)A收到確認(rèn)幀ACK后才能發(fā)送一個新的數(shù)據(jù)幀。這樣就實(shí)現(xiàn)了接收方對發(fā)送方的流量控制?,F(xiàn)在假定數(shù)據(jù)幀在傳輸過程中出現(xiàn)了差錯。通過在數(shù)據(jù)幀中加上了循環(huán)冗余校驗(yàn)(CRC,CyclicRedundancyCheck),主機(jī)B很容易檢驗(yàn)出收到的數(shù)據(jù)幀是否有差錯(一般用硬件檢驗(yàn))。當(dāng)發(fā)現(xiàn)差錯時,主機(jī)B就向主機(jī)A發(fā)送一個否認(rèn)幀NAK,以表示主機(jī)A應(yīng)當(dāng)重發(fā)有差錯的那個數(shù)據(jù)幀。圖3-3(b)表示出了主機(jī)A重發(fā)數(shù)據(jù)幀的情形。如多次出現(xiàn)差錯,就要多次重發(fā)數(shù)據(jù)幀,直到收到主機(jī)B發(fā)來的確認(rèn)幀ACK為止。為此,在發(fā)送端必須暫時保存已發(fā)送過的數(shù)據(jù)幀的副本。當(dāng)通信線路質(zhì)量太差時,主機(jī)A在重發(fā)一定的次數(shù)后,就不再進(jìn)行重發(fā),而是將此情況向上一層報(bào)告。有時鏈路受干擾或其他原因,主機(jī)B收不到主機(jī)A發(fā)來的數(shù)據(jù)幀,這種情況稱為幀丟失,如圖3-3(c)所示。發(fā)生幀丟失時主機(jī)B當(dāng)然不會向主機(jī)A發(fā)送任何應(yīng)答幀。如果主機(jī)A要等收到主機(jī)B的應(yīng)答信息后再發(fā)送下一個數(shù)據(jù)幀,那么就將永遠(yuǎn)等待下去,這時就會出現(xiàn)死鎖現(xiàn)象。同理,若主機(jī)B發(fā)過來的應(yīng)答幀丟失,也會同樣出現(xiàn)這種死鎖現(xiàn)象。要解決死鎖問題,可在主機(jī)A發(fā)送完一個數(shù)據(jù)幀時,就啟動一個超時定時器。若到了超時定時器所設(shè)置的重發(fā)時間tout而仍收不到主機(jī)B的任何應(yīng)答幀,則主機(jī)A就重傳前面所發(fā)送的這一數(shù)據(jù)幀(見圖3-3(c),(d))。顯然,超時定時器設(shè)置的重發(fā)時間應(yīng)仔細(xì)選擇確定。若重發(fā)時間選得太短,則在正常情況下也會在對方的應(yīng)答信息回到發(fā)送方之前就過早地重發(fā)數(shù)據(jù);若重發(fā)時間選得太長,則往往要白白浪費(fèi)掉許多等待時間。一般可將重發(fā)時間選為略大于“從發(fā)完數(shù)據(jù)幀到收到應(yīng)答幀所需的平均時間”。圖3-3數(shù)據(jù)幀在鏈路上傳輸?shù)膸追N情況(a)正常情況;(b)數(shù)據(jù)幀出錯;(c)數(shù)據(jù)幀丟失;(d)應(yīng)答幀丟失然而問題并沒有完全解決。當(dāng)出現(xiàn)數(shù)據(jù)幀丟失時,超時重發(fā)的確是一個好辦法。但是若丟失的是應(yīng)答幀,則超時重發(fā)將使主機(jī)B收到兩個同樣的數(shù)據(jù)幀。由于主機(jī)B現(xiàn)在無法識別重復(fù)的數(shù)據(jù)幀,因而在主機(jī)B收到的數(shù)據(jù)中出現(xiàn)了另一種差錯——重復(fù)幀。重復(fù)幀也是一種不允許出現(xiàn)的差錯。要解決重復(fù)幀的問題,必須使每一個數(shù)據(jù)幀帶上不同的發(fā)送序號。每發(fā)送一個新的數(shù)據(jù)幀就把它的發(fā)送序號加1。若主機(jī)B收到發(fā)送序號相同的數(shù)據(jù)幀,就表明出現(xiàn)了重復(fù)幀。這時應(yīng)當(dāng)丟棄這個重復(fù)幀。但此時主機(jī)B還必須向主機(jī)A發(fā)送一個確認(rèn)幀ACK,因?yàn)橹鳈C(jī)B已經(jīng)知道主機(jī)A還沒有收到上一次發(fā)送的確認(rèn)幀ACK。任何一個編號系統(tǒng)的序號所占用的比特?cái)?shù)一定是有限的,經(jīng)過一段時間后,發(fā)送序號就會重復(fù)。例如,當(dāng)發(fā)送序號占用3個比特時,就可組成共有8個不同的發(fā)送序號,從000到111。當(dāng)數(shù)據(jù)幀的發(fā)送序號為111時,下一個發(fā)送序號就又是000。因此,要進(jìn)行編號就要考慮序號到底要占用多少個比特。序號占用的比特?cái)?shù)越少,數(shù)據(jù)傳輸?shù)念~外開銷就越小。對于停止等待協(xié)議,由于每發(fā)送一個數(shù)據(jù)幀就停止等待,因此用一個比特來編號就夠了。一個比特可以有0和1兩種不同的序號。這樣,數(shù)據(jù)幀中的發(fā)送序號(以后記為N(S),S表示發(fā)送)就以0和1交替的方式出現(xiàn)在數(shù)據(jù)幀中,每發(fā)一個新的數(shù)據(jù)幀,發(fā)送序號就和上次發(fā)送的不一樣。用這樣的方法就可以使接收方能夠區(qū)分開新的數(shù)據(jù)幀和重發(fā)的數(shù)據(jù)幀了。3.2.4停止等待協(xié)議的算法為了對上述停止等待協(xié)議有一個完整而準(zhǔn)確的理解,下面給出此協(xié)議的算法。在發(fā)送結(jié)點(diǎn):

(1)從主機(jī)取一個數(shù)據(jù)幀。

(2)?V(S)←0。 {發(fā)送狀態(tài)變量初始化}

(3)?N(S)←V(S);{將發(fā)送狀態(tài)變量的數(shù)值寫入發(fā)送序號}

將數(shù)據(jù)幀送交發(fā)送緩沖區(qū)。

(4)將發(fā)送緩沖區(qū)中的數(shù)據(jù)幀發(fā)送出去。

(5)啟動超時定時器。 {選擇適當(dāng)?shù)某瑫r重發(fā)時間t}

(6)等待。 {等待以下3個事件中最先出現(xiàn)的一個}

(7)若收到確認(rèn)幀ACK則:??從主機(jī)取一個新的數(shù)據(jù)幀;

V(S)←[1-V(S)];{更新發(fā)送狀態(tài)變量,變?yōu)橄乱粋€序號}

轉(zhuǎn)到(3)。

(8)若收到否認(rèn)幀NAK,則轉(zhuǎn)到(4)。 {重發(fā)數(shù)據(jù)幀}

(9)若超時定時器時間到,則轉(zhuǎn)到(4)。 {重發(fā)數(shù)據(jù)幀}在接收結(jié)點(diǎn):

(1)?V(R)←0。 {接收狀態(tài)變量初始化,其數(shù)值等于欲接收的數(shù)據(jù)幀的發(fā)送序號}

(2)等待。

(3)當(dāng)收到一個數(shù)據(jù)幀,就檢查有無傳輸差錯(如用CRC)。???若檢查結(jié)果正確無誤,則執(zhí)行后續(xù)算法;???否則轉(zhuǎn)到(8)。

(4)若N(S)=V(R),則執(zhí)行后續(xù)算法;{收到發(fā)送序號正確的數(shù)據(jù)幀}

否則丟棄此數(shù)據(jù)幀,然后轉(zhuǎn)到(7)。

(5)將收到的數(shù)據(jù)幀中的數(shù)據(jù)部分送交主機(jī)。

(6)?V(R)←[1-V(R)]。 {更新接收狀態(tài)變量,準(zhǔn)備接收下一個數(shù)據(jù)幀}

(7)發(fā)送確認(rèn)幀ACK,并轉(zhuǎn)到(2)。

(8)發(fā)送否認(rèn)幀NAK,并轉(zhuǎn)到(2)。從以上算法可知,停止等待協(xié)議中需要特別注意的地方,就是在收發(fā)兩端各設(shè)置一個本地狀態(tài)變量(僅占1個比特)。對于狀態(tài)變量需要注意以下幾點(diǎn):

(1)每發(fā)送一個數(shù)據(jù)幀,都必須將發(fā)送狀態(tài)變量V(S)的值(0或1)寫到數(shù)據(jù)幀的發(fā)送序號N(S)上。但只有收到一個確認(rèn)幀ACK后,才更新發(fā)送狀態(tài)變量V(S)一次(將1變成0或0變成1)并發(fā)送新的數(shù)據(jù)幀。

(2)在接收端,每接收到一個數(shù)據(jù)幀,就要將發(fā)送方在數(shù)據(jù)幀上設(shè)置的發(fā)送序號N(S)與本地的接收狀態(tài)變量V(R)相比較。若二者相等就表明是新的數(shù)據(jù)幀,否則為重復(fù)幀。

(3)在接收端,若收到一個重復(fù)幀,則丟棄之(即不做任何處理),且接收狀態(tài)變量不變,但此時仍須向發(fā)送端發(fā)送一個確認(rèn)幀ACK。還應(yīng)注意,發(fā)送端在發(fā)送完數(shù)據(jù)幀時,必須在其發(fā)送緩沖區(qū)中保留此數(shù)據(jù)幀的副本。這樣才能在出差錯時進(jìn)行重發(fā)。只有在收到對方發(fā)來的確認(rèn)幀ACK時,方可清除此副本。由于發(fā)送端對出錯的數(shù)據(jù)幀進(jìn)行重發(fā)是自動進(jìn)行的,所以這種差錯控制策略通常稱為自動重發(fā)請求(ARQ,AutomaticRepeatreQuest)。3.2.5停止等待協(xié)議的定量分析對停止等待協(xié)議的定量分析仍采用圖3-l所示的半雙工通信模型,圖3-4表示了停止等待協(xié)議中幀的發(fā)送時序。設(shè)結(jié)點(diǎn)A向結(jié)點(diǎn)B發(fā)送數(shù)據(jù)幀,結(jié)點(diǎn)B只發(fā)送應(yīng)答信息而不發(fā)送數(shù)據(jù)幀。全雙工通信的定量分析要稍復(fù)雜些,這里從略。圖3-4停止等待協(xié)議中數(shù)據(jù)幀和應(yīng)答幀的時序3.3連續(xù)ARQ協(xié)議3.3.1連續(xù)ARQ協(xié)議的工作原理連續(xù)ARQ協(xié)議的主要思想是:在發(fā)送完一個數(shù)據(jù)幀后,不是停下來等待應(yīng)答幀,而是連續(xù)再發(fā)送若干個數(shù)據(jù)幀。如果這時收到了接收端發(fā)來的確認(rèn)幀,那么還可以接著發(fā)送數(shù)據(jù)幀。由于減少了等待時間,整個通信的吞吐量得到了提高。圖3-5是連續(xù)ARQ協(xié)議的工作原理圖,結(jié)點(diǎn)A(發(fā)送方)向結(jié)點(diǎn)B(接收方)發(fā)送數(shù)據(jù)幀。當(dāng)結(jié)點(diǎn)A發(fā)送0號幀后,不是停止等待,而是繼續(xù)發(fā)送后續(xù)的1號幀、2號幀等。由于連續(xù)發(fā)送了許多幀,所以應(yīng)答幀不僅要說明是對哪一幀進(jìn)行確認(rèn)或否認(rèn),而且應(yīng)答幀本身也必須編號。結(jié)點(diǎn)B正確地收到了0號幀和1號幀,并送交其主機(jī)?,F(xiàn)在假設(shè)2號幀出了差錯,于是結(jié)點(diǎn)B就將有差錯的2號幀丟棄。結(jié)點(diǎn)B運(yùn)行的協(xié)議可以有兩種選擇:一種是在出現(xiàn)差錯時就向結(jié)點(diǎn)A發(fā)送否認(rèn)幀;另一種則是在出現(xiàn)差錯時不做任何響應(yīng)。現(xiàn)在假定采用后一種協(xié)議,這種協(xié)議比較簡單,使用得較多。圖3-5連續(xù)ARQ協(xié)議的工作原理這里要注意兩點(diǎn):

(1)接收方只按序接收數(shù)據(jù)幀。雖然在有差錯的2號幀之后接著又收到了正確的3個數(shù)據(jù)幀,但都必須將它們丟棄,因?yàn)檫@些幀的發(fā)送序號都不是所需的2號。

(2)結(jié)點(diǎn)A在每發(fā)送完一個數(shù)據(jù)幀時都要啟動超時定時器。只要超過所設(shè)置的超時時間tout而仍未收到確認(rèn)幀,就要重發(fā)相應(yīng)的數(shù)據(jù)幀。在等不到2號幀的確認(rèn)而重發(fā)2號數(shù)據(jù)幀時,雖然結(jié)點(diǎn)A已經(jīng)發(fā)完了5號幀,但仍必須向回走,將2號幀及后續(xù)各幀全部進(jìn)行重傳。不難看出,連續(xù)ARQ協(xié)議一方面因連續(xù)發(fā)送數(shù)據(jù)幀而提高了效率,但另一方面,在重傳時又必須把原來已正確傳送過的數(shù)據(jù)幀進(jìn)行重傳(僅僅是因?yàn)檫@些數(shù)據(jù)幀之前有一個數(shù)據(jù)幀出錯),這種做法又使傳送效率降低。由此可見,若傳輸信道的質(zhì)量很差而導(dǎo)致誤碼率較大時,連續(xù)ARQ協(xié)議不一定優(yōu)于停止等待協(xié)議。如果2號數(shù)據(jù)幀不出現(xiàn)差錯,而是徹底丟失了,那么情況也是類似的,讀者可自行分析。下面是幾個簡單的例子。

[例1]若數(shù)據(jù)幀的差錯率p=0.01,而參數(shù)=4,則對于停止等待協(xié)議,ρ≤0.99/4,但對于連續(xù)ARQ協(xié)議,ρ≤0.96。故即使在數(shù)據(jù)幀的差錯率高達(dá)0.01時,連續(xù)ARQ協(xié)議的效率也比停止等待協(xié)議的高。

[例2]考慮在一個廣域網(wǎng)上傳送數(shù)據(jù)。設(shè)數(shù)據(jù)幀長為1200?bit,線路傳輸速率為9.6?kb/s。于是求得數(shù)據(jù)幀的發(fā)送時間tf=125?ms。設(shè)鏈路長度為160?km。若傳播時延為1?ms,則顯然遠(yuǎn)小于數(shù)據(jù)幀的發(fā)送時間。若確認(rèn)幀的發(fā)送時間和結(jié)點(diǎn)對數(shù)據(jù)幀和確認(rèn)幀的處理時間都遠(yuǎn)小于125?ms,則tout也應(yīng)遠(yuǎn)小于tf。這時,停止等待協(xié)議與連續(xù)ARQ協(xié)議沒有多少區(qū)別。3.3.3滑動窗口技術(shù)在使用連續(xù)ARQ協(xié)議時,如果發(fā)送方一直沒有收到接收方的確認(rèn)信息,那么實(shí)際上發(fā)送方并不能無限制地發(fā)送其數(shù)據(jù)幀,這是因?yàn)椋?/p>

(1)當(dāng)未被確認(rèn)的數(shù)據(jù)幀的數(shù)目太多時,只要有一幀出了差錯,就可能有很多的數(shù)據(jù)幀需要重傳,這必然就要白白浪費(fèi)較多時間,因而增大開銷。

(2)為了對所發(fā)送出去的大量數(shù)據(jù)幀進(jìn)行編號,每個數(shù)據(jù)幀的發(fā)送序號也要占用較多的比特?cái)?shù),這樣又增加了一些不必要的開銷。因此,在連續(xù)ARQ協(xié)議中,通過滑動窗口方法將已發(fā)送出去但未被確認(rèn)的數(shù)據(jù)幀的數(shù)目加以限制。在停止等待協(xié)議中,無論發(fā)送多少幀,只需一個比特來編號就足夠了,發(fā)送序號循環(huán)使用0和1這兩個序號。對于連續(xù)ARQ協(xié)議,也采用同樣原理,即循環(huán)重復(fù)使用已收到確認(rèn)的那些幀的序號。這時只需要在控制信息中用有限的幾個比特來編號就夠了。當(dāng)然還要加入適當(dāng)?shù)目刂茩C(jī)制才行,這就是要在發(fā)送方和接收方分別設(shè)置所謂的發(fā)送窗口和接收窗口。圖3-6發(fā)送窗口控制發(fā)送方的發(fā)送速率工作原理(a)允許發(fā)送0號至4號幀;(b)允許發(fā)送1號至5號幀;(c)允許發(fā)送4號至0號幀圖3-6(a)說明了剛開始發(fā)送時的情況。此時在帶有陰影的發(fā)送窗口內(nèi)(即在窗口前沿和后沿之間)共有5個序號,從0到4。具有在發(fā)送窗口內(nèi)的序號的數(shù)據(jù)幀就是發(fā)送方現(xiàn)在可以發(fā)送的幀。若發(fā)送方發(fā)送完這5個幀(從0號幀到4號幀),但仍未收到確認(rèn)信息,則由于發(fā)送窗口已填滿,就必須停止發(fā)送而進(jìn)入等待狀態(tài)。當(dāng)收到0號幀的確認(rèn)信息后,發(fā)送窗口就可以向前移動1個序號。圖3-6(b)表明現(xiàn)在5號幀已落入到發(fā)送窗口內(nèi),因此發(fā)送方現(xiàn)在就可以發(fā)送5號幀。假設(shè)后來又有3個幀(1至3號幀)的確認(rèn)幀陸續(xù)到達(dá)發(fā)送方。則發(fā)送窗口又可再向前移動3個序號(如圖3-6(c)所示),而發(fā)送方可繼續(xù)發(fā)送的數(shù)據(jù)幀的序號是6號、7號和0號。為了減少開銷,連續(xù)ARQ協(xié)議還規(guī)定接收方不一定每收到一個正確的數(shù)據(jù)幀就必須發(fā)回一個確認(rèn)幀,而是可以在連續(xù)收到幾個正確的數(shù)據(jù)幀以后,才對最后一個數(shù)據(jù)幀發(fā)確認(rèn)信息。這就是說,對某一數(shù)據(jù)幀的確認(rèn)就表明該數(shù)據(jù)幀和這以前所有的數(shù)據(jù)幀均已正確無誤地收到。這樣做可以使接收方少發(fā)一些確認(rèn)幀,因而減少了開銷。同理,在接收方設(shè)置接收窗口是為了控制應(yīng)接收哪些數(shù)據(jù)幀而不應(yīng)該接收哪些數(shù)據(jù)幀。在接收方只有當(dāng)收到數(shù)據(jù)幀的發(fā)送序號落入接收窗口內(nèi)才允許將該數(shù)據(jù)幀收下。若接收到的數(shù)據(jù)幀落在接收窗口之外,則一律將其丟棄。在連續(xù)ARQ協(xié)議中,接收窗口的大小WR=1。圖3-7(a)表明一開始接收窗口處于0號幀處,接收方準(zhǔn)備接收0號幀。一旦收到0號幀,接收窗口即向前移動一個序號(如圖3-7(b)所示),準(zhǔn)備接收1號幀,同時向發(fā)送方發(fā)送對0號幀的確認(rèn)信息。圖3-7接收窗口的工作原理(a)準(zhǔn)備接收0號幀;(b)準(zhǔn)備接收1號幀;(c)準(zhǔn)備接收4號幀當(dāng)陸續(xù)收到1號至3號幀時,接收窗口的位置應(yīng)如圖3-7(c)所示。不難看出,只有在接收窗口向前移動時,發(fā)送窗口才有可能向前移動。正因?yàn)槭瞻l(fā)雙方的窗口按照以上規(guī)律不斷地向前滑動,因此這種協(xié)議被稱為滑動窗口協(xié)議。當(dāng)發(fā)送窗口和接收窗口的大小都等于1時,就是前面討論的停止等待協(xié)議。進(jìn)一步討論,當(dāng)數(shù)據(jù)幀的發(fā)送序號所占用的比特?cái)?shù)一定時,發(fā)送窗口的最大值是多少。表面上看,如果用3個比特編出8個不同序號,發(fā)送窗口的最大值似乎應(yīng)該是8。但實(shí)際上,在某些情況下無法工作。下面說明這一點(diǎn)。假設(shè)發(fā)送窗口WT=8。設(shè)發(fā)送方發(fā)送完0~7共8個數(shù)據(jù)幀,因發(fā)送窗口已滿,發(fā)送暫停。假定這8個數(shù)據(jù)幀均已正確到達(dá)接收方,并對每一個數(shù)據(jù)幀,接收方都發(fā)送了確認(rèn)幀。這時考慮兩種不同的情況。第一種情況:所有的確認(rèn)幀都正確到達(dá)了發(fā)送方,因而發(fā)送方接著又發(fā)送8個新的數(shù)據(jù)幀,其編號應(yīng)該是0~7。第二種情況:所有的確認(rèn)幀都丟失了,經(jīng)過一段時間后,發(fā)送方重發(fā)這8個舊的數(shù)據(jù)幀,其編號仍為0~7。顯然,接收方第二次收到編號為0~7的8個數(shù)據(jù)幀時,它無法判定這8個幀是新的數(shù)據(jù)幀還是重發(fā)的數(shù)據(jù)幀。因此,將發(fā)送窗口設(shè)置為8肯定不行。3.4面向比特的鏈路控制規(guī)程HDLC3.4.1HDLC協(xié)議的產(chǎn)生在計(jì)算機(jī)通信初期,ARPANET網(wǎng)使用了一種基于IMP-IMP協(xié)議的數(shù)據(jù)鏈路控制規(guī)程,使得經(jīng)常誤碼的鏈路變得比較可靠,后來IBM也制定了它的數(shù)據(jù)鏈路控制規(guī)程BSC。早期的數(shù)據(jù)鏈路控制規(guī)程都是面向字符的。所謂面向字符,就是說在鏈路上所傳送的數(shù)據(jù)必須是由規(guī)定的字符集(如ASCII碼)中的字符組成。但隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,面向字符的鏈路控制規(guī)程逐漸暴露出其弱點(diǎn),主要有:

(1)通信線路利用率低,因?yàn)樗捎玫氖峭V沟却齾f(xié)議,收發(fā)雙方交替工作。

(2)要求所有的通信設(shè)備必須使用相同的字符集,不同的字符集相互不兼容。

(3)只能對數(shù)據(jù)部分進(jìn)行差錯控制,控制部分的差錯無法控制,因此可靠性較差。

(4)不易擴(kuò)展,每增加一種功能就需要設(shè)定新的控制字符。

IBM在它的SNA體系結(jié)構(gòu)中首先使用了面向比特的同步鏈路控制規(guī)程(SDLC,SynchronousDataLinkControl),以后此規(guī)程被ISO定義為高級數(shù)據(jù)鏈路控制規(guī)程(HDLC,HighDateLinkControl)作為國際標(biāo)準(zhǔn)。

HDLC是一個在同步網(wǎng)上傳輸數(shù)據(jù)、面向位流的數(shù)據(jù)鏈路層協(xié)議,它傳輸?shù)臄?shù)據(jù)以二進(jìn)制數(shù)據(jù)組成,不存在任何特殊的控制代碼,但幀中的信息包含了控制和響應(yīng)命令。支持全雙工傳輸,具有較高的吞吐率。HDLC適合于點(diǎn)對點(diǎn)和多點(diǎn)(多路播送或一對多)連接。HDLC的子集被用來向X.25、ISDN和幀中繼網(wǎng)提供信令和控制數(shù)據(jù)鏈路。3.4.2HDLC的幀結(jié)構(gòu)數(shù)據(jù)鏈路層的數(shù)據(jù)傳送以幀為單位,每個在鏈路層上傳輸?shù)膸哂泄潭ǖ母袷健碜跃W(wǎng)絡(luò)層的分組在鏈路上被分割成一個個數(shù)據(jù)幀。圖3-8是HDLC的幀格式,其中真正要傳送的數(shù)據(jù)部分,其長度是不固定的,在數(shù)據(jù)的前部和后部各加上24?bit的控制信息,共同構(gòu)成了一個完整的幀。圖3-8HDLC的幀結(jié)構(gòu)如同物理層要解決比特同步一樣,數(shù)據(jù)鏈路層同樣要有幀的同步問題。幀的同步就是從收到的比特流中要正確無誤地判斷出一個幀從哪個比特開始以及到哪個比特結(jié)束。為此,HDLC規(guī)定:在一個幀開始的第一個字節(jié)和幀結(jié)尾的最后一個字節(jié)各設(shè)置一個特殊的標(biāo)志作為同步,這個標(biāo)志就是標(biāo)志字段F(Flag)。幀的F字段(01111110)起標(biāo)記一個幀的邊界的作用。在接收方,只要找到標(biāo)志字段,就很容易確定一個幀在比特流中的位置,這就是所謂的幀同步。有時在兩個標(biāo)志字段之間的比特流中,碰巧出現(xiàn)了與標(biāo)志字段F一樣的比特組合,這時會誤認(rèn)為是幀的邊界。為了避免這種錯誤出現(xiàn),HDLC采用一種“零比特填充法”使得在兩個F字段之間決不會出現(xiàn)6個連續(xù)1。所謂零比特填充法,就是:在發(fā)送方,當(dāng)一串比特流尚未加上標(biāo)志字段前,先用硬件掃描整個幀(用軟件也能實(shí)現(xiàn),但要慢些),只要發(fā)現(xiàn)有5個連續(xù)1,則立即填入一個0。經(jīng)過這種零比特填充后的數(shù)據(jù),可以保證不會出現(xiàn)6個連續(xù)1。在接收方,先找到F字段以確定幀的邊界,接著再用硬件對其中的比特流進(jìn)行掃描。每當(dāng)發(fā)現(xiàn)5個連續(xù)1時,就將緊跟這5個連續(xù)1后的一個0刪除,以還原成原來的比特流,見圖3-9所示。圖3-9零比特填充法的原理這樣就保證了在所傳送的比特流中,不管出現(xiàn)什么樣的比特組合,不至于引起幀邊界的判斷錯誤。采用零比特填充法實(shí)現(xiàn)了任意組合比特流的傳輸,這就是所謂的實(shí)現(xiàn)鏈路層的透明傳輸。如果數(shù)據(jù)幀是連續(xù)傳輸,那么前一個幀的結(jié)束標(biāo)志F可以兼作后一個幀的起始標(biāo)志。當(dāng)暫時沒有信息傳送時,可以連續(xù)發(fā)送標(biāo)志字段,使接收方始終與發(fā)送方保持同步。

HDLC的幀地址用8?bit表示,若地址是全1,則代表是廣播地址,而地址是全0,則代表是無效地址。因此有限地址共有254個,這對一般的多點(diǎn)鏈路已足夠。圖3-10控制字段的結(jié)構(gòu)

1.?dāng)?shù)據(jù)幀若控制字段的第1比特為0,則該幀為數(shù)據(jù)幀。比特2~4為發(fā)送序號N(S),而比特6~8為接收序號N(R)。N(S)表示當(dāng)前發(fā)送的數(shù)據(jù)幀的序號,而N(R)表示一個站所期望收到的幀的發(fā)送序號(注意:這個發(fā)送序號是由對方填入的)。由于是全雙工通信,所以通信的每一方都各有一個N(S)和N(R),而通信的雙方總共有兩個N(S)和兩個N(R)。因此,當(dāng)討論N(S)和N(R)時,一定要弄清這是發(fā)送方還是接收方填入的序號。這里要強(qiáng)調(diào)指出,N(R)帶有確認(rèn)的意思。它表示序號為[N(R)-1](mod8)的幀以及在這以前的各幀都已正確無誤地接收了。為了保證HDLC協(xié)議的正常工作,在全雙工通信的收發(fā)雙方都需要各設(shè)置兩個狀態(tài)變量V(S)和V(R),由這兩個狀態(tài)變量的值確定發(fā)送序號N(S)和接收序號N(R)的值。在采用連續(xù)ARQ協(xié)議時,每從主機(jī)取一幀新的數(shù)據(jù)就要將當(dāng)前的V(S)和V(R)的值分別寫入控制字段中的N(S)和N(R)。將幀發(fā)送完后,即將幀加1(mod8)。每當(dāng)需要向后退N個幀進(jìn)行重發(fā)時,只需要在緩存隊(duì)列中依次取出這些已發(fā)送過的舊幀,并將其發(fā)送出去即可。這時,發(fā)送序號N(S)仍為原序號,與當(dāng)前的狀態(tài)變量V(S)無關(guān)。但是,在重發(fā)舊幀時,其接收序號N(R)必須更新到與接收狀態(tài)變量V(R)的當(dāng)前值一致。這是因?yàn)槊渴盏揭粋€無差錯的數(shù)據(jù)幀,接收狀態(tài)變量的值要隨之加1(mod8)。因此,在重發(fā)舊的信息幀時,接收狀態(tài)變量V(R)的值可能已經(jīng)發(fā)生了變化。控制字段中的發(fā)送序號N(S)和接收序號N(R)與收發(fā)雙方的發(fā)送狀態(tài)變量V(S)和接收狀態(tài)變量V(R)之間的關(guān)系比較復(fù)雜,應(yīng)務(wù)必弄懂。

2.監(jiān)督幀若控制字段的第1~2比特為10,則對應(yīng)的幀即為監(jiān)督幀S。監(jiān)督幀共有四種,取決于第3~4比特的取值。表3-1是這四種監(jiān)督幀的名稱和功能。上述四種監(jiān)督幀中,前三種用在連續(xù)ARQ協(xié)議中,而最后一種用于選擇重傳ARQ協(xié)議中(較少使用)。所有的監(jiān)督幀都不包含要傳送的數(shù)據(jù)信息,因此它只有48?bit長。顯然,監(jiān)督幀不需要有發(fā)送序號N(S)。但監(jiān)督幀中的接收序號N(R)卻是至關(guān)重要的。在前兩種監(jiān)督幀中的N(R)都具有同樣的含義,因此這兩種監(jiān)督幀都相當(dāng)于以前提到過的確認(rèn)幀ACK。REJ則相當(dāng)于以前提到過的否認(rèn)幀NAK,而在REJ幀中的N(R)表示所否認(rèn)的幀號。不過這種否認(rèn)幀還帶有某種確認(rèn)信息,即確認(rèn)序號為N(R)-1及其以前的各幀均已正確收到。還應(yīng)當(dāng)注意到,RR幀和RNR幀還具有流量控制的作用。RR幀表示已做好接收幀的準(zhǔn)備,希望對方繼續(xù)發(fā)送,而RNR幀則表示希望對方停止發(fā)送(這可能是由于來不及處理到達(dá)的幀,或緩沖區(qū)已存滿)。監(jiān)督幀的第5比特也是P/F比特。若P/F值為0,則P/F比特并沒有任何意義。只有當(dāng)P/F比特的值為1時才有意義。但需要注意:在不同的數(shù)據(jù)傳送方式中,P/F比特的用法是不一樣的。

3.無編號幀若控制字段的第1~2比特都是1時,這個幀就是無編號幀U,無編號幀本身不帶編號,即無N(S)和N(R)字段,而是用5?bit(圖3-10中標(biāo)有M的第3、4、6、7、8位)來表示不同功能的無編號幀的。它共有32個不同組合,但實(shí)際上只使用其中五種無編號幀。無編號幀主要起控制作用,可在需要時隨時發(fā)出。3.5Internet中的數(shù)據(jù)鏈路控制協(xié)議PPP

Internet有兩種接入方法:一種是用電話線撥號接入Internet,另一種是用專線接入。用戶通過撥號(或?qū)>€)接入Internet服務(wù)提供者ISP,ISP再通過路由器與Internet相連。用戶在某一個ISP注冊后,被分配一個IP地址,從而就可以像Internet上的主機(jī)一樣使用網(wǎng)上所提供的各種服務(wù)了。不管是撥號接入還是專線接入,在用戶與ISP之間都需要有數(shù)據(jù)鏈路層協(xié)議,使用最為廣泛的是SLIP和PPP兩種協(xié)議。3.5.1串行線路網(wǎng)際協(xié)議(SLIP)串行線路網(wǎng)際協(xié)議(SLIP,SerialLineInternetProtocol)是一個面向字符的鏈路控制協(xié)議。它規(guī)定(見圖3-11):

(1)在每一個IP數(shù)據(jù)報(bào)的首部和尾部各加上一個特殊的標(biāo)志字節(jié)END,封裝成為SLIP幀。標(biāo)識字節(jié)END的編碼為(0xC0),這里的0x代表十六進(jìn)制。

(2)如果在IP數(shù)據(jù)報(bào)中的某一個字節(jié)恰好與標(biāo)識字節(jié)END的編碼一樣,那么就要將這一個字節(jié)更換成(0xDB,0xDC)這樣的2字節(jié)序列。這里的特殊字符(0xDB)稱為SLIP轉(zhuǎn)義字符,它不同于ASCII碼的轉(zhuǎn)義字符ESC(0x1B)。

(3)如果在IP數(shù)據(jù)報(bào)中的某一個字節(jié)恰好與SLIP轉(zhuǎn)義字符(0xDB)一樣,則將它更換成(0xDB,0xDD)的2字節(jié)序列。圖3-11SLIP封裝

SLIP協(xié)議有很多缺點(diǎn):

(1)沒有差錯檢測的功能。如果一個SLIP幀在傳輸中出了差錯,就只能依靠高層進(jìn)行糾正。

(2)通信的每一方必須事先知道對方的IP地址。這對撥號入網(wǎng)的用戶是很不方便的。

(3)?SLIP僅支持IP,而不支持其他的協(xié)議。

(4)SLIP并未成為Internet的標(biāo)準(zhǔn)協(xié)議。因此目前存在著多種互不兼容的版本,影響了網(wǎng)絡(luò)的互連。

SLIP主要用于低速(不超過19.2?kb/s)交互性業(yè)務(wù)。為了提高數(shù)據(jù)傳輸?shù)男剩痔岢隽艘环NCSLIP(壓縮SLIP)協(xié)議。它可將40字節(jié)的額外開銷(即20字節(jié)的TCP首部和20字節(jié)的IP首部)壓縮到3或5個字節(jié)。3.5.2點(diǎn)對點(diǎn)協(xié)議(PPP)為改進(jìn)SLIP的缺點(diǎn),制定了點(diǎn)對點(diǎn)協(xié)議(PPP,Point-to-PointProtocol),它有三個組成部分:

(1)封裝IP數(shù)據(jù)報(bào)的串行鏈路。PPP既支持無奇偶校驗(yàn)的8比特?cái)?shù)據(jù)異步鏈路,也支持面向比特流的同步鏈路。

(2)建立、配置和測試數(shù)據(jù)鏈路連接的鏈路控制協(xié)議(LCP,LinkControlProtocol)。

(3)網(wǎng)絡(luò)控制協(xié)議(NCP,NetworkControlProtocol)。它支持不同的網(wǎng)絡(luò)層協(xié)議,如IP、DECnet以及AppleTalk等。

PPP的幀格式與HDLC很相似(見圖3-12)??梢钥闯觯琍PP幀的前3個字段和最后兩個字段與HDLC的格式一樣。標(biāo)志字段F仍為0x7E,但地址字段A和控制字段C都是固定不變的,分別為0xFF和0x03。PPP不是面向比特的,因而所有的PPP幀的長度都是整數(shù)個字節(jié)。圖3-12PPP的幀格式與HDLC不同的是:PPP多了一個2字節(jié)的協(xié)議字段。當(dāng)協(xié)議字段為0x0021時,信息字段就是IP數(shù)據(jù)報(bào)。若為0xC021,則信息字段是鏈路控制數(shù)據(jù),而0x8021表示這是網(wǎng)絡(luò)控制數(shù)據(jù)。當(dāng)信息字段中出現(xiàn)和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論