版本字段長度為4,用來表明建立資料報的ip版本,目前的ip版本是ipv4,ipv6正在發展中。ipv4的字段為0100
首部長度(報頭長度)指的是首部佔32 bit字的數目,包括任何選項。由於它是乙個4位元字段,因此首部最長為60個位元組。15x32/8=60位元組.ip首部始終是32 bit的整數倍.ip資料報報頭的最小長度為20個字(不含填充欄位和ip選項欄位的ip報頭是最常見的ip報頭,為20個位元組)
服務型別tos
總長度欄位是指整個i p資料報的長度,以位元組為單位.由於該字段長1 6位元,所以i p資料報最長可達6 5 5 3 5位元組.總長度欄位是i p首部中必要的內容。資料長度=總長-報頭長度。
識別符號長16位元
標誌位長度為3位元。
用於分段控制:第0位為預留位,第1位表示可否分段。當該位的值為0時,表示資料報不可分段,值為1時,表示資料報可被分段。第2位為段是否結束位,當該位的值為0時,表示該段是原資料報的最後一段,值為1時,表示後面不有更多的分段。
當網路裝置要傳送的資料報長度比所在網路的最大傳輸單元mtu大,並且標誌位的第1位設定為不能分段(0)時,網路裝置會向傳送方返回乙個網際網路控制訊息協議icmp錯誤訊息,並丟棄該資料報。除了最後乙個分段外,其餘分段的第2位均設定為1。
段偏移13位元長度,用於指定分段在原始資料報中的位置,以8個位元組為單位.
生存時間ttl長度為8位元,用於指定資料報允許保留在網路上的時間。
協議字段長度為8位元,用於指定資料報資料區中攜帶的訊息是由哪種高階協議建立的。icmp為1,tcp為6,udp為17。 協議號分配rfc790.
報頭校驗和16位元,僅用於ip報頭校驗和。
源ip位址及目的ip位址。
選項,填充字段用於確保將選項字段填充為最少32個位元位,以保證ip報頭以32位結束。
分段:分段是將乙個大的ip資料報分解成幾個較小的資料報段的過程。當ip模組需要通過乙個具有較小mtu的網路傳送較大的資料報時,就必須將其分段。
//定義ip報頭
typedef struct _iphdr
ip_header;
IP資料報格式
ip資料報格式 tcp ip協議定義了乙個在網際網路上傳輸的包,稱為ip資料報 ip datagram 這是乙個與硬體無關的虛擬包,由首部和資料兩部分組成.首部的前一部分是固定長度,共 20 位元組,是所有ip資料報必須具有的.在首部的固定部分的後面是一些可選字段,其長度是可變的.版本 佔4位,指i...
IP資料報格式
tcp ip協議定義了乙個在網際網路上傳輸的包,稱為ip資料報 ip datagram 這是乙個與硬體無關的虛擬包,由首部和資料兩部分組成.首部的前一部分是固定長度,共 20 位元組,是所有ip資料報必須具有的.在首部的固定部分的後面是一些可選字段,其長度是可變的.版本 佔4位,指ip協議的版本.通...
IP資料報格式
ip協議提供不可靠無連線的資料報傳輸服務,ip層提供的服務是通過ip層對資料報的封裝與拆封來實現的。ip資料報的格式分為報頭區和資料區兩大部分,其中報頭區是為了正確傳輸高層資料而加的各種控制資訊,資料區包括高層協議需要傳輸的資料。ip資料報的格式如下 注意,上圖表示的資料,最高位在左邊,記為0位 最...