網(wǎng)絡(luò)之間互連的協(xié)議也就是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議。在因特網(wǎng)中,它是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則。
什么是報(bào)文?
報(bào)文(message)是網(wǎng)絡(luò)中交換與傳輸?shù)臄?shù)據(jù)單元,即站點(diǎn)一次性要發(fā)送的數(shù)據(jù)塊。報(bào)文包含了將要發(fā)送的完整的數(shù)據(jù)信息,其長短很不一致,長度不限且可變。
一、IP數(shù)據(jù)報(bào)文結(jié)構(gòu)如下:
各字段解釋如下:
1,version:版本號(hào),4bits,指IP協(xié)議的版本。
2,header length:首部長度,4bits,單位為4字節(jié),故最大長度為4*(2^4-1)=60字節(jié),首部固定部分長度為20字節(jié),可變部分為0~40字節(jié)。
3,differentiated services:服務(wù)類型,8bits,組成如下:
過程字段:3位,設(shè)置了數(shù)據(jù)包的重要性,取值越大數(shù)據(jù)越重要,取值范圍為:0(正常)~ 7(網(wǎng)絡(luò)控制)
延遲字段:1位,取值:0(正常)、1(期特低的延遲)
流量字段:1位,取值:0(正常)、1(期特高的流量)
可靠性字段:1位,取值:0(正常)、1(期特高的可靠性)
成本字段:1位,取值:0(正常)、1(期特最小成本)
保留字段:1位 ,未使用
4,total length:總長度,16bits,首部加上數(shù)據(jù)的長度總和,單位為字節(jié),故數(shù)據(jù)報(bào)最大長度為2^16-1=65525字節(jié)。另外總長度必須不超過最大傳送單元MTU。
5,identification:標(biāo)識(shí),16bits,計(jì)數(shù)器,作為數(shù)據(jù)報(bào)標(biāo)識(shí)。當(dāng)數(shù)據(jù)報(bào)需要分片時(shí),該標(biāo)識(shí)用來表示同屬一個(gè)數(shù)據(jù)報(bào)的分片。需要分片時(shí)結(jié)合以下flags、fragment offset一起使用。
6,flags:標(biāo)志,3bits,記為D0-D1-D2,各自意義如下:
D0:1表示有后續(xù)分片,0表示該數(shù)據(jù)報(bào)為最后一片。
D1:1表示不分片,0表示分片。
D2:保留位,未使用。
7,fragment offset:片偏移,13bits,單位為8字節(jié),表示分片后的某分片在原分組中的相對(duì)位置。
8,time to live:生存時(shí)間,8bits,表示數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的壽命,單位為跳,經(jīng)過一個(gè)路由表示一跳,該值減 一,到零則丟棄。
9,protocal:協(xié)議,8bits,指出使用該包裹的上層協(xié)議,如TCP=6,ICMP=1,UDP=17等。
10,header checksum:首部(不包括數(shù)據(jù)部分)檢驗(yàn)和,16bits。這里不采用 CRC 檢驗(yàn)碼而采用簡單的“反碼算術(shù)求和”計(jì)算方法。
11,source address:源地址,32bits,即源IP地址。
12,destination address:目的地址,32bits,即目的IP地址。
13,options:可選字段,長度可變,1~40字節(jié)。用于增加IP數(shù)據(jù)報(bào)的控制功能。
14,另外還有個(gè)填充字段,上圖中未顯示,該字段用來保證首部的長度為4字節(jié)的整數(shù)倍。
15,Data:用戶數(shù)據(jù)。
二、用抓包工具抓IP數(shù)據(jù)報(bào),截圖如下:
由圖可知,該IP首部只有20個(gè)字節(jié),各字段值分別為:
version(4):4。
header length(4):5 * 4 = 20 bytes。
differentiated services(8):ox00。
total length(16):ox0034,3*16 + 4 = 52 bytes,由上圖可知,IP報(bào)文長度為66 -14 = 52,前面14字節(jié)為以太網(wǎng)幀中的部分?jǐn)?shù)據(jù),其實(shí)就是兩個(gè)mac(6byte)地址再加一個(gè)2字節(jié)的type。
identification(16):ox4c46,19526。
flags(3):二進(jìn)制010,可知該數(shù)據(jù)報(bào)不分片且為最后片。
fragment offset(13):二進(jìn)制0 0000 0000 0000。
time to live(8):0x40,即64跳。
protocal(8):0x06,即上層協(xié)議為TCP。
header checksum(16):0xd7e8。
source address(32):0xc0a80569,即192.168.5.105。
destination address(32):ox774bd938,即119.75.217.56。
options(1~40):無
以上就是IP報(bào)文的結(jié)構(gòu)的詳細(xì)介紹,希望大家看了本片文章以后可以對(duì)IP報(bào)文有多了解,謝謝閱讀。
新聞熱點(diǎn)
疑難解答
圖片精選