IP報文格式

2021-08-13 11:16:14 字數 1796 閱讀 7421

版本:ip協議的版本,目前的ip協議版本號為4,下一代ip協議版本號為6。相同版本的ip號才能進行通訊

首部長度:ip報頭的長度。單位為4位元組,固定部分的長度(20位元組)和可變部分的長度之和。共佔4位。最大為1111,即10進製的15,代表ip報頭的最大長度可以為15個32bits(4位元組),也就是最長可為15*4=60位元組,除去固定部分的長度20位元組,可變部分的長度最大為40位元組。一般來說此處的值為0101,表示頭長度為20位元組。

服務型別:type of service。該欄位一般情況下不使用。

總長度:ip報文的總長度。報頭的長度和資料部分的長度之和。單位是1位元組。能表示的最大位元組為2^16-1=65535位元組。不過由於鏈路層的mtu限制。超過1480位元組後就會被分片(以太幀mtu為1500的情況下,除去20位元組的包頭)

標識:唯一的標識主機傳送的每一分資料報。通常每傳送乙個報文,它的值加一。當ip報文長度超過傳輸網路的mtu(最大傳輸單元)時必須分片,這個標識欄位的值被複製到所有資料分片的標識欄位中,使得這些分片在達到最終目的地時可以依照標識欄位的內容重新組成原先的資料。ip分片以後,用來標識同一片分片的。方便ip分片的重組。

標誌:共3位。r、df、mf三位。目前只有後兩位有效,df位:為1表示不分片,為0表示分片。mf:為1表示「更多的片」,為0表示這是最後一片。

片位移:該字段是與ip分片後,相應的ip片在總的ip片的位置。該字段的單位是8位元組。比如,乙個長度為4000位元組的ip報文,到達路由器。這是超過了鏈路層的mtu,需要進行分片,4000位元組中,20位元組為包頭,3980位元組為資料,需要分成3個ip片(鏈路層mtu為1500),那麼第乙個分片的片偏移就是0,表示該分片在3980的第0位開始,第1479位結束。第二個ip片的片偏移為185(1480/8),表示該分片開始的位置在原來ip的第1480位,結束在2959。第三片的片偏移為370(2960/8),表示開始的時候是2960位,結束的時候在3979位。

生存時間:ttl,該片表示生存週期,該值佔8位。ip分片每經過乙個路由器該值減一,它的出現是為了防止路由環路,浪費頻寬的問題。比如,該ip在r1路由器傳送到r2路由器。r2路由器又發給r1路由器。防止這種迴圈。window系統預設為128.

協議:指出ip報文攜帶的資料使用的是那種協議,以便目的主機的ip層能知道要將資料報上交到哪個程序(不同的協議有專門不同的程序處理)。和埠號類似,此處採用協議號,其中1,標識icmp、2標識igmp、6標識tcp、17標識udp、89標識ospf、132標識sctp。

首部校驗和:計算ip頭部的校驗和,檢查ip報頭的完整性。

已知 ip:195.169.20.50   子網掩碼:255.255.255.224  求網路號 子網號 主機號。

答:ip為c類,一知道子網掩碼值是224 所以網路被劃分為8個子網,求網路號是用將你的ip和原子網掩碼255.255.255.0進行邏輯與運算為195.169.20.0 子網號則是用ip和新的子網掩碼255.255.255.224進行邏輯與也是轉為二進位制在與得到195.169.20.32

參考:



ip報文格式 TCP IP簡介

本文參考atul kahate編著的 金銘等翻譯的 cryptography and network security 中文名密碼學與網路安全 本文僅限於個人學習,研究,交流,不得用於其他商業用途!internet 是基於傳送控制協議 網際協議 tcp ip 協議族的,tcp ip協議族分為5層 應...

mysql報文格式 Mysql 報文格式

mysql client和server端之間的的資料根據不同的協議規則的進行組織傳送。每包資料在傳送的時候都要新增上協議頭。mysql原始碼採用5.7.10版本 協議頭 每個協議頭共4個位元組 包資料長度 前三個位元組表示資料部分的長度 不包括協議頭 三位元組能表示的最大長度是16m 1 2 24 ...

mysql報文格式 Mysql 報文格式

mysql client和server端之間的的資料根據不同的協議規則的進行組織傳送。每包資料在傳送的時候都要新增上協議頭。mysql原始碼採用5.7.10版本 協議頭 每個協議頭共4個位元組 包資料長度 前三個位元組表示資料部分的長度 不包括協議頭 三位元組能表示的最大長度是16m 1 2 24 ...