IPv4数据报格式
- IPv4是IP协议的第四个版本(版本1-3和版本5都未曾使用过)
- IP地址不能反映任何有关主机位置的地理信息
- 以前还有个逆地址解析协议RAPR(Reverse APR),它的作用是使只知道自己MAC地址的主机能通过RAPR找到其IP地址,而现在的DHCP(Dynamic Host Configuration Protocol)协议已经包含了RARP的功能,所以RARP已淘汰不用了
- 在Internet中,允许一台主机有两个或两个以上IP地址,这两个IP地址的网络号必然不同。如果一台主机有两个或两个以上IP地址,说明这个主机属于两个或两个以上的逻辑网络。同一时刻一个合法的内网IP地址只能分配给一台主机,否则会引起IP地址冲突

IP数据报的格式
当IP数据报每经过一个路由器,生存时间TTL就减1,并重新计算首部检验和

- 版本:占4位,IP协议的版本
- 首部长度:占4位,以4字节为单位,0101就代表5个4字节,即20字节(不使用可选字段)
- 区分服务:占8位,一般情况不使用这个字段
- 总长度:占16位,指首部和数据之和的长度,以字节为单位,因此数据报最大长度为65535B。以太帧的最大传送单元为1500B,因此当一个IP数据报封装成帧时,总长度超过了1500B,就要分片(一片就是一个帧的数据部分)(每一片都有首部,并且都是20字节)

