主机、路由器网络层主要功能:
image.png
我们将在这篇文章详细介绍ip数据报的格式 首先,ip数据报分为两部分,首部和数据
image.png
我们详细分析首部各字段的意义
image.png
版本号字段占4位: IP协议的版本号,一般有两个值,如果为4就代表是IPv4,6就代表是IPv6协议。 4→IPv4, 6 → IPv6
首部长度字段占4位: IP分组首部长度,这里是以四个字节为单位,如果值为5,则表示首部长度为20个字节(5×4),从图中也可以看到,ip首部长度最短应该是20个字节,除掉可变部分,固定部分就是20个字节。
服务类型(TOS)字段占8位:指示期望获得哪种类型的服务
总长度字段占16位: IP分组的总字节数(首部+数据)
生存时间( TTL) 字段占8位: IP分组在网络中可以通过的路由器数(或跳步数)
协议字段占8位: 指示IP分组封装的是哪个协议的数据包
首部校验和字段占16位:实现对IP分组首部的差错检测
源IP地址、目的IP地址字段各占32位:分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址
选项字段占长度可变,范围在1~40B之间:携带安全、源选路径、时间戳和路由记录等内容 ** 实际上很少被使用 **
填充字段占长度可变,范围在0~3B之间:目的是补齐整个 首部,符合32位对齐,即保证首部长度是4字节的倍数
在介绍ip数据报首部字段的时候,我们忽略了第二行字段的介绍,因为这一行的字段涉及到ip数据报的分片,我们将先介绍ip数据报的分片,再来介绍这几个字段的含义。
网络链路存在MTU (最大传输单元)—链路层数据帧可封装数据的上限。** 不同链路的MTU不同 **。
image.png
大IP分组向较小MTU链路转发时, 可以被“分片” (fragmented)
IP首部的相关字段用于标识分片以及确定分片的相对顺序
image.png
image.png
标识字段占16位:标识一个IP分组
标志位字段占3位:
image.png
片偏移字段占13位:一个IP分组分片封装原IP分组数据的 相对偏移量
image.png
image.png
image.png
image.png