03-zgb-數(shù)據(jù)鏈路層ppt課件_第1頁
03-zgb-數(shù)據(jù)鏈路層ppt課件_第2頁
03-zgb-數(shù)據(jù)鏈路層ppt課件_第3頁
03-zgb-數(shù)據(jù)鏈路層ppt課件_第4頁
03-zgb-數(shù)據(jù)鏈路層ppt課件_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、高級網(wǎng)絡(luò)通訊原理 浙江工商大學(xué) 信電學(xué)院第 3 章 數(shù)據(jù)鏈路層第 3 章 數(shù)據(jù)鏈路層*3.1 數(shù)據(jù)鏈路層的根本概念*3.2 停頓等待協(xié)議3.2.1 完全理想化的數(shù)據(jù)傳輸3.2.2 具有最簡單流量控制的數(shù)據(jù)鏈路層協(xié)議3.2.3 適用的停頓等待協(xié)議3.2.4 循環(huán)冗余檢驗的原理3.2.5 停頓等待協(xié)議的算法3.2.6 停頓等待協(xié)議的定量分析第 3 章 數(shù)據(jù)鏈路層續(xù)*3.3 延續(xù) ARQ 協(xié)議3.3.1 延續(xù) ARQ 協(xié)議的任務(wù)原理3.3.2 延續(xù) ARQ 協(xié)議的吞吐量3.3.3 滑動窗口的概念3.3.4 信道利用率與最正確幀長3.4 選擇重傳 ARQ 協(xié)議第 3 章 數(shù)據(jù)鏈路層續(xù)*3.5 面向比特

2、的鏈路層協(xié)議 HDLC3.5.1 HDLC 協(xié)議概述3.5.2 HDLC 的幀構(gòu)造*3.6 因特網(wǎng)的點對點協(xié)議 PPP 3.6.1 PPP 協(xié)議的任務(wù)原理 3.6.2 PPP 協(xié)議的幀格式 3.6.3 PPP 協(xié)議的任務(wù)形狀3.1 數(shù)據(jù)鏈路層的根本概念 鏈路(link)是一條無源的點到點的物理線路段,中間沒有任何其他的交換結(jié)點。一條鏈路只是一條通路的一個組成部分。數(shù)據(jù)鏈路(data link) 除了物理線路外,還必需有通訊協(xié)議來控制這些數(shù)據(jù)的傳輸。假設(shè)把實現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路。如今最常用的方法是運用適配器即網(wǎng)卡來實現(xiàn)這些協(xié)議的硬件和軟件。普通的適配器都包括了數(shù)據(jù)鏈

3、路層和物理層這兩層的功能。 數(shù)據(jù)鏈路層像個數(shù)字管道 經(jīng)常在兩個對等的數(shù)據(jù)鏈路層之間畫出一個數(shù)字管道,而在這條數(shù)字管道上傳輸?shù)臄?shù)據(jù)單位是幀。早期的數(shù)據(jù)通訊協(xié)議曾叫作通訊規(guī)程(procedure)。因此在數(shù)據(jù)鏈路層,規(guī)程和協(xié)議是同義語。 結(jié)點結(jié)點幀幀數(shù)據(jù)鏈路層的主要功能(1) 鏈路管理 (2) 幀定界 (3) 流量控制(4) 過失控制 (5) 將數(shù)據(jù)和控制信息區(qū)分開 (6) 透明傳輸 (7) 尋址 數(shù)據(jù)鏈路層所提供的效力數(shù)據(jù)鏈路層可以提供多種不同類型的效力,實踐提供的效力因系統(tǒng)不同而不同,但根本上有三種: 無確認(rèn)、無銜接效力; 有確認(rèn)、無銜接效力; 面向銜接效力。 數(shù)據(jù)鏈路層所提供的效力無確認(rèn)、無

4、銜接效力指的是源機器向目的地機器發(fā)出獨立的幀,而目的地機器對收到的幀不作確認(rèn)。事先不用建立銜接,因此也不存在事后的釋放。假設(shè)某個幀由于線路噪聲而喪失,數(shù)據(jù)鏈路層并不預(yù)備恢復(fù)它,恢復(fù)任務(wù)留給上層去完成。這類效力適用于誤碼率很低的情況。這類效力也適用于語音這樣的實時信息源,這類信息流由時延引起的不良后果比數(shù)據(jù)損壞嚴(yán)重。許多局域網(wǎng)在數(shù)據(jù)鏈路層都提供無確認(rèn)、無銜接效力。為了提高可靠性,引入了有確認(rèn)、無銜接效力。這種效力依然不需求建立銜接,但是對一個被發(fā)出去的幀要進展單獨確認(rèn)。用這種方式,發(fā)送方就可以知道一幀能否已平安到達目的地。假設(shè)在指定的時間一幀未能到達目的地,那么可以重傳誤幀。數(shù)據(jù)鏈路層所提供的效

5、力數(shù)據(jù)鏈路層為網(wǎng)絡(luò)層提供的最復(fù)雜的效力是面向銜接的效力。采用這種效力,源機器和目的地機器在傳送任何數(shù)據(jù)之前,必需先建立一條銜接。在這種銜接上傳送的每一個幀被編上號,數(shù)據(jù)鏈路層保證傳送的幀被對方收到,且只收到一次,幀的先后順序也不變。但采用無銜接方式,假設(shè)確認(rèn)信息喪失,將會引起一幀被多次發(fā)送,因此被多次接納。數(shù)據(jù)鏈路層的面向銜接的效力為網(wǎng)絡(luò)層協(xié)議實體之間的交互提供了可靠傳送比特流的效力。 異步傳輸和同步傳輸 比特的傳送和接納是經(jīng)過采用定時時鐘來完成的。發(fā)送計算機利用它的時鐘來決議每個比特的起始和終了。在接納計算機那里,時鐘被用來確定對信號進展采樣取值的位置和間隔時間。普通情況下,使兩個獨立的時鐘

