ip資料報格式
0 4 8 16 31
|4位版本 | 4位首部長度 | 8位服務型別 | 16位總長度(位元組數)|
|16位標識 | 3位標誌 | 13位片偏移 |
|8位生存時間| 8位協議 | 16位首部校驗和 |
|32位源ip位址|
|32位目的ip位址|
|選項(可無)|
|資料|
netinet/ip.h中定義ip:
struct ip;解析
4位首部長度(ip_hl):這個值以4位元組為單位,ip協議首部的固定長度為20個位元組,如果ip包沒有選項,那麼這個值為5.
4位版本(ip_v):這裡是4,現在ipv6已經出來了。
ip_tos服務型別:說明提供的優先權。
ip_len:ip資料報的總長度,最大為65535,位元組數。包括ip首部和ip層payload(資料)。
ip_id:唯一地標識主機傳送的每乙份資料報,乙個資料報的所有分片具有相同的標識。
3位標識,第一位rf保留,第二位df是否分片,1不分片(預設),0分片;第三位mf是否還有分片,1還有片(預設),0無片。
ip_off碎片偏移:和上面id一起用來重組碎片。
ip_p協議:表示建立這個ip資料報的高層協議,如tcp,udp,icmp和igmp協議。
ip_sum首部校驗和:提供對首部資料的校驗。
ip_src,ip_dst:傳送者和校驗者ip位址。
12. 分片: 把乙個資料報為了適合網路傳輸而分成多個資料報的過程稱為分片,被分片後的各個ip資料報可能經過不同的路徑到達目標主機。 乙個ip資料報在傳輸過程中可能被分片,也可能不被分片。如果被分片,分片後的ip資料報和原來沒有分片的ip資料報結構是相同的,即也是由ip頭部和ip資料區兩個部分組成: 分片後的ip資料報,資料區是原ip資料報資料區的乙個連續部分,頭部是原ip資料報頭部的複製,但與原來未分片的ip資料報頭部有兩點主要不同:標誌和片偏移
(1)標誌:在ip資料報頭部有乙個叫「標誌」的字段,用3位二進位制數表示: 不分片df(do not fragment)標誌如果被置1,則資料報在傳輸過程中不能被分片,如網路連通性測試命令ping就可以用-f引數設定為在資料傳輸時不分片,但這樣當資料不能通過mtu較小的網路時,將產生資料不可達的錯誤。 片未完mf(more fragment)標誌如果被置1,說明該資料報不是分片後的最後乙個資料報,最後乙個資料報的該位被置0。
(2)片偏移:ip資料報被分片後,各片資料區在原來ip資料區中的位置用13位片偏移來表示。上圖中分片1的偏移為0;分片2的偏移為600;分片3的偏移為1200。實際在ip位址中,由於偏移是以8個位元組為單位進行計算的,因而在ip資料報中分片1的偏移是0;分片2的偏移是75;分片3的偏移是150。
13. 重組: 當分了片的ip資料報到達最終目標主機時,目標主機對各分片進行組裝,恢復成源主機傳送時的ip資料報,這個過程叫做ip資料報的重組。在ip資料報頭部中,標識用16位二進位制數表示,它唯一地標識主機傳送的每乙份資料報。
在乙個資料報被分片時,每個分片僅把資料報「標識」欄位的值原樣複製乙份,所以乙個資料報的所有分片具有相同的標識。 目標端主機重組資料報的原理是:
(1)根據「標識」字段可以確定收到的分片屬於原來哪個ip資料報;
(2)根據「標誌」欄位的「片未完mf」子欄位可以確定分片是不是最後乙個分片;
(3)根據「偏移量」字段可以確定分片在原資料報中的位置。
14. ip資料報的首部長度和資料報長度都是變長的,但總是4位元組的整數倍。每個ip資料報長度最大為1500位元組(mtu),包首長20~60位元組(選項最多40位元組),所以資料長度為1480~1440位元組。
參考:
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...
IP資料報格式
tcp ip協議定義了乙個在網際網路上傳輸的包,稱為ip資料報 ip datagram 這是乙個與硬體無關的虛擬包,由首部和資料兩部分組成.首部的前一部分是固定長度,共 20 位元組,是所有ip資料報必須具有的.在首部的固定部分的後面是一些可選字段,其長度是可變的.版本 佔4位,指ip協議的版本.通...