网络层-第三节1:IP数据报格式及分片

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络层-第三节1:IP数据报格式及分片相关的知识,希望对你有一定的参考价值。

文章目录

一:IP数据报格式

  • 网络层最重要的便是IP协议,它定义了数据传送的基本单元——IP数据报

IP数据报格式:一个IP分组由首部数据两部分组成。首部前一部分的长度固定,共20B,是所有IP分组必须具有的。在首部固定部分的后面是一些可选字段,其长度可变,用来提供错误检测及安全等机制。IP 数据报的格式如下图所示

  • 版本:指IP的版本,目前广泛使用的版本号为4,即IPv4

  • 首部长度:占4位,以32位为单位,最大值为60B (15×4B)。 最常用的首部长度是20B,此时不使用任何选项(即可选字段)

  • 区分服务:用于指示期望获得哪种类型的服务

  • 总长度:占16位。指首部和数据之和的长度,单位为字节,因此数据报的最大长度为216-1= 65535B。以太网帧的最大传送单元(MTU)为1500B,因此当一个IP数据报封装成帧时,数据报的总长度(首部加数据) 一定不能超过下面数据链路层的MTU值

  • 标识:占16位。它是一个计数器,每产生一个数据报就加1,并赋值给标识字段。但它并不是“序号”(因为IP是无连接服务)。当一个数据报的长度超过网络的MTU时,必须分片,此时每个数据报片都复制一次标识号,以便能正确重装成原来的数据报

  • 标志:占3位。标志字段的最低位为MF,MF= 1表示后面还有分片、MF=0表示最后一个分片。标志字段中间的一位是DF,只有当DF=0时才允许分片

  • 片偏移:占13位。它指出较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位,即每个分片的长度一定是8B (64位)的整数倍

  • 首部校验和:占16位。IP数据报的首部校验和只校验分组的首部,而不校验数据部分

  • 生存时间(TTL):占8位。数据报在网络中可通过的路由器数的最大值,标识分组在网络中的寿命,以确保分组不会永远在网络中循环。路由器在转发分组前,先把TTL减1。若TTL被减为0,则该分组必须丢弃

  • 协议:占8位。指出此分组携带的数据使用何种协议,即分组的数据部分应交给哪个传输层协议,如TCP、UDP等(值为6表示TCP,值为17表示UDP)

  • 源地址字段:占4B,标识发送方的IP地址

  • 目的地址字段:占4B,标识接收方的IP地址

  • 可选字段:占0-40B,用于支持排错、测量及安全等措施

  • 填充:全0,用于把首部补成4B的整数倍

二:IP数据报分片

IP数据报分片:前面说过,最大传送单元(MTU)是指链路层数据报能承载的最大数据量。因此,由于IP数据报被封装在链路层数据报中,所以链路层的MTU严格限制着IP数据报的长度,而且在IP数据报的源与目的地路径上的各段链路可能使用不同的链路层协议,有不同搞得MTU。所以,当IP数据报的总长度大于链路MTU时,就需要将IP数据报中的数据分装在两个或多个较小的IP数据报中,这些较小的数据报称为

要完成IP数据报的分片与重组,需要借助IP数据报格式中的标识、标志和片偏移

  • 标识:同一数据报的分片使用同一标识
  • 标志中间为DF(DF=1表示禁止分片;DF=0表示允许分片)和最低位MF(MF=1表示后面还有分片;MF=0表示最后一片或者没有分片了)
  • 片偏移:指出较长分组分片后某片在原分组中的相对位置,以8B位单位

特别注意: 除了最后一个分片,每个分片长度一定是8B的整数倍

以上是关于网络层-第三节1:IP数据报格式及分片的主要内容,如果未能解决你的问题,请参考以下文章

IP数据报格式

计算机网络 王道考研2021 第四章:网络层 -- 网络层功能概述IP数据报格式(TCP/IP协议栈)IP数据报分片(MTU)

IP分组

实训第三天

UDP与IP分片

王道计算机网络网络层