軟件工程的計算機網(wǎng)絡(luò)CH3.1 數(shù)據(jù)鏈路層.ppt_第1頁
軟件工程的計算機網(wǎng)絡(luò)CH3.1 數(shù)據(jù)鏈路層.ppt_第2頁
軟件工程的計算機網(wǎng)絡(luò)CH3.1 數(shù)據(jù)鏈路層.ppt_第3頁
軟件工程的計算機網(wǎng)絡(luò)CH3.1 數(shù)據(jù)鏈路層.ppt_第4頁
軟件工程的計算機網(wǎng)絡(luò)CH3.1 數(shù)據(jù)鏈路層.ppt_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)鏈路層-1,Outline,3.1數(shù)據(jù)鏈路層的基本概念3.2三個基本問題幀定界透明傳輸差錯檢測,局域網(wǎng),廣域網(wǎng),主機H1,主機H2,路由器R1,路由器R2,路由器R3,電話網(wǎng),局域網(wǎng),主機H1向H2發(fā)送數(shù)據(jù),用戶主機H1通過電話線上網(wǎng),中間經(jīng)過三個路由器接入到遠程主機H2。所經(jīng)過的網(wǎng)絡(luò)可以是多種的,如電話網(wǎng)、局域網(wǎng)和廣域網(wǎng)。,數(shù)據(jù)鏈路層的模型,從層次上來看數(shù)據(jù)的流動,主機H1和H2都有完整的五層協(xié)議棧,但路由器的協(xié)議棧只有下面三層。數(shù)據(jù)進入路由器后先從物理層上到網(wǎng)絡(luò)層,在路由表中找到下一跳的地址后,再下到物理層轉(zhuǎn)發(fā)出去。因此,數(shù)據(jù)從H1到H2需要在路徑中各節(jié)點的協(xié)議棧向上和向下流動多次。,數(shù)據(jù)鏈路層的模型,數(shù)據(jù)鏈路層的模型,鏈路層,應(yīng)用層,運輸層,網(wǎng)絡(luò)層,物理層,鏈路層,應(yīng)用層,運輸層,網(wǎng)絡(luò)層,物理層,鏈路層,網(wǎng)絡(luò)層,物理層,鏈路層,網(wǎng)絡(luò)層,物理層,鏈路層,網(wǎng)絡(luò)層,物理層,R1,R2,R3,H1,H2,僅從數(shù)據(jù)鏈路層觀察幀的流動,可以想象數(shù)據(jù)就是在數(shù)據(jù)鏈路層從左向右沿水平方向傳送。通過這樣的鏈路:H1的鏈路層,R1的鏈路層,R2的鏈路層,R3的鏈路層,H2的鏈路層。,數(shù)據(jù)鏈路層的任務(wù):把網(wǎng)絡(luò)層交下來的數(shù)據(jù)發(fā)送到鏈路上,以及把接收到的幀中的數(shù)據(jù)取出來并交給網(wǎng)絡(luò)層。,網(wǎng)絡(luò)層,101000110,數(shù)據(jù)鏈路,結(jié)點A,比特流,IP數(shù)據(jù)報,數(shù)據(jù)鏈路層,物理層,幀,裝入,101000110,IP數(shù)據(jù)報,幀,結(jié)點B,取出,當(dāng)兩個主機進行通信時,應(yīng)用進程要把數(shù)據(jù)從應(yīng)用層逐層往下傳,經(jīng)過運輸層再到網(wǎng)絡(luò)層,組成IP數(shù)據(jù)報,再往下傳到數(shù)據(jù)鏈路層組成幀,然后在經(jīng)物理層形成比特流進入通信網(wǎng)絡(luò)。,兩個主機進行通信的過程,數(shù)據(jù)傳輸?shù)穆窂娇赡苡性S多路由器。每一個路由器的物理層在收到比特流后,先由數(shù)據(jù)鏈路層將比特流恢復(fù)成幀,再從幀中提取出IP數(shù)據(jù)報。路由器在轉(zhuǎn)發(fā)IP數(shù)據(jù)報時,又再把它封裝成另一個新的幀,然后交給物理層發(fā)送給下一個路由器。,兩個主機進行通信的過程,經(jīng)過許多路由器的轉(zhuǎn)發(fā),數(shù)據(jù)最后到達了目的主機的物理層。以后目的主機的數(shù)據(jù)鏈路層提取出IP數(shù)據(jù)報,再逐層向上傳,最后由應(yīng)用層交給遠程的應(yīng)用進程。,兩個主機進行通信的過程,現(xiàn)在為了把主要精力放在數(shù)據(jù)鏈路層的協(xié)議上,采用一個簡化的模型:在該模型中,不管在哪一段鏈路上通信,都看成是結(jié)點和結(jié)點的通信,而每個結(jié)點只有三層。,網(wǎng)絡(luò)層,101000110,數(shù)據(jù)鏈路,結(jié)點A,比特流,IP數(shù)據(jù)報,數(shù)據(jù)鏈路層,物理層,幀,裝入,101000110,IP數(shù)據(jù)報,幀,結(jié)點B,取出,數(shù)據(jù)鏈路層的主要功能:結(jié)點A的數(shù)據(jù)鏈路層把網(wǎng)絡(luò)層交下來的IP數(shù)據(jù)報封裝成幀。結(jié)點A把封裝好的幀發(fā)送給結(jié)點B的數(shù)據(jù)鏈路層。若結(jié)點B的數(shù)據(jù)鏈路層收到的幀無差錯,則從收到的幀中提取出數(shù)據(jù)報上交給網(wǎng)絡(luò)層,否則丟棄這個幀。,網(wǎng)絡(luò)層,101000110,數(shù)據(jù)鏈路,結(jié)點A,比特流,IP數(shù)據(jù)報,數(shù)據(jù)鏈路層,物理層,幀,裝入,101000110,IP數(shù)據(jù)報,幀,結(jié)點B,取出,鏈路與數(shù)據(jù)鏈路的區(qū)別:,鏈路(link)是一條無源的點到點的物理線路段,中間沒有任何其他的交換結(jié)點。一條鏈路只是一條路徑的一個組成部分。數(shù)據(jù)鏈路(datalink)除了物理線路外,還必須有通信協(xié)議來控制這些數(shù)據(jù)的傳輸。若把實現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路?,F(xiàn)在最常用的方法是使用適配器(即網(wǎng)卡)來實現(xiàn)這些協(xié)議的硬件和軟件。一般的適配器都包括了數(shù)據(jù)鏈路層和物理層這兩層的功能。,數(shù)據(jù)鏈路層像個數(shù)字管道,常常在兩個對等的數(shù)據(jù)鏈路層之間畫出一個數(shù)字管道,而在這條數(shù)字管道上傳輸?shù)臄?shù)據(jù)單位是幀。早期的數(shù)據(jù)通信協(xié)議曾叫作通信規(guī)程(procedure)。因此在數(shù)據(jù)鏈路層,規(guī)程和協(xié)議是同義語。,數(shù)據(jù)鏈路層的七個主要功能,鏈路管理:當(dāng)網(wǎng)絡(luò)中的兩個結(jié)點要進行通信時,數(shù)據(jù)的發(fā)送方必須確認接收方是否已經(jīng)處在準(zhǔn)備接收的狀態(tài)。通信的雙方必須要交換一些必要的信息,即必須先建立一條數(shù)據(jù)鏈路。在傳輸數(shù)據(jù)時要維持數(shù)據(jù)鏈路,而在通信完畢時要釋放數(shù)據(jù)鏈路。數(shù)據(jù)鏈路的建立、維持和釋放就叫做鏈路管理。,幀定界:在數(shù)據(jù)鏈路層,數(shù)據(jù)的傳送單位是幀。數(shù)據(jù)一幀一幀地傳送,就可以在出現(xiàn)差錯時,將有差錯的幀在重傳一次,而避免了將全部數(shù)據(jù)都進行重傳。幀定界是指接收方應(yīng)當(dāng)能從收到的比特流中準(zhǔn)確地區(qū)分出一幀的開始和結(jié)束在什么地方。幀定界也可以稱為幀同步。,流量控制:發(fā)送方發(fā)送數(shù)據(jù)的速率必須使接收方來得及接收。當(dāng)接收方來不及接收時,就必須及時控制發(fā)送方發(fā)送數(shù)據(jù)的速率。這種功能稱作流量控制。,差錯控制:在計算機通信中,一般都要求有極低的比特差錯率。為此,廣泛地采用了編碼技術(shù)。編碼技術(shù)有兩大類。一類是前向糾錯,即接收方收到有差錯的數(shù)據(jù)幀時,能夠自動將差錯改正過來。這種方法的開銷較大,不適合計算機通信。另一類是差錯檢測,即接收方可以檢測出收到的幀有差錯(但并不知道是哪幾個比特錯了)。,當(dāng)檢測出有差錯的幀時就立即將它丟棄,但接下去有兩種選擇:方法一不進行任何處理(由高層進行處理),方法二則是由數(shù)據(jù)鏈路層負責(zé)重傳丟棄的幀。,將數(shù)據(jù)和控制信息區(qū)分開:在許多情況下,數(shù)據(jù)和控制信息處于同一幀中。因此一定要有相應(yīng)的措施使接收方能夠?qū)⑺鼈儏^(qū)分開。尋址:必須保證每一幀都能送到正確的目的站。接收方也應(yīng)知道發(fā)送方的地址。,透明傳輸:不管所傳數(shù)據(jù)是什么樣的比特組合,都應(yīng)當(dāng)能夠在鏈路上傳送。當(dāng)所傳數(shù)據(jù)中的比特組合恰巧出現(xiàn)了與某一個控制信息完全一樣時,必須有可靠的措施,使接收方不會將這種比特組合的數(shù)據(jù)誤認為是某種控制信息。,三個基本問題,(1)幀定界:確定幀開始和結(jié)束的位置。(2)透明傳輸:數(shù)據(jù)鏈路層協(xié)議不能禁止傳輸某種特殊的比特組合。(3)差錯控制:當(dāng)接收端檢測出有差錯的幀時,根據(jù)協(xié)議的不同,可采用不同的處理方法。,1.幀定界,幀定界就是確定幀的界限。在發(fā)送幀時,發(fā)送端的數(shù)據(jù)鏈路層在幀的前后都各加入事先商定好的標(biāo)記,使得接收端能識別幀的開始和結(jié)束,以及幀中數(shù)據(jù)部分的準(zhǔn)確位置。,幀結(jié)束,幀首部,IP數(shù)據(jù)報,幀的數(shù)據(jù)部分,幀尾部,MTU,數(shù)據(jù)鏈路層的幀長,開始發(fā)送,幀開始,1.幀定界,網(wǎng)絡(luò)層的IP數(shù)據(jù)報傳送到數(shù)據(jù)鏈路層就成為幀的數(shù)據(jù)部分。在幀的數(shù)據(jù)部分的前面和后面分別添加上首部和尾部,構(gòu)成了一個完整的幀。,幀結(jié)束,幀首部,IP數(shù)據(jù)報,幀的數(shù)據(jù)部分,幀尾部,MTU,數(shù)據(jù)鏈路層的幀長,開始發(fā)送,幀開始,1.幀定界,幀長就等于數(shù)據(jù)部分的長度加上幀首部和尾部的長度。首部和尾部主要作用是進行幀定界,但還可包括一些其他控制信息。,幀結(jié)束,幀首部,IP數(shù)據(jù)報,幀的數(shù)據(jù)部分,幀尾部,MTU,數(shù)據(jù)鏈路層的幀長,開始發(fā)送,幀開始,1.幀定界,在發(fā)送數(shù)據(jù)幀時,是從幀首部開始發(fā)送。數(shù)據(jù)鏈路層的協(xié)議需明確規(guī)定幀首部和尾部的格式協(xié)議還規(guī)定了幀的數(shù)據(jù)部分的長度上限最大傳送單元MTU。,幀結(jié)束,幀首部,IP數(shù)據(jù)報,幀的數(shù)據(jù)部分,幀尾部,MTU,數(shù)據(jù)鏈路層的幀長,開始發(fā)送,幀開始,用控制字符進行幀定界,SOH,裝在幀中的數(shù)據(jù)部分,幀,幀開始符,幀結(jié)束符,發(fā)送在前,EOT,當(dāng)數(shù)據(jù)是由可打印的ASCII碼組成的文本文件時,幀定界可使用幀定界字符??刂谱址鸖OH放在一幀的最前面,表示幀的首部開始;另一個控制字符EOT表示幀的結(jié)束。注意:字符SOH和字符EOT的十六進制編碼分別是01和04,而不是由三個字符組成的。,用控制字符進行幀定界,對幀進行定界是非常必要的:當(dāng)物理層采用異步傳送時(一次只傳送一個字符),接收端物理層是斷斷續(xù)續(xù)的接收到單個的字符,而不是一次就收到一個完整的幀。利用幀定界的控制字符就可以準(zhǔn)確界定幀開始和結(jié)束的位置。,用控制字符進行幀定界,當(dāng)物理層采用同步傳送時,發(fā)送端連續(xù)地發(fā)送數(shù)據(jù)幀。接收端要利用幀定界的控制字符從連續(xù)的比特流中找出幀開始和結(jié)束的位置。假定發(fā)送端在沒有發(fā)送完一個幀時突然出故障,但隨后很快恢復(fù)正常,于是重新發(fā)送剛才未發(fā)完的幀(從頭開始發(fā)送)。由于使用了幀定界字符,在接收端就知道前面收到的數(shù)據(jù)是不完整的幀(只有SOH沒有EOT),必須丟棄。而后面收到的數(shù)據(jù)有明確的幀定界符(SOH和EOT),因此這是個完整的幀,應(yīng)當(dāng)收下。,2.透明傳輸,由于幀的開始和結(jié)束的標(biāo)記是使用專門指明的控制字符,因此所傳輸?shù)臄?shù)據(jù)中任何一個字符一定不允許和用作幀定界的控制字符一樣,否則就會出現(xiàn)幀定界的錯誤。當(dāng)傳送的幀是用ASCII文本文件組成的時,其數(shù)據(jù)部分顯然不會出現(xiàn)像SOH和EOT這樣的幀定界字符。所以鍵盤上輸入的任何字符都可放在這樣的幀中傳輸過去,這樣的傳輸就是透明傳輸。,SOH,EOT,出現(xiàn)了“EOT”(04)16,被接收端當(dāng)作無效幀而丟棄,被接收端誤認為是一個幀,數(shù)據(jù)部分,EOT,完整的幀,發(fā)送在前,當(dāng)數(shù)據(jù)部分是非ASCII碼的文本文件時(如二進制代碼的計算機程序或圖像等),如果數(shù)據(jù)中的某個字節(jié)的二進制代碼恰好和SOH或EOT一樣,數(shù)據(jù)鏈路層就會錯誤地“找到幀的邊界”,把部分幀收下(誤認為是個完整的幀),而把剩下的那部分丟棄(這部分找不到幀定界符SOH)。,解決透明傳輸問題,發(fā)送端的數(shù)據(jù)鏈路層在數(shù)據(jù)中出現(xiàn)控制字符“SOH”或“EOT”的前面插入一個轉(zhuǎn)義字符“ESC”(其十六進制編碼是1B)。將其轉(zhuǎn)換為另一個字符,而這個字符不會被錯誤的解釋為控制字符。這種方法成為字節(jié)填充(bytestuffing)。接收端的數(shù)據(jù)鏈路層在將數(shù)據(jù)上交網(wǎng)絡(luò)層之前刪除插入的轉(zhuǎn)義字符。如果轉(zhuǎn)義字符也出現(xiàn)數(shù)據(jù)當(dāng)中,那么應(yīng)在轉(zhuǎn)義字符前面插入一個轉(zhuǎn)義字符。當(dāng)接收端收到連續(xù)的兩個轉(zhuǎn)義字符時,就刪除其中前面的一個。,SOH,SOH,EOT,SOH,ESC,ESC,EOT,ESC,SOH,ESC,ESC,ESC,SOH,原始數(shù)據(jù),EOT,EOT,經(jīng)過字節(jié)填充后發(fā)送的數(shù)據(jù),字節(jié)填充,字節(jié)填充,字節(jié)填充,字節(jié)填充,發(fā)送在前,幀開始符,幀結(jié)束符,用字節(jié)填充法解決透明傳輸?shù)膯栴},SOH,3.差錯檢測,現(xiàn)實的通信鏈路不理想,比特在傳輸過程中可能出現(xiàn)差錯:1變成0或0變成1.誤碼率BER在一定時間內(nèi),傳輸錯誤的比特占所傳輸?shù)谋忍乜倲?shù)的比率。例:誤碼率為10-10時,表示平均傳送1010個比特就會出現(xiàn)一個比特的差錯。誤碼率與信噪比成反比例關(guān)系。為保證數(shù)據(jù)傳輸?shù)目煽啃?,在計算機網(wǎng)絡(luò)傳輸數(shù)據(jù)時,都必須采用各種差錯檢測措施。,循環(huán)冗余檢驗,在數(shù)據(jù)鏈路層傳送的幀中,廣泛使用了循環(huán)冗余檢驗CRC的檢錯技術(shù)。假設(shè)待傳送的數(shù)據(jù)M=101001(共kbit)。我們在M的后面再添加供差錯檢測用的nbit冗余碼一起發(fā)送(即一共發(fā)送k+n個比特)。,nbit冗余碼的求解方法:用二進制的模2運算進行2n乘M的運算,這相當(dāng)于在M后面添加n個0。得到的(k+n)bit的數(shù)2nM除以事先選定好的長度為(n+1)bit的數(shù)P,得出商是Q而余數(shù)是R,其中余數(shù)R比除數(shù)P至少要少1個比特。余數(shù)R就是添加在數(shù)據(jù)后面的冗余碼。,模2乘,模2乘和10進制一樣,只是相加時用模2加,無進位。比如,1011101:1011100(22)10111011*101*100-101100000000000010111011-100111101100,設(shè)n=3,P=1101,模2運算2nM/P的結(jié)果是:商Q=110101,余數(shù)R=001。將余數(shù)R作為冗余碼添加在數(shù)據(jù)M=101001的后面發(fā)送出去,即發(fā)送的數(shù)據(jù)是101001001,或2nM+R。,模2加減,模2運算:就是除以2后取余數(shù),結(jié)果就只有0或1。模2加:0+0=0,0+1=1,1+0=1,1+1=0(無進位,借位)相當(dāng)于異或運算。模2減:0-0=0,0-1=1,1-0=1,1-1=0(無進位,借位),模2除與算術(shù)除法類似,但每一位除(減)的結(jié)果不影響其它位(不向上一位借位,實際上就是異或)。然后再移位做下一位的模2減。步驟如下:用除數(shù)對被除數(shù)最高幾位做模2減,沒有借位。除數(shù)右移一位,若余數(shù)最高位為1,商為1,并對余數(shù)做模2減。若余數(shù)最高位為0,商為0,除數(shù)繼續(xù)右移一位。一直做到余數(shù)的位數(shù)小于除數(shù)時,該余數(shù)就是最終余數(shù)。,110101Q商除數(shù)P11011010010002nM被除數(shù)11011110110101110000111011010110000011001101001R余數(shù),已知:待發(fā)送的數(shù)據(jù)M=101001,冗余碼的長度n=3,事先商定的除數(shù)P=1101,求得余數(shù)R?,幀檢驗序列FCS,在數(shù)據(jù)后面添加上的冗余碼稱為幀檢驗序列FCS(FrameCheckSequence)。循環(huán)冗余檢驗CRC和幀檢驗序列FCS并不等同。CRC是一種常用的檢錯方法,而FCS是添加在數(shù)據(jù)后面的冗余碼。FCS可以用CRC這種方法得出,但CRC并非用來獲得FCS的惟一方法。,檢測出差錯,在接收端對接收到的幀進行CRC檢驗。把收到的幀除以同樣的P(模2運算),得出余數(shù)R。只要得出的余數(shù)R不為0

溫馨提示

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

評論

0/150

提交評論