IP、TCP、UDP 的首部字段


2018-04-04,個人筆記

  1. IPv4:

    • Header's length,通常不帶任何選項字段,值為20
    • Datagram's length,數據包總長度(首部+數據)。
  2. IPv6:

    • 只有一個 有效載荷長度(payload length),其首部無選項字段,是40字節定長的。
  3. TCP:

    • Header's length,通常不帶任何選項字段,值為20

    • 不包含數據報總長度:實際是使用 ip 包信息計算出來。(實際就是ip包的數據長度)

  4. UDP:

    • 只有一個長度字段:指UDP包的總長度(實際上該數據是冗余的,它也同 tcp 的第二點一樣,可用 ip 包信息推算出來)因為這個字段為16bit,最大數值為65535,因此這也是 UDP 數據報的最大長度。

    • 但是 udp 的首部長度是固定的,因此其數據長度=包總長度-8字節

  5. UDP為何要攜帶一個冗余字段?

    協議首部都是以 4 字節為單位對齊的,這是為了方便處理,就像計算機內部以 byte 為單位對齊一樣。 這導致udp首部出現2byte的空白,那就隨便帶點有用的信息了。。(合理的解釋之一)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM