計算機網(wǎng)絡(luò)及通信課件第04章 數(shù)據(jù)鏈路層協(xié)議_第1頁
計算機網(wǎng)絡(luò)及通信課件第04章 數(shù)據(jù)鏈路層協(xié)議_第2頁
計算機網(wǎng)絡(luò)及通信課件第04章 數(shù)據(jù)鏈路層協(xié)議_第3頁
計算機網(wǎng)絡(luò)及通信課件第04章 數(shù)據(jù)鏈路層協(xié)議_第4頁
計算機網(wǎng)絡(luò)及通信課件第04章 數(shù)據(jù)鏈路層協(xié)議_第5頁
已閱讀5頁,還剩105頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章數(shù)據(jù)鏈路層協(xié)議4.1數(shù)據(jù)鏈路層的功能與協(xié)議4.2流量控制方法

4.3差錯控制方法

4.4高級數(shù)據(jù)鏈路控制(HDLC)協(xié)議4.5因特網(wǎng)中的點對點協(xié)議(PPP)數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層使用的信道主要有以下兩種類型:點對點信道。這種信道使用一對一的點對點通信方式。廣播信道。這種信道使用一對多的廣播通信方式,因此過程比較復(fù)雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協(xié)議來協(xié)調(diào)這些主機的數(shù)據(jù)發(fā)數(shù)據(jù)鏈路層的簡單模型局域網(wǎng)廣域網(wǎng)主機

H1主機

H2路由器

R1路由器

R2路由器

R3電話網(wǎng)局域網(wǎng)主機

H1

H2

發(fā)送數(shù)據(jù)鏈路層應(yīng)用層運輸層網(wǎng)絡(luò)層物理層鏈路層應(yīng)用層運輸層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層R1R2R3H1H2從層次上來看數(shù)據(jù)的流動數(shù)據(jù)鏈路層的簡單模型(續(xù))局域網(wǎng)廣域網(wǎng)主機

H1主機

H2路由器

R1路由器

R2路由器

R3電話網(wǎng)局域網(wǎng)主機

H1

H2

發(fā)送數(shù)據(jù)鏈路層應(yīng)用層運輸層網(wǎng)絡(luò)層物理層鏈路層應(yīng)用層運輸層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層鏈路層網(wǎng)絡(luò)層物理層R1R2R3H1H2僅從數(shù)據(jù)鏈路層觀察幀的流動鏈路(link)是一條無源的點到點的物理線路段,中間沒有任何其他的交換結(jié)點。一條鏈路只是一條通路的一個組成部分。數(shù)據(jù)鏈路(datalink)除了物理線路外,還必須有通信協(xié)議來控制這些數(shù)據(jù)的傳輸。若把實現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路。現(xiàn)在最常用的方法是使用適配器(即網(wǎng)卡)來實現(xiàn)這些協(xié)議的硬件和軟件。一般的適配器都包括了數(shù)據(jù)鏈路層和物理層這兩層的功能。

IP數(shù)據(jù)報1010……0110幀取出數(shù)據(jù)鏈路層網(wǎng)絡(luò)層鏈路結(jié)點A結(jié)點B物理層數(shù)據(jù)鏈路層結(jié)點A結(jié)點B幀(a)(b)發(fā)送幀接收鏈路IP數(shù)據(jù)報1010……0110幀裝入數(shù)據(jù)鏈路層傳送的是幀數(shù)據(jù)鏈路層應(yīng)用:WAN連接Service

Provider廣域網(wǎng)連接的場所根據(jù)用戶不同的需求提供不同的連接方案點到點專線同步串口TelephoneCompany電路交換異步串口ServiceProvider分組交換連接同步串口專線點到點的鏈接方式;提供專用的永久連接;當經(jīng)常與多個地點連接時,使用專線是主要的方法。點到點專線同步串口電路交換被廣泛使用于電話公司的網(wǎng)絡(luò)中,ISDN、PSTN就是廣域網(wǎng)電路交換的一個例子。主要用于把臨時的遠程用戶和移動用戶連接到局域網(wǎng),還常用于高速線路的備份。TelephoneCompany電路交換異步串口分組交換連接廣域網(wǎng)的一種交換方式,網(wǎng)絡(luò)設(shè)備共享一條點到點的線路,將數(shù)據(jù)包從源端經(jīng)過通信網(wǎng)絡(luò)傳送到目的地址;幀中繼,X.25都是廣域網(wǎng)分組交換技術(shù)的實例幀中繼是一種節(jié)省成本的方法,通過虛電路與其他站點連接,幀中繼大多由通信公司服務(wù)供應(yīng)商實現(xiàn)。ServiceProvider分組交換連接同步串口從數(shù)據(jù)鏈路層看,數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時是以幀為單位進行傳輸?shù)?,不同網(wǎng)絡(luò)使用不同的協(xié)議封裝數(shù)據(jù)幀,定義的幀格式也不一樣。以太網(wǎng)點對點網(wǎng)絡(luò)f0/0s0/0s0/0f0/0Ethernet幀HDLC幀PPP幀Ethernet幀或以太網(wǎng)路由器具有協(xié)議轉(zhuǎn)換功能,當它收到一個數(shù)據(jù)幀后,會把幀拆開,取出其中的數(shù)據(jù)報,經(jīng)路由處理后,再用出口的數(shù)據(jù)鏈路層協(xié)議封裝數(shù)據(jù)幀。數(shù)據(jù)鏈路層協(xié)議應(yīng)用場合舉例

