0
点赞
收藏
分享

微信扫一扫

Ping is ARP or ICMP ?交换机下不同网段的PC可以通?

谷中百合517 2022-01-27 阅读 32

如图,交换机不做任何配置

思考:现在从hostA ping hostB,数据经过什么样的过程?此过程用的是arp协议还是icmp协议?

首先hostA把ping命令的指令以bit的形式通过网线传输到与其相连的交换机端口GE0/0/1,经过交换机GE0/0/1后将bit封装为数据帧......别太微观了,微观的东西不要太较真,要不然都是无用的知识。

重新开始

hostA ping hostB,首先hostA会查看自己的MAC地址表,如果有,直接按照hostA的MAC地址表.........

如果没有,hostA就会向交换机发送ARP广播包,ARP帧报文格式如下:

目的MAC源MACOP发送者MAC发送者IP目标MAC目标IP
FF-FF-FF-FF-FF-FF54-89-98-AA-57-A8154-89-98-AA-57-A8192.168.1.10000-00-00-00-00-00192.168.2.100

(省略了一部分,ARP报文格式详见下图)

OP的值表示

1:表示arp请求
2:表示arp应答
3:表示rarp请求
4:表示rarp应答
 

交换机接收到ARP请求报文后,会查询交换机的MAC地址表,如果有hostB的MAC地址,直接返回给hostA;

如果没有,交换机就会向所有端口泛洪ARP广播,其他端口上的主机发现以后,如果目标不是自己,就会丢弃报文;直到hostB主机接收到了报文以后,就会响应hostA的MAC地址,同时学习主机hostA的MAC地址,并按照同样格式的ARP报文返回给hostA

hostB返回的ARP帧报文:

目的MAC源MACOP发送者MAC发送者IP目标MAC目标IP
54-89-98-AA-57-A854-89-98-2E-10-82254-89-98-2E-10-82192.168.2.10054-89-98-AA-57-A8192.168.1.100

hostA收到hostB返回的ARP帧后,就学习到了hostB的MAC地址,这个时候就可以发送icmp报文

目的地址 源地址...目标IP源IP...icmp报文
54-89-98-2E-10-8254-89-98-AA-57-A8192.168.2.100192.168.1.100icmp request

hostB收到hostA的icmp报文之后回复

目的地址 源地址...目标IP源IP...icmp报文
54-89-98-AA-57-A854-89-98-2E-10-82192.168.1.100192.168.2.100icmp reply

由以上过程可以看出来,ping是先通过ARP协议获取到目标MAC地址后,就可以具备ICMP协议4要(源目IP源目MAC)的条件,再发送ICMP协议。

细心的已经发现hostA和hostB所在网段不一样,为什么还可以ping通呢?

举报

相关推荐

0 条评论