計算機網絡第三章1_第1頁
計算機網絡第三章1_第2頁
計算機網絡第三章1_第3頁
計算機網絡第三章1_第4頁
計算機網絡第三章1_第5頁
已閱讀5頁,還剩105頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第三章數據鏈路層主要內容一、數據鏈路層的定義和功能二、數據的可靠傳輸三、基本的數據鏈路層協議四、數據鏈路層協議實例 一、數據鏈路層的定義和功能1、定義數據鏈路層主要討論的是在相鄰兩個節(jié)點之間如何進行可靠且有效的通信的問題。局域網廣域網主機 H1主機 H2路由器 R1路由器 R2路由器 R3電話網局域網 點到點 端到端 端到端節(jié)點鏈路link(物理鏈路):是一條無源的點到點的物理路段,中間沒有任何其他的交換節(jié)點。路徑path:從源端到目的端的一條通路,可能經由許多中間節(jié)點。數據鏈路:物理鏈路傳輸兩端的硬件相關的通信協議路徑鏈路網絡層數據鏈路層物理層一、數據鏈路層的定義和功能2、功能(設計要點)數

2、據鏈路層的主要功能包括以下三個方面:為網絡層提供一個良好定義的服務接口;處理傳輸錯誤(差錯控制);調節(jié)數據流,確保慢速的接收方不會被快速的發(fā)送方淹沒(流量控制)。網絡層數據鏈路層物理層分 組凈荷域頭尾3、數據鏈路層的服務數據鏈路層的功能之一是向網絡層提供服務。最主要的服務是將數據從源主機的網絡層傳輸到目的主機的網絡層。IP 數據報1010 0110幀取出數據鏈路層網絡層鏈路結點 A結點 B物理層IP 數據報1010 0110幀裝入數據鏈路層傳送的是幀數據鏈路層的傳輸過程 把從網絡層獲取到的分組封裝到幀中,加一定的校驗信息,然后交給物理層用某種信號表示二進制數據位傳送到目的節(jié)點; 在目的節(jié)點,再

3、通過目的節(jié)點的物理層和數據鏈路層上傳到網絡層。數據鏈路層的作用 為網絡層提供一條可靠的數據鏈路。局域網廣域網主機 H1主機 H2路由器 R1路由器 R2路由器 R3電話網局域網主機 H1 向 H2 發(fā)送數據鏈路層應用層傳輸層網絡層物理層鏈路層應用層傳輸層網絡層物理層鏈路層網絡層物理層鏈路層網絡層物理層鏈路層網絡層物理層R1R2R3H1H2從網絡層次上來看數據的流動局域網廣域網主機 H1主機 H2路由器 R1路由器 R2路由器 R3電話網局域網主機 H1 向 H2 發(fā)送數據鏈路層應用層運輸層網絡層物理層鏈路層應用層運輸層網絡層物理層鏈路層網絡層物理層鏈路層網絡層物理層鏈路層網絡層物理層R1R2R

4、3H1H2僅從數據鏈路層觀察幀的流動虛擬數據通路實際數據通路數據鏈路層可以提供多種不同的服務,但一般情況下,通常會提供以下三種服務: 無確認的無連接服務源節(jié)點向目的節(jié)點發(fā)送獨立的幀,傳輸前不需要建立邏輯連接,傳輸后也不要求目的節(jié)點進行確認,即不保證幀的正確傳輸。這類服務適用于誤碼率非常低的傳輸環(huán)境及一些實時業(yè)務,如以太網有確認的無連接服務傳輸前不需要建立邏輯連接,但目的節(jié)點對于收到的每個幀都必須進行確認,它保證每個幀都能被正確接收。這類服務適用于誤碼率較高的傳輸環(huán)境,如無線系統(tǒng)。有確認的面向連接的服務傳輸前需要建立邏輯連接,每個幀被編上序號按序發(fā)送,目的節(jié)點對收到的幀進行檢錯、確認與排序,它保

