百科解釋
TCP/IP協(xié)議定義了一個(gè)在因特網(wǎng)上傳輸?shù)陌,稱為IP數(shù)據(jù)報(bào)(IP Datagram)。這是一個(gè)與硬件無(wú)關(guān)的虛擬包, 由首部和數(shù)據(jù)兩部分組成,其格式如圖所示。首部的前一部分是固定長(zhǎng)度,共20字節(jié),是所有IP數(shù)據(jù)報(bào)必須具有的。在首部的固定部分的后面是一些可選字段,其長(zhǎng)度是可變的。首部中的源地址和目的地址都是IP協(xié)議地址。 1、IP數(shù)據(jù)報(bào)首部的固定部分中的各字段[編輯本段](1)版本 占4位,指IP協(xié)議的版本。通信雙方使用的IP協(xié)議版本必須一致。目前廣泛使用的IP協(xié)議版本號(hào)為4(即IPv4)。關(guān)于IPv6,目前還處于草案階段。 (2)首部長(zhǎng)度 占4位,可表示的最大十進(jìn)制數(shù)值是15。請(qǐng)注意,這個(gè)字段所表示數(shù)的單位是32位字(1個(gè)32位字長(zhǎng)是4字節(jié)),因此,當(dāng)IP的首部長(zhǎng)度為1111時(shí)(即十進(jìn)制的15),首部長(zhǎng)度就達(dá)到60字節(jié)。當(dāng)IP分組的首部長(zhǎng)度不是4字節(jié)的整數(shù)倍時(shí),必須利用最后的填充字段加以填充。因此數(shù)據(jù)部分永遠(yuǎn)在4字節(jié)的整數(shù)倍開(kāi)始,這樣在實(shí)現(xiàn)IP協(xié)議時(shí)較為方便。首部長(zhǎng)度限制為60字節(jié)的缺點(diǎn)是有時(shí)可能不夠用。但這樣做是希望用戶盡量減少開(kāi)銷(xiāo)。最常用的首部長(zhǎng)度就是20字節(jié)(即首部長(zhǎng)度為0101),這時(shí)不使用任何選項(xiàng)。 (3)區(qū)分服務(wù) 占8位,用來(lái)獲得更好的服務(wù)。這個(gè)字段在舊標(biāo)準(zhǔn)中叫做服務(wù)類型,但實(shí)際上一直沒(méi)有被使用過(guò)。1998年IETF把這個(gè)字段改名為區(qū)分服務(wù)DS(Differentiated Services)。只有在使用區(qū)分服務(wù)時(shí),這個(gè)字段才起作用。 (4)總長(zhǎng)度 總長(zhǎng)度指首部和數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié)。總長(zhǎng)度字段為16位,因此數(shù)據(jù)報(bào)的最大長(zhǎng)度為216-1=65535字節(jié)。 在IP層下面的每一種數(shù)據(jù)鏈路層都有自己的幀格式,其中包括幀格式中的數(shù)據(jù)字段的最大長(zhǎng)度,這稱為最大傳送單元MTU(Maximum Transfer Unit)。當(dāng)一個(gè)數(shù)據(jù)報(bào)封裝成鏈路層的幀時(shí),此數(shù)據(jù)報(bào)的總長(zhǎng)度(即首部加上數(shù)據(jù)部分)一定不能超過(guò)下面的數(shù)據(jù)鏈路層的MTU值。 (5)標(biāo)識(shí)(identification) 占16位。IP軟件在存儲(chǔ)器中維持一個(gè)計(jì)數(shù)器,每產(chǎn)生一個(gè)數(shù)據(jù)報(bào),計(jì)數(shù)器就加1,并將此值賦給標(biāo)識(shí)字段。但這個(gè)“標(biāo)識(shí)”并不是序號(hào),因?yàn)镮P是無(wú)連接服務(wù),數(shù)據(jù)報(bào)不存在按序接收的問(wèn)題。當(dāng)數(shù)據(jù)報(bào)由于長(zhǎng)度超過(guò)網(wǎng)絡(luò)的MTU而必須分片時(shí),這個(gè)標(biāo)識(shí)字段的值就被復(fù)制到所有的數(shù)據(jù)報(bào)的標(biāo)識(shí)字段中。相同的標(biāo)識(shí)字段的值使分片后的各數(shù)據(jù)報(bào)片最后能正確地重裝成為原來(lái)的數(shù)據(jù)報(bào)。 (6)標(biāo)志(flag) 占3位,但目前只有2位有意義。 ● 標(biāo)志字段中的最低位記為MF(More Fragment)。MF=1即表示后面“還有分片”的數(shù)據(jù)報(bào)。MF=0表示這已是若干數(shù)據(jù)報(bào)片中的最后一個(gè)。 ● 標(biāo)志字段中間的一位記為DF(Don’t Fragment),意思是“不能分片”。只有當(dāng)DF=0時(shí)才允許分片。 (7)片偏移 占13位。片偏移指出:較長(zhǎng)的分組在分片后,某片在原分組中的相對(duì)位置。也就是說(shuō),相對(duì)用戶數(shù)據(jù)字段的起點(diǎn),該片從何處開(kāi)始。片偏移以8個(gè)字節(jié)為偏移單位。這就是說(shuō),每個(gè)分片的長(zhǎng)度一定是8字節(jié)(64位)的整數(shù)倍。 (8)生存時(shí)間 占8位,生存時(shí)間字段常用的的英文縮寫(xiě)是TTL(Time To Live),表明是數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的壽命。由發(fā)出數(shù)據(jù)報(bào)的源點(diǎn)設(shè)置這個(gè)字段。其目的是防止無(wú)法交付的數(shù)據(jù)報(bào)無(wú)限制地在因特網(wǎng)中兜圈子,因而白白消耗網(wǎng)絡(luò)資源。最初的設(shè)計(jì)是以秒作為T(mén)TL的單位。每經(jīng)過(guò)一個(gè)路由器時(shí),就把TTL減去數(shù)據(jù)報(bào)在路由器消耗掉的一段時(shí)間。若數(shù)據(jù)報(bào)在路由器消耗的時(shí)間小于1秒,就把TTL值減1。當(dāng)TTL值為0時(shí),就丟棄這個(gè)數(shù)據(jù)報(bào)。 (9)協(xié)議 占8位,協(xié)議字段指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)是使用何種協(xié)議,以便使目的主機(jī)的IP層知道應(yīng)將數(shù)據(jù)部分上交給哪個(gè)處理過(guò)程。 (10)首部檢驗(yàn)和 占16位。這個(gè)字段只檢驗(yàn)數(shù)據(jù)報(bào)的首部,但不包括數(shù)據(jù)部分。這是因?yàn)閿?shù)據(jù)報(bào)每經(jīng)過(guò)一個(gè)路由器,路由器都要重新計(jì)算一下首部檢驗(yàn)和(一些字段,如生存時(shí)間、標(biāo)志、片偏移等都可能發(fā)生變化)。不檢驗(yàn)數(shù)據(jù)部分可減少計(jì)算的工作量。 (11)源地址 占32位。 (12)目的地址 占32位。 2、IP數(shù)據(jù)報(bào)首部的可變部分[編輯本段] IP首部的可變部分就是一個(gè)可選字段。選項(xiàng)字段用來(lái)支持排錯(cuò)、測(cè)量以及安全等措施,內(nèi)容很豐富。此字段的長(zhǎng)度可變,從1個(gè)字節(jié)到40個(gè)字節(jié)不等,取決于所選擇的項(xiàng)目。某些選項(xiàng)項(xiàng)目只需要1個(gè)字節(jié),它只包括1個(gè)字節(jié)的選項(xiàng)代碼。但還有些選項(xiàng)需要多個(gè)字節(jié),這些選項(xiàng)一個(gè)個(gè)拼接起來(lái),中間不需要有分隔符,最后用全0的填充字段補(bǔ)齊成為4字節(jié)的整數(shù)倍。 增加首部的可變部分是為了增加IP數(shù)據(jù)報(bào)的功能,但這同時(shí)也使得IP數(shù)據(jù)報(bào)的首部長(zhǎng)度成為可變的。這就增加了每一個(gè)路由器處理數(shù)據(jù)報(bào)的開(kāi)銷(xiāo)。實(shí)際上這些選項(xiàng)很少被使用。新的IP版本IPv6就將IP數(shù)據(jù)報(bào)的首部長(zhǎng)度做成固定的。
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助