首页> 中国专利> 以太网虚拟私有网络EVPN与公网互通方法及其装置

以太网虚拟私有网络EVPN与公网互通方法及其装置

摘要

本申请提供了以太网虚拟私有网络EVPN与公网互通方法及其装置。本申请中,判断学习到的EVPN路由携带的RT是否与本设备已配置的公网实例的Import RT相同,如果是,将所述EVPN路由添加至本地公网路由表,这意味着将EVPN部署在了公网中,实现了EVPN与公网互通。

著录项

  • 公开/公告号CN107733795A

    专利类型发明专利

  • 公开/公告日2018-02-23

    原文格式PDF

  • 申请/专利权人 新华三技术有限公司;

    申请/专利号CN201610664322.5

  • 发明设计人 程树纲;

    申请日2016-08-12

  • 分类号H04L12/721(20130101);H04L12/751(20130101);H04L12/46(20060101);

  • 代理机构11415 北京博思佳知识产权代理有限公司;

  • 代理人陈蕾

  • 地址 310052 浙江省杭州市滨江区长河路466号

  • 入库时间 2023-06-19 04:41:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-12

    授权

    授权

  • 2018-05-08

    实质审查的生效 IPC(主分类):H04L12/721 申请日:20160812

    实质审查的生效

  • 2018-02-23

    公开

    公开

说明书

技术领域

本申请涉及网络通信技术领域,特别涉及以太网虚拟私有网络(EVPN:EthernetVirtual Private Network)与公网互通方法及其装置。

背景技术

以太网虚拟私有网络(EVPN:Ethernet Virtual Private Network)是一种二层VPN技术,控制平面采用MP-BGP通告EVPN路由信息,数据平面采用VXLAN封装方式转发报文。EVPN可以基于已有的服务提供商或企业IP网络,为同一租户的相同子网提供二层互联,以及通过EVPN网关为同一租户的不同子网提供三层互联,并为其提供与外部网络的三层互联。

EVPN通常采用核心(Spine)-分支(Leaf)的分层结构,其中,Leaf层的设备作为VTEP对报文进行EVPN相关处理,Spine层的设备为核心设备,根据报文的目的IP地址转发报文。EVPN中的所有设备属于同一个自治系统(AS:Autonomous System)时,为了避免在所有VTEP之间建立IBGP对等体,可以将核心设备配置为路由反射器(RR:Route Reflector)。图1简单示出了EVPN组网结构。

在实际应用中,经常会要求在不改变原有组网模型的基础上叠加EVPN组网,这就会遇到EVPN组网与原有组网互通的问题,比如,原有组网为公网,而EVPN必须运行在虚拟路由转发(VRF:Virtual Routing Forwarding)实例下,公网与EVPN无法互通。

发明内容

本申请提供了以太网虚拟私有网络EVPN与公网互通方法及其装置,以实现EVPN与公网互通。

具体地,本申请是通过如下技术方案实现的:

一种以太网虚拟私有网络EVPN与公网互通方法,该方法应用于网络设备,包括:

学习EVPN路由;

判断所述EVPN路由携带的路由标识符RT是否与本设备已配置的公网实例的输入Import RT相同,如果是,将所述EVPN路由添加至本地公网路由表;

接收报文,所述报文为公网访问EVPN的报文,或者为EVPN访问公网的报文;

在本地公网路由表中匹配用于转发报文的路由,依据匹配到的路由转发报文。

一种以太网虚拟私有网络EVPN与公网互通装置,该装置应用于网络设备,包括:

学习单元,用于学习EVPN路由;

路由单元,用于判断所述学习单元学习到的EVPN路由携带的路由标识符RT是否与本设备已配置的公网实例的输入Import RT相同,如果是,将所述学习单元学习到的EVPN路由添加至本地公网路由表;

存储单元,用于存储本地公网路由表;

接收单元,用于接收报文,所述报文为公网访问EVPN的报文,或者为EVPN访问公网的报文;

转发单元,用于在本地公网路由表中匹配用于转发报文的路由,依据匹配到的路由转发报文。

通过本申请的以上技术方案可以看出,本申请中,判断学习到的EVPN路由携带的RT是否与本设备已配置的公网实例的Import RT相同,如果是,将所述EVPN路由添加至本地公网路由表,这意味着将EVPN部署在了公网中,实现了EVPN与公网互通。

附图说明

图1是EVPN组网结构示意图;

图2为本申请提供的方法流程图;

图3为本申请实施例1的示意图;

图4为本申请实施例2的示意图;

图5为本申请实施例3的示意图;

图6为本申请提供的装置结构图;

