IP packet

Author:王蒙
Tags:网络协议,网络编程
abstract:介绍 IP packet 中包含哪些字段,这些字段有什么用

Audience

运维,网络应用开发者

Problem

IP packet 中有哪些字段,这些字段有什么用

Solution

IP packet 中包括 IP 头数据。数据就是要传输的消息。

IP 头长为 20 字节,除非有选项字段。

IP 头中包含的字段有:

  • 4 位版本: 表明是 IPv4 还是 IPv6。

  • 4 位头长度: 表明 IP 头长度(32 bit 为单位),因为 IP 可能包含选项字段,所以是变长的。因为只有4位,所以TCP首部最长60字节。

  • 16位总长度: 表明包含数据在内的总长度(字节数)。

  • 16位标识:IP packet 的唯一标识,因为 IP packet 在传输过程中,可能会分片,可能需要重新组装。所以需要 IP packet 的唯一标识。

  • 3 位标志:

    • 一个位表示是否还有 更多片段,如果还有就该该比特位设成 1, 否则设成 0 。
    • 不分片位,设为1时,强制不分片。如果必须分片,就丢弃该 IP packet, 并发送 ICMP 报文。
  • 13 位片偏移:

    • 该 IP packet 片相对于原来 IP packet 的偏移量。
  • 8 位生存时间(TTL):IP packet 可以经过的最多路由器数目。TTL 的初始值由源主机设置,一旦经过一个处理它的路由器,它的值就减去1。当该字段的值为0时,IP packet 就会被丢弃。

  • 8 位协议:传输采用的一些,比如 ICMP, IGMP, TCP, UDP 等等。

  • 16 位头部校验和:校验IP packet 是否被篡改。如果发现被篡改了,那么 IP packet 会被丢弃,一般还会被重传。

  • 32 位源IP地址。

  • 32 位目的IP地址。

  • 选项(可选):略

Reference

Put here references, and links to other documents.