第04章-數據鏈路層_第1頁
第04章-數據鏈路層_第2頁
第04章-數據鏈路層_第3頁
第04章-數據鏈路層_第4頁
第04章-數據鏈路層_第5頁
已閱讀5頁,還剩138頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第4章

數據鏈路層主講:袁津生2023/2/31計算機網絡本章學習要求

理解:數據傳輸過程中差錯產生的原因與性質。 掌握:誤碼率的定義與差錯控制方法。 掌握:數據鏈路層的基本概念。 了解:數據鏈路層協議的分類方法。 掌握:典型的數據鏈路層協議—HDLC與PPP協議。2023/2/32計算機網絡本章知識點結構2023/2/33計算機網絡4.1差錯產生與差錯控制方法

4.1.1設計數據鏈路層的原因 在原始物理傳輸線路上傳輸數據信號是有差錯的; 設計數據鏈路層的主要目的:將有差錯的物理線路改進成無差錯的數據鏈路;

方法:差錯檢測、差錯控制、流量控制

作用:改善數據傳輸質量,向網絡層提供高質量的服務。2023/2/34計算機網絡4.1差錯產生與差錯控制方法

4.1.2差錯產生的原因和差錯類型 數據在傳輸中所產生的差錯都是由熱噪聲引起的。熱噪聲是影響數據在通信媒體中正常傳輸的重要因素。數據通信中的熱噪聲主要包括:(1)在數據通信中,信號在物理信道上的線路本身的電氣特性隨機產生的信號幅度、頻率、相位的畸形和衰減。(2)電氣信號在線路上產生反射造成的回音效應。(3)相鄰線路之間的串線干擾。(4)大氣中的閃電、電源開關的跳火、自然界磁場的變化以及電源的波動等外界因素。2023/2/35計算機網絡兩大類熱噪聲:

隨機熱噪聲和沖擊熱噪聲

隨機熱噪聲:通信信道上固有的、持續存在的熱噪聲。這種熱噪聲具有不固定性,所以稱為隨機熱噪聲。

沖擊熱噪聲:由外界某種原因突發產生的熱噪聲。沖擊噪聲幅度較大,是引起傳輸差錯的主要原因。2023/2/36計算機網絡4.1差錯產生與差錯控制方法

傳輸差錯

—通過通信信道后接收的數據與發送數據不一致的現象;

差錯控制

—檢查是否出現差錯以及如何糾正差錯; 由熱噪聲引起的差錯是隨機差錯,或隨機錯; 沖擊噪聲引起的差錯是突發差錯,或突發錯; 引起突發差錯的位長稱為突發長度; 在通信過程中產生的傳輸差錯,是由隨機差錯與突發差錯共同構成的。2023/2/37計算機網絡噪聲對傳輸數據的影響2023/2/38計算機網絡4.1差錯產生與差錯控制方法2023/2/39計算機網絡4.1差錯產生與差錯控制方法

4.1.3差錯控制 差錯控制:是指在數據通信過程中,發現、檢測差錯,對差錯進行糾正,從而把差錯限制在數據傳輸所允許的盡可能小的范圍內的技術和方法。 在數據傳輸中,沒有差錯控制的傳輸通常是不可靠的。2023/2/310計算機網絡4.1差錯產生與差錯控制方法

1.差錯控制編碼 差錯控制編碼是用以實現差錯控制的編碼。它分檢錯碼和糾錯碼兩種:

檢錯碼:能夠自動發現錯誤的編碼。

糾錯碼:既能發現錯誤,又能自動糾正錯誤的編碼。

2023/2/311計算機網絡4.1差錯產生與差錯控制方法

2.差錯控制方法 差錯控制方法主要有兩類:自動請求重發和向前糾錯。

自動請求重發是利用編碼的方法在數據接收端檢測差錯,當檢測出差錯后,設法通知發送數據端重新發送數據,直到無差錯為止。

向前糾錯方法中,接收數據端不僅對接收的數據進行檢測,而且當檢測出差錯后還能利用編碼的方法自動糾正差錯。2023/2/312計算機網絡4.1差錯產生與差錯控制方法

4.1.4檢錯碼與糾錯碼 在計算機通信中,人們提出一種方法,那就是在承認通信信道傳輸過程中會產生差錯的前提下,有效地檢測出錯誤,并進行糾正,從而提高通信信道的傳輸質量。人們把這種方法叫做差錯檢測與校正,簡稱為差錯控制。 差錯控制的主要目的是減少通信信道的傳輸錯誤,目前還不可能做到檢測和校正所有的錯誤。2023/2/313計算機網絡差錯控制的兩種策略:

糾錯碼方案: 讓每個傳輸的分組帶上足夠的冗余信息,以便在接收端能發現并自動糾正傳輸差錯。

檢錯碼方案:

讓分組僅包含足以使接收端發現差錯的冗余信息,但不能確定哪一比特是錯的,并且自己不能糾正傳輸差錯。2023/2/314計算機網絡常用的檢錯碼

