一种虚拟网络设备管理方法及装置与流程

文档序号:11803069阅读:340来源:国知局
一种虚拟网络设备管理方法及装置与流程
本发明涉及网络通信技术,尤其涉及一种虚拟网络设备管理方法及装置。

背景技术:
虚拟网络设备技术通常用于将多个物理设备虚拟为一台网络设备,从而提高网络设备部署的可扩展性,达到保护用户过往投资的目的。申请人提出的IRF(IntelligentResilientFramework,智能弹性架构)就是一种流行虚拟网络设备。IRF技术通过将多台设备借由IRF物理端口连接在一起,进行必要的配置后,虚拟化成一台“分布式设备”。IRF包括多个成员设备,成员设备有两种角色:Master设备(主设备)以及Slave设备(从设备)。Master设备负责整个IRF的运行、管理和维护;Slave设备主要用于处理业务和作为Master设备的备份。该技术主要有以下几个优点:1.管理简化:IRF形成之后用户通过任意成员设备的任意端口都可以登录IRF系统,对IRF内所有成员设备进行统一管理;因此在管理操作上,相较于传统网络设备更加灵活。2.高可靠性:一旦Master设备故障,其他Slave设备会迅速自动选举新Master设备,以保证业务不中断,从而实现了设备的1:N备份。成员设备之间的IRF链路支持聚合功能,多条链路之间可以互为备份也可以进行负载分担,从而进一步提高了IRF的可靠性。3.扩展能力强:通过增加成员设备,可以快速地提高整个IRF的业务处理能力。在实际运行过程中,IRF系统通常将经历物理连接、拓扑收集、角色选 举、IRF的管理与维护四个阶段。成员设备之间需要先建立IRF物理连接,然后会自动进行拓扑收集和角色选举,完成IRF的建立,此后进入IRF的管理和维护阶段。IRF的连接拓扑有两种:链形连接和环形连接。链形连接对成员设备的物理位置要求比环形连接低,主要用于成员设备物理位置分散的组网。环形连接比链形连接更可靠。因为当链形连接中出现链路故障时,会引起IRF分裂;而环形连接中某条链路故障时,会形成链形连接,IRF的业务不会受到影响。在IRF中,每个成员设备和邻居成员设备通过交互IRFHello报文来收集整个IRF的拓扑。IRFHello报文会携带拓扑信息,具体包括IRF端口连接关系、成员设备编号、成员设备优先级、成员设备的桥MAC等内容。每个成员设备参与IRF控制层面的操作是由本地主用主控模块负责的。每个成员设备在本地记录自身已知的拓扑信息。设备刚启动时,本地主用主控模块只记录了自身的拓扑信息。当IRF端口状态变为up后,本地主用主控模块会启动拓扑收集操作,经过一段时间的收集,所有成员设备都会收集到完整的拓扑信息。此时会进入角色选举阶段。IRF中角色选举会在以下情况下进行:IRF建立、Master设备离开或者故障、IRF合并等。在角色选举完成后,IRF形成,进入IRF管理与维护阶段。角色选举完成之后,IRF可投入运作,所有的成员设备组成一台虚拟设备存在于网络中,所有成员设备上的资源归该虚拟设备拥有并由Master设备统一管理。如果某成员设备故障或者IRF链路故障,其邻居设备会立即将"成员设备离开"的信息广播通知给IRF中的其它设备。获取到离开消息的成员设备会根据本地维护的IRF拓扑信息表来判断离开的是Master还是Slave,如果离开的是Master,则触发新的角色选举,再更新本地的IRF拓扑;如果离开的是Slave,则直接更新本地的IRF拓扑,以保证IRF拓扑能迅速收敛。然而由于角色选举是自动进行的,因此在IRF出现链路故障等意外情况时,有可能会导致一个IRF分裂为多个新的IRF。比如说一个链型拓扑从中 间分裂开,或者一个环形拓扑同时发生两个链路故障等。这些新IRF会使用原有的IRF配置,这就会导致多个新IRP使用相同的IP地址等三层配置,显然这会引起IP地址冲突,使得单点故障引发整体网络问题。为了解决上述问题,现有技术提出了MAD(Multi-ActiveDetection,多Active检测)技术来应对。MAD技术通常会通过LACP(LinkAggregationControlProtocol,链路聚合控制协议)、BFD(BidirectionalForwardingDetection,双向转发检测)、ARP(AddressResolutionProtocol,地址解析协议)或者ND(NeighborDiscoveryProtocol,邻居发现协议)等各种协议来检测网络中是否存在多个IRF。多Active检测这个问题不仅仅是IRF所面临的挑战,同样是其他基于其他技术架构的虚拟网络设备所面临的问题。目前虽然已经有了比较丰富的解决Active冲突检测和处理的机制,然而这些现有的技术还面临以下的各种各样的困境(仍然以IRF为例):在成员设备之间交互的IRF协议报文,经由IRF成员设备间IRF链路来传输,这无疑会占用该链路上级联数据通道的带宽;尤其是IRF链路拓扑发生变化时,大量协议报文会冲击需要跨框转发(也就是跨成员设备转发)的数据报文的转发处理。虽然现有的MAD检测技术可以尽量避免多个新IRF冲突(也就是多Active冲突)的问题,但这些MAD技术通常都有各自应用场景的限制,并且是可能要消耗更多系统资源(比如IP地址等)或者转发带宽。请参考图1,对于LCAPMAD方式而言,组网中需要使用支持LACP协议扩展功能的中间设备。请参考图2,对于BFDMAD而言,所有成员设备之间必须有一条BFDMAD检测链路,这些链路连接的接口必须属于同一VLAN,在该VLAN接口视图下给不同成员设备配置同一网段下的不同IP地址。请参考图1的组网方式,对于ARPMAD而言,与LCAP方式不同的是,ARPMAD不需要中间设备支持LCAP,但是却需要中间设备、Master和Slave上都要配置生成树功能(STP),以防止形成环路。此外,当IRF检测到其他Active状态(业务有效状态)的IRF时,为了避免冲突,需要关闭某些IRF成员设备的所有业务端口,使之处于Recovery状态(业务禁用状态),这种处理流程可以避免问题向网络中扩散,但是目前的MAD术没有较好的算法来选择需要设置为Recovery状态的IRF成员设备。同时对于Recovery状态的IRF成员设备,必须重启该IRF成员设备才可以重新建立IRF连接。

技术实现要素:
有鉴于此,本发明提供一种虚拟网络设备管理装置,应用于虚拟网络设备中的成员设备上,其中成员设备包括级联数据端口以及级联控制端口,成员设备的级联数据端口与邻居成员的级联数据端口通过级联数据链路相连以提供级联数据通道;该成员设备的级联控制端口与邻居成员的级联控制端口通过级联控制链路相连以提供物理上独立于该级联数据通道的级联控制通道;该装置包括:第一故障感知单元,用于在级联数据通道上感知到虚拟网络设备发生故障且分裂为多个新虚拟网络设备时向第一控制单元发送分裂通知;第一控制单元,用于通过级联控制通道与其他成员设备进行控制交互;其中第一控制单元进一步用于在本成员设备作为新虚拟网络设备的主设备时,根据第一故障感知单元发送的分裂通知,通过级联控制通道与其他新虚拟网络设备的主设备交互各自所属虚拟网络设备的有效性控制信息;并在收到来自其他虚拟网络设备的有效性控制信息后根据预设的有效性协商规则确定本虚拟网络设备的状态,若确定本虚拟网络设备为业务有效状态,则保持本虚拟网络设备中各成员设备的业务处理能力,若确定本虚拟网络设备的状态为业务禁用状态,则将本虚拟网络设备中各成员设备的业务处理去使能。本发明同时提供一种虚拟网络设备管理方法,应用于虚拟网络设备中的成员设备上,其中成员设备包括级联数据端口以及级联控制端口,成员设备 的级联数据端口与邻居成员的级联数据端口通过级联数据链路相连以提供级联数据通道;该成员设备的级联控制端口与邻居成员的级联控制端口通过级联控制链路相连以提供物理上独立于该级联数据通道的级联控制通道;该方法包括以下步骤:步骤A、在级联数据通道上感知到虚拟网络设备发生故障且分裂为多个新虚拟网络设备时发送分裂通知;步骤B、通过级联控制通道与其他成员设备进行控制交互;步骤C、在本成员设备作为新虚拟网络设备的主设备时,根据分裂通知,通过级联控制通道与其他新虚拟网络设备的主设备交互各自所属虚拟网络设备的有效性控制信息;步骤D、在收到来自其他虚拟网络设备的有效性控制信息后根据预设的有效性协商规则确定本虚拟网络设备的状态,若确定本虚拟网络设备为业务有效状态,则保持本虚拟网络设备中各成员设备的业务处理能力,若确定本虚拟网络设备的状态为业务禁用状态,则将本虚拟网络设备中各成员设备的业务处理去使能。相较于现有技术而言,本发明大大简化了多Active冲突的处理,在优选的方式中,还充分兼容现有的处理机制,与现有的处理机制互为备份,同时还能支持通过协商规则在虚拟设备分裂的时候选择最优的新虚拟设备作为有效虚拟设备。附图说明图1是一种典型LCAPMAD检测的组网示意图。图2是一种典型BFDMAD检测的组网示意图。图3是本发明一种实施方式中虚拟网络设备管理装置的逻辑结构及硬件环境图。图4是本发明一种实施方式中虚拟网络设备管理方法处理流程图。图5是本发明一种实施方式中虚拟网络设备的拓扑简图。具体实施方式本发明提供一种新的解决方案来克服现有技术在虚拟网络设备分裂处理机制上的不足之处。以下以IRF为例进行说明,但本发明并不排除应用在其他虚拟网络设备技术上。对于IRF来说,每个成员设备之间传递的报文主要包括两种:业务数据报文以及控制报文。所谓业务报文也称为数据报文,通常是来自网络中,从虚拟设备某个成员设备的某个业务端口进入,经过该成员设备查表之后确定出端口,如果该出端口位于其他成员设备上,则需要通过成员设备之间的级联链路传到这个成员设备上,数据报文的转发可以理解为整个虚拟设备所承担的业务。所谓控制报文通常也称为IRF协议报文,主要用来在成员设备之间传递控制信息的,主要的作用允许成员设备之间进行业务等方面的协调。当然成员设备之间还可能涉及网管与成员设备之间交互的管理报文,但这不是本发明关注的重点,不再加以讨论。本发明在级联数据链路的基础上为每个成员设备增加一条用户互联的独立的级联控制链路。在本发明优选的实施方式中,每个成员设备均包括主控板以及接口板,主控板主要在控制层面运作,而接口板主要在业务层面运作。成员设备除了包括用来与邻居成员设备相连以构建级联数据链路的级联数据端口外,所述主控板至少包括一个用于和邻居成员设备相连以构建级联控制链路的级联控制端口。通常情况下,主控板会包括两个这样的级联控制端口,这样可以同时支持整个虚拟设备环形组网或链型组网。经过这样的连接安排之后,各成员设备之间的级联控制链路会提供出一个独立的IRF级联控制通道,而各级联数据链路则会提供出一个独立的IRF级联数据通道。请参考图3以及图4,在上述的硬件环境下,以软件实现为例,本发明提供一种虚拟设备管理装置,其运行在虚拟设备中成员设备的主控板上,该主控板除了前述管理端口还,通常还包括CPU、内存、非易失性存储器以及其他必要硬件。该装置在逻辑层面上包括:邻居交互单元、拓扑初始化单元、 第一故障感知单元、第二故障感知单元、第一控制单元以及第二控制单元。在该装置运行过程中,其通常会涉及以下处理流程。步骤101,邻居交互单元分别通过级联控制通道以及级联数据通道与邻居成员设备交互邻居握手报文;步骤102,拓扑初始化单元在初始化的时候,从级联数据链路上接收到的邻居握手报文中获取第一初始拓扑结构数据,从级联控制链路接收到的邻居握手报文中获取第二初始拓扑结构数据;并在第一初始拓扑结构与第二初始拓扑结构不同时向管理者告警;步骤103,第二故障感知单元在级联控制通道感知到故障时,将第一控制单元从使能状态修改为去使能状态,并将第二控制单元从去使能状态修改为使能以替代第一控制单元;步骤104,第二控制单元通过级联数据通道与其他成员设备进行IRF控制交互;步骤105,第一控制单元通过级联控制通道与其他成员设备进行IRF控制交互;步骤106,第一故障感知单元在数据通道上感知到IRF故障且IRF分裂为多个新IRF时向第一控制单元发送分裂通知;步骤107,若本成员设备成为新IRF的Master设备,第一控制单元根据故障感知单元的分裂通知,通过级联控制通道与其他新IRF的Master设备交互各自所属IRF的Active控制信息;步骤108,第一控制单元在收到来自其他IRF的Active控制信息后根据预设的Active协商规则确定本IRF的状态,若确定本IRF的状态为Discovery状态,则将本IRF中各成员设备的业务处理去使能;步骤109,当第一故障感知单元在级联数据通道感知到导致IRF分裂的故障恢复时,向第一控制单元发送分裂恢复通知;步骤110,若本成员设备为ActiveIRF的Master设备,第一控制单元在收到所述分裂恢复通知后,通过级联控制通道向处于Discovery状态的IRF 中的各成员设备发送状态恢复通知,以指示该些成员设备相应使能业务处理。步骤111,若本成员设备为Discovery状态,第一控制单元在收到所述分裂恢复通知后,使能本成员设备的业务处理。本发明在IRF原有级联数据通道的基础上引入独立的级联控制通道;其为IRF的内部控制交互带来的极大的便利性。首先该级联控制链路(以下简称级联控制通道)的引入,让IRF协议的相关软件开发更加便利,开发者可以将级联控制通道和业务通道进行清晰的分离,避免了控制与业务混合时需要考虑的太多意外因素。其次,由于引入了独立的级联控制通道,级联数据通道的带宽压力显著减轻;再次,由于IRF成员设备上会有更多高层的应用也有控制也有在成员设备之间交互数据/指令的需求,比如安全或者服务质量保证等高层应用,IRF的级联控制通道完全可以同时被这些应用所利用,如此又可以进一步减轻级联数据通道的压力。当然,最值得注意的是,本申请在改善IRF分裂处理机制的合理性上有着很大的提升,以下结合附图详细进行说明。在优选的方式中,为了保证IRF更加可靠地投入运行,在初始状态下,成员设备会通过邻居握手报文(IRFHello报文)与其他IRF进行交互,从而采集到整个IRF的拓扑结构数据。在本发明中可以沿用这一收集过程,但是不同的是,拓扑初始化单元会从分别从级联控制通道和级联数据通道各获得一份拓扑结构数据,然后将两份拓扑结构数据进行对比,如果两个拓扑结构是一致的,则说明级联控制通道以及级联数据通道都是完整无故障的,整个IRF是健壮的。但是如果出现不一致,则说明IRF中有级联控制链路或级联数据链路出现故障(比如尚没有进行物理连接),此时可以向管理者告警提示其尽快解决存在的故障链路或者故障节点。如果IRF级联控制通道与IRF级联数据通道是一致的,此时IRF会继续后续正常运作。在运作过程中,一旦出现级联控制通道故障的情况,比如某个级联控制链路出现故障,此时第二故障感知单元在感知到故障,比如连续N个时间周期内没有从级联控制通道上接收到邻居握手报文就可以确定与邻 居成员设备之间的链路断开,或者收到其他成员设备报告的链路故障通知等等。在感知到故障之后,第二故障感知单元会将第二控制单元使能起来。第二控制单元可以按照传统的方式来通过级联数据通道进行控制交互。此时IRF内部的控制交互回到了传统的方式中了。第二故障感知单元的使能控制机制可以允许本发明充分利用已经存在的控制交互机制。从另外一个层面来说,级联数据通道可以视为级联控制通道的一个备份。只不过这种备份与传统的备份并不相同,这体现在级联控制通道出现故障时,不仅仅是通道的切换,还涉及控制单元的切换。在使用级联数据通道进行控制交互的时候,本发明会将第二控制单元使能。在本发明中,第一控制单元与第二控制单元的处理机制是存在不同之处的,其中最为典型的就包括对于IRF分裂的处理以及IRF分裂恢复的处理,这部分后续将进行更多的描述。从步骤103中可以看出,交互所使用的通道和处理机制会同时进行切换。同样的道理,如果级联控制通道的故障恢复起来之后,会进行相反的切换;第一控制单元将会再次被使能,转而使用级联控制通道进行控制交互,而第二控制单元则再次被去使能。在级联控制通道正常情况下,整个IRF的控制交互会由各个成员设备的第一控制单元来执行。整个IRF内部控制交互会涉及很多层面,一些常规的的控制交互可以参考现有技术实现。本发明一个典型的优势体现在IRF分裂的处理上,一旦级联数据通道出现故障,比如一个或者多个级联数据链路断裂导致IRF分裂为两个新的IRF,此时第一故障感知单元会感知到这种类型的故障,故障感知的机制可参考此前第二故障感知的示例或者各种现有技术加以实现。第一故障感知会发送分裂通知给处于使能状态的第一控制单元。当然,如果当前处于使能状态的是第二控制单元(即级联控制通道也发生故障了),则第一故障感知单元会通知第二控制单元,第二控制单元可以采用传统的方式来进行相应处理,比如背景技术中提到的各种MAD机制。请参考图5的示例,假设IRF包括4个成员设备(D1至D4)、四个级联控制链路(CL1至CL4)以及四个级联数据链路(DL1至DL4)。假设某 个时刻,DL1以及DL3断开,此时IRF会分裂两个新的IRF,每个成员设备都会重新选举Master。假设D1以及D4组成的IRF为第一IRF,假设D2以及D3组成的IRF为第二IRF。由于原IRF在网络中是对于其他设备而言是一台网络设备,其通常只具有一个对外交互的身份(比如说IP地址),此时由于分裂出现了两个IRF,如果两个IRF都参与到网络中进行数据报文转发,则不仅会出现身份冲突,更会引发整个网络故障。因此事实上,只有保留一个IRF作为ActiveIRF来替代原IRF继续在网络中提供服务。假设D1和D2分别是第一IRF和第二IRF的Master设备,此时D1和D2的第一控制单元之间会进行Active控制信息(有效性控制信息)的交互,然后根据Active协商规则协商出哪个IRF继续处于Active状态,哪个IRF需要被置于Discovery(禁用)状态。在优选的方式中,Active控制信息和对应的Active协商规则是可以由开发者根据需要来定义的。以下给出一些示例进行说明。假设Active控制信息是出口带宽,协商规则是出口带宽最大的IRF为Active状态,其他IRF为Discovery状态。如果有多个出口带宽相同,可以选择Master设备MAC地址最小的作为ActiveIRF。以上的示例是根据一个关键的能力参数来确定哪个IRF作为ActiveIRF的,事实上还可以引入更多的能力参数,比如转发芯片能力、表项规格以及CPU性能等等。对于不同的能力参数,可以定义好各自的权重,通过加权的方式来计算出能力大小,能力大的优先作为ActiveIRF。除了能力参数,还可以选择引入服务范围参数,甚至应用功能集合,比如说拥有安全处理功能的优先,比如说服务更多上网用户的优先。从以上描述可以看出,开发者可以定义非常合理的Active控制信息以及Active协商规则来合理地选择一个新的IRF作为ActiveIRF,这样的灵活性是现有技术中各种MAD技术难以实现的。在故障修复之前,处于Discovery状态的IRF会停止进行业务处理。也就是说该IRF的Master设备的第一控制单元会停掉业务处理功能,比如最简单的方式是将所有对外的业务端口全部设置为Down状态。出现故障之后,管理者通常会收到来自设备的告警,然后通过各种手段 定位出故障所在,进而进行故障恢复。仍然以上述示例为例,假设DL1以及DL3的故障被管理者修复了,此时第二故障感知单元同样可以感知到这样的变化,其会向处于使能状态的第一控制单元发送分裂恢复通知。当然此时如果使能的是第二控制单元,则其会相应通知第二控制单元。假设此时第一控制单元使能,也就是说级联控制通道是没有故障的。由于故障已经恢复,邻居交互单元就可以通过的DL1和DL3交互邻居握手报文了,对于D2和D3而言,其会作为成员设备加入到第一IRF中来。在加入完成之后,也就是拓扑稳定下来之后,第一控制单元可以通知其他处于Discovery状态的成员设备(也就是第二IRF中的成员设备)取消Discovery状态。收到该通知的成员设备的第一控制单元会相应将业务端口全部设置为UP状态。从本段的描述可以看出,由于引入了级联控制链路及对应的处理机制,本发明的分裂恢复机制相较于现有技术而言显得更加简洁。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1