天天看點

IP協定圖解詳解IP協定

IP協定

IP資料包結構

  • 資料包結構
4位版本 4位首部長度 8位服務類型 16位總長度
16位标志 3位标志 13位片偏移
8位生存時間(TTL) 8位協定 16位首部校驗和
32位源IP位址
32位目的IP位址
選項
資料
  • 資料包結構解釋
字段 位數 用法說明
版本(version) 4 說明用以建立該資料包的IP版本。所有接觸該資料包的裝置都必須支援本字段顯示的版本。大部分TCP/IP産品都使用IPv4
首部長度(Header Length) 4 以32位為機關表明IP首部的長度。因為幾乎所有的IP首部都是20位元組長,這個字段的值幾乎都是5
服務類型(Type-of-Service Flags) 8 給應用程式,主機和Internet上的路由器提供一個優先級服務。在這個字段設定合适的标志,應用程式可以要求這個資料包得到高優先級,而讓其他資料包等待。
總長度(Total Packet Length) 16 以位元組為機關說明全部IP包的長度,包括首部和主體部分
辨別(Fragment Identifier) 16 辨別資料包,在出現分片,并想把片段合并成原狀時是有用的
标志(Fragmentation Flags) 3 說明可能出現的任何分片的某些方面,也提供了分片控制服務,例如不讓路由器分片某個包
偏移(Fragmentation Offset) 13 說明這個片段提供的源IP資料包的位元組範圍,用8位元組的偏移表示
生存時間(Time-to-Live) 8 說明資料包在不可發送和破壞之前還可以經過的跳數
協定(Protocol Identifier) 8 說明儲存在IP資料包主體的高層協定
首部校驗和(Header Checksum) 16 用來儲存IP首部的校驗和
源IP位址(Source IP Address) 32 用來儲存最初發送該資料包的主機的32位的IP位址
目的IP位址(Destination IP Address) 32 用來儲存該資料包到達目的的系統的32位的IP位址
選項(options) 可變 就像IP用type-of service 标志提供了一些優先級服務一樣,附加的特殊處理選項能夠通過Options字段定義。這些選項包括source routing,timestamp和其他一些選項。這些選>
Padding(如果有需要的話) 可變 IP資料包的首部的長度必須是32的倍數。如果首部中引入了某些選項,首部必須填充到能夠被32整除的位數
資料(data) 可變 IP資料包的資料部分。正常情況下,會包含一個完全的TCP火UDP資訊,但是它也可以是其他IP資料包的一個片段
  • 執行個體分析
0000 00 60 08 82 d2 19 00 0b 46 99 6a 80 08 00 45 00
0010 04 9c 19 ce 40 00 7f 06 57 39 c0 a8 02 02 c0 a8
0020 03 02 00 14 05 55 e1 c1 f3 27 05 98 0a 88 50 18
45:4是使用的IP版本号,IPv4,5是Header Length首部長度,32位為一個機關,一般都為20位元組,也就是5.
00:總共八位,0000 0000,前面3位是優先權要求,此處為0,也就是普通優先級,資料越高,越優先。第四位是延遲要求Delay,0是普通值,1,為最小延遲,第五位是通信要求Throughput,0為普通值,1為最大吞吐量,6位是可靠性要求Reliability,0為普通值,1為最高可靠性。第七八位是備用,Not Used
04 9c:Total Length總共16位,以16進制的形式,表示IP資料包的大小(位元組),包括首部和資料部分。
19 ce:Identification,辨別字段,用于唯一地辨別主機發送的每一份資料包,産生的每一個資料包都有16位的序列号,用來讓發送系統和接收系統識别該資料包。通常每發送一份封包它的值就會加1。當要發送一個資料包分片的時候,會把這個字段的内容複制到每個片中,表示這些被分割的片屬于同一個資料包。
4:Flags隻有3位,也就是010,第一位Reserved bit :目前沒有使用。第二位don’t fragment :用于說明某一IP路由是否可以分片這個IP包。為1表示不可以。第三位more fragments:用于說明源資料包是否還有其他片段。為1時表示其後還有被分割的包。
40 00;Fragment Offset偏移定位,13位,0 0000 0000 0000當一個大的資料包經過一些傳輸單元(MTU)較小的路徑時,會被分割成片進行傳送,由于鍊路情況和其他因素的影響,資料到達時可能會失序,是以在分片時,每個片做好偏移定位标記,便于重組。這裡為0表示資料包沒有被分片。
7f:Time-to-Live,生存時間TTL,在許多網絡協定中都會碰到,它指定某個資料包在不能發送并被丢棄之前可以經過的最大跳數。這裡是7f換成10進制就是127次。表示最多還可以跳127次,每跳一次就會減去1,如果這個值到達最終目的系統之前減到0,這個包會被認為不可發送并被丢棄。
06:Protocol這個字段用來識别嵌入到IP資料包中的上層協定類型:值為1表示ICMP,值為2表示IGMP,值為6表示TCP,值為17表示UDP。這裡值為6表示TCP
57 39:首部校驗和,用以儲存該IP首部的校驗和,使得中間裝置能夠驗證首部的内容并檢驗出可能的資料損壞,隻應用與IP首部的值
c0 a8 02 02:辨別該資料包的源發送者,也就是源端系統使用的32位IP位址。換算成10進制就是192.168.2.2
c0 a8 03 02:辨別目的地的IP位址。

IP協定

一次傳輸流程

繼續閱讀