一种路由表更新方法、EVPN控制设备及EVPN系统与流程

文档序号:12067973阅读:415来源:国知局
一种路由表更新方法、EVPN控制设备及EVPN系统与流程

本发明涉及通信领域,尤其涉及一种路由表更新方法、EVPN控制设备及EVPN系统。



背景技术:

结合图1所示的EVPN的结构,EVPN包括至少一个运营商边缘(英文:Provider Edge,简称:PE)设备。EVPN内的PE设备互相连接。网络终端通过客户边缘(英文:Customer Edge,简称:CE)设备与PE设备连接。

EVPN内的PE设备学习本地网络终端的媒体访问控制(英文:Media Access Control,简称:MAC)地址,其中本地网络终端是指通过该PE设备与EVPN连接的网络终端。学习MAC地址之后,PE设备通过路由协议报文向EVPN内的其它PE设备发送本地网络终端的MAC地址,并接收其它PE设备通过路由协议报文发送的各自的本地网络终端的MAC地址。每个PE设备根据本地网络终端的MAC地址,以及接收到的EVPN内的其它PE设备的本地网络终端的MAC地址,生成MAC路由表。当一个PE设备接收到本地网络终端向其它PE设备的本地网络终端发送的数据报文时,根据报文的目的MAC地址,查询MAC路由表,确定下一跳地址并向EVPN内其它PE设备转发。

PE设备有时需要更新MAC路由表。例如,PE设备与CE设备之间的附着电路(英文:attachment circuit,简称:AC)发生故障时,导致该PE设备与连接在该CE设备上的本地网络终端断开。该PE设备需要向EVPN内其它PE设备发送路由协议报文,以指示其它PE设备撤消指向已断开连接的本地网络终端的路由。接收到路由协议报文的PE设备更新MAC路由表,撤销受故障影响的已有路由,并确定替代已有路由的新路由(如果有)。

然而,当一个PE设备指示其它PE设备更新MAC路由表时,需要向其它所有的PE设备广播路由协议报文,接收到路由协议报文的每个PE设备均在处理路由协议报文后撤销受故障影响的路由并确定新的路由,导致PE 设备更新路由表的过程资源开销较大。



技术实现要素:

本发明的实施例提供一种路由表更新方法、EVPN控制设备及EVPN系统,能够减小PE设备更新路由表时的资源开销。

为达到上述目的,本申请通过EVPN的控制装置对EVPN内的PE设备进行集中管理,其中所述EVPN包括至少两个PE设备,所述至少两个PE设备与EVPN的控制设备连接。本申请采用如下技术方案:

第一方面,本申请提供一种EVPN中的PE设备更新路由表的方法,所述方法包括:所述控制设备获取所述EVPN的PE设备参数,所述PE设备参数用于指示所述至少两个PE设备之间的连接关系;

所述控制设备获取所述至少两个PE设备中每个PE设备的本地网络终端标识,其中,所述至少两个PE设备包括第一PE设备,所述第一PE设备的本地网络终端标识用于标识所述第一PE设备的本地网络终端,所述第一PE设备的本地网络终端包括通过所述第一PE设备与所述EVPN连接的网络终端;

所述控制设备根据所述PE设备参数确定所述EVPN的拓扑,并根据所述EVPN的拓扑以及所述至少两个PE设备中每个PE设备的本地网络终端标识,确定所述至少两个PE设备中每个PE设备的EVPN路由表,其中,所述第一PE设备的EVPN路由表用于指示所述第一PE设备的本地单播报文的目的地址所对应的下一跳地址,所述第一PE设备的本地单播报文为所述第一PE设备的本地网络终端向所述至少两个PE设备中其它PE设备的本地网络终端发送的单播报文;

所述控制设备将所述至少两个PE设备中每个PE设备的EVPN路由表发送至对应的PE设备。

控制设备根据EVPN的拓扑结构以及EVPN内每个PE设备的本地网络终端,为EVPN内每个PE设备确定转发路由,生成路由表,并将路由表发送至对应的PE设备。通过控制设备对EVPN内的PE设备进行集中管理,EVPN内的PE设备只需要按照接收到的路由表转发本地单播报文,无需完 成路由协议报文的收发、处理,以及确定替代路由等工作,从而减小PE设备更新路由表时的资源开销。

结合第一方面,在第一种可能的实现方式中,控制设备通过向EVPN内的PE设备发送广播参数,以指示PE设备按照广播树对广播报文进行转发。

