資料鏈路層的主要功能
1. 成幀(幀同步)
為了向網路層提供服務,資料鏈路層必須使用物理層提供的服務。而物理層是以位元流進行傳輸的,這種位元流並不保證在資料傳輸過程中沒有錯誤,接收到的位數量可能少於、等於或者多於傳送的位數量。而且它們還可能有不同的值,這時資料鏈路層為了能實現資料有效的差錯控制,就採用了一種」幀」的資料塊進行傳輸。而要採幀格式傳輸,就必須有相應的幀同步技術,這就是資料鏈路層的」成幀」(也稱為」幀同步」)功能。
採用幀傳輸方式的好處是:在發現有資料傳送錯誤時,只需將有差錯的幀再次傳送,而不需要將全部資料的位元流進行重傳,這就在傳送效率上將大大提高。
採用幀傳輸方式的好處是帶來了兩方面的問題:
(1)如何識別幀的開始與結束;
(2)在夾雜著重傳的資料幀中,接收方在接收到重傳的資料幀時是識別成新的資料幀,還是識別成重傳幀呢?這就要靠資料鏈路層的各種」幀同步」技術來識別了。」幀同步」技術既可使接收方能從並不是完全有序的位元流中準確地區分出每一幀的開始和結束,同時還可識別重傳幀。
2. 差錯控制
在資料通訊過程中可能會因物理鏈路效能和網路通訊環境等因素,難免會出現一些傳送錯誤,但為了確保資料通訊的準確,又必須使得這些錯誤發生的機率盡可能低。這一功能也是在資料鏈路層實現的,就是它的」差錯控制」功能。
在數字或資料通訊系統中,通常利用抗干擾編碼進行差錯控制。一般分為4類:前向糾錯(fec)、反饋檢測(arq)、混合糾錯(hec)和資訊反饋(irq)。
fec方式是在資訊碼序列中,以特定結構加入足夠的冗餘位–稱為」監督元」(或」校驗元」)。接收端解碼器可以按照雙方約定的這種特定的監督規則,自動識別出少量差錯,並能予以糾正。fec最適合於實時的高速資料傳輸的情況。
在非實時資料傳輸中,常用arq差錯控制方式。解碼器對接收碼組逐一按編碼規則檢測其錯誤。如果無誤,向傳送端反饋」確認」ack資訊;如果有錯,則反饋回ank資訊,以表示請求傳送端重**送剛剛傳送過的這一資訊。arq方式的優點在於編碼冗餘位較少,可以有較強的檢錯能力,同時編譯碼簡單。由於檢錯與通道特徵關係不大,在非實時通訊中具有普遍應用價值。
hec方式是上述兩種方式的有機結合,即在糾錯能力內,實行自動糾錯;而當超出糾錯能力的錯誤位數時,可以通過檢測而發現錯碼,不論錯碼多少都可以利用arq方式進行糾錯。
irq方式是一種全回執式最簡單差錯控制方式。在該檢錯方式中,接收端將收到的信碼原樣**回傳送端,並與原發送信碼相比較,若發現錯誤,則傳送端再進行重發。只適於低速非實時資料通訊,是一種較原始的做法。
3. 流量控制
在雙方的資料通訊中,如何控制資料通訊的流量同樣非常重要。它既可以確保資料通訊的有序進行,還可避免通訊過程中不會出現因為接收方來不及接收而造成的資料丟失。這就是資料鏈路層的」流量控制」功能。
資料的傳送與接收必須遵循一定的傳送速率規則,可以使得接收方能及時地接收傳送方傳送的資料。並且當接收方來不及接收時,就必須及時控制傳送方資料的傳送速率,使兩方面的速率基本匹配。
4. 鏈路控制
資料鏈路層的」鏈路管理」功能包括資料鏈路的建立、維持和釋放三個主要方面。
當網路中的兩個節點要進行通訊時,資料的傳送方必須確知接收方是否已處在準備接收的狀態。為此通訊雙方必須先要交換一些必要的資訊,以建立一條基本的資料鏈路。在傳輸資料時要維持資料鏈路,而在通訊完畢時要釋放資料鏈路。
5. mac定址
這是資料鏈路層中的mac子層主要功能。這裡所說的」定址」與下一章將要介紹的」ip位址定址」是完全不一樣的,因為此處所尋找的位址是計算機網絡卡的mac位址,也稱」實體地址」、」硬體位址」,而不是ip位址。
在乙太網中,採用**訪問控制(media access control, mac)位址進行定址,mac位址被燒入每個乙太網網絡卡中。這在多點連線的情況下非常必需,因為在這種多點連線的網路通訊中,必須保證每一幀都能準確地送到正確的位址,接收方也應當知道傳送方是哪乙個站。
6. 區分資料和控制資訊
由於資料和控制資訊都是在同一通道中傳輸,在許多情況下,資料和控制資訊處於同一幀中,因此一定要有相應的措施使接收方能夠將它們區分開來,以便向上傳送僅是真正需要的資料資訊。
7. 透明傳輸
這裡所說的」透明傳輸」是指可以讓無論是哪種位元組合的資料,都可以在資料鏈路上進行有效傳輸。這就需要在所傳資料中的位元組合恰巧與某乙個控制資訊完全一樣時,能採取相應的技術措施,使接收方不會將這樣的資料誤認為是某種控制資訊。只有這樣,才能保證資料鏈路層的傳輸是透明的。
注:在以上七大鏈路層功能中,主要的還是前面的五項,後面兩項功能是在前五項功能中附帶實現的,無需另外的技術,所以在此僅介紹前面五項功能。
資料鏈路層主要功能
透明傳輸 個人理解,透明傳輸其實就是指無論是什麼報文都可以傳輸,非透明傳輸就是指某些特殊字元不能傳輸,在計算機網路中,透明傳輸在資料鏈路層提到過,在資料鏈路層將網路層協議封裝成幀時,會在首部和尾部分別新增soh以及eot這兩個特殊字元,接收方是根據這兩個字元來確定幀首和幀尾的,如果上層協議傳送過來的...
資料鏈路層的主要功能
mac定址 鏈路層向網路層提供的服務 其他知識點 資料鏈路層最基本的服務是將源計算機網路層來的資料可靠的傳輸到相鄰節點的目標計算機的網路層。為達到這一目的,資料鏈路層必須具備一系列相應的功能,主要有 如何將資料組合成資料塊 在資料鏈路層中將這種資料塊稱為幀,幀是資料鏈路層的傳送單位 如何控制幀在物理...
Valgrind的主要功能
valgrind是乙個gpl的軟體,用於linux for x86,amd64 and ppc32 程式的記憶體除錯和 剖析。你可以在它的環境中執行你的程式來監視記憶體的使用情況,比如c 語言中的malloc和free或者 c 中的new和 delete。使用 valgrind的工具包,你可以自動的...