如何在有差錯的線路上,進行無差錯傳輸。

數(shù)據(jù)鏈路層的主要問題數(shù)據(jù)鏈路層要解決的基本問題?發(fā)送方:?接收方:?傳輸過程:!解決這些問題,是數(shù)據(jù)鏈路層的主要任務(wù)。!針對這些問題所制定的通信規(guī)程就是數(shù)據(jù)鏈路層的通信協(xié)議。以多快的速度發(fā)送數(shù)據(jù)幀,即每幀之間相隔多長時間?如何確認對方是否收到數(shù)據(jù)?是否接收到正確的數(shù)據(jù)幀?如何告訴發(fā)送方?能及時處理接收到的數(shù)據(jù)幀嗎?會出錯嗎?會丟失數(shù)據(jù)幀嗎?

數(shù)據(jù)鏈路層的主要功能

數(shù)據(jù)鏈路層最重要的作用就是:通過一些數(shù)據(jù)鏈路層協(xié)議,在不太可靠的物理鏈路上實現(xiàn)可靠的數(shù)據(jù)傳輸。其主要功能可歸納如下:

(1)鏈路管理

(2)幀定界

(3)流量控制

(4)差錯控制

(5)將數(shù)據(jù)和控制信息區(qū)分開

(6)透明傳輸

(7)尋址

數(shù)據(jù)鏈路層的主要功能(1)鏈路管理-當網(wǎng)絡(luò)中的兩個結(jié)點要進行通信時,數(shù)據(jù)的發(fā)方必須確知收方是否已處在準備接受的狀態(tài)。為此通信的雙方必須先要交換一些必要的信息,用術(shù)語講必須先建立一條數(shù)據(jù)鏈路。在傳輸數(shù)據(jù)時要維持數(shù)據(jù)鏈路,而在通信完畢時要釋放數(shù)據(jù)鏈路。數(shù)據(jù)鏈路的建立、維持和釋放就叫做鏈路管理。(2)幀同步-在數(shù)據(jù)鏈路層,數(shù)據(jù)的傳送單位時幀。數(shù)據(jù)一幀一幀地傳送,就可以在出現(xiàn)差錯時,將有差錯的幀再重傳一次,避免了全部數(shù)據(jù)的重傳。幀同步是指收方應(yīng)當能從收到的比特流中準確地區(qū)分出一幀的開始和結(jié)束。

數(shù)據(jù)鏈路層的主要功能(3)流量控制-發(fā)方發(fā)送數(shù)據(jù)的速率必須使收方來得及接收。當收方來不及接收時,就必須及時控制發(fā)方發(fā)送數(shù)據(jù)的速率。(4)差錯控制-在計算機通信中,一般都要求有極低的比特差錯率。為此廣泛地使用了編碼技術(shù),主要有兩大類,一類是前向糾錯,即收方收到有差錯的數(shù)據(jù)幀時能自動將差錯改正過來。這種方法的開銷較大,不適合于計算機通信。另一類是檢錯重發(fā),即收方可以檢測出收到的幀中有差錯,于是就讓發(fā)方重復(fù)發(fā)送這一幀,直到收方正確收到這一幀為止。這種方法在計算機通信中是最常用的。

數(shù)據(jù)鏈路層的主要功能(5)將數(shù)據(jù)和控制信息區(qū)分開-由于數(shù)據(jù)和控制信息都是在同一信道中傳輸,在許多情況下,數(shù)據(jù)和控制信息處于同一幀中,因此一定要有相應(yīng)的措施使收方能夠?qū)⑺麄儏^(qū)分開來。(6)透明傳輸-所謂透明傳輸就是不管所傳數(shù)據(jù)是什么樣的比特組合,都應(yīng)當能夠在鏈路上傳送。當所傳數(shù)據(jù)中的比特組合恰巧與某一個控制信息完全一樣時,就必須采取適當?shù)拇胧?,使收方不會將這樣的數(shù)據(jù)誤認為是某種控制信息。這樣才能保證數(shù)據(jù)鏈路層的傳輸是透明的。

(7)尋址-在多點連接的情況下,必須保證每一幀都能送到正確的地址。雙方也應(yīng)當知道發(fā)方是哪一個站。4.1數(shù)據(jù)鏈路層的功能與協(xié)議1.成幀和傳輸 物理層以比特為單位進行數(shù)據(jù)傳輸,數(shù)據(jù)鏈路層則把數(shù)據(jù)組織成一定大小的數(shù)據(jù)幀,以幀為單位發(fā)送、接收、校驗和應(yīng)答。 帶填充字符的首尾界符法、帶填充位的首尾標志法。(1)帶填充字符的首尾界符法圖4.1帶填充字符的首尾界符法封裝成幀(framing):在一段數(shù)據(jù)的前后分別添加首部和尾部,然后就構(gòu)成了一個幀。確定幀的界限。首部和尾部的一個重要作用就是進行幀定界。