5、證向網絡層遞交正確有序的數據流。數據鏈路層使用的信道主要有以下兩種類型:點對點信道。這種信道使用一對一的點對點通信方式。廣播信道。這種信道使用一對多的廣播通信方式,因此過程比較復雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協議來協調這些主機的數據發(fā)送。介質訪問控制子層(MAC):它是數據鏈路層上特有的一個子層,用于解決共享信道的分配問題 主要內容一、數據鏈路層的定義和功能二、數據的可靠傳輸三、基本的數據鏈路層協議四、數據鏈路層協議實例 二、數據的可靠傳輸數據鏈路層的主要目的:保證相鄰兩個節(jié)點的可靠性傳輸。將傳輸的信息組合成幀差錯控制 流量控制將傳輸的信息組合成幀成幀封裝成幀(fra

6、ming)就是在一段數據的前后分別添加首部和尾部,然后就構成了一個幀。確定幀的界限-首部和尾部的重要作用之一就是進行幀定界。 幀結束幀首部IP 數據報幀的數據部分幀尾部 MTU數據鏈路層的幀長開始發(fā)送幀開始成幀 (framing) 字符計數法帶字節(jié)填充的分界符法帶位填充的分界標志法物理層編碼違例法成幀 (framing) 字符計數法:每一個幀的第一個字段攜帶幀的長度信息。 5123456789801234568第一幀第二幀第三幀缺點:幀頭出錯不光影響本數據幀,還影響后續(xù)的幀。a 無差錯512347678980123456第一幀第二幀第三幀b 有一個差錯成幀 (framing) 字符計數法帶字節(jié)

7、填充的分界符法帶位填充的分界標志法物理層編碼違例法成幀 (framing) 帶字節(jié)填充的分界符法 分界符法:使用特殊的字節(jié)(標志字節(jié)flagbyte)來表示幀的開始與結束,當失去同步后,只需要搜索特定的標志字節(jié)就可以了。-具有再同步能力當標志字節(jié)的位模式FLAG出現在數據中怎么辦?成幀 (framing) 帶字節(jié)填充的分界符法:為避免在幀的其它部分出現與標志字節(jié)相同的位模式,采用了字節(jié)填充的方法,即在與標志字節(jié)相同的字符前插入轉義字符ESC,如圖。(PPP協議) 成幀 (framing) 帶字節(jié)填充的分界符法 缺點:依賴于特定的字符編碼集(如ASCII字符中,FLAG用7E H表示,ESC用1

8、B H表示,只能是8位字符模式),靈活性差(實際中,并不是所有字符碼都采用8位字符表示,UNICODE使用的是16位字符)成幀 (framing) 字符計數法帶字節(jié)填充的分界符法帶位填充的分界標志法物理層編碼違例法成幀 (framing) 帶位填充的分界標志法: 使用一個特殊的比特模式(如:01111110)作為幀的起始與結束標志(Flag)。 -具有再同步能力當標志符的位模式FLAG出現在數據中怎么辦?成幀 (framing) 為避免在幀的其它部分出現與此標志相同的比特模式,采用了比特填充的方法,即在5個連續(xù)的1后插入一個0,如圖。(HDLC協議) 原始數據傳輸線路上的數據刪除填充位之后接收