6、準(zhǔn)確同步是不太能夠的,它們都產(chǎn)生本人的漂移,引起兩個延續(xù)采樣之間的間隔比所希望的變長了或變短了。例如,對于一種產(chǎn)生100bps的數(shù)據(jù)流,應(yīng)該每隔0.01秒有一個時鐘信號;但由于時鐘的漂移,偏向范圍從0.01-到0.01+,的大小取決于時鐘的產(chǎn)生方法 。異步傳輸和同步傳輸 異步傳輸和同步傳輸時鐘漂移會引起接納方在確定一個比特的起始和終了位置時發(fā)生錯誤。由于接納時鐘與發(fā)送時鐘的差別,接納方能夠?qū)Υ?位的信號采樣兩次,從而多產(chǎn)生一個比特,也能夠跳過一位。例如圖3-2所示,傳送0010這樣一串比特,由于時鐘漂移,結(jié)果被接納方錯誤地以為是00110或010。處理上述同步問題的方法有兩種。第一種稱為異步

7、法,發(fā)送方和接納方獨立地產(chǎn)生時鐘,但定期地進展同步。第二種方法稱為同步法,接納端時鐘完全由發(fā)送方時鐘控制,也就是說,接納方時鐘與發(fā)送方時鐘是嚴(yán)厲同步的。 異步傳輸異步傳輸是基于這樣的現(xiàn)實:在一定的比特數(shù)目內(nèi),時鐘漂移的程度是有限的。它讓接納方在某一個時間點上跟一個發(fā)送方時鐘信號同步,并由此開場本人獨立的時鐘信號序列。由于偏移相對于一個比特時間來說是比較小的,接納方可以在偏移積累到采樣發(fā)生錯誤之前正確地接納假設(shè)干個比特。 在異步傳輸中,數(shù)據(jù)以字符為單元發(fā)送;每個字符的長度根據(jù)所運用的編碼方案可以是5到8個比特。作為例子,常用的ASCII編碼每個字符7個比特;另一種在一切的IBM機器個人計算機除外

8、上采用的EBCDIC擴展的二進制編碼的十進制交換碼編碼是每個字符8個比特。值得留意的是,定時或同步僅僅在每個字符的范圍內(nèi)維持著,接納方在每個新字符的開頭都被提供時機重新進展同步。 異步傳輸 異步傳輸如圖3-3所示,當(dāng)沒有字符發(fā)送時,在發(fā)送方和接納方之間的線路處于空閑形狀??臻e的定義等效于二進制1的信令元素。因此,對于NRZ-L信令,空閑表示在線路上存在著負(fù)電壓,也稱標(biāo)志mark形狀。每個異步字符以1個開啟位起始,該位的信號電壓等同于二進制0的值,它通知接納設(shè)備開場丈量隨后的數(shù)據(jù)位串,即斷定1和0的位串。接下來的就是實踐地組成該字符的5到8個比特,在我們的例如中是采用ASCII編碼,因此有7個比

9、特,通常在該字符后面還有一個奇偶位,該奇偶位的值由發(fā)送方設(shè)置。取決于所運用的規(guī)約,字符中1的總數(shù)目包括奇偶位即8個比特應(yīng)該堅持偶數(shù)偶檢驗或奇數(shù)奇檢驗的屬性。接納方可以運用奇偶位檢查在傳輸過程中能否有錯誤發(fā)生。最后一個元素是停頓位,它的信號電平等同于二進制的1。停頓位至少1位,流行的適用規(guī)范有1位、1.5位和2位最小長度規(guī)范。在發(fā)送一個穩(wěn)定的字符流的情況下,兩個字符之間的隔離長度堅持一致,都等于停頓位元素。 異步傳輸啟停位使得每個被發(fā)送的字節(jié)都組成1個幀。標(biāo)志信號用邏輯“1數(shù)據(jù)線電壓表示,在1位的時間周期內(nèi),數(shù)據(jù)線電壓變成0,所表示的這一位稱為開啟位。運用停頓位的目的是允許接納方有足夠的時間進展

10、重置,預(yù)備接納信息中的下一個數(shù)據(jù)字節(jié)。 接納機的獨立時鐘與從標(biāo)志形狀到開啟形狀的轉(zhuǎn)換同時發(fā)生,之后,在一個新的字節(jié)發(fā)送之前,讓接納方時鐘獨立運轉(zhuǎn)一個最大比特數(shù)的時間。異步傳輸?shù)淖畲笕毕菔窃诰€路上的額外開銷在ASCII編碼的條件下至少20%,每發(fā)送8位至少要有兩個附加位。這就使得它只能用于低速傳送110bps到19.2kbps。 同步傳輸在同步傳輸中,以一種穩(wěn)定的流方式傳送比特塊,不運用開啟和停頓位編碼。該數(shù)據(jù)塊在長度上可以是許多個比特。為了防止在發(fā)送機和接納機之間的定時漂移,它們的時鐘必需經(jīng)過某種途徑堅持同步。一種能夠性是在發(fā)送設(shè)備和接納設(shè)備之間提供單獨的時鐘線路。由一方發(fā)送方或接納方擔(dān)任在線

11、路上定期地加載脈沖,即每個比特周期發(fā)送一個短脈沖。另一方運用這些規(guī)那么脈沖作為時鐘。這種技術(shù)在短間隔上任務(wù)得很好,但對于較長的間隔,時鐘脈沖會跟數(shù)據(jù)信號一樣面臨失真的問題,從而產(chǎn)生定時錯誤。另一種替代的方法是在數(shù)據(jù)信號中嵌入時鐘信息;對于數(shù)字信號,這可以經(jīng)過運用曼徹斯特或差分曼徹斯特編碼得以實現(xiàn)。對于模擬信號,有多種技術(shù)可以運用;例如,可以運用載波頻率本身基于載波的相位來使接納設(shè)備同步。 同步傳輸對于同步傳輸,還需求進展另一個層次上的同步,使得接納設(shè)備可以確定一個數(shù)據(jù)塊的開場和終了。為了獲得這一目的,每個塊以一個前綴比特串開場,并且普通地還用一個后綴比特串結(jié)尾。此外,還附加一些其它的比特傳送在

