一种负载分担方法以及相关装置与流程

文档序号:11156393阅读:434来源:国知局
一种负载分担方法以及相关装置与制造工艺

本发明涉及通信领域,尤其涉及一种负载分担方法以及相关装置。



背景技术:

虚拟网络(VN,Virtual Network)是一种包含至少部分是虚拟网络链接的计算机网络。虚拟网络链接是在两个计算设备间不包含物理连接,而是通过网络虚拟化来实现。以太虚拟专用网络(EVPN,Ethernet Virtual Private Network)是一种二层虚拟专用网络(VPN,Virtual Private Network)技术,通过EVPN能够减少VPN内的未知单播报文洪泛,节省网络带宽。

现阶段的技术中往往将EVPN中的运营商边缘路由器(PE,Provider Edge)设备与VN中的网络虚拟化边缘(NVE,Network Virtualization Edge)设备相联,使得两个或多个VN通过EVPN联接起来。在VN与EVPN互联网络中,为了避免发自NVE设备的数据流量在网络中形成环流,一般EVPN中的多个PE设备之间会为NVE设备所接入的每个VN选举指定转发者(DF,Designated Forwarder),被选为DF的PE设备能够双向传播对应VN的数据流量,其他PE设备不能将网络侧的数据流量发送给该VN,这样就避免了数据流量环流的形成。

但是,由于一个VN可以分布在多个NVE设备上,且有的VN可以分布在较多的NVE设备上,有的VN会分布在较少的NVE设备甚至只有一个NVE设备上,因此若PE设备之间基于VN来选举DF,则会造成各个PE设备上接入的NVE设备数目相差较大,PE设备分担的负载不均衡,进而影响VN与EVPN互联网络的整体性能。



技术实现要素:

本发明实施例提供了一种负载分担方法,用于均衡VN与EVPN互联网络中PE设备的负载分担。本发明实施例还提供了相关的负载分担装置。

本发明实施例第一方面提供了一种负载分担方法,应用于虚拟网络VN 与以太虚拟专用网络EVPN之间的互联网络,所述互联网络包括第一运营商边缘PE设备、第二PE设备、以及目标网络虚拟化边缘NVE设备,所述目标NVE设备分别与所述第一PE设备和所述第二PE设备相联,所述目标NVE设备属于所述VN,所述第一PE设备和所述第二PE设备属于所述EVPN,所述方法包括:

所述第一PE设备获取所述第一PE设备的第一设备标识,并获取所述第一设备标识对应的所述目标NVE设备的目标以太网段标识符ESI和所述目标NVE设备上接入的目标VN的虚拟网标识VN ID,所述目标ESI用于唯一标识所述目标NVE设备;

所述第一PE设备接收来自所述第二PE设备的消息,所述来自所述第二PE设备的消息中携带所述第二PE设备的第二设备标识,以及所述第二设备标识对应的所述目标ESI和所述目标VN的VN ID;

所述第一PE设备根据所述第一设备标识、所述第二设备标识、所述目标ESI和所述目标VN的VN ID,判断所述第一PE设备是否为所述目标VN里的所述目标NVE设备的指定转发者DF,所述DF用于将从EVPN网络侧收到的广播、未知单播或组播BUM报文转发给所述NVE设备。

结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,所述获取所述第一设备标识对应的所述目标NVE设备的ESI包括:

为所述目标NVE设备配置目标ESI;

或,获取所述目标NVE设备的互联网协议IP地址,并根据所述目标NVE设备的IP地址生成所述目标NVE设备的目标ESI。

结合本发明实施例的第一方面或第一方面的第一种实现方式,本发明实施例的第一方面的第二种实现方式中,在所述第一PE设备根据所述第一设备标识、所述第二设备标识、所述目标ESI和所述目标VN的VN ID,判断所述第一PE设备是否为所述目标VN里的所述目标NVE设备的DF之前,还包括:

所述第一PE设备根据所述第一设备标识对应的所述目标ESI和所述目标VN ID,与所述第二设备标识对应的所述目标ESI和所述目标VN ID相同,确定所述第一PE设备和所述第二PE设备均接入了所述目标VN里的所述目 标NVE。

结合本发明实施例的第一方面、第一方面的第一种或第二种实现方式,本发明实施例的第一方面的第三种实现方式中,所述第一PE设备根据所述第一设备标识、所述第二设备标识、所述目标ESI和所述目标VN的VN ID,判断所述第一PE设备是否为所述目标VN里的所述目标NVE设备的DF包括:

