理论上分析IP报文的结构各字段的意义

简介:

如下图4.17所示为IP报文的结构,表示IP报文的组成部分。包含20字节IP报头、选项(根据实际应用而定)字段、传递数据(用户数据)组成。其中理解20字节的IP报头部分各个字段的具体意义是理解IP报文的关键。其中包括版本、报头长度、服务类型、总长度、标识符、标志、片偏移(传输时是否发生数据分段)、生存时间、协议、首部校验和、源IP地址、目标IP地址,通过上述字段可以保证数据能够正确的从信源传递到信宿。下面将开始对IP报文的每个字段作述描:

n版本(Version):该字段的长度为4比特,表示正在使用IP协议的版本。该字段的值一般为4或者6,如果该值为4表示正在使用IP的4号版本,如果该值为6表示正在使用下一代的IP地址(IP的6号版本,简称IPv6)。

n报头长度(Header Length):长度为4比特,描述IP报头的长度。如果不携带“选项”字段,那么值为20字节。如果包含了“选项”字段,那么报头长度最大可为60字节(“选项”字段最大值为40字节)。换而言之,IP报头长度的值的变化范围为20~60字节。

注意:IP报头长度(Header Length)并不包括任何数据负载的大小。


n服务类型(Typeof Service):长度为8比特,用于对特殊报文的处理。该字段可以配置IP报文的优先级(Precedence),其意义在于当网络发生拥塞时,可让具备高优先级的IP报文优先被转发,类似于在拥塞的道路上,保证如救护车一类车辆优先通行的实例。TOS字段用于配置传输服务类型,如吞吐量、时延、可靠性、费用等类型。


注意:一般面向IP流量工程、服务质量保证(QOS)项目的工程师将大量配置和使用该字段,这将在思科CCNP认证的ONT网络优化课程中进行重点学习。


n总长度(Total Length):该字段为16比特,指示整个IP报文所能携带的最大字节数,包括“IP报头”和“传递数据(负载)”长度的总和。而“总长度(Total Length)”字段,占16比特位,它所对应的二进制最大数为16个“1”,对应的十进制数就为65536,而计算机计数都是从0开始,所以一个IP报文的最大长度为65535个字节。

注意:IP报文通常也叫IP数据包,工作在“网络层”,由IP报头和传递数据组成,而一个IP数据包最大不能超过65535字节。