12、數(shù)據(jù)鏈路控制過程中要運用的控制信息。數(shù)據(jù)加上前綴、后綴和控制信息就構(gòu)成了幀。準(zhǔn)確的幀格式取決于所運用的數(shù)據(jù)鏈路控制過程。 同步傳輸 同步傳輸圖3-4以普通的術(shù)語示出了一種典型的同步傳輸?shù)膸袷?。普通說來,幀用一個稱為標(biāo)志的前綴起始。同樣的標(biāo)志也用作后綴。接納方查看標(biāo)志圖案確定一個幀的開場。跟在前綴標(biāo)志后面的是一定數(shù)目的控制段,然后是數(shù)據(jù)段對于大多數(shù)協(xié)議都是可變長度。在數(shù)據(jù)段后面還可以有控制段,最后反復(fù)標(biāo)志段。對于可變大小的數(shù)據(jù)塊,同步傳輸在效率上要比異步傳輸高得多。異步傳輸需求百分之二十或更多的開銷。同步傳輸?shù)目刂菩畔ⅰ⑶熬Y和后綴加在一同普通情況下都小于100位。例如,廣泛運用的HDLC幀包含

13、48位的控制、前綴和后綴開銷。因此,對于一個包含1000個字符的數(shù)據(jù)塊,每個幀由48比特的開銷和1000*8=8000比特的數(shù)據(jù)組成,開銷所占的比例僅是48/8048*100%=0.6%。 3.2 停頓等待協(xié)議3.2.1 完全理想化的數(shù)據(jù)傳輸先研討一下數(shù)據(jù)鏈路層的模型。數(shù)據(jù)鏈路層的簡單模型局域網(wǎng)廣域網(wǎng)主機 H1主機 H2路由器 R1路由器 R2路由器 R3網(wǎng)局域網(wǎng)主機 H1 向 H2 發(fā)送數(shù)據(jù)鏈路層運用層運輸層網(wǎng)絡(luò)層物理層鏈路層運用層運輸層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層R1R2R3H1H2從層次上來看數(shù)據(jù)的流動數(shù)據(jù)鏈路層的簡單模型( 續(xù)局域網(wǎng)廣域網(wǎng)主機 H1

14、主機 H2路由器 R1路由器 R2路由器 R3網(wǎng)局域網(wǎng)主機 H1 向 H2 發(fā)送數(shù)據(jù)鏈路層運用層運輸層網(wǎng)絡(luò)層物理層鏈路層運用層運輸層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層R1R2R3H1H2僅從數(shù)據(jù)鏈路層察看幀的流動3.2 停頓等待協(xié)議3.2.1 完全理想化的數(shù)據(jù)傳輸數(shù)據(jù)鏈路層主機 A緩存主機 B數(shù)據(jù)鏈路AP2AP1緩存發(fā)送方接納方幀高層幀完全理想化的數(shù)據(jù)傳輸所基于的兩個假定 假定 1: 鏈路是理想的傳輸信道,所傳送的任何數(shù)據(jù)既不會出過失也不會喪失。假定 2: 不論發(fā)方以多快的速率發(fā)送數(shù)據(jù),收方總是來得及收下,并及時上交主機。這個假定就相當(dāng)于以為:接納端向主機交付數(shù)

15、據(jù)的速率永遠不會低于發(fā)送端發(fā)送數(shù)據(jù)的速率。 3.2.2 具有最簡單流量控制的數(shù)據(jù)鏈路層協(xié)議如今去掉上述的第二個假定。但是,依然保管第一個假定,即主機 A 向主機 B傳輸數(shù)據(jù)的信道依然是無過失的理想信道。然而如今不能保證接納端向主機交付數(shù)據(jù)的速率永遠不低于發(fā)送端發(fā)送數(shù)據(jù)的速率。由收方控制發(fā)方的數(shù)據(jù)流,乃是計算機網(wǎng)絡(luò)中流量控制的一個根本方法。 具有最簡單流量控制的數(shù)據(jù)鏈路層協(xié)議算法在發(fā)送結(jié)點: (1) 從主機取一個數(shù)據(jù)幀。 (2) 將數(shù)據(jù)幀送到數(shù)據(jù)鏈路層的發(fā)送緩存。 (3) 將發(fā)送緩存中的數(shù)據(jù)幀發(fā)送出去。 (4) 等待。 (5) 假設(shè)收到由接納結(jié)點發(fā)過來的信息(此信息 的格式與內(nèi)容可由雙方事先商定

16、好),那么 從主機取一個新的數(shù)據(jù)幀,然后轉(zhuǎn)到(2)。具有最簡單流量控制的數(shù)據(jù)鏈路層協(xié)議算法續(xù)在接納結(jié)點: (1) 等待。 (2) 假設(shè)收到由發(fā)送結(jié)點發(fā)過來的數(shù)據(jù)幀, 那么將其放入數(shù)據(jù)鏈路層的接納緩存。 (3) 將接納緩存中的數(shù)據(jù)幀上交主機。 (4) 向發(fā)送結(jié)點發(fā)一信息,表示數(shù)據(jù)幀已 經(jīng)上交給主機。 (5) 轉(zhuǎn)到(1)。兩種情況的對比傳輸均無過失ABDATADATADATADATA送主機 B送主機 B送主機 B送主機 BABDATA送主機 BDATA送主機 B時間不需求流量控制需求流量控制3.2.3 適用的停頓等待協(xié)議時間ABDATA0送主機ACKDATA1送主機ACK(a) 正常情況ABDAT

17、A0DATA0送主機ACK(c) 數(shù)據(jù)幀喪失重傳tout丟失 !ABDATA0送主機ACKDATA0丟棄ACK(d) 確認(rèn)幀喪失重傳tout丟失 !ABDATA0NAKDATA0送主機ACK(b) 數(shù)據(jù)幀出錯重傳出錯四種情況超時計時器的作用結(jié)點A發(fā)送完一個數(shù)據(jù)幀時,就啟動一個超時計時器(timeout timer)。計時器又稱為定時器。假設(shè)到了超時計時器所設(shè)置的重傳時間 tout而仍收不到結(jié)點 B 的任何確認(rèn)幀,那么結(jié)點 A 就重傳前面所發(fā)送的這一數(shù)據(jù)幀。普通可將重傳時間選為略大于“從發(fā)完數(shù)據(jù)幀到收到確認(rèn)幀所需的平均時間。 處理反復(fù)幀的問題 使每一個數(shù)據(jù)幀帶上不同的發(fā)送序號。每發(fā)送一個新的數(shù)據(jù)

18、幀就把它的發(fā)送序號加 1。 假設(shè)結(jié)點 B 收到發(fā)送序號一樣的數(shù)據(jù)幀,就闡明出現(xiàn)了反復(fù)幀。這時應(yīng)丟棄反復(fù)幀,由于曾經(jīng)收到過同樣的數(shù)據(jù)幀并且也交給了主機 B。但此時結(jié)點 B 還必需向 A 發(fā)送確認(rèn)幀 ACK,由于 B 曾經(jīng)知道 A 還沒有收到上一次發(fā)過去確實認(rèn)幀 ACK。 幀的編號問題 任何一個編號系統(tǒng)的序號所占用的比特數(shù)一定是有限的。因此,經(jīng)過一段時間后,發(fā)送序號就會反復(fù)。 序號占用的比特數(shù)越少,數(shù)據(jù)傳輸?shù)念~外開銷就越小。 對于停頓等待協(xié)議,由于每發(fā)送一個數(shù)據(jù)幀就停頓等待,因此用一個比特來編號就夠了。一個比特可表示 0 和 1 兩種不同的序號。 幀的發(fā)送序號 數(shù)據(jù)幀中的發(fā)送序號 N(S) 以 0

