指ip協議的版本,為0100或0110,即ipv4和ipv6兩種版本,通訊雙方使用的ip協議版本必須一致。
佔 4 位,可表示的最大十進位制數值是15。請注意,這個欄位所表示數的單位是32位字 (即0001表示1個32位字長就是4 位元組),因此,當 ip 的首部長度為 1111 時 (即十進位制的 15),首部長度就達到 60位元組。當 ip 分組的首部長度不是4位元組的整數倍時,必須利用最後的填充字段加以填充。因此資料部分永遠在4位元組的整數倍開始,這樣在實現 ip協議時較為方便。首部長度限制為 60位元組的缺點是有時可能不夠用.這樣做的目的是希望使用者儘量減少開銷。最常用的首部長度就是 20 位元組 (即首部長度為 0101)或者0位元組(0000),這時不使用任何選項。極少情況才會
佔 8 位,用來獲得更好的服務。這個欄位在舊標準中叫做服務型別,但實際上一直沒有被使用過。2023年ietf把這個字段改名為區分服務 ds(differentiated services)。只有在使用區分服務時,這個欄位才起作用。
首部長度+資料長度=總長度,但總長度不能超過下面的資料鏈路層的mtu值,否則要分片。
佔16位。ip軟體在儲存器中維持乙個計數器,每產生乙個資料報,計數器就加1,並將此值賦給標識字段。但這個「標識」並不是序號,因為ip是無連線服務,資料報不存在按序接收的問題。當資料報由於長度超過網路的mtu而必須分片時,這個標識欄位的值就被複製到所有的資料報的標識欄位中。相同的標識欄位的值使分片後的各資料報片最後能正確地重灌成為原來的資料報。
佔3位,但目前只有2位有意義。
● 標誌欄位中的最低位記為mf(more fragment)。mf=1即表示後面「還有分片」的資料報。mf=0表示這已是若干資料報片中的最後乙個。
● 標誌字段中間的一位記為df(don』t fragment),意思是「不能分片」。只有當df=0時才允許分片。
佔13位。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是說,相對使用者資料字段的起點,該片從何處開始。片偏移以8個位元組為偏移單位。這就是說,每個分片的長度一定是8位元組(64位)的整數倍。
佔8位,生存時間字段常用的的英文縮寫是ttl(time to live),表明是資料報在網路中的壽命。由發出資料報的源點設定這個字段。其目的是防止無法交付的資料報無限制地在網際網路中兜圈子,因而白白消耗網路資源。最初的設計是以秒作為ttl的單位。每經過乙個路由器時,就把ttl減去資料報在路由器消耗掉的一段時間。若資料報在路由器消耗的時間小於1秒,就把 ttl值減1。當ttl值為0時,就丟棄這個資料報。ttl通常是32或者64,scapy中預設是64。
佔8位,協議字段指出此資料報攜帶的資料是使用何種協議,以便使目的主機的ip層知道應將資料部分上交給哪個處理過程。
佔16位。這個欄位只檢驗資料報的首部,但不包括資料部分。這是因為資料報每經過乙個路由器,路由器都要重新計算一下首部檢驗和(一些字段,如生存時間、標誌、片偏移等都可能發生變化)。檢驗可防止傳遞錯誤資訊,不檢驗資料部分可減少計算的工作量。
源機ip位址,32位。
目的主機ip位址,32位。
ip首部的可變部分就是乙個可選字段。選項字段用來支援排錯、測量以及安全等措施,內容很豐富。此字段的長度可變,從1個位元組到40個位元組不等,取決於所選擇的專案。某些選項專案只需要1個位元組,它只包括1個位元組的選項**。但還有些選項需要多個位元組,這些選項乙個個拼接起來,中間不需要有分隔符,最後用全0的填充字段補齊成為4位元組的整數倍。
增加首部的可變部分是為了增加ip資料報的功能,但這同時也使得ip資料報的首部長度成為可變的。這就增加了每乙個路由器處理資料報的開銷。實際上這些選項很少被使用。新的ip版本ipv6就將ip資料報的首部長度做成固定的。
目前,這些任選項定義如下:
(1)安全和處理限制(用於軍事領域)
(2)記錄路徑(讓每個路由器都記下它的ip位址)
(3)時間戳(讓每個路由器都記下它的ip位址和時間)
(4)寬鬆的源站路由(為資料報指定一系列必須經過的ip位址)
(5)嚴格的源站路由(與寬鬆的源站路由類似,但是要求只能經過指定的這些位址,不能經過其他的位址)
這些選項很少被使用,並非所有主機和路由器都支援這些選項。
IP資料報首部選項字段詳解
ip選項主要用於控制和測試兩大目的。作為選項,使用者可以使用也可以不使用ip選項,但作為ip協議的組成部分,所有實現ip協議的裝置能處理ip選項。在使用選項的過程中 有可能造成資料報頭部不是32b的整數倍,那麼則需要 填充域來湊齊。ip資料報選項有選項碼 長度 和選項資料3部分組成,其中,選項碼用於...
IP資料報格式
版本字段長度為4,用來表明建立資料報的ip版本,目前的ip版本是ipv4,ipv6正在發展中。ipv4的字段為0100 首部長度 報頭長度 指的是首部佔32 bit字的數目,包括任何選項。由於它是乙個4位元字段,因此首部最長為60個位元組。15x32 8 60位元組.ip首部始終是32 bit的整數...
IP資料報格式
ip資料報格式 tcp ip協議定義了乙個在網際網路上傳輸的包,稱為ip資料報 ip datagram 這是乙個與硬體無關的虛擬包,由首部和資料兩部分組成.首部的前一部分是固定長度,共 20 位元組,是所有ip資料報必須具有的.在首部的固定部分的後面是一些可選字段,其長度是可變的.版本 佔4位,指i...