說明:本文為《TCP/IP詳解,卷1:協(xié)議》的第二章“鏈路層”的學習筆記。
一. 引言
1. 鏈路層的目的
1) 為I P模塊發(fā)送和接收I P數(shù)據(jù)報;
2) 為A R P模塊發(fā)送A R P請求和接收A R P應答;
3) 為R A R P發(fā)送R A R P請求和接收R A R P應答。
2. 本章學習內(nèi)容
將詳細討論以太網(wǎng)鏈路層協(xié)議,兩個串行接口鏈路層協(xié)議( S L I P和P P P),
以及大多數(shù)實現(xiàn)都包含的環(huán)回( l o o p b a c k)驅動程序。
二. 以太網(wǎng)和IEEE 802封裝
1. 以太網(wǎng)術語解釋
以太網(wǎng)這個術語一般是指數(shù)字設備公司( Digital Equipment Corp.)、英特爾公司( I n t e lC o r p .)和X e r o x公司在1 9 8 2年聯(lián)合公布的一個標準。它是當今T C P / I P采用的主要的局域網(wǎng)技術。它采用一種稱作C S M A / C D的媒體接入方法,其意思是帶沖突檢測的載波偵聽多路接入(Carrier Sense, Multiple Access with Collision Detection)。它的速率為10 Mb/s,地址為48 bit。
在T C P / I P世界中,以太網(wǎng)I P數(shù)據(jù)報的封裝是在RFC 894[Hornig 1984]中定義的,IEEE 802網(wǎng)絡的I P數(shù)據(jù)報封裝是在RFC 1042[Postel and Reynolds 1988]中定義的。
2. 封裝格式
1) IEEE 802.2/802.3封裝

2) 以太網(wǎng)封裝
以太網(wǎng)封裝是最常見的封裝格式。

三. 尾部封裝
它是一個早期B S D系統(tǒng)在DEC VA X機上運行時的試驗格式,它通過調(diào)整I P數(shù)據(jù)報中字段的次序來提高性能。在以太網(wǎng)數(shù)據(jù)幀中,開始的那部分是變長的字段(I P首部和T C P首部)。把它們移到尾部(在C R C之前),這樣當把數(shù)據(jù)復制到內(nèi)核時,就可以把數(shù)據(jù)幀中的數(shù)據(jù)部分映射到一個硬件頁面,節(jié)省內(nèi)存到內(nèi)存的復制過程。
尾部封裝已遭到反對。
四. SLIP:串行線路IP
全稱:Serial Line IP。它是一種簡單的幀封裝方法。它是一種在串行線路上對I P數(shù)據(jù)報進行封裝的簡單形式,在RFC 1055[Romkey 1988]中有詳細描述。S L I P適用于家庭中每臺計算機幾乎都有的R S - 2 3 2串行端口和高速調(diào)制解調(diào)器接入I n t e r n e t。
S L I P協(xié)議定義的幀格式如下:
1.IP數(shù)據(jù)報以一個稱作E N D(0 x c 0)的特殊字符結束。同時,為了防止數(shù)據(jù)報到來之前的線路噪聲被當成數(shù)據(jù)報內(nèi)容,大多數(shù)實現(xiàn)在數(shù)據(jù)報的開始處也傳一個E N D字符(如果有線路噪聲,那么E N D字符將結束這份錯誤的報文)。
2.如果I P報文中某個字符為E N D,那么就要連續(xù)傳輸兩個字節(jié)0 x d b和0 x d c來取代它。
0 x d b這個特殊字符被稱作S L I P的E S C字符。
3.如果I P報文中某個字符為S L I P的E S C字符,那么就要連續(xù)傳輸兩個字節(jié)0 x d b和0 x d d來取代它。
SLIP的缺陷如下:
1. 每一端必須知道對方的I P地址。沒有辦法把本端的I P地址通知給另一端。
2. 數(shù)據(jù)幀中沒有類型字段(類似于以太網(wǎng)中的類型字段)。如果一條串行線路用于S L I P,
那么它不能同時使用其他協(xié)議。
3. S L I P沒有在數(shù)據(jù)幀中加上檢驗和(類似于以太網(wǎng)中的C R C字段)。如果S L I P傳輸?shù)膱笪谋痪€路噪聲影響而發(fā)生錯誤,只能通過上層協(xié)議來發(fā)現(xiàn)(另一種方法是,新型的調(diào)制解調(diào)器可以檢測并糾正錯誤報文)。
五. 壓縮的SLIP
C S L I P(即壓縮S L I P)在RFC 1144[Jacobson 1990a]中被詳細描述。它能在C S L I P的每一端維持多達1 6個T C P連接,并且知道其中每個連接的首部中的某些字段一般不會發(fā)生變化。對于那些發(fā)生變化的字段,大多數(shù)只是一些小的數(shù)字和的改變。這些被壓縮的首部大大地縮短了交互響應時間。
六. PPP:點到點協(xié)議
點對點協(xié)議修改了S L I P協(xié)議中的所有缺陷。P P P包括以下三個部分:
1.在串行鏈路上封裝I P數(shù)據(jù)報的方法。P P P既支持數(shù)據(jù)為8位和無奇偶檢驗的異步模式
(如大多數(shù)計算機上都普遍存在的串行接口),還支持面向比特的同步鏈;
2.建立、配置及測試數(shù)據(jù)鏈路的鏈路控制協(xié)議( L C P:Link Control Protocol)。它允許通
信雙方進行協(xié)商,以確定不同的選項。
3.針對不同網(wǎng)絡層協(xié)議的網(wǎng)絡控制協(xié)議( N C P:Network Control Protocol)體系。
PPP數(shù)據(jù)楨的格式如下圖:

