几乎每一名网工及弱电工程师都遇到过网络不通的情况,通常判断标准是以外网连通性及Ping测试得出结果,而ping属于ICMP协议中的一个工具。今天讲一下ICMP个协议。文末为本周福利。兄弟们记得看完哦。

因特网控制消息协议:ICMP 为控制层面协议;IPv4协议为面向无连接协议,而ICMP是协助IPv4,用于检测三层网络的连通性、差错提示和路径优化(重定向Redirect)。

报文封装:Ethernet2/IPv4/ICMP/FCS(IP协议号1)

注:Type:类型  Code:编码  checksum:ICMP报文校验

ICMP消息类型和编码类型(Code);目的不可达报文、源端抑制报文、超时报文、参数问题、改变路由、回送请求和回答、时间戳请求和回答、地址掩码请求和回答、路由询问和通告;部分如下:

Ping命令:Echo Request 回声请求

Echo Reply   回声应答

Traceroute命令:路由跟踪

报文封装:Ethernet 2/IPv4/UDP/Traceroute/FCS UDP 端口号33434

原理:Traceroute 命令用TTL字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。首先Traceroute送出一个TTL是1的IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,分组改写引擎将TTL减1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),Traceroute收到这个消息后,便知道这个路由器存在于这个路径上,接着Traceroute 再送出另一个TTL是2 的数据包,发现第2 个路由器...... Traceroute 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个数据包抵达目的地。当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息,一旦到达目的地,由于Traceroute通过UDP数据包向不常见端口号33434发送数据包,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

注:Traceroute 1.1.1.1 source 2.2.2.2 指定源地址Traceroute目的地址,思科带源Traceroute的源地址必须是该路由器的接口地址,防止DDOS攻击。

往期推荐

MySQL中使用“utf8”的坑有多少人遇到过,下次注意记得用“utf8mb4”

为啥微信有扫一扫登录,而我们没有?从0到1搞定扫码登录(附源码)

面试官:请你说说k8s 和 Docker的区别?

架构师:关系型数据库设计技巧?

面试官:给我讲讲你的项目是怎么性能优化的?

怎么样通过Nginx实现限流?

非常nice的分布式事务方案总结

精髓!深入浅出剖析12个Zookeeper知识点

12306 支撑百万 QPS 的核心秘诀!

MyBatis 的执行流程,面试的时候用得上

高频 MySQL 面试题,看看是不是都会了?

网络不通使用的PING命令是用的什么协议?相关推荐

  1. 手机有软件测试网络通不通,怎样使用ping命令测试网络通不通

    怎样使用ping命令测试网络通不通 本文介绍ping命令的使用,可以测试网络是否连通及传输数据的.接收情况. 怎样使用ping命令测试网络通不通 1.win7系统打开开始菜单,在搜索框中输入cmd,然 ...

  2. 25、网络必备知识:Ping命令的7个基础用法,掌握了贼厉害

    系统. 当然,我们今天主要了解并不是这些,而是ping的其它参考. ping命令除了直接ping网络的ip地址,验证网络畅通和速度之外,它还有这些用法. 二.ping -t的使用 不间断地Ping指定 ...

  3. 必备的网络常用测试命令(ping命令)

            ping(Packet InterNet Groper分组因特网探测器) 它是一个可以检查两个主机之间连通性的DOS命令,利用网络上机器IP地址的唯一性,给目标IP地址发送一个ICMP ...

  4. C#Ping命令【因特网控制消息协议ICMP】

    ICMP协议 ICMP(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议簇的一个子协议,用于在IP主机.路由器之间传递控制消息.控 ...

  5. ping命令使用介绍及怎样使用Ping命令来测试网络连通性

     转载:http://blog.csdn.net/star_xiong/article/details/17320473 ping命令使用介绍及怎样使用Ping命令来测试网络连通性 一.ping命 ...

  6. 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?

    本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言 老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是使用 ...

  7. ping命令详解 ping不通处理方法

    概述: Ping命令是一种用来测试ip层网络层可达的命令,属于icmp层的探查消息.当网络访问出现故障时,用来执行测试网络导通性,根据ping的结果回显来判断问题可能在哪里? ping命令发出包是ic ...

  8. ping 命令使用代理_网络检测知识篇:ping命令使用知识,你知道几点?

    Ping命令其实是一个非常好的网络故障诊断工具,相信阅读完本文对大家一定有些帮助.如果大家网络遇到问题,不妨试试以下方法. 首先使用Ping命令诊断本地TCP/IP协议是否安装正常,检测方法如下: 从 ...

  9. ping命令 ——测试主机间网络连通性

    ping命令 --测试主机间网络连通性 一.ping命令 1.概述 2.格式 3.常用参数 4.实例 ①.检查连通性 ②.仅仅连ping 5次后停止 ③.设置ping 5 次,每次间隔0.5秒 ④.p ...

最新文章

  1. 舞伴问题数据结构java_Gale-Shapley算法解决舞伴问题过程详解(C++实现)
  2. how to come in an investnent bank team
  3. boost::static_mutex 的测试程序
  4. 边缘计算、区块链、5G,哪个能走的更远
  5. 借助 SAP 电商云 Spartacus UI 提供的 Schematics 辅助您的前端项目升级
  6. c++ map iterator 获取key_JAVA | Map集合使用详解
  7. pcb过孔漏铜_【企业资讯】大正瑞地:专注PCB药水二十年,品质、性能可靠
  8. 论文浅尝 | WWW2020 - 知识图谱中的实体摘要:算法、评价和应用 (PPT)
  9. SHIFT后门拿服务器之方法总结
  10. dnp服务器未响应,PTP时间戳精度
  11. Java中,native2ascii.exe 的使用(最简单说明)
  12. mysql查询记录总数_MySQL记录总条数实现查询优化
  13. Sublime Text编辑器设置中文
  14. 关于ASO优化刷榜、冲榜、维榜、锁榜科普百科
  15. 数学建模——相关系数(1)——皮尔逊相关系数(Person)
  16. 泛微OA系统远程命令执行漏洞
  17. 中石油布局天然气商储 天然气国家储备有望
  18. Linux内核--链表结构
  19. HTML进阶(2)- 在页面中使用flash
  20. Greenplum数据库查看表倾斜的方法总结

热门文章

  1. java怎样投简历 面试成功率高_java程序员们什么时候投递简历成功率最高?这是一个细致活!...
  2. 博弈论 1.Introduction(组合游戏基本概念、对抗搜索、Bash游戏、Nim游戏)
  3. Python Scarpy Crawl Dmoz Settings
  4. linux中白屏变黑屏咋变,解决 APP启动白屏黑屏问题
  5. 泛微OA自开发初始应做哪些
  6. 基于HarmonyOS的华为智能手表APP开发实战——Fitness
  7. ubantu 16.4升级到 18.04
  8. 七大排序----SevenSort(希尔排序)
  9. Spring学习-Spring核心技术(九)
  10. 什么是指用计算机,cat是指计算机的什么