計算機網路理論知識 資料鏈路層

2021-09-23 22:10:51 字數 2385 閱讀 8150

目錄

一、概述

1、作用

2、功能

3、常用的校驗方式

1、奇偶校驗

2、校驗和(checksum)

3、迴圈冗餘校驗碼(cyclic redundancy check, crc)

二、可靠的資料傳輸

1、自動重發請求(automatic repeat request,arq)

2、停等協議(stop-and-wait)

3、滑動視窗協議

4、回退n協議

5、選擇性重傳

6、提高滑動視窗協議的效率

三、ppp協議

物理層的作用是傳輸線上的位元流;

資料鏈路層的作用則是:將整個幀從乙個網路元素移到到鄰近的網路元素,也就是把資料報從乙個節點通過鏈路(直連網路或物理網路)傳給相鄰的另乙個節點。(主機和路由器都可以稱為節點,相鄰節點之間的通道是鏈路)

網路層必須依靠資料鏈路層的服務,在每個節點,網路層將資料報下傳給鏈路層,鏈路層沿著路徑將資料報傳遞給下乙個節點,在下乙個節點處鏈路層將資料報上傳給網路層。

奇校驗:每一行/列上共有奇數個1;偶校驗:每一行/列上共有偶數個1;

通過對行和列加同一種校驗來檢測傳輸後的資料變化(二維奇偶校驗碼可以檢出所有兩位錯誤,但無法糾正);

將資料報的內容按字相加得到乙個字大小的校驗和。如果相加有進製則要忽略進製並且在0號位加1。所有字相加完成後取反碼得到校驗和。

由於需要使用加法器實現演算法,校驗和一般不用於鏈路層,而是用於更高層。

crc的位數比generator(除數)的位數少1,在計算時需要先將被除數補上crc的位數個0

crc的計算採用的是模2除法,可以理解為異或操作。

鏈路層常用crc校驗,因為這種校驗方式容易使用硬體實現,且檢錯率高。

每傳送一幀都啟動乙個超時定時器,如果該幀的確認幀在其超時時間內到達,就刪除該定時器,否則重傳該幀並重啟其定時器。

確認幀(ack)是乙個控制幀,接收方把它發給傳送方,表示已經收到了它的資料幀。

arq協議的超時時間不能太長,否則如果經常出錯,則每次通過超時重傳來糾正資料需要的時間也會很長,大大降低了線路的吞吐量。

下面要講的停等協議和滑動視窗協議都屬於arq協議。

只有接收到前乙個資料幀的確認,才能傳送下乙個資料幀。

正常情況下停等協議不需要序號,但為了避免出錯,至少需要兩個序號

出錯的情況有三種:

如果沒有序號,則②、③錯誤會導致重複接收同乙個資訊;

使用序號後,若接收方收到兩個相同序號的資料幀則說明重複接收資料,這時接收方會丟棄這個重複幀,同時向傳送方傳送乙個確認幀。

不需要等待已傳送的資料幀的確認幀回來就可以連續傳送多個幀,其個數由傳送視窗來控制。

同乙個視窗的最後乙個幀發出去後,該視窗發出去的第乙個幀的確認幀還沒返回。等其返回後,視窗滑動,傳送緩衝區增大,可以繼續傳送,所以我們需要計算的是從第乙個幀發出到其確認幀到達傳送方這段時間內的吞吐量,因為其到達後又可以開始傳輸新的視窗的資料了。

回退n協議是一種滑動視窗協議,出現超時的時候將重傳所有已經傳送且未收到確認的幀。

選擇性重傳協議通過傳送nak幀,要求傳送方單獨重傳丟失的幀。

否定確認幀(nak):用於表示這一幀之前的資料幀全部收到,並已經交給上層協議,要求傳送方重傳這一資料幀。每個幀只傳送一次nak。

如果回退n協議部分舉的例題採用的是選擇性重傳,且只有第二幀丟失,則接收方依次收到的序號是:3 5 6 7 4 0 1 2 3 4

如果乙個資料幀丟失,則接收方傳送乙個nak,傳送方收到對應的nak(至此需要至少乙個rtt),然後重新傳送該幀,再收到接收方的確認幀(至此需要至少2個rtt),所以超時時間要超過2個rtt才不會重複傳送。

計算機網路 資料鏈路層

一 簡介 資料鏈路層屬於第二層,資料鏈路層試使用物理層提供的服務在通訊通道上傳送和接受位元。它要完成一系列的功能包括 1 向網路層提供乙個定義良好的服務介面。2 處理傳輸錯誤。3 調節資料流,確保慢速的接收方不會被快速的傳送方淹沒。為了實現這個目標,資料鏈路層從網路層獲得資料報,然後將這些資料報封裝...

計算機網路 資料鏈路層

在iso提出的osi七層模型中,資料鏈路層處於第二層。在這一層,我們重點關注點對點之間的通訊。關於點對點通訊,是指網內任意兩個使用者之間的資訊交換。在這裡不過多的搬抄書上的概念,計算機網路的學習應當是以生活中的實踐作為基礎,來加深理論的理解。首先,如同在概述中提到的一樣,我們研究網路應當時刻站在分層...

計算機網路 資料鏈路層

封裝成幀 給上層傳輸來的資料新增資料首部soh 十六進製制 01 二進位制00000001 和尾部eot 十六進製制 04 二進位制 00000100 透明傳輸 封裝成幀使用的首部和尾部的編碼可會和需要封裝的資料的編碼相同,則新增乙個轉義的編碼esc 十六進製制 1b 二進位制00011011 錯誤...