所述第一PE设备在所述第一PE设备和所述第二PE设备之中,将所述第一PE设备均衡的分配为所述目标VN里的所述目标NVE设备的DF。

结合本发明实施例的第一方面的第三种实现方式,本发明实施例的第一方面的第四种实现方式中,所述第一PE设备在所述第一PE设备和所述第二PE设备之中,将所述第一PE设备均衡的分配为所述目标VN里的所述目标NVE设备的DF包括:

所述第一PE设备根据公式i=(VN ID)mod(N)计算i值,其中,所述N指示为所述目标VN里的目标NVE设备进行负载分担的PE设备的个数,所述N为不小于2的整数;所述i指示所述N个PE设备中的任何一个设备的编号,所述N个PE设备被从0至N-1编号;所述mod指示取模运算符;

若计算得到的i等于所述第一PE设备的编号,则所述第一PE设备确定所述第一PE设备为所述目标VN里的所述目标NVE设备的DF;

若计算得到的i不等于所述第一PE设备的编号,则所述第一PE设备确定所述第一PE设备不为所述目标VN里的所述目标NVE设备的DF。

结合本发明实施例的第一方面的第四种实现方式,本发明实施例的第一方面的第五种实现方式中,所述N个PE设备被从0至N-1编号包括:

所述第一PE设备根据所述N个PE设备的设备标识,按照设备标识从小到大的顺序或从大到小的顺序对所述N个PE设备从0至N-1编号。

结合本发明实施例的第一方面、第一方面的第一种至第五种实现方式,本发明实施例的第一方面的第六种实现方式还包括:

所述第一PE设备接收来自所述EVPN侧的BUM报文,所述BUM报文中包括所述目标ESI,以及所述目标VN的VN ID;

若所述第一PE设备确定所述第一PE设备是所述目标VN里的所述目标 NVE设备的DF,则所述第一PE设备向所述目标NVE设备转发所述BUM报文;

若所述第一PE设备确定所述第一PE设备不是所述目标VN里的所述目标NVE设备的DF,则所述第一PE设备丢弃所述BUM报文。

结合本发明实施例的第一方面、第一方面的第一种至第六种实现方式,本发明实施例的第一方面的第七种实现方式中,所述互联网络还包括第三PE设备,所述目标NVE设备与所述第三PE设备相联,所述第三PE设备属于所述EVPN网络,所述方法还包括:

所述第一PE设备接收来自所述第三PE设备的消息,所述来自所述第三PE设备的消息中携带所述第三PE设备的第三设备标识,以及与所述第三设备标识对应的所述ESI和所述VN ID;

所述第一PE设备根据所述第一设备标识、所述第二设备标识、所述第三设备标识、所述ESI和所述VNID,确定自己是否是所述VN的所述目标NVE设备的指定转发器DF。

结合本发明实施例的第一方面的第七种实现方式,本发明实施例的第一方面的第八种实现方式中,在所述第一PE设备根据所述第一设备标识、所述第二设备标识、所述第三设备标识、所述ESI和所述VNID,确定自己是否是所述VN的所述目标NVE设备的指定转发器DF之前,还包括:

所述第一PE设备根据所述第一设备标识对应的所述ESI和所述VN ID,与所述第二设备标识对应的所述ESI和所述VN ID,与所述第三设备标识对应的所述ESI和所述VN ID相同,确定所述第一PE设备、所述第二PE设备和所述第三PE设备接入了相同的NVE和VN。

结合本发明实施例的第一方面的第八种实现方式,本发明实施例的第一方面的第九种实现方式中,所述第一PE设备根据所述第一设备标识、所述第二设备标识、所述第三设备标识、所述ESI和所述VNID,确定自己是否是所述VN的所述目标NVE设备的指定转发器DF包括:

所述第一PE设备在所述第一PE设备、所述第二PE设备和所述第三PE设备之中,将所述第一PE设备均衡的分配为所述目标NVE设备的所述DF。

本发明实施例的第二方面提供了一种负载分担装置,应用于虚拟网络VN 与以太虚拟专用网络EVPN之间的互联网络,所述互联网络包括第一运营商边缘PE设备、第二PE设备、以及目标网络虚拟化边缘NVE设备,所述目标NVE设备分别与所述第一PE设备和所述第二PE设备相联,所述目标NVE设备属于所述VN,所述第一PE设备和所述第二PE设备属于所述EVPN,所述装置适用于所述第一PE设备,包括:

