查ICP網:全新的綜合網站備案信息查詢網
Copyright ? 2008-2028 www.mshuangcha.com [ 查icp] All Rights Reserved.
數據鏈路層的主要功能
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. 透明傳輸
這里所說的”透明傳輸”是指可以讓無論是哪種比特組合的數據,都可以在數據鏈路上進行有效傳輸。這就需要在所傳數據中的比特組合恰巧與某一個控制信息完全一樣時,能采取相應的技術措施,使接收方不會將這樣的數據誤認為是某種控制信息。只有這樣,才能保證數據鏈路層的傳輸是透明的。
注:在以上七大鏈路層功能中,主要的還是前面的五項,后面兩項功能是在前五項功能中附帶實現的,無需另外的技術,所以在此僅介紹前面五項功能。
鏈路層向網絡層提供的服務
數據鏈路層的設計目標就是為網絡層提供各種需要的服務。實際的服務隨系統的不同而不同,但是一般情況下,數據鏈路層會向網絡層提供以下三種類型的服務:
1. 無確認的無連接服務
“無確認的無連接服務”是指源計算機向目標計算機發送獨立的幀,目標計算機并不對這些幀進行確認。這種服務,事先無需建立邏輯連接,事后也不用解釋邏輯連接。正因如此,如果由于線路上的原因造成某一幀的數據丟失,則數據鏈路層并不會檢測到這樣的丟失幀,也不會恢復這些幀。出現這種情況的后果是可想而知的,當然在錯誤率很低,或者對數據的完整性要求不高的情況下(如話音數據),這樣的服務還是非常有用的,因為這樣簡單的錯誤可以交給OSI上面的各層來恢復。如大多數局域網在數據鏈路層所采用的服務也是無確認的無連接服務。
2. 有確認的無連接服務
為了解決以上“無確認的無連接服務”的不足,提高數據傳輸的可靠性,引入了“有確認的無連接服務”。在這種連接服務中,源主機數據鏈路層必須對每個發送的數據幀進行編號,目的主機數據鏈路層也必須對每個接收的數據幀進行確認。如果源主機數據鏈路層在規定的時間內未接收到所發送的數據幀的確認,那么它需要重發該幀。 這樣發送方知道每一幀是否正確地到達對方。這類服務主要用于不可靠信道,如無線通信系統。它與下面將要介紹的“有確認的面向連接服務”的不同之處在于它不需要在幀傳輸之前建立數據鏈路,也不要在在幀傳輸結束后釋放數據鏈路。
3. 有確認的面向連接服務
大多數數據鏈路層都采用向網絡層提供面向連接確認服務。利用這種服務,源計算機和目標計算機在傳輸數據之前需要先建立一個連接,該連接上發送的每一幀也都被編號,數據鏈路層保證每一幀都會被接收到。而且它還保證每一幀只被按正常順序接收一次。這也正是面向連接服務與前面介紹的“有確認無連接服務”的區別,在無連接有確認的服務中,在沒有檢測到確認時,系統會認為對方沒收到,于是會重發數據,而由于是無連接的,所以這樣的數據可能會復發多次,對方也可能接收多次,造成數據錯誤。這種服務類型存在3個階段,即:數據鏈路建立、數據傳輸、數據鏈路釋放階段。每個被傳輸的幀都被編號,以確保幀傳輸的內容與順序的正確性。大多數廣域網的通信子網的數據鏈路層采用面向連接確認服務。
以太網采用無連接的工作方式,讀發送的數據幀不進行編號,也不要求對方發回確認。目的站收到有差錯的幀就把他丟棄,不采取其他行為。
其他知識點
局域網的優點:具有廣播功能,從一個站點可以很方便的訪問全網;便于系統的擴展和逐漸演變;提高了系統的可靠性、可用性和生存性。
以太網采用的協議是具有沖突檢測的載波監聽多點接入CMSA/CD。協議的要點是:發送前先監聽,便發送邊監聽,一旦發現總線上出現了碰撞,就立即停止發送。然后按照退避算法等待一段隨機時間后再次發送。因此,每一個站在自己發送數據之后的一小段時間內,存在著遭遇碰撞的可能性。以太網上各站點都平等的爭用以太網信道。