幀結(jié)束幀首部IP數(shù)據(jù)報幀的數(shù)據(jù)部分幀尾部MTU數(shù)據(jù)鏈路層的幀長開始發(fā)送幀開始課件制作人:謝希仁用控制字符進行幀定界的方法舉例SOH裝在幀中的數(shù)據(jù)部分幀幀開始符幀結(jié)束符發(fā)送在前EOT課件制作人:謝希仁2.透明傳輸SOHEOT出現(xiàn)了“EOT”被接收端當作無效幀而丟棄被接收端誤認為是一個幀數(shù)據(jù)部分EOT完整的幀發(fā)送在前解決透明傳輸問題發(fā)送端的數(shù)據(jù)鏈路層在數(shù)據(jù)中出現(xiàn)控制字符“SOH”或“EOT”的前面插入一個轉(zhuǎn)義字符“ESC”(其十六進制編碼是1B)。字節(jié)填充(bytestuffing)或字符填充(characterstuffing)——接收端的數(shù)據(jù)鏈路層在將數(shù)據(jù)送往網(wǎng)絡(luò)層之前刪除插入的轉(zhuǎn)義字符。如果轉(zhuǎn)義字符也出現(xiàn)數(shù)據(jù)當中,那么應(yīng)在轉(zhuǎn)義字符前面插入一個轉(zhuǎn)義字符。當接收端收到連續(xù)的兩個轉(zhuǎn)義字符時,就刪除其中前面的一個。SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始數(shù)據(jù)EOTEOT經(jīng)過字節(jié)填充后發(fā)送的數(shù)據(jù)字節(jié)填充字節(jié)填充字節(jié)填充字節(jié)填充發(fā)送在前幀開始符幀結(jié)束符用字節(jié)填充法解決透明傳輸?shù)膯栴}SOH(2)帶填充位的首尾標志法 發(fā)送方數(shù)據(jù)鏈路層若在數(shù)據(jù)中遇到5個連續(xù)的1時,自動在其后填充一個0到輸出位流中。圖4.2帶填充位的首尾標志法 2.流量控制 3.差錯控制 4.鏈路管理 發(fā)送端和接收端之間通過交換控制信息,來建立、維護和釋放數(shù)據(jù)鏈路,這就是鏈路管理。圖4.3服務(wù)原語的表示方式完全理想化的數(shù)據(jù)傳輸兩臺計算機通過一條通信鏈路進行通信的筒化模型:數(shù)據(jù)鏈路層主機

A緩存主機

B數(shù)據(jù)鏈路AP2AP1緩存發(fā)送方接收方幀高層幀完全理想化的數(shù)據(jù)傳輸所基于的兩個假定

假定1:鏈路是理想的傳輸信道,所傳送的任何數(shù)據(jù)既不會出差錯也不會丟失。假定2:不管發(fā)方以多快的速率發(fā)送數(shù)據(jù),收方總是來得及收下,并及時上交主機。這個假定就相當于認為:接收端向主機交付數(shù)據(jù)的速率永遠不會低于發(fā)送端發(fā)送數(shù)據(jù)的速率。流量控制

現(xiàn)在去掉上述的第二個假定。但是,仍然保留第一個假定,即主機A向主機B傳輸數(shù)據(jù)的信道仍然是無差錯的理想信道。然而現(xiàn)在不能保證接收端向主機交付數(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)若收到由接收結(jié)點發(fā)過來的信息,則從主機取一個新的數(shù)據(jù)幀,然后轉(zhuǎn)到(2)。在接收結(jié)點:

(1)等待。

