IP數據報報頭詳解

  在IP網絡中傳輸的單位稱爲IP數據包,它包括IP報頭與更高層協議的相關數據。IP數據包的報頭至少爲20個字節,其中包括版本號,報頭長度,服務類型,數據報總長度,標識,標誌,片偏移,生存時間,協議和頭部校驗和,源,目的IP地址,先項。引入IP報頭字段的目的是爲網絡實體提供互聯機制,IP報頭不只帶有數量可觀的IP數據包信息,如源和目標IP地址,數據包內容等,並且還爲網絡實體提供了從源到目標之間傳送數據包的處理方法。
  下面咱們咱們一塊兒來看看IP報頭中各個字段各表明什麼。
    版本號:版本號佔用四個比特位,如今咱們所接觸到的網絡中絕大部分都是IPV4網絡,因此通常所捕獲到的IP報頭的版本號爲4。
    報頭長度:表示的IP數據包的包頭長度,這個長度不包括數據字段,最小爲20個字節,最大爲60個字節,其中的40個字節供IP選項使用。
    服務類型:通常用於實現QoS的要求,咱們如今通常捕獲到的數據包中此值爲一缺省值。
    IP數據包總長度:它描述的是IP數據包中報頭和數據包的總長度,因爲其佔用16個比特位,所以咱們能夠得出一個IP數據包的最大值爲65536。
    標識符:由源主機隨機產生的一個號碼,用於幫助從新組合一個被分段的數據包,當一個IP數據包從一個主機傳輸到另一個主機時,它通常都須要經過另一個網絡,每個物理網絡都有一個最大幀的大小,也就是咱們常說的最大傳輸單元(MTU),它限制了一個物理幀中數據的大小,當主機發送的數據超過了某一設備的MTU時,這時IP就會用一進程來對超過MTU的數據包進行分段,這個進程創建了一個小於MTU的數據報的集合,所以最終IP數據包以合適的大小發送到目標主機,因爲數據包分過段,因此目標主機在接收數據包時會新創建一個緩存區來接收分段的數據包,目標主機判斷某一數據包是否和其它數據包同樣也是通過分段的就是經過判斷標識符是否同樣。在分段時只有數據會被分段,面報頭是複製而做爲分段數據的頭部。
      標誌:它是用來標誌數據包是否分段,其中包含DF(do not  fragment)和MF(more fragment),當DF的值爲1時,則MF的值必爲0,DF爲1,則說明數據包有分段。一樣能夠知道當MF爲1時,則DF爲0,這表示的是數據包沒有分段。固然也有可能MF和DF都爲0。
   片偏移量:接收主機可使用該字段的值來計算當前分段數據在原始數據報中的原始位置,因爲該字段佔用13個比特位,因此其最大值爲8192,因爲該字段的值是以8個字節爲一個單位表示的,所以該字段能夠表示在原始的數據報中的最遠位置能夠是65528個字節。舉個例子來講吧,當某個數據包的大小爲640個字節,如今分紅8個大小爲80個字節的數據包,這樣第一個數據包的偏移量爲0,則第二個數據包的偏移量就爲10,後面的數據包依此計算可獲得最後一個數據包的片偏移量是70。固然有些時候片偏移量就是0,這表示些數據包沒有分段。
     生存時間:這個相信你們都很熟悉,也就是咱們在使用PING命令時的TTL,理論上講,每一個處理此數據報的路由器應該用該字段的值減去它處理的時間,可是實際上,一個路由器處理這樣的一個數據包並不要一秒鐘,可是爲了方便,實際運用中仍是以一秒鐘來計算,這樣TTL就變成了跳步數了,而再也不是時間的度量。
     協議號:這個字段指示IP下一步應當把這個數據包發往更高層的協議,如TCP爲6,UDP爲17。
     報頭校驗和:該字段的數值僅用來表示IP報頭的校驗和。IP報頭被視爲是由一系列的16位二進制數據流和一個初值爲0的校驗組成的,對原始報頭的全部數值求補就獲得校驗和因爲TTL的值會隨着億能過的網絡設備而發生變化,因此每以過一個網絡設備,報頭校驗和都會發生變化。
    源和目標IP地址就不做解釋了,相信你們這個都懂。
     選項:選項爲非固定信息,可變長度,選項最長可達40個字節,這個字段主要用於測試。
相關文章
相關標籤/搜索