虚拟网络单元中的路由计算方法和主节点设备的制作方法

文档序号:7846554阅读:551来源:国知局
专利名称:虚拟网络单元中的路由计算方法和主节点设备的制作方法
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种虚拟网络单元中的路由计算方法和主节点设备。
背景技术
虚拟网络单元(Virtual Network Element ;以下简称VNE)是一种集群路由器技术,基于软件技术将两层或多层汇聚结构中的多台路由器设备虚拟化聚合为一个虚拟汇聚节点,对外呈现为一个单一映像的集群路由器。VNE的控制平面和管理平面集中在一台主路由器,即主节点上,由另一台路由器充当备节点,其他路由器为从节点。VNE内所有节点都可进行流量转发。在VNE内部,主节点和备节点通常由大容量、高性能、拥有高性能中央处理器 (Central Processing Unit ;以下简称CPU)、网络位置较高的路由器来承担,主节点通过收集VNE内部拓扑,进行相应的计算,生成内部转发表(internal Forwarding Information Base ;以下简称iFIB),然后将iFIB下发到其他各节点上,从而完成VNE内的路由计算。当有报文进入VNE内部时,先查询iFIB,得到VNE出接口,然后转发到相应的VNE节点;然后当报文到达该出接口所在节点时再查询外部转发表(external Forwarding Information Base ;以下简称eFIB),获得下一跳,然后将该报文从VNE转发出去。从整个转发过程来看, VNE对外屏蔽了内部的互连细节,呈现为一个具有单映像的超级节点,从网络整体拓扑的视角来看,就是一个路由节点,对外提供统一的eFIB进行报文转发。VNE技术简化了网络拓扑,提高了路由收敛性和稳定性,降低了管理复杂性。和多框路由器相比,无需引入专用互连设备和互连接口技术,保护了现有投资,降低了投资和运维成本。并且可以根据网络应用,把不同型号、不同形态的设备聚合起来,减少了设备的维护性。现有的一种VNE内部拓扑计算方案为按需路由选择(On Demand Routing ;以下简称0DR)技术,但是ODR技术仅适用于中心-分支(hiA&spoke)形状的拓扑,不能适用于双归树形和环形等其他拓扑结构,适用范围较窄。