所述控制设备获取所述至少两个PE设备中每个PE设备的本地用户边缘CE设备参数,其中,所述第一PE设备的本地CE设备参数用于指示所述第一PE设备的本地CE设备,所述第一PE设备的本地CE设备为与所述第一PE设备连接的CE设备;

所述控制设备根据所述EVPN的拓扑以及所述至少两个PE设备中每个PE设备的本地CE设备参数,确定所述至少两个PE设备中每个PE设备的广播参数,其中,所述第一PE设备的广播参数用于指示所述第一PE设备按照所述第一PE设备的广播树转发广播报文,确定所述第一PE设备的广播树,其中,所述第一PE设备的广播树为所述第一PE设备的广播路径的集合,所述第一PE设备的广播路径为所述控制设备在所述第一PE设备的候选广播路径中所选定的路径,所述第一PE设备的本地CE设备包括第一CE设备,第二PE设备的本地CE设备包括第二CE设备,所述第二PE设备为所述至少两个PE设备中除所述第一PE设备之外的任一PE设备,所述第一PE设备的广播树中,从所述第一CE设备到所述第二CE设备的广播路径的数量为1;

所述控制设备根据所述第一PE设备的广播树,确定所述第一PE设备的广播参数,所述第一PE设备的广播参数用于指示所述第一PE设备按照所述第一PE设备的广播树转发广播报文;

所述控制设备将所述第一PE设备的广播树所经过的每一PE设备的广播参数发送至对应PE设备。

在一些情况下,两个CE设备之间存在两条以上候选广播路径,由于广播树中只包括其中一条路径,PE设备按照广播树转发广播报文时,广播报文不会被复制到每一条候选广播路径上,由此减少了传输广播报文所占用的网络资源。

结合第一方面,在第二种可能的实现方式中,

所述控制设备接收所述第二PE设备发送的故障指示消息,所述故障指示消息用于指示所述第二PE设备与所述第二CE设备之间的附着电路AC故障;

所述控制设备将与所述第二CE设备连接的网络终端的标识添加到第三PE设备的本地网络终端标识中,所述第三PE设备为通过备用AC与所述第二CE设备连接的PE设备;

所述控制设备根据所述EVPN的拓扑以及更新的所述第三PE设备的本地网络终端标识,更新所述至少两个PE设备中除所述第二PE设备和所述第三PE设备之外的每个PE设备的EVPN路由表;

所述控制设备将更新后的EVPN路由表发送至对应的PE设备。

当一个PE设备与其连接的CE设备之间的AC出现故障的情况下,该PE设备向控制设备上报故障指示,控制设备将更新后的EVPN路由表发送至对应的PE设备,以保证故障发生之后EVPN能够正确地进行数据报文转发。

第二方面,本申请提供一种计算机可读介质,用于存储本申请方案的程序代码,所述程序代码包括用于执行第一方面所提供的方法的指令。

第三方面,本申请提供一种EVPN的控制设备,包括处理器、存储器及网络接口,所述处理器和所述存储器相连,所述处理器和所述网络接口相连;其中,所述存储器用于存储程序代码,以及通过所述网络接口接收或者发送的数据。处理器用于执行本申请第一方面所提供的方法。

第四方面,本申请提供一种EVPN的控制设备,包括配置单元、获取单元、处理单元以及发送单元,用于执行本申请第一方面中相应的步骤,完成第一方面所提供的方法。

第五方面,本申请提供一种EVPN系统,包括EVPN及所述EVPN的控制设备,其中,所述EVPN包括至少两个PE设备,所述至少两个PE设备与所述控制设备连接,所述控制设备通过执行本申请第一方面所提供的方法,对所述EVPN进行控制。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为EVPN的结构示意图;

图2为本发明的实施例所提供的一种EVPN系统的结构示意图;

图3为本发明的实施例所提供的一种路由表更新方法流程示意图;

图4为EVPN中广播报文的传统传输过程的示意图;

图5为本发明的实施例中广播报文传输过程的示意图;

图6为本发明的实施例中广播报文传输过程的另一示意图;

图7为本发明的实施例所提供的一种EVPN的控制设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。