●奇偶校驗碼 奇偶校驗碼是一種最常見的檢錯碼,它分為:

垂直奇偶校驗(VRC) 水平奇偶校驗(LRC) 水平垂直奇偶校驗(即方陣碼)。

●循環冗余編碼(CyclicRedundancyCode,CRC) 目前應用最廣的檢錯碼編碼方法之一。2023/2/315計算機網絡4.1差錯產生與差錯控制方法

4.1.5奇偶校驗 設信息碼元數為k位,校驗碼元數為r(r=1),k+r=k+1=n。則稱由k位信息碼和r(=1)位校驗碼組成的位碼序列為系統碼。2023/2/316計算機網絡4.1差錯產生與差錯控制方法 奇偶校驗又可以分為奇校驗和偶校驗。 如果信息碼(k1,k2,…,kn-1)中1的個數為偶數,kn為0。 如果信息碼中1的個數為奇數,kn為1。

例如:字符A的代碼為1000001,其中有兩個1,在偶校驗中可得奇偶校驗位為0,故其8位組合代碼為:10000010。前7位是信息位,最右的1位是校驗位。在奇校驗中可得奇偶校驗位為1,故其8位組合代碼為:10000011。2023/2/317計算機網絡4.1差錯產生與差錯控制方法

1.水平奇偶校驗 把數據先以適當的長度劃分成小組,并把碼字按表中所示的順序一列一列地排列起來,然后對水平方向的碼元進行奇偶校驗,得到一列校驗位,附加在其他各列之后,然后按列的順序進行傳輸。 例如:在信道中傳送的二進制信號序列為:

10101011010101110110…111002023/2/318計算機網絡4.1差錯產生與差錯控制方法位12345678910校驗位110011100011201101010101311011000011400111000100511101111010水平奇偶校驗2023/2/319計算機網絡4.1差錯產生與差錯控制方法位123456789101100111000120110101010311011000014001110001051110111101校驗位1111100101垂直奇偶校驗2023/2/320計算機網絡4.1差錯產生與差錯控制方法

2.水平垂直奇偶校驗 這種方法是在水平奇偶校驗和垂直奇偶校驗的基礎上,把兩者結合起來對碼元進行校驗。傳送時先傳第1列,隨后傳第2列……最后傳第11列。因此,在信道中傳送的二進制信號序列為:

101011011011010111101101…111001 這種方法按列傳輸時能發現所有長度小于或等于n+1(n為列的碼元數)個突發性錯誤和其他錯誤。也可按行傳輸,它能發現所有長度小于或等于每一行碼元數m+1個突發性或其他錯誤。2023/2/321計算機網絡4.1差錯產生與差錯控制方法位12345678910校驗位110011100011201101010101311011000011400111000100511101111010校驗位11111001011水平垂直奇偶校驗2023/2/322計算機網絡4.1差錯產生與差錯控制方法

4.1.6循環冗余編碼工作原理

將要發送的數據比特序列當做一個多項式f(x)的系數,在發送端用收發雙方預先約定的生成多項式G(x)去除,求得一個余數多項式。將余數多項式加到數據多項式之后發送到接收端。在接收端用同樣的生成多項式G(x)去除接收數據多項式f(x),得到計算余數多項式。 如果計算余數多項式與接收余數多項式相同,則表示傳輸無差錯;如果計算余數多項式與接收余數多項式不相同,則表示傳輸有差錯,由發送方重發數據,直至正確為止。2023/2/323計算機網絡4.1差錯產生與差錯控制方法 CRC碼檢錯能力強,實現容易,是目前應用最廣的檢錯碼編碼方法之一。 CRC生成多項式G(x)由協議規定,目前已有多種生成多項式列入國際標準中, 例如:

CRC-12 G(x)=x12+x11+x3+x2+x+1

CRC-16 G(x)=x16+x15+x2+1

CRC-CCCITTG(x)=x16+x15+x5+1

CRC-32 G(x)=x32+x26+x23+x22+x16+ x12+x11+x10+x8+x7+x5+x4+x2+x+12023/2/324計算機網絡CRC校驗過程2023/2/325計算機網絡4.1差錯產生與差錯控制方法

CRC校驗的工作過程可以描述為: ①在發送端,將發送數據多項式f(x)xk,其中k為生成多項式的最高冪值,例如CRC-12的最高幕值為12,則發送f(x)x12;對于二進制乘法來說,f(x)x12的意義是將發送數據比特序列左移12位,用來放入余數; ②將f(x)xk除以生成多項式G(x),得: 式中R(x)為余數多項式。2023/2/326計算機網絡4.1差錯產生與差錯控制方法

③將f(x)xk+R(x)作為整體,從發送端通過通信信道傳送到接收端; ④接收端對接收數據多項式f(x)采用同樣的運算,即