信息获取模块,用于获取所述第一PE设备的第一设备标识,并获取所述第一设备标识对应的所述目标NVE设备的目标以太网段标识符ESI和所述目标NVE设备上接入的目标VN的虚拟网标识VN ID,所述目标ESI用于唯一标识所述目标NVE设备;

消息接收模块,用于接收来自所述第二PE设备的消息,所述来自所述第二PE设备的消息中携带所述第二PE设备的第二设备标识,以及所述第二设备标识对应的所述目标ESI和所述目标VN的VN ID;

DF选择模块,用于根据所述第一设备标识、所述第二设备标识、所述目标ESI和所述目标VN的VN ID,判断所述第一PE设备是否为所述目标VN里的所述目标NVE设备的指定转发者DF,所述DF用于将从EVPN网络侧收到的广播、未知单播或组播BUM报文转发给所述NVE设备。

结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述信息获取模块还用于:

为所述目标NVE设备配置目标ESI;

或,获取所述目标NVE设备的互联网协议IP地址,并根据所述目标NVE设备的IP地址生成所述目标NVE设备的目标ESI。

结合本发明实施例的第二方面或第二方面的第一种实现方式,本发明实施例的第二方面的第二种实现方式中,所述DF选择模块还用于:

根据所述第一设备标识对应的所述目标ESI和所述目标VN ID,与所述第二设备标识对应的所述目标ESI和所述目标VN ID相同,确定所述第一PE设备和所述第二PE设备均接入了所述目标VN里的所述目标NVE。

结合本发明实施例的第二方面、第二方面的第一种或第二种实现方式,本发明实施例的第二方面的第三种实现方式中,所述DF选择模块还用于:

在所述第一PE设备和所述第二PE设备之中,将所述第一PE设备均衡 的分配为所述目标VN里的所述目标NVE设备的DF。

结合本发明实施例的第二方面的第三种实现方式,本发明实施例的第二方面的第四种实现方式中,所述DF选择模块还用于:

根据公式i=(VN ID)mod(N)计算i值,其中,所述N指示为所述目标VN里的目标NVE设备进行负载分担的PE设备的个数,所述N为不小于2的整数;所述i指示所述N个PE设备中的任何一个设备的编号,所述N个PE设备被从0至N-1编号;所述mod指示取模运算符;

若计算得到的i等于所述第一PE设备的编号,则确定所述第一PE设备为所述目标VN里的所述目标NVE设备的DF;

若计算得到的i不等于所述第一PE设备的编号,则确定所述第一PE设备不为所述目标VN里的所述目标NVE设备的DF。

结合本发明实施例的第二方面的第四种实现方式,本发明实施例的第二方面的第五种实现方式中,所述DF选择模块还用于:

根据所述N个PE设备的设备标识,按照设备标识从小到大的顺序或从大到小的顺序对所述N个PE设备从0至N-1编号。

结合本发明实施例的第二方面、第二方面的第一种至第五种实现方式,本发明实施例的第二方面的第六种实现方式种,所述消息接收模块还用于:接收来自所述EVPN侧的BUM报文,所述BUM报文中包括所述目标ESI,以及所述目标VN的VN ID;

所述装置还包括报文处理模块,用于:若所述第一PE设备是所述目标VN里的所述目标NVE设备的DF,则向所述目标NVE设备转发所述BUM报文;若所述第一PE设备不是所述目标VN里的所述目标NVE设备的DF,则丢弃所述BUM报文。

结合本发明实施例的第二方面、第二方面的第一种至第六种实现方式,本发明实施例的第二方面的第七种实现方式中,所述互联网络还包括第三PE设备,所述目标NVE设备与所述第三PE设备相联,所述第三PE设备属于所述EVPN网络;

所述消息接收模块还用于:接收来自所述第三PE设备的消息,所述来自所述第三PE设备的消息中携带所述第三PE设备的第三设备标识,以及与所 述第三设备标识对应的所述ESI和所述VN ID;

所述DF选择模块还用于:根据所述第一设备标识、所述第二设备标识、所述第三设备标识、所述ESI和所述VNID,确定自己是否是所述VN的所述目标NVE设备的指定转发器DF。

结合本发明实施例的第二方面的第七种实现方式,本发明实施例的第二方面的第八种实现方式中,所述DF选择模块还用于:根据所述第一设备标识对应的所述ESI和所述VN ID,与所述第二设备标识对应的所述ESI和所述VN ID,与所述第三设备标识对应的所述ESI和所述VN ID相同,确定所述第一PE设备、所述第二PE设备和所述第三PE设备接入了相同的NVE和VN。