本发明的实施例所涉及的EVPN的网络结构如图2所示,EVPN包括至少两个PE设备,PE设备两两连接,两个PE设备可以直接连接或者通过运营商(英文:Provider,简称:P)设备连接,P设备作为两个PE设备之间的转发设备,对转发PE设备之间的数据报文。图2所示为PE设备直接连接的情况,当然这并不代表本发明所提供的方法以及控制装置,仅适用于PE设备直接连接的情况。

EVPN内的PE设备与控制设备连接。图2所示的EVPN包括PE设备121、PE设备122和PE设备123这3个PE设备,3个PE设备两两连接。网络终端通过CE设备与PE设备连接,每个PE设备连接各自的本地网络终端。一个PE设备的本地网络终端是指通过该PE设备与EVPN连接的本地网络终端。例如,图2中网络终端141通过CE设备131与PE设备121连接,则网络终端141为PE设备121的本地网络终端。进一步地,网络终端142以及网络终端143均为PE设备121的本地网络终端。

为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,例如第一PE设备,第二PE设备。本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量或者执行次序进行限定。

参照图3所示,本发明的实施例提供一种路由表更新方法,包括以下步骤:

301、控制设备获取EVPN的PE设备参数。

其中,PE设备参数用于指示至少两个PE设备之间的连接关系。其中,PE设备之间的连接关系,指PE设备之间通过伪线(英文:pseudo wire,简称:PW)所建立的连接关系。建立了连接关系的两个PE设备之间,通过伪线进行数据报文传输。在两个PE设备之间需要经过P设备转发的情况下,PE设备与P设备之间建立隧道,通过隧道承载PE设备之间的伪线。PE设备与P设备之间的隧道可以是多协议标签交换(全称:Multiprotocol Label Switching,简称:MPLS)隧道,通用路由封装(全称:Generic Routing Encapsulation,简称:GRE)隧道等。

控制设备通过与PE设备之间的连接获取EVPN内各个PE设备的MAC地址,通过PE设备各自的MAC地址标识不同的PE设备。控制设备指示两个PE设备建立PW连接,两个PE设备之间的PW连接建立之后,控制设备记录两个PE设备之间的连接关系。进一步地,控制设备指示EVPN内的PE设备两两建立PW连接,并记录这些PE设备之间的连接关系。EVPN的PE设备参数,包括控制设备所记录的EVPN内全部PE设备之间的连接关系。EVPN的PE设备参数反映了整个EVPN的拓扑。

可选的,控制设备获取EVPN的PE设备参数之后,进一步获取EVPN内每个PE设备的本地CE设备参数。

以第一PE设备为例,对PE设备的本地CE设备参数进行说明。其中,第一PE设备为EVPN所包括的至少两个PE设备中的任一PE设备。第一PE设备的本地CE设备参数用于指示第一PE设备的本地CE设备,第一PE设备的本地CE设备为与第一PE设备连接的CE设备。结合图2所示,CE设备131与PE设备121连接,CE设备131为PE设备121的本地CE设备。

控制设备将与EVPN连接的CE设备划分为不同的以太段(英文:Ethernet segment,简称:ES)。当一个CE设备与第一PE设备连接时,第一PE设备请求控制设备为CE设备分配以太段标识(英文:Ethernet segment identification,简称:ESI)。控制设备为新接入的CE设备分配ESI,并将新接入的CE设备加入第一PE设备的本地CE设备中。

如果第一PE设备没有连接任何CE设备,则第一PE设备没有本地CE设备。如果第一PE设备与至少一个CE设备连接,则第一PE设备包括至少一个本地CE设备。控制设备通过CE设备各自所属ES的ESI标识一个CE设备。第一PE设备的本地CE设备参数,包括控制设备为第一PE设备的本地CE设备所分配的全部ESI。

进一步地,EVPN内每个PE设备各自将每个本地CE设备所属ES的ESI标识发送到控制设备。EVPN内每个PE设备的本地CE设备参数,反映了EVPN内每个PE设备与本地CE设备(如果有)的连接关系。

302、控制设备获取至少两个PE设备中每个PE设备的本地网络终端标识。

其中,第一PE设备的本地网络终端标识用于标识第一PE设备的本地网络终端,第一PE设备的本地网络终端包括通过第一PE设备与EVPN连接的网络终端。与第一PE设备的本地CE设备连接的网络终端,为第一PE设备的本地网络终端。

结合图2所示,网络终端141、网络终端142通过CE设备131与PE设备121连接,网络终端143通过CE设备132与PE设备121连接,网络终端141、网络终端142以及网络终端143均为PE设备121的本地网络终端。PE设备123只与CE设备133一个CE设备连接,网络终端144通过CE设备133与PE设备123连接,网络终端144为PE设备123的本地网络终端。

