解析PING 命令丢包情况

一.实验目的

通过抓包,分析为什么PING命令会丢包

 

二.实验拓扑

PING命令解析_PING

三.实验步骤

1.首先关闭R1R2的路由功能,并为R1R2E0/0接口配置IP,子网掩码

2.R2E0/0接口抓包,查看为什么R1 PING R2时会丢包

 

四.实验内容

R1

R1#configure terminal

R1(config)#hostname PC1

PC1(config)#no ip routing

PC1(config)#interface ethernet 0/0

PC1(config-if)#ip address 1.1.1.1 255.255.255.0

 

R2

R2#configure terminal

R2(config)#hostname PC2

PC2(config)#no ip routing

PC2(config)#interface ethernet 0/0

PC2(config-if)#ip address 2.2.2.1 255.255.255.0

 

1.查看PC1PC2MAC地址并查看MAC地址表

PC1

PING命令解析_PING_02


PC2

PING命令解析_PING_03


1.PC2E0/0接口抓包,并用PC1 PING PC2

PING命令解析_ 命令解析_04

抓包结果

PING命令解析_PING_05

PING命令解析_ 命令解析_06

PING命令解析_PING_07

我们可以看到,一开始PC1 PING PC2时,发送的是ARP包,询问谁是1.1.1.2,因为二层通信是基于MAC地址的,二层设备不能识别IP地址,所以PC1要发一个ARP广播帧,寻找1.1.1.2MAC地址,而这个ARP包的包头里面包含了源目MAC,源MAC就是PC1MAC地址,目标MAC则是全F,因为是广播包,而数据包里面则是源目MAC,源目IP

MAC就是PC1MAC地址,目标MAC则是全0,由收到数据包的一端补充,源IPPC1IP地址,目标IP则是PING的地址,当PC2收到这个ARP广播帧时,发现目标MAC是全F,就接收,拆开数据帧,发现目标IP也是自己,而目标MAC则是0,就会将自己的MAC地址补充上,发给PC1,这时,因为有PC1MAC地址和IP地址,发给PC1是将是单播,同时,PC2会记录PC1MACIP,生成ARP映射,所以,第一次PING时,会发生丢包现象