【网络协议】聊聊ICMP与ping是如何测试网络联通性

ICMP协议格式

ping是基于iCMP协议工作的,ICMP全称Internet Control Message Protocol,就是互联网控制报文协议。其实就是有点类似于古代行军打仗,哨探进行前方探明具体情况。
IMCP本身处于网络层,将报文封装在IP包里,因为需要有源地址和目标地址,所以整体内容格式简单。
在这里插入图片描述
最常用的类型是主动请求为 8,主动请求的应答为 0。

查询报文类型

查询类的报文其实主动发起,比如连接服务器不通,使用ping xxx。去测试网络是否联通。主动请求是ICMP ECHO REQUEST,主动请求的响应是 ICMP ECHO REPLY,还有序号,标记那个请求返回来的数据。
在这里插入图片描述

差错报文类型

差错报文类型其实就是网络等出现异常情况主要如下几种情况

  • 终点不可达
    • 网络不可达、主机不可达、协议不可达、端口不可达等情况。
  • 源站抑制 : 发送端发送的速度太快
  • 时间超时:网络超过规定时间,比如设置30S超时,但是服务端31S返回的成功。但是对于调用方来说超时了。
  • 路由重定向:在网络中下次发送给另一个路由器。

ping:查询报文类型的使用

整个流程其实先构建一个ICMP请求包,类型是8,然后有对方的IP地址,到IP层添加上对应的源和目的IP地址。MAC添加对应的目标MAC和源MAC。如果在ARP表中存储的有MAC地址,直接使用,否则的话,就需要通过IP地址先通过ARP请求查找到对应的IP地址的MAC,等目标IP地址确认是发送给自己的数据。就会把数据一层层拨开,然后返回应答响应,类型是0,最终会收到对应的信息。
在这里插入图片描述
ping 这个程序是使用了 ICMP 里面的 ECHO REQUEST 和 ECHO REPLY 类型的。

Traceroute:差错报文类型的使用

Traceroute 的第一个作用就是故意设置特殊的 TTL,来追踪去往目的地时沿途经过的路由器。

小结

本篇主要介绍了PING使用的底层协议类型,一种是主动探查的查询报文,一种一场报告的差错报文。Ping使用查询报文,Traceroute 使用差错报文。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云原生Docker数据管理

目录 Docker的数据管理 数据卷 数据卷容器 容器互联 容器中管理数据主要有两种方式: 数据卷(Data Volumes)数据卷容器(Data Volume Dontainers) Docker的数据管理 数据卷 数据卷是一个供容器使用的特殊目录&a…

视频编辑不求人,教你一招制胜批量添加封面

视频添加封面是一个相当简单的任务,您只需要一款专门的软件,就能轻松搞定!下面就是详细教程啦! 首先,您需要在浏览器中搜索“固乔智剪软件”,进入官网并下载这款软件。固乔智剪软件是一款非常专业的视频剪辑…

免费领取!TikTok Shop “全托管”黑五大促官方备战指南来啦!

黑五网一大促即将来袭,自“全托管”模式上线以来,TikTok for Business在沙特阿拉伯和英国市场开展了古尔邦节大促、夏季大促、返校季大促等活动,今年更是会借着黑五网一大促之际,首次覆盖美国市场,为全托管商家带来全球…

账号合租平台源码Thinkphp6.1|内置详细搭建教程

小白账号合租平台说明 系统采用的是常见的租号平台模式,现在网络上流出的这种类型的源码还很少 平台介绍 1.租号模式,用户可自行选择单独租号或采用合租的模式。 2.支付,采用易支付通用接口 3.邀请返利,为了站长能更好推广推荐了邀请返利功能 4.用户提现功能 5.工单…

laravel框架介绍(一)

laravel框架是一套简洁,优雅的PHPWeb开发框架。

2023IG新功能大整理,更多玩法助力营销推广

作为当今全球最为受欢迎的社交媒体之一,Instagram在2023年迎来了一系列重要的功能更新。学习了解Instagram的最新功能,以及如何高效利用这些新的功能和工具,对于跨境品牌在该平台上实现营销推广至关重要。今天给大家详细介绍 Instagram在2023…

Godot 官方2D C#重构(2):弹幕躲避

前言 Godot 官方 教程 Godot 2d 官方案例C#重构 专栏 Godot 2d 重构 github地址 实现效果 技术点说明 异步函数 Godot的事件不能在Task中运行,因为会导致跨线程的问题。 //这样是不行的,因为跨线程了,而且会阻塞UI线程,具体原因…

开关电源检测的技术标准和安全标准是什么?纳米软件为您介绍

