新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ip頭部結(jié)構(gòu)的詳解

ip頭部結(jié)構(gòu)的詳解

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
ip屬于網(wǎng)絡(luò)層協(xié)議,其意義在于確定設(shè)備的位置,即ip地址。但又和arp與tcp不同,它是為傳輸層服務(wù)的,通常將tcp和udp架在ip協(xié)議之上。所以他只不過(guò)是一個(gè)數(shù)據(jù)的載體,本身并沒有自己的詢問與回復(fù)功能。他在程序中,只起到確定傳輸?shù)墓δ堋?p>

以上是ip頭的內(nèi)容,
版本一般為4,即ipv4,如果是ipv6,則可能為6,
首部長(zhǎng)度:首部長(zhǎng)度應(yīng)該為 數(shù)量*4 通常為20字節(jié),通過(guò)抓包工具抓包,基本都是20字節(jié)無(wú)一例外。

本文引用地址:http://butianyuan.cn/article/201611/324074.htm

tos服務(wù)類型:應(yīng)該是對(duì)應(yīng)路由器的,當(dāng)終端接收到數(shù)據(jù)后,應(yīng)該就不關(guān)心這個(gè)的值了。包括過(guò)程字段(3位,設(shè)置了數(shù)據(jù)包的重要性,取值越大數(shù)據(jù)越重要),延遲字段(1位),流量字段(1位),可靠性字段(1位), 成本字段(1位),未使用(1位)
16位總長(zhǎng)度:即ip總長(zhǎng)

16位標(biāo)識(shí):占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)不存在按序接收的問題。當(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)。

ip頭部標(biāo)識(shí)與片偏移:
ip數(shù)據(jù)頭中的3位標(biāo)識(shí)最低位為mf,為1時(shí)說(shuō)明這個(gè)ip數(shù)據(jù)包是分片的,并且后續(xù)還有數(shù)據(jù)包,為0時(shí)說(shuō)明這個(gè)ip數(shù)據(jù)包是分片的,但已經(jīng)是最后一個(gè)數(shù)據(jù)了。中間位為df,df為1時(shí),說(shuō)明這個(gè)數(shù)據(jù)包是不分片的,為零時(shí)才允許數(shù)據(jù)包分片。
片偏移 :占13位。片偏移指出:較長(zhǎng)的分組在分片后,某片在原分組中的相對(duì)位置。也就是說(shuō),相對(duì)于用戶數(shù)據(jù)字段的起點(diǎn),該片從何處開始。片偏移以8個(gè)字節(jié)為偏移單位。也就是說(shuō),每個(gè)分片的長(zhǎng)度一定是8字節(jié)(64位)的整數(shù)倍。
8位ttl生存時(shí)間,表示的是數(shù)據(jù)從一個(gè)設(shè)備發(fā)向另一個(gè)設(shè)備,經(jīng)過(guò)一個(gè)中轉(zhuǎn)站,則減1,當(dāng)ttl為0時(shí),即使收端收到,則認(rèn)定該數(shù)據(jù)超時(shí),則丟棄該數(shù)據(jù)。也就是一個(gè)防止超時(shí)的設(shè)置,不過(guò)網(wǎng)上還有另一種說(shuō)法,就是表示自己的設(shè)備使用的是什么系統(tǒng),具體表示什么,沒有試過(guò)。不過(guò)一般ttl的數(shù)值為64.

8位協(xié)議:ICMP(1)、TCP(6)、UDP(17)。
校驗(yàn)和:為頭部校驗(yàn)。
32位源ip和32為目標(biāo)ip
還有一個(gè)是選項(xiàng),至于選項(xiàng)的內(nèi)容是什么,因?yàn)闆]見過(guò),具體我也不知道。
如果沒有選項(xiàng)或選項(xiàng)的后面,那就是數(shù)據(jù),數(shù)據(jù)包含這tcp數(shù)據(jù)和udp數(shù)據(jù)。

對(duì)于程序而言,先顛倒ip,然后把那些死的東西寫進(jìn)去,甚至是不處理,只處理那些可變的部分即可。



關(guān)鍵詞: ip頭部結(jié)

評(píng)論


技術(shù)專區(qū)

關(guān)閉