19、 和 1 交替的方式出如今數(shù)據(jù)幀中。每發(fā)一個新的數(shù)據(jù)幀,發(fā)送序號就和上次發(fā)送的不一樣。用這樣的方法就可以使收方可以區(qū)分開新的數(shù)據(jù)幀和重傳的數(shù)據(jù)幀了。 可靠傳輸 雖然物理層在傳輸比特時會出現(xiàn)過失,但由于數(shù)據(jù)鏈路層的停頓等待協(xié)議采用了有效的檢錯重傳機制,數(shù)據(jù)鏈路層對上面的網(wǎng)絡(luò)層就可以提供可靠傳輸?shù)男ЯΑ?3.2.4 循環(huán)冗余檢驗的原理 在數(shù)據(jù)鏈路層傳送的幀中,廣泛運用了循環(huán)冗余檢驗 CRC 的檢錯技術(shù)。假設(shè)待傳送的數(shù)據(jù) M = 1010001101共k bit。我們在M的后面再添加供過失檢測用的 n bit 冗余碼一同發(fā)送。 冗余碼的計算 用二進制的模 2 運算進展 2n 乘 M 的運算,這相當(dāng)于

20、在 M 后面添加 n 個 0。得到的 (k + n) bit 的數(shù)除以事先選定好的長度為 (n + 1) bit 的數(shù) P,得出商是 Q 而余數(shù)是 R,余數(shù) R 比除數(shù) P 至少要少1 個比特。 冗余碼的計算舉例 設(shè) n = 5, P = 110101,模 2 運算的結(jié)果是:商 Q = 1101010110, 余數(shù)R = 01110。將余數(shù) R 作為冗余碼添加在數(shù)據(jù) M 的后面發(fā)送出去,即發(fā)送的數(shù)據(jù)是101000110101110,或 2nM + R。 1101010110 Q 商 除數(shù) P 110101 101000110100000 2nM 被除數(shù) 110101 111011 110101

21、 111010 110101 111110 110101 101100 110101 110010 110101 01110 R 余數(shù)循環(huán)冗余檢驗的原理闡明 CRC糾錯幀檢驗序列 FCS 在數(shù)據(jù)后面添加上的冗余碼稱為幀檢驗序列 FCS (Frame Check Sequence)。循環(huán)冗余檢驗 CRC 和幀檢驗序列 FCS并不等同。CRC 是一種常用的檢錯方法,而 FCS 是添加在數(shù)據(jù)后面的冗余碼。FCS 可以用 CRC 這種方法得出,但 CRC 并非用來獲得 FCS 的獨一方法。 檢測出過失 只需得出的余數(shù) R 不為 0,就表示檢測到了過失。但這種檢測方法并不能確定終究是哪一個或哪幾個比特出

22、現(xiàn)了過失。一旦檢測出過失,就丟棄這個出現(xiàn)過失的幀。只需經(jīng)過嚴(yán)厲的挑選,并運用位數(shù)足夠多的除數(shù) P,那么出現(xiàn)檢測不到的過失的概率就很小很小。 該當(dāng)留意 僅用循環(huán)冗余檢驗 CRC 過失檢測技術(shù)只能做到無過失接受(accept)?!盁o過失接受是指:“凡是接受的幀即不包括丟棄的幀,我們都能以非常接近于 1 的概率以為這些幀在傳輸過程中沒有產(chǎn)生過失。也就是說:“凡是接受的幀都沒有傳輸過失有過失的幀就丟棄而不接受。要做到“可靠傳輸即發(fā)送什么就收到什么就必需再加上確認(rèn)和重傳機制。 3.2.5 停頓等待協(xié)議的算法這里不運用否認(rèn)幀適用的數(shù)據(jù)鏈路層協(xié)議大都是這樣的,而且確認(rèn)幀帶有序號 n。按照習(xí)慣的表示法,ACK