图7为本申请提供的图6所示装置的硬件结构图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

在本申请提供的方法中能够实现EVPN与公网互通,方便用户在公网中灵活部署EVPN。下面通过图2对本申请提供的方法进行描述:

参见图2,图2为本申请提供的方法流程图。当公网中的网络设备部署了EVPN业务,为在该网络设备上实现EVPN与公网互通,则如图2所示,该网络设备可执行以下步骤:

步骤201,学习EVPN路由。

在本步骤201中,学习到的EVPN路由具有现有EVPN路由标准格式。至于如何学习EVPN路由,其可按照现有路由学习方式学习,本申请不重点描述。

步骤202,判断学习到的EVPN路由携带的路由标识符(RT:Route-Target)是否与本设备已配置的公网实例的输入(Import)RT相同,如果是,将学习到的EVPN路由添加至本地公网路由表。

在本申请中,将公网本身看作一个公网实例配置在网络设备,该公网实例可以作为EVPN运行的一个特殊VRF实例。其中,公网实例配置了Import RT、Export RT。在本申请中,为了实现EVPN和公网互通,EVPN路由携带的Export RT为公网实例被配置的Import RT。EVPN路由携带Export RT是现有技术,这里不再赘述。

需要说明的是,在本申请中,为了实现公网和多个EVPN互通,则网络设备上配置的公网实例会配置多对Import RT、Export RT。一对Import RT、Export RT对应一个EVPN。基于此,在步骤202中,判断学习到的EVPN路由携带的RT是否与本设备已配置的公网实例的Import RT相同具体为:在本设备已配置的公网实例的所有Import RT中查找与所述EVPN路由携带的RT相匹配的Import RT,如果查找到,确定EVPN路由携带的RT与本设备已配置的公网实例的Import RT相同,如果未查找到,确定EVPN路由携带的路由标识符RT与本设备已配置的公网实例的Import RT不同。

通过步骤202,能够实现公网路由和EVPN路由都处于同一张公网路由表中,之后,后续当收到公网访问EVPN的报文或者EVPN访问公网的报文时,可基于该公网路由表进行报文转发,实现了基于同一张公网路由表进行EVPN与公网互通。

需要说明的是,在步骤202中,当判断出学习到的EVPN路由携带的RT与本设备已配置的公网实例的Import RT均不同时,还可根据RT匹配原则将学习到的EVPN路由加入到本地其他私网表,这与本专利关系不大,不重点描述。

步骤203,接收报文,报文为公网访问EVPN的报文,或者为EVPN访问公网的报文。

步骤204,在本地公网路由表中匹配用于转发报文的路由,依据匹配到的路由转发报文。

如上描述,网络设备将公网路由和EVPN路由存放至本地同一张公网路由表中,因此,不管是公网访问EVPN的报文,还是EVPN访问公网的报文,网络设备都会从本地公网路由表中匹配到用于转发该报文的路由,这实现了EVPN与公网互通。

至此,完成图2所示的流程。

基于上面描述下面通过三个具体实施例对图2所示的流程进行举例描述:

实施例1:

参见图3,图3为本申请实施例1的示意图。在实施例1中,设备1至设备4均部署了公网业务和EVPN业务,其中,设备1、设备2属于Leaf层的Leaf设备,设备3、设备4属于Spine层的Spine设备。

在实施例1中,设备1、设备2上配置了同一公网实例,公网实例被配置了路由区分标识(RD:Route Distinguisher)、Import RT、ExportRT。

在实施例1中,公网实例的RD等于EVPN业务所属VRF实例的RD,公网实例的ExportRT等于EVPN业务所属VRF实例的Import RT,公网实例的Import RT等于EVPN业务所属VRF实例的Export RT。因此,此种情况下,在实施例1中,即使设备1、设备2部署了EVPN业务,其只要部署公网实例即可,没有必要再重复配置EVPN业务所属VRF实例。

在实施例1中,设备1下的主机1(IP地址为192.168.1.10)运行EVPN业务,设备1下的主机2(IP地址为192.168.2.20)运行公网业务。设备2下的主机3(IP地址为192.168.3.30)运行EVPN业务,设备2下的主机4(IP地址为192.168.4.40)运行公网业务。

以设备1发布路由为例,则,

设备1检查本地接入主机1的虚拟交换接口(VSI:Virtual Switch Interface)的配置;

设备1发现VSI的配置指示公网接入,也就是说,尽管事实上VSI接入的是运行了EVPN业务的主机1(相当于EVPN接入),但是,在本实施例1中,为了实现EVPN与公网互通,对VSI进行配置,通过该配置指示VSI是公网接入,而非事实上的EVPN接入,此种情况下,设备1直接将本地主机1的EVPN路由(记为EVPN BGP路由1_1)添加至本地公网路由表。