求得余數多項式R'(x);⑤接收端根據計算余數多項式R'(x)是否等于接收余數多項式R(x),來判斷是否出現傳輸錯誤。2023/2/327計算機網絡4.1差錯產生與差錯控制方法 實際的CRC校驗碼生成是采用二進制模二算法,即減法不錯位,加法不進位,這是一種異或操作。我們可以用下面的實例來進一步說明CRC校驗碼的生成過程:

①發送數據比特序列為1010001101;

②事先選定的多項式比特序列為110101(6比特,k=5);余數至少要比除數少1個比特。至于多項式的選定應參照國際標準。

③將發送數據比特序列乘以25,那么產生的乘積應為101000110100000;2023/2/328計算機網絡4.1差錯產生與差錯控制方法

④將乘積用生成多項式比特序列去除,按模二算法。 用模2運算進行加法時不進位,減法和加法是一樣的。例如,1111+1010=0101。 求得余數比特序列為01110;

⑤將余數比特序列加到乘積中得:

101000110100000+01110=101000110101110 如果在數據傳輸過程中沒有發生傳輸錯誤,那么接收端接收到的帶有CRC校驗碼的接收數據比特序列一定能被相同的生成多項式整除。2023/2/329計算機網絡循環冗余原理說明2023/2/330計算機網絡循環冗余原理說明即:101000110101110÷110101=1101010110余數為0。2023/2/331計算機網絡4.1差錯產生與差錯控制方法 CRC校驗碼的檢錯能力很強;只要適當地設置好G(x)就能: ①能檢查出全部單個錯; ②能檢查出全部離散的二位錯; ③能檢查出全部奇數個錯; ④能檢查出全部長度小于或等于k位的突發錯; ⑤能以[1-(1/2)k-1]的概率檢查出長度為(k+1)位的突發錯。2023/2/332計算機網絡4.1差錯產生與差錯控制方法

4.1.7校驗和 在高層協議中使用的檢錯的方法稱為核驗和。和VRC,LRC和CRC一樣,校驗和也基于冗余概念。

1.校驗和生成器 在發送方,校驗和生成器將數據單元細分成大小都為16比特的分段。這些分段采用反碼算法加在一起,使得整個結果仍然是16比特長。該總和(校驗和)隨后取反,并當作冗余位加在原始數據單元的末尾,稱作校驗和字段。如果數據段的和是T,校驗和就是-T。2023/2/333計算機網絡4.1差錯產生與差錯控制方法2023/2/334計算機網絡4.1差錯產生與差錯控制方法 發送方遵循以下步驟:

●數據單元被分成K段,每段n比特。

●將所有段按反碼方式相加求和。

●對最后結果取反得到校驗和。

●將校驗和與數據一起發送。 接收方遵循以下步驟:

●數據單元被分成k段,每段n比特。

●將所有段按反碼方式相加求和。

●和取反。

●如果結果為0,則接收數據;否則拒絕。2023/2/335計算機網絡4.1差錯產生與差錯控制方法2023/2/336計算機網絡4.1差錯產生與差錯控制方法

2.校驗和校驗器 接收方按照上面的方式切分數據單元,將所有分段相加并對結果取反。如果擴展的數據單元是完整正確的,那么各數據段和校驗和字段相加的最后結果應該是零(T加-T是零)。如果結果不是零,就意味著數據包包含著差錯,因而接收方拒絕接收該數據單元。2023/2/337計算機網絡4.1差錯產生與差錯控制方法 例假設要發送下面的16位數據,采用8位校驗和。

←1010100100111001 采用反碼算法相加數據:

10101001

00111001

11100010

校驗和

00011101 發送的比特模式是:

101010010011100100011101

校驗和2023/2/338計算機網絡4.1差錯產生與差錯控制方法

例現假定接收方無差錯地收到上例發送的比特模式。

101010010011100100011101

當接收方將三段數據相加后得到全1。求反后,變成全0,表示沒有差錯。

10101001 00111001 00011101

和 11111111

求反 00000000

這就是說比特模式是正確的。2023/2/339計算機網絡4.1差錯產生與差錯控制方法

例現假定存在長度為5的突發差錯,改變了4比特。

101011111111100100011101

接方將三段數據相加,得到:

10101111

11111001 00011101

結果111000101

進位 1

和 11000110

求反 00111001這就是說比特模式被破壞了。2023/2/340計算機網絡4.1差錯產生與差錯控制方法

4.1.8糾錯 糾錯可以通過兩種方式進行。一種方式是當發現差錯時,接收方可以讓發送方重新發送整個數據單元。另一種方法是用糾錯碼,自動糾正一些差錯。 理論上,可以自動糾正任何一種二進制編碼差錯。但是糾錯碼比檢錯碼要復雜得多,并且需要占據更多的冗余比特位。因此,大多數糾錯技術都局限于一個、兩個或者三個比特的差錯。2023/2/341計算機網絡4.1差錯產生與差錯控制方法

