IPv4分组

news2024/11/25 20:34:34

4.3.1 IPv4分组

IP协议定义数据传送的基本单元——IP分组及其确切的数据格式

1. IPv4分组的格式

IPv4分组由首部和数据部分(TCP、UDP段)组成,其中首部分为固定部分(20字节)和可选字段(长度可变,用于提供错误检测及安全等机制)

1)版本:指IP协议的版本

2)首部长度:占4位,可以表示最大的数为15。以32位为单位,最大值为60B(32 * 15 / 8 = 64B),最常用的首部长度是20B,最小为数字5即(0101),因此取值范围为(0101 ~ 1111)

3)总长度:占16位,指首部和数据之和长度单位为字节,因此IP数据报的最大长度为 2 16 − 1 = 65535 B 2^{16} - 1 = 65535B 2161=65535B,以太网帧的最大传送单元(MTU)为1500B(IP数据报的长度不能超过此值)

4)标识:占16位,它是一个计数器,每产生一个数据报就加1,并赋值给标识字段。

5)标志:占3位,标志字段最低位为MF,等于1表示后面还有分片,0表示最后一个分片,标志位中间一位为DF,当其为0时才允许分片

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

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

8)协议:占8位,指出此分组携带的数据使用何种协议(其中TCP协议为6,UDP协议为17)

9) 首部校验和:占16位。首部校验和只校验分组的首部,而不校验数据部分

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

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

在这里插入图片描述

首部长度、总长度、片偏移,基本单位 分别为4B、1B、8B

2. IP数据报分片

一个链路层数据报能承载的最大数据量称为最大传送单元(MTU)

当IP数据报的总长度大于链路MTU时,就需要将 IP数据报中的数据分装在多个较小的IP数据报中,这些较小的数据报称为

目的主机上,使用IP首部中的标识、标志、片偏移来完成对的组装

原理:

  • 在将数据报进行分片时,形成的每个数据报(片)都具有原始数据报的标识号。因此收到数据后,IP首部的标识相同就说明这些数据属于同一个原始数据报的片
  • IP首部中的标志位占3位,但只有后2位有意义,分别是MF位(More Fragment) 和DF位(Don’t Fragment),DF = 0表示该IP数据报才可以被分片MF则用来告知目的主机该IP数据报是否为原始数据报的最后一个片。当MF= 1表示相应的原始数据报还有后续的片;当MF = 0表示该数据报是相应原始数据报的最后一个片
  • 使用片位移字段来确定该片应该在原始数据报的哪个位置

进行分片时,除了最后一个片,其他所有片的有效数据载荷都是8B的倍数
计算片偏移时,第一个片的片偏移为0,其往后每个片偏移的值为其起始值除以8B

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/878181.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

行业追踪,2023-08-14

自动复盘 2023-08-14 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

深入浅出 栈和队列(附加循环队列、双端队列)

栈和队列 一、栈 概念与特性二、Stack 集合类及模拟实现1、Java集合中的 Stack2、Stack 模拟实现 三、栈、虚拟机栈、栈帧有什么区别?四、队列 概念与特性五、Queue集合类及模拟实现1、Queue的底层结构(1)顺序结构(2)链…

做海外游戏推广有哪些条件?

做海外游戏推广需要充分准备和一系列条件的支持。以下是一些关键条件: 市场调研和策略制定:了解目标市场的文化、玩家偏好、竞争格局等是必要的。根据调研结果制定适合的推广策略。 本地化:将游戏内容、界面、语言、货币等进行本地化&#…

计算两个字符串之间的编辑距离【支持多字节字符串】