n标识符(Identifier:该字段的长度为16比特,表示为某一种IP数据包分配一个唯一的数字标识,该标识符的作用就是保证数据被分段后,区别于网络中其它的IP数据分段,然后可以被正确的重新组合,因为在某一个IP数据被分段的同时,可能存在多个不同IP数据的分段。

注意:标识符(Identifier)类似于将标记为红色的物品混入其他不同颜色的物品中,而此时将红色的物品分离出来就是一件很容易的事情。标识符就有这样的作用。


n标志(Flags):该字段的长度为3比特,该字段的作用主要是配合IP报文中的“标识符(Identifier)”字段和“片偏移(Fragment Offset)”字段来管理IP报文的分段。它由三个控制标志组成,三个标志中,第一位(也是第一个标志)一般不使用,作为预留。第二位(也是第二个标志)为DF位,如果DF值为1,表示不能对该IP数据包执行分段处理。第三位(也是第三个标志)为MF位,表示对于被分段的IP数据包,除了最后一个数据分段的MF值为0之外,其它的所有数据分段的MF值都为1,换而言之,MF=1表示该IP数据分段的后面还有紧跟的数据分段,直到MF值为0为止。

n片偏移(Fragment Offset):该字段长度为13比特,表示分段数据起始点相对于报头起始点的偏移位置,其目的在于让目标接受方可按照分段顺序重新组织报文,因为被分段的数据可能因为网络环境等客观因素不能按分段时的顺序到达目标接受方。

注意:片偏移(Fragment Offset)字段类似于两个物体之间规定相隔距离为30米,那么不管把这两个物体移动到什么位置,两个物体之间的距离始终为30米。同理,偏移位置就是两个分段之间的相对位置。


n生存时间(Time to Live):该字段长度为8比特,表明当前报文能在网络上的最大存活时间。意思就是指数据包每经过一个路由器(网关),TTL值自动减1,当为0时,丢弃该报文。如下图4.18所示,表示主机A发送数据的TTL值为64,当数据经过路由器达到主机B后,TTL值减少1,其值为63。




n协议(Protocol):该字段长度为8比特,用于标识OSI上层所携带的具体协议,通常是一个传输层协议或者网络层协议,如:UDP、TCP、ICMP等。通常该协议值使用十六进制表示,UDP、TCP、ICMP分别对应的十六进制值为:11、06、01。

n首部校验和(Header Checksum):该字段长度为16比特,该字段只在IP报文的首部上进行计算,提供一种基于传输的基本差错控制。具体做法是把IP报文的首部字节分为两个字,一个字为两个字节,然后进行相加而得到,转发IP报文的所有中间设备都要进行该值的计算,如果计算出来的两个校验和不同,就认为数据在传输的过程中被损坏。

n源IP地址(Source  Addresses):该字段长度为32比特,用于记录发送数据源主机的IP地址。

n目标IP地址(Destination Addresses):该字段长度为32比特,用于记录目标主机的IP地址。




本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1264817,如需转载请自行联系原作者

相关文章
|
3月前
|
机器学习/深度学习 数据可视化 安全
基于YOLOv8的交通事故车辆损伤检测与事故严重程度分级项目识别项目
综上所述,本项目以交通事故车辆损伤检测与事故严重程度分级为核心应用场景,基于 YOLOv8 深度学习目标检测框架,构建了一套覆盖数据集构建、模型训练、推理部署与可视化展示的完整工程化解决方案。通过对真实道路事故车辆图像进行多等级标注,模型能够较为准确地识别不同事故严重程度下的车辆受损特征,为事故分析、风险评估及辅助决策提供了可靠的技术支撑。同时,项目引入 PyQt5 图形化界面,将原本偏研究性质的算法模型封装为可直接使用的桌面应用,显著降低了使用门槛,提升了系统的可演示性与可落地性。整体方案结构清晰、流程规范,既具备较强的教学与科研参考价值,也为智能交通、保险理赔与道路安全管理等实际工程应用提
基于YOLOv8的交通事故车辆损伤检测与事故严重程度分级项目识别项目
|
9月前
|
存储 安全 Linux
Proxmox Backup Server 4.0 正式版发布 - 开源企业级备份解决方案
Proxmox Backup Server 4.0 正式版发布 - 开源企业级备份解决方案
431 0
|
机器学习/深度学习 存储 人工智能
2025年阿里云GPU服务器的租赁价格与选型指南
随着AI、深度学习等领域的发展,GPU服务器成为企业及科研机构的核心算力选择。阿里云提供多种GPU实例类型(如NVIDIA V100、A100等),涵盖计算型、共享型和弹性裸金属等,满足不同场景需求。本文详解2025年阿里云GPU服务器的核心配置、价格策略及适用场景,帮助用户优化选型与成本控制,实现高效智能计算。
|
编解码 算法 计算机视觉
YOLO特征融合的原理是怎样的?
YOLO特征融合的原理是怎样的?
|
机器学习/深度学习 算法 算法框架/工具
《YOLOv8原创自研》专栏介绍 & CSDN独家改进创新实战&专栏目录
《YOLOv8原创自研》专栏介绍 & CSDN独家改进创新实战&专栏目录
827 3
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
667 2
|
Rust Cloud Native 安全
哇塞!Rust 在云原生环境中搞大事啦!构建微服务竟如此酷炫,你还不来看看?
【8月更文挑战第31天】《构建微服务:Rust 在云原生环境中的实践》探讨了 Rust 语言凭借其内存安全、高性能及可靠性等特性,在快速发展的云计算领域构建微服务的优势。书中介绍了选择合适框架(如 Axum 和 Tide)、容器化部署、服务间通信及确保服务可靠性等方面的内容,并展示了 Rust 在云原生环境中的广泛应用前景。
897 1
|
缓存 网络协议 Unix
网络常用协议
网络常用协议
|
缓存 网络协议 网络性能优化
基于 Wireshark 分析 IP 协议
基于 Wireshark 分析 IP 协议
|
监控 关系型数据库 数据库
PostgreSQL和greenplum的copy命令如何使用?
【6月更文挑战第5天】PostgreSQL和greenplum的copy命令如何使用?
721 2

热门文章

最新文章