1.單比特糾錯 通過在數據單元上增加冗余位來進行檢測。單個的附加比特可以對任意比特序列的單比特差錯進行檢測,因為它只需要檢查兩種狀態:差錯和無錯。 如果我們在檢測出單比特差錯的同時還想糾正差錯。那么兩種狀態只夠用來檢錯,卻不足以用來糾錯。2023/2/342計算機網絡4.1差錯產生與差錯控制方法 為糾正差錯,接收方只需要將改變的比特再改變一次就可以了。但是為實現糾錯,必須知道差錯的比特位。 例如,為糾正一個ASCII字符中的單比特差錯,糾錯碼必須確定7個比特中的哪一個發生了改變。在這種情況下,就必須在8個狀態之間進行區分:無錯,位置1錯,位置2錯,一直到位置7錯。為實現這一點,就需要足夠的冗余比特來表示所有8個狀態。2023/2/343計算機網絡4.1差錯產生與差錯控制方法

初看起來,三比特的冗余碼就足夠了,因為三比特可以代表8種不同狀態(000~111)且隨之還為8種不同可能進行了定位。但是如果差錯發生在冗余位本身上呢?七位數據(ASCII字符)加上三位冗余共是10位。但是三比特只能識別8種可能。為覆蓋所有的差錯可能性,還必須有附加的比特。2023/2/344計算機網絡4.1差錯產生與差錯控制方法

冗余比特 為計算糾正一個給定數量(m)的數據位數所需要的冗余位的數量(r),必須找到m和r之間的關系。下圖顯示了m位數據和附加的r冗余位。最后編碼的總長是m+r。2023/2/345計算機網絡4.1差錯產生與差錯控制方法 如果可傳輸單元的總比特數是m+r,那么r必須能至少代表m+r+1種狀態。在這些狀態中,一種狀態代表無錯,其他m+r種狀態代表在m+r位每個位置上發生的差錯。 因此,必須能夠通過r位來發現所有的m+r+1種狀態,而r比特可以代表2r種不同狀態。2r必須大于或等于m+r+1:

2r≥m+r+12023/2/346計算機網絡4.1差錯產生與差錯控制方法 r的值可以通過插入m(要傳輸的數據單元的原始長度)的值來得到。例如,如果m的值是7(就如同七位ASCII碼一樣),滿足上述公式的最小的位是4:

24≥7+4+12023/2/347計算機網絡4.1差錯產生與差錯控制方法

2.海明碼

R.W.Hamming提出的一種利用冗余比特來發現差錯狀態的技術,叫海明碼。 (1)定位冗余比特 海明碼可以在任意長度的單元上應用,并能利用上面討論的數據和冗余比特之間的關系。例如,一個七位ASCII碼需要在數據單元末尾附加或者在原始數據中間插入4個冗余比特。2023/2/348計算機網絡4.1差錯產生與差錯控制方法 圖中,冗余比特被放在位置1,2,4和8上(這些位置都是2的冪次序列)。為清楚表明下面的例子,我們將這些位表示為,r1,r2,r4以及r8。2023/2/349計算機網絡4.1差錯產生與差錯控制方法 在海明碼中,每個冗余比特都是一組數據比特的VRC位;r1是一組數據比特的VRC位,r2是另一組數據比特的VRC位,等等。在七位數據序列中用來計算四個冗余比特位的比特組合如下:

r1:第1,3,5,7,9,11比特 r2:第2,3,6,7,10,11比特 r4:第4,5,6,7比特

r8:第8,9,10,11比特2023/2/350計算機網絡4.1差錯產生與差錯控制方法

(2)計算冗余比特值 首先將原始字符的每個比特都填入單元中的對應位置。隨后,對不同的比特組合計算它們的偶校驗。每一種組合的校驗值就對應冗余位的值。例如:r1是第3,5,7,9和11位的偶校驗,r2是第3,6,7,10和11位的偶校驗,等等。最后的11位編碼通過傳輸線路發送出去。2023/2/351計算機網絡海明碼編碼2023/2/352計算機網絡4.1差錯產生與差錯控制方法 (3)檢錯與糾錯 假設在上述傳輸被接收時,第7位從1變成了0。2023/2/353計算機網絡4.1差錯產生與差錯控制方法 接收方接收該傳輸并采用與發送方計算每個冗余比特時相同的比特組加上對應每一組的驗位來重新計算4個新的VRC。然后將新的校驗值按照冗余比特位置(r8,r4,r2,r1)組裝成一個二進制數。在本例中,這一步的結果是0111(十進制7),這就指出了發生差錯比特的位置在第7位。 一旦確定了發生差錯的比特,接收方就可以將該比特值取反并糾正該差錯。2023/2/354計算機網絡海明碼糾錯2023/2/355計算機網絡4.1差錯產生與差錯控制方法

4.1.9差錯控制機制

1.反饋重發機制 接收端可以通過檢錯碼檢查傳送一幀數據是否出錯,一旦發現傳輸錯誤,則通常采用反饋重發(AutomaticRepeatreQuest)ARQ方法來糾正。

2.反饋重發機制的分類