设备1发布EVPN BGP路由1_1,EVPN BGP路由1_1携带的RD、RT分别为EVPN业务所属VRF实例的RD、Export RT。

因为主机2运行在公网中,设备1将本地主机2的公网路由(记为公网BGP路由1_2)添加至本地公网路由表。

设备1发布公网BGP路由1_2。公网BGP路由1_2不携带公网实例被配置的RD、ExportRT。

设备3、设备4学习EVPN BGP路由1_1、公网BGP路由1_2。

设备2学习EVPN BGP路由1_1,判断EVPN BGP路由1_1携带的RT是否和本设备配置的公网实例的Import RT相同;

设备2发现EVPN BGP路由1_1携带的RT和本设备2配置的公网实例的Import RT相同,设备2将EVPN BGP路由1_1(此时记为EVPN BGP路由1_1_2)添加至本地公网路由表。

设备2学习公网BGP路由1_2,设备2将学习到的公网BGP路由1_2(此时记为公网BGP路由1_2_2)添加至本地公网路由表。

以上对设备1发布路由的流程进行了描述,设备2发布路由的流程类似设备1,不再重复赘述。

基于上述路由的发布,则当EVPN内的主机1访问公网内的主机2时,主机1先把访问报文(记为报文1)发送给设备1。

设备1收到报文1时,在本地公网路由表中匹配用于转发报文1的路由。

设备1通过在本地公网路由表中匹配到的公网BGP路由1_2转发报文1,最终主机2会收到报文1。可以看出,来自EVPN主机的报文在设备1就可转发给公网主机,EVPN的主机1和公网的主机2通过共同接入的设备1即可实现互通。

当公网内的主机4访问EVPN内的主机1时,主机4先把访问报文(记为报文2)发送给设备2。

设备2收到报文2时,在本地公网路由表中匹配用于转发报文2的路由。

设备2通过在本地公网路由表中匹配到的主机1的路由即EVPN BGP路由1_1_1转发报文2,最终主机1会收到报文2。可以看出,跨设备的公网主机和EVPN主机也可实现互访。

至此,完成实施例1的描述。

实施例2:

参见图4,图4为本申请实施例2的示意图。在实施例2中,设备1、设备3、设备4均部署了公网业务和EVPN业务,设备2未部署EVPN业务仅部署公网业务。其中,设备1、设备2属于Leaf层的Leaf设备,设备3、设备4属于Spine层的Spine设备。

在实施例2中,设备1、设备3、设备4上均配置了如实施例1描述的公网实例。

在实施例2中,设备1下的主机1(IP地址为192.168.1.10)运行EVPN业务,设备1下的主机2(IP地址为192.168.2.20)运行公网业务。设备2下的主机4(IP地址为192.168.4.40)运行公网业务。

以设备1发布路由为例,则,

设备1检查本地接入主机1的虚拟交换接口(VSI:Virtual Switch Interface)的配置;

设备1发现VSI的配置指示公网接入,也就是说,尽管事实上VSI接入的是运行了EVPN业务的主机1(相当于EVPN接入),但是,在本实施例2中,为了实现EVPN与公网互通,对VSI进行配置,通过该配置指示VSI是公网接入,而非事实上的EVPN接入,此种情况下,设备1直接将本地主机1的EVPN路由(记为EVPN BGP路由1_1)添加至本地公网路由表。

设备1发布EVPN BGP路由1_1,EVPN BGP路由1_1携带的RD、RT分别为EVPN业务所属VRF实例的RD、Export RT。

因为主机2运行在公网中,设备1将本地主机2的公网路由(记为公网BGP路由1_2)添加至本地公网转发表。

设备1按照公网BGP路由发布方式发布公网BGP路由1_2。公网BGP路由1_2不携带公网实例被配置的RD、Export RT。

以设备3收到设备1发布的路由为例,设备4原理类似。

设备3学习设备1发布的EVPN BGP路由1_1。

设备3判断学习到的EVPN BGP路由1_1携带的RT是否和本设备3配置的公网实例的Import RT相同;

设备3发现学习到的EVPN BGP路由1_1携带的RT和本设备3配置的公网实例的Import RT相同,设备3将学习到的EVPN BGP路由1_1(此时记为EVPN BGP路由1_1_3)添加至本地公网转发表。

设备3继续发布学习到的EVPN BGP路由1_1。其中,设备3在向设备2发布学习到的EVPN BGP路由1_1时,由于设备2仅部署了公网业务,设备3和设备2建立的仅是公网IPv4BGP邻居关系,则设备3将学习到的EVPN BGP路由1_1进行公网路由转换得到公网BGP路由1_1并向设备2发布。

设备3学习设备1发布的公网BGP路由1_2,则直接将学习到的公网BGP路由1_2(此时记为公网BGP路由1_2_3)添加至本地公网路由表。

设备3继续发布学习到的公网BGP路由1_2。

设备2学习设备3发布的公网BGP路由1_1,直接将学习到的公网BGP路由1_1(此时记为公网BGP路由1_1_2)添加至本地公网路由表。

设备2学习设备3发布的公网BGP路由1_2,直接将学习到的公网BGP路由1_2(此时记为公网BGP路由1_2_2)添加至本地公网路由表。

基于上面描述,当公网内的主机4访问EVPN内的主机1时,主机4先把访问报文(记为报文21)发送给设备2。

设备2收到报文21时,在本地公网路由表中匹配用于转发报文21的路由。

设备2通过在本地公网路由表中匹配到的公网BGP路由1_1_2转发报文21给设备3。

设备3接收到报文21,在本地公网路由表中匹配用于转发报文21的路由。

设备3通过在本地公网路由表中匹配到的用于转发报文21的路由即EVPN BGP路由1_1_3_转发报文21给设备1。公网访问EVPN的报文21在设备3进入EVPN内访问。最终主机1会收到报文21。

当EVPN内的主机1访问公网内的主机4时,主机1先把访问报文(记为报文22)发送给设备1。

设备1收到报文22时,在本地公网路由表中匹配用于转发报文22的路由。

设备1通过在本地公网路由表中匹配到的用于转发报文22的路由(记为公网BGP路由2_4)转发报文22。EVPN访问公网的报文22在设备1进入公网内访问。最终主机4会收到报文22。

可以看出,EVPN的主机1和公网内的主机4可以跨设备实现互通。

至此,完成实施例2的描述。

实施例3:

参见图5,图5为本申请实施例3的示意图。本实施例3是在实施例2的基础上新增加了网络设备的应用场景。该新增加的网络设备记为设备5、设备6。设备5、设备6仅部署了EVPN业务,设备5、设备6为leaf设备。设备5下的主机5(IP地址为192.168.5.50)、设备6下的主机6(IP地址为192.168.6.60)运行EVPN业务。

在实施例3中,设备1、设备2的处理类似实施例2的描述,这里不再赘述。

在实施例3中,因为新增加了设备5、设备6,当设备3(设备4原理类似)学习到EVPNBGP路由1_1时,还会进一步向设备5、设备6继续发布学习到的EVPN BGP路由1_1。

当设备3学习到公网BGP路由1_2时,还会进一步向设备5、设备6继续发布学习到的公网BGP路由1_2。以设备3向设备5发布学习到的公网BGP路由1_2为例,因为设备5仅部署了EVPN业务,所以设备3在向设备5发布学习到的公网BGP路由1_2时,会对学习到的公网BGP路由1_2进行私网路由转换,转换得到的路由记为EVPN BGP路由5_2,这里的转换具体可为:在公网BGP路由1_2上携带RD、RT,其中,RD为公网实例的RD、RT为公网实例的Export RT。需要说明的是,如果公网实例配置了多对Export RT,则此时公网BGP路由1_2上携带的RT为设备5运行的EVPN业务所属VRF实例的Import RT。

设备3发布EVPN BGP路由5_2给设备5。设备3向设备6发布学习到的公网BGP路由1_2的原理类似于上述的设备3向设备5发布学习到的公网BGP路由1_2。

设备3学习到公网BGP路由2_4时,还会进一步向设备5、设备6继续发布学习到的公网BGP路由2_4。设备3向设备5发布学习到的公网BGP路由2_4与上述设备3向设备5发布学习到的公网BGP路由1_2的原理类似,不再重复描述。

当设备5收到设备3发布的EVPN BGP路由1_1时,也意味着学习EVPN BGP路由1_1,根据RT匹配原则将学习到的EVPN BGP路由1_1记录至本地私网路由表。设备5收到设备3发布的EVPN BGP路由5_2、EVPN BGP路由5_4原理类似,不再赘述。

基于上面描述,则当EVPN下的主机5访问公网内的主机2时,主机5先把访问报文(记为报文3)发送给设备5。

设备5收到报文3时,在本地公网路由表中匹配用于转发报文3的路由。

设备5通过在本地私网路由表中匹配到的EVPN BGP路由5_2转发报文3给设备3。

