天天看點

TCP,IP,UDP等各種封包格式

1.TCP:全雙工,傳輸層協定

TCP,IP,UDP等各種封包格式

源端口和目的端口:各占2個位元組,是運輸層與應用層的服務接口。

序号:占4個位元組。TCP連接配接傳送的資料流中的每一個位元組都被編上一個序号。首部中序号字段的值指的是本封包段所發送的資料的第一個位元組的序号。

确認号:占4個位元組,是期望收到對方下一個封包段的資料的第一個位元組的序号。

資料偏移:占4 bit,它指出封包段的資料起始處距離TCP封包段的起始處有多遠。實際上就是TCP封包段首部的長度。

保留:占6 bit,保留為今後使用。

緊急比特URG:當URG=1時,表明緊急指針有效。它告訴系統封包段中有緊急資料,應盡快傳送。

确認比特ACK:ACK=1時确認号字段才有效,ACK=0時确認号字段無效。

推送比特PUSH:接收方接收到PUSH=1的封包段時會盡快的将其傳遞給接收應用程序,而不再等到整個接收緩存都填滿後再向上傳遞。

複位比特RST:當RST=1時,表明TCP連接配接中出現嚴重差錯,必須釋放連接配接。複位比特還用來拒絕一個非法的封包段或拒絕打開一個連接配接。

同步比特SYN:在連接配接建立時用來同步序号。當SYN=1而ACK=0時,表明這是一個連接配接請求封包段。對方若同意建立連接配接,應在響應的封包段中使SYN=1和ACK=1。是以,SYN=1就表示這是一個連接配接請求或連接配接接收封包。

終止比特FIN:當FIN=1時,表明此封包段的發送端的資料已發送完畢,并要求釋放運輸連接配接。

視窗:占2個位元組,用來控制對方發送的資料量,機關是位元組,指明對方發送視窗的上限。

校驗和:占2個位元組,校驗的範圍包括首部和資料兩個部分,計算校驗和時需要在封包段前加上12位元組的僞首部。

緊急指針:占2個位元組,指出本封包段中緊急資料最後一個位元組的序号。隻有當緊急比特URG=1時才有效。

選項:長度可變。TCP隻規定了一種選項,即最大封包段長度MSS (Maximum Segment Size)。

2.UDP:傳輸前不需要先建立連接配接,資料被加上兩邊的端口号後直接發目的地。

TCP,IP,UDP等各種封包格式

●源、目标端口号字段:占16比特。作用與TCP資料段中的端口号字段相同,用來辨別源端和目标端的應用程序。

●長度字段:占16比特。标明UDP頭部和UDP資料的總長度位元組。

●校驗和字段:占16比特。用來對UDP頭部和UDP資料進行校驗。和TCP不同的是,對UDP來說,此字段是可選項,而TCP資料段中的校驗和字段是必須有的。

3.IP:它在網絡層。

TCP,IP,UDP等各種封包格式

版本:IP協定的版本,目前的IP協定版本号為4,下一代IP協定版本号為6。

首部長度:IP報頭的長度。固定部分的長度(20位元組)和可變部分的長度之和。共占4位。最大為1111,即10進制的15,代表IP報頭的最大長度可以為15個32bits(4位元組),也就是最長可為15*4=60位元組,除去固定部分的長度20位元組,可變部分的長度最大為40位元組。

服務類型:Type Of Service。

總長度:IP封包的總長度。報頭的長度和資料部分的長度之和。

辨別:唯一的辨別主機發送的每一分資料報。通常每發送一個封包,它的值加一。當IP封包長度超過傳輸網絡的MTU(最大傳輸單元)時必須分片,這個辨別字段的值被複制到所有資料分片的辨別字段中,使得這些分片在達到最終目的地時可以依照辨別字段的内容重新組成原先的資料。

标志:共3位。R、DF、MF三位。目前隻有後兩位有效,DF位:為1表示不分片,為0表示分片。MF:為1表示“更多的片”,為0表示這是最後一片。

片位移:本分片在原先資料封包中相對首位的偏移位。(需要再乘以8)

生存時間:IP封包所允許通過的路由器的最大數量。每經過一個路由器,TTL減1,當為0時,路由器将該資料報丢棄。TTL 字段是由發送端初始設定一個 8 bit字段.推薦的初始值由配置設定數字 RFC 指定,目前值為 64。發送 ICMP 回應答覆時經常把 TTL 設為最大值 255。

協定:指出IP封包攜帶的資料使用的是那種協定,以便目的主機的IP層能知道要将資料報上交到哪個程序(不同的協定有專門不同的程序處理)。和端口号類似,此處采用協定号,TCP的協定号為6,UDP的協定号為17。ICMP的協定号為1,IGMP的協定号為2.

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

源IP位址:辨別IP資料報的源端裝置。

目的IP位址:辨別IP資料報的目的位址。

4.ARP:IP位址解析成實體MAC位址,屬于網絡層(在TCP/IP裡)或者鍊路層(在7層模型裡)。

TCP,IP,UDP等各種封包格式

以太網目的位址:接收方裝置的硬體位址(48bit,目的位址全為1的特殊位址是廣播位址)。

以太網源位址:發送方的硬體位址

幀類型:表示後面資料的類型(其中,0x0806表示後面的資料是屬于ARP包的,其他還可能屬于IP包)。

硬體類型:表示硬體位址的類型(其中,值為1表示以太網位址,其他還可能表示令牌環位址)。

協定類型:表示要映射的協定位址類型(其中,0x0800表示IP位址,其他還可能是ICMP/IGMP)。

硬體位址長度:指出該封包中硬體位址的長度(ARP封包中,它的值為6)。

協定位址長度:指出該封包中協定位址的長度(ARP封包中,它的值為4)。

op:操作字段,共有4種類型(1.ARP請求,2.ARP應答,3.RARP請求,4.RARP應答)。

發送端以太網位址:發送方裝置的硬體位址。

發送端IP位址:發送方裝置的IP位址。

目的以太網位址:接收方裝置的硬體位址。

目的IP位址:接收方裝置的IP位址。

原文連結:https://blog.csdn.net/zqixiao_09/article/details/79285069

繼續閱讀