反饋重發糾錯實現方法有兩種:

●停止等待方式●連續工作方式2023/2/356計算機網絡4.1差錯產生與差錯控制方法反饋重發機制2023/2/357計算機網絡4.1差錯產生與差錯控制方法

(1)停止等待方式 在停止等待方式中,發送方在發送完一數據幀后,要等待接收方的應答幀的到來。應答幀表示上一幀已正確接收,發送方就可以發送下一數據幀,否則重發出錯數據幀。停止等待ARQ協議簡單,但系統通信效率低。2023/2/358計算機網絡4.1差錯產生與差錯控制方法

(2)連續工作方式 為了克服停止等待ARQ協議的缺點,人們提出了連續ARQ協議。實現連續ARQ協議的方法有兩種:

●拉回方式●選擇重發方式 在拉回方式中,發送方可以連續向接收方發送數據幀,接收方對接收的數據幀進行校驗,然后向發送方發回應答幀。2023/2/359計算機網絡連續ARQ-拉回方式2023/2/360計算機網絡4.1差錯產生與差錯控制方法

選擇重發方式與拉回方式的區別: 如果在發送完編號為5的數據幀時,接收到編號為2的數據幀傳輸出錯的應答幀,那么發送方在發送完編號為5的數據幀后,只重發出錯的2號數據幀。 選擇重發完后,接著發送編號為6的數據幀。 選擇重發方式的效率將高于拉回方式。2023/2/361計算機網絡連續ARQ-選擇重發方式2023/2/362計算機網絡4.2數據鏈路層的基本概念

4.2.1物理線路與數據鏈路

鏈路:點對點的線路段,也就是物理線路。

數據鏈路:將通信協議的硬件和軟件加到物理線路上。2023/2/363計算機網絡4.2數據鏈路層的基本概念

4.2.2數據鏈路控制

數據鏈路層協議:為實現數據鏈路控制功能而制定的規程或協議。 數據鏈路控制的主要功能:

(1)鏈路管理 數據鏈路的建立、維持和釋放。

(2)幀同步 物理層的比特流按照數據鏈路層協議的規定被封裝在數據幀中傳送。幀同步是指接收方應當從收到的比特流中區分完整的數據幀。2023/2/364計算機網絡4.2數據鏈路層的基本概念

(3)流量控制 控制收發方的速率。

(4)差錯控制 使接收方能發現傳輸錯誤并能糾正錯誤。

(5)透明傳輸 能正確區分控制字符和數據。

(6)尋址 保證數據幀能正確到達目的結點。2023/2/365計算機網絡4.2數據鏈路層的基本概念

4.2.3數據鏈路層向網絡層提供的服務

數據鏈路層服務的類型:

(1)面向連接確認服務 具有數據鏈路的建立、傳輸、釋放等階段。

(2)無連接確認服務 源主機要對數據幀進行編號,目的主機對數據幀進行確認。

(3)無連接不確認服務2023/2/366計算機網絡虛擬數據路徑2023/2/367計算機網絡實際數據路徑2023/2/368計算機網絡4.3面向字符型協議實例

4.3.1數據鏈路層協議的分類2023/2/369計算機網絡4.3面向字符型協議實例

面向字符型協議可以利用ASCII碼中的10個控制字符(如:SOH,ACK,SYN)來實現通信控制功能。

缺點: 使用不同字符集的兩臺計算機很難利用面向字符型協議進行通信。 控制字符的編碼不能在用戶數據字段中出現。 如:SYN編碼為:0010110,如果出現就會引起通信控制錯誤。2023/2/370計算機網絡4.3面向字符型協議實例

4.3.2面向字符型協議實例:BSC 面向字符型協議是以字符為控制傳輸信息的基本單元。

1.控制字符 (1)格式字符 SOH(startofheading) 報頭開始

STX(startoftext) 正文開始

ETB(endoftransmissionblock)信息結束 ETX(endoftext) 正文結束BSC:BinarySynchronousCommunication2023/2/371計算機網絡4.3面向字符型協議實例

(2)控制字符 ACK(acknowledge) 肯定應答

NAK(negativeacknowledge)否定應答 ENQ(enquire) 詢問 EOT(endoftransmission)傳輸結束 SYN(synchrous) 同步 DLE(datalinkescape) 轉義字符2023/2/372計算機網絡4.3面向字符型協議實例2.數據報文格式 面向字符型BSC協議的數據報文格式:2023/2/373計算機網絡BSC數據幀實例2023/2/374計算機網絡BSC數據幀實例2023/2/375計算機網絡2023/2/376計算機網絡數據透明性

數據通信中的數據透明性意味著必須能夠把任何比特組合當作數據發送。BSC中的數據透明性是通過數據鏈路轉義DLE字符定義透明文本區域,然后在透明文本區域內的DLE字符之前加上一個附加的DLE字符。2023/2/377計算機網絡4.3面向字符型協議實例

