
2 首部长度(报头长度)指的是首部占32 bit字的数目,包括任何选项。由于它是一个4比特字段,因此首部最长为60个字节。4bit二进制最大1111为15,15个32bit段,因此IP报头最大长度为15x32bit/8=60字节.
3 服务类型TOS,服务类型字段长度为8比特,用于指定数据报所要求的服务质量(TOS)。
5 标识符长16比特,每个数据报都必须由惟一的标识符来标识,以便使接收主机能重装被分段的数据报。
6 标志位长度为3比特。用于分段控制:第0位为预留位。
Various Control Flags.
Bit 0: reserved, must be zero
Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment.
Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments.
0 1 2
+---+---+---+
| | D | M |
| 0 | F | F |
+---+---+---+
7 段偏移13比特长度,用于指定分段在原始数据报中的位置,以8个字节为单位进行计数,表示该段数据在原始数据报数据区中的偏移量。
8 生存时间TTL长度为8比特,用于指定数据报允许保留在网络上的时间。
9 协议字段长度为8比特,用于指定数据报数据区中携带的消息是由哪种高级协议建立的。协议号分配RFC790.
ICMP为1
TCP为6
11 源IP地址及目的IP地址,长度为32比特,用于指定发送者和所期望的接收者的IP地址。在数据包通过网络传输的过程中基值不会发生变化。
12 选项,填充字段用于确保将选项字段填充为最少32个比特位,以保证IP报头以32位结束。
13 填充位:包含填充信息以确保报头是32位的倍数,该域的大小可变。(上图已经包含在选项中)
分段:分段是将一个大的IP数据报分解成几个较小的数据报段的过程。当IP模块需要通过一个具有较小MTU的网络传送较大的数据包时,就必须将其分段。
IP协议是一种不可靠的、无连接的协议,即意味着它不保证数据的可靠传输。