本公开涉及通信技术领域,尤其涉及一种指定转发者df的选举方法和装置。
背景技术:
evpn(ethernetvirtualprivatenetwork,以太网虚拟专用网络)是一种二层vpn技术,控制平面采用mp-bgp通告evpn路由信息,数据平面采用vxlan或mpls封装方式转发报文。租户的物理站点分散在不同位置时,evpn可以基于已有的服务提供商或企业ip网络,为同一租户的相同子网提供二层互联。通过evpn路由也可以发布vpn的私网路由信息,以实现mplsl3vpn组网。
evpn多归属组网df选,当一个ce连接到多台pe时,为了避免冗余备份组中的pe均发送泛洪流量给该ce,需要在冗余备份组中为每个ac选举一个pe作为df(designatedforwarder,指定转发者),负责将泛洪流量转发给该ac。其他pe作为该ac的bdf(backupdf,备份df),不会向本地ce转发泛洪流量。多归属成员通过发送以太网段路由,向其它pe通告es及其连接的pe信息,仅配置了esi的pe会接收以太网段路由并根据其携带的es、pe信息选举出df。
技术实现要素:
本说明书提供了一种指定转发者df的选举方法和装置,通过该方法可以解决多个pe中存在不同vlan的情况下进行df选举。
本说明书提供了一种指定转发者df的选举方法,该方法应用于多归属网络中的本端pe设备,该方法包括:
接收对端pe发送的es路由,所述es路由中携带第一选举信息,所述第一选举信息包括:对端pe的df选举参数ri、对端pe的vlan值,以及对端pe的routerid;
获取本端第二选举信息,所述第二选举信息包括:本端pe的df选举参数ri、本端pe的vlan值,以及本端pe的routerid;
根据所述对端pe的routerid与本端pe的routerid大小,选择对第一选举信息中的对端ri或者第二选举信息中的本端ri进行累加运算;
根据累加运算后的第一选举信息或者第二选举信息进行df选举。
通过上述方法可以看出,本端pe可以根据选举信息中routerid大小比较,以及结合比较后的累加运算,实现df选举,而无需仅要求各ac口的vlan相同。
可选的,所述根据所述对端pe的routerid与本地pe的routerid大小,选择对第一选举信息中的对端ri或者第二选举信息中的本端ri进行累加运行,具体包括:
获取对端pe的routerid和本端routerid,并进行大小判断;
若对端pe的routerid大于本端routerid时,对所述第一选举信息中的ri进行累加运算;或者,
若对端pe的routerid大于本端routerid时,对所述第二选举信息中的ri进行累加运算。
可选的,所述根据累加运算后的第一选举信息或者第二选举信息进行df选举,具体包括:
利用第一选举信息中的对端pe的df选举参数ri和对端pe的vlan值的乘积,与第二选举信息中的本端pe的df选举参数ri和本端pe的vlan值的乘积进行比较,选择大的乘积结果对应的pe设备作为df设备;
其中,所述对端ri或者本端ri为进行累加后的ri。
可选的,所述对端pe的vlan值包括对端pe设备中各vlan的平均值;
所述本端pe的vlan值包括本端pe设备中各vlan的平均值。
本说明书还提供了一种pe设备,所述pe设备被部署于多归属网络,所述pe装置包括:
接收模块,用于接收对端pe发送的es路由,所述es路由中携带第一选举信息,所述第一选举信息包括:对端pe的df选举参数ri、对端pe的vlan值,以及对端pe的routerid;
获取模块,用于获取本端第二选举信息,所述第二选举信息包括:本端pe的df选举参数ri、本端pe的vlan值,以及本端pe的routerid;
运算模块,用于根据所述对端pe的routerid与本端pe的routerid大小,选择对第一选举信息中的对端ri或者第二选举信息中的本端ri进行累加运算;
处理模块,用于根据累加运算后的第一选举信息或者第二选举信息进行df选举。
所述运算模块,具体用于获取对端pe的routerid和本端routerid,并进行大小判断;
若对端pe的routerid大于本端routerid时,对所述第一选举信息中的ri进行累加运算;或者,
若对端pe的routerid大于本端routerid时,对所述第二选举信息中的ri进行累加运算。
所述处理装置,具体用于利用第一选举信息中的对端pe的df选举参数ri和对端pe的vlan值的乘积,与第二选举信息中的本端pe的df选举参数ri和本端pe的vlan值的乘积进行比较,选择大的乘积结果对应的pe设备作为df设备;
其中,所述对端ri或者本端ri为进行累加后的ri。
可选的,所述对端pe的vlan值包括对端pe设备中各vlan的平均值;
所述本端pe的vlan值包括本端pe设备中各vlan的平均值。
可选的,所述第一选举信息还包括选举标识符,所述选举标识符用于通知接收该第一选举信息的设备进行df选举。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1为本公开实施例提供的一种df的选举方法的流程示意图;
图2为本公开实施例提供的一种网络的架构示意图;
图3为本公开实施例提供的一种网络的架构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
evpn多归属的df选举,以双归属组网为例,要求两端参与选举的vlan一致,在实际的应用场景中,用户需要保证evpn多归属两侧的ac指定的vlan配置相同,然后选举结果按照上述的vlan取模得到,通过这种方式来进行df选举会存在以下技术问题:
例如多归属端配置的vlan要求一致,如果两端ac配置不同的vlan,选举结果会出现都是df或者都是bdf。
当每端pe有多个ac对应的vlan时,可能会出现df不能均匀分布,不能很好地负载分担。比如acvlan都是偶数或者都是奇数
多归属端esi下挂的ac数量不一致时,不能保证某一端pe的ac都是df,例如pe1的esi下挂3个ac,pe2的esi下挂2个ac,每个ac配置的vlan不同,按vlan取模选举出来的结果不能保证pe1的ac全部都是df或者pe2的ac全部都是df。
如图1所示,为了解决上述技术问题,本说明书提供了一种指定转发者df的选举方法,该方法包括:
s101接收对端pe发送的es路由,所述es路由中携带第一选举信息,所述第一选举信息包括:对端pe的df选举参数ri、对端pe的vlan值,以及对端pe的routerid;
s102获取本端第二选举信息,所述第二选举信息包括:本端pe的df选举参数ri、本端pe的vlan值,以及本端pe的routerid;
s103根据所述对端pe的routerid与本端pe的routerid大小,选择对第一选举信息中的对端ri或者第二选举信息中的本端ri进行累加运算;
s104根据累加运算后的第一选举信息或者第二选举信息进行df选举。
在步骤s101中对端设备发送es(ethernetsegmentroute,以太网段路由)路由时,可在该es路由中添加选举参数、对端pe上ac口的vlan值,以及对端pe的routerid,其中,选举参数可分为静态值(管理员设置的固定值)和动态值(依据指定参数协商变化的值),为便于说明,下列实施例中设定ri的默认值(静态值和动态值)为4096。
在某些情况下,对端pe中可能包含多个ac口对应不同vlan,再实施本实施例时,可将不同的vlan值进行均值处理,并将均值处理后作为对端pe的vlan值添加到es路由中。
在步骤s102中,本端pe设备可按上述方法获取本端的第二选举信息。
在步骤s103中,获取对端pe的routerid,与本端pe的routerid进行大小比较,获取的比较结果,该比较结果可能会有两种,一种是对端pe的routerid大于本端pe的routerid,另一种反之。
管理员可以根据该结果进行相关设定,例如,设定当对端pe的routerid大于本端pe的routerid时,对端第一选举信息中的ri进行累加运算,例如ri=4096+1(加1运算)。或者设定当对端pe的routerid大于本端pe的routerid时,对本端第二选举信息中的ri进行累加运算。需说明的是,本端pe与对端pe逻辑上可对调,此处并不进行限制。
在步骤s104中,根据累加运算后的第一选举信息或者第二选举信息进行df选举,具体的,可通过公式ri*vlan对第一选举信息或第二选举信息进行运算,并获取运算值,根据管理员需求,可以将具有较大运算值对应的pe作为df设备。
如图2所示,多归属设备pe1、pe2上acvlan不同,pe1上的acvlan为100,pe2上acvlan为200,pe1发送es路由给pe2,该es路由携带acvlan100,ri值4096。
pe2接收到该es路由后,通过该es路由可获知pe1的routerid,pe2用自身的routerid与pe1的routerid进行大小比对,若pe2的routerid较大时(管理员设定取较大值),则对pe2中的ri值做加1运算。
根据ri*vlan公式,分别计算pe1对应的值,和pe2对应的值,经计算pe1对应的值为409600,pe2对应的值为819400,则可确定pe2为df设备。
在实际中,在一个pe上可能存在多个不同的acvlan,如图3所示,此时,携带在es路由中的vlan值可以为pe设备上的acvlan均值,如图3,pe1发送给pe2的es路由中携带的vlan值为11、12、13三个数的平均值,同理,pe2上面获取的vlan值为14、15两个数的平均值。
在本实施例中,pe1设备在发送es路由时,可在es路由中添加用于告知对端设备执行本选举方法的选举标识符,pe2在接收到携带选举标识符的es路由时,可知pe1支持本实施例中的选举方法。
通过上述实施例可以看出,通过本实施例中的方案,可以避免受具有相同vlan才能参与选举的限制。
基于上述相同的思想构思,本说明书实施例还提供了一种pe设备,所述pe设备被部署于多归属网络,所述pe装置包括
接收模块,用于接收对端pe发送的es路由,所述es路由中携带第一选举信息,所述第一选举信息包括:对端pe的df选举参数ri、对端pe的vlan值,以及对端pe的routerid;
获取模块,用于获取本端第二选举信息,所述第二选举信息包括:本端pe的df选举参数ri、本端pe的vlan值,以及本端pe的routerid;
运算模块,用于根据所述对端pe的routerid与本端pe的routerid大小,选择对第一选举信息中的对端ri或者第二选举信息中的本端ri进行累加运算;
处理模块,用于根据累加运算后的第一选举信息或者第二选举信息进行df选举。
所述运算模块,具体用于获取对端pe的routerid和本端routerid,并进行大小判断。
若对端pe的routerid大于本端routerid时,对所述第一选举信息中的ri进行累加运算;或者,
若对端pe的routerid大于本端routerid时,对所述第二选举信息中的ri进行累加运算。
所述处理装置,具体用于利用第一选举信息中的对端pe的df选举参数ri和对端pe的vlan值的乘积,与第二选举信息中的本端pe的df选举参数ri和本端pe的vlan值的乘积进行比较,选择大的乘积结果对应的pe设备作为df设备;
其中,所述对端ri或者本端ri为进行累加后的ri。
所述对端pe的vlan值包括对端pe设备中各vlan的平均值;
所述本端pe的vlan值包括本端pe设备中各vlan的平均值。
所述第一选举信息还包括选举标识符,所述选举标识符用于通知接收该第一选举信息的设备进行df选举。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。