结合本发明实施例的第二方面的第八种实现方式,本发明实施例的第二方面的第九种实现方式中,所述DF选择模块还用于:在所述第一PE设备、所述第二PE设备和所述第三PE设备之中,将所述第一PE设备均衡的分配为所述目标NVE设备的所述DF。

本发明实施例提供的负载分担方法中,第一PE设备获取第一PE设备的第一设备标识、第一设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;第一PE设备还从第二PE设备处,获取第二PE设备的第二设备标识、第二设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;由于从第二PE设备处获取到了相同的目标ESI以及目标VN的VN ID,因此第一PE设备根据第一设备标识、第二设备标识、目标ESI以及目标VN的VN ID,判断第一PE设备是否为目标VN里的目标NVE设备的DF。与现有技术中仅基于VN的粒度来选择DF不同,本发明实施例中为VN中多归接入多个PE设备的NVE设备选择DF,实现了基于NVE+VN的粒度来选择DF,这样就实现了将一个NVE设备上的VN平衡的分担到多个PE设备上,使得每个PE设备所分担的负载更为均衡。

附图说明

图1为VN与EVPN互联网络的结构示意图;

图2为本发明实施例中负载分担方法一个实施例流程图;

图3为本发明实施例中负载分担装置一个实施例结构图;

图4为本发明实施例中负载分担装置另一个实施例结构图。

具体实施方式

本发明实施例提供了一种负载分担方法,用于均衡VN与EVPN互联网络中PE设备的负载分担。本发明实施例还提供了相关的负载分担装置,以下将分别进行描述。

VN是一种包含至少部分是虚拟网络链接的计算机网络。虚拟网络链接是在两个计算设备间不包含物理连接,而是通过网络虚拟化来实现。VN中的报文有虚拟可扩展局域网(vxlan,virtual Extensible LAN)、网络虚拟化叠加(NVO3,Network Virtualization Overlayer 3)等封装方式。NVO3技术是一种实现网络虚拟化的技术,通过该技术可以将一个物理网络通过NVE设备进行虚拟化,使之可以为不同租户终端系统(TES,Tenant End System)共同使用。EVPN是一种二层虚拟专用网络技术,通过EVPN协议能够减少VPN网络内的未知单播报文洪泛,节省网络带宽。

VN与EVPN互联网络的基本结构示意图请参阅图1:PE设备属于EVPN网络,每个PE设备由设备标识来唯一标识,其中设备标识可以为该PE设备的互联网协议(IP,Internet Protocol)地址,也可以为其它的形式,此处不做限定。NVE设备属于VN网络,每个NVE设备由以太网段标识符(ESI,Ethernet Segment Identifier)来唯一标识,每个VN由虚拟网标识(VN ID)来唯一标识。PE设备与NVE设备相联,使得VN与EVPN互联起来。具体的相联关系可以由PE设备或网络中的其它设备自行保存,具体可以被保存为映射表的形式,例如若某个PE设备中保存有映射表,该映射表中记录了设备标识1对应有ESI 1以及VN ID 1,则表示设备标识1所标识的PE设备与ESI 1所标识的NVE设备互联,且该NVE设备接入有VN ID 1所标识的VN。其中,VN中的一个NVE设备可以与多个PE设备相联,且每个NVE设备上可以接入一个或多个VN。PE设备可以接收本地NVE设备(即与该PE设备的NVE设备)发送的广播(Broadcast)报文、单播(Unknown Unicast)报文或组播 (Multicast)报文(以下将Broadcast、Unknown Unicast和Multicast报文简称为BUM报文),并将BUM报文发送到EVPN中,也可以从EVPN中接收BUM报文,并将BUM报文发送给本地NVE设备。

在图1所示的互联网络的基础上,本发明实施例提供了一种负载分担方法,其基本流程请参阅图2,包括:

201、第一PE设备获取第一PE设备的第一设备标识、第一设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;

本发明实施例中,EVPN中包括第一PE设备与第二PE设备,VN中包括目标NVE设备,该目标NVE设备分别与第一PE设备和第二PE设备相联。目标NVE设备接入了一个或多个VN,其中包括目标VN。其中,目标NVE设备与第一PE设备和第二PE设备均可以是直接相联,也可以是通过交换机或其它网元间接相联,只要目标NVE设备与第一PE设备和第二PE设备之间能够交换数据报文,就属于本发明实施例中所述的相联的范畴。

