IPv4数据报的首部格式 -计算机网络

embedded/2024/10/15 17:34:32/

IPv4数据报的首部格式

Day22. IPv4数据报的首部格式 -网络>计算机网络_4字节的整数倍-CSDN博客
IP数据报首部是4字节的整数倍

🌿版本:
占4比特,表示IP协议的版本通信双方使用的IP协议必须一致,目前广泛使用的IP协议版本号上4(即IPv 4)

🌿首部长度:
占4比特,表示IP数据报首部的长度。该字段的取值以4字节为单位。最小十进制取值为5,表示IP数据报首部只有20字节固定部分。最大十进制取值为15,表示IP数据报首部包含20字节固定部分和最大40字节的可变部分。

🌿可选字段:
长度从1字节到40字节不等。用来支持排错、测量及安全登措施。可选字段增加了IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理IP数据报的开销。实际上可选字段很少被使用。

🌿填充字段:
确保首部长度为4字节是整数倍。使用全0进行填充

🌿区分服务:
占8比特,用来获得更好的服务该字段这旧标准中叫作服务类型,但实际上一致没有被使用过。1998年,因特网工程任务组IETF把这个字段改名为区分服务利用该字段的不同数据可提供不同等级的服务质量只有在使用区分服务时,该字段才起作用,一般情况下都不使用该字段。

🌿总长度:
占16比特,表示IP数据报的总长度(首部+数据载荷)最大取值为十进制的65535,以字节为单位。在通常情况下,不会传输这么长的IP数据报

🌿首部长度字段和总长度字段的区别和联系
在这里插入图片描述
标识、标志、片偏移共同用于IP数据报分片
在这里插入图片描述
🌿标识:
占16比特,属于同一个数据报的各分片数据报应该具有相同点标识。IP软件维持一个计数器,每产生一个数据报,计数器值加1,并将此值赋给标识字段。

🌿标志:
占3比特,各比特含义如下:
①DF位:
1表示不允许分片
0表示允许分片
②MF位:
1表示后面还有分片
0表示这是最后一个分片
③保留位:
必须为0

🌿片偏移:
占13比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位。片偏移以8个字节为单位。
在这里插入图片描述
对IPv4数据报进行分片
在这里插入图片描述
在这里插入图片描述
🌿生存时间TTL:
占8比特,最初以秒为单位,最大生存周期为255秒,路由器转发IP数据报时,将IP数据报首部中的该字段的值减去IP数据报在本路由器上所消耗的时间,若不为0就转发,否则就丢弃。
现在以“跳数”为单位。路由器转发IP数据报时,将IP数据报首部中的该字节的值减1,若不为0就转发,否则就丢弃。

生存时间TTL字段的作用:
防止IP数据报在网络中永久兜圈
在这里插入图片描述
🌿协议:
占8比特,指明IPv4数据报的数据部分是何协议数据单元。常用的一些协议和相应的协议字段值如下。
在这里插入图片描述
🌿首部检验和:
占16比特,用来检测首部在传输过程中是否出现差错。比如CRC检验码简单,称为因特网检验和。IP数据报每经过一个路由器,路由器都要重新计算首部检验和,因为某些字段(生存时间、标志、片偏移等)的取值可能发生变化。
由于IP层本身并不提供可靠传输服务,并且计算首部校验和是一项耗时的操作,因此在IPv6中,路由器不再计算首部检验和,从而更快转发IP数据报。

🌿源IP地址和目的IP地址:
各占32比特,用来填写发送该IP数据报的源主机IP地址和接受该IP数据报的目的主机IP地址。

🔥小结
在这里插入图片描述
文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_43284469/article/details/108217549

Day67.最短路径问题 -数据结构-CSDN博客


http://www.ppmy.cn/embedded/127983.html

相关文章

论文阅读笔记-Self-Attention

前言 Self-Attention能够将每个元素和当前时刻元素进行比较来确定上下文元素的重要性,这也使得它在NLP模型中表现优异。而本篇文章则是将卷积结构与Self-Attention结构进行了比较,通过 实验证明了这样的卷积结构同样有着高效的计算和足以和Self-Attention媲美的效果。本篇文…

螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习07(基于docker容器的防火墙及NAT企业实战)

7.1 网络准备 7.2 网络规划 1)虚拟网络编辑器 点击右下方“更改设置”,点击“添加网络”假如vmnet3和vmnet4,然后分别选择vmnet3和vmnet4,设置为“仅主机模式”,按③处处理,去掉“使用DHCP”,…

【DataSophon】DataSophon1.2.1 整合Zeppelin并配置Hive|Trino|Spark解释器

目录 ​一、Zeppelin简介 二、实现步骤 2.1 Zeppelin包下载 2.2 work配置文件 三、配置常用解释器 3.1配置Hive解释器 3.2 配置trino解释器 3.3 配置Spark解释器 一、Zeppelin简介 Zeppelin是Apache基金会下的一个开源框架,它提供了一个数据可视化的框架&am…

Python创建多个线程分别启动http、WebSocket服务

我的计划是启动主程序后新建3个独立的线程,一个线程执行PLC读取,一个线程启动工艺测试(含http服务),另外一个线程启动WebSocket。 新增 /lib/PlcReader.py # 执行 PLC 读取类 # 读取 PLC 配置文件 # 定时&#xff08…

在 MoonBit 实现线段树(二)

引言 在上一篇文章当中我们讨论了最基础线段树的实现,但那棵线段树只能做到区间的查询(当然单点的修改与查询也是可以的),但做不到区间的修改(一个经典的应用是区间加法,即整个区间都加上某个值&#xff0…

Python入门笔记(七)

文章目录 第十五章. 下载数据15.1 csv文件15.2 json文件 第十六章. 使用API16.1 requests 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转:人工智能从入门到精通教程 本文电子版获取…

《Oracle DB备份与恢复》开篇:一切从Oracle Incarnation开始

题记:从本篇开始,我将为大家介绍Oracle DB备份与恢复。备份恢复是DBA的核心工作,重在实操,多加练习,模拟各种DB或实例崩溃的场景。不同于一些博主一出场就讲如何备份恢复,我将从备份的源头原理开始介绍。本…

Unite Shanghai 2024 技术专场 | Unity 6及未来规划:Unity引擎和服务路线图

在 2024 年 7 月 24 日的 Unite Shanghai 2024 技术专场演讲中,Unity 高级技术产品经理 Jeff Riesenmy 带来演讲 Unity 6 and Beyond: A Roadmap of Unity Engine and Services。作为本次 Unite 首场专题演讲,他介绍了 Unity 引擎的最新进展及其配套的工…