ICMP差错包
ICMP报文分类
Type | Code | 描述 | 查询/差错 |
---|---|---|---|
0-Echo响应 | 0 | Echo响应报文 | 查询 |
3-目的不可达 | 0 | 目标网络不可达报文 | 差错 |
1 | 目标主机不可达报文 | 差错 | |
2 | 目标协议不可达报文 | 差错 | |
3 | 目标端口不可达报文 | 差错 | |
4 | 要求分段并设置DF flag标志报文 | 差错 | |
5 | 源路由失败报文 | 差错 | |
6 | 未知的目标网络报文 | 差错 | |
7 | 未知的目标主机报文 | 差错 | |
8 | 源主机隔离报文 | 差错 | |
9 | 禁止访问的网络报文 | 差错 | |
10 | 禁止访问的主机报文 | 差错 | |
11 | 对特定的TOS网络不可达报文 | 差错 | |
12 | 对特定的TOS主机不可达报文 | 差错 | |
13 | 由于过滤 网络流量被禁止报文 | 差错 | |
14 | 主机越权报文 | 差错 | |
15 | 优先权终止生效报文 | 差错 | |
4-源点抑制 | 0 | 源点抑制 | 差错 |
5-重定向 | 0 | 重定向网络报文 | 差错 |
1 | 重定向主机报文 | 差错 | |
2 | 基于TOS的网络重定向报文 | 差错 | |
3 | 基于TOS的主机重定向报文 | 差错 | |
8-Echo请求 | 0 | Echo请求报文 | 查询 |
9-路由器通告 | 0 | 路由通告报文 | 查询(舍弃) |
10-路由器请求 | 0 | 路由器的发现/选择/请求报文 | 查询(舍弃) |
11-ICMP超时 | 0 | TTL超时报文 | 差错 |
1 | 分片重组超时报文 | 差错 | |
12-参数问题 | 0 | IP报首部参数错误报文 | 差错 |
1 | 丢失必要选项报文 | 差错 | |
2 | 不支持的长度报文 | 差错 | |
13-时间戳请求 | 0 | 时间戳请求报文 | 查询 |
14-时间戳应答 | 0 | 时间戳应答报文 | 查询 |
15-信息请求 | 0 | 信息请求报文 | 查询(舍弃) |
16-信息应答 | 0 | 信息应答报文 | 查询(舍弃) |
17-地址请求 | 0 | 地址子网请求报文 | 查询(舍弃) |
18-地址应答 | 0 | 地址子网应答报文 | 查询(舍弃) |
ARP代理
如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理ARP功能的设备就可以回答该请求,这个过程称作代理ARP(Proxy ARP)。
代理ARP功能屏蔽了分离的物理网络这一事实,使用户使用起来,好像在同一个物理网络上。
代理ARP分为普通代理ARP和本地代理ARP,二者的应用场景有所区别:
1,普通代理ARP的应用环境为:想要互通的主机分别连接到设备的不同三层接口上,且这些主机不在同一个广播域中。
2,本地代理ARP的应用环境为:想要互通的主机连接到设备的同一个三层接口上,且这些主机不在同一个广播域中。
代理ARP情况:处于同一网段内的主机,当连接到设备的不同三层接口时,可以利用设备的代
理ARP功能,通过三层转发实现互通。
本地代理ARP可以在下列三种情况下实现主机之间的三层互通:
1, 想要互通的主机分别连接到同一个VLAN中的不同二层隔离端口下;
2, 使能Super VLAN功能后,想要互通的主机属于不同的Sub VLAN;
3,使能Isolate-user-vlan功能后,想要互通的主机属于不同的Secondary VLAN。
重定向概念
ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发
何时重定向
a) 数据包的入接口和路由后的指定的出接口是同一个接口。
b) 数据包的源IP地址和该包应走的下一跳IP地址属于同一个网段。
c) 数据报非源路由的(这种情况应该比较少见了,源路由多见于Token Ring)。
d) 系统开启重定向功能。
源路由
IPv4 option 源路由选项提供了我们这个能力,我们可以决定,数据包如何被发往目的主机。
严格源路由选择让路由器必须按照IP列表中的顺序转发,如果转发下一跳不在路由器直连子网中,那么数据包将被丢弃,源主机将收到源路由失败的ICMP消息。严格源路由选项类型值为137。
松散源路由选项则对转发路径的要求宽松一些,只要求转发路径能按顺序经过选项中的IP地址列表,可以在列表中的两个IP地址之间经过其他路由器。松散源路由选项类型值为131。
TOS概念
ToS即为服务类型,只有当网络设备能够支持(能够识别IP首部中的ToS字段)识别ToS字段时,这给字段设置才有意义。否则都是空谈。
先说具体字段的意义:
Tos字段长度为8bit
前3bit字段:
为优选权子字段,现在已经废弃,这个字段默认值是000,大部分IP首部中的ToS字段的8bit字段中,前三个子字段默认值是000,默认填充为000。但是在一些特定的场景,例如OSPF协议中网络设备之间交互OSPF相关数据,该字段是有用的
4bit字段:
这四个字段组合在一起,表示了该数据报对应的服务类别,这个应用层的服务类别是不同的。这里所说的服务类别,是指:
1000 – minimize delay ** #最小延迟**
0100 – maximize throughput #最大吞吐量
0010 – maximize reliability #最高可靠性
0001 – minimize monetary cost** #最小费用**
0000 – normal service** #一般服务**
IP首部中的ToS字段,只能表示一种服务类别,也就是:这4bit字段中,最多只能有一个bit字段为1。
看下不同应用下该4bit字段对应的值:
翻译过来就是:
最小延迟,对应于对延迟敏感的应用,如telnet和人login等。
最大吞吐量,对应于对吞吐量要求比较高的应用,如FTP文件应用,对文件传输吞吐量有比较高的要求。
最高可靠性,对网络传输可靠性要求高的应用,如使用SNMP的应用、路由协议等等。
最小费用,如NNTP这种用户网络新闻等。
1bit字段:
这个1bit末尾,没有被使用,必须强制设置为0
总结:
该字段中,正常的IP报文,前3bit的值是000,用不上该优先权子字段;
4bit字段中,表示的是服务类别,并且该4bit字段中,只能有一个bit字段为1;
1bit字段中,该字段未使用但是必须强制为0。
相关文章:
ICMP差错包
ICMP报文分类 Type Code 描述 查询/差错 0-Echo响应 0 Echo响应报文 查询 3-目的不可达 0 目标网络不可达报文 差错 1 目标主机不可达报文 差错 2 目标协议不可达报文 差错 3 目标端口不可达报文 差错 4 要求分段并设置DF flag标志报文 差错 5 源路由…...
算法基础课第二部分
算法基础课 第四讲 数学知识AcWing1381. 阶乘(同余,因式分解) 质数AcWing 866. 质数的判定---试除法AcWing 868. 质数的判定---埃氏筛AcWing867. 分解质因数---试除法AcWing 197. 阶乘---分解质因数---埃式筛 约数AcWing 869. 求约数---试除法AcWing 870. 约数个数-…...
【数据结构】外部排序、多路平衡归并与败者树、置换-选择排序(生成初始归并段)、最佳归并树算法
目录 1、外部排序 1.1 基本概念 1.2 方法 2、多路平衡归并与败者树 2.1 K路平衡归并 2.2 败者树 3、置换-选择排序(生成初始归并段)编辑 4、最佳归并树 4.1 理论基础编辑 4.2 构造方法 编辑 5、各种排序算法的性质 1、外部排序 1.1 基本概…...
抽象工厂模式 创建性模式之五
在看这篇文章之前,请先看看“简单工厂模式”和“工厂方法模式”这两篇博文,会更有助于理解。我们现在已经知道,简单工厂模式就是用一个简单工厂去创建多个产品,工厂方法模式是每一个具体的工厂只生产一个具体的产品,然…...
servlet如何获取PUT和DELETE请求的参数
1. servlet为何不能获取PUT和DELETE请求的参数 Servlet的规范是POST的数据需要转给request.getParameter*()方法,没有规定PUT和DELETE请求也这么做 The Servlet spec requires form data to be available for HTTP POST but not for HTTP PUT or PATCH requests. T…...
【Vue.js】使用Element中的Mock.js搭建首页导航左侧菜单---【超高级教学】
一,Mock.js 1.1 认识Mock.js Mock.js是一个用于前端开发中生成随机数据、模拟接口响应的 JavaScript 库。模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率 总结来说,Element中的Mock.js是一个用于…...
从技术创新到应用实践,百度智能云发起大模型平台应用开发挑战赛!
大模型已经成为未来技术发展方向的重大变革,热度之下更需去虚向实,让技术走进产业场景。在这样的背景下,百度智能云于近期发起了“百度智能云千帆大模型平台应用开发挑战赛”。 挖掘大模型落地应用 千帆大模型平台应用开发挑战赛启动 在不久前…...
简单三步 用GPT-4和Gamma自动生成PPT PDF
1. 用GPT-4 生产PPT内容 我想把下面的文章做成PPT,请你给出详细的大纲和内容 用于谋生的知识,学生主要工作是学习,成年人的工作是养家糊口,这是基本的要求,在这之上,才能有更高的追求。 不要短期期望过高…...
QT设置弹窗显示屏幕中央
Qt设置每次运行弹窗显示屏幕中央 要确保Qt应用程序中的弹出窗口每次都显示在屏幕的中央,您可以使用以下方法: 使用QMessageBox的move方法手动设置窗口位置: #include <QApplication> #include <QMessageBox> #include <QDesk…...
正点原子嵌入式linux驱动开发——STM32MP1启动详解
STM32单片机是直接将程序下载到内部 Flash中,上电以后直接运行内部 Flash中的程序。 STM32MP157内部没有供用户使用的 Flash,系统都是存放在外部 Flash里面的,比如 EMMC、NAND等,因此 STM32MP157上电以后需要从外部 Flash加载程序…...
FPGA的数字钟带校时闹钟报时功能VHDL
名称:基于FPGA的数字钟具有校时闹钟报时功能 软件:Quartus 语言:VHDL 要求: 1、计时功能:这是数字钟设计的基本功能,每秒钟更新一次,并且能在显示屏上显示当前的时间。 2、闹钟功能:如果当前的时间与闹钟设置的时…...
分析各种表达式求值过程
目录 算术运算与赋值 编译器常用的两种优化方案 常量传播 常量折叠 加法 Debug编译选项组下编译后的汇编代码分析 Release开启02执行效率优先 减法 Release版下优化和加法一致,不再赘述 乘法 除法 算术结果溢出 自增和自减 关系运算与逻辑运算 JCC指…...
企业风险管理策略终极指南
企业风险管理不一定是可怕的。企业风险管理是一个模糊且难以定义的主题领域。它涵盖了企业的多种风险和程序,与传统的风险管理有很大不同。 那么,企业风险管理到底是什么?在本文中,我们将确定它是什么,提出两种常见的…...
OpenCV之分水岭算法(watershed)
Opencv 中 watershed函数原型: void watershed( InputArray image, InputOutputArray markers ); 第一个参数 image,必须是一个8bit 3通道彩色图像矩阵序列,第一个参数没什么要说的。关键是第二个参数 markers,Opencv官方文档的说…...
npm 命令
目录 初始化 搜索 安装 删除 更新 换源 查看 其他 补充 1.初始化 npm init #初始化一个package.json文件 npm init -y | npm init --yes 2.搜索 npm s jquery | npm search jquery 3.安装 npm install npm -g #更新到最新版本 npm i uniq | npm ins…...
【bug 记录】yolov5_C_demo 部署在 rv1126
问题1:opencv find 不到 在 CMakeLists 中将正确的 OpenCV库 路径添加到 CMAKE_PREFIX_PATH 变量中 set(CMAKE_PREFIX_PATH “/mnt/usr/local” ${CMAKE_PREFIX_PATH}) 问题2: rknn_api.h 找不到 将该文件从别处复制到项目 include 文件夹 问题3&…...
[vue-admin-template实战笔记]
1.克隆项目 git clone gitgitee.com:panjiachen/vue-admin-template.git 2.安装依赖 npm install 3.运行项目就会自动打开网页,并且热部署插件 npm run dev 4.查看代码 //将vue-admin-template拖入到idea中即可查看代码 1)并且发现,常用的东西已经集…...
unity 限制 相机移动 区域(无需碰撞检测)
限制功能原著地址:unity限制相机可移动区域(box collider)_unity限制相机移动区域_manson-liao的博客-CSDN博客 一、创建限制区域 创建一个Cube,Scale大小1,添加组件:BoxCollder,调整BoxColld…...
Hudi第二章:集成Spark
系列文章目录 Hudi第一章:编译安装 Hudi第二章:集成Spark 文章目录 系列文章目录前言一、安装Spark1、安装Spark2.安装hive 二、spark-shell1.启动命令2.插入数据3.查询数据1.转换DF2.查询 3.更新4.时间旅行5.增量查询6.指定时间点查询7.删除数据1.获取…...
springboot和vue:八、vue快速入门
vue快速入门 新建一个html文件 导入 vue.js 的 script 脚本文件 <script src"https://unpkg.com/vuenext"></script>在页面中声明一个将要被 vue 所控制的 DOM 区域,既MVVM中的View <div id"app">{{ message }} </div…...
docker-compose内网本地安装
1:通过包管理器安装 Docker Compose,请按照以下步骤进行操作: 首先,确保你的系统上已经安装了 Docker。如果尚未安装 Docker,请根据你的操作系统使用适当的包管理器进行安装打开终端,并运行以下命令下载 D…...
ThreeJs的场景实现鼠标拖动旋转控制
前面一个章节中已经实现在场景中放置一个正方体,并添加灯光使得正方体可见。但是由于是静态的还不能证明是3D的,我们需要添加一些控制器,使得通过鼠标控制正方体可以动起来,实现真正的3D效果,由此引入OrbitControls组件…...
jdk 管理工具比对 jEnv jabba SDKMAN
jEnv、jabba、SDKMAN 这三个 JDK 管理工具进行的比对: jEnv: 地址:https://github.com/jenv/jenv 作者:Gildas Cuisinier 最后更新时间:2021年5月26日 开发语言:Shell Jabba: 地址࿱…...
华为云云耀云服务器L实例评测|部署在线图表和流程图绘制工具drawio
华为云云耀云服务器L实例评测|部署在线图表和流程图绘制工具drawio 一、云耀云服务器L实例介绍1.1 云服务器介绍1.2 优势及其应用场景1.3 支持镜像 二、云耀云服务器L实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 drawio3.1 drawio 介绍3.2 Docker 环…...
elementui引入弹出框报错:this.$alert is not defined 解决方案
1.按需引入文件element.js 注意:引入Message,MessageBox两个组件就行,alert包括在MessageBox里面了。 之前我引入了Alert组件,发现不行 2.在vue的prototype里注册伪名字 3.组件里直接调用就行了 4.实现效果 我发现elementui调用…...
docker的组件和资源管理
Docker是一种开源的容器化平台,它提供了一种轻量级、可移植和可扩展的方式来打包、部署和运行应用程序。Docker的构成包括以下几个关键组件: Docker Engine:Docker Engine是Docker的核心组件,它负责管理容器的生命周期和资源隔离…...
SEO的优化教程(百度SEO的介绍和优化)
百度SEO关键字介绍: 百度SEO关键字是指用户在搜索引擎上输入的词语,是搜索引擎了解网站内容和相关性的重要因素。百度SEO关键字可以分为短尾词、中尾词和长尾词,其中长尾词更具有针对性和精准性,更易于获得高质量的流量。蘑菇号-…...
Tomcat以及UDP
一、Tomcat 服务端 自定义 S Tomcat服务器 S :Java后台开发 客户端 自定义 C 浏览器 B 认识一些常用的目录: bin:存放开始和结束的程序 conf:配置文件 lib:组成包 logs:输出日志 webapps&#x…...
NLP 04(GRU)
一、GRU GRU (Gated Recurrent Unit)也称门控循环单元结构,它也是传统RNN的变体,同LSTM一样能够有效捕捉长序列之间的语义关联, 缓解梯度消失或爆炸现象,同时它的结构和计算要比LSTM更简单,它的核心结构可以分为两个部分去解析: 更新门、重置门 GRU的内…...
BUUCTF reverse wp 51 - 55
findKey shift f12 找到一个flag{}字符串, 定位到关键函数, F5无效, 大概率是有花指令, 读一下汇编 这里连续push两个byte_428C54很奇怪, nop掉下面那个, 再往上找到函数入口, p设置函数入口, 再F5 LRESULT __stdcall sub_401640(HWND hWndParent, UINT Msg, WPARAM wPara…...
中国建设银行上海分行网站/莱阳seo排名
大体看了一下,觉得ThinkPHP真是一个不错的框架。我个人认为使用框架最大的好处是:它给你做了很多事情,而且做得很好! ThinkPHP目前版本到了3.2,没敢用最新的,使用3.1作为学习目标,因为资料查阅起…...
邢台经济开发区网站/网络营销策略实施的步骤
利用nginx搭建反向代理 文件位置: /nginx/conf/nginx.conf配置内容: upstream manager.murphymall.com {server IP:端口号; }upstream rest.murphymall.com {server IP:端口号; }upstream www.murphymall.com {server IP:端口号; }upstream search.mu…...
网站用nodejs做后台/线上推广的方法
声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨。可作参考,但不保证绝对正确。如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦 Rect Transform官方文档:https://docs.unity3d…...
做网站空间哪家好/sem和seo
大个儿在写此文之前,问了好多身边关心楼市的朋友以及几位一房一万的粉丝对于今年楼市的看法和总结,其中大部分都认为:感觉除了3月份好像房价一直在跌大个儿拿出了证据(链家真实成交数据)和他们讲:从数据来看…...
做网站要钱的吗/网站查询进入
...
win10系统做mac系统下载网站/怎么建网站平台卖东西
A10_HttpRunner项目结构_04_测试用例中调用接口既然已经独立定义了 API 接口文件,下面在测试用例中就可以直接调用了。调用格式:- test: api: 测试用例如下:- config: name: Get_Master- test: name: 获取主分支 # 调用提前定义好…...