前面介紹過TCP/IP協議各層的數據格式,其中網絡協議的數據單元是IP數據報,而鏈路層的工作就是把網絡層傳送下來的IP數據報封裝為幀發送到鏈路上,以及把接收的幀的數據傳送給網絡層。
為達到這一目的,數據鏈路必須具備一系列相應的功能,主要有:
1、將數據封裝為幀,幀是數據鏈路層的傳送單位;
2、控制幀的傳輸,包括處理傳輸差錯,調節發送速率與接收方相匹配;
3、在兩個網絡實體之間提供數據鏈路通路的建立、維持和釋放的管理;
數據幀的結構如下圖所示:

幀的差錯控制:
反饋重發:
接收方通過對差錯編碼(奇偶校驗碼或 CRC 碼)的檢查,可以判定一幀在傳輸過程中是否發生了差錯。一旦發現差錯,一般可以采用反饋重發的方法來糾正。這就要求接受方收完一幀后,向發送方反饋一個接收是否正確的信息,
使發送方據此做出是否需要重新發送的決定。發送方僅當收到接收方已正確接收的反饋信號后才能認為該幀已經正確發送完畢,否則需要重發直至正確為止。
計時器:
如果某一幀發送出現問題,一直不能發送成功,為了避免傳輸過程停滯不前,通常引入 計時器(Timer) 來限定接收方發回反饋消息的時間間隔。當發送方發送一幀的同時也啟動計時器,若在限定時間間隔內未能收到接收方的反饋信息,
即計時器超時(Timeout),則可認為傳出的幀以出錯或丟失,就要重新發送。
序號:
由於同一幀數據可能被重復發送多次,就可能引起接收方多次收到同一幀並將其遞交給網絡層的情況。為了防止這種情況,可以采用對發送的幀編號的方法,即賦予每幀一個序號,從而使接收方能從該序號來區分是新發送來的幀還是重發的幀,
以此來確定要不要將接收到的幀遞交給網絡層
流量控制:
由於收發雙方各自使用的設備工作速率和緩沖存儲空間的差異,可能出現發送方的發送能力大於接收方接收能力的現象,此時若不對發送方的發送速率做適當的限制,前面來不及接收的幀將被后面不斷發送來的幀“淹沒”,從而造成幀的丟失而出錯。
由此可見,流量控制實際上是對發送方數據流量的控制,使其發送速率不超過接收方的速率。所以需要一些規則使得發送方知道在什么情況下可以接着發送下一幀,而在什么情況下必須暫停發送,以等待收到某種反饋信息后再繼續發送。這就是流量控制。
以太網協議:

PPP協議:
PPP是為了同等單元之間傳輸數據設計的鏈路層協議。這種鏈路提供雙工操作,並按照順序傳遞數據。設計的目的主要是通過撥號或專線方式建立點對點連接發送數據,使其成為各種主機、網橋和路由器之間簡單連接的一種共通的解決方案,
PPP為在點對點連接上傳輸多協議數據包提供了一個標准方式。PPP最初設計是為了兩個對等節點之間的IP流量傳輸提供一種封裝協議。在TCP/IP協議集中它是一種用來同步調制連接的數據鏈路層協議。
MTU:
為了提供足夠快的響應時間,以太網和IEEE802.3對數據幀長度都有限制,最大值分別為1500字節和1492字節,鏈路層的這個特性稱為MTU,即最大傳輸單元。
當網絡層傳下來一個IP數據報,並且其長度比鏈路層的MTU大時,那么鏈路層就需要對數據報進行分片,使每一片小於MTU,MTU分為接口MTU和路徑MTU;
接口 MTU 是所指定的接口所允許發送的最大數據長度;路徑 MTU 指兩台通信主機路徑中最小的 MTU 值。路徑 MTU 是不對稱的,它在兩個方向上不一定一致。
