版本號(version)
:長度4位元。標識目前採用的ip協議的版本號。一般的值為0100(ipv4),0110(ipv6)
ip包頭長度(header length)
:長度4位元。這個欄位的作用是為了描述ip包頭的長度,因為在ip包頭中有變長的可選部分。該部分佔4個bit位,單位為32bit(4個位元組),即本區域值= ip頭部長度(單位為bit)/(8*4),因此,乙個ip包頭的長度最長為「1111」,即15*4=60個位元組。ip包頭最小長度為20位元組。
服務型別(type of service)
:長度8位元。8位 按位被如下定義 ppp dtrc0
ppp:定義包的優先順序,取值越大資料越重要
000 普通 (routine)
001 優先的 (priority)
010 立即的傳送 (immediate)
011 閃電式的 (flash)
100 比閃電還閃電式的 (flash override)
101 cri/tic/ecp(
找不到這個詞的翻譯
)110 網間控制 (internetwork control)
111 網路控制 (network control)
d 時延: 0:普通 1:延遲盡量小
t 吞吐量: 0:普通 1:流量盡量大
r 可靠性: 0:普通 1:可靠性盡量大
m 傳輸成本: 0:普通 1:成本盡量小
0 最後一位被保留,恆定為0
ip包總長(total length)
:長度16位元。 以位元組為單位計算的ip包的長度 (包括頭部和資料),所以ip包最大長度65535位元組。
識別符號(identifier)
:長度16位元。該字段和flags和fragment offest欄位聯合使用,對較大的上層資料報進行分段(fragment)操作。路由器將乙個包拆分後,所有拆分開的小包被標記相同的值,以便目的端裝置能夠區分哪個包屬於被拆分開的包的一部分。
標記(flags)
:長度3位元。該欄位第一位不使用。第二位是df(don't fragment)位,df位設為1時表明路由器不能對該上層資料報分段。如果乙個上層資料報無法在不分段的情況下進行**,則路由器會丟棄該上層資料報並返回乙個錯誤資訊。第三位是mf(more fragments)位,當路由器對乙個上層資料報分段,則路由器會在除了最後乙個分段的ip包的包頭中將mf位設為1。
片偏移(fragment offset)
:長度13位元。表示該ip包在該組分片包中位置,接收端靠此來組裝還原ip包。
生存時間(ttl)
:長度8位元。當ip包進行傳送時,先會對該字段賦予某個特定的值。當ip包經過每乙個沿途的路由器的時候,每個沿途的路由器會將ip包的ttl值減少1。如果ttl減少為0,則該ip包會被丟棄。這個字段可以防止由於路由環路而導致ip包在網路中不停被**。
協議(protocol)
:長度8位元。標識了上層所使用的協議。
以下是比較常用的協議號:
1 icmp
2 igmp
6 tcp
17 udp
88 igrp
89 ospf
頭部校驗(header checksum)
:長度16位。用來做ip頭部的正確性檢測,但不包含資料部分。 因為每個路由器要改變ttl的值,所以路由器會為每個通過的資料報重新計算這個值。
起源和目標位址(source and destination addresses)
:這兩個地段都是32位元。標識了這個ip包的起源和目標位址。要注意除非使用nat,否則整個傳輸的過程中,這兩個位址不會改變。
至此,ip包頭基本的20位元組已介紹完畢,此後部分屬於可選項,不是必須的部分。
可選項(options)
:這是乙個可變長的字段。該欄位屬於可選項,主要用於
測試
,由起源裝置根據需要改寫。可選專案包含以下內容:
鬆散源路由(loose source routing):給出一連串路由器介面的ip位址。ip包必須沿著這些ip位址傳送,但是允許在相繼的兩個ip位址之間跳過多個路由器。
嚴格源路由(strict source routing):給出一連串路由器介面的ip位址。ip包必須沿著這些ip位址傳送,如果下一跳不在ip位址表中則表示發生錯誤。
路由記錄(record route):當ip包離開每個路由器的時候記錄路由器的出站介面的ip位址。
時間戳(timestamps):當ip包離開每個路由器的時候記錄時間。
填充(padding)
:因為ip包頭長度(header length)部分的單位為32bit,所以ip包頭的長度必須為32bit的整數倍。因此,在可選項後面,ip協議會填充若干個0,以達到32bit的整數倍
mac包,ip包,tcp包 格式說明
圖 三 乙太網路的 mac 訊框 在這個 mac 當中,最重要的就是那個 6 bytes 的目的與來源位址了!事實上,在所有的乙太網路卡當中都有乙個獨一無二的網路卡卡號,那就是上頭的 目的與來源位址 這個位址是硬體位址 hardware address 共有 6 bytes 分別由 00 00 00...
IP包首部格式
ipv4首部一般是20位元組長。在乙太網幀中,ipv4包首部緊跟著乙太網幀首部,同時乙太網幀首部中的協議型別值設定為080016。ipv4提供不同,大部分是很少用的選項,使得ipv4包首部最長可擴充套件到60位元組 總是4個位元組4個位元組的擴充套件 0 481216 1924 31版本 首部長度 ...
IP包首部格式
ipv4首部一般是20位元組長。在乙太網幀中,ipv4包首部緊跟著乙太網幀首部,同時乙太網幀首部中的協議型別值設定為080016。ipv4提供不同,大部分是很少用的選項,使得ipv4包首部最長可擴充套件到60位元組 總是4個位元組4個位元組的擴充套件 04 8121619 2431 版本首部長度 服...