3.轉義字符的使用 當正文出現與控制字符相同的編碼時,自動在前面插入一個DLE字符。接收方則自動刪除多余的DLE字符。

4.面向字符型協議的執行過程 在正式發送數據報文之前,首先發送控制報文ENQ,詢問是否同意接收。同意后發送確認報文ACK。然后雙方進入數據報文傳輸狀態。2023/2/378計算機網絡4.3面向字符型協議實例2023/2/379計算機網絡4.4面向比特型協議實例

4.4.1HDLC產生的背景 面向字符型協議的特點是建立、維護與釋放數據鏈路的控制由一些規定的控制字符完成。

BSC協議的主要缺點:

①控制報文與數據報文格式不一致; ②采用停止等待發送方式,收發雙方交替地工作,協議效率低,通信線路利用率低。 ③協議只對數據部分進行差錯控制,系統可靠性較差。 ④每增加一種功能就要設定一個新的控制字符2023/2/380計算機網絡4.4面向比特型協議實例

4.4.2數據鏈路的配置和數據傳送方式 數據鏈路的配置方式有兩種:非平衡配置與平衡配置。

1.非平衡配置方式 (1)非平衡配置中的主站與從站

主站:控制數據鏈路的工作過程。發出命令

從站:接受命令,發出響應,配合主站工作

非平衡配置方式又分為:點對點和多點方式2023/2/381計算機網絡數據鏈路配置2023/2/382計算機網絡4.4面向比特型協議實例 (2)正常響應模式與異步響應模式 非平衡配置有兩種數據傳送方式:正常響應模式與異步響應模式

正常響應模式(normalresponsemode,NRM) 主站可以隨時向從站傳輸數據幀; 從站只有在主站向它發送命令幀進行探詢,從站響應后才可以向主站發送數據幀。2023/2/383計算機網絡多點輪詢2023/2/384計算機網絡4.4面向比特型協議實例

異步響應模式(asynchronousresponsemode,ARM) 主站和從站可以隨時相互傳輸數據幀; 從站可以不需要等待主站發出探詢就可以發送數據; 主站負責數據鏈路的初始化、鏈路的建立、釋放與差錯恢復等功能。2023/2/385計算機網絡4.4面向比特型協議實例

2.平衡配置方式

鏈路兩端的兩個站都是復合站(combinedstation); 復合站同時具有主站與從站的功能; 每個復合站都可以發出命令與響應; 平衡配置結構中只有異步平衡模式(asynchronousbalancedmode,ABM); 異步平衡模式的每個復合站都可以平等地發起數據傳輸,而不需要得到對方復合站的許可。2023/2/386計算機網絡4.4面向比特型協議實例

4.4.3HDLC的幀結構

1.幀結構中各字段的意義

幀在OSI術語中是數據鏈路協議數據單元(DL-PDU)。網絡層向數據鏈路層提交的傳輸分組在HDLC中叫做信息字段。數據鏈路層在信息字段的頭尾加上控制信息,就構成了一個完整的幀。2023/2/387計算機網絡4.4面向比特型協議實例

(1)標志字段F(Flag) 固定格式—01111110

作用—幀同步傳輸數據的透明性(零比特插入與刪除) 在傳輸過程中,如果出現和標志字段一樣的比特組合,就要采用零比特插入與刪除方法。 采用0比特插入與刪除方法后,幀內就可以傳送任意組合的比特序列,即可以實現數據鏈路層的透明傳輸。2023/2/388計算機網絡零比特插入/刪除工作過程2023/2/389計算機網絡4.4面向比特型協議實例

(2)地址字段A(Address) 地址字段長度可以是8位的整數倍。當地址字段的首位為1時表示地址字段為8位;當首位為0時表示地址字段長度為16位。因此HDLC可以標識多于256個站地址。 當使用非平衡方式傳送數據時,地址字段總是填入從站地址;當使用平衡方式傳送數據時,地址字段填入應答站地址。如果地址字段為全1時,表示為廣播地址,則要求網中所有站都要接收該幀。2023/2/390計算機網絡4.4面向比特型協議實例

(3)控制字段C(Control) 控制字段C共8位,HDLC的許多重要功能都要靠控制字段來實現。 根據控制字段最前面兩個比特的取值,可以將HDLC幀劃分為3大類:

信息幀—I(Information)幀

監控幀—S(Supervisory)幀

無編號幀—U(Unnumbered)幀 2023/2/391計算機網絡4.4面向比特型協議實例N(S)—發送序號N(R)—接收序號P/F—探詢/終止2023/2/392計算機網絡4.4面向比特型協議實例

(4)信息字段I(Information) 由于采用了0比特插入/刪除方法,因此信息字段允許任意的二進制比特序列的組合。信息字段僅出現在信息幀與無編號幀中,它是網絡層的用戶數據。

(5)幀校驗字段

FCS(FrameCheckSequence) HDLC采用CRC校驗方式,含有兩字節或四字節的CRC校驗碼。生成多項式采用CRC-CCITT(即:G(X)=X16+X12+X5+1)校驗A、C、I字段的數據。2023/2/393計算機網絡4.4面向比特型協議實例

