發布時間: 2018-10-21 15:53:39
IP報數據字段格式
數據報格式各個字段所定義的功能如下:
閑言少敘,直奔主題,在上一篇軟文中,我們解讀到總體長度字段。后面我們繼續把其他字段解讀完。
( 5 ) 標識號
長度16 位, 標識號字段惟一地標識主機發送的每一份數據報。是一個遞增序號, 通常每發送一份報文, 它的值就會加1, 主要用于數據報的分段與重組被分段傳送的IP 數據報具有相同的標識號。RFC 791 認為標識字段應該由讓IP 發送數據報的上層來選擇。假設有兩個連續的IP 數據報, 其中一個是由TCP 生成的, 而另一個是由UDP 生成的, 那么它們可能具有相同的標識字段。
( 6 ) 分段標志
長度3 位, 是數據報是否分段的標志。該值為0 , 表示未分段, 一旦分段, 除最后一段是為0 外, 其余段的該標志均為1。
( 7 ) 分段號
長度13 位, 這是賦予每個相連數據報段的一個數值。用于表明被分段的數據報在原始數據報中的質量, 用64 位的倍數表示。目的地的IP 協議軟件使用該分段號, 將數據報段重新組合成正確的數據報。
( 8 ) 生存期
長度8 位, 允許數據報在網間傳輸的時間( 以秒或路由器劃分的跳為單位) 。當IP 數據報經過每個路由器時, 路由器查看該值并且至少將它減1, 或減去該數據報在路由器內延遲的秒數。當該字段的值達到0 時, 該數據報即被刪除。
( 9 ) 協議
長度8 位, 指出發送數據報的上層協議的代碼。如1 代表ICMP, 6 代表TCP, 17 代表UDP 等。根據它可以識別是哪個協議向IP 傳送的數據。
( 10) 報頭校驗和
長度16 位, 用于對報頭的正確性檢查。對于IP 報頭的校驗和應注意以下二點。
① 由于報頭中含“ 生存期”字段, 而該字段每經過一個路由器時, 其值減1, 因此每經過一個路由器時, 該報頭校驗和必須重新進行計算。
② 接受端通過校驗和實現報頭有錯時, 就會丟棄該數據報, 但不生成差錯報文, 由上層
去實現丟失后, 進行重新處理。
( 11) 源IP 地址
長度32 位, 發送數據報的源主機IP 地址。
( 12) 目的IP 地址
長度32 位, 接收數據報的目的主機IP 地址。
( 13) 任選項
可變長度, 用于提供任選服務, 如時間戳、錯誤報告和特殊路由等。最后一個字段是任
選項, 是數據報中的一個可變長的可選信息。目前, 這些任選項定義如下。
安全和處理限制: 用于軍事領域, 詳細內容參見RFC 1108( Kent 1991) 。
記錄路徑: 讓每個路由器都記下它的IP 地址。
時間戳: 讓每個路由器都記下它的IP 地址和時間。
寬松的源站選路: 為數據報指定一系列必須經過的IP 地址。
嚴格的源站選路: 與寬松的源站選路類似, 但是它要求只能經過指定的這些地址, 不
能經過其他的地址。
這些選項很少被使用, 并非所有的主機和路由器都支持這些選項。
( 14) 填充
可變長度, 由于選項字段一直都是以32 位作為界限, 在必要的時候插入值為0 的填充
字節。這樣就保證IP 報頭始終是32 位的整數倍( 這是報頭長度字段所要求的) 。
( 15) IP 數據報有效負載
通常包含傳輸層中的TCP, UDP 數據信息, 或是同層的ICMP 等的數據。其長度可變
( 但不能超過較大傳輸單位) 。
小結:
至此,我們完成了對IP數據報中的字段含義的初步解讀。具體細節也可以參考TCP/IP卷一中的描述。了解了IP數據包的字段含義和結構,對于IP的功能,就如虎添翼,也更能深入了解IP層的運作機制。
上一篇: {HCNA-AI TensorFlow編程基礎}之Hello, TensorFlow!
下一篇: ?淺談IP數據報字段含義_1