您的位置:首页 > 理论基础

计算机网络(4.7)网络层- IP数据报的格式

2019-05-04 09:49 483 查看

一个IP数据报由首部和数据两部分组成。

首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的。

IP 数据报由首部和数据两部分组成

首部的前一部分是固定长度,共 20 字节, 是所有 IP 数据报必须具有的。

可选字段,其长度是可变的

1、IP数据报首部的固定部分中的各字段

  • 版本——占 4 位,指IP协议的版本。 目前的IP协议版本号为 4 (即 IPv4)。
  • 首部长度——占 4 位,可表示的最大数值 是 15 个单位(一个单位为 4 字节), 因此 IP 的首部长度的最大值是 60 字节。
  • 区分服务——占8位,用来获得更好的服务。 在旧标准中叫做服务类型,但实际上一直未被使用过。 1998年这个字段改名为区分服务。 只有在使用区分服务(DiffServ)时,这个字段才起作用。 在一般的情况下都不使用这个字段。
  • 总长度——占16位,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 65535 字节。 总长度必须不超过最大传送单元 MTU。
  • 标识(identification) ——占 16 位, 它是一个计数器,用来产生 IP 数据报的标识。
  • 标志(flag) ——占 3 位,目前只有前两位有意义。 标志字段的最低位是 MF (More Fragment)。 MF =1 表示后面“还有分片”。MF =0 表示最后一个分片。 标志字段中间的一位是DF (Don't Fragment) 。 只有当DF =0 时才允许分片。
  • 片偏移——占13 位,指出:较长的分组在分片后某片在原分组中的相对位置。 片偏移以 8 个字节为偏移单位。

【例4-1】IP 数据报分片

一数据报的总长度为3820 字节,其数据部分的长度为3800 字节(使用固定首部),需要分片为长度不超过1420字节的数据报片。

因固定首部长度为20 字节,因此每个数据报片的数据部分长度不能超过1400 字节。

于是分为3个数据报片,其数据部分的长度分别为1400、1400 和1000 字节。

原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。

  • 生存时间——占8 位,记为TTL (Time To Live), 指示数据报在网络中可通过的路由器数的最大值(寿命)。
  • 协议——占8 位,指出此数据报携带的数据使用何种协议, 以便目的主机的IP层将数据部分上交给那个处理过程。

IP 协议支持多种协议, IP数据报可以封装多种协议 PDU。

  • 首部检验和——占16 位,只检验数据报的首部, 不检验数据部分。这里不采用CRC检验码而采用简单的计算方法。

IP 数据报首部检验和的计算采用 16 位二进制反码求和算法。

  • 源地址和目的地址都各占 4 字节。

2、IP数据报首部的可变部分 

IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。

选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。多个选项拼接,中间无需分隔符,且要用全0的填充字段补齐为4字节的整数倍。

增加首部的可变部分是为了增加 IP 数据报的功能, 但这同时也使得 IP 数据报的首部长度成为可变的。 这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: