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

编程入门 行业动态 更新时间:2024-10-20 01:37:21

【<a href=https://www.elefans.com/category/jswz/34/1771439.html style=网络协议】聊聊ICMP与ping是如何测试网络联通性"/>

【网络协议】聊聊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 使用差错报文。

更多推荐

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

本文发布于:2023-12-05 21:18:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1665332.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网络   协议   测试   ICMP   ping

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!