數據鏈路層簡介
數據鏈路層是OSI參考模型中的第二層,介乎于物理層和網絡層之間。數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。為達到這一目的,數據鏈路必須具備一系列相應的功能,主要有:如何將數據組合成數據塊,在數據鏈路層中稱這種數據塊為幀(frame),幀是數據鏈路層的傳送單位;如何控制幀在物理信道上的傳輸,包括如何處理傳輸差錯,如何調節發送速率以使與接收方相匹配;以及在兩個網絡實體之間提供數據鏈路通路的建立、維持和釋放的管理。
數據鏈路層的分類
1、邏輯控制子層
數據鏈路層的LLC子層用于設備間單個連接的錯誤控制,流量控制。與MAC層不同,LLC和物理媒介全無關系。媒介是CSMA/CD的802.3還是802.5的令牌環都沒關系。它在LAN中是獨立的802.2。在LLC之上的網絡層可以是無連接、響應的無連接或面向連接的不同業務。
LLC用業務接入點SAP訪問上層協議,有了SAP,站點就能在LLC層只用一個接口同時與幾個高層協議玩。一個SAP是簡單的地址或協議ID,內容則為空的LLC幀。LLC協議數據單元(LLCPDU)即LPDU。它包括:DSAP(目的SAP)/SSAP(源SAP);一個定義吞吐量優先級的控制域(Controlfield);和含帶數據的信息域。在接收方,DSAP例如協議ID就是消息要被遞送的,通常DSAP和SSAP是一樣的,因為兩端只有在同種協議間才能通信。例如當SAP為AA,代表SNAP(子層接入協議)。SNAP是個非標準化的,或廠商特定的協議,用于接入協議的業務。例如當SAP為06,則代表IP協議;當SAP為FO,代表NetBIOS(網絡基本輸入/輸出協議)。SAP為FF表示廣播的Global協議。
SNAP機制
規范種DSAP都只有一個字節,那不足夠區分所有協議了。SNAP就來了,而且它支持在LLC幀上傳廠商的協議。這樣傳遞的協議就被放入所謂SNAP幀中了。SNAP”ㄍ酚形遄紙冢前三字節為廠商號,后兩字節指示協議。
以太網有兩種版本:IEEE(802.2、802.3);DIX(DEC、Intel、Xerox)又稱V2以太網。DIX幀在源地址之后是兩字節的Type,例如IP。
IEEE以太網幀,在源地址后是幀長度指示,在隨后的數據域中才是標準的LPDU封裝,包括DSAP/SSAP/控制域/Data。在這個Data中會有協議ID、以太類型指示,例如以太類型806表示地址解析協議ARP。以太網卡通過跳針或軟件可以設置需要的以太網版本,DIX通常都設的,因為大約90%的網絡都用此版本。請注意網絡所有要通信的站點應設成相同版本。
2、介質訪問層
介質訪問控制是解決當局域網中共用信道的使用產生競爭時,如何分配信道的使用權問題。
邏輯鏈路LogicalLinks
LogicalLinks邏輯鏈路邏輯鏈路是實際電路或邏輯電路上交換通信信息的兩個端系統之間的一種協議驅動通信會話。協議棧定義了兩個系統在某種介質上的通信。在協議棧低層定義可用的多種不同類型的通信協議,如局域網絡(LAN)、城域網(MAN)和象X.25或幀中繼這樣的分組交換網絡。邏輯鏈路在物理鏈路(可以是銅線、光纖或其他介質)上的兩個通信系統之間形成。根據OSI協議模型,這些邏輯鏈路只在物理層以上存在。你可以認為邏輯鏈路是存在于網絡兩個末斷系統間的線路。
面向連接的服務為了保證可靠的通信,需要建立邏輯線路,但在兩個端系統間要維持會話。面向需要應答連接的服務分組傳輸并有返回信號的邏輯線路。這種服務產生更大的開銷,但更加可靠。無應答不連接服務無需應答和預先的傳送。在端系統間沒有會話。
OSI協議棧中的數據鏈路層可進一步細分為較低的介質訪問控制(MAC)子層和較高的邏輯鏈路控制(LLC)子層。當它接收到一個分組后,它從MAC子層向上傳送。如果有多個網絡和設備相連,LLC層可能將分組送給另一個網絡。例如,在一個NetWare服務器上,你可能既安裝了以太網絡適配器又安裝了令牌網絡適配器,NetWare自動地在連接到適配器的網絡間橋接,這樣原來在以太網上的分組就可以傳送到令牌網上的目的地了,LLC層就象網絡段間的交換或鏈路中繼,它將以太網的幀重裝成令牌環網的幀。
數據鏈路層的工作原理
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地址。
在以太網中,采用媒體訪問控制(MediaAccessControl,MAC)地址進行尋址,MAC地址被燒入每個以太網網卡中。這在多點連接的情況下非常必需,因為在這種多點連接的網絡通信中,必須保證每一幀都能準確地送到正確的地址,接收方也應當知道發送方是哪一個站。
6.區分數據和控制信息
由于數據和控制信息都是在同一信道中傳輸,在許多情況下,數據和控制信息處于同一幀中,因此一定要有相應的措施使接收方能夠將它們區分開來,以便向上傳送僅是真正需要的數據信息。
7.透明傳輸
這里所說的”透明傳輸”是指可以讓無論是哪種比特組合的數據,都可以在數據鏈路上進行有效傳輸。這就需要在所傳數據中的比特組合恰巧與某一個控制信息完全一樣時,能采取相應的技術措施,使接收方不會將這樣的數據誤認為是某種控制信息。只有這樣,才能保證數據鏈路層的傳輸是透明的。
常用的數據鏈路層
1、TCP/IP支持多種不同的數據鏈路層協議,這取決于網絡使用的硬件,如以太網、令牌環、FDDI等局域網,串行線路、X.25、幀中繼FR、ATM等廣域網。
2、早期,由于各網絡公司的競爭,局域網沒有形成統一標準,為了將各種局域網融合,將鏈路層拆分成兩層,邏輯鏈路層(LLC)和媒體接入控制(MAC)(802.3封裝:SAP),
3、90年代,以太網取得壟斷地位,以太網成為局域網代名詞。數據鏈路層僅需要MAC層,采用以太網幀格式(EthernetV2封裝:ARPA)。
評論
查看更多