第一PE设备的本地网络终端可以包括一个或多个网络终端,第一PE设备的本地网络终端标识,包括第一PE设备的每个本地网络终端各自的标识。本地网络终端的标识包括本地网络终端的MAC地址。PE设备接收到地址解析协议(全称:Address Resolution Protocol,简称:ARP)报文或者动 态主机配置协议(全称:Dynamic Host Configuration Protocol,简称:DHCP)报文时可以学习MAC地址,以获取本地网络终端的MAC地址。

进一步地,第一PE设备将本地网络终端标识发送到控制设备,并将学习到新的本地网络终端MAC地址作为新的本地网络终端的标识发送到控制设备,以指示控制设备对第一PE设备的本地网络终端标识进行更新。

303、控制设备确定至少两个PE设备中每个PE设备的EVPN路由表。

以第一PE设备为例,第一PE设备的EVPN路由表用于指示第一PE设备的本地单播报文的目的地址所对应的下一跳地址。其中,第一PE设备的本地单播报文为第一PE设备的本地网络终端向EVPN内其它PE设备的本地网络终端发送的单播报文。结合图2所示,网络终端141为PE设备121的本地网络终端,网络终端144为PE设备123的本地网络终端,网络终端141向网络终端144所发送的单播报文为PE设备121的本地单播报文。

单播报文的目的地址,包括目的网络终端的MAC地址。第一PE设备的本地单播报文,其目的地址为EVPN内其它PE设备的本地网络终端的MAC地址。结合图2所示,网络终端141向网络终端144所发送的单播报文,目的地址为网络终端144的MAC地址。

第一PE设备的EVPN路由表,包括本地单播报文的目的地址所对应的下一跳地址。其中,目的地址为目的网络终端的MAC地址,下一跳地址包括EVPN内另一PE设备的网络互连协议(全称:Internet Protocol,简称:IP)地址以及MAC地址。其中,PE设备的IP为控制设备为PE设备所分配的IP地址。

PE设备参数反映了整个EVPN的拓扑,每个PE设备的本地网络终端标识,指示了各个PE设备所连接的网络终端。控制设备获取PE设备参数以及每个PE设备的本地网络终端标识之后,根据PE设备参数确定EVPN的拓扑,并进一步根据EVPN的拓扑以及EVPN内每个PE设备的本地网络终端标识,确定每个PE设备的EVPN路由表。

具体的,在第一PE设备的EVPN路由表中,第二PE设备的本地网络终端的MAC地址,对应的下一跳地址为第二PE设备的MAC地址以及IP地址。其中,第二PE设备为EVPN内的至少两个PE设备中除第一PE设备 之外的任一PE设备。结合图2所示,PE设备121的EVPN路由表中,网络终端144的MAC地址,对应的下一跳地址为PE设备123的MAC地址以及IP地址。网络终端145的MAC地址,对应的下一跳地址为PE设备122的MAC地址以及IP地址。

类似确定第一PE设备的EVPN路由表的过程,控制设备根据EVPN的拓扑以及EVPN内每个PE设备的本地网络终端标识,分别确定EVPN内每个PE设备的EVPN路由表。

结合步骤301,EVPN内每个PE设备的本地CE设备参数,反映了EVPN内每个PE设备与本地CE设备(如果有)的连接关系。在控制设备获取EVPN内每个PE设备的本地CE设备参数的情况下,控制设备可以根据EVPN的拓扑以及至少两个PE设备中每个PE设备的本地CE设备参数,确定EVPN内每个PE设备的广播参数。

以第一PE设备为例,第一PE设备的广播参数用于指示第一PE设备按照第一PE设备的广播树转发广播报文。第一PE设备的广播树,用于指示第一PE设备的广播范围,即指示第一PE设备将从本地CE设备接收到的广播报文,向EVPN内其它PE设备中的哪些PE设备发送。

传统地,一个PE设备的广播范围包括其所连接的每一个PE设备。将一个PE设备的本地CE设备通过该PE设备向另一PE设备的本地CE设备发送广播报文的每一条路径称为该PE设备的候选广播路径,一个PE设备的一条候选广播路径,起点为该PE设备的一个本地CE设备,终点为另一PE设备的一个本地CE设备。传统EVPN中,一个PE设备从本地CE设备接收到广播报文之后,将广播报文复制并转发到每一条候选广播路径上。结合图4,网络终端A通过CE1连接EVPN,且CE1与PE1和PE2均连接,同时PE1、PE2以及PE3两两连接,网络终端B通过CE2与PE3连接。

