IP 数据报结构和各字段含义

article/2025/9/16 2:20:11

IP 数据报位于 OSI 七层模型中的网络层,对应与 TCP/IP 四层模型中的网络层(也称网际层)。网络层用来处理网络上流动的数据包(网络传输中最小的数据单元),规定了怎样的路径把数据包传输到目标计算机,并把数据包传送给对方。(与 tcp/ip 协议密切相关的有 IP 协议、ARP 协议、RARP 协议)。IP 协议就在这里,它负责对数据加上 IP 地址和其他的数据,以确定传输的目标,和相邻计算机之间的通信。

其功能包括三方面:

  1. 处理来自传输层的分组发送请求,收到请求后,将分组装入 IP 数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
  2. 处理输入数据报:首先检查其合法性,然后进行寻径。假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
  3. 处理路径、流控、拥塞等问题。

IP协议:Internetworking Protocol(网间网协议),IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP也是分组交换的一种协议,但是它不具备重发机制,因此它是不可靠传输协议。

IPv4:头部由 20bytes 定长和一个可选的变长部分(小于等于 40bytes )组成,其中包括 32 位记录源端IP地址,32 位记录目的端 IP 地址。所有内容长度最大为 216-1=65535bytes。

IP数据报的具体结构和解析如下:
在这里插入图片描述

通过 Wireshark 抓取的一个 IPv4 的数据报片段示例如下:

Internet Protocol Version 4, Src: 192.168.43.69, Dst: 220.181.38.1480100 .... = Version: 4.... 0101 = Header Length: 20 bytes (5)Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)0000 00.. = Differentiated Services Codepoint: Default (0).... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)Total Length: 669Identification: 0x989b (39067)Flags: 0x40, Don't fragment0... .... = Reserved bit: Not set.1.. .... = Don't fragment: Set..0. .... = More fragments: Not set...0 0000 0000 0000 = Fragment Offset: 0Time to Live: 128Protocol: TCP (6)Header Checksum: 0x7088 [validation disabled][Header checksum status: Unverified]Source Address: 192.168.43.69Destination Address: 220.181.38.148

注意:上面描述的首部,不包括选项字段的 IP 头部长度为 20bytes(1byte=8bits)长度,最高位在左边,记为 0bit。最低位在右边,记为 31bits。采用 “大端” byte 序进行传输,也就是对于 4bytes 的 32bits 数据,从高位byte(0bit)开始传输 0~7,8~15,15~23,24~31bits。各字段的含义如下:

  • 版本:4bits,0100 值为4代表 IPv4。
  • 首部长度:4bits,占4位,指的是包括选项字段在内的 IP 首部长度。首部单位长度为4个 byte,以有多少组 4bytes 字组来表达 header 的长度。从0000~1111,当“首部长度”表示为0001时,首部的长度是1(4bytes)。首部最大长度为15(60bytes)。
  • 服务类型(区分服务):8bits,前 3bits 优先级字段(现在已经不用了),后 4bits TOS字段, 最后 1bit 备用位。4bits TOS位分别代表:第一位D(delay)最小时延、T(throughput)最大吞吐量、R(reliability)最高可靠性和C(cost)最小费用,只能设置其中 1bit,如果所有 4bits 均为0,那么就表示是一般服务。在抓包中显示Differentiated Services Field,叫差分服务,或叫区分服务。
  • 总长度:16bits,包括首部和数据部分。能表示的最大长度为 65535(216-1)。且这个字段是必须的,当 IP 数据包小于 46bytes 时在以太网帧中数据将会被填充到 46bytes ,这时候如果没有这个字段我们接收到帧后便不能得到正确的 IP 数据包。
  • 标识:16bits,它是一个计数器,用来产生数据报文的标识。数据报文在分片时标志会被复制到每一个分片中。
  • 标志:3bits,第一位 0bit 保留;中间位DF(Don’t Fragment),DF=0 表示能分片,DF=1 表示不能分片。最低位为MF(More Fragment) ,MF=1 表示后面还在传输数据报的分片, MF=0 表示最后一个报文段。
  • (片)偏移:13bits,用于数据包分片和重组。13 位(片)偏移字段,较长的分组在分片后,某片在原来分组中的相对位置。分片偏移以 8bytes 做为计量单位,第一个分片偏移为 0。所以当 Fragment Offset 为0时,表示这个数据报文没有分片,或者第一个分片。
  • 生存时间(TTL):8bits,意为Time To Live,表明是数据报在网络中的寿命,单位为秒设置了数据包可以经过的最多路由器数量。
  • 协议:8bits,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的 IP 层知道应将数据部分上交给哪个处理过程。网络层以上的高层协议有 TCP,UDP,OSPF,EGP,IGMP,ICMP 等。
  • 首部校验和:16bits,校验数据报的首部根据 IP 首部计算的检验和码,它不对首部后面的数据进行计算。采用的是 16bits 二进制反码求和。在上面的 Wireshark 中的 Header Checksum 显示validation disabled,表示这个软件关闭校验和的抓包功能。如果开启该功能,会显示 good 或 bad。
  • 源地址:4bits,源主机的 IP 地址。
  • 目的地址:4bits,目标主机的 IP 地址。
  • 可项字段:最多 40bytes,IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。选项字段的长度可变,取决于所选择的项目。增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。

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

相关文章

IP数据报的检验(计算机网络)

IP数据报检验 IP数据报检验的计算过程引入检验原理题目案例及分析题目要求分析 计算过程图解总结 IP数据报检验的计算过程 本篇文章只介绍IP数据报的检验过程,不对原理做过多讲解。内容通俗易懂,请放心大胆食用! 引入 IP数据报检验只检验数据…

IP数据报首部检验和原理

首部检验和 首部检验和,只检验数据报的首部,不包括数据部分。 在发送方,先把IP数据报首部划分为许多16位字的序列,并把检验和字段置为0,用反码算术运算把所有16位字相加,将得到的和的反码写入检验和字段。…

IP数据报首部检验和的详细计算过程

目录 IP数据报检验的计算过程 引入 检验原理 题目案例及分析 题目要求 分析 计算过程图解 总结 IP数据报检验的计算过程 本篇文章只介绍IP数据报的检验过程,不对原理做过多讲解。内容通俗易懂,请放心大胆食用! 引入 IP数据报检验只检验…

计算机网络—IP数据报格式

一个IP数据报由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。 IP数据报首部的固定部分中的各字段: (1)版…

IP数据报捕获及数据分析

1. JPCAP环境的安装 (1)下载并安装WinPcap(http://winpcap.polito.it/); (2)下载Jpcap最新版本; 链接:https://pan.baidu.com/s/163HOWuq4bfNHLnLhQeV3_Q 提取码:tzbm (3&#xf…

网络协议格式 | 以太网帧、ARP数据报、IP数据报、UDP数据报、TCP数据报

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…

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

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

计算机网络学习:网络层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 区分服务:指示期望获得哪种类型的…