23、n 表示“第 n 1 號幀曾經(jīng)收到,如今期望接納第 n 號幀。ACK1 表示“0 號幀已收到,如今期望接納的下一幀是 1 號幀;ACK0 表示“1 號幀已收到,如今期望接納的下一幀是 0 號幀。 在發(fā)送結(jié)點 (1) 從主機取一個數(shù)據(jù)幀,送交發(fā)送緩存。(2) V(S)0。 (3) N(S)V(S)。(4) 將發(fā)送緩存中的數(shù)據(jù)幀發(fā)送出去。 (5) 設(shè)置超時計時器。(6) 等待。 等待以下(7)和(8)這兩個事件中最先出現(xiàn)的一個(7) 收到確認(rèn)幀 ACKn, 假設(shè) n = 1 V(s),那么: 從主機取一個新的數(shù)據(jù)幀,放入發(fā)送緩存; V(S)1 V(S),轉(zhuǎn)到 (3)。 否那么,丟棄這個確認(rèn)幀,轉(zhuǎn)到

24、(6)。 (8) 假設(shè)超時計時器時間到,那么轉(zhuǎn)到(4)。在接納結(jié)點 (1) V(R)0。(2) 等待。(3) 收到一個數(shù)據(jù)幀; 假設(shè) N(S) = V(R),那么執(zhí)行(4); 否那么丟棄此數(shù)據(jù)幀,然后轉(zhuǎn)到(6)。(4) 將收到的數(shù)據(jù)幀中的數(shù)據(jù)部分送交上層軟件 也就是數(shù)據(jù)鏈路層模型中的主機。(5) V(R)1 V(R)。(6) nV(R); 發(fā)送確認(rèn)幀 ACKn,轉(zhuǎn)到(2)。 停頓等待協(xié)議的要點只需收到序號正確確實認(rèn)幀 ACKn 后,才更新發(fā)送形狀變量 V(S)一次,并發(fā)送新的數(shù)據(jù)幀。接納端接納到數(shù)據(jù)幀時,就要將發(fā)送序號 N(S) 與本地的接納形狀變量 V(R) 相比較。假設(shè)二者相等就闡明是新的

25、數(shù)據(jù)幀,就收下,并發(fā)送確認(rèn)。否那么為反復(fù)幀,就必需丟棄。但這時仍須向發(fā)送端發(fā)送確認(rèn)幀 ACKn,而接納形狀變量 V(R) 和確認(rèn)序號 n 都不變。 停頓等待協(xié)議的要點續(xù)延續(xù)出現(xiàn)一樣發(fā)送序號的數(shù)據(jù)幀,闡明發(fā)送端進展了超時重傳。延續(xù)出現(xiàn)一樣序號確實認(rèn)幀,闡明接納端收到了反復(fù)幀。 發(fā)送端在發(fā)送完數(shù)據(jù)幀時,必需在其發(fā)送緩存中暫時保管這個數(shù)據(jù)幀的副本。這樣才干在出過失時進展重傳。只需確認(rèn)對方曾經(jīng)收到這個數(shù)據(jù)幀時,才可以去除這個副本。 停頓等待協(xié)議的要點續(xù)適用的 CRC 檢驗器都是用硬件完成的。CRC 檢驗器可以自動丟棄檢測到的出錯幀。因此所謂的“丟棄出錯幀,對上層軟件或用戶來說都是覺得不到的。發(fā)送端對出

26、錯的數(shù)據(jù)幀進展重傳是自動進展的,因此這種過失控制體制常簡稱為 ARQ (Automatic Repeat reQuest),直譯是自動重傳懇求,但意思是自動懇求重傳。 3.2.6 停頓等待協(xié)議的定量分析設(shè) tf 是一個數(shù)據(jù)幀的發(fā)送時間,且數(shù)據(jù)幀的長度是固定不變的。顯然,數(shù)據(jù)幀的發(fā)送時間 tf 是數(shù)據(jù)幀的長度 lf (bit)與數(shù)據(jù)的發(fā)送速率 C (bit/s)之比,即 tf = lf /C = lf /C (s) 3-1 發(fā)送時間 tf 也就是數(shù)據(jù)幀的發(fā)送時延。數(shù)據(jù)幀沿鏈路傳到結(jié)點B還要閱歷一個傳播時延 tp。結(jié)點 B 收到數(shù)據(jù)幀要破費時間進展處置,此時間稱為處置時間 tpr,發(fā)送確認(rèn)幀 AC

27、K 的發(fā)送時間為 ta。 停頓等待協(xié)議中數(shù)據(jù)幀和確認(rèn)幀的發(fā)送時間關(guān)系 ABDATADATAACK傳播時延 tp處置時間 tpr確認(rèn)幀發(fā)送時間 ta傳播時延 tp處置時間 tprtT時間兩個勝利發(fā)送的數(shù)據(jù)幀之間的最小時間間隔數(shù)據(jù)幀的發(fā)送時間tf設(shè)置的重傳時間tout重傳時間 重傳時間的作用是:數(shù)據(jù)幀發(fā)送終了后假設(shè)經(jīng)過了這樣長的時間還沒有收到確認(rèn)幀,就重傳這個數(shù)據(jù)幀。 為方便起見,我們設(shè)重傳時間為 tout = tp + tpr+ ta + tp + tpr (3-2) 設(shè)上式右端的處置時間 tpr 和確認(rèn)幀的發(fā)送時間 ta 都遠小于傳播時延 tp,因此可將重傳時間取為兩倍的傳播時延,即 tout