9、存儲的數據成幀 (framing) 字符計數法帶字節(jié)填充的分界符法帶位填充的分界標志法物理層編碼違例法成幀 (framing) 物理層編碼違例法:這種方法只適用于那些在物理層編碼中使用冗余技術的網絡。例如:以太網的物理層采用曼徹斯特編碼,它將比特“1”表示成高-低電平對,將比特“0”表示成低-高電平對,而高-高電平對和低-低電平對在編碼中沒有使用,這樣可以用這兩種無效的編碼標識幀的邊界。注意:在很多數據鏈路協議中,使用字符計數法和一種其它方法的組合。二、數據的可靠傳輸數據鏈路層的主要目的:保證相鄰兩個節(jié)點的可靠性傳輸。將傳輸的信息組合成幀差錯控制 流量控制差錯控制傳輸過程出錯情況:幀(包括發(fā)送

10、幀和響應幀)出錯;校驗和確認幀(包括發(fā)送幀和響應幀)丟失;超時和重發(fā)幀(包括發(fā)送幀和響應幀)重復;加序號 幀出錯信號在任何信道上傳輸都存在著傳輸差錯,這些差錯由多種物理現象引起,解決差錯問題的方法有兩種:一種是在要發(fā)送的數據中加入一定的冗余位,使接收方能知道數據是否出錯,但不知道是哪里出錯,這種編碼方法叫差錯檢測碼,或簡稱檢錯碼。另一種是在要發(fā)送的數據中加入足夠多的冗余位,使接收方能糾正出錯的位,這種編碼方法叫差錯校正碼,或簡稱糾錯碼。使用糾錯碼傳數據,效率低,適用于不可能重傳的場合;大多數情況采用檢錯碼加重傳。檢錯碼奇偶校驗碼多項式編碼,又叫循環(huán)冗余校驗碼CRC(Cyclic Redunda

11、ncy Check)奇偶校驗碼在每個字符的數據位傳輸之前,先檢測并計算奇偶校驗位,然后附加在其后;接收機重新計算收到字符的奇偶校驗位,確定該字符是否出現傳輸差錯;注:只能發(fā)現奇數個錯誤,如果有偶數比特出錯,奇偶校驗位無效;檢錯碼奇偶校驗碼多項式編碼,又叫循環(huán)冗余校驗碼CRC(Cyclic Redundancy Check)多項式編碼(循環(huán)冗余校驗碼CRC)基本原理:它先將要發(fā)送的信息數據與一個通信雙方共同約定的數據進行除法運算,并根據余數得出一個校驗碼,然后將這個校驗碼附加在信息數據幀之后發(fā)送出去。 接收端接收數據后,將包括校驗碼在內的數據幀再與約定的數據進行除法運算,若余數為“0”,就表示接

12、收的數據正確,若余數不為“0”,則表明數據在傳輸的過程中出錯。 定義:它將位串看成是某個一元多項式的系數。如果一個m位的幀,可以看作是一個m1次多項式的系數列表,該多項式用M(x)表示,共有m項,從Xm1到X0。 如1011001看成是一元多項式X6 + X4 + X3 + 1的系數;生成多項式G(x):雙方預先確定的一個多項式,共有r項;冗余多項式R(x): xrM(x)/G(X)的余數;碼多項式T(x):T(x) 等于 xrM(x) 減去 余數R(x);具體實現步驟:1、若G(x)為r階。原始數據為m位,其多項式為M(x),則在原始數據后面添加r個0,實際傳輸數據為m+r位,相應多項式為x

13、rM(x)。2、按模2除法用對應于G(x)的位串去除對應于xrM(x)的位串。3、按模2減法從對應于xrM(x)的位串中減去余數(等于或小于r位),結果就是要傳送的帶校驗和的多項式T(x)。檢錯方法:用對應于G(x)的位串去除對應于T(x)的位串,若余式為0則認為傳輸正確,否則認為傳輸錯誤例1 取G(X)X4+X+1,假設欲發(fā)送的一段信息101100110,問在線路上傳輸的碼字是? 10101100010011 1011001100000 10011 10101 10011 11010 10011 10010 10011 1000解:由G(X)X4+X+1得 生成的碼字為:10011,r為4