(2)若收到由發(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時間不需要流量控制需要流量控制時間ABDATA0送主機ACKDATA1送主機ACK(a)正常情況ABDATA0DATA0送主機ACK(c)數(shù)據(jù)幀丟失重傳tout丟失!ABDATA0送主機ACKDATA0丟棄ACK(d)確認幀丟失重傳tout丟失!ABDATA0NAKDATA0送主機ACK(b)數(shù)據(jù)幀出錯重傳出錯

現(xiàn)在把上述的第一、二個假定都去掉。主機A向主機B傳輸數(shù)據(jù)的信道是有差錯的非理想信道。且不能保證接收端向主機交付數(shù)據(jù)的速率永遠不低于發(fā)送端發(fā)送數(shù)據(jù)的速率。重復(fù)幀死鎖

解決死鎖問題

結(jié)點A發(fā)送完一個數(shù)據(jù)幀時,就啟動一個超時計時器(timeouttimer)。若到了超時計時器所設(shè)置的重傳時間tout而仍收不到結(jié)點B的任何確認幀,則結(jié)點A就重傳前面所發(fā)送的這一數(shù)據(jù)幀。一般可將重傳時間選為略大于“從發(fā)完數(shù)據(jù)幀到收到確認幀所需的平均時間”。

解決重復(fù)幀的問題如果是確認幀丟失,則超時重傳將使主機B收到兩個相同的數(shù)據(jù)幀,這就是重復(fù)幀。使每一個數(shù)據(jù)幀帶上不同的發(fā)送序號。每發(fā)送一個新的數(shù)據(jù)幀就把它的發(fā)送序號加1。若結(jié)點B收到發(fā)送序號相同的數(shù)據(jù)幀,就表明出現(xiàn)了重復(fù)幀。這時應(yīng)丟棄重復(fù)幀,因為已經(jīng)收到過同樣的數(shù)據(jù)幀并且也交給了主機B。但此時結(jié)點B還必須向A發(fā)送確認幀ACK,因為B已經(jīng)知道A還沒有收到上一次發(fā)過去的確認幀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和1交替的方式出現(xiàn)在數(shù)據(jù)幀中。每發(fā)一個新的數(shù)據(jù)幀,發(fā)送序號就和上次發(fā)送的不一樣。用這樣的方法就可以使收方能夠區(qū)分開新的數(shù)據(jù)幀和重傳的數(shù)據(jù)幀了。4.2流量控制方法 流量控制的作用就是防止擁塞狀態(tài)的出現(xiàn)、避免死鎖、合理分配網(wǎng)絡(luò)資源。1.停止等待協(xié)議(StopandWait)圖4.4停止等待協(xié)議2.滑動窗口協(xié)議 采用滑動窗口協(xié)議則可以無需等待應(yīng)答而允許連續(xù)發(fā)送多個幀,大大提高了鏈路利用率。圖4.5滑動窗口4.3差錯控制方法4.3.1自動請求重發(fā)(ARQ)協(xié)議1.停止等待ARQ協(xié)議圖4.6停等ARQ協(xié)議停止等待協(xié)議ARQ的優(yōu)缺點

優(yōu)點:比較簡單。缺點:通信信道的利用率不高,也就是說,信道還遠遠沒有被數(shù)據(jù)比特填滿。為了克服這一缺點,就產(chǎn)生了另外兩種協(xié)議,即連續(xù)ARQ和選擇重傳ARQ。2.后退N幀ARQ協(xié)議

在發(fā)送完一個數(shù)據(jù)幀后,不是停下來等待確認幀,而是可以連續(xù)再發(fā)送若干個數(shù)據(jù)幀。如果這時收到了接收端發(fā)來的確認幀,那么還可以接著發(fā)送數(shù)據(jù)幀。若收到對其中某一幀的否認幀,則從該幀開始的后繼幀全部重發(fā)。由于減少了等待時間,整個通信的吞吐量就提高了。后退N幀ARQ的工作原理DATA0DATA1DATA2DATA3DATA4DATA5重傳DATA2重傳DATA3ACK1ACK2ACK1確認DATA0ACK2確認DATA1DATA2出錯,丟棄DATA3不按序,丟棄,重傳ACK2DATA4不按序,丟棄,重傳ACK2DATA5不按序,丟棄,重傳ACK2ACK3ACK3確認DATA2ACK4確認DATA3ACK4重傳DATA5重傳DATA4超時重傳時間ABtout送交主機送交主機…??ACK2ACK2ACK2

需要注意(1)接收端只按序接收數(shù)據(jù)幀。雖然在有差錯的2號幀之后接著又收到了正確的3個數(shù)據(jù)幀,但接收端都必須將這些幀丟棄,因為在這些幀前面有一個2號幀還沒有收到。(2)ACK1表示確認0號幀DATA0,并期望下次收到1號幀;ACK2表示確認1號幀DATA1,并期望下次收到2號幀。依此類推。

需要注意(3)結(jié)點A在每發(fā)送完一個數(shù)據(jù)幀時都要設(shè)置該幀的超時計時器。如果在所設(shè)置的超時時間內(nèi)收到確認幀,就立即將超時計時器清零。但若在所設(shè)置的超時時間到了而未收到確認幀,就要重傳相應(yīng)的數(shù)據(jù)幀。在等不到2號幀的確認而重傳2號數(shù)據(jù)幀時,雖然結(jié)點A已經(jīng)發(fā)完了5號幀,但仍必須向回走,將2號幀及其以后的各幀全部進行重傳。后退N幀ARQ協(xié)議(Go-back-NARQ)又稱為連續(xù)ARQ,意思是當出現(xiàn)差錯必須重傳時,要向回走N個幀,然后再開始重傳。連續(xù)ARQ協(xié)議的優(yōu)缺點

連續(xù)ARQ協(xié)議一方面因連續(xù)發(fā)送數(shù)據(jù)幀而提高了效率,另一方面,在重傳時又必須把原來已正確傳送過的數(shù)據(jù)幀進行重傳,這種做法又使傳送效率降低。

若傳輸信道的傳輸質(zhì)量很差因而誤碼率較大時,連續(xù)ARQ協(xié)議不一定優(yōu)于停止等待協(xié)議。

滑動窗口的概念

在連續(xù)ARQ協(xié)議中,應(yīng)當將已發(fā)送出去但未被確認的數(shù)據(jù)幀的數(shù)目加發(fā)限制。發(fā)送端和接收端分別設(shè)定發(fā)送窗口和接收窗口。

發(fā)送窗口用來對發(fā)送端進行流量控制。發(fā)送窗口的大小WT

代表在還沒有收到對方確認信息的情況下發(fā)送端最多可以發(fā)送多少個數(shù)據(jù)幀。接收窗口用來控制接收端可以接收哪些數(shù)據(jù)幀。只有發(fā)送序號落入接收窗口內(nèi)的數(shù)據(jù)幀才可以收下。01234567012發(fā)送窗口WT不允許發(fā)送這些幀允許發(fā)送5個幀(a)01234567012不允許發(fā)送這些幀還允許發(fā)送4個幀WT已發(fā)送(b)01234567012不允許發(fā)送這些幀WT已發(fā)送(c)01234567012不允許發(fā)送這些幀還允許發(fā)送

3個幀WT已發(fā)送

已發(fā)送并已收到確認(d)當發(fā)送出數(shù)據(jù)時,滑動窗口從左邊開始收縮;當收到確認時,滑動窗口向右擴展。接收端設(shè)置接收窗口

在接收端只有當收到的數(shù)據(jù)幀的發(fā)送序號落入接收窗口內(nèi)才允許將該數(shù)據(jù)幀收下。若接收到的數(shù)據(jù)幀落在接收窗口之外,則一律將其丟棄。在連續(xù)ARQ協(xié)議中,接收窗口的大小WR=1。只有當收到的幀的序號與接收窗口一致時才能接收該幀。否則,就丟棄它。每收到一個序號正確的幀,接收窗口就向前(即向右方)滑動一個幀的位置。同時發(fā)送對該幀的確認。不允許接收這些幀01234567012WR準備接收0號幀(a)不允許接收這些幀01234567012WR準備接收

1號幀已收到(b)不允許接收這些幀01234567012WR準備接收4號幀已收到(c)

滑動窗口的重要特性

只有在接收窗口向前滑動時(與此同時也發(fā)送了確認),發(fā)送窗口才有可能向前滑動。收發(fā)兩端的窗口按照以上規(guī)律不斷地向前滑動,因此這種協(xié)議又稱為滑動窗口協(xié)議。當發(fā)送窗口和接收窗口的大小都等于1時,就是停止等待協(xié)議。選擇重傳ARQ協(xié)議

可加大接收窗口,先收下發(fā)送序號不連續(xù)但仍處在接收窗口中的那些數(shù)據(jù)幀。等到所缺序號的數(shù)據(jù)幀收到后再一并送交主機。選擇重傳ARQ協(xié)議可避免重復(fù)傳送那些本來已經(jīng)正確到達接收端的數(shù)據(jù)幀。但我們付出的代價是在接收端要設(shè)置具有相當容量的緩存空間。對于選擇重傳ARQ協(xié)議,若用n

比特進行編號,則接收窗口的最大值受下式的約束。

WR

2n/24.3.2差錯控制方法——循環(huán)冗余校驗碼(CRC) 1.CRC中的多項式

2.CRC的工作原理

可靠傳輸

雖然物理層在傳輸比特時會出現(xiàn)差錯,但由于數(shù)據(jù)鏈路層的停止等待協(xié)議采用了有效的檢錯重傳機制,數(shù)據(jù)鏈路層對上面的網(wǎng)絡(luò)層就可以提供可靠傳輸?shù)姆?wù)。檢錯方式------循環(huán)冗余檢驗的原理在數(shù)據(jù)鏈路層傳送的幀中,廣泛使用了循環(huán)冗余檢驗CRC的檢錯技術(shù)。假設(shè)待傳送的數(shù)據(jù)M=1010001101(共kbit)。我們在M的后面再添加供差錯檢測用的nbit冗余碼一起發(fā)送。冗余碼的計算用二進制的模2運算進行2n

