2024年5月10日发(作者:)
问题:随便找一台交换机,2台PC的IP地址不一样,能否ping通?
看似简单的问题,却包含多种可能的结果。让我们来一一分析。
1、首先我们先说理想状态(即:交换机为普通二层交换机,无任何策略,PC上无病
毒,无防火墙软件)。这样的两台PC接在交换机上配置不同的IP地址,是否能PING通呢?
主要有以下几种情况:
A、两PC配置同一子网IP地址。如PC1---192.168.0.1/24 PC2---192.168.0.2/24
PC1 ping PC2 ,首先PC1自身先进行与运算(将目的IP地址与自己的子网掩码相
与)来判断对方是否和自己属于同一网段,PC1发现PC2与自己属于同一网段。那么PC1
发送ARP请求,去请求192.168.0.2这个IP所对应的MAC地址。目的MAC地址为“全
F”,则交换机会向所有接口转发此报文。PC2收到请求后对PC1报文进行回应,并且在自
己的ARP表项里添加PC1的ARP条目。相互学习到对方的IP MAC对应关系。然后进行
ICMP协议的通信。
结果:能PING通
B、两PC配置不同子网IP地址。如PC1---192.168.0.1/24 PC2---192.168.1.1/24
PC1 ping PC2 ,PC1自身先进行与运算(将目的IP地址与自己的子网掩码相与)来
判断对方是否和自己属于同一网段,运算完毕后发现网络位不一致,PC1认为PC2与自己
不属于同一网段,则不会对PC2发送ARP请求,而是转向把数据包丢向网关,去做路由
处理。
结果:不能PING通
C、两PC配置不同子网IP地址,但是两子网之间重叠(有包含与被包含关系)。如
PC1---192.168.0.1/16 PC2---192.168.0.2/24
PC1 ping PC2 ,PC1自身先进行与运算(将目的IP地址与自己的子网掩码相与)来
判断对方是否和自己属于同一网段,把192.168.0.2和255.255.0.0相与,得到
192.168.0.0 ,是和自己同一网段,则发送ARP请求。后续的通信过程与A种情况相同。
结果:能PING通
D、两PC配置不同子网IP地址,如PC1---192.168.1.1/16 PC2---192.168.0.2/24
这种情况属于比较特殊的情况,PC1 ping PC2将目的IP地址与自己的子网掩码相与,
认为对方和自己属于同一网段。则发送ARP请求,PC2收到后给出回应。双方能够互相学
习到ARP条目。PC1继而发出ICMP请求,PC2收到请求后,将PC1的IP地址与自己的
子网掩码相与,发现不属于同一网段,会把数据包丢向网关,去做路由处理。因此PC1收
不到ICMP应答。如果PC2去ping PC1,则与B种情况相同。
结果:不能PING通,但PC1 ping PC2时,可以互相学习到MAC地址。
E、两PC配置不同网段IP地址,如PC1---172.16.1.1/24 ,PC2---172.16.0.1/24 各
自的网关指向自身,即IP与网关相同。PC1 ping PC2网关代理了PC1的ARP请求,而
此时网关的地址即为PC1的IP。从而两台PC全部通过代理完成了ARP的交互。 继而ICMP
报文可以彼此送达对方。
发布评论