IP數(shù)據(jù)包在通信中是非常重要的,為了加深對(duì)IP數(shù)據(jù)包格式的理解,今天來(lái)看看IP數(shù)據(jù)包究竟包含哪些字段,這些字段起到什么作用。 來(lái)先看看IP包長(zhǎng)啥樣子的,請(qǐng)看下圖 從上圖可看到IP包的包頭是20個(gè)字節(jié)??纯碔P包頭包含哪些信息 版本: 占4位,指IP協(xié)議版本。并且通信雙方使用的版本必須一致,目前我們使用的是IPv4,IPv6也是一種版本,目前用的不多,以后會(huì)使用 首部長(zhǎng)度: 占4位,表示的最大十進(jìn)制數(shù)是15(注意:首部長(zhǎng)度字段所表示的單位是32位子,一個(gè)32位字長(zhǎng)是4字節(jié)),因此首部長(zhǎng)度的最小值為5(即:0101),相當(dāng)于5*4=20字節(jié),最大值為15(即:1111),相當(dāng)于15*4=60字節(jié),切記當(dāng)首部長(zhǎng)度不是4的整數(shù)倍時(shí),必須利用最后的填充字段填充 區(qū)分服務(wù): 占 8位,用來(lái)獲得更好的服務(wù),一般情況下不怎么使用這個(gè)字段,只有在區(qū)分服務(wù)時(shí)使用這個(gè)字段。 總長(zhǎng)度: 指首部和數(shù)據(jù)之和的長(zhǎng)度,單位為字節(jié),總長(zhǎng)度字段為16位,因此數(shù)據(jù)報(bào)的最大長(zhǎng)度為2^16 - 1 = 65535 標(biāo)識(shí): 占16位,IP軟件在存儲(chǔ)器中維持一個(gè)計(jì)數(shù)器,每產(chǎn)生一個(gè)數(shù)據(jù)包,計(jì)數(shù)器加1,并將此值賦給標(biāo)識(shí)字段,當(dāng)數(shù)據(jù)包長(zhǎng)度超過網(wǎng)絡(luò)的MTU時(shí),就要采用分片處理,分片時(shí),這個(gè)標(biāo)識(shí)字段的值就會(huì)被復(fù)制到所有的數(shù)據(jù)報(bào)切片中。最后相同的數(shù)據(jù)報(bào)標(biāo)識(shí)字段的分片就會(huì)重裝成為原來(lái)的數(shù)據(jù)報(bào)。 標(biāo)志: 占3位,但目前只有兩位有意義 標(biāo)志字段中最低位記MF,MF=1表示后面還有分片的數(shù)據(jù)報(bào),MF=0,表示這是若干數(shù)據(jù)報(bào)中的最后一個(gè) 中間的一位為DF,意思是不能分片,只有當(dāng)DF=0時(shí)才允許分片 片偏移: 占13位,表示相對(duì)于用戶數(shù)據(jù)的起點(diǎn),該片從何處開始,片偏移以8字節(jié)為偏移量,也就是說每一個(gè)分片的長(zhǎng)度一定是8字節(jié)的整數(shù)倍。 生存時(shí)間: 占8位,生存時(shí)間常用的字段是TTL(Time To Live),表示數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的壽命,由發(fā)出的源站點(diǎn)設(shè)置,目的就是防止無(wú)法交付的數(shù)據(jù)報(bào)在因特網(wǎng)中無(wú)限制的兜圈子,白白消耗資源。TTL字段是以跳數(shù)限制的,每經(jīng)過一個(gè)路由器,在轉(zhuǎn)發(fā)之前就把跳數(shù)減為1,當(dāng)TTL減為0時(shí)就會(huì)丟棄這個(gè)數(shù)據(jù)報(bào),因?yàn)閿?shù)據(jù)報(bào)在因特網(wǎng)中最大經(jīng)過的路由器是255 協(xié)議: 占8位,協(xié)議字段指數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)是使用何種協(xié)議的,以便使目的主機(jī)的IP層知道將數(shù)據(jù)部分上交給那個(gè)處理過程。 首部校驗(yàn)和: 占16位,這個(gè)字段只檢驗(yàn)數(shù)據(jù)報(bào)的首部,不包括數(shù)據(jù)部分。這是因?yàn)閿?shù)據(jù)報(bào)沒經(jīng)過一次路由器,都要重新計(jì)算一下首部校驗(yàn)和(因?yàn)?,一些字段如生存時(shí)間、標(biāo)志、片偏移等可能發(fā)生變化) 源地址和目的地址: 占32位,表示發(fā)送端和接收端的IP地址 可選字段: 占25位,該字段大小長(zhǎng)度可變,從一字節(jié)到40字節(jié)不等 填充 占7位,前面字段加起來(lái)不是4的整數(shù)倍時(shí),該字段填充全0補(bǔ)齊為4字節(jié)的倍數(shù) |
|
來(lái)自: 東西二王 > 《網(wǎng)絡(luò)技術(shù)》