14、原始信息101100110對應的多項式 M(x)=X8+X6+X5+X2+X, XrM(x)=X4 (X8+X6+X5+X2+X)= X12+X10+X9+X6+X5,則XrM(x)對應的碼字為:1011001100000 用對應的G(X)的碼字去除對應的XrM(x)的位串得余數為1000.把XrM(x)位串與余數相加就是實際要傳送的碼字,為: 1011001101000例2.已知:接收碼字:1100111001多項式: T(X)=X9+X8+X5+X4+X3+1 生成多項式:G(X)=X4+X3+1(r=4)求:碼字的正確性。若正確,則指出冗余碼和信息碼。解: 1)用接收碼字除以生成碼,余數

15、為0,所以碼字正確。 2)因r=4,所以冗余碼是:1001,信息碼是:110011 生成多項式G(x)的選擇四個多項式已成為國際標準CRC-12 = x12 + x11 + x3 + x2 + x + 1CRC-16 = x16 + x15 + x2 + 1CRC-CCITT = x16 + x12 + x5 + 1CRC-32= x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1應當注意 僅用循環(huán)冗余檢驗 CRC 差錯檢測技術只能做到無差錯接受(accept)。 “無差錯接受”是指:凡是

16、接受的幀(即不包括丟棄的幀),我們都能以非常接近于 1 的概率認為這些幀在傳輸過程中沒有產生差錯。 也就是說:“凡是接收端數據鏈路層接受的幀都沒有傳輸差錯”(有差錯的幀就丟棄而不接受)。要做到“可靠傳輸”(即發(fā)送什么就收到什么)就必須再加上確認和重傳機制。 什么樣的錯誤可以被檢測到? 在接收方收到帶校驗和的幀后,用G(x)來除它。如果E(x)表示一個錯誤多項式,則在接收方要計算: T(x) E(x)/ G(x)因為T(x)/ G(x)=0,所以就是要計算E(x)/ G(x)的值。如果錯誤多項式E(x)恰好包含G(x)作為它的一個因子,則這樣的錯誤將無法檢測出來;否則其他錯誤都可以檢測得到。 差

17、錯控制傳輸過程出錯情況:幀(包括發(fā)送幀和響應幀)出錯;校驗和確認幀(包括發(fā)送幀和響應幀)丟失;超時和重發(fā)幀(包括發(fā)送幀和響應幀)重復;加序號 ACK( Acknowledgement )NAK(Negative Acknowledgement)幀丟失通過發(fā)送方的計時器解決超時、重傳超時(TimeOut):發(fā)送方一旦發(fā)送一個幀,就啟動一個計時器,如果在規(guī)定的時間內,收不到回應,則在計時器溢出時,在重發(fā)此幀。注: 超時時間的設置 差錯控制傳輸過程出錯情況:幀(包括發(fā)送幀和響應幀)出錯;校驗和確認幀(包括發(fā)送幀和響應幀)丟失;超時和重發(fā)幀(包括發(fā)送幀和響應幀)重復;加序號 幀重復如果接收方發(fā)送的確認

18、幀丟失,導致發(fā)送方多次發(fā)送同一幀,接收方多次收到同一幀,造成了幀重復;要區(qū)別是否是同一幀,在每一幀中加入一個幀的編號二、數據的可靠傳輸數據鏈路層的主要目的:保證相鄰兩個節(jié)點的可靠性傳輸。將傳輸的信息組合成幀差錯控制(校驗、重傳)流量控制流量控制當發(fā)送端的發(fā)送速度大于接收端的接收速度,或發(fā)送端所在的網絡傳輸速率大于接收端所在的網絡傳輸速率時,就需要流量控制。常見的方法有兩種: 基于反饋的流控制窗口機制 基于速率的流控制幀的數據結構(一般意義上):確認號ack幀的數據部分(分組)info幀序號seq幀類型kind幀頭主要內容一、數據鏈路層的定義和功能二、數據的可靠傳輸三、基本的數據鏈路層協議四、數