本步骤中,第一PE设备获取第一PE设备的第一设备标识,其中,第一设备标识用于唯一标志该第一PE设备,第一设备标识具体可以为该第一PE设备的IP地址或其他形式,此处不做限定。由于目标NVE设备与第一PE设备相联,因此第一PE设备的第一设备标识会对应有目标NVE设备的目标ESI以及目标NVE设备上接入的目标VN的VN ID。本步骤中,第一PE设备还获取该第一设备标识对应的目标ESI以及目标VN的VN ID。

其中,目标NVE上接入的目标VN的个数可以是一个,也可以是两个以上,此处不做限定。

202、第一PE设备获取第二PE设备的第二设备标识、第二设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;

由于目标NVE设备也与第二PE设备相联,因此第二PE设备的第二设备标识也对应有目标NVE设备的目标ESI以及目标NVE设备上接入的目标VN的VN ID。本步骤中,第一PE设备接收来自第二PE设备的消息,并获取该消息中携带的第二PE设备的第二设备标识、目标ESI以及目标VN的VN ID。

203、第一PE设备根据第一设备标识、第二设备标识、目标ESI和目标VN的VN ID,判断第一PE设备是否为目标VN里的目标NVE设备的DF。

步骤202中,第一PE设备在接收了来自第二PE设备的消息后,从该消息中获得了与步骤201中相同的目标ESI与目标VN的VN ID,于是第一PE设备就可以获知目标NVE设备同时连入了第一PE设备与第二PE设备。由于目标NVE设备与多个PE设备相联,因此需要在该多个PE设备中分别为目标NVE设备上接入的VN选择DF。

本实施例中仅从第一PE设备的角度来具体解释选择DF的方法:第一PE设备根据第一设备标识、第二设备标识、目标ESI和目标VN的VN ID,判断第一PE设备自身是否为目标VN里的目标NVE设备的DF。具体的判断方法将在后面的实施例中详述,此处不做限定。在目标NVE设备所接入的所有PE设备都如同第一PE设备般判断了自身是否为目标VN里的目标NVE设备的DF之后,就实现了从目标NVE设备所接入的多个PE设备中选择目标VN里的目标NVE设备的DF。

本实施例提供了一种负载分担方法,其中,第一PE设备获取第一PE设备的第一设备标识、第一设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;第一PE设备还从第二PE设备处,获取第二PE设备的第二设备标识、第二设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;由于从第二PE设备处获取到了相同的目标ESI以及目标VN的VN ID,因此第一PE设备根据第一设备标识、第二设备标识、目标ESI以及目标VN的VN ID,判断第一PE设备是否为目标VN里的目标NVE设备的DF。与现有技术中仅基于VN的粒度来选择DF不同,本实施例中为VN中多归接入多个PE设备的NVE设备选择DF,实现了基于NVE+VN的粒度来选择DF,这样就实现了将一个NVE设备上的VN平衡的分担到多个PE设备上,使得每个PE设备所分担的负载更为均衡。

步骤201中,第一PE设备需要获取目标NVE设备的目标ESI。其中,ESI用于在互联网络中唯一标志一个NVE设备,互联网络中NVE设备的ESI由NVE设备所接入的PE设备进行配置。本发明实施例中,第一PE设备可以静态配置目标NVE设备的目标ESI;也可以先获取目标NVE设备的IP地址,然后根据该IP地址生成该目标NVE设备的目标ESI;也可以从其它PE设备 处获取其它PE设备为目标NVE设备配置的目标ESI;也可以通过其它方式确定目标NVE设备的目标ESI,本发明实施例中不做限定。但值得指出的是,由于ESI用于在网络中唯一标志一个NVE设备,因此每个NVE设备只有一个ESI,若目标NVE设备多归接入了多个PE设备,且该多个PE设备分别配置或生成目标NVE设备的目标ESI,则该多个PE设备需要为目标NVE设备配置或生成相同的目标ESI。

步骤203中,第一PE设备要判断自身是否为目标VN里的目标NVE设备的DF。其中以第一PE设备与第二PE设备为例,若目标NVE设备只联入了第一PE设备与第二PE设备,则第一PE设备判断在第一PE设备中与第二PE设备中,是否选择第一PE设备作为目标VN里的目标NVE设备的DF。具体的,第一PE设备根据第一设备标识对应的目标ESI和目标VN ID,与第二设备标识对应的目标ESI和目标VN ID相同,就可以确定第一PE设备和第二PE设备均接入了该目标VN里的目标NVE。于是第一PE设备在第一PE设备和第二PE设备之中,将该第一PE设备均衡的分配为该目标VN里的目标NVE设备的DF。