乘M的運算,這相當于在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,M=1010001101模2運算的結(jié)果是:商Q=1101010110,余數(shù)R=01110。將余數(shù)R作為冗余碼添加在數(shù)據(jù)M的后面發(fā)送出去,即發(fā)送的數(shù)據(jù)是101000110101110,或2nM+R。循環(huán)冗余檢驗的原理說明

1101010110

Q

除數(shù)

P→

110101101000110100000

2nM被除數(shù)

110101

111011

110101

111010

110101

111110

110101

101100

110101

110010

110101

01110

R

余數(shù)循環(huán)冗余檢驗的原理說明

只要得出的余數(shù)R不為0,就表示檢測到了差錯。但這種檢測方法并不能確定究竟是哪一個或哪幾個比特出現(xiàn)了差錯。一旦檢測出差錯,就丟棄這個出現(xiàn)差錯的幀。只要經(jīng)過嚴格的挑選,并使用位數(shù)足夠多的除數(shù)P,那么出現(xiàn)檢測不到的差錯的概率就很小很小。圖4.8CRC的結(jié)構(gòu)3.舉例驗證圖4.9CRC計算過程數(shù)據(jù)鏈路控制規(guī)程分類

面向字符型(例如BSC、DDCMP、PPP異步傳輸)在這類規(guī)程中,用字符編碼集中的幾個特定字符來控制鏈路的操作,監(jiān)視鏈路的工作狀態(tài),例如,采用國際5號碼中的SOH、STX作為幀的開始,ETX、ETB作為的結(jié)束,ENQ、EOT、ACK、NAK等字符控制鏈路操作。面向比特型(例如HDLC、PPP同步傳輸)在這類規(guī)程中,采用特定的二進制序列01111110作為幀的開始和結(jié)束,以一定的比特組合所表示的命令和響應(yīng)實現(xiàn)鏈路的監(jiān)控功能,命令和響應(yīng)可以和信息一起傳送。

