前言:对于ping命令,用来查看网络情况
主要检查两个指标:
第一点查看是否超时
第二点看看是不是延迟太高
如果超时那么肯定是网络有问题(禁ping情况除外);如果延迟太高,网络情况肯定也是很糟糕的
接下来介绍ping命令的原理,以及ping是如何检查网络的!!
环境准备和抓包
- 环境准备
抓包工具:Wireshark准备两台电脑,进行互ping操作
- A电脑(ip地址 192.168.2.135 / MAC地址 98:22:EF:E8:A8:87)
- B电脑(ip地址 192.168.2.179 / MAC地址 90:A4:DE:C2:DF:FE)
-
抓包工具
打开Wireshark,选取指定的网卡进行抓包,进行ping操作,在A电脑上pingB电脑的IP
image.png
此处只做文本记录
介绍wireshark面板
- No :编号
- Time :包的时间戳
- Source:原地址
- Destination: 目标地址
- Protocol:协议
- Length:包长度
- Info: 数据包附加信息
深入解析
ping命令依托于TCP或者UDP这层传输层协议,而不是依托于ICMP 协议实现的
- ICMP协议的产生背景
由于互联网通讯会涉及很多网关和主机,为了能够报告错误,所以产生了ICMP协议,也就是说ICMP协议就是为了更高效的转发ip数据报和提高交付成功的机会
- ICMP协议头包含四个字节
-
头部主要用来说明类型和校验ICMP报文
对应的类型,代码释义列表,在后面抓包的时候用到
接下来介绍ARP协议
在同一个局域网中,计算机通信实际上是依赖于MAC地址进行通信的,那么ARP(addressResolutionProtocol)的作用就是根据ip地址查找出对应的MAC地址
ping过程解析
流程:
- A电脑(1192.168.2.135)发起ping请求 ping 192.168.2.179
- A电脑广播发起ARP请求,查询192.168.2.179的MAC地址
- B电脑应答ARP请求,向A电脑发起单向应答,告诉A电脑自己的MAC地址
- 知道Mac地址,开始进行真正的ping请求,由于B电脑可以根据A电脑发送的请求知道源Mac地址,根据源Mac地址响应
ping四次请求和响应结束后,还有一次B电脑对A电脑的ARP请求
- 由于ARP有缓存机制,为了防止ARP过期,结束后重新更新ARP缓存,保证下次请求能去往正确路径。如果
网友评论