2.信息幀 (1)發送序號N(S)與接收序號N(R)

當b0=

0時,該幀為信息幀。b1、b2、b3為發送序號N(S),b5、b6、b7為接收序號N(R)。由于是全雙工通信,所以通信的每一方都各有一個N(S)和N(R)。 例如,一個幀中N(S)=3,N(R)=7的意義是:目前發送的是序號為3的幀,已經正確接收了序號為6的幀,要求對方下一次發送序號為7的幀。這樣雙方就可以在交換信息幀的同時完成接收確認的功能,而不需要專門為接收信息幀而發送確認應答幀。2023/2/394計算機網絡4.4面向比特型協議實例 (2)探詢/終止位的意義 控制字段C的b4為探詢/終止(Poll/Final)位,簡稱為P/F位。 如果P/F=0,則表示該位沒有意義; 如果P=1,則為探尋;F=1,則為終止。 P=1與F=1在交換過程中應成對的出現。2023/2/395計算機網絡4.4面向比特型協議實例

3.監控幀 若控制字段C的b0=1、b1=0則對應的幀為監控幀(S幀)。監控幀共有4種,取決于b2、b3的取值。 S=00,RR(receiveready)準備接收 S=01,RNR(receivenotready)沒準備好

S=10,RJE(reject)拒絕

S=11,SREJ(selectreject)選擇性拒絕 上述4種監控幀中,前3種用在連續ARQ協議中,而最后一種只用于選擇重傳ARQ協議中。2023/2/396計算機網絡4.4面向比特型協議實例 所有的監控幀都不包含要傳送的數據信息,因此監控幀只有48位長。監控幀不需要有發送序號N(S),但是需要有接收序號N(R)。 RR幀和RNR幀除具有幀確認作用外,還具有流量控制的作用。RR幀表示已做好接收幀的準備,希望對方繼續發送,而RNR幀則表示要求對方暫停發送,這可能是由于接收端來不及處理到達的幀,或緩沖區已滿。 監控幀的b4也是P/F位。P/F=1時才有意義。P=1與F=1是成對出現的,一方作為探詢,要求另一方應答。探詢方要將置P=1,應答方在發送狀態信息的同時將置F=1,作為對探詢的應答。2023/2/397計算機網絡4.4面向比特型協議實例4.無編號幀用于實現數據鏈路控制功能2023/2/398計算機網絡4.4面向比特型協議實例

4.4.4數據鏈路層的工作過程 簡化的信息幀結構的表示方法2023/2/399計算機網絡4.4面向比特型協議實例2023/2/3100計算機網絡4.4面向比特型協議實例

SNRM幀與UA幀結構的表示方法

數據鏈路層的工作,使收發雙方可以有條不紊、正確地完成數據幀的傳輸,使得在物理線路上可能出現的數據傳輸錯誤得到及時的發現與糾正,從而提高了數據傳輸的可靠性。2023/2/3101計算機網絡正常響應模式數據鏈路工作2023/2/3102計算機網絡4.4面向比特型協議實例2023/2/3103計算機網絡4.4面向比特型協議實例 兩個結點之間要傳輸數據首先要建立物理線路的連接,建立了物理線路的連接才能傳輸比特流。在系統傳輸比特流之后才有可能建立數據鏈路。建立數據鏈路之后才能進入數據幀的傳輸階段。 當數據幀傳輸結束時,需要釋放數據鏈路。數據鏈路釋放了,但物理線路連接還應該是存在著的。最后才是釋放物理線路的連接。只有在釋放了物理線路的連接之后,兩個結點之間的通信關系才完全解除。因此,物理連接與數據鏈路連接是有區別的。2023/2/3104計算機網絡4.4面向比特型協議實例 數據鏈路連接是建立在物理連接之上的。在物理層完成物理連接并提供比特流傳輸能力的基礎上,數據鏈路層使用物理層的服務來傳輸數據鏈路層協議數據單元(幀)。HDLC中的控制幀用于數據鏈路的建立、數據鏈路維護與數據鏈路釋放,以及信息幀發送過程中的流量控制與差錯控制功能,以保證信息幀在數據鏈路上的正確傳輸,從而完成參考模型規定數據鏈路層基本功能得實現,為網絡層提供可靠得結點與結點間幀傳輸服務。2023/2/3105計算機網絡多點輪詢實例2023/2/3106計算機網絡多點輪詢實例2023/2/3107計算機網絡2023/2/3108計算機網絡無編號幀2023/2/3109計算機網絡2023/2/3110計算機網絡4.5數據鏈路層滑動窗口協議與幀傳輸效率分析4.5.1數據鏈路層滑動窗口協議的分類2023/2/3111計算機網絡4.5數據鏈路層滑動窗口協議與幀傳輸效率分析4.5.2單幀停止等待協議2023/2/3112計算機網絡單幀停止等待協議效率的分析2023/2/3113計算機網絡數據幀傳輸延時討論傳播延時:tp發送延時:tf,ta處理延時:tpr幀傳輸總延時:tT=tp+tf+tpr+ta+tp+tpr簡化后的總延時:tT≈tf+2tp停止等待協議幀傳輸效率:U=tf/(tf+2tp)=1/(1+2a)其中:a=傳播延時/發送延時=tp/tf2023/2/3114計算機網絡多幀連續發送協議2023/2/3115計算機網絡滑動窗口控制機制的基本工作原理2023/2/3116計算機網絡選擇重發糾錯滑動窗口控制過程2023/2/3117計算機網絡4.6Internet中的數據鏈路層