28、 = 2tp (3-3)停頓等待協(xié)議 ARQ 的優(yōu)缺陷 優(yōu)點:比較簡單 。缺陷:通訊信道的利用率不高,也就是說,信道還遠遠沒有被數(shù)據(jù)比特填滿。為了抑制這一缺陷,就產(chǎn)生了另外兩種協(xié)議,即延續(xù) ARQ 和選擇重傳 ARQ。這將在后面進一步討論。 3.3延續(xù) ARQ 協(xié)議3.3.1 延續(xù) ARQ 協(xié)議的任務(wù)原理 在發(fā)送完一個數(shù)據(jù)幀后,不是停下來等待確認(rèn)幀,而是可以延續(xù)再發(fā)送假設(shè)干個數(shù)據(jù)幀。假設(shè)這時收到了接納端發(fā)來確實認(rèn)幀,那么還可以接著發(fā)送數(shù)據(jù)幀。由于減少了等待時間,整個通訊的吞吐量就提高了。 延續(xù) ARQ 協(xié)議的任務(wù)原理 DATA0DATA1DATA2DATA3DATA4DATA5重傳 DATA2

29、重傳 DATA3ACK1ACK2ACK1 確認(rèn) DATA0ACK2 確認(rèn) DATA1DATA2 出錯,丟棄DATA3 不按序,丟棄,重傳 ACK2DATA4 不按序,丟棄,重傳 ACK2DATA5 不按序,丟棄,重傳 ACK2ACK3ACK3 確認(rèn) DATA2ACK4 確認(rèn) DATA3ACK4重傳 DATA5重傳 DATA4超時重傳時間ABtout送交主機送交主機?ACK2ACK2ACK2需求留意: (1) 接納端只按序接納數(shù)據(jù)幀。雖然在有過失的 2號幀之后接著又收到了正確的 3 個數(shù)據(jù)幀,但接納端都必需將這些幀丟棄,由于在這些幀前面有一個 2 號幀還沒有收到。雖然丟棄了這些不按序的無過失幀,

30、但應(yīng)反復(fù)發(fā)送已發(fā)送過的最后一個確認(rèn)幀防止確認(rèn)幀喪失。(2) ACK1 表示確認(rèn) 0 號幀 DATA0,并期望下次收到 1 號幀;ACK2 表示確認(rèn) 1 號幀 DATA1,并期望下次收到 2 號幀。依此類推。 需求留意: (3) 結(jié)點 A 在每發(fā)送完一個數(shù)據(jù)幀時都要設(shè)置該幀的超時計時器。假設(shè)在所設(shè)置的超時時間內(nèi)收到確認(rèn)幀,就立刻將超時計時器清零。但假設(shè)在所設(shè)置的超時時間到了而未收到確認(rèn)幀,就要重傳相應(yīng)的數(shù)據(jù)幀仍需重新設(shè)置超時計時器。 在等不到 2 號幀確實認(rèn)而重傳 2 號數(shù)據(jù)幀時,雖然結(jié)點 A 曾經(jīng)發(fā)完了 5 號幀,但仍必需向回走,將 2號幀及其以后的各幀全部進展重傳。延續(xù) ARQ 又稱為Go-

31、back-N ARQ,意思是當(dāng)出現(xiàn)過失必需重傳時,要向回走 N 個幀,然后再開場重傳。 需求留意: (4) 以上講述的僅僅是延續(xù) ARQ 協(xié)議的任務(wù)原理。協(xié)議在詳細實現(xiàn)時還有許多的細節(jié)。例如,用一個計時器就可實現(xiàn)相當(dāng)于 N 個獨立的超時計時器的功能。 3.3.3 滑動窗口的概念發(fā)送端和接納端分別設(shè)定發(fā)送窗口和接納窗口 。發(fā)送窗口用來對發(fā)送端進展流量控制。發(fā)送窗口的大小 WT 代表在還沒有收到對方確認(rèn)信息的情況下發(fā)送端最多可以發(fā)送多少個數(shù)據(jù)幀。 01234567012發(fā)送窗口WT不允許發(fā)送這些幀允許發(fā)送 5 個幀(a)01234567012不允許發(fā)送這些幀還允許發(fā)送 4 個幀WT已發(fā)送(b)01

32、234567012不允許發(fā)送這些幀WT已發(fā)送(c)01234567012不允許發(fā)送這些幀還允許發(fā)送 3 個幀WT已發(fā)送 已發(fā)送并已收到確認(rèn)(d)接納端設(shè)置接納窗口 在接納端只需當(dāng)收到的數(shù)據(jù)幀的發(fā)送序號落入接納窗口內(nèi)才允許將該數(shù)據(jù)幀收下。 假設(shè)接納到的數(shù)據(jù)幀落在接納窗口之外,那么一概將其丟棄。 在延續(xù) ARQ 協(xié)議中,接納窗口的大小 WR = 1。只需當(dāng)收到的幀的序號與接納窗口一致時才干接納該幀。否那么,就丟棄它。每收到一個序號正確的幀,接納窗口就向前即向右方滑動一個幀的位置。同時發(fā)送對該幀確實認(rèn)。 不允許接納這些幀01234567012WR預(yù)備接納 0 號幀(a)不允許接納這些幀0123456

33、7012WR預(yù)備接納 1 號幀已收到(b)不允許接納這些幀01234567012WR預(yù)備接納 4 號幀已收到(c)滑動窗口的重要特性只需在接納窗口向前滑動時與此同時也發(fā)送了確認(rèn),發(fā)送窗口才有能夠向前滑動。收發(fā)兩端的窗口按照以上規(guī)律不斷地向前滑動,因此這種協(xié)議又稱為滑動窗口協(xié)議。當(dāng)發(fā)送窗口和接納窗口的大小都等于 1時,就是停頓等待協(xié)議。 發(fā)送窗口的最大值 當(dāng)用 n 個比特進展編號時,假設(shè)接納窗口的大小為 1,那么只需在發(fā)送窗口的大小 WT 2n 1時,延續(xù) ARQ 協(xié)議才干正確運轉(zhuǎn)。例如,當(dāng)采用 3 bit 編碼時,發(fā)送窗口的最大值是 7 而不是 8。 3.3.4 信道利用率由于每個數(shù)據(jù)幀都必需