PE1的候选广播路径数量为2,具体为CE1—>PE1—>PE3—>CE2,以及CE1—>PE1—>PE2—>PE2的本地CE设备中除CE1之外的CE设备(图4中未画出)。

一个PE设备的候选广播路径中,从一个CE设备到另一个CE设备的候选广播路径的数量可以大于1。例如,PE3的候选广播路径数量为2,分别 为CE2—>PE3—>PE1—>CE1,以及CE2—>PE3—>PE2—>CE1。PE3的候选广播路径中从CE2到CE1的候选广播路径的数量为2。

以图4中网络终端B为例,对传统EVPN中广播报文的发送过程进行说明。结合图4中箭头所示,当网络终端B发送广播报文时,PE3复制广播报文后向PE1和PE2发送。PE1和PE2其中之一(图4中为PE1)将广播报文通过CE1发送至网络终端A,PE1和PE2中的另一PE设备则删除广播报文不予转发。PE设备将广播报文复制并转发到所有候选广播路径上。如果两个或多个PE设备(例如PE1和PE2)连接相同的CE设备(例如CE1),从初始CE设备(例如CE2)到该相同的CE设备的候选广播路径的数量大于1。只有其中一条候选广播路径上的广播报文最终到达目标网络终端,而其它候选广播路径上的广播报文最终被删除,在EVPN内传输这些最终被删除的广播报文造成了网络资源浪费。

本发明的实施例中,第一PE设备的广播树为第一PE设备的广播路径的集合。其中,第一PE设备的广播路径为控制设备在第一PE设备的候选广播路径中所选定的路径。第一PE设备的一条广播路径,起点为第一PE设备的一个本地CE设备,终点为另一PE设备的一个本地CE设备。第一PE设备的广播树中,第一PE设备的从第一CE设备到第二CE设备的广播路径的数量为1。其中,第一CE设备为第一PE设备的本地CE设备,第二CE设备为第二PE设备的本地CE设备。

具体的,控制设备根据EVPN内每个PE设备的本地CE设备参数,确定EVPN内每个PE设备与本地CE设备(如果有)的连接关系,根据PE设备与本地CE设备的连接关系确定候选广播路径,从候选广播路径中选定广播路径,一个PE设备的广播路径的集合即为该PE设备的广播树。

以下按照候选广播路径的数量分两种情况,对控制设备确定第一PE设备的广播树的过程进行说明。

第一种情况下,EVPN内每个PE设备的本地CE设备参数中,只有第二PE设备的本地CE设备参数包括控制设备为第二CE设备所分配的ESI,表示第二CE设备是第二PE设备的本地CE设备,并且第二CE设备只与第二PE设备这一个PE设备连接,控制设备确定第一CE设备向第二CE设备 发送广播报文的候选广播路径只有一条,并确定该广播路径为从第一CE设备到第二CE设备的广播路径。

结合图5所示的PE设备与本地CE设备的连接关系EVPN结构,网络终端A1通过CE11连接EVPN,且CE11与PE11和PE21均连接,PE11、PE21以及PE31两两连接,网络终端B1通过CE21与PE31连接,PE11、PE21以及PE31均与控制设备连接。

PE11对应第一PE设备,PE31对应第二PE设备,只有PE31的本地CE设备参数包括控制设备为CE21所分配的ESI,因此PE11的从CE11到CE21的候选广播路径为CE11—>PE11—>PE31—>CE21,数量为1,控制设备确定该广播路径为PE11的从CE11到CE21的广播路径。

第二种情况下,在EVPN包括至少3个PE设备的情况下,EVPN还包括第三PE设备,第三PE设备为EVPN内除第一PE设备的和第二PE设备之外的PE设备。如果第二PE设备的和第三PE设备的本地CE设备参数中均包括控制设备为第二CE设备所分配的ESI,表示第二CE设备既是第二PE设备的本地CE设备,也是第三PE设备的本地CE设备,即第二CE设备同时与第二PE设备和第三PE设备连接。控制设备确定第一CE设备向第二CE设备发送广播报文的候选广播路径有两条,分别为通过第三PE设备转发,和通过第二PE设备转发。控制设备从两条中指定其中任意一条为第一PE设备的广播路径。