與S L I P類似,由于P P P經(jīng)常用于低速的串行鏈路,因此減少每一幀的字節(jié)數(shù)可以降低應用程序的交互時延。
總的來說, P P P比S L I P具有下面這些優(yōu)點:
1) PPP支持在單根串行線路上運行多種協(xié)議,不只是I P協(xié)議;
2) 每一幀都有循環(huán)冗余檢驗;
3) 通信雙方可以進行I P地址的動態(tài)協(xié)商(使用I P網(wǎng)絡控制協(xié)議;
4) 與C S L I P類似,對T C P和I P報文首部進行壓縮;
5) 鏈路控制協(xié)議可以對多個數(shù)據(jù)鏈路選項進行設置。
七. 環(huán)回接口
大多數(shù)的產(chǎn)品都支持環(huán)回接口( Loopback Interface),以允許運行在同一臺主機上的客戶
程序和服務器程序通過T C P / I P進行通信。A類網(wǎng)絡號1 2 7就是為環(huán)回接口預留的。根據(jù)慣例,大多數(shù)系統(tǒng)把I P地址1 2 7 . 0 . 0 . 1分配給這個接口,并命名為l o c a l h o s t。一個傳給環(huán)回接口的I P數(shù)據(jù)報不能在任何網(wǎng)絡上出現(xiàn)。
需要注意的幾點:
1. 傳給環(huán)回地址(一般是1 2 7 . 0 . 0 . 1)的任何數(shù)據(jù)均作為I P輸入;
2. 傳給廣播地址或多播地址的數(shù)據(jù)報復制一份傳給環(huán)回接口,然后送到以太網(wǎng)上;
3. 任何傳給該主機I P地址的數(shù)據(jù)均送到環(huán)回接口。
八. 最大傳輸單元MTU
以太網(wǎng)和8 0 2 . 3對數(shù)據(jù)幀的長度都有一個限制,其最大值分別是1 5 0 0和1 4 9 2字節(jié)。鏈路層的這個特性稱作M T U,最大傳輸單元。
如果I P層有一個數(shù)據(jù)報要傳,而且數(shù)據(jù)的長度比鏈路層的M T U還大,那么I P層就需要進行分片( f r a g m e n t a t i o n),
九. 路徑MTU
當在同一個網(wǎng)絡上的兩臺主機互相進行通信時, 兩臺通信主機路徑中的最小M T U。被稱作路徑M T U。
兩臺主機之間的路徑M T U不一定是個常數(shù)。它取決于當時所選擇的路由。而選路不一定
是對稱的(從A到B的路由可能與從B到A的路由不同),因此路徑M T U在兩個方向上不一定是一致的。
十. 串行電路吞土量計算
關于人的有關研究表明,交互響應時間超過1 0 0~200 ms就被認為是不好的。
十一. 小結
本章討論了I n t e r n e t協(xié)議族中的最底層協(xié)議,鏈路層協(xié)議。我們比較了以太網(wǎng)和I E E E
8 0 2 . 2 / 8 0 2 . 3的封裝格式,以及S L I P和P P P的封裝格式。由于S L I P和P P P經(jīng)常用于低速的鏈路,二者都提供了壓縮不常變化的公共字段的方法。這使交互性能得到提高。
大多數(shù)的實現(xiàn)都提供環(huán)回接口。訪問這個接口可以通過特殊的環(huán)回地址,一般為1 2 7 . 0 . 0 . 1。也可以通過發(fā)送I P數(shù)據(jù)報給主機所擁有的任一I P地址。當環(huán)回數(shù)據(jù)回到上層的協(xié)議
棧中時,它已經(jīng)過傳輸層和I P層完整的處理過程。
我們描述了很多鏈路都具有的一個重要特性, M T U,相關的一個概念是路徑M T U。根據(jù)典型的串行線路M T U,對S L I P和C S L I P鏈路的傳輸時延進行了計算。
本章的內(nèi)容只覆蓋了當今T C P / I P所采用的部分數(shù)據(jù)鏈路公共技術。T C P / I P成功的原因之一是它幾乎能在任何數(shù)據(jù)鏈路技術上
posted on 2007-08-22 18:46
阿蜜果 閱讀(1426)
評論(2) 編輯 收藏 所屬分類:
網(wǎng)絡通信相關