当前位置: 首页 > news >正文

网络网络层ICMP协议

网络网络层ICMP协议

1. ICMP 协议介绍

ICMP(Internet Control Message Protocol)是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息,提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试(网络通不通、主机是否可达、路由是否可用等网络本身的消息)。 ICMP 并不传输用户数据,而是用来发送错误信息或其他重要的信息给 IP 源主机。

ICMP 也是基于 IP 协议工作的。但是它并不是传输层的功能,因此人们仍然把它归结为网络层协议。ICMP 只能搭配 IPv4 使用。如果是 IPv6 的情况下,需要使用 ICMPv6 。

2. ICMP功能

  1. 确认 IP 包是否成功到达目标地址。
  2. 通知在发送过程中 IP 包被丢弃的原因。

ICMP 允许距离故障事发地最近的主机设备返回应答。 在 IP 协议头中,有一个 TTL 报文最大生存时间,当 IP 报文的 TTL 耗尽,路由器会丢弃该 IP 报文,但也不是直接丢弃,丢弃后会向该 IP 报文的源主机发送一个 ICMP 包,告知该 IP 报文在本路由器的 IP 地址上被丢弃了。

若目的主机因为拔了网线或主机关机等原因,导致路由器的 ARP 请求得不到应答,路由器也会给目的主机发送 ICMP 包,告知源主机该地址不可达。

ICMP 报文会跳过应用层和传输层,直接由网络层发送。

ICMP1

3. ping命令

ICMP 报文会跳过应用层和传输层,直接由网络层发送。 很多网络命令允许跳过传输层,创建 ICMP ,如 ping 命令。

ping 命令不光能验证网络的连通性,同时也会统计响应时间和 TTLping 命令会先发送一个 ICMP Echo Request 给对端,对端接收到之后,会返回一个 ICMP Echo Reply。

注意 ping 命令是直接使用域名,而不是 url,一个域名可以通过 DNS 解析成 IP 地址。ping 本身已经绕过了传输层,所以 ping 命令不关心端口号

4. traceroute 命令

traceroute 也是基于 ICMP 协议实现的命令,它能够打印出可执行程序主机,一直到目标主机之前经历了多少路由器。

安装traceroute:

sudo apt install -y traceroute

ICMP2

相关文章:

网络网络层ICMP协议

网络网络层ICMP协议 1. ICMP 协议介绍 ICMP(Internet Control Message Protocol)是 TCP/IP 协议簇中的网络层控制报文协议。用于在 IP 主机、路由器之间传递控制消息,提供可能有关通信问题的反馈信息。 以及用于网络诊断或调试(…...

当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)

