近来参加了不少医院网络方案的讨论和评标活动,在几乎所有医院的方案中都或多或少地采用了虚拟局域网(VLAN)技术,但笔者发现大多数方案中的VLAN设计都存在一个共同且致命的缺陷,那就是VLAN跨越网络的核心。本文就这个问题谈一谈自己的看法,供同行们参考。

  VLAN相互受影响

  根据VLAN的定义和技术规范,VLAN不是由独享的物理设备和物理链路搭建的物理子网或网段,VLAN与实实在在的物理子网的本质区别在于,VLAN之间要共享物理设备和物理链路,因此,VLAN间就会通过所共享的设备和链路相互影响。这种影响是如何产生的呢?VLAN是通过将一个物理拓扑中的两个或多个节点通过逻辑组合而形成的,要想实现这种逻辑的组合就必须使用支持VLAN的交换设备,但真正提供VLAN功能的是这些设备内部的软件。也就是说,VLAN所构造的子网(广播域)是软件实现的,而不是由网络拓扑所决定的。网络拓扑仅对由软件所建立的VLAN有所限制。

  知道了VLAN的工作原理,就不难解释VLAN间的影响了,同一交换机上的不同VLAN要共享交换机、要争夺交换机的CPU和背板资源。VLAN对交换机和链路的共享可分为两种类型:一种是“广播共享”,即VLAN划定的广播域贯穿共享设备和链路(如图1所示),换句话说广播共享是二层的共享。另一种我们称之为“路由共享”,也可以说是三层共享,在这种类型的共享中,不同VLAN的数据包是以路由(三层交换)方式穿过交换机的(如图2中虚线所示),通过的包基本上不含有一般的广播包(DHCP和特殊协议的广播除外)。VLAN在“广播共享”网络资源时的相互影响要比“路由共享”时更大。

huicdss

  从图1可清楚地看出所共享的网络资源(交换机和链路)。在正常情况下,VLAN间的这种影响不被我们所注意,原因是共享的交换机有足够的交换能力,链路不是很拥挤,但在某一VLAN出现异常时(如感染病毒或出现环路)情况就不同了。这时被感染VLAN(如VLAN1)中的大量数据帧将挤占该VLAN所及的所有交换机的CPU资源、背板带宽,并长时间占用物理链路,其他VLAN(如VLAN2)中的设备尽管“看”不到出现异常VLAN中的数据帧,但其所依赖的网络资源已被用尽,因此,VLAN1所覆盖的网络区域就会出现异常。如果故障点发生在核心交换机附近,那么整个网络就有可能瘫痪。这在各网络拓扑层交换机的性能相差不多的情况下尤为严重。