计算机网络学习笔记 4.3 IPv4

前言

参考王道书。
后续会进一步整理,包括添加笔记内容,标明参考资料。

更新中。。。

跳过目录

IP数据报格式

TCP/IP协议栈

计算机网络学习笔记 4.3 IPv4

IP数据报格式

计算机网络学习笔记 4.3 IPv4

首部

  • 分为固定部分和可变部分
  • 固定部分为20B(1Byte = 8 bit)

计算机网络学习笔记 4.3 IPv4

字段 作用 长度
版本 标明ipv4或者ipv6 4位
首部长度 此处数值再乘以4B才是真正大小,同时因为IP数据报固定长度为20B,所以此处最小值为5,即二进制的0101 4位
区分服务 希望获得哪种服务,用的比较少 8位
总长度 首部+数据的长度,最大为2^16-1=65535 16位
标识 用来表示是哪一个数据报的分片,不同的分片标识各不相同 8位
标志 用来表示是否分片和分片是否结束 3位,但实际有用的只有后2位
片偏移 用来标记分片之后,该分片在原来的数据报的位置,以8B为单位 13位
生存时间(TTL) 每经过一个路由器,TTL减1,为0时则丢弃 8位
协议 用来标记协议名的字段值,如TCP,UDP,ICMP等等 8位
首部检验和 检验首部的字段是否出错,出错就丢弃此数据报 16位
源地址 发送方ip地址 32位
目的地址 接收方ip地址 32位
可选字段 用来支持排错、测量以及安全等措施 0~40位之间
填充 将数据报对齐成4字节的整数倍,数值全部为0 根据可选字段来定

计算机网络学习笔记 4.3 IPv4

IP数据报分片

最大传送单元MTU

链路层数据帧可封装数据的上限。以太网的MTU是1500字节。

计算机网络学习笔记 4.3 IPv4

如果所传送的数据报长度超过某链路的MTU值?分片

标识、标志、片偏移字段

计算机网络学习笔记 4.3 IPv4

标识

  • 同一数据报的分片使用同一标识。

标志

计算机网络学习笔记 4.3 IPv4

  • 仅有2位有意义,第1位保留

中间位(DF,Don’t Fragment)

  • DF = 1:禁止分片
  • DF = 0:允许分片

最低位(MF,More Fragment)

  • MF = 1:后面“还有分片”
  • MF = 0:代表最后一片 / 没分片

片偏移

指出较长分组分片后,某片在原分组中的相对位置。以8B为单位

如:片偏移为 00……01,表示该分片是原来数据报中第8字节开始的位置的分片

  • 除了最后一个分片,每个分片长度一定是8B整数倍

例:传输链路需要分片为长度不超过1420B的数据报片。
计算机网络学习笔记 4.3 IPv4
分片:1400B、1400B、1000B(1420B中前20B用于首部字段)
计算机网络学习笔记 4.3 IPv4

  • 片偏移量:0

计算机网络学习笔记 4.3 IPv4

  • 片偏移量:1400B / 8B = 175(再转二进制)

计算机网络学习笔记 4.3 IPv4

  • 片偏移量:2800B / 8B = 350(再转二进制)
总长度 标识 MF DF 片偏移
原始数据报 3820 12345 0 0 0
数据报片1 1420 12345 1 0 0
数据报片2 1420 12345 1 0 175
数据报片3 1020 12345 0 0 350

IP数据报格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DequabT-1603259140808)(C:\Users\LEtME\AppData\Roaming\Typora\typora-user-images\image-20200723105358296.png)]