- 标识(identification):占16位,是一个计数器。每产生一个数据报就+1,并赋值给标识字段,但它并不是“序号”(因为IP是无连接服务),同属一个数据报的数据报片用相同的标识,以便最后重装成原来的数据报。(目的主机根据IP首部中的标识、标志、片偏移字段来完成对片的重组)
- 标志(flag):占3位,目前只有两位有意义。最低位是MF(more fragment),MF=1表示后面还有分片,MF=0表示最后一个分片,中间一位是DF(don't fragment),DF=0时才允许分片
- 片偏移:占13位,指出较长的分组在分片后,某片在原分组的相对位置(相对于数据报的数据字段的起点),以8个字节为偏移单位,除了最后一个分片外,每个分片的长度一定是8B的整数倍
- 生存时间(Time To Live,TTL):占8位,是数据报在网络中可通过的路由器数量的最大值(跳数限制),路由器在转发分组前,把TTL减1,若TTL被减为0,则该分组必须丢弃
- 协议:占8位,指出分组携带的数据部分使用何种协议,即分组数据应上交给哪个协议处理。值为6表示TCP,为17表示UDP,1表示ICMP,89表示OSPF
- 首部检验和:占16位,只检验分组首部(不是CRC检验码,是反码求和运算),不检验分组数据部分
- 源地址字段:占4B,标识发送方的IP地址
- 目的地址字段:占4B,标识接收方的IP地址
- 选项字段:动态增加IP数据报功能,但实际上很少被使用,因此IPv6的IP数据报的首部长度(指的是基本首部)就做成固定的了
- 填充:当IP分组首部长度不是4字节整数倍时,用填充字段填充
路由器转发分组的过程
网络利用率并非越高越好。根据排队论,网络利用率增大时,所引起的时延也会迅速增加
转发表里的两种特殊路由
主机路由的子网掩码是255.255.255.255
默认路由的子网掩码是0.0.0.0
相关文章:
IPv4数据报格式
IPv4是IP协议的第四个版本(版本1-3和版本5都未曾使用过)IP地址不能反映任何有关主机位置的地理信息以前还有个逆地址解析协议RAPR(Reverse APR),它的作用是使只知道自己MAC地址的主机能通过RAPR找到其IP地址,而现在的DHCP(Dynamic Host Configuration Pr…...
搭建网关服务器实现DHCP自动分配、HTTP服务和免密登录
目录 一. 实验要求 二. 实验准备 三. 实验过程 1. 网关服务器新建网卡并改为仅主机模式 2. 修改新建网卡IP配置文件并重启服务 3. 搭建网关服务器的dhcp服务 4. 修改server2网卡配置文件重启服务并效验 5. 设置主机1的网络连接为仅主机模式 6. 给server2和网关服务器之…...
【18年扬大真题】给定有m个整数的递增有序数组a和有n个整数的递减有序数组b,将a数组和b数组归并为递增有序的数组c
【18年扬大真题】 给定有m个整数的递增有序数组a和有n个整数的递减有序数组b, 将a数组和b数组归并为递增有序的数组c。 void Merge(int arr[],int m ,int brr[],int n,int crr[]) {int i 0;int j n-1;int k 0;while(i < m&&j > 0) {if (arr[i] &l…...
图片叠加_图片压缩
图片叠加 try {/* 1 读取第一张图片*/File fileOne new File("1.png");BufferedImage imageFirst ImageIO.read(fileOne);/* 2读取第二张图片 */File fileTwo new File("2.png");BufferedImage imageSecond ImageIO.read(fileTwo);//创建一个最底层画…...
Mybatis-Plus《学习笔记 22版尚硅谷 》——感谢【尚硅谷】官方文档
Mybatis-Plus《学习笔记 22版尚硅谷 》 一、MyBatis-Plus1.简介2.特性3.支持数据库4.框架结构5.官方地址 二、入门案例1.开发环境2.建库建表3.创建工程4.配置编码5.测试查询 三、增删改查1.BaseMapper<T>2.调用Mapper层实现CRUD2.1 插入2.2 删除a、根据ID删除数据b、根据…...
git安装后报git: ‘remote-https‘ is not a git command. See ‘git --help‘.
1. 问题说明 使用的是linux系统,采用编译安装的方式进行安装,安装完成clone项目后提示“git: ‘remote-https’ is not a git command. See ‘git --help’.” 2. 问题解决 需要安装1个额外的库:libcurl4-openssl-de sudo apt-get install …...
场景交互与场景漫游-交运算与对象选取(8-1)
交运算与对象选取 在面对大规模的场景管理时,场景图形的交运算和图形对象的拾取变成了一项基本工作。OSG作为一个场景管理系统,自然也实现了场景图形的交运算,交运算主要封装在osgUtil 工具中在OSG中,osgUtil是一个非常强有力的工…...
Vue中动态Class实战
效果展示 需求 想实现一个假如有5个div块,默认都是灰色,鼠标悬浮到哪个div上,那个div就显示为黑色。 具体的实现业务逻辑可根据这个进行演变 设计 通过动态 class 类名来实现,实现鼠标悬浮到div时动态绑定class 版本 Vue 3.…...
B站短视频如何去水印?一键解析下载B站视频!
在浏览B站视频时,我们有时会遇到带有水印的场景。这些水印可能会干扰我们对视频内容的观看体验,特别是在全屏观看时。此外,当我们想要保存或分享这些视频时,水印也会成为一种障碍。因此,去除水印的需求就变得非常迫切。…...
最大子段和(分治法+动态规划法)
求最大子段和 此类问题通常是求数列中连续子段和的最大值,经典的股票问题就是考察的这个思想及拓展。 例题: AcWing:1054. 股票买卖 Leetcode:53. 最大子数组和 分治法O(nlogn) 此类问题时分适合采用分治思想,因为所有子区间 [ s t a r t …...
内置函数和消息传递API
消息传递范式 消息函数、聚合函数与更新函数 消息函数接受一个参数 edges,这是一个 EdgeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批边。edges 有 src、 dst 和 data 共3个成员属性, 分别用于访问源节点、目标节点…...
不标年份的葡萄酒质量好吗?
我们在葡萄酒标上经常看到生产年份,也就是指全部葡萄采摘的年份。旧世界葡萄酒产国认为葡萄酒年份对他们的影响较大,而新世界葡萄酒,年份的意义就稍微小些。甚至有一部分葡萄酒酒标上没有年份。在酒标上没有标注年份的葡萄酒,被称…...
2023年【高处安装、维护、拆除】模拟考试题及高处安装、维护、拆除模拟考试题库
题库来源:安全生产模拟考试一点通公众号小程序 2023年【高处安装、维护、拆除】模拟考试题及高处安装、维护、拆除模拟考试题库,包含高处安装、维护、拆除模拟考试题答案和解析及高处安装、维护、拆除模拟考试题库练习。安全生产模拟考试一点通结合国家…...
简单模拟 Spring 创建的动态代理类(解释一种@Transactional事务失效的场景)
模拟 Spring 创建的动态代理类 本文主要目的是从父类和子类继承的角度去分析为什么在 Service 标注的业务类中使用 this 调用方法会造成事务失效。解释在这种情况下 this 为什么是原始类对象而不是代理类对象。 问题描述 在 Service 标注的业务类中,如果调用本类…...
万户OA upload任意文件上传漏洞复现
0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息…...
如何写好一篇软文?怎样写软文比较有吸引力?
软文,即柔性广告,是一种通过文字、图片等形式,将广告信息融入到内容中,以达到宣传、推广、营销目的的文章。企业和品牌每天都会在互联网上投放大量软文,软文起到润物细无声的作用,可以在无形中影响用户心智…...
从0开始学习JavaScript--JavaScript中的对象
JavaScript中的对象是一种重要的数据结构,它不仅是语言的基石,还提供了丰富的功能和灵活性。本文将深入研究JavaScript对象的创建、属性访问、方法定义,以及实际应用中的技巧,通过丰富的示例代码,帮助读者更全面地了解…...
【LeetCode刷题】--7.整数反转
7.整数反转 注意:在推入数字之前,需要判断MIN_VALUE< res*10digit<MAX_VALUE,不满足就返回0 class Solution {public int reverse(int x) {int res 0;while(x!0){//需要判断MIN_VALUE< res*10digit<MAX_VALUEif(res < Integ…...
Genio 500_MT8385安卓核心板:功能强大且高效
Genio 500(MT8385)安卓核心板是一款功能强大且高效的AIoT平台,内置的AI处理器(APU)工作频率可达500MHz,支持深度学习、神经网络加速和计算机视觉应用。配合高达2500万像素的摄像头,可以为AI相机应用提供清晰、精确的图像,如人脸识…...
idea导入javaweb变成灰色
解决办法: 如果这时候src是蓝色,其余都是灰色文件夹,这时候要先把src文件夹变成灰色,否则之后会报错 src文件变成灰色方法,右键src,选择make direcory as 选择unmark 如果src不是蓝色,就是灰色࿰…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