4.6.1Internet中主要的數據鏈路層協議

SLIP(SerialLineIP)

串行線路的Internet數據鏈路層協議

PPP(Point-to-PointProtocol)

點-點協議 SLIP與PPP用于串行通信的撥號線路上,是目前家庭計算機或公司用戶通過ISP接到Internet主要的協議。

2023/2/3118計算機網絡4.6Internet中的數據鏈路層

4.6.2SLIP協議

SLIP出現于20世紀80年代初,最早是在BSDUNIX4.2版操作系統上實現的; SLIP協議支持TCP/IP協議; 對數據報進行了簡單的封裝,然后來用RS-232接口串行線路進行傳輸; SLIP通常也用來將遠程終端連接到Unix主機,也可通過租用或撥號串行線路進行主機到路由器,以及路由器到路由器的通信。2023/2/3119計算機網絡4.6Internet中的數據鏈路層

1.典型的SLIP接入方式

Internet的家庭或小型公司用戶通過調制解調器、電話網絡連接到ISP的調制解調器; ISP的調制解調器再通過它的路由器接入Internet; SLIP系統一般可以發送和接收1006B的IP數據報。2023/2/3120計算機網絡4.6Internet中的數據鏈路層

2.SLIP協議的幀結構

SLIP幀頭與幀尾的“C0”,是協議使用的惟一的一個控制字符; C0的二進制編碼比特序列是10110000; C0的使用將影響SLIP幀數據的透明性。

2023/2/3121計算機網絡SLIP報文的封裝2023/2/3122計算機網絡4.6Internet中的數據鏈路層 3.SLIP協議的缺點 使用SLIP協議時,通信的雙方都必須知道對方的IP地址,因為SLIP協議沒有為它們提供相互交換地址信息的方法; 沒有設置協議類型字段,不具備同時處理多種網絡層協議的能力; 沒有校驗和字段,差錯控制功能由高層的協議承擔; SLIP協議并不是Internet的協議標準,因此不同版本的之間就會存在著差別,使得互連變得困難。2023/2/3123計算機網絡4.6Internet中的數據鏈路層

4.6.3PPP協議基本特點

PPP協議是Internet標準,RFC1660、RFC1661定義了PPP協議與幀結構; PPP協議處理了差錯檢測,支持面向字符型協議與面向比特型協議,可以支持IP協議及其他一些網絡層協議(例如IPX協議); PPP協議在撥號電話線路上和路由器─路由器之間的專用線上廣泛應用; PPP協議是在大多數家庭個人計算機和ISP之間使用的協議,它可以作為在高速廣域網和社區寬帶網協議族的一部分。2023/2/3124計算機網絡PPP協議的功能 用于串行鏈路的基于HDLC數據幀封裝機制。

鏈路控制協議LCP(LinkControlProtocol)用于建立、配置、管理和測試數據鏈路連接。

網絡控制協議NCP(NetworkControlProtocol)用以建立和配置不同的網絡層協議。 建立通信時:PPP鏈路的每個端結點首先要發送LCP數據幀,配置和測試數據鏈路。然后發送NCP數據幀,以選擇和配置網絡協議。

PPP協議幀可以分為:PPP信息幀、LCP幀和NCP幀。2023/2/3125計算機網絡4.6Internet中的數據鏈路層

1.PPP信息幀格式

PPP信息幀格式與HDLC幀格式類似,由幀頭、信息字段和幀尾3部分組成。 (1)標志(flag)字段 長度為1字節,用于比特流的同步。標志為:011111102023/2/3126計算機網絡4.6Internet中的數據鏈路層 (2)地址(address)字段 長度為1字節,值為“FF”(11111111),表示網中所有的站都接收該幀。 (3)控制(control)字段 長度為1字節,值為“03”(00000011)。 (4)協議(protocol)字段 長度為2字節,它標識出網絡層協議數據域的類型。常用的網絡層協議的類型主要有:

0021H—TCP/IP0023H—OSI0027H—DEC2023/2/3127計算機網絡4.6Internet中的數據鏈路層

(5)數據字段 數據字段長度可變,包含要傳送的數據。 (6)幀校驗字段(FCS)

長度為2個字節,用于保證數

溫馨提示

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

評論

0/150

提交評論