一、虚拟交换机技术发展
随着用户接入带宽从10M提速至100M,各类互联网、物联网等海量终端及应用从网络边缘接入承载,作为互联网应用、电信自营及关键业务综合承载网络,IP城域网面临着流量倍增、IPv4地址枯竭、承载需求差异化、网络弹性和安全性不足等问题,亟待引入IPv6/SDN/NFV/虚拟化等系列技术对网元部署、网络架构及网络可控等方面进行优化和调整。
近年来随着信息化的飞速发展,越来越多的学者开始研究虚拟化网络,虚拟交换机成为了通信发展的趋势,目前网络服务器已经具备支持虚拟机的功能, 服务器的虚拟化促进了机房网络的虚拟化,当实体服务器被精简化、合并到虚拟平台,利用虚拟化技术复用到真实物理设备,形成虚拟交换机等组件提供网络服务。相对于传统交换机来说,虚拟交换机在数据链路层上拥有更简洁的网络功能,未来虚拟交换机将成为构建虚拟网络平台的核心。
二、虚拟交换机技术简介
1.虚拟交换机原理
根据拓扑结构可知,虚拟交换机技术的原理相对简单,就本质而言,该项技术就是在逻辑上集成多台物理连接的交换机。该项技术的特点在于通信的可靠性更强,工作效率也得到提升,系统的带宽容量也得以增加。与传统交换机相比,虚拟交换机不仅可以使STP、VRRP协议运行要求的负载均衡与冗余得以实现,同时也能够对网络设备数量进行缩减,简化网络架构,以此缓解系统管理维护的压力。虚拟交换机技术的工作原理图如下所示:
在虚拟交换机技术的应用模式下,通过对SW1与SW2、SW3与SW4、SW5和SW6进行虚拟化,使其向一台逻辑交换机转换,即SWA、SWB、SWC。就SWB而言,其中的SW3与SW4可以视为与同一台交换机WSA连接,这一过程对EtherChannel技术加以运用,在负载均衡与冗余的实现上,消除了对STP与VRRP协议的需求,如此一来,网络中交换环路就得以避免,有效简化了网络。
2.拓扑收集
在拓扑收集中,虚拟交换机的每个成员对拓扑关系的收集都以相互转发报文与相邻成员为依托。每个成员的的相关拓扑信息共同组成了报文,例如设备编号、优先级、成员桥MAC地址、相邻连接关系与系统运行时间等等。
每台设备自己已经学习到的拓扑信息会在本地主用主控板的帮助下进行记录,如此一来,就可以有效管理每个成员。起初只对本地的拓扑信息进行记录,而在虚拟交换机端口起来后,就可以根据以下流程,对整个系统的拓扑进行有效收集:
(1) 对于已经收集的拓扑信息,已经起来的虚拟交换机端口会对其进行周期性的发送;
(2) 在接收到的拓扑信息的参考下,相邻交换机会对自身记录的拓扑信息进行更新;
(3) 两块主控板对拓扑信息记录的相同性非常关键,为了实现这一点,本地手机的拓扑信息与系统中其他成员设备中的备用主控板会在主用主控板的操作下实现同步。
3.角色选举
通过拓扑收集流程之后,每台成员设备拥有的拓扑信息就具有完整性,这一过程又被称为拓扑收敛,而拓扑收敛完毕后,就需要进行角色选举。当拓扑发生变化时,例如建立虚拟交换机系统、成员的加减、虚拟交换机合并或分裂等等,虚拟交换机系统中的各成员设备会在选举报文的相互转发之下,将一个Master或Slave的确定的角色分配给每个成员设备。关于角色选举的规则遵循以下六点:
(1) 当前Master比非Master占优;
(2) 如果成员都属于框式分布的情况,那么与本地备用主控板相比,本地主用主控板占优;
(3) 在框式分布的情况下,原Master的备用主控板比原Slave成员设备的主控板占优;
(4) 成员以优先级大的占优;
(5) 系统运行时间长的占优;
(6) 成员桥MAC地址小的占优。
在Master设备的选举过程中,以上述规则按照顺序为依据,对唯一成员设备进行选举,对Master进行确定,剩下的成员则为Slave。
4.管理与维护
在完成角色选举之后,全部设备成员对一个配置同步并对整个虚拟交换系统成员编号进行管理、对所有成员资源进行管理与维护的Master设备。
(1) 配置同步
在建立好虚拟交换机系统后,主要涉及到的内容包括两个过程,即初始化批量同步与运行实时同步。
1) 批量同步
一旦多台设备组合在角色选举下对Master设备进行选定后,虚拟交换机系统由此得以形成,Master设备先对本地的启动配置程序进行运行,然后同步配置多台Slave设备,当虚拟交换机系统建立起来之后,就意味着完全了全部设备的配置。
当虚拟交换机系统中加入了新的成员设备,那么首先会将Slave的角色分配给它,Master将配置在批量同步的形式下完成批量同步,本地配置文件并不会启动。
2) 实时同步
在组建好虚拟交换机系统后,以Master设备作为系统管理者,对用户使用所需的成员设备配置进行操作,并反映出用户使用需求。在Master设备的管理下,用户配置会在其他Slave设备实现同步,如此一来,虚拟交换机内部的Master与Slave设备配置的实时同步就得以实现,并以单一网络设备的形式存在于网络运行过程中。
(2) 成员编号
为了提高虚拟交换机系统运行中的标记与管理水平,需要对所有成员进行编号。以接口编号在虚拟交换机成员编号信息中的添加为例,针对一般的单台集中式交换机而言,会采用一维格式来表示接口编号,以1为初始值。当多台交换机向一台进行虚拟转化之后,初始值就会被成员编号值做替代。
针对单台分布式设备,一般会以三维的格式来表示接口编号,例如GigabitEthernet1/1/1。虚拟交换机的组建会使接口编号发生变化,即GigabitEthernet2/1/1。在接口编号中不仅会引入成员编号,文件系统管理的应用也同样如此。因此,所有设备成员编号在虚拟交换机系统中都具有唯一性。
当成员编号出现相同的情况时,或者系统内成员编号冲突于新加入的设备,那么就会影响到系统管理秩序,虚拟交换机系统的建立则无法实现,或者系统无法引入新成员设备。为了解决这一问题,应在系统组建之前,统一规划并配置好成员编号,同时建立好相关机制以处理设备间编号的冲突,为成员编号的唯一性提供强有力的保障。
(3) 拓扑维护
拓扑维护主要涉及到两方面内容,即设备的不断增加与减少,针对这些情况,对拓扑的更新至关重要。
1) 成员设备的加入
在增加成员设备方面,如果有新设备想加入到虚拟交换机系统,那么需要根据设备状态,选择相应的系统处理机制。当虚拟交换机系统没有通过新加入的设备而形成,那么就需将Slave的角色分配给该设备。
当虚拟交换机系统通过加入设备而形成,那么就属于合并了两个虚拟交换机,此时两台设备就需要以角色选举规则为依据展开竞选,竞选成功的话,那么就等于部分端口与备用主控板增加,而失败的话在重启系统后,设备都会被分配Slave的角色并加入到系统中。
2) 成员设备的离开
在成员设备的离开方面,如果相邻设备直接连接,那么当有故障出现于一台或两台设备之间时,另一台设备就会在第一时间内向系统中其他设备传播前一台设备离开的信息。而两台相邻设备属于跨接或者其他无法直接连接的情况,那么当有故障出现于一台设备或链路中时,另一台设备对前一台设备的离开的判定只能够以系统设备间的实时报文超时为依据,并向系统内其他设备进行信息的传播。
一旦设备离开得以确定,还需要以拓扑信息为依据,对离开设备的角色进行判定。如果离开的角色属于Master,那么所有设备就需要在角色选举下对本地拓扑进行更新,而离开的设备属于Slave,那么可以对拓扑进行直接更新,角色不需要进行重新选举。
三、虚拟交换机技术实现方式
1.级联模式
两台或两台以上的交换机通过光纤或者双绞线将RJ-45端口连接起来,这种方式称为级联。当拓扑是总线型时,使用普通端口进行级联即可。当拓扑为星形时,则需要专门的级联端口Uplink端口。总线型的优势在于传输距离,而星形的优势在于网络带宽的保持。级联最大的作用还是体现在延长传输距离上,比如在10Base-T、100Base-TX和1000Base-T以太网中,通过级联的方式,网络传输距离最大能够达到200米。
通过上面可以看出,级联的实现还是比较简单的。但由于级联层数的增加,会影响网络的效率,特别是最后一层的信号延迟会越大。因此,级联技术在实现时,不仅要消除网络内的环路,提供有冗余链路,还得将控制级联的层数,一般不超过4层。
同时,当级联的交换机增加时,除了要对各台在逻辑上独立的交换机进行管理配置,还得考虑网络转发过程中产生的瓶颈问题。所以总的来说,级联技术一定程度上解决了传输距离和端口的需求,但整体性能表现不算太好。实际上级联技术只是增加了可用的端口数量,没有在拓扑逻辑方面对网络设备进行简化,对整体网络性能的提升来说没有太大作用。
2.堆叠模式
堆叠技术是将多台交换机上专用的堆叠模块通过专用的堆叠电缆,组合在一起,已提供更多的可用端口和容量。不同于级联的是,堆叠后组成的单元在逻辑上是可以被看做一台交换机来对其进行控制和管理的。这大大减少了管理和维护过程中的工作量。但堆叠技术的兼容性不高,不同品牌之间互相不能实现堆叠。
一般来说,堆叠技术可分为菊花链堆叠和星型堆叠这两种模式。
(1) 菊花链堆叠模式
菊花链堆叠方式和前一节提到的级联方式特别相近,不过连接时还是需要专门的堆叠线缆,设备间连接方式如下图。但事实上这种方式必须要采用STP生成树协议,不然很容易引起广播风暴。当菊花链堆叠中任何一台设备或者链路出现状况,会需要重新运行STP协议,因此会造成网络中断。同时,若采用这种方式,设备间数据互相传输的路径太长,造成效率太低。
综合来说,菊花链堆叠方式同级联一样,主要的贡献还是在可用端口数量的增加,甚至在单端口效率上还远低于级联技术。而且在传输距离上也只能是在一个几家内实现,这方面远不如级联技术。因此大多数情况下很少采用菊花链堆叠方式。
(2) 星型堆叠模式
相对于菊花链式堆叠,星形堆叠的性能要优越得多。所谓星型堆叠就是通过高速堆叠端口将所有设备上行连接到主设备的基于专门集成电路的硬件交换堆叠中心。该单元交换容量一般在10~32G左右,这就对堆叠层数进行了限制。
在星型对堆叠示意图(上图)中,由于所有Slave的堆叠模块都集中上联到Master设备的堆叠中心,所以只需要三次交换就可以实现任何两个端节点之间的数据转发。相当于Master设备跟所有Slave设备只相差一级。这大大提高了系统各成员之间的转发速率和单端口数据转发效率。
除此之外,在拓扑逻辑当中,所有堆叠在一起的设备共享一个IP地址,即对外呈现为一台设备单元。这有利于堆叠设备的管理和维护。但是星型堆叠的距离一般不能超过2米,用于提高带宽的Matrix接口又不具有通用性。同时,用作实现堆叠的专门的堆叠专用端口不能用来连接其他网络设备。
通过上述分析可以得知,传统的堆叠技术虽然可以提供更多的可用端口和较好的带宽,管理维护方面也相对方便。但基本只能在同一个机架内实现,连接距离较短,且兼容性较差。
3.集群模式
集群技术实际上是级联技术和堆叠技术的结合版。通过集群技术,不仅可以拥有像级联技术一样的连接距离,还拥有堆叠技术的带宽和较高的转发效率,在逻辑上也可被作为单一单元进行管理和维护。集群技术的运用,不仅可以动态收集维护拓扑信息,对成员交换机进行升级和管理,还大大节省了IP资源。
集群交换系统主要有负责集群建立、管理和维护的命令交换机,负责接受管理的成员交换机,负责为命令交换机备份的备份交换机,还有可以加入系统变为成员的候选交换机这四种角色。
一般使用的协议主要有用来发现相邻设备的邻居发现协议,用来管理合维护集群系统拓扑的拓扑手机协议,以及用来实现系统建立、增减成员、更新配置等管理功能的集群管理协议。集群系统建立后,各成员交换机会定时通过握手报文的方式,将自己当前的状态上报给命令交换机。
再通过命令交换机的命令,调整自己的状态。除此之外,集群管理还设置了命令从定向功能。命令定向功能是指命令交换机发出的命令可定向发送到某一特定的成员交换机上,而不需要对整个网络进行广播,这也大大提高了系统的运行效率。
虽然能大大减少管理维护的工作量,但集群技术也不是完美的。特别是在兼容性方面,不同厂家在实现集群时一般都拥有自己的专用协议。这就意味着不同的厂家设备之间不能实现集群,但可以级联。甚至是同一厂家生产的设备,也不是所有型号之间都能随意实现集群,也是要有固定的型号才可以。
四、IP城域网虚拟交换机技术应用实例
下面以某地市(该地市大约拥有30万宽带用户,其中有14万左右IPTV用户,峰值用户数量为20万左右,并有3500户专线用户。)为实例,对虚拟交换机在IP城域网中的应用进行介绍。具体涉及到的a、b、c三个节点存在汇聚层交换机端口资源匮乏的问题,维护难度较大。现在该网络中对虚拟交换机的引入进行尝试,并执行以下规则:
1.本工程虚拟交换机节点的设置应与业务控制层相同;
2.对于用户数大于6万,且收敛比不低于40%的节点,其对虚拟交换机的引入予以优先考虑;
3.单节点对两台S12系列交换机进行设置,在二虚一技术的支持下,使两台交换机热备得以实现;
4.原有接入业务可向新增的S12系列交换机进行逐步割接。
现阶段,城域网主要以网络设备N:1虚拟化为依托,初步构建出资源池,在网络设备1:N虚拟化操作下,使网络资源的再分配得以完成,同时在网络路径虚拟化技术的支持下,使端到端的网络虚拟化部署得以实现。
该节点城域网虚拟交换机运行时间已超过一年,其稳定性相对较高,相较于预期效果,虚拟机网络运行性能状况比较理想。通过引入虚拟交换机技术,故障率得到有效控制,运维工作量也得到缩减,链路与端口得到充分利用,在总体投资成本上体现出了较大的优势。与此同时,随着后期城域网的发展,运行速度的大幅度提升也由此成为可能。
五、虚拟交换机技术应用缺陷
不可否认的是,目前虚拟交换机技术的应用依旧存在一些缺陷,需要我们对此展开深度研究,提出有效的改进对策,推动虚拟交换机技术的发展。
基于目前的现实问题,未来运营商的城域网改造可以分为三个阶段:
一是网络虚拟化,减少网络层级,将城域网更加的扁平和简单。
二是构建资源池,经过第一阶段虚拟化,原本分散式的节点被聚拢为几个大的网络节点,已经具备一定的成池能力,二阶段可以引入 NFV 和云计算技术,比如虚拟化防火墙、虚拟化 BRAS(宽带接入服务器)以及虚拟化 SR 等等,逐渐实现城域网的云化和软件化。
三是基于城域网中大 POP 节点做进一步的性能增强,比如解决原有节点收拢集中后的业务标签不足问题,进一步引入网络虚拟化、功能虚拟化以及动态虚拟通道技术等等,以此完善城域网中大 POP 节点的业务能力。