標籤:

關於IP分組的分段是什麼原理?

下面是一個原始的IP分組:

然後喊你填一下藍色區域的內容,大家幫忙啊,這個真的難道我了。

大家幫忙


關於IP分組的分段是什麼原理?
答:先上圖

這樣你就看懂了吧!不懂繼續看:
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包的總長

認證

標誌:是一個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地址:


看懂了嗎? 還沒懂。。 那麼就看你的題目:一個IP包,你對比長度和數據的關係。。很不幸的是20Byte(最小報文),這個位置是被各種標識佔去了,這裡不多做,咱們做一個圖:

第一個

很簡單看到1420~且排在第一個起始應該就是0~1399,後面依次類推。缺少就分析原始包變化得到啥就好了!

還不懂,再看個圖:

這裡少一個標識和偏移量,通過上面的填空咱們知道第二圖的包1400~2799,而2200-2799屬於哪個包的一個分段,標識是14567,偏移量要計算了,這裡是(2200-1400)/8=100的偏移,拿第二個圖的175+100=275,就填14567 和275;

其他自己體會吧~ 就是分啊分分啊分~~!


推薦閱讀:

ipconfig下的IPv4地址是什麼意思?
IP層接收到比MTU大的數據包會先分片再重組,隨後在傳遞給上層協議(比如UDP)處理嗎?
TCP協議的滑動窗口具體是怎樣控制流量的?
為什麼路由器明明隔離廣播域,仍然可以全網廣播比如ARP協議?
IP地址和MAC地址的區別和聯繫是什麼?

TAG:IP地址 | TCPIP |