面向字符型數(shù)據(jù)鏈路層協(xié)議的缺點:報文格式不一樣;傳輸透明性不好;等待發(fā)送方式,傳輸效率低。面向比特型協(xié)議的設(shè)計目標:以比特作為傳輸控制信息的基本單元;數(shù)據(jù)幀與控制幀格式相同;傳輸透明性好;連續(xù)發(fā)送,傳輸效率高。4.4高級數(shù)據(jù)鏈路控制(HDLC)協(xié)議4.4.1面向字符和面向位的鏈路控制協(xié)議圖4.10IBM公司的二進制同步通信控制(BSC)協(xié)議4.4.2HDLC協(xié)議的基本概念1.3種類型的站圖4.11三種類型的站和兩種結(jié)構(gòu)2.兩種鏈路結(jié)構(gòu)圖4.12對稱結(jié)構(gòu) 3.3種操作模式

(1)NRM

(2)ARM

(3)ABMHDLC的基本工作原理(基本特征)操作方式:正常響應(yīng)方式(NRM):適用于不平衡鏈路結(jié)構(gòu),即用于點-點和點-多點的鏈路結(jié)構(gòu)中。由主站控制整個鏈路的操作,負責(zé)鏈路的初始化、數(shù)據(jù)流控制和鏈路復(fù)位等。從站只有在收到主站的明確允許后,才能發(fā)出響應(yīng)。異步響應(yīng)方式(ARM):也適用于不平衡鏈路結(jié)構(gòu)。從站可以不必得到主站的允許就可以開始數(shù)據(jù)傳輸。異步平衡方式(ABM):適用于平衡鏈路結(jié)構(gòu)。鏈路兩端的復(fù)合站具有同等的能力,不管哪個復(fù)合站均可在任意時間發(fā)送命令幀,并且不需要收到對方復(fù)合站發(fā)出的命令幀就可以發(fā)送響應(yīng)幀。4.4.3HDLC協(xié)議的幀格式圖4.13HDLC的幀格式1.標志字段(F)2.地址字段(A) 地址字段用來表示命令幀或響應(yīng)幀的地址。3.信息字段(I) 信息字段用于傳輸用戶數(shù)據(jù)。4.幀校驗字段(FCS) 幀校驗字段(FCS)共16位,采用循環(huán)冗余校驗方法,用來檢查所接收的信息是否在傳輸過程中發(fā)生了差錯。5.控制字段(C) 控制字段(C)共占8位,可構(gòu)成各種命令和響應(yīng)用來完成傳輸控制功能。4.4.4HDLC協(xié)議的主要內(nèi)容 1.信息幀

2.監(jiān)控幀

3.無編號幀信息幀:若控制字段的第1比特為0,則該幀為數(shù)據(jù)幀,用于傳送數(shù)據(jù)。比特2-4為發(fā)送序號N(S),而比特6-8為接收序號N(R)。特別強調(diào)指出:N(R)帶有確認的意思,它表示序號為N(R)-1以及在這以前的各幀都已經(jīng)正確無誤地收妥了。

控制字段(續(xù)1)01101SMP/FP/FN(S)P/FN(R)N(R)M信息幀I監(jiān)督幀S無編號幀U12345678監(jiān)督幀:用于監(jiān)視和控制數(shù)據(jù)鏈路,完成信息幀的接收確認、重發(fā)請求、暫停發(fā)送請求等功能。若控制字段的第1-2比特為10,則對應(yīng)的幀即為監(jiān)督幀S。監(jiān)督幀共有四種,取決于第3-4比特的取值。

監(jiān)控幀的名稱和功能

