資料鏈路層(data link layer,dll)是osi七層參考模型的第二層,屬於低三層中的中間一層。資料鏈路可以粗略地理解為資料通道。物理層要為終端裝置間的資料通訊提供傳輸**及連線。
資料鏈路層最基本的服務是將源計算機網路層傳來的資料可靠地傳輸到相鄰節點的目標計算機的網路層。為達到這一目的,資料鏈路層必須具備一系列相應的功能,主要有:如何將資料組合成資料塊(在資料鏈路層中將這種資料塊稱為幀,幀是資料鏈路層的傳送單位);如何控制幀在物理通道上的傳輸,包括如何處理傳輸差錯,如何調節傳送速率以使之與接收方相匹配;在兩個網路實體之間提供資料鏈路通路的建立、維持和釋放管理。
幀同步為了向網路層提供服務,資料鏈路層必須使用物理層提供的服務。而物理層是以位元流進行傳輸的,這種位元流傳輸並不保證在資料傳輸過程中沒有錯誤,接收到的位數量可能少於、等於或者多於傳送的位數量。而且它們還可能有不同的值,這時資料鏈路層為了能實現資料有效的差錯控制,就採用了一種「幀」的資料塊進行傳輸。而要採幀格式傳輸,就必須有相應的幀同步技術,這就是資料鏈路層的「成幀」(也稱為「幀同步」)功能。
差錯控制
在資料通訊過程中可能會因物理鏈路效能和網路通訊環境等因素,難免會出現一些傳送錯誤,但為了確保資料通訊的準確,又必須使得這些錯誤發生的機率盡可能低。這一功能也是在資料鏈路層實現的,就是它的「差錯控制」功能。
流量控制
在雙方的資料通訊中,如何控制資料通訊的流量同樣非常重要。它既可以確保資料通訊的有序進行,還可避免通訊過程**現因為接收方來不及接收而造成的資料丟失。這就是資料鏈路層的「流量控制」功能。資料的傳送與接收必須遵循一定的傳送速率規則,可以使得接收方能及時地接收傳送方傳送的資料。並且當接收方來不及接收時,就必須及時控制傳送方資料的傳送速率,使兩方面的速率基本匹配。
鏈路管理
資料鏈路層的「鏈路管理」功能包括資料鏈路的建立、維持和釋放三個主要方面。當網路中的兩個節點要進行通訊時,資料的傳送方必須確知接收方是否已處在準備接收的狀態。為此通訊雙方必須先要交換一些必要的資訊,以建立一條基本的資料鏈路。在傳輸資料時要維持資料鏈路,而在通訊完畢時要釋放資料鏈路。
mac定址
這是資料鏈路層中的mac子層主要功能。這裡所說的「定址」與 「ip位址定址」是完全不一樣的,因為此處所尋找的位址是計算機網絡卡的mac位址,也稱「實體地址」、「硬體位址」,而不是ip位址。在乙太網中,採用**訪問控制(media access control, mac)位址進行定址,mac位址被燒入每個乙太網網絡卡中。這在多點連線的情況下非常必需,因為在這種多點連線的網路通訊中,必須保證每一幀都能準確地送到正確的位址,接收方也應當知道傳送方是哪乙個站。
區分資料與控制資訊
由於資料和控制資訊都是在同一通道中傳輸,在許多情況下,資料和控制資訊處於同一幀中,因此一定要有相應的措施使接收方能夠將它們區分開來,以便向上傳送僅是真正需要的資料資訊。
透明傳輸
這裡所說的「透明傳輸」是指可以讓無論是哪種位元組合的資料,都可以在資料鏈路上進行有效傳輸。這就需要在所傳資料中的位元組合恰巧與某乙個控制資訊完全一樣時,能採取相應的技術措施,使接收方不會將這樣的資料誤認為是某種控制資訊。只有這樣,才能保證資料鏈路層的傳輸是透明的。
在資料鏈路層之所以要把物理層上的位元流組合成以幀為單位進行傳送,其目的就是為了在出錯時,可只將有錯的幀重發,而不必將全部資料重新傳送,從而提高了效率。通常通過為每個幀計算「校驗和」來實現差錯檢測。當一幀到達目的地時,「校驗和」將再被計算一遍,若與原「校驗和」不同,就可能發現差錯了。
接收方要檢查「校驗和」就必須能從物理層收到的位元流中明確區分出一幀的開始和結束在什麼地方。這個問題就是資料鏈路層的成幀方法,也稱之為「幀同步」功能。
這種幀同步方法是一種面向位元組的同步規程,是利用幀頭部中的乙個域來指定該幀中的字元數,以乙個特殊字元表徵一幀的起始,並以乙個專門欄位來標明幀內的字元數。
同步原理:接收方可以通過對該特殊字元的識別從位元流中區分出幀的起始,並從專門欄位中獲知該幀中隨後跟隨的資料字元數,從而可以確定出幀的終止位置。
該同步方法是用一些特定的字元來定界一幀的起始與終止,充分解決了錯誤發生之後重新同步的問題。
同步原理:在這種幀同步方式中,為了不使資料資訊位中與特定字元相同的字元被誤判為幀的首尾定界符,可以在這種資料幀的幀頭填充乙個轉義控制字元(dle stx,data link escape – start of text),在幀的結尾則以dle etx(data link escape-end of text)結束,以示區別,從而達到資料的透明性。
「位元填充的首尾界定符法」是以一組特定的位元模式(如01111110)來標誌一幀的起始與終止,它允許任意長度的位碼,也允許任意每個字元有任意長度的位。它的工作原理是在每一幀的開始和結束位置都加上乙個特殊的位模式,如01111110。當傳送方的資料鏈路層傳到資料中5個「1」 (因為特定模式中是有5個連續「1」)時,自動在輸出位流中填充乙個「0」。在接收方,當收到連續5個「1」,並且後面位是「0」時,自動刪除該「0」位。就好像位元組填充過程對於雙方計算機中的網路層是完全透明的一樣。
該法在物理層採用特定的位元編碼方法時採用。例如,曼徹斯特編碼方法,是將資料位元「1」編碼成「高—低」電平對,將資料位元「0」編碼成「低—高」電平對。而「高—高」電平對和「低—低」電平對在資料位元中是違法的。可以借用這些違法編碼序列來界定幀的起始與終止。區域網ieee 802標準中就採用了這種方法。
hdlc協議不依賴於任何一種字元編碼集;
資料報文可透明傳輸,用於實現透明傳輸的「0位元插入法」易於硬體實現;
全雙工通訊,有較高的資料鏈路傳輸效率;
所有幀採用crc檢驗,對資訊幀進行順序編號,可防止漏收或重份,傳輸可靠性高
傳輸控制功能與處理功能分離,具有較大靈活性。
資訊幀(i幀):資訊幀用於傳送有效資訊或資料,通常簡稱i幀。i幀以控制字第一位為「0」來標誌。
監控幀(s幀):監控幀用於監視和控制資料鏈路,完成資訊幀的接收確認、重發請求、暫停傳送等功能。
無編號幀(u幀):無編號幀用於資料鏈路的控制,它本身不帶編號,可以在任何需要的時刻發出,不影響帶編號的資訊幀的交換順序。
正常響應方式
非同步響應方式
非同步平衡方式
差錯控制就是如何確保所有的資料幀最終在遞交給目標計算機上的網路層時,能保證資料的完整性,並且保持正確的順序。
差錯控制功能是資料鏈路層另乙個非常重要的基本功能,也是確保資料通訊正常進行的基本前提。資料通訊系統必須具備發現並糾正差錯的能力,使差錯控制在所能允許的盡可能小的範圍內,這就是資料鏈路層重要的「差錯控制」功能。
通訊通道的雜訊分為兩類:熱雜訊和衝擊雜訊。
在差錯控制功能中,主要採取糾錯碼、檢錯碼、反饋檢測(arq,使用檢錯碼)、自動重發等重傳技術。
當接收到資料後,接收器往往要進行某些處理,還要把資料送給高層,所以產生資料的接收端往往比傳送端速率低的現象。如此時不對傳送方的傳送速率(也即鏈路上的資訊流量)做適當的限制,就可能出現接收端的資料幀「溢位」,前面來不及接收的幀將被後面不斷傳送來的幀「淹沒」,從而造成幀的丟失而出錯。所以,對傳送端資料的傳送速率適當的控制則是必需的,使傳送速率不致超過接收方的速率。在資料鏈路層中,xon/xoff方案、停止—等待協議、滑動視窗機制就是常用的流量控制方法。
實用的資料鏈路層協議應考慮到:傳輸資料的通道不是可靠的(即不能保證所傳的資料不產生差錯),並且還需要對資料的傳送端進行流量控制。
停止-等待協議
停止—等待協議的思想是:在傳輸過程中不出差錯的情況下,接收方在收到乙個正確的資料幀後即交付給主機b,同時向主機a傳送乙個確認幀ack。當主機a收到確認幀ack後才能傳送乙個新的資料幀,這樣就實現了接收方對傳送方的流量控制。
滑動視窗協議
誤位元速率是衡量資料傳輸系統正常工作狀態下傳輸可靠性的引數。根據實際傳輸要求提出誤位元速率要求,誤位元速率並不是越低越好。
在原始物理傳輸線路上存在著各種雜訊和干擾,傳輸資料訊號可能有差錯。
差錯控制方法包括差錯檢測、差錯控制和流量控制。
資料鏈路層 網路基礎
資料鏈路層 一 差錯產生與差錯控制方法 1.物理線路由傳輸介質與通訊裝置組成 在物理線路上傳輸資料訊號是存在差錯的。誤位元速率是指二進位制位元在資料傳輸過程中被傳錯的概率。由於計算機網路對資料通訊的要求是平均誤位元速率必須低於10 9,因此普通 線路不採用差錯控制措施就不能滿足計算機網路的要求 2....
網路基礎 資料鏈路層
資料鏈路層 解決具體從哪到哪的實現,即下一跳問題 用於兩個裝置 同 一種資料鏈路節點 之間進行傳遞.乙太網幀格式 格式 源主機發出arp請求,詢問 ip位址是192.168.0.1的主機的硬體位址是多少 並將這個請求 廣播到本地網段 乙太網幀首部的硬體位址填ff ff ff ff ff ff表示廣播...
網路基礎(五) 資料鏈路層
用於兩個裝置 同一種資料鏈路節點 之間進行傳遞。解決資料在同乙個區域網裡資料從主機a到主機b的問題。mac幀 認識mac位址 mac位址是用來識別資料鏈路層中相連的節點,長度為48位,一般用16進製制數字加上冒號的形式來表示 例如 08 00 27 03 fb 19 在網絡卡出廠時mac位址就確定了...