34、包括一定的控制信息(如幀的序號、地址、同步信息以及其他的一些控制信息),所以即使延續(xù)不停地發(fā)送數(shù)據(jù)幀,信道利用率(即扣除全部的控制信息后的數(shù)據(jù)率與信道容量之比)也不能夠到達 100 %。 當(dāng)出現(xiàn)過失時(這是不可防止的),數(shù)據(jù)幀的不斷重傳將進一步使信道利用率降低。 最正確幀長 假設(shè)數(shù)據(jù)幀的幀長獲得很短,那么控制信息在每一幀中所占的比例就增大,因此額外開銷增大,這就導(dǎo)致信道利用率的下降。假設(shè)幀長獲得太長,那么數(shù)據(jù)幀在傳輸過程中出錯的概率就增大,于是重傳次數(shù)將增大,這也會使信道利用率下降。由此可見,存在一個最正確幀長,在此幀長下信道的利用率最高。 3.4 選擇重傳 ARQ 協(xié)議 可加大接納窗口,先收

35、下發(fā)送序號不延續(xù)但仍處在接納窗口中的那些數(shù)據(jù)幀。等到所缺序號的數(shù)據(jù)幀收到后再一并送交主機。 選擇重傳 ARQ 協(xié)議可防止反復(fù)傳送那些本來曾經(jīng)正確到達接納端的數(shù)據(jù)幀。但我們付出的代價是在接納端要設(shè)置具有相當(dāng)容量的緩存空間。對于選擇重傳 ARQ 協(xié)議,假設(shè)用 n 比特進展編號,那么接納窗口的最大值受下式的約束WR 2n/2 (3-18) 選擇重傳 ARQ 協(xié)議SWS=5,RWS=3, MaxSeqNum=8SWS=5,RWS=3, MaxSeqNum=73.5 面向比特的鏈路控制規(guī)程 HDLC3.5.1 HDLC 協(xié)議概述1974年,IBM 公司推出了面向比特的規(guī)程SDLC (Synchronou

36、s Data Link Control)。后來 ISO 把 SDLC 修正后稱為 HDLC (High-level Data Link Control),譯為高級數(shù)據(jù)鏈路控制,作為國際規(guī)范ISO 3309。CCITT 那么將 HDLC 再修正后稱為鏈路接入規(guī)程 LAP (Link Access Procedure)。不久,HDLC 的新版本又把 LAP 修正為 LAPB,“B表示平衡型(Balanced),所以 LAPB 叫做鏈路接入規(guī)程(平衡型)。 3.5.2 HDLC 的幀構(gòu)造標(biāo)志字段 F (Flag) 為 6 個延續(xù) 1 加上兩邊各一個 0 共 8 bit。在接納端只需找到標(biāo)志字段就可確

37、定一個幀的位置。 比特888可變168信息 Info標(biāo)志 F標(biāo)志 F地址 A控制 C幀檢驗序列 FCS透明傳輸區(qū)間FCS 檢驗區(qū)間零比特填充法 HDLC 采用零比特填充法使一幀中兩個 F 字段之間不會出現(xiàn) 6 個延續(xù) 1。在發(fā)送端,當(dāng)一串比特流數(shù)據(jù)中有 5 個延續(xù) 1 時,就立刻填入一個 0。在接納幀時,先找到 F 字段以確定幀的邊境。接著再對比特流進展掃描。每當(dāng)發(fā)現(xiàn) 5 個延續(xù) 1 時,就將其后的一個 0 刪除,以復(fù)原成原來的比特流。 零比特的填充與刪除 數(shù)據(jù)中某一段比特組合恰好出現(xiàn)和 F 字段一樣的情況0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0會被誤以為是 F 字段

38、發(fā)送端在 5 個連 1 之后填入 0 比特再發(fā)送出去填入 0 比特0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0在接納端將 5 個連 1 之后的 0 比特刪除,恢復(fù)原樣在此位置刪除填入的 0 比特0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0透明傳輸 采用零比特填充法就可傳送恣意組合的比特流,或者說,就可實現(xiàn)數(shù)據(jù)鏈路層的透明傳輸。當(dāng)延續(xù)傳輸兩個幀時,前一個幀的終了標(biāo)志字段 F 可以兼作后一幀的起始標(biāo)志字段。當(dāng)暫時沒有信息傳送時,可以延續(xù)發(fā)送標(biāo)志字段,使收端可以不斷和發(fā)端堅持同步。 其他字段 地址字段 A 是 8 bit。 幀檢驗序列 FCS 字段

39、共 16 bit。所檢驗的范圍是從地址字段的第一個比特起,到信息字段的最末一個比特為止。 控制字段 C 共 8 bit,是最復(fù)雜的字段。HDLC 的許多重要功能都靠控制字段來實現(xiàn)。 3.3.1 HDLC的幀格式 3.6 因特網(wǎng)的點對點協(xié)議 PPP3.6.1 PPP 協(xié)議的任務(wù)原理如今全世界運用得最多的數(shù)據(jù)鏈路層協(xié)議是點對點協(xié)議 PPP (Point-to-Point Protocol)。用戶運用撥號線接入因特網(wǎng)時,普通都是運用 PPP 協(xié)議。 用戶撥號入網(wǎng)的表示圖 路由器調(diào)制解調(diào)器調(diào)制解調(diào)器因特網(wǎng)效力提供者(ISP)用戶家庭撥號線 運用 TCP/IP 的 PPP 銜接運用 TCP/IP 的 客

40、戶進程路由選擇 進程至因特網(wǎng)PC 機PPP 協(xié)議 1992 年制定了 PPP 協(xié)議。經(jīng)過 1993 年和 1994 年的修訂,如今的 PPP 協(xié)議已成為因特網(wǎng)的正式規(guī)范RFC 1661。 PPP協(xié)議有三個組成部分 一個將 IP 數(shù)據(jù)報封裝到串行鏈路的方法。鏈路控制協(xié)議 LCP (Link Control Protocol)。網(wǎng)絡(luò)控制協(xié)議 NCP (Network Control Protocol)。 3.6.2 PPP 協(xié)議的幀格式PPP 的幀格式和 HDLC 的類似。 標(biāo)志字段 F 仍為 0 x7E 符號“0 x表示后面的字符是用十六進制表示。十六進制的 7E 的二進制表示是 0111111

