概述我们都知道不同网段的PC之间要实现互通 , 中间必须要接个具有三层功能的设备 , 因为只有三层设备(通常是路由器)才能在不同的网段之间查找路由 , 实现跨网段互访 , 如下图所示:

文章插图
PC通过路由器实现跨网段通信
但是如果将拓扑图中的路由器换成二层交换机 , 就没有办法互访了 , 小伙伴有没有想过其中的原因呢?我也是回答了一个悟空问答 , 梳理它们之间的通信流程以后才知道的 , 今天和大家分享一下!
不同网段之间通信【窥探PC不能通过二层交换机跨网段通信原因:估计你想不到】拓扑

文章插图
PC和二层交换机连接图
- PC1和PC2配置不同的网段 , PC1的网段是192.168.1.0/24, PC2的网段是192.168.2.0/24;
- PC1配置的网关是192.168.1.1 , PC2配置的网关是192.168.2.1;
- PC1想要访问PC2 。
PC1配置:只配置IP、网关、掩码;

文章插图
PC1配置
PC2配置:和PC1类似 , 只是网段不同;

文章插图
PC2配置
二层交换机配置:将和PC1、PC2相连的接口配置在同一个VLAN里(VLAN2);

文章插图
同一个VLAN
访问过程
当PC1访问PC2 , 发现PC2和自己不在同一个网段 , 所以就会把报文发送给网关 。PC1配置的网关地址是192.168.1.1 , PC1首先会在自己的ARP表项中查询192.168.1.1对应的mac地址 , 如果下图所示:

文章插图
结果发现PC1中没有网关对应的MAC , 就会发送ARP Request去请求其MAC , 格式如下:

文章插图
ARP 请求
此时网络中没有任何设备配置为192.168.1.1 , 所以没有人回复 。
这样PC1永远都获取不到网关的MAC , 而获取不到网关的MAC , 就没有办法给网关发送数据 , 因为发送数据需要二层MAC封装三层数据;
这样就进入一个死循环 , PC1在第一步获取网关MAC地址时就被阻塞了 , 根本还没有给PC2发送任何数据 , 更谈不上通信 。
访问结果
PC1和PC2不能互通 , 不同网段之间使用二层交换机不能通信 。

文章插图
无法访问
疑问解惑估计有的小伙伴看到这里 , 会有疑问 , 交换机收到PC1发送的ARP请求以后 , 会转发给PC2 , PC2回复不就行了 。的确PC2能够收到PC1发送的ARP报文 , 但是这个ARP请求报文 , 请求的target IP对象并不是PC2 , 而是网关 , 所以PC2肯定不会回复 , 不然世界就乱了 。
还有小伙伴会说:如果PC1能够直接请求PC2的MAC , 那么这两台PC之间不就可以通信了?这想法是好的 , 但是PC1却不会这么做 , 因为按照规则 , 不同网段之间的通信 , 必须要通过网关 , 不会直接向PC2发送请求的 。
查看交换机的MAC地址表 , 已经学习到PC1的MAC地址 。

文章插图
交换机MAC地址表
总结各位小伙伴看到这里明白了吗?不同的网段之间的PC通过二层交换机通信 , 直接在获取网关的时候就阻塞了 , 后面更不可能通信了 , 这点应该好多人想不到:)
如果有疑问 , 欢迎在文章下面留言讨论 , 也非常关注我的头条号 , 一起讨论网络问题!
推荐阅读
- 为何大量网站不能抓取?爬虫突破封禁的6种常见方法
- 三伏天吃雪糕的危害 入伏不能吃雪糕吗
- 茶和饭食搭配有禁忌 哪些不能与茶同食?
- 睡觉不用枕头
- 金平蝴蝶谷秀峰茶叶品牌项目通过验收
- 2022年春节七天饿了么能不能叫外卖,饿了么外卖春节放假吗
- 杨利伟上太空前时 杨利伟返回地球后为何不能再上天
- 车上放空气清新剂安全 空气清新剂能不能长时间放车里
- 翡翠|为啥不能选一片绿
- 被子能不能在阴天晒 被子不翻面能被晒透吗
