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