【51CTO.com 综合报道】虚拟化技术是当前企业IT技术领域的关注焦点,采用虚拟化来优化IT架构、提升IT系统运行效率是当前技术发展的方向。
对于服务器或应用的虚拟化架构,IT行业相对比较熟悉:在服务器上采用虚拟化软件运行多台虚拟机(VM---Virtual Machine),以提升物理资源利用效率,可视为1:N的虚拟化;另一方面,将多台物理服务器整合起来,对外提供更为强大的处理性能(如负载均衡集群),可视为N:1的虚拟化。
对于基础网络来说,虚拟化技术也有相同的体现:在一套物理网络上采用VPN或VRF技术划分出多个相互隔离的逻辑网络,是1:N的虚拟化;将多个物理网络设备整合成一台逻辑设备,简化网络架构,是N:1虚拟化。H3C 虚拟化技术IRF2属于N:1整合型虚拟化技术范畴。
1 H3C IRF2虚拟化技术解析
1.1 IRF2技术概要
IRF2源自早期的堆叠技术,H3C或称为IRF1。
IRF1堆叠就是将多台盒式设备通过堆叠口连接起来形成一台虚拟的逻辑设备。用户对这台虚拟设备进行管理,来实现对堆叠中的所有设备的管理。这种虚拟设备既具有盒式设备的低成本优点,又具有框式分布式设备的扩展性以及高可靠性优点,早期在H3C S3600/S5600上提供此类解决方案。
IRF2既支持对盒式设备的堆叠虚拟化,同时支持H3C同系列框式设备的虚拟化(如图1所示):包括S12500,S9500E,S7500E,S5800,S5500,S5120EI各系列内的IRF2虚拟化整合,。
图1 基于IRF22 的虚拟化
IRF2技术的软件体系架构如图2所示。IRF2虚拟化功能模拟出虚拟的设备,设备管理同时管理IRF2的虚拟设备与真实的物理设备,屏蔽其差异。而对于运行在此系统上的上层应用软件来说,通过设备管理层的屏蔽,已经消除了IRF2系统中不同设备物理上的差异,因此,对于单一运行的物理设备或IRF2虚拟出来的设备,上层软件都不需要做任何的修改,并且对于上层软件系统新增的功能,可同步应用于所有硬件设备。
IRF2虚拟化模块:自动进行IRF2系统的拓扑收集、角色选举,并将设备组虚拟成单一的逻辑设备,上层软件所见只是一台设备;
硬件系统:IRF2组内的硬件设备及组件;
设备管理层:提供对线卡、接口等各种设备资源的管理。这里的设备包括对硬件的抽象,也包括通过IRF2虚拟化发现的逻辑设备;
系统管理与上层应用模块:运行在IRF2系统上的所有管理、控制程序,包括各种路由协议模块、链路层协议模块等。
图2 IRF2基本软件架构
IRF2IRF2IRF2IRF2
IRF2作为通用的虚拟化技术平台,对不同形态产品的采用相同技术架构实现,便于整网运行特征一致性、升级能力一致性。#p#
1.2 IRF2的系统管理
拓扑管理
设备上用于IRF2连接的物理端口被称为IRF2端口,它是一种逻辑接口。一个IRF2端口可能对应一个物理端口,也可能由多个物理端口聚合而成(称为聚合IRF2互联口),以达到增强带宽和链路备份的作用。IRF2物理端口之间可以使用专用线缆也可以使用光纤连接:专用线缆可提供更高带宽和较短的连接距离,光纤可提供远距的IRF2虚拟化能力。
如图4所示,IRF2系统连接拓扑有两种:链形连接和环形连接。
图3 IRF2的主要连接拓扑
IRF2系统中的各台设备通过与直接相邻的其它成员交互HELLO报文来收集整个IRF2系统的拓扑关系。HELLO报文会携带拓扑信息,包括连接关系、成员设备编号、成员设备优先级、成员设备的桥MAC等内容。
IRF2成员设备在本地记录自己已知的拓扑信息,拓扑信息通过IRF2互联端口传递,经过一段时间的收集,所有设备上都会收集到完整的拓扑信息(称为拓扑收敛)。此时会进入角色选举阶段,确定成员为Master或者Slave。
角色选举会在拓扑发生变化的情况下产生,比如:IRF2建立、新设备加入、IRF2分裂或者两个IRF2系统合并。角色选举规则如下(按规则次序判断,直到找到唯一的最优成员,才停止选举。此最优成员即为IRF2系统的Master设备,其它设备则均为Slave设备):
1、当前Master优于非Master成员;
2、当成员设备均是框式分布式设备时,本地主用主控板优于本地备用主控板;
3、当成员设备均是框式分布式设备时,原Master的备用主控板优于非Master成员上的主控板;
4、成员优先级大的优先;
5、系统运行时间长的优先;
6、成员桥MAC小的优先。
角色选举阶段Master还会负责成员编号冲突处理、软件版本加载、IRF2合并管理等工作。拓扑与角色选举处理成功后,IRF2系统才能形成和正常运行。
成员管理
通过IRF2连接形成的虚拟设备在管理上可以看作是单一实体,用户使用Console口或者Telnet方式登录到IRF2中任意一台成员设备,都可以对整个IRF2系统进行管理和配置。
Master设备作为IRF2系统的管理中枢,负责响应用户的登录请求,即用户无论使用什么方式,通过哪个成员设备登录IRF2,最终都是通过Master设备进行配置,这种方式可以使IRF2内所有设备的配置保持高度统一。
IRF2系统使用成员编号(Member ID)来标志和管理成员设备,IRF2中所有设备的成员编号都是唯一的。成员编号被引入到端口编号中,便于用户配置和识别成员设备上的接口。
成员设备加入。IRF2系统当发现有新的成员设备加入时,会根据新加入设备的状态采取不同的处理:新加入的设备本身未形成IRF2(如:新成员是新上电,但IRF2已经配置和电缆连接),则该设备会被选为Slave;加入的设备本身已经形成了IRF2运行结构(如:新成员已经在IRF2状态下工作,使用IRF2电缆连接到已有IRF2系统),此时相当于两个IRF2合并(merge),两个系统会进行竞选,竞选失败的一方所有IRF2成员设备需要重启(冗余的网络结构设计已经保证了网络业务承载的不中断性),然后全部作为Slave设备加入竞选获胜的一方。
成员设备离开。正常情况下,直接相邻的IRF2成员设备之间周期性交换HELLO报文。如果持续10周期未收到直接邻居的HELLO报文,则认为该成员设备已经离开IRF2系统,IRF2系统会将该成员设备从拓扑中隔离出来。如果发现IRF2互联端口Down,则拥有该端口的成员设备会紧急广播通知其它成员,立即重新计算当前拓扑,而不用等到HELLO报文超时再处理。
如果离开的是Slave设备,则系统仅仅相当于失去一个备用主控板以及此板上的接口等物理资源;如果离开的是Master设备,则IRF2系统会重新进行选举,选举出的新Master接管原有Master的所有功能。
单台设备离开IRF2系统后会回到独立运行状态,相连的多台设备离开IRF2系统后会形成独立的两个IRF2系统,这种情况称为分裂。
盒式设备IRF2互联形成的虚拟设备相当于一台框式分布式设备,IRF2互联电缆模拟了交换背板,IRF2中的Master相当于虚拟设备的主用主控板,Slave设备相当于备用主控板(同时担任接口板的角色),如图4所示。
图4 盒式设备虚拟化成框式设备
框式分布式设备IRF2互联后形成的虚拟设备也相当于一台框式分布式设备,但该虚拟的框式分布式设备拥有更多的备用主控板和接口板。IRF2中的Master的主用主控板相当于虚拟设备的主用主控板,Master的备用主控板以及Slave的主用、备用主控板均相当于虚拟设备的备用主控板(同时担任接口板的角色),如图5所示。
图5 多框设备虚拟化成更高密度逻辑单框设备
软件管理
IRF2具有自动加载功能。新设备加入时,会与Master设备的软件版本号进行比较,如果不一致,则自动从Master设备下载系统启动文件,然后使用新的启动文件重启,重新加入IRF2系统。#p#
1.3 IRF2对上层控制协议的支撑
IRF2的基本虚拟化思想是将多台设备合并成单台高密逻辑框式设备,因此系统内有多块主控,如何处理好Master主控与众多Slave主控的关系,成为IRF2支撑上层协议处理的关键。
IRF2系统采用的是1:N冗余,即Master负责处理业务,Slave作为Master的备份,随时与Master保持同步。当Master工作异常时,IRF2系统将选择其中一台Slave成为新的Master,接替原Master继续管理和运营IRF2系统,不会对原有网络功能和业务造成影响,
IRF2协议热备份功能负责将各运行协议的配置信息以及支撑协议运行的数据(比如状态机或者会话表项等)同步到其它所有成员设备,与单框设备的双引擎工作方式相似,从而使得IRF2系统能够作为一台独立的设备在网络中运行。
以路由协议为例,如图6所示,IRF2系统与外部网络使用的OSPF路由协议。当Master收到邻居路由器发送过来的Update报文时,一方面它会更新本地的路由表,同时它会立即将更新的路由表项以及协议状态信息发给其它所有成员设备,其它成员设备收到后会立即更新本地的路由表及协议状态,以保证IRF2系统中各个物理设备上路由相关信息的严格同步。当Slave收到邻居路由器发送过来的Update报文时,Slave设备会将该报文交给Master处理。
图6 IRF2的协议处理
当Master故障时,新选举的Master可以在GR环境下无缝的接手系统运行的工作,新的Master接收到邻居路由器过来的OSPF报文后,会将更新的路由表项以及协议状态信息发给其它所有成员设备,并不会影响IRF2中数据转发。这样就保证了当成员设备出现故障的时候,其它成员设备可以照常运行并接管故障的物理设备功能,此时,域内路由协议不会随之出现中断,二三层转发流量和业务也不会出现中断,IRF2系统的GR与单台设备的GR处理流程相同,从而实现了不中断业务的故障保护和设备切换功能。#p#
1.4 IRF2的底层转发实现
图8显示了单台框式设备与外部设备协议交互计算时的底层转发模式。设备通过主控与协议邻居进行协议的状态计算,产生全网的路由信息,然后形成转发表项,由主控下发同步到各接口卡(如图8左图)。在实际报文转发上,当以太网数据进入交换机时,交换机硬件ASIC根据转发表信息和报文头抽取源端口号、转发出端口号、其它信息组装成设备内部数据转发的附加信息头Inner Header,加载在实际以太网报文帧前在设备内部转发(如图7右图)。
图7 单台框式设备的转发方式
对于IRF2结构下的转发,与单框设备的转发机制基本相似。对于多台盒式设备组成的IRF2系统,由Master计算并形成各成员的转发表;对于多台框式设备组成的IRF2系统,由Master设备的主用主控计算生成转发表,各框线卡的转发表均由此主控同步下发。当数据流在IRF2系统的成员设备间转发时,交换机硬件ASIC根据转发表信息和报文头抽取源端口号、转发出端口号、其它信息组装成IRF2系统内数据转发的附加信息头IRF2 Head,并封装在以太网报文前面通过IRF2互联链路转发到其它IRF2成员,便于出方向设备进行正确处理。如图8所示。
图8 IRF2转发模式
IRF2采用分布式转发实现报文的二/三层转发,最大限度的发挥了每个成员的处理能力。IRF2系统中的每个成员设备都有完整的二/三层转发能力,当它收到待转发的二/三层报文时,可以通过查询本机的二/三层转发表得到报文的出接口以及下一跳,将报文从正确的出接口送出去。这个出接口可以在本机上也可以在其它成员设备上,并且将报文从本机送到另外一个成员设备是一个纯粹内部的实现,对外界是完全屏蔽的,即对于三层报文来说,不管它在IRF2系统内部穿过了多少成员设备,在跳数上只增加1,即表现为只经过了一个网络设备。
图9 IRF2跨设备链路聚合的实现
由于IRF2系统已经被虚拟化为一台设备,因此不同物理设备的端口可以被聚合(捆绑)在一起被当作一个逻辑端口,在配置与组网上也与单台设备的端口聚合功能完成相同(如图9上图所示)。但IRF2架构下的链路负载分担与单台设备有差异:对单台设备而言,一组聚合端口为一个逻辑端口,从此逻辑端口出去的数据流完全基于特定HASH (源、目的MAC地址,源、目的IP地址,四层协议端口号) 均衡算法进行流量分配;对IRF2系统来说,可以采用等同于单台设备的流量均衡方式,但此种方式下对IRF2互联带宽有一定要求。目前采用一种基于本地优先转发的方式,如图10下图所示,A和B、C和D为两组IRF2系统,共组成两层网络,两个IRF2系统通过四条链路全连接,此四条链路被聚合成一条逻辑链路。当上游设备流量(如红色线)到达A设备需要向下游转发时,A只将流量在本地聚合组的两个端口成员内以硬件HASH进行流量均衡,B设备也作相同处理,只有当IRF2成员本地没有业务出口(B的下行端口全部故障)时,数据流量才到IRF2的其它成员向下转发。因此就近本地优先转发的机制可充分发挥IRF2成员的性能,并在链路故障时流量自动绕行。#p#
1.5 IRF2分裂检测处理
IRF2系统对外体现为一个整体的交换系统,但由于本身由多台设备组成,也存在由于意外原因导致IRF2系统分裂的可能。IRF2系统分裂后,形成两个或多个相同的逻辑设备:地址相同、配置相同,需要进行检测和进一步处理以消除对网络的影响。
桥MAC变化
IRF2系统作为逻辑单台设备,对外具有唯一的桥MAC(和三层MAC)。IRF2系统建立时,Master设备桥MAC同步到其它成员设备,分裂后,对于非Master所在系统,IRF2系统中其它设备维持该桥MAC不变并选举新的Master,此机制可避免当原Master故障时网络中的邻居设备重新学习MAC。同时IRF2也具有比较灵活的桥MAC处理方式以便于组网变通,目前提供了三种IRF2系统MAC变化的方式可通过配置实现:◆Master离开后,桥MAC立即变化
◆保留6min后变化
◆始终不变
Master检测和分裂处理
IRF2系统分裂后,会在网络中形成两组或多组“完全相同”的设备组,均有相同配置的Active Master,IRF2附加了检测和冲突处理,称为MAD(Multi-Active Detection,即多Active检测)。
图10 IRF2分裂检测方式
检测:通过LACP(Link Aggregation Control Protocol,链路聚合控制协议)或者BFD(Bidirectional Forwarding Detection,双向转发检测)协议来检测网络中是否存在多个从同一个IRF2系统分裂出去的全局配置相同的IRF2,如图11所示。
LACP方式下,H3C进行了扩展开发,在LACP协议报文中增加IRF2 Master ID ,当系统分裂后,分裂后的IRF2系统有各自的Active Master ID,可通过LACP进行传递检测;BFD方式下,也通过在BFD中扩展Master ID来检测冲突。
冲突处理:IRF2系统分裂后,系统会检测到网络中存在多个处于Active状态相同的IRF2系统,Master成员编号小的处于Active状态的IRF2系统会继续正常工作,Master成员编号较大的处于Active状态的IRF2会迁移到Recovery状态:关闭该系统中所有成员设备上除保留端口以外的其他所有物理端口。
故障恢复:IRF2系统通过日志提示用户修复IRF2互联链路,链路修复后,冲突的设备重新启动,恢复IRF2系统,被Down掉的端口将重新恢复业务转发。#p#
2 基于IRF2虚拟化技术的网络横向整合功能
IRF2是一种虚拟化技术,从对提升网络整体效率的角度,起到了一种横向整合的作用,即在不改变网络物理拓扑连接结构条件下,将网络同一层的多台设备横向整合,从逻辑上简化了网络架构。由于整合后的IRF2系统具备跨设备链路聚合功能,因此,不同网络层之间的电缆互联也可通过逻辑整合,多条链路被捆绑成一条聚合的逻辑链路,如图12所示。
图11 IRF2对网络的横向虚拟化整合
IRF2网络架构与传统的网络设计相比,提供了多项显著优势:
1)运营管理简化。IRF2全局网络虚拟化能够提高运营效率,虚拟化的每一层交换机组被逻辑化为单管理点,包括配置文件和单一网关IP地址,无需VRRP。
2)整体无环设计。跨设备的链路聚合创建了简单的无环路拓扑结构,不再依靠生成树协议(STP)。虚拟交换组内部经由多个万兆互联,在总体设计方面提供了灵活的部署能力。
3)进一步提高可靠性。虚拟化能够优化不间断通信,在一个虚拟交换机成员链路故障时,不再需要进行L2/L3重收敛,能快速实现确定性虚拟交换机的恢复。
当前网络建设不断发展,虚拟化成为基础技术,全面虚拟化构建的IRF2网络同时支持包括IPv4、IPv6、MPLS、安全特性、OAA插卡、高可用性等全部交换网络特性,并且能够高效稳定地运行这些功能,大大扩展了IRF2在整网的应用范围。