19、據鏈路層協議實例 三、基本的數據鏈路層協議通信模型的基本假設:1、假設一臺主機上,物理層、數據鏈路層和網絡層都是獨立的進程;2、A、B兩臺主機要求可靠的、面向連接的服務。3、在接收方的數據鏈路層,正在運行wait_for_event(&event),即等待某個事件發(fā)生數據鏈路層主機 A緩存主機 B數據鏈路AP2AP1緩存發(fā)送方接收方幀高層幀 數據鏈路層通過過程調用wait_for_event(&event),來等待事情的發(fā)生。 當一個數據幀到達接收方時(可看作有一個事件發(fā)生 event),硬件會計算校驗和。 如果校驗和不正確,令eventchecksum_err; 如果校驗和正確,令event

20、frame_arrival幀的數據結構(一般意義上):確認號ack幀的數據部分(分組)info幀序號seq幀類型kind幀頭基本的數據鏈路層協議協議1:一種無限制的單工協議協議2:一種單工的停-等協議協議3:有噪音信道的單工協議協議1:一種無限制的單工協議理想環(huán)境下的理想的協議,假定1: 鏈路是理想的傳輸信道,所傳送的任何數據既不會出差錯也不會丟失。不需要校驗、確認,不要重傳假定2: 不管發(fā)方以多快的速率發(fā)送數據,收方總是來得及收下,并及時上交主機。接收端處理速度無限高,緩沖區(qū)無限大,不需要流控發(fā)送端:接收端:基本的數據鏈路層協議協議1:一種無限制的單工協議協議2:一種單工的停-等協議協議3:

21、有噪音信道的單工協議協議2:一個單工的停等協議增加約束條件:接收方不可能具有足夠高的CPU處理能力來及時處理所有的接收幀,也不可能具有足夠大的緩沖區(qū)。協議2:一個單工的停等協議 假定1: 鏈路是理想的傳輸信道,所傳送的任何數據既不會出差錯也不會丟失。不需要校驗,不要重傳假定2: 不管發(fā)方以多快的速率發(fā)送數據,收方總是來得及收下,并及時上交主機。接收端處理速度無限高,緩沖區(qū)無限大,不需要流控 解決方法:發(fā)送方每發(fā)出一個幀后,等待接收方發(fā)回的一個確認,接到確認后,再繼續(xù)發(fā)送停等協議發(fā)送端:接收端:基本的數據鏈路層協議協議1:一種無限制的單工協議協議2:一種單工的停-等協議協議3:有噪音信道的單工協

22、議協議3:有噪音信道的單工協議理想環(huán)境下的理想的協議,假定1: 鏈路是理想的傳輸信道,所傳送的任何數據既不會出差錯也不會丟失。不需要校驗,不要重傳假定2: 不管發(fā)方以多快的速率發(fā)送數據,收方總是來得及收下,并及時上交主機。接收端處理速度無限高,緩沖區(qū)無限大,不需要流控數據幀可能被損壞,也可能丟失 需要校驗和重傳需要流控 時間ABDATA0送主機ACKDATA1送主機ACK(a) 正常情況ABDATA0DATA0送主機ACK(c) 數據幀丟失重傳tout丟失 !ABDATA0送主機ACKDATA0丟棄ACK(d) 確認幀丟失(數據幀重復)重傳tout丟失 !噪聲信道傳輸過程中出錯的三種情況協議3

23、的要點發(fā)送方要記錄下一個準備發(fā)送的順序號接收方要記錄下一個期望接收的順序號發(fā)送過程和接收過程是嚴格交替的PAR(Positive Acknowledgement with Retransmission)支持重傳的肯定確認協議 或者ARQ(Automatic Repeat reQuest)自動重復請求協議 在協議3中,發(fā)送方應重發(fā)當前幀還是發(fā)下一幀,可以根據超時和是否收到確認來判定,即它僅僅與前一幀和后一幀有關,所以,在協議中,只需要一位(0或1)就可以表示順序號發(fā)送端:等待應答接收端:注意協議3重發(fā)機制的缺陷效率較低: 如接收方收到的幀出錯或者整個數據幀丟失,則不發(fā)送確認幀,發(fā)送方在超時后重發(fā)

