5.2.3 IP数据报(一)IP数据报的格式

article/2025/9/16 3:14:49

5.2.3 IP数据报(一)IP数据报的格式

我们知道要想实现全球范围的通信除了地址要统一之外,数据格式也要统一,所以就有了IP分组,或者被称之为IP数据报,下面我们来学习IP分组的格式。如图IP数据报

总体来说一个IP分组或者说IP数据报包括首部和数据部分两个部分,首部又包含了20字节的固定部分和可选的IP选项,在图中,每一行是32比特,也就是4个字节,所以固定部分一共是五行,下面我们就来介绍一下首部各个字段的含义。

  1. 第一个部分是版本号,占4bit,包含了创建数据报所用的IP协议的版本信息,目前广泛使用的版本号是4,这里我们学习的除了特别说明都指的是IPv4,指IP协议的版本,目前的IP协议版本号为0100,也就是4(即IPv4)

  2. 第二个部分是首部长度,占4bit,这里我们需要注意的是该字段表示的是以四字节为单位的IP首部的长度,如该字段的值是0101的话表示该IP数据报首部长度是5*4,也就是20个字节,也说明了数据报首部长度必须是4字节的整体数倍,如果有IP选项的时候可能需要在填充字段中填零,来保证首部长度是4字节的整数倍,因为该字段的最大值为1111,即表示的最大数值是15个单位(一个单位为4字节),也就意味着每个IP数据报首部长度不能超过 15 × 4 15\times 4 15×4因此IP的首部长度的最大值是60字节,实际上在日常应用上,由于选项字段很少使用,所以最常见的首部长度值是5,即首部长度值是20字节。

  3. 第三个部分是服务类型,如图,占8bit,用来获得更好的服务,这个字段以前一直没有被人们使用,通常是00000000,这个字段的本意是希望能够使用户获得更好的服务,但实际上一直没有用到,所以该字段目前一般是全零。服务类型

  4. 第四个部分是总长度,占16比特,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。总长度必须不超过最大传送单元MTU。它表示以字节为单位的整个IP数据报的长度,因为该字段最大长度为全1,也就是16个1,转换为10进制说明IP数据报从理论上可以达到65535个字节。实际上对于IP数据报从一台主机传送到另外一台总是要通过底层的物理网络进行传输,在第四章中我们学习过网络最大传输单元(MTU),这里再次强调每种网络都规定了在其数据链路层传输的数据帧中封装的数据字段长度的最大值就成为最大传输单元(MTU),例如以太网的MTU为1500个字节,即在一个以太网帧中最多传送1500字节的数据。很多人误认为MTU是数据帧的总长度,这是错误的。当然有些网络的MTU值较小,只有128字节。为了使互联网传输更高效,一般尽量使每个IP数据报尽可能的长并且能封装在一个独立的数据帧中去发送。但实际上一个IP数据报在从源主机到目的主机的传送过程中可能回传与MTU不尽相同的多个网络,如图MTU
    对源主机A来说,它也不清楚将要发出去的IP数据报,有可能会经过那些网络的传输,如果要经历的网络的MTU值太小,IP数据报的长度大于了MTU的情况下,那么这个IP数据报是不是就没有办法封装到一个帧里面去了呢,如果碰到这种情况就涉及到了对IP数据报的分片处理,就会用到接下来的三个字段也就是标识、标志、片偏移,因为有关IP数据报的分片和重组相关内容会在后面专门的学习,所以这里我们先把这三个字段跳过去。

  5. IP数据报第三行第一个字段是生存期TTL(Time To Live)占用一个字节8哥比特,表示IP数据报在网络中的寿命,目前的单位是跳,设计初衷是用来指明数据报在互联网系统中允许保留的以秒为单位的时间,但现在的路由器和网络完成一个数据报的转发一般仅仅需要几个毫秒,因此现在TTL实际上是起着跳数限制的作用,也就是说该字段现在的单位是跳,意思是数据报每经过路由器的转发就将其TTL值减一,一旦TTL值减为零,路由器就不再转发该数据报,而是将其丢弃,同时向数据报的源站发送一个ICMP(差错报告报文)。

  6. IP数据报第三行第二个字段是协议字段,占8比特,1个字节。该字段指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给那个协议软件处理。协议字段
    该字段对于源主机来说指明了该IP数据报的数据部分是来自于哪个协议,对于目的主机来说当它收到一个IP数据报的时候就会知道应该把封装的数据部分取出来送交由哪个协议软件来处理。如表:指定的网际协议编号,这个表列出了在实际网络中最长用到的协议以及协议的编号,如该字段是1的时候表示的是ICMP,6的时候表示的是TCP。