结合图5所示,PE31对应第一PE设备,PE11和PE21分别对应第二PE设备和第三PE设备。PE11和PE21的本地CE设备参数中均包括控制设备为CE11所分配的ESI,因此PE31的从CE21到CE11的候选广播路径包括CE21—>PE31—>PE11—>CE11,以及CE21—>PE31—>PE21—>CE11,数量为2,控制设备从中指定其中任意一条为PE31的从CE21到CE11的广播路径。图5中箭头所示为广播路径为CE21—>PE31—>PE11—>CE11的情况。

一个PE设备的广播树为第一PE设备的广播路径的集合,一个PE设备的广播树所包括的广播路径的数量可以大于1。

图5所示的EVPN内每个PE设备的广播路径的数量均为1。参照图6 所示的EVPN结构,EVPN包括3个两两连接的PE设备PE4、PE5以及PE6。其中PE4连接CE3,PE5连接CE4,PE6连接CE5。则PE4的广播路径的数量为2,包括从CE3到CE4的广播路径,以及从CE3到CE5的广播路径。同样,PE5以及PE6各自的广播路径的数量也为2,不再赘述。

针对第一PE设备,控制设备确定第一PE设备的本地CE设备到EVPN内其它PE设备的本地CE设备的全部广播路径,得到第一PE设备的广播树。进一步地,控制设备根据第一PE设备的广播树,确定第一PE设备的广播参数。

例如,参照图5,PE31的广播树包括CE21—>PE31—>PE11—>CE11,控制设备根据PE31的广播树,确定PE31的广播参数,PE31的广播参数用于指示PE31将从本地CE设备(CE21)接收到的广播报文向PE11发送,即PE31的广播范围只包括PE11,PE31的广播参数具体可以为PE11的MAC地址以及IP地址。参照图6,PE4的广播树包括CE3—>PE4—>PE6—>CE5,以及CE3—>PE4—>PE5—>CE4两条广播路径,控制设备根据PE4的广播树,确定PE4的广播参数,PE4的广播参数用于指示PE4将从本地CE设备(CE3)接收到的广播报文向PE6和PE5发送,即PE4的广播范围包括PE6和PE5,PE4的广播参数具体为PE6和PE5各自的MAC地址。

类似确定第一PE设备的广播树以及广播参数的过程,控制设备根据EVPN的拓扑以及EVPN内每个PE设备的本地CE设备参数,确定EVPN内每个PE设备的广播参数。

304、控制设备将至少两个PE设备中每个PE设备的EVPN路由表发送至对应的PE设备。

PE设备接收到EVPN路由表之后,按照EVPN路由表转发本地单播报文。具体的,结合图2,PE设备121接收到本地网络终端141发送的单播报文之后,获取单播报文的目的地址,当目的地址为网络终端144的MAC地址时,在PE设备的EVPN路由表中查询网络终端144的MAC地址所对应的下一跳地址,确定下一跳地址为PE设备123的MAC地址以及IP地址,然后将单播报文向PE设备123转发。

可选的,在控制设备确定EVPN内每个PE设备的广播参数的情况下, 控制设备将EVPN内每个PE设备的广播参数发送至对应PE设备,指示PE设备按照广播树所指定的广播范围转发广播报文。结合图5,PE31的广播参数为PE11的MAC地址,PE31将从CE21接收到的广播报文,只向PE11转发,而不向PE21转发。

在两个CE设备之间候选广播路径数量大于1的情况下,控制设备仅以其中一条作为广播路径,PE设备只向广播路径上转发广播报文。相比传统的广播报文转发方式,减少了传输广播报文所占用的网络资源。

305、控制设备接收第二PE设备发送的故障指示消息。

其中,故障指示消息用于指示第二PE设备与第二CE设备之间的AC故障。结合步骤301,PE设备的本地CE设备参数,反映PE设备与本地CE设备(如果有)的连接关系。PE设备的本地CE设备参数还包括AC标识。当第二PE设备与第二CE设备之间的AC故障时,第一PE设备向控制设备发送故障指示消息,故障指示消息包括故障AC的标识,用于向控制设备指示故障AC为第二PE设备与第二CE设备之间的AC。

306、控制设备将与第二CE设备连接的网络终端的标识添加到第三PE设备的本地网络终端标识中。

