ping 是怎么工作的

网络好不好,ping 一下就知道。以下记录一下ping的过程是如何做的。

ping是基于ICMP协议工作的,ICMP全称Internet Control Message Protocol  就是互联网控制报文协议。这里面的关键词是“控制”,那具体是怎么控制的呢?

ICMP报文是封装再IP包里面的,因为传输指令的时候,肯定需要源地址和目标地址。它本身非常简单,因为作为侦察兵,要轻装上阵,不能携带大量的包袱。
ICMP 报文有很多类型们不同的类型有不同的代码,最常用的类型是主动请求为8,主动请求的应答为0

查询报文类型

常用的ping就是查询报文、是一种主动请求,并且获取主动应答的ICMP协议,所以PING发出的包也是符合ICMP协议格式的,只不过它在后边增加了自己的格式。
对ping 的主动请求,进行网络抓包,称为ICMP ECHO REQUEST。同理主动请求回复,称为ICMP ECHO REPLY 。比起原生的ICMP,这里多了两个字段,一个是标识符,用来区别用途。一个是序号
以侦察兵为例,主帅派出两队侦察兵,一队是侦查战况,一队是查找水源的,标识符就用来区分这个责任的;派出的侦查兵都需要有个编号,比如派出10个,回来2个,那么说明情况不妙,这是序号的作用。
在选项数据中,ping还会存放发送请求的时间值,来计算往返时间,说明路程的长短。

差错报文类型

终点不可达为3:
具体错误原因用不同的代码表示,网络不可达:0;主机不可达:1;协议不可达:2;端口不可达3;还有8种,不一一列举。
源抑制为4:让源站放慢发送速度。
超时为11:超过网络包的生存时间还没有到。
路由重定向是5;下次发给另一个路由器。


差错报文的结构相对复杂,除了前面还是IP,ICMP的前8个字节不变,后面则跟上出错的那个IP包的IP头和IP正文的8个字节。


ping 查询报文类型的使用:
下图是ping的发送和接收过程。


 


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值