设备3接收到报文3,在本地公网路由表中匹配用于转发报文3的路由。

设备3通过在本地公网路由表中匹配到的公网BGP路由1_2转发报文3给设备1。EVPN访问的报文在设备3进入公网内访问。最终主机2会收到报文3。可以看出,EVPN的主机5和公网内的主机2可以跨设备实现互通。

至此,完成实施例3的描述。

以上通过三个实施例对本发明提供的EVPN和公网互访进行了描述。

需要说明的是,在本申请中,结合BGP多实例技术,可以将EVPN和公网部署在不同BGP多实例中,比如EVPN部署在BGP EVPN实例中,公网部署在公网BGP实例中,这相当于在用户网络上可以运行两个BGP控制平面,两个BGP控制平面互相隔离,而两个BGP控制平面的数据平面既可以互通,也可以隔离,这可以很好地进行控制和扩展。

需要说明的是,为避免路由重复发布,在本申请中,不管是Leaf层的设备,还是Spine层的设备,其在发布路由时,都是尽可能按照路由不重复发布给同一个设备的策略来发布路由,具体地,需要注意公网中的公网路由不需要通过EVPN扩展发布,而EVPN私网路由在发布时可配置策略过滤掉公网路由。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:

参见图6,图6为本申请提供的装置结构图。该装置应用于网络设备,如图6所示,该装置可包括:

学习单元,用于学习EVPN路由;

路由单元,用于判断所述学习单元学习到的EVPN路由携带的路由标识符ExportRT是否与本设备已配置的公网实例的输入Import RT相同,如果是,将所述学习单元学习到的EVPN路由添加至本地公网路由表;

存储单元,用于存储本地公网路由表;

接收单元,用于接收报文,所述报文为公网访问EVPN的报文,或者为EVPN访问公网的报文;

转发单元,用于在本地公网路由表中匹配用于转发报文的路由,依据匹配到的路由转发报文。

优选地,当所述网络设备为分支Leaf设备时,所述路由单元进一步检查本地虚拟交换接口VSI的配置,若所述配置指示公网接入,则将本地EVPN路由添加至本地公网路由表,并发布本地EVPN路由。

优选地,当本设备已配置的公网实例具有两个以上Import RT时,所述路由单元判断EVPN路由携带的路由标识符RT是否与本设备已配置的公网实例的Import RT相同包括:

在本设备已配置的公网实例的所有Import RT中查找与所述EVPN路由携带的RT相匹配的Import RT,如果查找到,确定EVPN路由携带的RT与本设备已配置的公网实例的Import RT相同,如果未查找到,确定EVPN路由携带的路由标识符RT与本设备已配置的公网实例的Import RT不同。

优选地,当所述网络设备为核心Spine设备时,所述路由单元进一步对所述EVPN路由进行公网路由转换,将转换得到的公网路由发布给未部署EVPN业务的Leaf设备。

优选地,当所述网络设备为核心Spine设备时,所述学习单元进一步学习公网路由;

所述路由单元进一步将所述学习单元学习到的公网路由添加至本地公网路由表,以及对所述公网路由进行EVPN路由转换,将转换得到的EVPN路由发布给仅部署了EVPN业务的Leaf设备;

其中,当本设备已配置的公网实例仅有一个Export RT时,转换得到的EVPN路由中携带的RT为所述公网实例的Export RT;当本设备已配置的公网实例有两个以上Export RT时,转换得到的EVPN路由中携带的RT为:所述公网实例的所有Export RT中与所述EVPN业务所属VRF实例的Import RT相同的Export RT。

至此,完成图6所示装置的结构描述。

对应地,本申请还提供了图6所示装置的硬件结构图。参见图7,图7为本申请提供的图6所示装置的硬件结构图。该硬件结构至少包含:处理器、存储器。

其中,存储器,用于存储学习单元运行的程序指令、路由单元运行的程序指令、存储单元运行的程序指令、接收单元运行的程序指令、以及转发单元运行的程序指令;

处理器,用于运行学习单元运行的程序指令以执行学习单元所执行的操作、路由单元运行的程序指令以执行路由单元所执行的操作、存储单元运行的程序指令以执行存储单元所执行的操作、接收单元运行的程序指令以执行接收单元所执行的操作、以及用于运行转发单元运行的程序指令以执行转发单元所执行的操作。

如图7所示,该硬件结构还可以包括一个电源组件被配置为执行装置的电源管理,一个有线或无线网络接口被配置为将装置连接到网络,和一个输入输出(I/O)接口。

至此,完成图7所示的硬件结构描述。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号