发明内容
本发明实施例提供一种虚拟网络单元中的路由计算方法和主节点设备,以实现在多种拓扑结构下,对虚拟网络单元的内部路由进行计算。本发明实施例提供一种虚拟网络单元中的路由计算方法,包括虚拟网络单元中的主节点接收并保存虚拟网络单元中除所述主节点之外的节点上报的拓扑信息;所述主节点根据所述虚拟网络单元的拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验,所述保存的拓扑信息包括所述主节点的拓扑信息和所述虚拟网络单元中除所述主节点之外的节点上报的拓扑信息;
在所述拓扑校验通过之后,所述主节点根据所述拓扑类型和所述拓扑信息,计算所述虚拟网络单元的内部路径和所述内部路径的权重值;所述主节点根据所述内部路径和所述内部路径的权重值生成并保存内部路由条目,并将所述内部路由条目发送给所述虚拟网络单元中除所述主节点之外的节点。本发明实施例还提供一种虚拟网络单元中的主节点设备,包括接收模块,用于接收虚拟网络单元中除所述主节点设备之外的节点设备上报的拓扑信息;保存模块,用于保存所述接收模块接收的拓扑信息;校验模块,用于根据所述虚拟网络单元的拓扑类型对所述保存模块保存的所有拓扑信息进行拓扑校验,所述保存模块保存的所有拓扑信息包括所述主节点设备的拓扑信息和所述接收模块接收的拓扑信息;计算模块,用于在所述拓扑校验通过之后,根据所述拓扑类型和所述保存模块保存的拓扑信息,计算所述虚拟网络单元的内部路径和所述内部路径的权重值;生成模块,用于根据所述计算模块计算的所述内部路径和所述内部路径的权重值生成并保存内部路由条目;发送模块,用于将所述生成模块生成的内部路由条目发送给所述虚拟网络单元中除所述主节点设备之外的节点设备。通过本发明实施例,主节点接收并保存虚拟网络单元中的节点上报的拓扑信息之后,根据该虚拟网络单元的拓扑类型对保存的拓扑信息进行拓扑校验,在拓扑校验通过之后,主节点根据拓扑类型和上述拓扑信息,计算虚拟网络单元的内部路径和内部路径的权重值;然后,主节点可以根据上述内部路径和内部路径的权重值生成并保存内部路由条目, 并将该内部路由条目发送给虚拟网络单元中除主节点之外的节点。从而可以实现在双归树形、环形和半环形等多种拓扑结构下,对虚拟网络单元的内部路径进行计算,进而可以实现简单有效的计算虚拟网络单元的内部路径中的主路径和次路径,并且可以通过对内部路径设置不同的权重值,实现虚拟网络单元内部的负载均衡。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明路由计算方法一个实施例的流程图;图2为本发明拓扑收集一个实施例的示意图;图3为本发明双归树形拓扑一个实施例的示意图;图4为本发明环形拓扑一个实施例的示意图;图5为本发明半环形拓扑一个实施例的示意图;图6为本发明双归树形拓扑中主路径与从路径一个实施例的示意图;图7为本发明环形拓扑中主路径与从路径一个实施例的示意图;图8为本发明环形拓扑中主路径与从路径另一个实施例的示意图9为本发明半环形拓扑中主路径与从路径一个实施例的示意图;图10为本发明半环形拓扑中主路径与从路径另一个实施例的示意图;图11为本发明虚拟网络单元中的主节点设备一个实施例的结构示意图;图12为本发明虚拟网络单元中的主节点设备另一个实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明路由计算方法一个实施例的流程图,如图1所示,该路由计算方法可以包括步骤101,VNE中的主节点接收并保存VNE中除该主节点之外的节点上报的拓扑信肩、ο本实施例中,VNE是一个虚拟异构的集群路由器,VNE内包括主节点、备用主节点和从节点。主节点为汇聚层大容量高性能汇聚路由器,是对整个VNE内部所有节点进行管理的节点,用于集中处理VNE的控制信令,并将计算得到的控制信息发给从节点,VNE的控制平面在主节点上,上述VNE内部所有节点包括主节点、备用主节点和所有从节点。一个 VNE内部只有一个主节点和一个备用主节点。备用主节点是在主节点发生故障,不能对VNE 内部所有节点进行管理时,来接替主节点对VNE内部所有节点进行管理的。VNE中的从节点,为汇聚层小容量低性能路由器,不处理控制信令,只负责数据转发。步骤102,主节点根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验,该主节点本地保存的所有拓扑信息包括主节点的拓扑信息和VNE中除该主节点之外的节点上报的拓扑信息。步骤103,在拓扑校验通过之后,主节点根据拓扑类型和拓扑信息,计算VNE的内部路径和所述内部路径的权重值。本实施例中,内部路径是指VNE中任意两个节点之间的通路信息,包括两个节点之间的通路经过的节点和相应的接口 ;内部路由是指VNE中的主节点根据内部路径为每个节点生成的标准路由信息。步骤104,主节点根据上述内部路径和内部路径的权重值生成并保存内部路由条目,并将该内部路由条目发送给VNE中除主节点之外的节点。上述实施例可以实现在双归树形、环形和半环形等多种拓扑结构下,对VNE的内部路径进行计算,进而可以实现简单有效的计算VNE的内部路径中的主路径和次路径。下面对本发明实施例提供的路由计算方法进行详细介绍。本发明实施例中,在VNE中被指定为主节点的节点启动之后,在对VNE进行管理和内部路由计算之前,需要先进行拓扑收集,拓扑收集可以采用动态收集和静态配置两种方式。(1)动态收集方式
图2为本发明拓扑收集一个实施例的示意图,如图2所示,本发明实施例中,在步骤101,主节点接收并保存VNE中除该主节点之外的节点上报的拓扑信息之前,主节点可以广播方式发送VNE的拓扑收集请求消息,该拓扑收集请求消息携带主节点的信息、VNE的标识、名称和拓扑类型等,具体地,主节点可以二层或者三层广播方式发送VNE的拓扑收集请求消息;然后,主节点可以接收VNE中除主节点之外的节点发送的拓扑收集响应消息,该拓扑收集响应消息携带拓扑信息;其中,该拓扑收集响应消息是VNE中除主节点之外的节点接收到上述拓扑收集请求消息之后,确定该拓扑收集请求消息中携带的VNE的标识对应的VNE为自身归属的VNE之后发送给上述主节点的;如果VNE中除主节点之外的节点接收到上述拓扑收集请求消息之后,确定该拓扑收集请求消息中携带的VNE的标识对应的VNE 不是自身归属的VNE,则可以不响应上述拓扑收集请求消息。主节点接收到VNE中除主节点之外的节点发送的拓扑收集响应消息之后,可以保存该拓扑收集响应消息携带的拓扑信息,并将上述VNE中的所有节点纳入到VNE集群管理中;然后向上述VNE中除主节点之外的节点发送注册成功消息,以指示上述VNE中除主节点之外的节点在该VNE内注册成功。VNE的主节点每接收并保存上述VNE中除主节点之外的一个节点的拓扑信息之后,就会对该主节点本地保存的所有拓扑信息进行一次拓扑校验。如果拓扑校验通过,则该主节点可以确定整个VNE拓扑信息收集完整,VNE拓扑建立,可以开始进行内部路径的计算;如果拓扑校验未通过,则主节点会继续周期性或定时以广播的方式发送拓扑收集请求消息,继续等待VNE中的节点上报的拓扑信息,直至整个VNE拓扑信息收集完整。具体地, 主节点可以在接收并保存VNE中除主节点之外的一个节点上报的拓扑信息之后,可以马上对该主节点本地保存的所有拓扑信息进行一次拓扑校验;在VNE中除主节点之外的一个节点下线或者检测不到该节点时,可以设置一个等待时间,在超过该等待时间之后,主节点重新进行拓扑校验。如果出现VNE中除主节点之外的一个节点频繁上线或下线,导致拓扑校验不能通过时,则主节点可以先不将之前计算好的与该频繁上线或下线的节点对应的内部路径删除,而是把该内部路径去激活,以保证数据的正常转发。只有在新的拓扑校验通过, 且VNE内所有节点的内部路径均计算完成后,VNE中的主节点再生成新的内部路由条目,下发给VNE中的所有节点进行路由更新。(2)静态配置方式具体地,步骤101可以为主节点接收VNE中除主节点之外的节点在获知该主节点的位置后上报的拓扑信息。也就是说,在静态配置方式下,在VNE中的节点获知主节点的位置之后,可以主动向主节点上报拓扑信息。接收到上述拓扑信息之后,主节点保存该拓扑信息,并将上述VNE中的所有节点纳入VNE集群管理中。与动态收集方式相同,VNE的主节点每接收并保存上述VNE中的一个节点上报的拓扑信息之后,就会对该主节点本地保存的所有拓扑信息进行一次拓扑校验。如果拓扑校验通过,则该主节点可以确定整个VNE拓扑信息收集完整,VNE拓扑建立,可以开始进行内部路径的计算;如果拓扑校验未通过,则主节点会继续等待VNE中的节点上报的拓扑信息, 直至整个VNE拓扑信息收集完整。
需要说明的是,本发明实施例中的拓扑信息包括VNE中的节点的标识符、该节点所在设备的基本信息、外连接口信息和内连接口信息。其中,内连接口是指在VNE内部各节点间连接的接口;外连接口是指VNE内部的节点与VNE外部的设备连接的接口 ;即VNE内每个节点的接口分为内连接口和外连接口,分别连接VNE内部的节点和VNE外部的设备。外连接口信息包括外连接口的接口名、因特网协议(Internet Protocol;以下简称IP)地址和该外连接口的封装信息(例如该外连接口是二层接口或三层接口)等;内连接口信息包括内连接口的接口名、IP地址和该内连接口的封装信息(例如该内连接口
是二层接口或三层接口)等。本发明实施例中,在拓扑校验通过之后,即VNE拓扑建立之后,如果VNE的拓扑结构发生变化,则主节点需要进行拓扑更新。具体地,在拓扑校验通过之后,主节点可以在VNE中定时或周期性发送拓扑报文, 该拓扑报文携带VNE中各节点的拓扑信息;以便接收到上述拓扑报文的节点确定自身的拓扑信息与拓扑报文中携带的拓扑信息不同之后,将自身的拓扑信息发送给主节点。主节点接收到该拓扑信息后根据实际情况进行相应的处理,例如进行路径切换或者进行新的路径计算等。其中,该拓扑报文可以采用广播方式发送,也可以采用定向方式发送。在拓扑校验通过之后,如果VNE中新增节点,则主节点可以接收并保存VNE中的新增节点上报的该新增节点的拓扑信息,然后重新根据VNE的拓扑类型对保存的拓扑信息进行拓扑校验,也就是说,由VNE中的新增节点主动向主节点上报自身的拓扑信息;或者,主节点可以接收并保存VNE中与新增节点相连的节点发送的拓扑信息,然后重新根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验,其中,该拓扑信息是与新增节点相连的节点接收到主节点发送的拓扑报文之后,确定自身的外连接口信息和内连接口信息已经发生变化,即确定自身的拓扑信息与该拓扑报文中携带的拓扑信息不同之后,发送给主节点的;或者,主节点可以接收并保存新增节点在接收到主节点发送的拓扑报文之后上报的拓扑信息,重新根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验。在拓扑校验通过之后,如果VNE中去除节点,则主节点可以接收并保存VNE中与去除的节点直连的节点上报的变化后的拓扑信息,然后重新根据拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验;上述变化后的拓扑信息由与去除的节点直连的节点主动上报给主节点,或者上述变化后的拓扑信息是与去除的节点直连的节点接收到主节点发送的拓扑报文之后,确定自身的拓扑信息与拓扑报文中携带的拓扑信息不同之后,发送给主节点的。另外在控制平面,主节点与VNE中除主节点之外的各节点间可以通过心跳等机制,来检测VNE中除主节点之外的节点的故障。如果主节点收不到某节点对心跳的响应,就可以确定该节点发生故障。本发明实施例中,在拓扑校验通过之后,当VNE中除主节点之外的节点的控制平面发生故障,而转发平面未发生故障时,主节点通过心跳机制发现上述节点发生故障之后,主节点可以删除发生故障的节点的拓扑信息,重新接收并保存VNE中除主节点和发生故障的节点之外的节点上报的拓扑信息,并根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验。
13
而当VNE中除主节点之外的节点的数据平面发生故障时,主节点可以接收并保存发生故障的节点上报的变化后的拓扑信息,然后重新根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验。在拓扑校验通过之后,当VNE中的内部链路发生故障时,主节点可以接收并保存发生故障链路上的节点通过备用路径上报的变化后的拓扑信息,以及接收并保存与发生故障链路上的节点相连的节点上报的变化后的拓扑信息,然后主节点可以重新根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验。下面对步骤102,主节点根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验的方法进行说明。(1)图3为本发明双归树形拓扑一个实施例的示意图,当VNE的拓扑类型为双归树形拓扑时,主节点可以根据该主节点本地保存的所有拓扑信息确定双归树形拓扑的校验通过条件是否已满足;这时,拓扑校验通过可以为双归树形拓扑的校验通过条件已满足;也就是说,当双归树形拓扑的校验通过条件均被满足时,主节点可以确定双归树形拓扑校验通过。其中,双归树形拓扑的校验通过条件包括VNE内部所有节点均至少有两个状态可用的内连接口 ;并且主节点与备用主节点通过内连接口直连,主节点与备用主节点之间的内连接口和链路状态正常;并且VNE中所有从节点有且只有两个内连接口,分别连接到主节点和备用主节点上;并且VNE中已上报自身拓扑信息的从节点的个数与预先规划的从节点的个数相同。(2)图4为本发明环形拓扑一个实施例的示意图,当VNE的拓扑类型为环形拓扑时,主节点可以根据该主节点本地保存的所有拓扑信息确定环形拓扑的校验通过条件是否已满足;这时,拓扑校验通过可以为环形拓扑的校验通过条件已满足;也就是说,当环形拓扑的校验通过条件均被满足时,主节点可以确定环形拓扑校验通过。其中,环形拓扑的校验通过条件包括VNE中的每个节点都有两个状态正常的内连接口 ;并且主节点与备用主节点通过内连接口直连;并且VNE中的节点两两相连,从主节点的一个内连接口开始,通过VNE中除主节点之外的各节点能够到达主节点的另一个内连接口 ;并且从主节点的两个内连接口出发形成的两条环状路径上,经过节点的顺序正好相反。(3)图5为本发明半环形拓扑一个实施例的示意图,当VNE的拓扑类型为半环形拓扑时,主节点可以根据该主节点本地保存的所有拓扑信息确定环形拓扑的校验通过条件是否已满足;这时,拓扑校验通过可以为半环形拓扑的校验通过条件已满足;也就是说,当半环形拓扑的校验通过条件均被满足时,主节点可以确定环形拓扑校验通过。其中,半环形拓扑的校验通过条件包括VNE中除主节点和备用主节点之外的每个节点均有至少两个状态正常的内连接口 ;并且,主节点和备用主节点均有至少一个内连接口,且主节点与备用主节点之间没有直连的内部链路;并且,VNE中除主节点与备用主节点之外的节点两两相连,从主节点的一个内连接口开始,通过VNE中除主节点与备用主节点之外的各节点,能够到达备用主节点的一个状态正常的内连接口 ;并且,从主节点的一个内连接口出发形成的半环状路径通过了 VNE中除所述主节点之外的所有节点,该半环状路径的最后一个节点为备用主节点。
在拓扑校验通过之后,主节点可以确定整个VNE拓扑信息收集完整,VNE拓扑建立,可以开始进行内部路径的计算;如果拓扑校验未通过,则主节点会继续周期性或定时以广播的方式发送拓扑收集请求消息,继续等待VNE中除主节点之外的节点上报的拓扑信息,直至整个VNE拓扑信息收集完整。下面对步骤103,在拓扑校验通过之后,主节点根据拓扑类型和拓扑信息,计算 VNE的内部路径和该内部路径的权重值的方法进行说明。1、当VNE的拓扑类型为双归树形拓扑时,VNE的内部路径是集中由主节点计算的。 具体地,主节点可以计算VNE中每两个从节点之间的两条路径,以及为VNE中的每个从节点计算该从节点到主节点,以及该从节点到备用主节点的路径;然后确定上述两条路径中通过主节点的路径的权重值为第一从节点与主节点之间路径的权重值,与主节点与第二从节点之间路径的权重值之和,如式(1)所示;确定上述两条路径中通过备用主节点的路径的权重值为第一从节点与备用主节点之间路径的权重值,与该备用主节点与第二从节点之间路径的权重值之和,如式( 所示;以及确定两条路径中具有较小权重值的路径为主路径, 具有较大权重值的路径为次路径。需要说明的是,本发明实施例中的“第一”与“第二”仅为描述方便,用于区分两个不同的从节点,并不作为对从节点的限定。weight[i][主][j] = Weightto主[i]+weightt。主[j](1)weight[i][备][j] = Weightt。备[i]+weightt。备[j](2)式(1)中,weight[i][主][j]为第i个从节点与第j个从节点之间通过主节点的路径的权重值,Weightt。主[i]为第i个从节点与主节点之间路径的权重值,weightt0± [j] 为第j个从节点与主节点之间路径的权重值,即主节点与第j个从节点之间路径的权重值; 式(2)中,weight[i][备][j]为第i个从节点与第j个从节点之间通过备用主节点的路径的权重值,Weightt。备[i]为第i个从节点与备用主节点之间路径的权重值,weightt。备[j] 为第j个从节点与备用主节点之间路径的权重值,即备用主节点与第j个从节点之间路径的权重值。本发明实施例中,主节点与第一从节点或第二从节点之间路径的权重值可以是主节点根据第一从节点或第二从节点的编号分配的,备用主节点与第一从节点或第二从节点之间路径的权重值也可以是主节点根据第一从节点或第二从节点的编号分配的,例如对于编号为奇数的从节点,以该节点与主节点之间的路径为主路径,权重值分配为1 ;以该节点与备用主节点之间的路径为次路径,权重值分配为99,如式C3)和式(4)所示;对于编号为偶数的从节点,以该节点与主节点之间的路径为次路径,权重值分配为99 ;以该节点与备用主节点之间的路径为主路径,权重值分配为1,如式C3)和式(4)所示。采用上述分配方式,双归树形拓扑结构的VNE中,从节点与根节点之间的主路径与从路径可以如图6所示,图6为本发明双归树形拓扑中主路径与从路径一个实施例的示意图,图6中,虚线所示为从节点与根节点之间的主路径,点划线所示为从节点与根节点之间的次路径。其中,根节点包括主节点和备用主节点。
权利要求
1.一种虚拟网络单元中的路由计算方法,其特征在于,包括虚拟网络单元中的主节点接收并保存虚拟网络单元中除所述主节点之外的节点上报的拓扑信息;所述主节点根据所述虚拟网络单元的拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验,所述保存的拓扑信息包括所述主节点的拓扑信息和所述虚拟网络单元中除所述主节点之外的节点上报的拓扑信息;在所述拓扑校验通过之后,所述主节点根据所述拓扑类型和所述拓扑信息计算所述虚拟网络单元的内部路径和所述内部路径的权重值;所述主节点根据所述内部路径和所述内部路径的权重值生成并保存内部路由条目,并将所述内部路由条目发送给所述虚拟网络单元中除所述主节点之外的节点。
2.根据权利要求1所述的方法,其特征在于,所述虚拟网络单元中的主节点接收并保存虚拟网络单元中除所述主节点之外的节点上报的拓扑信息之前,还包括所述主节点以广播方式发送虚拟网络单元的拓扑收集请求消息,所述拓扑收集请求消息携带所述主节点的信息、所述虚拟网络单元的标识、名称和拓扑类型;所述虚拟网络单元中的主节点接收并保存虚拟网络单元中除所述主节点之外的节点上报的拓扑信息包括所述主节点接收所述虚拟网络单元中除所述主节点之外的节点发送的拓扑收集响应消息,所述拓扑收集响应消息携带所述拓扑信息;所述拓扑收集响应消息是所述虚拟网络单元中除所述主节点之外的节点接收到所述拓扑收集请求消息之后,确定所述拓扑收集请求消息中携带的虚拟网络单元的标识对应的虚拟网络单元为自身归属的虚拟网络单元之后,发送给所述主节点的;所述主节点保存所述拓扑信息,并将所述虚拟网络单元中的所有节点纳入所述虚拟网络单元集群管理中。
3.根据权利要求1所述的方法,其特征在于,所述虚拟网络单元中的主节点接收并保存虚拟网络单元中除所述主节点之外的节点上报的拓扑信息包括所述主节点接收所述虚拟网络单元中除所述主节点之外的节点在获知所述主节点的位置后上报的拓扑信息;所述主节点保存所述拓扑信息,并将所述虚拟网络单元中的所有节点纳入所述虚拟网络单元集群管理中。
4.根据权利要求1所述的方法,其特征在于,还包括在所述拓扑校验通过之后,所述主节点在所述虚拟网络单元中定时或周期性发送拓扑报文,所述拓扑报文携带所述虚拟网络单元中各节点的拓扑信息;以便接收到所述拓扑报文的节点确定自身的拓扑信息与所述拓扑报文中携带的拓扑信息不同之后,将自身的拓扑信息发送给所述主节点。
5.根据权利要求1所述的方法,其特征在于,还包括在所述拓扑校验通过之后,如果所述虚拟网络单元中新增节点,则所述主节点接收并保存所述虚拟网络单元中的新增节点上报的拓扑信息,重新根据所述拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验;或者,所述主节点接收并保存所述虚拟网络单元中与新增节点相连的节点发送的拓扑信息,重新根据所述拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验,所述虚拟网络单元中与新增节点相连的节点发送的拓扑信息是所述与新增节点相连的节点接收到所述主节点发送的拓扑报文之后,确定自身的拓扑信息与所述拓扑报文中携带的拓扑信息不同之后,发送给所述主节点的;或者,所述主节点接收并保存新增节点在接收到所述主节点发送的拓扑报文之后上报的拓扑信息,重新根据所述拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验。
6.根据权利要求1所述的方法,其特征在于,还包括在所述拓扑校验通过之后,如果所述虚拟网络单元中去除节点,则所述主节点接收并保存所述虚拟网络单元中与去除的节点直连的节点上报的变化后的拓扑信息,重新根据所述拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验;所述变化后的拓扑信息由所述与去除的节点直连的节点主动上报给所述主节点,或者所述变化后的拓扑信息是所述与去除的节点直连的节点接收到所述主节点发送的拓扑报文之后,确定自身的拓扑信息与所述拓扑报文中携带的拓扑信息不同之后,发送给所述主节点的。
7.根据权利要求1所述的方法,其特征在于,还包括在所述拓扑校验通过之后,当所述虚拟网络单元中除所述主节点之外的节点的控制平面发生故障,而转发平面未发生故障时,所述主节点通过心跳机制发现所述节点发生故障之后,所述主节点删除发生故障的节点的拓扑信息,重新接收并保存所述虚拟网络单元中除所述主节点和所述发生故障的节点之外的节点上报的拓扑信息,并根据所述拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验。
8.根据权利要求1所述的方法,其特征在于,还包括在所述拓扑校验通过之后,当所述虚拟网络单元中除所述主节点之外的节点的数据平面发生故障时,所述主节点接收并保存发生故障的节点上报的变化后的拓扑信息,重新根据所述拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验。
9.根据权利要求1所述的方法,其特征在于,还包括在所述拓扑校验通过之后,当所述虚拟网络单元中的内部链路发生故障时,所述主节点接收并保存发生故障链路上的节点通过备用路径上报的变化后的拓扑信息,以及接收并保存与所述发生故障链路上的节点相连的节点上报的变化后的拓扑信息,并重新根据所述拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验。
10.根据权利要求1-9任意一项所述的方法,其特征在于,所述拓扑信息包括所述虚拟网络单元中的节点的标识符、所述节点所在设备的基本信息、外连接口信息和内连接口信肩、ο
11.根据权利要求10所述的方法,其特征在于,所述主节点根据所述虚拟网络单元的拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验包括当所述拓扑类型为双归树形拓扑时,所述主节点根据所述主节点本地保存的所有拓扑信息确定所述双归树形拓扑的校验通过条件是否已满足;所述拓扑校验通过包括所述双归树形拓扑的校验通过条件已满足;所述双归树形拓扑的校验通过条件包括所述虚拟网络单元内部所有节点均至少有两个状态可用的内连接口 ;并且所述主节点与备用主节点通过内连接口直连,所述主节点与所述备用主节点之间的内连接口和链路状态正常;并且所述虚拟网络单元中所有从节点有且只有两个内连接口,分别连接到所述主节点和所述备用主节点上;并且所述虚拟网络单元中已上报自身拓扑信息的从节点的个数与预先规划的从节点的个数相同。
12.根据权利要求10所述的方法,其特征在于,所述主节点根据所述虚拟网络单元的拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验包括当所述拓扑类型为环形拓扑时,所述主节点根据所述主节点本地保存的所有拓扑信息确定所述环形拓扑的校验通过条件是否已满足;所述拓扑校验通过包括所述环形拓扑的校验通过条件已满足;所述环形拓扑的校验通过条件包括所述虚拟网络单元中的每个节点都有两个状态正常的内连接口 ;并且所述主节点与备用主节点通过内连接口直连;并且所述虚拟网络单元中的节点两两相连,从所述主节点的一个内连接口开始,通过所述虚拟网络单元中除所述主节点之外的各节点能够到达所述主节点的另一个内连接口 ;并且从所述主节点的两个内连接口出发形成的两条环状路径上,经过节点的顺序正好相反。
13.根据权利要求10所述的方法,其特征在于,所述主节点根据所述虚拟网络单元的拓扑类型对所述主节点本地保存的所有拓扑信息进行拓扑校验包括当所述拓扑类型为半环形拓扑时,所述主节点根据所述主节点本地保存的所有拓扑信息确定所述环形拓扑的校验通过条件是否已满足;所述拓扑校验通过包括所述半环形拓扑的校验通过条件已满足;所述半环形拓扑的校验通过条件包括所述虚拟网络单元中除所述主节点和备用主节点之外的每个节点均有至少两个状态正常的内连接口 ;并且,所述主节点和所述备用主节点均有至少一个内连接口,且所述主节点与所述备用主节点之间没有直连的内部链路;并且,所述虚拟网络单元中除所述主节点与所述备用主节点之外的节点两两相连,从所述主节点的一个内连接口开始,通过所述虚拟网络单元中除所述主节点与所述备用主节点之外的各节点,能够到达所述备用主节点的一个状态正常的内连接口 ;并且,从所述主节点的一个内连接口出发形成的半环状路径通过了所述虚拟网络单元中除所述主节点之外的所有节点,所述半环状路径的最后一个节点为所述备用主节点。
14.根据权利要求10所述的方法,其特征在于,所述主节点根据所述拓扑类型和所述拓扑信息计算所述虚拟网络单元的内部路径和所述内部路径的权重值包括当所述拓扑类型为双归树形拓扑时,所述主节点计算所述虚拟网络单元中每两个从节点之间的两条路径,以及为所述虚拟网络单元中的每个从节点计算所述从节点到所述主节点,以及所述从节点到所述备用主节点的路径;所述主节点确定所述两条路径中通过所述主节点的路径的权重值为第一从节点与所述主节点之间路径的权重值,与所述主节点与第二从节点之间路径的权重值之和;确定所述两条路径中通过所述备用主节点的路径的权重值为所述第一从节点与所述备用主节点之间路径的权重值,与所述备用主节点与所述第二从节点之间路径的权重值之和;以及确定所述两条路径中具有较小权重值的路径为主路径,具有较大权重值的路径为次路径;所述主节点与所述第一从节点或所述第二从节点之间路径的权重值是预先配置的,或者所述主节点根据所述第一从节点或所述第二从节点的编号分配的;所述备用主节点与所述第一从节点或第二从节点之间路径的权重值是预先配置的,或者所述主节点根据所述第一从节点或所述第二从节点的编号分配的。
15.根据权利要求14所述的方法,其特征在于,还包括当所述两条路径的权重值相同时,所述主节点比较所述第一从节点与所述主节点之间路径的权重值与所述第一从节点与所述备用主节点之间路径的权重值,当所述第一从节点与所述主节点之间路径的权重值较小时,所述主节点以所述通过所述主节点的路径为主路径,以所述通过所述备用主节点的路径为次路径;当所述第一从节点与所述备用主节点之间路径的权重值较小时,所述主节点以所述通过所述备用主节点的路径为主路径,以所述通过所述主节点的路径为次路径。
16.根据权利要求15所述的方法,其特征在于,所述主节点根据所述内部路径和所述内部路径的权重值生成并保存内部路由条目包括所述主节点根据所述主路径、所述主路径的权重值、所述次路径和所述次路径的权重值生成并保存内部路由条目。
17.根据权利要求10所述的方法,其特征在于,所述主节点根据所述拓扑类型和所述拓扑信息计算所述虚拟网络单元的内部路径和所述内部路径的权重值包括当所述拓扑类型为环形拓扑时,所述主节点为所述虚拟网络单元中的每个节点,计算所述节点到所述虚拟网络单元中除所述节点之外的其他所有节点的两条路径;所述主节点确定所述两条路径中经过节点较少的路径为主路径,经过节点较多的路径为次路径,并为所述主路径分配较小的权重值,为所述次路径分配较大的权重值;或者,所述主节点确定所述两条路径的权重值为所述两条路径上相邻两个节点之间路径上预先配置的权重值之和,并确定具有较小权重值的路径为主路径,具有较大权重值的路径为次路径;所述主节点根据所述内部路径和所述内部路径的权重值生成并保存内部路由条目包括所述主节点根据所述主路径、所述主路径的权重值、所述次路径和所述次路径的权重值生成并保存内部路由条目。
18.根据权利要求10所述的方法,其特征在于,所述主节点根据所述拓扑类型和所述拓扑信息计算所述虚拟网络单元的内部路径和所述内部路径的权重值包括当所述拓扑类型为半环形拓扑时,所述主节点为所述虚拟网络单元中的每个从节点计算所述从节点到所述主节点,以及所述从节点到所述备用主节点的路径;所述主节点比较所述从节点到所述主节点的路径与所述从节点到所述备用主节点的路径所经过的节点数,并为经过节点数较多的路径设置较大的权重值,为经过节点数较少的路径设置较小的权重值;或者,所述主节点确定所述从节点到所述主节点的路径的权重值为所述从节点到所述主节点的路径上相邻两个节点之间路径上预先配置的权重值之和, 确定所述从节点到所述备用主节点的路径的权重值为所述从节点到所述备用主节点的路径上相邻两个节点之间路径上预先配置的权重值之和;所述主节点确定具有较小权重值的路径为主路径,具有较大权重值的路径为次路径;所述主节点根据所述内部路径和所述内部路径的权重值生成并保存内部路由条目包括所述主节点根据所述主路径、所述主路径的权重值、所述次路径和所述次路径的权重值生成并保存内部路由条目。
19.一种虚拟网络单元中的主节点设备,其特征在于,包括接收模块,用于接收虚拟网络单元中除所述主节点设备之外的节点设备上报的拓扑信息;保存模块,用于保存所述接收模块接收的拓扑信息;校验模块,用于根据所述虚拟网络单元的拓扑类型对所述保存模块保存的所有拓扑信息进行拓扑校验,所述保存模块保存的所有拓扑信息包括所述主节点设备的拓扑信息和所述接收模块接收的拓扑信息;计算模块,用于在所述拓扑校验通过之后,根据所述拓扑类型和所述保存模块保存的拓扑信息,计算所述虚拟网络单元的内部路径和所述内部路径的权重值;生成模块,用于根据所述计算模块计算的所述内部路径和所述内部路径的权重值生成并保存内部路由条目;发送模块,用于将所述生成模块生成的内部路由条目发送给所述虚拟网络单元中除所述主节点设备之外的节点设备。
20.根据权利要求19所述的设备,其特征在于,所述发送模块,还用于以广播方式发送虚拟网络单元的拓扑收集请求消息,所述拓扑收集请求消息携带所述主节点设备的信息、所述虚拟网络单元的标识、名称和拓扑类型;所述接收模块,具体用于接收所述虚拟网络单元中除所述主节点设备之外的节点设备发送的拓扑收集响应消息,所述拓扑收集响应消息携带所述拓扑信息;所述拓扑收集响应消息是所述虚拟网络单元中除所述主节点设备之外的节点设备接收到所述拓扑收集请求消息之后,确定所述拓扑收集请求消息中携带的虚拟网络单元的标识对应的虚拟网络单元为自身归属的虚拟网络单元之后发送给所述主节点设备的;所述保存模块,具体用于保存所述拓扑信息,并将所述虚拟网络单元中的所有节点设备纳入所述虚拟网络单元集群管理中。
21.根据权利要求19所述的设备,其特征在于,所述接收模块,具体用于接收所述虚拟网络单元中除所述主节点设备之外的节点设备在获知所述主节点设备的位置后上报的拓扑信息;所述保存模块,具体用于保存所述拓扑信息,并将所述虚拟网络单元中的所有节点设备纳入所述虚拟网络单元集群管理中。
22.根据权利要求19所述的设备,其特征在于,所述发送模块,还用于在所述拓扑校验通过之后,在所述虚拟网络单元中定时或周期性发送拓扑报文,所述拓扑报文携带所述虚拟网络单元中各节点设备的拓扑信息;以便接收到所述拓扑报文的节点设备确定自身的拓扑信息与所述拓扑报文中携带的拓扑信息不同之后,将自身的拓扑信息发送给所述主节点设备。
23.根据权利要求19-22任意一项所述的设备,其特征在于,所述校验模块,具体用于根据所述保存模块保存的拓扑信息确定所述拓扑类型对应的校验通过条件是否已满足。
24.根据权利要求19-22任意一项所述的设备,其特征在于,所述计算模块包括第一计算子模块,用于当所述拓扑类型为双归树形拓扑时,计算所述虚拟网络单元中每两个从节点设备之间的两条路径,以及为所述虚拟网络单元中的每个从节点设备计算所述从节点设备到所述主节点设备,以及所述从节点设备到所述备用主节点设备的路径;第一确定子模块,用于确定所述两条路径中通过所述主节点设备的路径的权重值为第一从节点设备与所述主节点设备之间路径的权重值,与所述主节点设备与第二从节点设备之间路径的权重值之和;确定所述两条路径中通过所述备用主节点设备的路径的权重值为所述第一从节点设备与所述备用主节点设备之间路径的权重值,与所述备用主节点设备与所述第二从节点设备之间路径的权重值之和;以及确定所述两条路径中具有较小权重值的路径为主路径,具有较大权重值的路径为次路径;其中,所述主节点设备与所述第一从节点设备或所述第二从节点设备之间路径的权重值是预先配置的,或者所述主节点设备根据所述第一从节点设备或所述第二从节点设备的编号分配的;所述备用主节点设备与所述第一从节点设备或第二从节点设备之间路径的权重值是预先配置的,或者所述主节点设备根据所述第一从节点设备或所述第二从节点设备的编号分配的。
25.根据权利要求M所述的设备,其特征在于,所述第一确定子模块,还用于当所述两条路径的权重值相同时,比较所述第一从节点设备与所述主节点设备之间路径的权重值与所述第一从节点设备与所述备用主节点设备之间路径的权重值,当所述第一从节点设备与所述主节点设备之间路径的权重值较小时, 以所述通过所述主节点设备的路径为主路径,以所述通过所述备用主节点设备的路径为次路径;当所述第一从节点设备与所述备用主节点设备之间路径的权重值较小时,以所述通过所述备用主节点设备的路径为主路径,以所述通过所述主节点设备的路径为次路径。
26.根据权利要求25所述的设备,其特征在于,所述生成模块,具体用于根据所述主路径、所述主路径的权重值、所述次路径和所述次路径的权重值生成内部路由条目;所述保存模块,具体用于保存所述生成模块生成的内部路由条目。
27.根据权利要求19-22任意一项所述的设备,其特征在于,所述计算模块包括第二计算子模块,用于当所述拓扑类型为环形拓扑时,为所述虚拟网络单元中的每个节点设备,计算所述节点设备到所述虚拟网络单元中除所述节点设备之外的其他所有节点设备的两条路径;第二确定子模块,用于确定所述两条路径中经过节点设备较少的路径为主路径,经过节点设备较多的路径为次路径,并为所述主路径分配较小的权重值,为所述次路径分配较大的权重值;或者,确定所述两条路径的权重值为所述两条路径上相邻两个节点设备之间路径上预先配置的权重值之和,并确定具有较小权重值的路径为主路径,具有较大权重值的路径为次路径;所述生成模块,具体用于根据所述主路径、所述主路径的权重值、所述次路径和所述次路径的权重值生成内部路由条目。
28.根据权利要求19-22任意一项所述的设备,其特征在于,所述计算模块包括第三计算子模块,用于当所述拓扑类型为半环形拓扑时,为所述虚拟网络单元中的每个从节点设备计算所述从节点设备到所述主节点设备,以及所述从节点设备到所述备用主节点设备的路径;第三确定子模块,用于比较所述从节点设备到所述主节点设备的路径与所述从节点设备到所述备用主节点设备的路径所经过的节点设备数,并为经过节点设备数较多的路径设置较大的权重值,为经过节点设备数较少的路径设置较小的权重值;或者,第三确定子模块,用于确定所述从节点设备到所述主节点设备的路径的权重值为所述从节点设备到所述主节点设备的路径上相邻两个节点设备之间路径上预先配置的权重值之和,确定所述从节点设备到所述备用主节点设备的路径的权重值为所述从节点设备到所述备用主节点设备的路径上相邻两个节点设备之间路径上预先配置的权重值之和;第三确定子模块,还用于确定具有较小权重值的路径为主路径,具有较大权重值的路径为次路径;所述生成模块,具体用于根据所述主路径、所述主路径的权重值、所述次路径和所述次路径的权重值生成内部路由条目。
全文摘要
本发明实施例提供一种虚拟网络单元中的路由计算方法和主节点设备,该方法包括主节点接收并保存拓扑信息;根据VNE的拓扑类型对该主节点本地保存的所有拓扑信息进行拓扑校验;拓扑校验通过之后,计算VNE的内部路径和该内部路径的权重值,生成并保存内部路由条目,将内部路由条目发送给VNE中除主节点之外的节点。从而可以实现在双归树形、环形和半环形等多种拓扑结构下,对VNE的内部路由进行计算,并可以实现VNE内部的负载均衡。
文档编号H04L12/56GK102204188SQ201180000632
公开日2011年9月28日 申请日期2011年5月25日 优先权日2011年5月25日
发明者朱明明, 李宇华 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1