其中,第三PE设备为通过备用AC与第二CE设备连接的PE设备。第三PE设备与第二CE设备之间设置有备用AC,在第二CE设备与第二PE设备之间的AC正常工作时,备用AC处于关闭状态。当第二PE设备与第二CE设备之间的AC出现故障时,控制设备指示第三PE设备打开备用AC,此时与第二CE设备连接的网络终端通过备用AC与第三PE设备连接,控制设备将与第二CE设备连接的网络终端的标识添加到第三PE设备的本地网络终端标识中。

307、控制设备更新PE设备的EVPN路由表。

第二CE设备与第二PE设备之间的AC正常工作时,EVPN内除第二PE设备和第三PE设备之外的每个PE设备的EVPN路由表中,与第二CE设备连接的网络终端的MAC地址所对应的下一跳地址为第二PE设备。

第二CE设备与第二PE设备之间的AC发生故障,备用AC打开后,第 二CE设备连接的网络终端成为第三PE设备的本地网络终端,控制设备重新为EVPN内每个PE设备确定EVPN路由表。

在没有新的故障发生的情况下,第二PE设备和第三PE设备的本地单播报文可以正常发送,因此第二PE设备和第三PE设备的EVPN路由表无需更新。控制设备只需对EVPN内除第二PE设备和第三PE设备之外的其它PE设备的EVPN路由表进行更新。

可选的,结合步骤303,控制设备根据EVPN的拓扑以及更新的第三PE设备的本地网络终端标识,重新确定EVPN内除第二PE设备和第三PE设备之外的其它PE设备的EVPN路由表。

或者,控制设备将其它PE设备的EVPN路由表中,第二CE设备连接的网络终端的MAC地址所对应的下一跳地址更改为第三PE设备的MAC地址以及IP地址。

308、控制设备将更新后的EVPN路由表发送至对应的PE设备。

结合步骤304,控制设备将更新后的EVPN路由表发送至对应的PE设备,PE设备按照更新后的EVPN路由表转发本地单播报文。

本发明的实施例所提供的路由表更新方法,控制设备根据EVPN的PE设备参数确定EVPN的拓扑,并根据EVPN的拓扑以及EVPN内每个PE设备的本地网络终端标识,确定EVPN内每个PE设备的EVPN路由表,最终将EVPN路由表发送至对应的PE设备。PE设备按照接收到的EVPN路由表转发本地单播报文。在PE设备的本地网络终端标识更新、或者出现AC故障的情况下,由控制设备对PE设备的EVPN路由表进行更新,由于EVPN内的PE设备只需要根据接收到的路由表进行数据转发,无需完成路由协议报文的收发、处理,以及确定替代路由等工作,从而减小PE设备更新路由表时的资源开销。进一步地,两CE设备之间存在一条以上候选广播路径的情况下,控制设备只将其中一条作为广播路径,PE设备按照广播树转发广播报文,相比传统的广播报文转发方式,PE设备无需将广播报文复制到每一条候选广播路径上,因此减少了传输广播报文所占用的网络资源。

基于本发明的实施例所提供的路由表更新方法,本发明的实施例还提供一种EVPN的控制设备,用于执行上述路由表更新方法,对EVPN进行 控制,受控EVPN包括至少两个PE设备,至少两个PE设备与控制设备连接。参照图6所示,控制设备包括处理器601、存储器602及网络接口603,处理器601和存储器602相连,处理器601和网络接口603相连。其中,存储器602用于存储程序代码,以及通过网络接口603接收或者发送的数据。

在一种可能的实现方式中,处理器601和存储器602以及网络接口603通过总线相连。

用于执行本发明方案的程序代码保存在存储器602中,并由处理器601来控制执行。

存储器602可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM)。存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)。存储器602还可以包括上述种类的存储器的组合。