协议字段值(十进制表示)14617
协议名ICMPIPTCPUDP
  1. IP数据报第三行第三个字段是首部检验和,占16比特,该字段只检验数据报的首部,不包括数据部分。这里不采用CRC检验码而采用简单的计算方法。前面我们曾经介绍过差错控制,同样在IP协议中也考虑到了差错控制的功能。首部校验和字段就是用来检错,这里要注意该字段不能纠错,同时要注意这个字段校验范围只是首部。对于数据部分的对错,该字段是不负责检测的。首部校验和字段占了16个比特,该校验和字段采用的算法与我们前面介绍的循环冗余码不一样,这里我们将会在传输层的UDP协议中学习,这里我们只用知道该字段的作用即可。

    数据报从源主机发出后,沿途路由器以及目的主机都要根据首部校验和字段来检测首部的对错,如果发现首部有错就将该IP数据报丢弃,当然只要首部有变化,该字段就会被重新计算,如所有数据报的TTL字段在路由转发时都要被减1,因此路由器会对每个被转发的IP数据报都要重新计算一下它的首部校验和字段。

    在这里我们需要强调网际协议IP提供的是一个无连接、不可靠、尽力而为的服务,也就是说源主机和目的主机之间是不需要建立连接的,想发就发,接收端收到以后也不需要给出确认,也没有重传机制,也没有对数据部分的差错控制,因为它只校验首部。这样做的优点是大大节省了路由器处理每个数据报的时间,也符合IP协议的尽力传递的思想。它的缺点是给高层的软件留下了数据不可靠的问题,增加了高层协议的负担。不过IP数据报首部和数据部分的分开校验,也允许高层协议自己选择所对应的校验方法。

  2. IP数据报第四行、第五行就是源IP地址和目的IP地址字段,各占了4个字节,分别指明本IP数据报最初的发送者和最终接收者的IP地址,这里我们要注意的是一个IP数据报不管是经过了多少路由器的转发,这两个字段的值始终保持不变,路由器总是提取目的IP地址和路由表中的表项来进行匹配,以决定该把数据报发往何处,关于IP数据报的转发过程,后面我们会详细的学习。

  3. 最后一个字段是IP选项字段,也就是可有可无,主要用于控制和测试的目的。实际上这个字段用的不多,我们只需要知道为了保证数据报首部的长度是4字节的整数倍,如果用到选项字段的话,就有可能还需要在它的后面填充一些零比特即可。

以上就是我们学习的IP数据报的格式,我们一定要注意首部长度这个字段和总长度字段的单位是不一样的。还有一些关键字段如协议类型字段,TTL字段及源IP地址和目的IP地址的含义都需要掌握,在实际应用中我们可以利用数据报捕获工具Wireshark来吧IP数据报捕获下载进行对比分析。


http://chatgpt.dhexx.cn/article/ewpWKC0w.shtml

相关文章

计算机网络学习:网络层IP数据报、ICMP协议 看一篇就够了!(含具体实验演示)

