计算机网络之【4.5 Internet网络层】

导图如下:

IP(Internet Protocol)网际协议

IP:定义了如何封装上层协议(如UDP,TCP等)报文段,定义了Internet网络寻址(IP地址)以及如何转发IP数据报等内容,是Internet网络层最核心的协议。IP包含两个版本,IPv4和IPv6,一般情况下多使用IPv4。

IP数据报

如下图所示:IP数据报由首部和数据两部分组成,而首部又包含了固定部和可变两部分,固定部分又包含了版本、首部长度、区分服务等等很多部分。接下来我们就来一一认识一下。

(1)版本号字段占4位,给出的是IP的版本号。路由器根据该字段确定按哪个版本的IP来解析数据报。

(2)首部长度字段占4位,给出的是IP数据报的首部长度,包括可变长度的选项字段,以4字节为单位。4位可表示的最大数值是1111(15),15*4字节=60字节,故而IP数据报的首部长度的最大值为60字节首部长度(不包括选项字段)最小为20字节。

(3)区分服务字段占8位,用来指示期望获得哪种类型的服务。

(4)总长度字段占16位,给出了IP数据报的总字节数,包括首部和数据部分。16位可表示的最大值为65535,首部长度最小值为20,故而总长度最大为65535-20=65515。

(5)标识字段占16位,用于标识一个IP数据报(并非唯一标识)。IP是依照标识字段和源IP地址和目的IP地址以及协议等字段共同唯一标识一个IP数据报。

(6)标志位字段占3位,结构如下:

DF:禁止分片标志。DF=0 允许分片。    DF=1 禁止分片。

MF:更多分片标志。MF=0  未被分片或最后一片。 MF=1  非最后一片。

(7)片偏移字段占13位,表示一个IP数据报分片封装与员IP数据报的相对偏移量(封装的数据分片从原整个数据报的哪个字节开始),片偏移字段以8字节为单位(也就是说,每个分片的长度一定是8字节(64位)的整数倍)。

(8)生存时间字段占8位,表示IP数据段在网络中可以通过的路由器数(或跳步数)。

(9)上层协议字段占8位,指示该IP数据报封装的是哪个上层协议的报文段。IP是利用该字段实现IP的多路复用与多路分解。

(10)首部校验和字段占16位,利用校验和实现对IP数据报首部的差错检测。

(11)源IP地址字段占32位,是发出IP数据报的源主机的IP地址。

(12)目的IP地址字段占32位,是发出IP数据报的需要送达的目的主机的IP地址。

(13)选项字段长度可变,范围在0~40字节,取决于选项内容。(由此我们也可以确定首部长度最小值为20,即60-40所得)

(14)数据字段,数据字段存放IP数据报所封装的传输层的报文段,在目的主机会将其所承载的数据交付给相应的上层协议。

IP数据报分片

MTU(Maximum transmission Unit)最大传输单元:一个数据链路层协议所能承载的最大数据量称为该链路的MTU。

(注:IP数据报总长度很少超过1500字节。因为虽然网络层数据作为数据链路层协议帧的有效荷载,但是其总长度受数据链路层MTU的限制。)

❤ 提问? 那么如果数据报的总长度超过MTU的限制了,路由器该如何处理这个数据报呢?

答案就是:路由器将IP数据报进行分片(DF=0)或丢弃(DF=1)。

接下来详细介绍如何进行分片?

最大分片可封装的数据长度(字节)为:

需要的IP分片总数为:

每个IP分片的片偏移字段取值为:

每个IP分片的总长度字段为:

每个IP分片的MF字段为:

 

发布了64 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/YaraRen/article/details/104889514