开关电源总体技术标准 1. 外观:元器件排列整齐、美观、结构合理,焊点均匀饱满、明亮、光滑、无尖刺,焊接牢固。PCB板铜条无脱落、外露、无毛刺、飞边、变形。 2. 输入电压:110VAC/DC或220VAC/DC或380VAC三相20%;或85~264VAC全范围…

银行卡二要素API:支付交易的必备工具,保障支付安全

引言 随着数字支付的普及,支付交易的安全性成为了金融领域的一项关键挑战。在这个背景下,银行卡二要素API崭露头角,成为了一种不可或缺的工具,用于确保支付交易的安全性。本文将深入探讨银行卡二要素API是如何成为支付交易的必备…

SpringMVC - 详解RESTful

文章目录 1. 简介2. RESTful的实现3.HiddenHttpMethodFilter4. RESTful案例1、准备工作2、功能清单3、具体功能:访问首页a>配置view-controllerb>创建页面 4、具体功能:查询所有员工数据a>控制器方法b>创建employee_list.html 5、具体功能&a…

1024 CSDN 程序员节-知存科技-基于存内计算芯片开发板验证语音识别

前言 在今年的 CSDN 程序员节上,我参与了这次知存科技举办的一个 AI Workshop 小活动——“基于存内计算芯片开发板验证语音识别”,并且有幸成为完成任务的学习者之一XD。上一次参与类似的活动是算能公司举办的“千校万里行”AIGC 大模型编译部署活动&a…

关于Mysql中的索引与事务

索引 定义 索引:为了提高查找效率而使用的一种数据结构把数据组织起来,可以把索引理解在书的目录或字典的检索表(拼音检索) 索引是一种特殊的文件,可以包含着对数据表里的所有记录的引用指针,对表中的一…

layui框架实战案例(21):layui table单元格显示图片导致复选框冗余的解决方案

图片自适应表格CSS 为防止单元格内的图片不能正常显示,需本地重写CSS。 /*layui-table图片自适应*/ .layui-table-cell {height: auto;line-height: 20px;}.layui-table-cell img {height: 50%;max-width: 50%; }列代码 , cols: [[{type: checkbox,fixed:left, w…

ZooKeeper+HBase分布式集群环境搭建

安装版本:hadoop-2.10.1、zookeeper-3.4.12、hbase-2.3.1 一、zookeeper集群搭建与配置 1.下载zookeeper安装包 2.解压移动zookeeper 3.修改配置文件(创建文件夹) 4.进入conf/ 5.修改zoo.cfg文件 6.进入/usr/local/zookeeper-3.4.12/zkdata…

postgresql14-用户与角色(二)

介绍 查看 SELECT rolname FROM pg_roles;postgres是系统初始化时默认创建的角色,为超级管理员。 \duList of rolesRole name | Attributes | Member of ------------------------------------------------------…

Django结合Celery进行异步调用

目录 Celery介绍 相关环境 相关配置 1、在proj/proj/目录下创建一个新的celery.py模块 定义 Celery 实例: 2、在proj/proj/__init__.py 模块中导入这个应用程序。 3、在各自模块中定义任务文件tasks.py 4、settings.py配置 服务启动 异步调用 Celery介绍 C…

k8s-----4、yaml文件,做资源编排和资源对象部署

yaml文件 1、YAML 文件概述2、YAML 文件书写格式3、资源清单描述方法4、yaml文件编写4.1 没有真正部署资源的过程4.2 资源已经存在的时候 5、yaml文件中必须存在的属性 1、YAML 文件概述 k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML&#xff0…

Navicat 与清华大学校企合作交流会圆满落幕

2023 年 10 月 17 日,Navicat 中国与清华大学召开了校企合作交流会。2021 年年底,清华大学正式加入 Navicat 学术伙伴计划。本次会议旨在进一步促进学校信息化发展与服务能力,加强计算机以及相关学科的教学、专业实践与学术研究的综合能力。 …

Linux基础命令1——Linux的命令格式与命令分类

目录 Linux命令格式 Linux命令分类 如何判断命令的类型——Type命令 内置命令 外部命令 alias命令 命令的执行效率与过程 Linux命令格式 命令格式 完整的命令格式分为三部分:命令、参数、对象 其中命令与参数、参数与参数、参数与对象之间最少要有一个空格做…

栩栩如生,音色克隆,Bert-vits2文字转语音打造鬼畜视频实践(Python3.10)

诸公可知目前最牛逼的TTS免费开源项目是哪一个?没错,是Bert-vits2,没有之一。它是在本来已经极其强大的Vits项目中融入了Bert大模型,基本上解决了VITS的语气韵律问题,在效果非常出色的情况下训练的成本开销普通人也完全…