处理器601可以是中央处理器(全称:Central Processing Unit,简称:CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是网络处理器(英文:network processor,缩写:NP),专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其任意组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。

处理器601,用于调用存储器602中的程序代码,在一种可能的实施方式中,当上述程序被处理器601执行时,实现如下功能:

处理器601,用于通过网络接口603获取EVPN的PE设备参数,PE设备参数用于指示至少两个PE设备之间的连接关系。

处理器601,还用于通过网络接口603获取至少两个PE设备中每个PE设备的本地网络终端标识,其中,至少两个PE设备包括第一PE设备,第一PE设备的本地网络终端标识用于标识第一PE设备的本地网络终端,第 一PE设备的本地网络终端包括通过第一PE设备与EVPN连接的网络终端。

处理器601,还用于根据PE设备参数确定EVPN的拓扑,并根据EVPN的拓扑以及至少两个PE设备中每个PE设备的本地网络终端标识,确定至少两个PE设备中每个PE设备的EVPN路由表,其中,第一PE设备的EVPN路由表用于指示第一PE设备的本地单播报文的目的地址所对应的下一跳地址,第一PE设备的本地单播报文为第一PE设备的本地网络终端向至少两个PE设备中其它PE设备的本地网络终端发送的单播报文。

处理器601,还用于通过网络接口603将至少两个PE设备中每个PE设备的EVPN路由表发送至对应的PE设备。

可选的,处理器601,还用于将PE设备参数、每个PE设备的本地网络终端标识以及每个PE设备的EVPN路由表存入存储器602。

可选的,处理器601,还用于通过网络接口603获取至少两个PE设备中每个PE设备的本地用户边缘CE设备参数,其中,第一PE设备的本地CE设备参数用于指示第一PE设备的本地CE设备,第一PE设备的本地CE设备为与第一PE设备连接的CE设备。

处理器601,还用于根据EVPN的拓扑以及至少两个PE设备中每个PE设备的本地CE设备参数,确定至少两个PE设备中每个PE设备的广播参数,其中,第一PE设备的广播参数用于指示第一PE设备按照第一PE设备的广播树转发广播报文,第一PE设备的广播树为第一PE设备的广播路径的集合,第一PE设备的广播路径为处理器601在第一PE设备的候选广播路径中所选定的路径,第一PE设备的本地CE设备包括第一CE设备,第二PE设备的本地CE设备包括第二CE设备,第二PE设备为至少两个PE设备中除第一PE设备之外的任一PE设备,第一PE设备的广播树中,从第一CE设备到第二CE设备的广播路径的数量为1。

处理器601,还用于通过网络接口603将至少两个PE设备中每个PE设备的广播参数发送至对应PE设备。

可选的,处理器601,还用于通过网络接口603接收第一PE设备发送的故障指示消息,故障指示消息用于指示第二PE设备与第二CE设备之间的附着电路AC故障。

处理器601,还用于将与第二CE设备连接的网络终端的标识添加到第三PE设备的本地网络终端标识中,第三PE设备为通过备用AC与第二CE设备连接的PE设备。

处理器601,还用于根据EVPN的拓扑以及更新的第三PE设备的本地网络终端标识,更新至少两个PE设备中除第二PE设备和第三PE设备之外的每个PE设备的EVPN路由表。

处理器601,还用于通过网络接口603将更新后的EVPN路由表发送至对应的PE设备。

本发明的实施例还提供一种EVPN系统,参照图2所示,EVPN系统包括EVPN的控制设备10以及EVPN。其中,EVPN包括至少两个PE设备,EVPN内的PE设备与控制设备10连接,EVPN内的PE设备两两连接,控制设备用于执行本发明的实施例所提供的路由表更新方法。

本发明的实施例所提供的EVPN控制设备以及EVPN系统,控制设备根据EVPN的PE设备参数确定EVPN的拓扑,并根据EVPN的拓扑以及EVPN内每个PE设备的本地网络终端标识,确定EVPN内每个PE设备的EVPN路由表,最终将EVPN路由表发送至对应的PE设备。PE设备按照接收到的EVPN路由表转发本地单播报文。在PE设备的本地网络终端标识更新、或者出现AC故障的情况下,由控制设备对PE设备的EVPN路由表进行更新,由于EVPN内的PE设备只需要根据接收到的路由表进行数据转发,无需完成路由协议报文的收发、处理,以及确定替代路由等工作,从而减小PE设备更新路由表时的资源开销。进一步地,两CE设备之间存在一条以上候选广播路径的情况下,控制设备只将其中一条作为广播路径,PE设备按照广播树转发广播报文,相比传统的广播报文转发方式,PE设备无需将广播报文复制到每一条候选广播路径上,因此减少了传输广播报文所占用的网络资源。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,当使用软件实现本发明所提供的路由表更新方法时,可以将用于执行上述方法的指令或代码存储在计算机可读介质中或通过计算机可读介质进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从 一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、电可擦可编程只读存储器(全称:electrically erasable programmable read-only memory,简称:EEPROM)、光盘、磁盘或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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