TCP/IP詳解_網際協議IP(二)_IP數據報格式

               IP數據報由首部和數據兩部分組成,首部由固定的20個字節和可變部分組成(不超過40字節)。看看ip數據報首部的圖解


IP數據報首部固定字段解釋

          版本:佔4位,指IP協議版本
          首部長度:佔4位,可表示的最大十進制數爲15,單位是32位字(4個字節),首部最小長度(二進制0101)5,相當於5*4=20個字節,最大長度(二進制1111),相當於15*4=60個字節。
          區分服務:佔8位,用來獲得更好的服務
          總長度:佔16位,首部和數據之和,最長是2的16次方減去1即65535字節。數據鏈路層協議規定的一個數據幀中數據字段的最大長度,即最大傳輸單元MTU,當一個IP數據報封裝成數據鏈路幀時,此數據報總長度一定不能超過下面鏈路層的MTU最常用的以太網的MTU是1500字節。
           標識:佔3位,但目前只有兩位有意義,標誌字段中最後一位記爲MF(more fragment)。MF=1表示後面有分片,MF=0表示這已是若干數據報中的最後一個。標誌字段的中間一位記爲DF(do not fragment),不能分片,只有當DF=0時才能分片。
           片偏移:佔13位,指出較長分組在分片後,某片在分組中相對的位置。也就是說 ,相對於用戶數據的起點,該片是從何處開始。以8個字節爲偏移單位,每個分片的長度是8字節的整數倍。
           生成時間:佔8位,生成時間TTL(time to live) ,路由器在轉發數據報之前把TTL減1,若TTL減小到0,就丟棄這個數據報,不在轉發。現在的TTL表示跳數。TTL指明數據報在因特網中至多可經過多少個路由器。顯然最大能經過255個。
           協議:佔8位,協議字段能指出此數據報應該攜帶的數據使用的何種協議。以便使得目的主機的ip層知道應該將數據部分交給哪個處理過程。如下圖



            首部校驗和:佔16位,只校驗數據報的首部,ip首部檢驗和不採用負載的CRC校驗碼,校驗過程如下:

                   1.在發送方,先把IP數據報首部劃分爲許多16位字的序列,並把校驗和字段置0.‘

                   2.用反碼算術運算把所有16位字相加後,將得到的和的反碼寫入校驗和字段。

                   3.接收方收到數據後,將首部的所有16位字再使用反碼算術運算相加一次。將得到和取反碼,即得出接受方校驗和的計算結果。

                   4.若首部沒有發送變化,則此結果必爲0,於是就保留這個數據報,否則就丟棄錯誤數據報。

            源地址:佔32位

            目的地址:佔32位

發佈了38 篇原創文章 · 獲贊 12 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章