但是在实际应用中,目标VN里的目标NVE设备除了第一PE设备与第二PE设备,还可以与第三PE设备、第四PE设备甚至更多的PE设备相联。若目标VN里的目标NVE设备还与EVPN中的第三PE设备相联,则与对第二PE设备的处理方法类似的,第一PE设备还接收来自第三PE设备的消息。由于第三PE设备与目标VN里的目标NVE相联,因此,第三PE设备的第三设备标识也对应目标ESI与目标VN。第三PE设备的第三设备标识、与第三设备标识对应的目标ESI和目标VN ID均在该来自第三PE设备的消息中携带。第一PE设备确定第一设备标识对应的目标ESI与目标VN ID、第二设备标识对应的目标ESI与目标VN ID、和第三设备标识对应的目标ESI与目标VN ID均相同,因此确定第一PE设备、第二PE设备和第三PE设备均与目标VN里的目标NVE相联。因此,第一PE设备根据第一设备标识、第二设备标识、第三设备标识、目标ESI和目标VNID,判断自己是否是目标VN里的目标NVE设备的DF。具体的,第一PE设备在第一PE设备、第二PE设备和第三PE设备之中,将第一PE设备均衡的分配为目标VN里的目标NVE 设备的DF。同理的,若目标NVE设备共接入了N个PE设备(包括第一PE设备和第二PE设备),则第一PE设备判断在该N个PE设备中,是否选择第一PE设备作为目标VN里的目标NVE设备的DF。

其中,为了均衡各PE设备上的负载,第一PE设备应尽可能的将目标NVE设备上的每个VN的DF的角色平均指定给各PE设备来担任。基于此平均原则,第一PE设备可以通过如下步骤均衡的为目标VN里的目标NVE设备分配DF:

步骤一、第一PE设备计算i=(目标VN的VN ID)mod(N),其中,N用于表示为该目标VN里的目标NVE设备进行负载分担的PE设备的个数,且N为不小于2的整数。该N个PE设备被从0至N-1编号,具体可以被第一PE设备编号,还可以被第二PE设备或其它PE设备编号。但是若有不少于两个PE设备执行对该N个PE设备编号的操作,则执行对该N个PE设备编号操作的PE设备需要根据相同的规则对该N个PE设备进行编号,即任何执行对该N个PE设备编号操作的PE设备对该N个PE设备的编号都相同。其中,i用于表示该N个PE设备中的任何一个设备的编号,可以理解的,i的取值范围为0至N-1中的任意整数。其中,mod用于表示取模运算符。

步骤二、第一PE设备根据计算得到的i值确定第一PE设备是否为目标VN里的目标NVE设备的DF,具体的,i值表示该目标VN里的目标NVE设备的DF的编号,若i等于第一PE设备的编号,则确定第一PE设备是目标VN里的目标NVE设备的DF。若i不等于第一PE设备的编号,则确定第一PE设备不是目标VN里的目标NVE设备的DF。

步骤一中,对为目标NVE设备进行负载分担的N个PE设备从0至N-1编号的方法有很多,例如可以根据该N个PE设备的设备标识,按照从小到大或者从大到小的顺序进行从0至N-1编号。也可以通过其它方法对该N个PE设备进行编号,此处不做限定。

在步骤203之后,当第一PE设备接收到来自EVPN侧的BUM报文,且该BUM报文中包括目标ESI以及目标VN的VN ID时,若第一PE设备确定自己是目标VN里的目标NVE设备的DF,则第一PE设备向目标NVE设备转发该BUM报文;若第一PE设备确定自己不是目标VN里的目标NVE设 备的DF,则第一PE设备丢弃该BUM报文。

可选的,作为本发明的又一个实施例,互联网络中的近端PE设备之间可以共用一个IP地址,使用任播(Anycast)方法来接收本地NVE设备发送的消息。以第一PE设备与第二PE设备为例,第一PE设备可以和第二PE设备共用一个IP地址,VN网络直接向该IP地址发送BUM报文,然后该BUM报文到达第一PE设备和第二PE设备中内部网关协议路径(IGP cost)最短的PE设备上。通过这样的方法,能够均衡互联网络中各PE设备的负载分担,避免大量报文同时发送给一个PE设备造成的网络拥塞等情况。