24、,直至正確(效率低); 前面的協議都假定數據幀沿著一個方向傳輸,但事實上大多數的通信都是雙向的。 雙向傳輸解決方案兩條線路(四根信道): 兩根數據 兩根應答 信道利用率低一條線路(兩根信道):一根A到B,一根B到A問題是如何區(qū)分數據和應答?用不同的幀類型用捎帶(piggybacking)確認滑動窗口協議收發(fā)使用兩條信道 發(fā)送方可以連續(xù)發(fā)送多幀,接收方接受到一組幀后就從另一個信道發(fā)一個確認,為提高信道使用效率,可使用捎帶確認;幀是有序號的 在滑動窗口協議中,每一個要發(fā)送的幀都包含一個序號,范圍是從0到某個最大值,最大值通常是2n-1,n為幀序號的長度。 即使過早的超時而導致的重發(fā),也可以根據幀的

25、序號來避免幀的重復滑動窗口協議的要點: 任何時刻發(fā)送進程都要維護一組幀序號,對應于一組已經發(fā)送但尚未被確認的幀,這些幀稱為落在發(fā)送窗口內; 類似地,接收進程也要維護一組幀序號,對應于一組允許接收的幀,這些幀稱為落在接收窗口內。發(fā)送窗口發(fā)送窗口中的序號代表已發(fā)送但尚未確認的幀,其中窗口下沿代表最早發(fā)送但至今尚未確認的幀。當發(fā)送窗口尚未達到最大值時,可以從網絡層接收一個新的分組,然后將窗口上沿加1,并將新的上沿序號分配給新的幀;當收到對窗口下沿幀的確認時,窗口下沿加1。由于每一個幀都有可能傳輸出錯,所以發(fā)送窗口中的幀都必須保留在緩沖區(qū)里以備重傳,直至收到確認為止。當發(fā)送窗口達到最大值時,停止從網絡

26、層接收數據,直到有一個緩沖區(qū)空出來為止。 接收窗口接收窗口中的序號代表允許接收的幀,任何落在窗口外的幀都被丟棄,落在窗口內的幀存放到緩沖區(qū)里。當收到窗口下沿幀時,將其交給網絡層,并產生一個確認,然后窗口整體向前移動一個位置。和發(fā)送窗口不同,接收窗口的大小是不變的,總是保持初始時的大小。接收窗口大小為1,意味著數據鏈路層只能順序接收數據,當接收窗口大于1時不是這樣,但無論如何,數據鏈路層必須按順序將數據遞交給網絡層。 發(fā)送窗口和接收窗口圖示要發(fā)送的下一個幀的序號未得到確認的幀的最小編號允許接收的序號最大的幀希望接收的幀三個窗口協議(協議46)1位滑動窗口協議回退n幀的滑動窗口協議選擇性重傳的滑動

27、窗口協議1位滑動窗口協議(協議4) 發(fā)送窗口 WT1,接收窗口WR1該協議使用停-等方式,所以只需要1比特長的幀序號。幀頭中至少包括seq和ack兩個域,ack用于對正確收到的幀的序號進行確認。由于支持雙向傳輸,所以每個協議實體需要同時完成發(fā)送和接收兩個功能。 1位滑動窗口協議(協議4)接收方發(fā)送方比較兩種情況正常情況:發(fā)送方和接收方交替發(fā)送異常情況:當發(fā)送方和接收方同時向對方發(fā)送,會造成不必要的重發(fā),但協議也能夠正常運行1位滑動窗口協議(協議4)的缺點信道利用率低協議4:發(fā)送端的等待時間至少是發(fā)送端到接收端信號傳播時間的兩倍例:衛(wèi)星信道傳輸速率50kbps,往返傳輸延遲500ms,若傳100

