跨VLAN的通信方法
VLAN的两个重要属性是:一个VLAN构成一个广播域;一个VLAN等于一个逻辑的子网。而在连网所用的设备中只有路由器可以分割广播域(或者说隔离广播),路由器也是为不同网络之间通信进行路由和交换数据的设备。所以,从这个角度来说VLAN之间的通信也需要路由器作为中间设备。
通常,使用IP地址规划网络时,通过路由器连接不同的网络使他们之间能够互相访问,这么做面临的问题是如何让主机把要到达外网的数据发送给路由器,解决这个问题的方法是在主机上设置缺省网关。缺省网关实际上是一台路由器,主机将去往非本地网络的数据包发送给它,由它将数据路由到目的地。
既然一个VLAN也是一个网络,那么一个VLAN内的主机如果要和其他VLAN的主机通信,也应该像上述方法一样找一台路由器作为它们的缺省网关,由路由器为它们转发数据。这样的解决方法有两种,一种是交换机外接一台路由器,该路由器专门为VLAN间通信服务,这种方法称为外部路由方法。另外一种是使用一台具有多层交换功能的高端交换机,该交换机具有路由功能。相对于单独外接一台路由器方式来说,这种方法称为内部路由方法。
以上是从三层角度分析,VLAN间的通信需要路由器,从二层角度分析,VLAN间的通信也需要路由器更改数据帧中的标记。例如,当VLAN3的主机和VLAN4的主机通信时,携带标记3的数据从连接VLAN3的路由器接口进入,经路由之后需要从连接VLAN4的接口送出,此时如果数据的标记仍然是3,那么交换机收到后就认为是VLAN3的数据帧,不会把它转发到VLAN4中,这样VLAN3和VLAN4之间仍然不能通信。为了能够让VLAN3的数据到达VLAN4,路由器在送出数据之前必须更换标记,把3改为4。这样交换机才认为是VLAN4的数据,并把它转发到正确的目的地。