ip數據報格式
『壹』 Ip數據報格式中首部長度問題~~新手請教
1個位元組等於8位二進制
『貳』 ip報文格式,並對每個位元組進行說明
IP報文格式如下圖,IP報頭前塊為必選,因此,IP包最少20位元組:
以下為屬性解說供參考:
Version(版本):標識了數據包的IP版本號,一共4位,0100表示IPV4,0110表示IPV6;
IHL(報頭長度):表示32位字長的報頭長度,一共4位;
TOS(服務類型):用來指定特殊的數據包處理方式。一共8位;
Total Length(總長度):接收者用IP數據包總程度減去IP報頭長度,就可以確定數據包數據有效載荷的大小;
Identification(標識符):通常與標記欄位和分片欄位一起用於數據包的分段,長度為16位;
Flags(標記欄位):用於IP數據包分段標記使用,長度為3位;
Fragment Offset(分段偏移):用於指明分段起始點相對於報頭起始點的偏移量,可以使接受者按照正確的順序重組數據包,長度為13位;
Time to Live(生存時間):用於防止數據包在網路上無休止地被傳輸,長度8位;
Protocol(協議):指定了數據包中信息的類型,長度8位;
Header Checksum(報頭校驗和):針對IP報頭的糾錯欄位;
Source Address(源地址):表示發送者數據包源點的IP地址,長度為32位;
Destination Address(目標地址):表示發送者目標的IP地址,長度為32位;
Options(可選項):被添加在IP報頭中,包括源點產生的信息和其它路由器加入的信息;可選欄位,主要用於測試,長度可變;
Loose Source Routing(鬆散源路由選擇):可以指定數據包傳遞的路徑;可以跨越中間多台路由器;
Strict Soutce Routing(嚴格源路由選擇):可以指定數據包傳遞的路徑;不同於loose的是,數據包必須嚴格按照路由轉發,如果下一跳不在路由表中,將會產生錯誤;
Record Route(記錄路由):記錄數據包離開每台路由的出介面,區別於traceroute的是,record可以記錄來 回的路徑,而traceroute只可以記錄但方向的;
Timestamp(時間戳):記錄數據包到達設備的時間;
Verbose(詳細內容):查看數據包傳送的詳細內容;一般用於查看延遲;
Padding(填充):通過在可選欄位後面添加0來補足32位,為了確保報頭長度是32的倍數。
『叄』 考試時像ip數據報格式,tcp數據報格式會給出來嗎
如果你說的是計算機考研,一般會給你的,比如408的13年真題就是給你的TCP格式,然後分析數據。難點不在數據報格式,在於每個數據位對應的意義。
『肆』 IPv4數據報格式
網路層的分組為數據報,數據報為首部和數據兩部分組成,如下圖所示。
首部的長度是以4個位元組為單位,長度可以是20-60位元組,這跟首部的HLEN欄位有關。
版本:
這個4位欄位定義了IP協議的版本,目前主流的版本是4。
首部長度:
這個4位欄位定義了數據報首部的長度,以4位元組的字為單位。
當首部沒有選項時,首部長度位20位元組;當這個欄位值位最大值F時,首部長度最大為60位元組。
服務類型:
在最初這個欄位有一部分用於定義數據報的優先順序,剩下的一部分定義了服務類型。IETF已經改變了這個8位欄位的解釋,現在定義了一組區分服務。
碼點 未使用
在這種解釋種,前6位構成了碼點(codepoint),最後兩位未使用。
X X X 0 0 0
當碼點欄位最右邊為0時,對最左邊的解釋為優先順序:
這個優先順序定義了一些在出現一些問題時數據報的優先順序,即當路由器需要丟棄一些數據時,優先順序低的將會被首先丟棄。
X X X X X 0
網際網路指派的服務
X X X X 1 1
本地指派的服務
X X X X 0 1
臨時的或實驗的服務
當碼點欄位最右邊的3位不全為0時,這6位定義了54種服務,低延時,高吞吐量等等。
總長度:
這個16位欄位定義了數據報總長度,其以位元組為單位。故IPv4數據報總長度上限值位65536位元組。
註:為什麼需要這個欄位?在許多情況下,我們確實不需要這個欄位值。但是有些情況下,封裝在一個幀里的並不僅僅是數據報,還可能附加了一些填充。比如,乙太網協議對幀的數據有最大值(1500位元組)和最小值(46位元組)的限制,當數據小於46位元組時,數據將含有填充數據。
標識(identification):
這個16位欄位標志了從源主機發出的一個數據報,這樣就確定了數據報的唯一性。這樣使得數據報被分片後,在到達終點時終點能根據標識號將同一個數據報的分片重新組裝成一個數據報。
標志(flag):
D M
第一位保留(未用),第二位為「不分片(do not fragment)」,第三位位「還有分片(more fragment)」。
D為1時,不能對數據進行分片;為0可以進行分片。
M為1時,標識還有分片;為0表示最後一個分片。
分片偏移:
這個13位欄位表示的是分片在整個數據報中的相對位置。這是數據在原始數據報中的偏移量,以8位元組位單位。
註:分片本身還可能進行分片,這種情況下,分片偏移值永遠是相對於原始數據報的。
生存時間:
這個8位欄位用來控制數據報所經過的最大跳數(路由器),每經過一個路由器,這個欄位數值都減1,減1後變位0時,路由器就丟棄這個數據報。
協議:
這個8位欄位定義了使用IPv4服務的高層協議,如TCP,UDP,ICMP,IGMP,OSPF等的數據都將被封裝到IP數據報中。這個欄位指明數據報必須交付給哪個最終目的協議。
註:1表示ICMP,2表示IGMP,6表示TCP,17表示UDP,89表示OSPF
檢驗和:
檢驗IP數據報首部。
源地址:
定義了源點的IP地址,這個欄位始終保持不變。
目的地址:
定義了終點的IP地址,這個欄位始終保持不變。
『伍』 TCP/IP中數據包是什麼格式的
計算機傳送的數據都是2進制,在不同層次有不同的稱呼。段 包 幀 數據流
『陸』 請簡述ip地址報文格式並對每個位元組說明
IP報文格式如下圖,IP報頭前5塊為必選,因此,IP包最少20位元組:
以下為屬性解說供參考:
Version(版本):標識了數據包的IP版本號,一共4位,0100表示IPV4,0110表示IPV6;
IHL(報頭長度):表示32位字長的報頭長度,一共4位;
TOS(服務類型):用來指定特殊的數據包處理方式。一共8位;
Total Length(總長度):接收者用IP數據包總程度減去IP報頭長度,就可以確定數據包數據有效載荷的大小;
Identification(標識符):通常與標記欄位和分片欄位一起用於數據包的分段,長度為16位;
Flags(標記欄位):用於IP數據包分段標記使用,長度為3位;
Fragment Offset(分段偏移):用於指明分段起始點相對於報頭起始點的偏移量,可以使接受者按照正確的順序重組數據包,長度為13位;
Time to Live(生存時間):用於防止數據包在網路上無休止地被傳輸,長度8位;
Protocol(協議):指定了數據包中信息的類型,長度8位;
Header Checksum(報頭校驗和):針對IP報頭的糾錯欄位;
Source Address(源地址):表示發送者數據包源點的IP地址,長度為32位;
Destination Address(目標地址):表示發送者目標的IP地址,長度為32位;
Options(可選項):被添加在IP報頭中,包括源點產生的信息和其它路由器加入的信息;可選欄位,主要用於測試,長度可變;
Loose Source Routing(鬆散源路由選擇):可以指定數據包傳遞的路徑;可以跨越中間多台路由器;
Strict Soutce Routing(嚴格源路由選擇):可以指定數據包傳遞的路徑;不同於loose的是,數據包必須嚴格按照路由轉發,如果下一跳不在路由表中,將會產生錯誤;
Record Route(記錄路由):記錄數據包離開每台路由的出介面,區別於traceroute的是,record可以記錄來 回的路徑,而traceroute只可以記錄但方向的;
Timestamp(時間戳):記錄數據包到達設備的時間;
Verbose(詳細內容):查看數據包傳送的詳細內容;一般用於查看延遲;
Padding(填充):通過在可選欄位後面添加0來補足32位,為了確保報頭長度是32的倍數。