① 數據鏈路層的功能
數據鏈路層的功能
數據鏈路層要完成許多特定的功能。這些功能包括為網路層提供設計良好的服務介面,處理幀同步,處理傳輸差錯,調整幀的流速,不至於使慢速接收方被快速發送方淹沒。 數據鏈路層的功能是為網路層提供服務。其基本服務是將源機器中來自網路層的數據傳輸給目的機器的網路層。
數據鏈路層一般都提供3種基本服務,即無確認的無連接服務、有確認的無連接服務、有確認 的面向連接的服務。(1)無確認的無連接服務
無確認的無連接服務是源機器向目的機器發送獨立的幀,而目的機器對收到的幀不作確認。如果由於線路上的雜訊而造成幀丟失,數據鏈路層不作努力去恢復它,恢復工作留給上層去完成。這類服務適用於誤碼率很低的情況,也適用於像語音之類的實時傳輸,實時傳輸情況下有時數據延誤比數據損壞影響更嚴重。大多數區域網在數據鏈路層都使用無確認的無連接服務。 (2)有確認的無連接服務
這種服務仍然不建立連接,但是所發送的每一幀都進行單獨確認。以這種方式,發送方就會知道幀是否正確地到達。如果在某個確定的時間間隔內,幀沒有到達,就必須重新發此幀。
(3)有確認的面向連接的服務
採用這種服務,源機器和目的機器在傳遞任何數據之前,先建立一條連接。在這條連接上所發送的每一幀都被編上號,數據鏈路層保證所發送的每一幀都確實已收到。而且,它保證每幀只收到一次,所有的幀都是按正確順序收到的。面向連接的服務為網路進程間提供了可靠地傳送比特流的服務。
2.幀同步
在數據鏈路層,數據的傳送單位是幀。所謂幀,是指從物理層送來的比特流信息按照一定的格式進行分割後形成的若干個信息塊。數據一幀一幀地傳送,就可以在出現差錯時,將有差錯的幀再重傳一次,從而避免了將全部數據都重傳。
幀同步是指接收方應當能從收到的比特流中准確地區分出一幀的開始和結束在什麼地方。
3.差錯控制
傳送幀時可能出現的差錯有:位出錯,幀丟失,幀重復,幀順序錯。
位出錯的分布規律及出錯位的數量很難限制在預定的簡單模式中,一般採用漏檢率及其微小的CRC檢錯碼再加上反饋重傳的方法來解決。為了保證可靠傳送,常採用的方法是向數據發送方提供有關接收方接收情況的反饋信息。一個否定性確認意味著發生了某種差錯,相應的幀必須被重傳。這種做法即是反饋重傳。
更復雜的情況是,一個幀可能完全丟失(比如,消失在突發性雜訊中)。在這種情況下,發送方將會永遠等下去。
這個問題可以通過在數據鏈路層中引入計時器來解決,當發送方發出一幀時,通常也啟動計時器。該計時器計到設置值的時間時清為零。 如果所傳出的幀或者確認信息被丟失了,則計時器會發出超時信號,提醒發送方可能出現了問題,最明顯的解決方法是重傳此幀。
但是多次傳送同一幀的危險是接收方可能兩次甚至多次收到同一幀,為了防止這種情況發生,通常有必要對發出的各幀編號,這樣接收方就能辨別出是重復幀還是新幀,還能分辨出幀順序錯。
採用定時器和編號的主要目的是保證每幀都能最終正確地傳給目的地—網路層。
差錯出現的特點:隨機,連續突發(burst)
處理差錯的兩種基本策略
使用糾錯碼:發送方在每個數據塊中加入足夠的冗餘信息,使得接收方能夠判斷接收到的數據是否有錯,並能糾正錯誤。
使用檢錯碼:發送方在每個數據塊中加入足夠的冗餘信息,使得接收方能夠判斷接收到的數據是否有錯,但不能判斷哪裡有錯。4.流量控制
在數據鏈路層及較高層中另一個重要的設計問題是:如何處理發送方的傳送能力比接收方接收能力大的問題?
通常的解決辦法是引入流量控制來限制發送方所發出的數據流量,使其發送速率不要超過接收方能處理的速率。
流量控制方法有發送等待方法、預約緩沖區法、滑動窗口控制方法、許可證法和限制管道容量方法等。
下面簡要介紹一下滑動窗口控制方法。
在所有的滑動窗口協議中,每一個要發出的幀都包含一個序列號,范圍是0到某個最大值。
具有最簡單流量控制的數據鏈路層協議 為了使收方的接收緩沖區在任何情況下都不會溢出,最簡單的方法是發方從主機每取一個數據塊,就將其送到數據鏈路層的發送緩沖區中發送出去,然後等待;收方收到數據幀後,將其放入數據鏈路層的接收緩沖區並交付給主機,同時回應一信息給發送節點表示數據幀已經上交給主機,接收任務已經完成;發方收到由接收站點發過來的雙方事先商定好的信息,則從主機取下一個新的數據幀再發送。在這種情況下,收方的接收緩沖區的大小隻要能夠裝得下一個數據幀即可,這就是最簡單最基本的停止-等待(Stop-and-Wait)協議。
② 數據鏈路層和傳輸層的區別是什麼
數據鏈路層和傳輸層的主要區別是:他們的功能和作用不一樣。
數據鏈路層負責建立和管理節點間的鏈路。主要功能是通過各種控制協議,將有差錯的物理信道變為無差錯的、能可靠傳輸數據針的數據鏈路。傳輸層是通信子網和資源子網的介面和橋梁。主要任務是:向用戶提供可靠的端到端的差錯和流量控制,保證報文的正確傳輸。
另外傳輸層的環境比數據鏈路層的環境要復雜得多。這是由於傳輸層的環境是兩個主機以整個子網為通信信道進行通信,並且傳輸的數據是報文。而數據鏈路層的環境是兩個分組交換結點直接通過一條物理信道進行通信。傳輸的數據是信息幀。
傳輸層的基本功能:
1、分割與重組數據。
2、按埠號定址。
3、連接管理。
4、差錯控制和流量控制,糾錯的功能。
數據鏈路層的基本功能:
1、鏈路連接的建立,拆除,分離。
2、幀定界和幀同步。鏈路層的數據傳輸單元是幀,協議不同,幀的長短和界面也有差別,但無論如何必須對幀進行定界。
3、順序控制,指對幀的收發順序的控制。
4、差錯檢測和恢復。還有鏈路標識,流量控制等等。差錯檢測多用方陣碼校驗和循環碼校驗來檢測信道上數據的誤碼,而幀丟失等用序號檢測。各種錯誤的恢復則常靠反饋重發技術來完成。