⑴ 誰能給我具體解釋一下IP報頭結構,各部分內容及含義
IP報文頭長32位,具體參考(RFC791),由以下幾個部分組成。
1.1、版本:長度4位,標識了報文的IP版本號,比如IPV4(IPng),IPV6等,這個4位欄位的值通常為二進製表示,比如IPV4=0100。
1.2、報頭長度:欄位長度為4位,它表示IP報頭的長度(即報文頭的長度,而不包含具體數據長度),設計報頭長度欄位的原因是報文的選擇項欄位大小會發生變化。
1.3、服務類型:欄位長度為8位,它用來指定特殊的報文處理方式。服務類型欄位又被劃分為了2個部分:優先權和TOS。優先權用於設置報文的優先順序(一般QOS『服務質量』會經常使用到這點)。優先權欄位長度為3位,分別是以下表示: 000:路由
001:優先順序
010:立即
011:火速
100:火速覆蓋
101:緊急
110:互聯網路控制
111:網路控制 TOS用於選擇傳輸服務,通常被設置為0,字長讀為5位。每個位數代表一個服務方式,設置為0禁止,1為啟動,分別有以下類型:時延、吞吐量、可靠性、開銷、保留位(一直是設置為0)
1.4、總長度:欄位長度為16位,它的指整個IP報文的長度,以8bit位元組為單位,其中包括IP報頭。我們只需要用IP總長度減去IP報頭長度就能知道了報文實際數據的大小。16位長度的二進制數用十進製表示最大可以為65535,所以IP報文的最大長度是65535。
1.5、標識符:欄位長度為16位,通常與標記欄位和分片偏移欄位一起用於IP報文的分片。當原始報文大小超過了MTU,那麼就必須將原始數據進行分片。每個被分片的報文大小不得超過MTU,而這個欄位還將在同一原始文件被分片的報文上打上相同的標記,以便接收設備可以識別出屬於同一個報文的分片。 1.6、標記欄位:長度為3位,第一位沒有被使用,第二位是不分片位(DF),當DF被設置被設置為1時,表示路由器不能對報文進行分片處理。
第三位表示還有後繼分片(MF),當路由器對報文進行分片時,除了最後一個分片的MF位設置為0外,其他所有分片的MF位均設置1,以便接收者直到收到MF位為0的分片為止。 1.6、分片偏移:欄位長度為13位,給分片的文件進行重新排序,避免混亂。 1.7、生存時間:欄位長度為8位,也就是跳數的大小。
1.8、協議 :欄位長度位8位,它主要是標識出傳輸層的地址或協議號,也就是說表示數據要進行什麼樣的上層服務。
1.9、報頭校驗和:欄位長度16位,針對IP報頭進行糾錯。
1.10、源地址和目標地址:也就是兩端的地址,比如IP地址。
1.11、可選項:主要用於測試。
1.12、填充:該欄位通過在選擇欄位後面添加0來補足32位,保證報文長度是32比特的倍數
⑵ 在分組交換中數據包的頭部和尾部分別存儲什麼信息
IPv4和IPv6類似,都只管包頭,除了包頭就是數據部分了。
IP包頭欄位說明
版本:4位,指定IP協議的版本號。
包頭長度(IHL):4位,IP協議包頭的長度,指明IPv4協議包頭長度的位元組數包含多少個32位。由於IPv4的包頭可能包含可變數量的可選項,所以這個欄位可以用來確定IPv4數據報中數據部分的偏移位置。IPv4包頭的最小長度是20個位元組,因此IHL這個欄位的最小值用十進製表示就是5 (5x4 = 20位元組)。就是說,它表示的是包頭的總位元組數是4位元組的倍數。
服務類型:定義IP協議包的處理方法,它包含如下子欄位
過程欄位:3位,設置了數據包的重要性,取值越大數據越重要,取值范圍為:0(正常)~ 7(網路控制)
延遲欄位:1位,取值:0(正常)、1(期待低的延遲)
流量欄位:1位,取值:0(正常)、1(期待高的流量)
可靠性欄位:1位,取值:0(正常)、1(期待高的可靠性)
成本欄位:1位,取值:0(正常)、1(期待最小成本)
未使用:1位
長度:IP包的總長
標識:唯一地標識主機所發送的一個數據段,通常每發送一個數據段後加一。但IP包被分割後,分割得到的IP包擁有相同的標識
標志:是一個3位的控制欄位,包含:
保留位:1位
不分段位:1位,取值:0(允許數據報分段)、1(數據報不能分段)
更多段位:1位,取值:0(數據包後面沒有包,該包為最後的包)、1(數據包後面有更多的包)
段偏移量:當數據段被分割時,它和更多段位(MF, More fragments)進行連接,幫助目的主機將分段的包組合。
TTL:表示數據包在網路上生存多久,每通過一個路由器該值減一,為0時將被路由器丟棄。
協議:8位,這個欄位定義了IP數據報的數據部分使用的協議類型。常用的協議及其十進制數值包括ICMP(1)、TCP(6)、UDP(17)。
校驗和:16位,是IPv4數據報包頭的校驗和。
源IP地址:
目的IP地址: