IP数据报结构解析

如图所示,标准IP数据报包含20字节的固定长度头部,除非包含可选的选项字段。

图:IP数据报格式

+---+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
|版本|头部长度|  服务类型(TOS)  |          总长度(字节数)         |           片偏移           |首部检验和|标志|生存时间|    协议   |                 源IP地址                |                  目的IP地址                 |        选项 (可选)        |                     数据                    |
+---+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| 4 |  4  |    8    |           16          |           13          |    16   |  3 |    8   |     8    |               32               |               32                |          可变长度          |                     ...                    |
+---+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+

字段说明:

  • 版本:指IP协议版本号,例如IPv4。
  • 头部长度:IP头部长度,单位为4字节。
  • 服务类型(TOS):用于区分服务质量。
  • 总长度:IP数据报总长度,包含头部和数据部分,单位为字节。
  • 片偏移:标识数据报在原始数据流中的位置,用于分片和重组。
  • 首部检验和:校验头部完整性。
  • 标志:控制分片行为。
  • 生存时间:防止数据报无限期地在网络中循环。
  • 协议:指示传输层协议类型,例如TCP或UDP。
  • 源IP地址:发送方IP地址。
  • 目的IP地址:接收方IP地址。
  • 选项:可选字段,提供额外功能。
  • 数据:待传输的数据内容。