TCP IP資料報格式分析

2021-07-04 11:31:48 字數 3491 閱讀 1146

ip 資料報格式

(1)

版本佔4位,指

ip協議的版本。通訊雙方使用的

ip協議版本必須一致。目前廣泛使用的

ip協議版本號為4(即

ipv4

)。關於

ipv6

,目前還處於草案階段。

(2)

首部長度佔

4位,可表示的最大十進位制數值是

15。請注意,這個欄位所表示數的單位是

32位字長(1個

32位字長是

4位元組),因此,當

ip的首部長度為

1111

時(即十進位制的

15),首部長度就達到

60位元組。當

ip分組的首部長度不是

4位元組的整數倍時,必須利用最後的填充字段加以填充。因此資料部分永遠在

4位元組的整數倍開始,這樣在實現

ip協議時較為方便。首部長度限制為

60位元組的缺點是有時可能不夠用。但這樣做是希望使用者儘量減少開銷。最常用的首部長度就是

20位元組(即首部長度為

0101

),這時不使用任何選項。

(3)

區分服務佔

8位,用來獲得更好的服務。這個欄位在舊標準中叫做服務型別,但實際上一直沒有被使用過。

1998

年ietf

把這個字段改名為區分服務

ds(differentiated services)

。只有在使用區分服務時,這個欄位才起作用。

(4)

總長度總長度指首部和資料之和的長度,單位為位元組。總長度欄位為

16位,因此資料報的最大長度為

216-1=65535

位元組。 在ip

層下面的每一種資料鏈路層都有自己的幀格式,其中包括幀格式中的資料字段的最大長度,這稱為最大傳送單元

mtu(maximum transfer unit)

。當乙個資料報封裝成鏈路層的幀時,此資料報的總長度(即首部加上資料部分)一定不能超過下面的資料鏈路層的

mtu值。

(5)

標識(identification)佔

16位。

ip軟體在儲存器中維持乙個計數器,每產生乙個資料報,計數器就加

1,並將此值賦給標識字段。但這個「標識

」並不是序號,因為

ip是無連線服務,資料報不存在按序接收的問題。當資料報由於長度超過網路的

mtu而必須分片時,這個標識欄位的值就被複製到所有的資料報的標識欄位中。相同的標識欄位的值使分片後的各資料報片最後能正確地重灌成為原來的資料報。

(6)

標誌(flag)佔

3位,但目前只有

2位有意義。 ●

標誌欄位中的最低位記為

mf(more fragment)

mf=1即表示後面「還有分片」的資料報。mf=0表示這已是若干資料報片中的最後乙個。 ●

標誌字段中間的一位記為

df(don』t fragment),意思是「不能分片

。只有當

df=0

時才允許分片。

(7)

片偏移佔

13位。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是說,相對使用者資料字段的起點,該片從何處開始。片偏移以

8個位元組為偏移單位。這就是說,每個分片的長度一定是

8位元組(

64位)的整數倍。

(8)

生存時間佔

8位,生存時間字段常用的的英文縮寫是

ttl(time to live)

,表明是資料報在網路中的壽命。由發出資料報的源點設定這個字段。其目的是防止無法交付的資料報無限制地在網際網路中兜圈子,因而白白消耗網路資源。最初的設計是以秒作為

ttl的單位。每經過乙個路由器時,就把

ttl減去資料報在路由器消耗掉的一段時間。若資料報在路由器消耗的時間小於

1秒,就把

ttl值減1。當

ttl值為

0時,就丟棄這個資料報。

(9)

協議佔8位,

協議字段指出此資料報攜帶的資料是使用何種協議,以便使目的主機的ip層知道應將資料部分上交給哪個處理過程

(10)首部檢驗和

16位。

這個欄位只檢驗資料報的首部,但不包括資料部分。這是因為資料報每經過乙個路由器,路由器都要重新計算一下首部檢驗和(一些字段,如生存時間、標誌、片偏移等都可能發生變化)。不檢驗資料部分可減少計算的工作量。

(11)

源位址佔

32位。

(12)

目的位址佔

32位。

三次握手協議可以完成兩個重要功能:它確保連線雙方做好傳輸準備,並使雙方統一了初始順序號。初始順序號是在握手期間傳輸順序號並獲得確認:當一端為建立連線而傳送它的 syn 時,它為連線選擇乙個初始順序號;每個報文段都包括了順序號欄位和確認號字段,這使得兩台機器僅僅使用三個握手報文就能協商好各自的資料流的順序號。一般來說, isn 隨時間而變化,因此每個連線都將具有不同的 isn。

tcp 採用一種名為「帶重傳功能的肯定確認( positive acknowledge with retransmission )」的技術作為提供可靠資料傳輸服務的基礎。這項技術要求接收方收到資料之後向源站回送確認資訊 ack 。傳送方對發出的每個分組都儲存乙份記錄,在傳送下乙個分組之前等待確認資訊。傳送方還在送出分組的同時啟動乙個定時器,並在定時器的定時期滿而確認資訊還沒有到達的情況下,重發剛才發出的分組。圖 3-5 表示帶重傳功能的肯定確認協議傳輸資料的情況,圖 3-6 表示分組丟失引起超時和重傳。為了避免由於網路延遲引起遲到的確認和重複的確認,協議規定在確認資訊中稍帶乙個分組的序號,使接收方能正確將分組與確認關聯起來。

從圖 3-5 可以看出,雖然網路具有同時進行雙向通訊的能力,但由於在接到前乙個分組的確認資訊之前必須推遲下乙個分組的傳送,簡單的肯定確認協議浪費了大量寶貴的網路頻寬。為此, tcp 使用滑動視窗的機制來提高網路吞吐量,同時解決端到端的流量控制。

滑動窗**術是簡單的帶重傳的肯定確認機制的乙個更複雜的變形,它允許傳送方在等待乙個確認資訊之前可以傳送多個分組。如圖 3-7 所示,傳送方要傳送乙個分組序列,滑動視窗協議在分組序列中放置乙個固定長度的視窗,然後將視窗內的所有分組都傳送出去;當傳送方收到對視窗內第乙個分組的確認資訊時,它可以向後滑動並傳送下乙個分組;隨著確認的不斷到達,視窗也在不斷的向後滑動。

tcp資料報格式

TCP IP學習 IP資料報格式

ip資料報格式 ip資料報的格式如下 這裡只討論ipv4 圖 36.8.ip資料報格式 看圖說話 資料報格式介紹 版本號4b 首部長度4b 服務型別 tos 8b 總長度 位元組數 16b 標誌位16 標誌3b 片偏移13b 生存時間 ttl 8b 協議8b 首部檢驗和16b 源ip位址32b 目的...

分析IP協議資料報格式

目的 1 掌握ip協議的作用和格式 2 理解ip資料報首部各字段的含義 3 掌握ip資料報首部校驗和的計算方法。工具 1 軟體工具 抓包分析工具 wireshark 2 作業系統 windows7 dos 3 區域網環境。原理 1 ip協議位於網路層,是tcp ip協議簇中的核心協議,提供資料傳輸 ...

TCP IP資料報結構 協議格式及程式設計指導

一 鏈路層協議 乙太網標準和802系列標準幀封裝格式 鏈路層幀封裝格式說明 a 由上圖可以得知乙太網標準幀格式封裝頭部長度為14位元組,ieee802標準幀格式封裝頭部長度為22位元組 b 幀的最小長度限制為60位元組 c 幀在局域內傳輸時目的位址 網絡卡的mac位址 通過arp協議獲取,在廣域網上...