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