为了便于理解上述实施例,下面将以上述实施例的一个具体应用场景为例进行描述。

在VN与EVPN互联网络中包括PE设备1、PE设备2与PE设备3,且PE设备1、PE设备2、PE设备3均与目标NVE设备相联,目标NVE设备上接入有VN1与VN2。

PE设备1获取自身的IP地址作为自身的设备标识,并获取与自己相联的目标NVE的IP地址,根据该目标NVE的IP地址生成该目标NVE的目标ESI。PE设备1还获取目标NVE设备上接入的VN1和VN2的VN ID。

PE设备1从PE设备2处接收第一消息,该消息中包括PE设备2的IP地址、目标ESI以及VN1和VN2的VN ID。PE设备1接收到PE设备2的第一消息后,就能够获知该目标NVE也联入了PE设备2。PE设备1还从PE设备3处接收第二消息,该消息中包括PE设备3的IP地址、目标ESI以及VN1和VN2的VN ID。PE设备1接收到PE设备3的第二消息后,就能够获知该目标NVE设备也联入了PE设备3。

PE设备1确定目标NVE同时接入了PE设备1、PE设备2、PE设备3后,将PE设备1、PE设备2、PE设备3按照IP地址大小的顺序从0至2编号,得到PE设备1的编号为0,PE设备2的编号为2,PE设备3的编号为1。

PE设备1计算i1=(VN 1的VN ID)mod 3,得到i1=1。由于i1与PE设备1的编号不同,因此PE设备1确定自己不是VN 1的目标NVE设备的DF。PE设备1计算i2=(VN 2的VN ID)mod 3,得到i2=0。由于i2与PE设备1的编号相同,因此PE设备1确定自己是VN 2的目标NVE设备的DF。

PE设备1接收EVPN侧的BUM报文1,该BUM报文1中携带有目标ESI以及VN ID 1的VN ID。由于PE设备1不是VN 1的目标NVE的DF,故PE设备1丢弃该BUM报文1。PE设备1还接收EVPN侧的BUM报文2,该BUM报文2中携带有目标ESI以及VN ID 2的VN ID。由于PE设备1是VN 2的目标NVE设备的DF,故PE设备1将该BUM报文2转发给目标NVE设备。

在上述方法的基础上,本发明实施例还提供了相关的负载分担装置,适用于VN与EVPN互联网络,用于实现上文中所述方法,其基本结构请参阅图3,包括:

信息获取模块301,用于实现步骤201中的操作,此处不做赘述。

消息接收模块302,用于实现步骤202中的操作,此处不做赘述。

DF选择模块303,实现步骤203中的操作,此处不做赘述。

本实施例中,信息获取模块301获取第一PE设备的第一设备标识、第一设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;消息接收模块302从第二PE设备处,获取第二PE设备的第二设备标识、第二设备标识对应的目标NVE设备的目标ESI,以及目标NVE设备上接入的目标VN的VN ID;由于从第二PE设备处获取到了相同的目标ESI以及目标VN的VN ID,因此DF选择模块303根据第一设备标识、第二设备标识、目标ESI以及目标VN的VN ID,判断第一PE设备是否为目标VN里的目标NVE设备的DF。与现有技术中仅基于VN的粒度来选择DF不同,本实施例中为VN中多归接入多个PE设备的NVE设备选择DF,实现了基于NVE+VN的粒度来选择DF,这样就实现了将一个NVE设备上的VN平衡的分担到多个PE设备上,使得每个PE设备所分担的负载更为均衡。

可替换的,信息获取模块301可以通过如下方法获取第一设备标识对应的目标NVE设备的ESI:为目标NVE设备配置目标ESI;或,获取目标NVE设备的IP地址,并根据目标NVE设备的IP地址生成目标NVE设备的目标ESI。

可替换的,DF选择模块303可以通过如下方法判断第一PE设备是否为目标VN里的目标NVE设备的DF:

根据第一设备标识对应的目标ESI和目标VN ID,与第二设备标识对应的目标ESI和目标VN ID相同,确定第一PE设备和第二PE设备均接入了目标VN里的目标NVE;在第一PE设备和第二PE设备之中,将第一PE设备均衡的分配为目标VN里的目标NVE设备的DF。

可替换的,DF选择模块303可以通过如下方将第一PE设备均衡的分配为目标VN里的目标NVE设备的DF:

根据公式i=(VN ID)mod(N)计算i值,其中,N指示为目标VN里的目标NVE设备进行负载分担的PE设备的个数,N为不小于2的整数;i指示所述N个PE设备中的任何一个设备的编号,该N个PE设备被从0至N-1编号,mod指示取模运算符;若计算得到的i等于第一PE设备的编号,则确定第一PE设备为目标VN里的目标NVE设备的DF;若计算得到的i不等于第一PE设备的编号,则确定第一PE设备不为目标VN里的目标NVE设备的DF。

可替换的,DF选择模块303可以通过如下方法将该N个PE设备从0至N-1编号:根据该N个PE设备的设备标识,按照设备标识从小到大的顺序或从大到小的顺序对该N个PE设备进行从0至N-1编号。

可替换的,消息接收模块302还可以接收来自EVPN侧的BUM报文,该BUM报文中包括目标ESI,以及目标VN的VN ID。负载分担装置还可以包括可选模块报文处理模块304,用于在第一PE设备是目标VN里的目标NVE设备的DF时,向目标NVE设备转发该BUM报文;在第一PE设备不是目标VN里的目标NVE设备的DF时,丢弃该BUM报文。

上面从单元化功能实体的角度对本发明实施例中的负载分担装置进行了描述,下面从硬件处理的角度对本发明实施例中的负载分担装置进行描述,请参阅图4,本发明实施例中的负载分担装置400另一实施例包括:

输入装置401、输出装置402、处理器403和存储器404(其中负载分担装置400中的处理器403的数量可以一个或多个,图4中以一个处理器403为例)。在本发明的一些实施例中,输入装置401、输出装置402、处理器403和存储器404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。

其中,通过调用存储器404存储的操作指令,处理器403用于执行如下步骤:

获取所述第一PE设备的第一设备标识,并获取所述第一设备标识对应的所述目标NVE设备的目标以太网段标识符ESI和所述目标NVE设备上接入的目标VN的虚拟网标识VN ID,所述目标ESI用于唯一标识所述目标NVE设备;

接收来自所述第二PE设备的消息,所述来自所述第二PE设备的消息中携带所述第二PE设备的第二设备标识,以及所述第二设备标识对应的所述目标ESI和所述目标VN的VN ID;

根据所述第一设备标识、所述第二设备标识、所述目标ESI和所述目标VN的VN ID,判断所述第一PE设备是否为所述目标VN里的所述目标NVE设备的指定转发者DF,所述DF用于将从EVPN网络侧收到的广播、未知单播或组播BUM报文转发给所述NVE设备。

本发明的一些实施例中,处理器403还用于执行如下步骤:

为所述目标NVE设备配置目标ESI;

或,获取所述目标NVE设备的互联网协议IP地址,并根据所述目标NVE设备的IP地址生成所述目标NVE设备的目标ESI。

本发明的一些实施例中,处理器403还用于执行如下步骤:

根据所述第一设备标识对应的所述目标ESI和所述目标VN ID,与所述第二设备标识对应的所述目标ESI和所述目标VN ID相同,确定所述第一PE设备和所述第二PE设备均接入了所述目标VN里的所述目标NVE;

在所述第一PE设备和所述第二PE设备之中,将所述第一PE设备均衡的分配为所述目标VN里的所述目标NVE设备的DF。

本发明的一些实施例中,处理器403还用于执行如下步骤:

根据公式i=(VN ID)mod(N)计算i值,其中,所述N指示为所述目标VN里的目标NVE设备进行负载分担的PE设备的个数,所述N为不小于2的整数;所述i指示所述N个PE设备中的任何一个设备的编号,所述N个PE设备被从0至N-1编号;所述mod指示取模运算符;

若计算得到的i等于所述第一PE设备的编号,则确定所述第一PE设备 为所述目标VN里的所述目标NVE设备的DF;

若计算得到的i不等于所述第一PE设备的编号,则确定所述第一PE设备不为所述目标VN里的所述目标NVE设备的DF。

本发明的一些实施例中,处理器403还用于执行如下步骤:

根据所述N个PE设备的设备标识,按照设备标识从小到大的顺序或从大到小的顺序对所述N个PE设备进行从0至N-1编号。

本发明的一些实施例中,处理器403还用于执行如下步骤:

接收来自所述EVPN侧的BUM报文,所述BUM报文中包括所述目标ESI,以及所述目标VN的VN ID;

若所述第一PE设备是所述目标VN里的所述目标NVE设备的DF,则向所述目标NVE设备转发所述BUM报文;若所述第一PE设备不是所述目标VN里的所述目标NVE设备的DF,则丢弃所述BUM报文。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1