1、简述
一般我们用 ping查看网络情况,主要是检查两个指标:
第一个是看看是不是超时
第二个看看是不是延迟太高
如果超时那么肯定是网络有问题(禁 ping情况除外);如果延迟太高,网络情况肯定也是很糟糕的。
2、协议
ICMP
(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议
,用于在IP主机、路由器之间传递控制消息
。
ICMP 协议
就是为了更高效的转发 IP数据报
和提高交付成功的机会。
ARP协议
,在一个局域网
中,计算机通信实际上是依赖于 MAC地址
进行通信的,那么 ARP( AddressResolutionProtocol)的作用就是根据 IP地址查找出对应的 MAC地址。
3、Ping过程解析
(1)A 电脑( 192.168.2.135)发起 ping请求
, ping192.168.2.179
(2)A 电脑广播发起 ARP
请求,查询 192.168.2.179的 MAC地址。
(3)B 电脑应答 ARP请求
,向 A电脑发起单向应答,告诉 A电脑自己的 MAC地址为 90:A4:DE:C2:DF:FE
(4)知道了 MAC地址后,开始进行真正的 ping请求
,由于 B电脑可以根据A电脑发送的请求知道 源 MAC地址
,所以就可以根据源 MAC地址
进行响应了。
学习链接:https://mp.weixin.qq.com/s/DfQT3Vw2xaq60YIil-7Yxw
4、ping过程详细描述
(1)同一网段
两者位于同一网段
(用网络掩码计算后具有相同的网络号),那么源主机发送arp请求
广播报,请求目的主机的mac地址
,在收到目的主机的ARP应答
后获得对方的物理层(MAC)地址
,然后用对方MAC
作为报文的目的MAC
进行报文发送。位于同一VLAN(网段)中的主机互访时属于这种情况,这时用于互连的交换机作二层交换转发;
(2)不同网段
当源主机判断目的主机与自己位于不同网段
时,它会通过网关(Gateway)来递交报文
,即发送ARP请求
来获取网关IP地址对应的MAC
,在得到网关的ARP应答后,用网关MAC作为报文的目的MAC进行报文发送。
跨网通信中,ping报文的源、目的IP地址没有变化(对于网络层);而源、目的MAC的址随着不同设备间转发的过程而变化。
学习链接:https://blog.csdn.net/alexsjr/article/details/80974817
5、mac地址与IP地址
mac地址
是物理地址是数据链路层和物理层使用的地址;
IP地址
是网络层及其以上层使用的地址。
数据在网络中传输:
连接在通信链路中的设备(主机或路由器)
在收到MAC帧时,根据MAC帧的首部中的硬件地址决定收下或丢弃
。只有在剥去MAC帧的首部和尾部后把数据上传给网络层后,网络层在IP数据报的首部中找到源IP地址和目的IP地址
。
既然主机之间的连接最终通过MAC地址连接的为什么还要IP地址呢?
答:(1)ARP用来寻找同一个局域网中的主机
,同一个局域网的ip地址的网络号相同
。每个主机的ip地址并不固定,mac地址固定,最终归结于根据目标主机的mac地址寻找。
(2)不同局域网的主机通信时,通过IP地址的网络号
可以减少查找的次数
,快速找到目标主机。
学习链接:https://blog.csdn.net/kenjianqi1647/article/details/81636898