目录 一、前言 二、IP数据报 1、版本 2、首部长度 3、区分服务 4、总长度 5、标识 6、标志 7、片偏移 8、生存时间 9、协议 10、首部检验和 三、Cisco模拟器实验 四、ICMP协议 1、终点不可达 2、源点抑制 3、超时 4、参数问题 5、改变路由(重定向…

ip数据报格式;ip数据报分片

点击打开链接 IPv4数据报格式: 上图表示的数据,最高位在左边,记为0位;最低位在右边,记为31位。在网络中传输数据时,先传输0~7位,其次是8~15位,然后传输16~23位,最后传输…

3.7计算机网络(IP数据报格式,IP数据报分片,IPv4)

目录 🍓IP 🍇1.IP数据报格式 🍑2.IP数据报分片 🥦3.IPv4 1.分类的IP地址 2.网络地址转换NAT 🧊个人主页:个人主页 🌟系列专栏:计算机网络专栏 🍓IP 🍇1…

IP数据报的发送和转发过程

本文主要讲述了 IP 数据报的发送和转发过程,参考:计算机网络微课堂 IP 数据报的发送和转发过程包含以下两部分: 主机发送 IP 数据报路由器转发 IP 数据报 说明:后续举例忽略了 ARP 协议获取目的主机或路由器接口的 MAC 地址的过…

IP数据报头部

1.4位版本号:对于ipv4,其值是4 2.4位头部长度:表示ip的头部有多少4字节。4位最大表示15,因此ip数据报头部最长是60字节 3.16位总长度:以字节为单位。最大的位2^16-1,但是由于MUT的限制,超过MUT的都被分片…

IP数据报报头详解

在IP网络中传输的单位称为IP数据包,它包括IP报头与更高层协议的相关数据。IP数据包的报头至少为20个字节,其中包括版本号,报头长度,服务类型,数据报总长度,标识,标志,片偏移,生存时间…

[计算机网络] UDP数据字段 划分 IP数据报

题目 : 一个UDP用户数据报的数据字段为8192字节。在链路层要使用以太网来传送。 试问应当划分为几个IP数据报片?说明每一个IP数据报片的数据字段长度和 片偏移字段的值。 分析 : 首先我们知道 U D P 数 据 报 首 部 8 字 节 数 据 部 分 UDP数据报首部8字节数据部分 UDP数据…

IP 数据报首部分析

来来来, 爷们. 不是一直说纸上得来终觉浅么. 今咱就抓个数据报具体看一看真实网络中的 IP 报首部. 操作方法很简单, 使用wireshark进行抓包. 抓包后随便找个包看一下就行, 毕竟所有通信的包都需要经过网络层.(同时, wireshark会对协议的相关信息给出标识, 更方便我们查看) 其中…

​IP数据报的格式(计算机网络)

目录 一、IP 数据报由首部和数据两部分组成 二、IP 数据报的分片 三、IP数据报分片实例 四、IP 数据报首部的固定部分中的各字段 五、协议字段的作用 一、IP 数据报由首部和数据两部分组成 版本——占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4…

Wireshark分析IP数据报

Wireshark分析IP数据报 1. IP数据报格式 总概 2. IP数据报首部的固定部分各字段 版本【4位】:IPv4或IPv6首部长度【4位】:单位是32bit(4字节),比如:首部最小长度为20字节,此时为:…

IP数据报的格式

IP数据报的格式能够说明IP协议具有什么功能,在TCP/IP的标准中,各种数据格式常以32位(4字节)为单位来描述。 一个IP数据包有首部和数据两部分组成。首部的前一部分是固定长度,占20字节,是所有IP必须有的。在…

图解IP数据报格式

IP数据报格式详解 IP数据报的首部格式及其内容是实现IP协议的主要功能的基础,因此我们有必要搞清楚这部分的内容。 一个IP数据报由20字节的固定部分和最大40字节的可变部分组成。 ■ 固定部分:指每个IP数据报首部都必须包含的部分。 ■ 可变部分&#…

计算机网络---IP数据报

(一)IP数据报格式 TCP/IP协议栈 IP数据报格式: 版本:IP协议的版本号 IPv4/IPv6 首部长度:单位是4B,最小为5,以4字节为单位 固定部分20B 区分服务:指示期望获得哪种类型的…

【IP协议(一)】——IP数据报格式及其含义,IP数据报的切分

💂 个人主页:努力学习的少年🤟 版权: 本文由【努力学习的少年】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 🚀 IP数据报格式 版本:占4位,指…

IP数据报的首部

IP数据报的首部 注:IP数据报的格式,能够说明IP协议都具有什么功能。 1. IP数据报首部——固定部分 1.1 版本 占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。IP协议版本号为4(即IPv4),IP协议版本号为6(即IPv6)…

计算机网络——IP数据报分析

目录 🛴一、IP数据报简介 🛹二、Wireshark抓包分析 🛴一、IP数据报简介 版本:占4比特,表示IP协议的版本。通信双发使用的IP版本必须一致 首部长度:占4比特,表示IP数据报首部的长度。该字段的取…

IP数据报格式详解

IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。IP数据报的格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加的各种控制信息,数据区包括高层协议需要传输的数据。 IP…

网络层——IP数据报详解

IP数据报格式 各个字段的分析: 版本 4位    指IP协议的版本,通信双方使用的IP协议版本必须保持一致。主要用两个版本IPV4、IPV6首部长度 4位   4位表示的最大十进制数是15。注意,首部长度字段所表示数的单位是32位(也就是4个…

IP数据报

文章目录 前言一、IP数据报的格式1.IP数据报2.数据报中各个字段的意义 二、ICMP(Internet控制报文协议)1.报文格式2.常见应用 三、ARP协议四、路由表 前言 在前面的学习中我们学习了数据的封装和解封装,了解了封装是从发送端由上向下一层一层…

IPv4数据报的首部格式

版本:占4比特,表示IP协议的版本,通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4 首部长度占4比特,表示IP数据报首部的长度。该字段的取值以4字节为单位。最小十进制取值为5,表示IP数据报首部只有…