一、问题 遇到个样式问题,当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (拖拽浏览器 使页面变小) 二、解决方法 .father{min-height: 600px;width: 100%;display: flex…...

Vue.js组件开发-如何实现路由懒加载

在Vue.js应用中,路由懒加载是一种优化性能的技术,它允许在需要时才加载特定的路由组件,而不是在应用启动时加载所有组件。这样可以显著减少初始加载时间,提高用户体验。在Vue Router中,实现路由懒加载非常简单&#xf…...

灵活妙想学数学

灵活妙想学数学 题1:海星有几只? 一共有12只海洋生物,分别是5只脚的海星,8只脚的章鱼和10只脚的鱿鱼,这些海洋动物的脚一共有87只,每种生物至少有1只,问海星有几只? 解&#xff1a…...

使用 Multer 上传图片到阿里云 OSS的两种方式

文件上传到哪里更好? 上传到服务器本地 上传到服务器本地,这种方法在现今商业项目中,几乎已经见不到了。因为服务器带宽,磁盘 IO 都是非常有限的。将文件上传和读取放在自己服务器上,并不是明智的选择。 上传到云储存…...

破解合同管理之痛,开启智能化管理新模式

合同管理是采购管理中的一项重要环节,涉及合同洽谈、草拟、签订、生效、履行、失效全过程。随着企业业务规模的发展壮大,企业与各类供应商之间的合作往来更加频繁,需要签署和管理的合同文件也不断增多,如何提升合同管理效率成为企…...

Linux-day06

第14章 进程管理(重点) 进程基本介绍 程序运行起来就是一个进程 1.程序和进程的关系 2.在Linux中有两种方式执行,一种叫前台,一种后台 ps指令详解 显示系统执行的进程 USER:进程执行用户 PID:进程号 …...

源码编译安装httpd 2.4,提供系统服务管理脚本并测试

总结需要安装的包 sudo yum groupinstall "Development Tools" -y #httpd的依赖包yum install tar -y #tar压缩包sudo yum install apr-devel apr-util-devel #APR库 提供跨平台接口的库sudo yum install pcre pcre-devel # PCRE库和 pcre-config工具--提供PCRE库…...

Linux固定ip

进入etc/sysconfig/network-scripts目录 cd /etc/sysconfig/network-scripts 编辑ifcfg-ens33文件 vi ifcfg-ens33 将BOOTPROTO的值改为“static”,在文档最后添加需要的固定IP BOOTPROTO"static" IPADDR192.168.132.136点击按键“esc”,…...

Java 输入输出流(上)

目录 1.Java 输入输出流 2.Java File类 3.Java File类目录 1.创建目录 2.列出目录中的文件 4.Java File类文件 1.文件的创建与删除 2.运行可执行文件 5.Java 文件字节输入流(1) 6.Java 文件字节输入流(2) 1.使用输入流读取字节 2.关闭流 7.Java 文件字节输出流(1…...

mysql、oracle、sqlserver的区别

一、保存数据的持久性: MySQL:是在数据库更新或者重启,则会丢失数据。 Oracle:把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复。 SqlServer:2…...

Java+Maven+GDAL

下载已经编译好的压缩包,下载地址 解压 jar 包 release-1930-x64-dev.zip\release-1930-x64\bin\gdal\java 目录下 打成Maven依赖 mvn install:install-file -Dfilegdal-3.10.1.jar -DgroupIdorg.gdal -DartifactIdgdal -Dversion3.10.1 -Dpackagingjar -Dgener…...

初识算法和数据结构P1:保姆级图文详解

文章目录 前言1、算法例子1.1、查字典(二分查找算法)1.2、整理扑克(插入排序算法)1.3、货币找零(贪心算法) 2、算法与数据结构2.1、算法定义2.2、数据结构定义2.3、数据结构与算法的关系2.4、独立于编程语言…...

【Go】Go Gorm 详解

1. 概念 Gorm 官网:https://gorm.io/zh_CN/docs/ Gorm:The fantastic ORM library for Golang aims to be developer friendly,这是官网的介绍,简单来说 Gorm 就是一款高性能的 Golang ORM 库,便于开发人员提高效率 那…...

【IDEA版本升级JDK21报错方法引用无效 找不到符号】

java: 方法引用无效 找不到符号 符号: 方法 getFirst() 位置: 接口 java.util.List 升级JDK21版本遇到问题,报错找不到符号 但是点进去又能发现这个函数,证明能够找到这个方法,但是就是报错 java: 方法引用无效 找不到符号 符号: …...

Node.js 版本管理工具完全指南

Node.js 版本管理工具完全指南 目录 1. nvm (Node Version Manager)2. n (Node Package Manager)3. fnm (Fast Node Manager)4. Volta5. 工具对比 1. nvm (Node Version Manager) 1.1 安装指南 macOS/Linux # 使用 curl 安装 curl -o- https://raw.githubusercontent.com…...

JavaSE学习心得(多线程与网络编程篇)

多线程-网络编程 前言 多线程&JUC 多线程三种实现方式 第一种实现方式 第二种实现方式 第三种实现方式 常见成员方法 买票引发的安全问题 同步代码块 同步方法 Lock锁 生产者和消费者 常见方法 等待唤醒机制 练习 抢红包 抽奖 多线程统计并求最…...

平均精确率均值(mAP)

mAP(mean Average Precision,平均精确率均值) 并不是传统意义上的“精度”(Accuracy),而是一种专门用于评估目标检测、图像分割或信息检索等任务的性能指标。它更全面地反映了模型在不同类别和不同置信度阈…...

VUE学习笔记1__创建VUE实例

核心步骤 <div id"app"><!-- 这里存放渲染逻辑代码 --><h1>{{ msg }}</h1><a href"#">{{count}}</a> </div><!-- 引入在线的开发版本核心包 --> <!-- 引入核心包后全局可使用VUE构造函数 --> <…...

Inxpect毫米波安全雷达:精准检测与动态保护,工业自动化可靠选择

Inxpect毫米波安全雷达具备“精准检测、动态区域保护、环境适应性”三大核心功能。在工业自动化和机器人系统里&#xff0c;这些功能发挥着重要作用,有助于提升安全性与效率。Inxpect雷达运用毫米波技术&#xff0c;在诸如存在灰尘、烟雾或碎屑等复杂环境中&#xff0c;也能保持…...

数学复习笔记 21

4.15 稍微有点难啊。克拉默法则忘掉了&#xff0c;然后第二类数学归纳法是第一次见。行列式和矩阵&#xff0c;向量和方程组。这是前面四章。现在考研只剩下一个大题。所以就是考最后两章&#xff0c;特征值和二次型。感觉看网课的作用就是辅助理解&#xff0c;自己看书的话&am…...

直播预告 | 聚焦芯必达|打造可靠高效的国产 MCU 与智能 SBC 汽车解决方案

随着汽车电子国产化快速推进&#xff0c;车规级 MCU 与 CAN/LIN SBC 作为车身控制的核心组件&#xff0c;正面临更高的安全与可靠性挑战。品佳集团将携手芯必达微电子&#xff0c;深入剖析国产 MCU/SBC/智能 SBC 的最新技术与应用&#xff0c;助力企业打造高性能、可量产的国产…...

60天python训练计划----day40

DAY 40 训练和测试的规范写法 知识点回顾&#xff1a; 彩色和灰度图片测试和训练的规范写法&#xff1a;封装在函数中展平操作&#xff1a;除第一个维度batchsize外全部展平dropout操作&#xff1a;训练阶段随机丢弃神经元&#xff0c;测试阶段eval模式关闭dropout 一.单通道图…...

华为FreeArc能和其他华为产品共用充电线吗?

最近刚买的FreeArc终于到手啦&#xff0c;看到网上有朋友说&#xff0c;这次的耳机是不附带充电线&#xff0c;开箱后发现果真如此&#xff0c;那FreeArc到底用什么规格的充电线&#xff0c;能不能和华为的Type-C数据线通用&#xff0c;我来给大家解答一下吧&#xff01; Free…...

vue3 ElMessage提示语换行渲染

在 ElMessage.error 中使用换行符 \n 并不会实现换行&#xff0c;因为 ElMessage 默认会将字符串中的换行符忽略。要实现换行显示&#xff0c;可以使用 HTML 标签 <br> 并结合 ElMessage 的 dangerouslyUseHTMLString 选项。以下是实现换行提示的代码示例&#xff1a; i…...

【面试】喜茶Java面试题目

1、自我介绍、项目介绍&#xff1b; 2、equals 和 的区别&#xff1f;如何重写equals方法&#xff1f; 3、Java中的异常体系&#xff1f;运行时异常和非运行时异常的区别&#xff1f; 4、HashMap的底层数据结构&#xff1f;JDK1.7和1.8的区别&#xff1f; 5、线程池的核心…...

Apifox 5 月产品更新|数据模型支持查看「引用资源」、调试 AI 接口可实时预览 Markdown、性能优化

Apifox 新版本上线啦&#xff01; 看看本次版本更新主要涵盖的重点内容&#xff0c;有没有你所关注的功能特性&#xff1a; 自动解析 JSON 参数名和参数值调试 AI 接口时&#xff0c;可预览 Markdown 格式的内容性能优化&#xff1a;新增「实验性功能」选项 使用独立进程执行…...

MySQL 自增主键重置详解:保持 ID 连续性

目录 前言正文 前言 爬虫神器&#xff0c;无代码爬取&#xff0c;就来&#xff1a;bright.cn Java基本知识&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;【Java项目】实战CRUD的功能整理&#xff08;持续更新&#xff09…...

电机控制选 STM32 还是 DSP?技术选型背后的现实博弈

现在搞电机控制&#xff0c;圈里人都门儿清 —— 主流方案早就被 STM32 这些 Cortex-M 单片机给拿捏了。可要是撞上系统里的老甲方&#xff0c;技术认知还停留在诺基亚砸核桃的年代&#xff0c;非揪着 DSP 不放&#xff0c;咱也只能赔笑脸&#xff1a;“您老说的对&#xff0c;…...

JavaScript入门基础篇-day03

一、为什么需要数组&#xff1f; 在我们正式学习数组之前&#xff0c;先思考一个场景&#xff1a;假设我们要记录一个班级50位同学的期末成绩。如果不用数组&#xff0c;代码会是这样的&#xff1a; let score1 85; let score2 92; let score3 78; // ... 要写50个变量&am…...