固定部分:每个 IP
数据报首部都必须包含的内容
IP
数据报的首部除了包含 20 20 20 字节的固定部分外,还包含一些可选的字段来增加 IP
数据报的功能IP
数据报的首部常以 32 32 32 个比特为单位进行描述
每个小格子称为字段或者域
每个字段或某些字段的组合用来表达 IP
协议的相关功能
版本字段
IP
协议的版本。IP
协议的版本必须一致。目前广泛使用的 IP
协议版本号为 4 4 4(即 IPv4
)。首部长度字段
lP
数据报首部的长度。该字段的取值以 4 4 4 字节为单位。IP
数据报首部只有 20
字节固定部分;IP
数据报首部包含 20 20 20 字节固定部分和最大 40 40 40 字节可变部分。可选字段
IP
数据报的功能,但这同时也使得 IP
数据报的首部长度成为可变的。IP
数据报的开销。实际上可选字段很少被使用。填充字段
IP
数据报的首部长度一定是 4 4 4 字节的整数倍。
IP
数据报的首部长度时 4 4 4 字节的整数倍区分服务
IETF
把这个字段改名为区分服务。总长度
lP
数据报的总长度(首部 + 数据载荷)。首部长度字段和总长度字段的区别与联系
假设首部中的首部长度
字段的二进制取值为 0101 0101 0101
IP
数据报的首部长度: ( 0101 ) 2 × 4 = 5 × 4 = 20 (0101)_2 \times 4 = 5 \times 4 =20 (0101)2×4=5×4=20(字节)假设首部中的总长度
字段的二进制取值为 0000001111111100 0000001111111100 0000001111111100
IP
数据报的总长度: ( 0000001111111100 ) 2 = 1020 (0000001111111100)_2 = 1020 (0000001111111100)2=1020(字节)进而可以算出数据载荷的长度
标识、标志、片偏移
IP
数据报的分片这是网络层的 IP
数据报,它将在数据链路层封装成帧。
每一种数据链路层协议都规定了帧的数据载荷的最大长度
MTU
需要将原 IP
数据报分片为更小的 IP
数据报,在将各分片 IP
数据报封装成帧
标识字段
IP
软件维持一个计数器,每产生一个数据报,计数器值加 1 1 1 ,并将此值赋给标识字段。标志
占 3 3 3 比特,各比特含义如下:
DF
位:
MF
位:
1 1 1 表示 “后面还有分片”;
0 0 0 表示 “这是最后一个分片”
保留位:
片偏移
对 IPv4
数据报进行分片
如下所示:该 IP
数据报的总长度: 3820 3820 3820 个字节
假设使用以太网传送该 IP
数据报。
MTU
为 1500 1500 1500 字节也就是以太网的数据载荷部分最大为 1500 1500 1500 字节(上层的固定首部 + 数据载荷 = 下层的数据载荷)
IP
数据报因此,需要把该 IP
数据报分片成几个更小的 IP
数据报
然后再将每个分片 IP
数据报封装成一个以太网帧进行传输
我们对原 IP
数据报的数据载荷分成三个更小的分片
前两个分片分别为: 1400 1400 1400 个字节
第三个分片为: 1000 1000 1000 个字节
说明
:分片的总长度
不能超过 1420 1420 1420 字节
分片结束后,给每个分片重新添加一个首部,使之称为 IP
数据报
思考:给各分片添加的首部是否完全相同呢?
其中分片 1 1 1 的 IP
数据报数据载荷部分的第一个字节,就是原 IP
数据报数据载荷部分的第一个字节
现在假定分片 2 2 2 的数据报经过某个网络时还需要再进行分片
生存时间 TTL
占 8 8 8 比特,最初以秒为单位,最大生存周期为 255 255 255( 2 8 − 1 2^8-1 28−1) 秒;
IP
数据报时,将 IP
数据报首部中的该字段的值减去 IP
数据报在本路由器上所耗费的时间,现在以 “跳数
” 为单位,路由器转发 IP
数据报时,将 IP
数据报首部中的该字段的值减 1 1 1,
生存时间 TTL
的作用
IP
数据报在网络中永久兜圈如下所示
为了简单起见,只给出了路由表中的由人工配置的静态路由条目
例如:R2
的路由表的目的网络 N2
条目
假设我们在人工配置这条静态路由条目时,错将下一跳 R3
配置成了 R1
N2
的 IP
数据报错误地转发给路由器 R1
假设 N1
要发给 N2
IP
数据报
若没有其他措施,IP
数据报将在路由环路中永久兜圈
协议字段
IPv4
数据报的数据部分是何种协议数据单元。首部检验和字段
占 16 16 16 比特,用来检测首部在传输过程中是否出现差错。
比 CRC
检验码简单,称为因特网检验和。
IP
数据报每经过一个路由器,路由器都要重新计算首部检验和
,
由于 IP
层本身并不提供可靠传输的服务,并且计算首部校验和是一项耗时的操作
IPv6
中,路由器不再计算首部校验和
,从而更快转发 IP
数据报。源 IP 地址和目的 IP 地址
IP
数据报的源主机的 IP
地址和接收该 IP
数据报的目的主机的 IP
地址。在 IP
分组头中,目的 IP
地址字段前还有 16 16 16 个字节的内容
在以太网帧中,数据载荷前还有 14 14 14 个字节的内容
因此,在以太网帧中,从第 31 31 31 个字节开始的 4 4 4 个字节,实际上就是 IP
地址的内容
题目所给的以太网数据帧的第一列数据,实际上并不是以太网帧的内容,仅仅作为行号
从图中可知,主机的默认网关就是路由器 R
,主机会将 Web
请求发送给默认网关
Web
请求转发到因特网。因此,以太网帧头中的目的 MAC
地址字段,封装的就是默认网关的 MAC
地址。
第 4 4 4 问