第二章 鏈路層
在TCP/IP協(xié)議族中,鏈路層主要有三個目的:(1)為IP模塊發(fā)送和接收IP數(shù)據(jù)報;(2)為ARP模塊發(fā)送ARP請求和接收ARP應(yīng)答;(3)為RARP發(fā)送RARP請求和接收RARP應(yīng)答。TCP/IP支持多種不同的鏈路層協(xié)議,這取決于網(wǎng)絡(luò)所使用的硬件,如以太網(wǎng)、令牌環(huán)網(wǎng)、FDDI(光纖分布式數(shù)據(jù)接口)及RS-232串行線路等。
以太網(wǎng)和IEEE 802封裝
以太網(wǎng)這個術(shù)語一般是指數(shù)字設(shè)備公司( Digital Equipment Corp.)、英特爾公司和Xerox公司在1982年聯(lián)合公布的一個標準。它是當(dāng)今TCP/IP采用的主要的局域網(wǎng)技術(shù)。它采用一種稱作CSMA/CD的媒體接入方法,其意思是帶沖突檢測的載波偵聽多路接入(Carrier Sense, Multiple Access with Collision Detection)。它的速率為10 Mb/s,地址為48 bit。
IEEE(電子電氣工程師協(xié)會)802委員會公布了一個稍有不同的標準集,其中802.3針對整個CSMA/CD網(wǎng)絡(luò),802.4針對令牌總線網(wǎng)絡(luò),802.5針對令牌環(huán)網(wǎng)絡(luò)。這三者的共同特性由802.2標準來定義,那就是802網(wǎng)絡(luò)共有的邏輯鏈路控制(LLC)。
在TCP/IP世界中,以太網(wǎng)IP數(shù)據(jù)報的封裝是在RFC 894[Hornig 1984]中定義的,IEEE 802網(wǎng)絡(luò)的IP數(shù)據(jù)報封裝是在RFC 1042[Postel and Reynolds 1988]中定義的。主機需求RFC要求每臺Internet主機都與一個10 Mb/s的以太網(wǎng)電纜相連接:
1) 必須能發(fā)送和接收采用RFC 894(以太網(wǎng))封裝格式的分組。
2) 應(yīng)該能接收與RFC 894混合的RFC 1042(IEEE 802)封裝格式的分組。
3) 也許能夠發(fā)送采用RFC 1042格式封裝的分組。如果主機能同時發(fā)送兩種類型的分組數(shù)
據(jù),那么發(fā)送的分組必須是可以設(shè)置的,而且默認條件下必須是RFC 894分組。
SLIP:串行線路IP
SLIP的全稱是Serial Line IP。它是一種在串行線路上對IP數(shù)據(jù)報進行封裝的簡單形式,在RFC 1055[Romkey 1988]中有詳細描述。SLIP適用于家庭中每臺計算機幾乎都有的RS-232串行端口和高速調(diào)制解調(diào)器接入Internet。
壓縮的SLIP
由于串行線路的速率通常較低( 19200 b/s或更低),而且通信經(jīng)常是交互式的(如Telnet和Rlogin,二者都使用TCP),因此在SLIP線路上有許多小的TCP分組進行交換。為了傳送1個字節(jié)的數(shù)據(jù)需要20個字節(jié)的IP首部和20個字節(jié)的TCP首部,總數(shù)超過40個字節(jié), 于是人們提出一個被稱作CSLIP(即壓縮SLIP)的新協(xié)議,它在RFC 1144[Jacobson 1990a]中被詳細描述。CSLIP一般能把上面的40個字節(jié)壓縮到3或5個字節(jié)。
PPP:點對點協(xié)議
PPP,點對點協(xié)議修改了SLIP協(xié)議中的所有缺陷。PPP包括以下三個部分:
1) 在串行鏈路上封裝IP數(shù)據(jù)報的方法。PPP既支持數(shù)據(jù)為8位和無奇偶檢驗的異步模式(如大多數(shù)計算機上都普遍存在的串行接口),還支持面向比特的同步鏈接。
2) 建立、配置及測試數(shù)據(jù)鏈路的鏈路控制協(xié)議( LCP:Link Control Protocol)。它允許通信雙方進行協(xié)商,以確定不同的選項。
3) 針對不同網(wǎng)絡(luò)層協(xié)議的網(wǎng)絡(luò)控制協(xié)議(NCP:Network Control Protocol)體系。當(dāng)前RFC定義的網(wǎng)絡(luò)層有IP、OSI網(wǎng)絡(luò)層、DECnet以及Apple Talk。例如,IP NCP允許雙方商定是否對報文首部進行壓縮,類似于CSLIP(縮寫詞NCP也可用在TCP的前面)。
RFC 1548[Simpson 1993]描述了報文封裝的方法和鏈路控制協(xié)議。RFC 1332[McGregor
1 9 9 2 ]描述了針對IP的網(wǎng)絡(luò)控制協(xié)議。
環(huán)回接口
大多數(shù)的產(chǎn)品都支持環(huán)回接口( Loopback Interface),以允許運行在同一臺主機上的客戶程序和服務(wù)器程序通過TCP/IP進行通信。A類網(wǎng)絡(luò)號127就是為環(huán)回接口預(yù)留的。根據(jù)慣例,大多數(shù)系統(tǒng)把IP地址127.0.0.1分配給這個接口,并命名為localhost。一個傳給環(huán)回接口的IP數(shù)據(jù)報不能在任何網(wǎng)絡(luò)上出現(xiàn)。但是大多數(shù)的產(chǎn)品還是照樣完成傳輸層和網(wǎng)絡(luò)層的所有過程,只是當(dāng)IP數(shù)據(jù)報離開網(wǎng)絡(luò)層時把它返回給自己。
最大傳輸單元MTU
以太網(wǎng)和802.3對數(shù)據(jù)幀的長度都有一個限制,其最大值分別是1500和1492字節(jié)。鏈路層的這個特性稱作MTU,最大傳輸單元。不同類型的網(wǎng)絡(luò)大多數(shù)都有一個上限。如果IP層有一個數(shù)據(jù)報要傳,而且數(shù)據(jù)的長度比鏈路層的MTU還大,那么IP層就需要進行分片( fragmentation),把數(shù)據(jù)報分成若干片,這樣每一片都小于MTU。
路徑MTU
當(dāng)在同一個網(wǎng)絡(luò)上的兩臺主機互相進行通信時,該網(wǎng)絡(luò)的MTU是非常重要的。但是如果兩臺主機之間的通信要通過多個網(wǎng)絡(luò),那么每個網(wǎng)絡(luò)的鏈路層就可能有不同的MTU。重要的不是兩臺主機所在網(wǎng)絡(luò)的MTU的值,而是兩臺通信主機路徑中的最小MTU。它被稱作路徑MTU。
兩臺主機之間的路徑MTU不一定是個常數(shù)。它取決于當(dāng)時所選擇的路由。而選路不一定是對稱的(從A到B的路由可能與從B到A的路由不同),因此路徑MTU在兩個方向上不一定是一致的。
posted on 2008-04-18 21:58
水 閱讀(1920)
評論(3) 編輯 收藏 引用 所屬分類:
tcp/ip