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