1.概述
數據鏈路層屬於計算機網絡的底層,使用的信道主要有點對點信道和廣播信道兩種類型。
SLIP 只是一個包組幀協議,僅僅定義了在串行線路上將數據包封裝成幀的一系列字符。它沒有提供尋址、包類型標識、錯誤檢查 / 修正或者壓縮機制。
1) IP數據報以一個稱作END(0 x c 0)的特殊字符結束。同時,為了防止數據報到來之前的線路噪聲被當成數據報內容,大多數實現在數據報的開始處也傳一個E N D字符(如果有線路噪聲,那么E N D字符將結束這份錯誤的報文。這樣當前的報文得以正確地傳輸,而前一個錯誤報文交給上層后,會發現其內容毫無意義而被丟棄)。
2) 如果I P報文中某個字符為END,那么就要連續傳輸兩個字節0 x d b和0 x d c來取代它。0 x d b這個特殊字符被稱作SLIP的ESC字符,但是它的值與ASCII碼的E S C字符(0 x 1 b)不同。
3) 如果I P報文中某個字符為SLIP的ESC字符,那么就要連續傳輸兩個字節0 x d b和0 x d d來取代它。
壓縮串行線路 IP (CSLIP)在傳送出的 IP 分組上執行 Van Jacobson 頭部壓縮。CSLIP(即壓縮SLIP)的新協議,它在RFC 1144[Jacobson 1990a]中被詳細描述。C S L I P一般能把上面的4 0個字節壓縮到3或5個字節。它能在C S L I P的每一端維持多達1 6個T C P連接,並且知道其中每個連接的首部中的某些字段一般不會發生變化。這個壓縮過程顯著提高了交互式會話吞吐量。
在TCP/IP協議族中,數據鏈路層主要有三個目的:
1)為IP模塊發送和接收數據
2)為ARP模塊發送ARP請求和接收ARP應答
3)為RARP模塊發送RARP請求和接收RARP應答
TCP/IP支持多種不同的鏈路層協議,這取決於網絡所使用的硬件,如以太網,令牌環網,FDDI(光纖分布式數據接口)及RS-232串行線路等。
數據鏈路層的協議數據單元——幀:將IP層(網絡層)的數據報添加首部和尾部封裝成幀。
數據鏈路層協議有許多種,都會解決三個基本問題,封裝成幀,透明傳輸,差錯檢測。
2.以太網和IEEE802的封裝
如圖所示,顯示了兩種不同形式的封裝格式。最常使用的封裝格式是RFC894定義的格式。兩種幀格式均采用48bit(6 byte)的目的地址和源地址。

3. SLIP, CSLIP, PPP
SLIP:Serial Line IP
串行線路 IP (SLIP)用於運行 TCP/IP 的點對點串行連接。 SLIP 通常專門用於串行連接,有時候也用於撥號,使用的線路速率一般介於 1200bps 和 19.2Kbps 之間。 SLIP 允許主機和路由器混合連接通信(主機 - 主機、主機 - 路由器、路由器 - 路由器都是 SLIP 網絡通用的配置),因而非常有用。
SLIP 只是一個包組幀協議,僅僅定義了在串行線路上將數據包封裝成幀的一系列字符。它沒有提供尋址、包類型標識、錯誤檢查 / 修正或者壓縮機制。
1) IP數據報以一個稱作END(0 x c 0)的特殊字符結束。同時,為了防止數據報到來之前的線路噪聲被當成數據報內容,大多數實現在數據報的開始處也傳一個E N D字符(如果有線路噪聲,那么E N D字符將結束這份錯誤的報文。這樣當前的報文得以正確地傳輸,而前一個錯誤報文交給上層后,會發現其內容毫無意義而被丟棄)。
2) 如果I P報文中某個字符為END,那么就要連續傳輸兩個字節0 x d b和0 x d c來取代它。0 x d b這個特殊字符被稱作SLIP的ESC字符,但是它的值與ASCII碼的E S C字符(0 x 1 b)不同。
3) 如果I P報文中某個字符為SLIP的ESC字符,那么就要連續傳輸兩個字節0 x d b和0 x d d來取代它。

- 點對點協議(PPP)廣泛替代了 SLIP ,因為它有更多特性和更靈活。
PPP包括以下三部分:
1) 在串行鏈路上封裝I P數據報的方法。P P P既支持數據為8位和無奇偶檢驗的異步模式(如大多數計算機上都普遍存在的串行接口),還支持面向比特的同步鏈接。
2) 建立、配置及測試數據鏈路的鏈路控制協議( L C P:Link Control Protocol)。它允許通信雙方進行協商,以確定不同的選項。
3) 針對不同網絡層協議的網絡控制協議( N C P:Network Control Protocol)體系。當前R F C定義的網絡層有I P、O S I網絡層、D E C n e t以及A p p l e Ta l k。例如,IP NCP允許雙方商定是否對報文首部進行壓縮,類似於C S L I P(縮寫詞N C P也可用在T C P的前面)。
PPP協議都以標志字符0x7e開始和結束,緊接着是一個地址字節,值始終是0xff,然后是一個0x03的控制字節。接下來是協議字段。
0x0021:IP數據報
0xc021:鏈路控制數據
0x8021:網絡控制數據
接下來則為信息數據內容,CRC驗證碼,結束標志0x7e

4.最大傳輸單元 MTU
最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通信協議的某一層上面所能通過的最大數據包大小(以字節為單位)。
如果在IP層要傳輸一個數據報比鏈路層的MTU還大,那么IP層就會對這個數據報進行分片。一個數據報會被分為若干片,每個分片的大小都小於或者等於鏈路層的MTU值。當同一網絡上的主機互相進行通信時,該網絡的MTU對通信雙方非常重要。但當主機間要通過很多網絡才能通信時,對通信雙方最重要的是通信路徑中最小的MTU,因為在通信路徑上不同網絡的鏈路層MTU不同。通信路徑中最小的MTU被稱為路徑MTU。
網絡中一些常見鏈路層協議MTU的缺省數值如下:
- FDDI協議:4352字節
- 以太網(Ethernet)協議:1500字節
- PPPoE(ADSL)協議:1492字節
- X.25協議(Dial Up/Modem):576字節
- Point-to-Point:4470字節
作用:
載波監聽多點接入/碰撞檢測是防止連接在總線上的各站點之間發生沖突,協調總線上各計算機工作的協議。
多點接入:
說明這是總線型網絡,許多計算機以多點接入的方式連接到總線上
載波監聽:
是指每一個站在發送數據之前要檢測一下總線上是否有其他的計算機在發送數據,如果有,則暫時不發送數據,以免發生碰撞
碰撞檢測:
邊發送數據邊檢測信道上的信號電壓大小。當信號電壓擺動值超過一定的門限值,表明發生了碰撞。立即停止發送,等待一段時間后再次發送。