一、问题思考
之前做vlan划分实验的时候,就有一个疑问:为什么不同网段的主机可以连在同一个交换机上呢??(下图PC1-PC3)
我们知道只要是通过交换机所连接的主机都处于同一个广播域,但是不是同一网段又不能直接通信(需要借助路由器或者三层交换等),只能同一网段才能直接通信;
之前查的资料(错误)结合的思考:在没有vlan划分和路由器的情况下,交换机工作原理就是mac表,只要有对应mac就可以实现直接通信。PC1和PC2通信,PC1发出ARP报文广播,PC2直接回复报文实现通信
二、问题再思考:(其实之前的资料整理也不能说服我自己)
不同网段不可以直接通信,通信必须借助三层设备转发:防火墙/三层交换机/路由器
PC1在将要对PC2发出报文时,就会判断PC2是否是同一网段,如果不是同一网段,就直接将数据包单播发给网关,如果不知道其mac,发ARP请求网关的mac,网关进行转发
如果是同一网段就可以直接交换机二层转发,arp缓存表没有mac,就发arp广播
所以即使连在同一网段上也不能直接交换机通信的原因是:主机在发出的时候就进行网段是否相同的判断了,从而决定了目的mac是单播还是广播(ARP广播就是二层广播)
三、通信条件
- 上一点提到,不同网段在同一交换机上通信需要借助三层设备,所以说如果不同网段直接连在同一交换机,如果交换机不接入三层设备,不可能实现通信
- 接入三层设备的实现互通方法
1)虚拟子接口
2)Vlan划分:三层交换或者路由器单臂路由实现
为什么是虚拟子接口:拿单臂路由来说,出去只有一条线,路由器如何通过不同网段进行转发呢,所以得虚拟出子接口,每个接口配置不同的ip等参数,实现转发;三层交换也是差不多的原理,通过进入vlanif口配置不同ip,配置链路上允许通过的VLAN,实际上也是一种虚拟接口吧
三层交换应该是优于单臂路由的配置的,因为三层交换的接口非常多,通过允许VLAN在多条链路上可以通过,所以流量可以多条通过,相对单臂路由一条,压力过大有点优势吧,况且路由器口也特别少一般几个,交换机一般24/48个