IPv4協議中的成員描述

2021-08-21 01:25:07 字數 968 閱讀 3391

在網路協議棧中,ip層的資料結構如下:

struct iphdr {

#if defined(__little_endian_bitfield)

__u8ihl:4,

version:4;

#elif defined (__big_endian_bitfield)

__u8version:4,

ihl:4;

#else

#error"please fix "

#endif

__u8tos;

__be16tot_len;

__be16id;

__be16frag_off;

__u8ttl;

__u8protocol;

__sum16check;

__be32saddr;

__be32daddr;

/*the options start here. */    //ip頭部選項

ihl:表示ip頭部長度,以4位元組為單位。ipv6固定長度40位元組,ipv4長度不固定,一般為20位元組(ihl=5),有可選項時最長為60位元組(ihl=15)。ipv4報頭的長度必須是4的整數倍。

version:協議版本號,ipv4為4。

tos:服務型別,前6位為區分服務碼點,後兩位為顯示擁塞通知。一般編碼不會用到該成員。

tot_len:包括報文頭部在內的ip資料報總長度,即l3+l4+data。

id:標識號,在有分段的情況下,所有分段的id值一樣。

frag_off:分段偏移量。後13位標識分段偏移量,第乙個分段偏移量為0,偏移量以8位元組為單位。前3位:001表示還有其它分段,除最後乙個分段外其他分段必須設定;010表示不分段;100表示擁塞。

ttl:存活時間,跳數,每**一次減一,減到零時丟棄該包並返回icmp超時訊息

protocol:4層協議型別(tcp、udp、icmp等)

check:ip報頭校驗和

IPv4協議中的UDP分片問題

目錄 ipv4協議 分片可能引起的問題 參考文章 先看乙個流傳得比較多的圖,這裡直入主題,只說與分片相關的字段。標識 identification 佔16位。ip軟體在儲存器中維持乙個計數器,每產生乙個 資料報,計數器就加1,並將此值賦給標識字段。標誌 flag 佔3位,但目前只有兩位有意義。最低位...

網路測試 IPV4協議族

ipv4協議族是tcp ip協議族中最為核心的協議族。ipv4協議族主要包括位址解析協議arp address resolution protocol 逆位址解析協議rarp reverse address resolution protocol 網際網路控制報文協議icmp internet co...

連續arq協議的利用率 IPv4協議

這裡所說的ip位址是ipv4位址,ip位址由32位正整數來表示。他在計算機內部被以二進位制方式處理,因此最多有2 32個ip位址,即 43億個總ipv4位址。32位的ip位址被分為4組,每組8位。每組以 來進行分割。然後在將每組數轉換為相應的十進位制數字。例如 192.168.0.231,我們稱之為...