/*** 计算两个字符串之间的编辑距离【支持多字节字符串】** param string $str1 求编辑距离中的其中一个字符串* param string $str2 求编辑距离中的另一个字符串** return int*/ function levenshtein_copy(string $str1, string $str2): int {$arr1 mb_str_split($str1);$ar…

IK分词器升级,MySQL热更新助一臂之力

ik分词器采用MySQL热更新 ​ 官方所给的IK分词器只支持远程文本文件热更新,不支持采用MySQL热更新,没关系,这难不倒伟大的博主,给哈哈哈。今天就来和大家讲一下如何采用MySQL做热更新IK分词器的词库。 一、建立数据库表 CREATE…

20个常考的前端算法题,你全都会吗?

现在面试中,算法出现的频率越来越高了,大厂基本必考 今天给大家带来20个常见的前端算法题,重要的地方已添加注释,如有不正确的地方,欢迎多多指正💕 1、两数之和 题目:给定一个数组 nums 和一…

d3dcompiler43.dll缺失怎么修复?dll缺失解决方法分享

在使用电脑过程中,我们有时会遇到一些系统文件的问题,其中一个常见的问题是d3dcompiler43.dll文件的损坏或丢失。当这个文件出现问题时,可能会导致应用程序无法正常运行或图形渲染出现异常。最近我也遇到了这个问题,以下是我修复d…

ClickHouse(十八):Clickhouse Integration系列表引擎

进入正文前,感谢宝子们订阅专题、点赞、评论、收藏!关注IT贫道,获取高质量博客内容! 🏡个人主页:含各种IT体系技术,IT贫道_Apache Doris,大数据OLAP体系技术栈,Kerberos安全认证-CSDN博客 &…

UE4拾取物品高亮显示

UE4系列文章目录 文章目录 UE4系列文章目录前言一、如何实现 前言 先看下效果,当角色靠近背包然后看向背包,背包就会高亮显示。 一、如何实现 1.为选中物品创建蓝图接口 在“内容” 窗口中,鼠标右键选择“蓝图”->蓝图接口&#xff0c…

P13-CNN学习1.3-ResNet(神之一手~)

论文地址:CVPR 2016 Open Access Repository https://arxiv.org/pdf/1512.03385.pdf Abstract 翻译 深层的神经网络越来越难以训练。我们提供了一个残差学习框架用来训练那些非常深的神经网络。我们重新定义了网络的学习方式,让网络可以直接学习输入信息与输出信息…

乐鑫ESP32S3串口下载出现奇怪问题解决方法

正在学习ESP32S3,有一个原厂BOX开发板,使用虚拟机,安装 debian11 ,安装IDF4.4.5版本工具。下载box示例代码。 进入example,idf.py set-target esp32s3, idf.py flash 下载时,出现错误: Wrote 22224 bytes…

【Unity实战系列】如何把你的二次元老婆/老公导入Unity进行二创并且进行二次元渲染?(附模型网站分享)

君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,在正式开始讲主线知识之前,我们先来讲点有趣且有用的东西。 我知道,除了很多想从事游戏开发行业的人以外,还…

试岗第一天问题

1、公司的一个项目拉下来 ,npm i 不管用显示 后面百度 使用了一个方法 虽然解决 但是在增加别的依赖不行,后面发现是node版本过高,更换node版本解决。 2、使用插件动态的使数字从0到100(vue-animate-number插件) 第一…

Redis之删除策略

文章目录 前言一、过期数据二、数据删除策略2.1定时删除2.2惰性删除2.3 定期删除2.4 删除策略比对 三、逐出算法3.1影响数据逐出的相关配置 总结 前言 Redis的常用删除策略 一、过期数据 Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可…

Python 图形界面框架TkInter(第八篇:理解pack布局)

前言 tkinter图形用户界面框架提供了3种布局方式,分别是 1、pack 2、grid 3、place 介绍下pack布局方式,这是我们最常用的布局方式,理解了pack布局,绝大多数需求都能满足。 第一次使用pack() import …

大模型相关知识

一. embedding 简单来说,embedding就是用一个低维的向量表示一个物体,可以是一个词,或是一个商品,或是一个电影等等。这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如 Embedding(复仇者联盟)…

湖南大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 24计算机考研|上岸指南 湖南大学 湖南大学计算机考研招生学院是信息科学与工程学院。目前均已出拟录取名单。 湖南大学信息科学与工程学院内设国家示范性软件学院、国家保密学院和湘江人工智能学院,计算机…

软件测试基础之软件缺陷处理

一、什么是缺陷 不满足用户确定需求、影响软件功能实现的问题、故障 缺陷就是人们通常所说的bug。 ex.一下哪一种选项不属于软件缺陷___。 A.软件没有实现产品规格说明所要求的功能 B.软件中出现了产品规格说明不应该出现的功能 C.软件实现了产品规格说明没有提到的功能 D.软…

什么是抖音SEO,如何做好抖音短视频的SEO优化?

抖音SEO,全称是抖音搜索引擎优化,指的是在了解抖音搜索引擎自然排名机制及算法的基础上,对视频内容进行调整优化,让其排名靠前,从而增加用户点击的概率,达到排名和营销目的。 1、了解算法规则 每个平台都…

会员中心功能实现(小兔鲜儿)【Vue3】

会员中心 整体功能梳理和路由配置 整体功能梳理 个人中心 - 个人信息和猜你喜欢数据渲染我的订单 - 各种状态下的订单列表展示 路由配置(包括三级路由配置) 准备路由模版 <script setup> </script><template><div class"container">…