28、0bit的幀,使用協議4,則傳輸一個幀所需時間為: 發(fā)送時間 + 信息信道延遲 + 確認信道延遲(確認幀很短,忽略發(fā)送時間)= 1000bit / 50kbps + 250ms + 250ms = 520ms 所以 ,信道利用率 = 20 / 520 4%如果我們在等待確認的時候多發(fā)送一些幀(連續(xù)發(fā)送多幀后再等待確認),就可以提高線路的效率。事實上就是允許發(fā)送窗口包含多個未被確認的幀,這種技術稱為管道化(pipelining)。當信號傳播延遲遠大于幀的傳輸時間時,適合采用這個技術。 比如,如果位于幀流中的某個幀丟失或損壞了,會發(fā)生什么情況在發(fā)送進程發(fā)現出錯前,大量的后繼幀會到達接收方;當一個壞

29、幀到達接收方時,顯然會被接收方丟棄,那么后面到來的幀如何處理? 當管道化技術建立在不可靠的信道上時會有一些問題有兩種基本的方法來處理以上問題:一種方法稱為 go back n(回退n幀) 接收進程從出錯幀起丟棄所有的后繼幀,并且不通知發(fā)送進程。該策略對應接收窗口為1的情況,即只能按順序接收幀,當發(fā)送進程超時后,必須按順序重傳所有未被確認的幀,如圖3-16(a)。 有一個差錯時,回退n幀 (WT7 WR1)三個窗口協議(協議46)1位滑動窗口協議 發(fā)送窗口WT1,接收窗口WR1回退n幀的滑動窗口協議 發(fā)送窗口WT1,接收窗口WR1選擇性重傳的滑動窗口協議回退n幀的滑動窗口協議程序(協議5)接收方

30、發(fā)送方回退n幀的滑動窗口協議,如果編號由n 位組成,則 發(fā)送窗口WT2n1 接收窗口WR1缺陷:沒有考慮到當某個方向上沒有數據要發(fā)送時,要對收到的幀進行單獨確認。在收到期待的幀后應該啟動一個ACK超時計時器,當發(fā)生超時事件時,判斷哪個計時器超時,若是ACK計時器超時,應該單獨發(fā)送一個確認幀。而當發(fā)送了一個數據包時,應將被捎帶確認的幀的ACK計時器終止。一旦數據幀丟失,在發(fā)送端意識到丟失(TimeOut)時,已經有大量的數據幀到達接收端,被丟棄。這樣如果錯誤率高的話,這種方法會浪費很多帶寬,但對內存需求不大。 圖三個窗口協議(協議46)1位滑動窗口協議回退n幀的滑動窗口協議選擇性重傳的滑動窗口協

31、議另一種方法稱為選擇重傳(對應接收窗口大于1的情況)只要是落入接收窗口且校驗正確的幀,都要接收下來放到緩沖區(qū)里,這樣當發(fā)送進程意識到某個幀出錯時,只是重傳此幀而不是所有的后繼幀,如圖3-16(b)。選擇重傳通常使用NAK對校驗出錯或疑為丟失的幀進行確認,以便發(fā)送進程盡快重傳該幀。如果第二次重傳成功,接收方的數據鏈路層中會有許多按順序排列的正確幀,這些幀可以一起交給網絡層,并只對最高序號的幀進行確認。當窗口很大時,這種方法需要大量的數據鏈路層內存,但它不浪費帶寬。 主要內容一、數據鏈路層的定義和功能二、數據的可靠傳輸三、基本的數據鏈路層協議四、數據鏈路層協議實例 數據鏈路協議舉例高級數據鏈路控制 HDLC -High-Level Data Link Control因特網中的數據鏈路層 PPP-Point-to-Point Protocol高級數據鏈路控制HDLC最早在IBM大型機領域中使

溫馨提示

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

評論

0/150

提交評論