41、0。地址字段 A 只置為 0 xFF。地址字段實踐上并不起作用??刂谱侄?C 通常置為 0 x03。PPP 是面向字節(jié)的,一切的 PPP 幀的長度都是整數(shù)字節(jié)。 PPP 協(xié)議的幀格式PPP 有一個 2 個字節(jié)的協(xié)議字段。當(dāng)協(xié)議字段為 0 x0021 時,PPP 幀的信息字段就是IP 數(shù)據(jù)報。假設(shè)為 0 xC021, 那么信息字段是 PPP 鏈路控制數(shù)據(jù)。假設(shè)為 0 x8021,那么表示這是網(wǎng)絡(luò)控制數(shù)據(jù)。 IP 數(shù)據(jù)報1211字節(jié)12不超越 1500 字節(jié)PPP 幀先發(fā)送7EFF03FACFCSF7E協(xié)議信 息 部 分首部尾部透明傳輸問題 當(dāng) PPP 用在同步傳輸鏈路時,協(xié)議規(guī)定采用硬件來完成比

42、特填充和 HDLC 的做法一樣。 當(dāng) PPP 用在異步傳輸時,就運用一種特殊的字符填充法。 字符填充法 將信息字段中出現(xiàn)的每一個 0 x7E 字節(jié)轉(zhuǎn)變成為 2 字節(jié)序列(0 x7D, 0 x5E)。 假設(shè)信息字段中出現(xiàn)一個 0 x7D 的字節(jié), 那么將其轉(zhuǎn)變成為 2 字節(jié)序列(0 x7D, 0 x5D)。假設(shè)信息字段中出現(xiàn) ASCII 碼的控制字符即數(shù)值小于 0 x20 的字符,那么在該字符前面要參與一個 0 x7D 字節(jié),同時將該字符的編碼加以改動。 不提供運用序號和確認(rèn)的可靠傳輸 PPP 協(xié)議之所以不運用序號和確認(rèn)機制是出于以下的思索:在數(shù)據(jù)鏈路層出現(xiàn)過失的概率不大時,運用比較簡單的 PP

43、P 協(xié)議較為合理。在因特網(wǎng)環(huán)境下,PPP 的信息字段放入的數(shù)據(jù)是 IP 數(shù)據(jù)報。數(shù)據(jù)鏈路層的可靠傳輸并不可以保證網(wǎng)絡(luò)層的傳輸也是可靠的。幀檢驗序列 FCS 字段可保證無過失接受。 PPP 協(xié)議的形狀圖 建立失敗失敗NCP 配置鑒別勝利通訊終了載波停頓檢測到 載波雙方協(xié)商一些選項鑒別網(wǎng)絡(luò)翻開終止靜止過失檢測 前向糾錯編碼在數(shù)據(jù)通訊的過程中,處理過失問題的一種方法是在每個要發(fā)送的數(shù)據(jù)塊上附加足夠的冗余信息,使接納方可以推導(dǎo)出發(fā)送方實踐送出的應(yīng)該是什么樣的比特串。 通常,一幀是由m個數(shù)據(jù)位即報文和r個冗余位或稱校驗位組成。設(shè)總長度為n,那么n=m+r,此長度為n位的單元經(jīng)常被稱作n位碼字。假設(shè)有恣意

44、兩個碼字,比如說,10001001和10110001,可以確定有多少個不同的對應(yīng)位。在我們的例子中有3個不同位。為了確定有多少位不同,只需對兩個碼字進展異或運算。然后計算結(jié)果中的1的位數(shù)。兩個碼字中不同的位的數(shù)目稱作海明間隔1950年由Hamming提出。這種海明間隔的重要性在于假設(shè)兩個碼字的海明間隔為d,那么只需出現(xiàn)d個單位過失才干將其中一個碼字轉(zhuǎn)換成另一個碼字。 過失檢測 前向糾錯編碼在絕大多數(shù)傳輸運用中,一切2m個能夠的數(shù)據(jù)信息都是有效的,但是由于加了檢測位,就不會運用一切的2n個碼字。知計算檢測位的算法,就可構(gòu)造出完全有效碼字表。從這個表中找出具有最小海明間隔的兩個碼字,這個間隔便是全

45、部碼字的海明間隔。一種編碼的檢錯和糾錯才干取決于它的海明間隔。為檢測出d個比特錯,需求運用間隔為d+1的編碼,由于運用這種編碼,d個單比特錯決不能夠?qū)⒁粋€有效的碼字改動為另一個有效的碼字。當(dāng)接納方看見無效碼字時,它就能明青絲生了傳輸過失。同樣地,為了糾正d比特錯,必需用間隔為2d+1的編碼,這是由于,有效碼字的間隔遠到即使發(fā)生d個變化,這個發(fā)生了變化的碼字依然比任何其它碼字都更接近原始碼字。因此就能獨一地確定出原始碼字。數(shù)據(jù)后面加上1個奇偶位的編碼是檢錯碼的一個簡單例子。奇偶位的選取原那么是使碼字內(nèi)的1的數(shù)目為偶數(shù)或奇數(shù)。這種編碼的間隔是2,由于任何單比特錯都會產(chǎn)生奇偶位不正確的碼字,故可以用來檢測單比特錯。過失檢測 前向糾錯編碼下面再舉一個糾錯碼的簡單例子。思索只需4個有效碼字的編碼。這些碼字是:0000000000,0000011111,1111100000,1111111111。這組碼的間隔是5,這意味著可以校正兩位錯。假設(shè)有一個碼字0000000111到達,接受方便知道原來的碼字一定是000

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論