控制字段(續(xù)2)第3-4比特幀名功能確認,且準備接受下一幀,已收妥N(R)以前的各幀確認,暫停接收下一幀,N(R)含義同上否認,否認N(R)起的各幀,但N(R)以前的幀已收妥否認,只否認序號為N(R)的幀RR接收準備好RNR接收未準備好REJ拒絕接收SREJ選擇拒絕接收00100111無編號幀:用于數(shù)據(jù)鏈路的控制。若控制字段的第1-2比特都是1時,這個幀就是無編號幀U,無編號幀本身不帶編號,而是用5bit來表示不同功能的無編號幀。可以在任何需要的時刻發(fā)出,而不影響帶編號的信息幀的交換順序。如:B3B4B6B7B8=00001,則其功能為置正常響應(yīng)模式??刂谱侄危ɡm(xù)3)01101SMP/FP/FN(S)P/FN(R)N(R)M信息幀I監(jiān)督幀S無編號幀U12345678無編號幀的名稱和代碼名稱B3B4B6B7B8記憶符置正常響應(yīng)模式00001SNRM置異步響應(yīng)模式/斷開方式11000SARM/DM置異步平衡模式11100SABM置擴充正常響應(yīng)模式11011SNRME置擴充異步響應(yīng)模式11010SARME置擴充異步平衡模式11110SABME斷鏈/請求斷鏈00010DISC/RD置初始化/請求初始化方式10000SIM/RIM無編號探詢00100UP無編號信息00000UI交換識別11101XID復(fù)位11001RESET幀拒絕10001FRMR無編號確認00110UA(1)SARM/SABM幀(2)DISC(拆除鏈路)幀(3)UA(無序號確認響應(yīng))幀(4)FRMR(幀拒絕響應(yīng))幀/CMDR(命令拒絕響應(yīng))幀P/F位的意義(詢問/終止)

在正常響應(yīng)方式中,從站不能主動向主站發(fā)送信息,從站只有收到主站發(fā)出的P比特為1(對從站的查詢)的命令幀以后才能發(fā)送響應(yīng)幀。若從站有數(shù)據(jù)發(fā)送,則在最后一個數(shù)據(jù)幀中將F比特置1;若無數(shù)據(jù)發(fā)送,則應(yīng)在回答的S幀中將F比特置1。在異步響應(yīng)或異步平衡方式中,任何一個站都可以在主動發(fā)送的S幀和I幀中將P比特置1。對方站收到P=1的幀后,應(yīng)盡早地回答本站的狀態(tài)并將F比特置1。P/F位的使用方法圖中主站A和從站B、C連成多點鏈路,傳送幀的一些主要參數(shù)按照“地址,幀名和序號,P/F”的先后順序標注。這里的地址是指地址字段中應(yīng)填入的站地址;幀名是指幀的名稱,如RR、I;序號是指監(jiān)控幀中的N(R)或信息幀中的N(S)和N(R),如RR4、I31(第1個數(shù)字是N(S),第2個數(shù)字是N(R))。P/F是在其為1時才寫上P或F,表明此時控制字段的第5比特為1。P/F位的使用方法主站A先詢問B站:“B站,若有信息,請立刻發(fā)送”。這時A站發(fā)送的幀是RR監(jiān)控幀,并將N(R)置0,表示期望收到對方的0號幀。因此在圖中將這樣的幀記為“B,RR0,P”。對主站的這一命令,B站響應(yīng)以連續(xù)4個信息幀,其序號N(S)從0到3。最后在第4個信息幀中將F置1,表示“我要發(fā)送的信息已發(fā)完”。這個幀記為“B,I30,F”。A站在收到B站發(fā)來的4個信息幀后,發(fā)回確認幀RR4(這時N(R)=4)。我們注意到這時P/F比特并未置1,所以B站收到RR4后不必應(yīng)答。接下去A站輪詢C站,P=1,雖然這時C站沒有數(shù)據(jù)發(fā)送,但也必須立即應(yīng)答。C站應(yīng)答也是RR幀,表示目前沒有信息幀發(fā)送,F(xiàn)=1表明這是回答對方命令的一個響應(yīng)。P/F位的使用方法有了P/F比特,使HDLC規(guī)程使用起來更加靈活。在兩個復(fù)合站全雙工通信時,任何一方都可隨時使P=1,這時對方就要立即回答RR幀,并置F=1,這樣就可以收到對方的確認了。如果不使用P/F比特,則收方不一定馬上發(fā)出確認幀,比如收方可以在發(fā)送自己的信息幀時,利用N(R)把確認信息發(fā)出。P/F位的使用方法4.鏈路操作過程(1)鏈路建立(2)數(shù)據(jù)傳輸(3)鏈路拆除圖4.14無編號幀使用舉例4.5因特網(wǎng)中的點對點協(xié)議(PPP)圖4.15用戶撥號上網(wǎng)示意圖因特網(wǎng)的點對點協(xié)議PPPPPP(Point-to-PointProtocol點到點協(xié)議)是為在同等單元之間傳輸數(shù)據(jù)包這樣的簡單鏈路設(shè)計的鏈路層協(xié)議。這種鏈路提供全雙工操作,并按照順序傳遞數(shù)據(jù)包。設(shè)計目的主要是用來通過撥號或?qū)>€方式建立點對點連接發(fā)送數(shù)據(jù),使其成為各種主機、網(wǎng)橋和路由器之間簡單連接的一種解決方案。

課件制作人:謝希仁PPP協(xié)議應(yīng)滿足的需求簡單——這是首要的要求封裝成幀透明性多種網(wǎng)絡(luò)層協(xié)議多種類型鏈路差錯檢測檢測連接狀態(tài)最大傳送單元網(wǎng)絡(luò)層地址協(xié)商數(shù)據(jù)壓縮協(xié)商PPP協(xié)議的工作原理

現(xiàn)在使用得最多的數(shù)據(jù)鏈路層協(xié)議是點對點協(xié)議

PPP。用戶使用撥號電話線接入因特網(wǎng)時,一般都是使用PPP協(xié)議。路由器調(diào)制解調(diào)器調(diào)制解調(diào)器因特網(wǎng)服務(wù)提供者(ISP)用戶家庭撥號電話線

使用TCP/IP的

PPP連接使用TCP/IP的客戶進程路由選擇進程至因特網(wǎng)…PC機PPP的特性PPP協(xié)議是目前使用得最廣泛的廣域網(wǎng)協(xié)議,這是因為它具有以下特性:能夠控制數(shù)據(jù)鏈路的建立;能夠?qū)P地址進行分配和使用;允許同時采用多種網(wǎng)絡(luò)層協(xié)議;能夠配置和測試數(shù)據(jù)鏈路;能夠進行錯誤檢測;有協(xié)商選項,能夠?qū)W(wǎng)絡(luò)層的地址和數(shù)據(jù)壓縮等進行協(xié)商。PPP協(xié)議組成一個將IP數(shù)據(jù)報封裝到串行鏈路的方法。鏈路控制協(xié)議LCP(LinkControlProtocol):LCP負責(zé)創(chuàng)建,維護或終止一次物理連接??梢允褂枚喾N物理層服務(wù)。認證協(xié)議,最常用的包括口令驗證協(xié)議PAP和挑戰(zhàn)握手驗證協(xié)議CHAP。網(wǎng)絡(luò)控制協(xié)議NCP(NetworkControlProtocol):負責(zé)解決物理連接上運行什么網(wǎng)絡(luò)協(xié)議,以及解決上層網(wǎng)絡(luò)協(xié)議發(fā)生的問題??梢灾С侄喾N網(wǎng)絡(luò)層協(xié)議。PPP協(xié)議的幀格式PPP的幀格式和HDLC的相似。標志字段F仍為0x7E(符號“0x”表示后面的字符是用十六進制表示。十六進制的7E的二進制表示是01111110)。地址字段A只置為0xFF。地址字段實際上并不起作用,PPP不分配個人地址??刂谱侄蜟通常置為0x03。要求用戶數(shù)據(jù)傳輸采用無序號幀,不提供使用序號和確認的可靠傳輸。PPP是面向字節(jié)的,所有的PPP幀的長度都是整數(shù)字節(jié)。PPP協(xié)議的幀格式PPP有一個2個字節(jié)的協(xié)議字段。識別幀的信息部分字段所封裝的協(xié)議。當協(xié)議字段為0x0021時,PPP幀的信息字段就是IP數(shù)據(jù)報。若為0xC021,則信息字段是PPP鏈路控制數(shù)據(jù)LCP。若為0x8021,則表示這是網(wǎng)絡(luò)控制數(shù)據(jù)NCP。

IP數(shù)據(jù)報1211字節(jié)12不超過1500字節(jié)PPP幀先發(fā)送7EFF03FACFCSF7E協(xié)議信息部分首部尾部表4.2協(xié)議字段的取值透明傳輸問題當PPP用在同步傳輸鏈路時(

SONET/SDH鏈路),協(xié)議規(guī)定采用硬件來完成比特填充(和HDLC的做法一樣)。當PPP用在異步傳輸時,就使用一種特殊的字符填充法。字符填充法具體的做法是:將信息字段中出現(xiàn)的每一個0x7E字節(jié)轉(zhuǎn)變成為2字節(jié)序列(0x7D,0x5E)。若信息字段中出現(xiàn)一個0x7D的字節(jié),則將其轉(zhuǎn)變成為2字節(jié)序列(0x7D,0x5D)。(3)若信息字段中出現(xiàn)ASCll碼的控制字符(即小于0x20的字符),則在該字符前面加一個0x7D字節(jié)。這樣做可以防止這些表面上的ASCll碼控制符將被錯誤地解釋為控制符。PPP的控制段(C)設(shè)置為00000011,注意這里說明最低兩位是11,與HDLC協(xié)議比較,說明發(fā)送和接收窗口N(S)、N(R)都沒有使用,恰恰相當于HDLC協(xié)議的無編號幀,但是,“不能保證”并不等于很不可靠,這是由于以下原因。不提供使用序號和確認的可靠傳輸PPP協(xié)議之所以不使用序號和確認機制是出于以下的考慮:在數(shù)據(jù)鏈路層出現(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論