实现L2VPN与VxLAN互通的方法、系统及设备与流程

文档序号:14351120阅读:3267来源:国知局
实现L2VPN与VxLAN互通的方法、系统及设备与流程

本发明涉及数据网络领域,特别涉及一种实现l2vpn与vxlan专线互通的方法、sdn控制器及系统。



背景技术:

从广义上来讲,将客户二层信息(即以太网帧头信息)完整传递到对端的专线产品都可以称为二层专线产品。从客户的角度来说,二层专线就是在广域网上模拟lan业务,在广域网范围实现以太网的互联,客户分布在不同物理节点的二层设备跨过不同类型的承载网络相连,各个节点就像通过一根网线连到同一台二层交换机上。对于运营商而言,则不用关心客户侧的ip地址,无论是公网地址还是私网地址,但需要将客户侧的mac地址信息在广域范围内进行传播。能够实现这样要求的技术有很多,比如fr专线和atm专线,属于传输专业的sdh专线与mstp专线,属于数据专线的mplsvpn等等。目前fr网络早已退网,atm也处在退网的进程中,因此在现网部署中,比较常见的是采用sdh或mstp专线方案,此外电信运营商也根据mpls网络或其他数据网络的部署情况开通了基于mplsvpn的二层专线,比如已在部分地区通过ipran网络以l2vpn方式向客户提供二层专线。

另一方面,随着技术发展,vxlan(virtualextensiblelan,虚拟可扩展局域网)被提出和广泛接受,vxlan采用macinudp的方法进行封装,固定采用4798为目的端口,vxlan作为vlan技术的扩充,将4k个vlan扩展到16m个vxlan,突破了传统网络架构限制与租户数量限制等难题,可以在不用改变现有网络架构条件下支撑新的云计算业务,方便租户部署。由于vxlan可以对二层网络在三层所及范围内进行扩展,其目标是解决数据中心多租户间通信和隔离时解决vlan数量不够的问题。从某种意义上来说,它天然就是为了构建大二层网络而来,因此将vxlan在城域网范围内进二层专线用于构建二层专线也就成为一种顺理成章的方案。

但在实际应用中,无论是哪种网络都很难完全覆盖所有的接入节点。换句话说,始终存在同一个租户的不同分支节点是通过不同的接入方式进行接入的场景。为了解决这个问题,目前常见的解决方案是采用覆盖overlay方式,比如将l2vpn封装在vxlan隧道中进行传送,或者将vxlan专线封装在l2vpn中传送。但这种方案中专线两端设备必须支持同种隧道协议,但其中又有部分段落叠加在vxlan隧道中,叠加部分的报文将同时有vxlan封装与mpls封装,开销增加较多,效率低且配置复杂。另外一种解决方案是通过网关设备探知邻居设备所支持的二层隧道协议,生成隧道翻译表,当去特定目的时按照对应的隧道协议发送报文,该方案核心在于一台设备上支持多种二层隧道协议,并能发现邻居设备支持的二层隧道协议,但未涉及如何进行全局mac地址学习和流量转发。此外,现有设备上的邻居发现协议不具备这样的能力,需要额外进行开发,增加设备复杂度与采购运营成本。



技术实现要素:

本发明所要解决的一个技术问题是:如何实现l2vpn与vxlan互通,如何支持同一租户的不同分支节点通过不同的接入方式接入网络的情况下,同一租户的不同分支节点间的通信过程。

根据本发明实施例的一个方面,提供了一种实现二层虚拟专用网络l2vpn与虚拟可扩展局域网vxlan专线互通的方法,包括:sdn控制器接收vxlan域的租户发起设备通过所对应的源接入节点发出的对l2vpn域的租户目标设备的mac地址请求信息,请求信息包括租户目标设备的ip地址;sdn控制器将mac地址请求信息发送至专线网关设备,并指示专线网关设备发起l2vpn域内的mac地址请求信息泛洪;sdn控制器通过专线网关设备接收租户目标设备对应的目标接入节点反馈的租户目标设备的ip地址对应的mac地址;sdn控制器在租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道;sdn控制器向租户发起设备发送租户目标设备的mac地址,以便租户发起设备通过租户目标设备的mac地址以及二层专线隧道与租户目标设备进行通信。

在一些实施例中,sdn控制器将mac地址请求信息发送至专线网关设备,并指示专线网关设备发起l2vpn域内的mac地址请求信息泛洪包括:sdn控制器根据mac地址请求信息查询租户mac地址信息表;若sdn控制器在租户mac地址信息表中未查询到租户目标设备的ip地址相对应的mac地址,则sdn控制器将mac地址请求信息发送至专线网关设备,并指示专线网关设备发起l2vpn域内的mac地址请求信息泛洪。

根据本发明实施例的另一个方面,提供了一种实现l2vpn与vxlan专线互通的方法,包括:sdn控制器接收l2vpn域的租户发起设备通过位于vxlan域与l2vpn域之间的专线网关设备发出的对vxlan域的租户目标设备的mac地址请求信息,请求信息包括租户目标设备的ip地址;sdn控制器查找租户mac地址信息表,获得租户目标设备的ip地址对应的目标设备mac地址;sdn控制器在租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道;sdn控制器向租户发起设备发送租户目标设备的mac地址,以便租户发起设备通过租户目标设备的mac地址以及二层专线隧道与租户目标设备进行通信。

在一些实施例中,sdn控制器在租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道包括:sdn控制器指示vxlan域中的源接入节点及专线网关设备配置vxlan域二层专用隧道;sdn控制器指示l2vpn域网管系统在专线网关设备与l2vpn域中的目标接入节点之间建立l2vpn域二层专用隧道,并从专线网关设备获取l2vpn域二层专用隧道的多协议标签交换mpls标签;sdn控制器通过专线网关设备联结vxlan域二层专用隧道以及l2vpn域二层专用隧道,以形成租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道。

在一些实施例中,sdn控制器指示vxlan域中的源接入节点及专线网关设备配置vxlan域二层专用隧道包括:sdn控制器根据vxlan的网络号vni信息、虚拟隧道终端节点vtep的ip地址信息、vtep的对应端口信息,向vtep及专线网关设备下发vxlan域二层专用隧道配置命令,以指示vtep及专线网关设备配置vxlan域二层专用隧道。

在一些实施例中,sdn控制器指示l2vpn域网管系统在专线网关设备与l2vpn域中的目标接入节点之间建立l2vpn域二层专用隧道包括:sdn控制器根据l2vpn域内的运营商边缘节点pe信息、l2vpn域内的路由区分符rd信息、l2vpn域内的路由目标rt信息,向l2vpn域网管系统下发l2vpn域二层专用隧道建立请求,以指示l2vpn域网管系统在专线网关设备与接入节点之间建立l2vpn域二层专用隧道。

根据本发明实施例的另一个方面,提供了一种实现l2vpn与vxlan专线互通的sdn控制器,包括:第一mac地址请求信息接收模块,用于接收vxlan域的租户发起设备通过所对应的源接入节点发出的对l2vpn域的租户目标设备的mac地址请求信息,请求信息包括租户目标设备的ip地址;mac地址请求信息发送模块,用于将mac地址请求信息发送至专线网关设备,并指示专线网关设备发起l2vpn域内的mac地址请求信息泛洪;mac地址接收模块,用于通过专线网关设备接收租户目标设备对应的目标接入节点反馈的租户目标设备的ip地址对应的mac地址;隧道建立模块,用于在租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道;第一mac地址发送模块,用于向租户发起设备发送租户目标设备的mac地址,以便租户发起设备通过租户目标设备的mac地址以及二层专线隧道与租户目标设备进行通信。

在一些实施例中,mac地址请求信息发送模块包括:mac地址信息查询单元,用于根据mac地址请求信息查询租户mac地址信息表;信息发送单元,用于若查询单元在租户mac地址信息表中未查询到租户目标设备的ip地址相对应的mac地址,则将mac地址请求信息发送至专线网关设备,并指示专线网关设备发起l2vpn域内的mac地址请求信息泛洪。

根据本发明实施例的又一个方面,提供了一种实现l2vpn与vxlan专线互通的sdn控制器,包括:第二mac地址请求信息接收模块,用于接收l2vpn域的租户发起设备通过位于vxlan域与l2vpn域之间的专线网关设备发出的对vxlan域的租户目标设备的mac地址请求信息,请求信息包括租户目标设备的ip地址;mac地址信息查询模块,用于查询租户mac地址信息表,获得租户目标设备的ip地址对应的目标设备mac地址;隧道建立模块,用于在租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道;第二mac地址发送模块,用于向租户发起设备发送租户目标设备的mac地址,以便租户发起设备通过租户目标设备的mac地址以及二层专线隧道与租户目标设备进行通信。

在一些实施例中,隧道建立模块包括:vxlan域隧道建立单元,用于指示vxlan域中的源接入节点及专线网关设备配置vxlan域二层专用隧道;l2vpn域隧道建立单元,用于指示l2vpn域网管系统在专线网关设备与l2vpn域中的目标接入节点之间建立l2vpn域二层专用隧道,并从专线网关设备获取l2vpn域二层专用隧道的多协议标签交换mpls标签;隧道联结单元,用于通过专线网关设备联结vxlan域二层专用隧道以及l2vpn域二层专用隧道,以形成租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道。

在一些实施例中,vxlan域隧道建立单元用于:根据vxlan的网络号vni信息、虚拟隧道终端节点vtep的ip地址信息、vtep的对应端口信息,向vtep及专线网关设备下发vxlan域二层专用隧道配置命令,以指示vtep及专线网关设备配置vxlan域二层专用隧道。

在一些实施例中,l2vpn域隧道建立单元用于:根据l2vpn域内的运营商边缘节点pe信息、l2vpn域内的路由区分符rd信息、l2vpn域内的路由目标rt信息,向l2vpn域网管系统下发l2vpn域二层专用隧道建立请求,以指示l2vpn域网管系统在专线网关设备与接入节点之间建立l2vpn域二层专用隧道。

根据本发明实施例的再一个方面,提供了一种实现l2vpn与vxlan专线互通的系统,包括专线网关设备以及如权利要求7至12任一项的sdn控制器,其中,专线网关设备包括:vxlan域隧道建立模块,用于根据vxlan域二层专用隧道配置命令配置vxlan域二层专用隧道;l2vpn域隧道建立模块,用于在l2vpn域网管系统的指示下,与l2vpn域中的目标接入节点之间建立l2vpn域二层专用隧道,并从专线网关设备获取l2vpn域二层专用隧道的多协议标签交换mpls标签;隧道联结模块,用于联结vxlan域二层专用隧道以及l2vpn域二层专用隧道,以形成租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道。

本发明一方面实现了l2vpn与vxlan互通,支持同一租户的不同分支节点通过不同的接入方式接入网络的情况下,同一租户的不同分支节点间的通信过程;另一方面提高了l2vpn与vxlan之间的数据传输效率,降低了l2vpn与vxlan互通网络的网络配置复杂度与网络管理复杂度。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

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

图1示出本发明l2vpn与vxlan组成的网络拓扑的示意图。

图2示出本发明租户mac地址信息表构建流程的一个实施例的流程示意图。

图3示出本发明的业务需求示意图。

图4示出租户mac地址信息表的表项。

图5示出本发明未知mac地址泛洪与学习流程的一个实施例的流程示意图。

图6示出本发明点对点二层专线初始化流程的一个实施例的流程示意图。

图7示出本发明实现l2vpn与vxlan专线互通的sdn控制器的一个实施例的结构示意图。

图8示出本发明实现l2vpn与vxlan专线互通的sdn控制器的另一个实施例的结构示意图。

图9示出本发明实现l2vpn与vxlan专线互通的系统的一个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1示出本发明l2vpn与vxlan组成的网络拓扑的示意图。在l2vpn域,在综合网管控制的各个运营商路由器以及专线网关设备gw之间存在l2vpn隧道,客户端路由器ce1与运营商路由器相连。在vxlan域,在控制器控制的各个vtep以及网关gw之间存在vxlan隧道,客户端路由器ce2与vtep相连。

本发明的实现l2vpn与vxlan专线互通的方法主要包括三个部分:租户mac地址信息表构建流程、未知mac地址泛洪与学习流程、点对点二层专线初始化流程。

本发明中的租户mac地址信息表,是指由sdn控制器为每一个租户所记录的一张全局mac地址表,包括该租户在二层专线中出现过的mac地址,以及这些mac地址所对应的接入点ip、接入点协议类型、全局标识(如vni号、mpls内层标签)等。

本发明中的租户mac地址信息表构建流程,是指sdn控制器收集其直接管理设备所接入的mac地址信息,比如vxlan节点所接入的租户设备的mac地址信息,也可通过专线网关设备,学习到从l2vpn接入的租户设备的mac地址信息。专线网关设备可以支持多种二层专线协议的设备,能过根据sdn控制器或网络管理系统下发的配置命令,将不同类型的二层专线封装格式进行转换。

本发明中的未知mac地址泛洪与学习流程,是指当租户某台主机发起mac地址学习,arp报文先发送到sdn控制器查询租户mac地址信息表,若存在相应信息,则由sdn控制器下发对端的接入点信息,建立相应的隧道,若无相应信息,则根据l2vpn专线和vxlan专线的不同特性分别进行arp泛洪进行mac地址学习。

本发明中的点对点二层专线初始化流程,是指当sdn控制器发现两个租户mac地址之间并无二层专线通道时,通过直接下发流表的方式构建vxlan域内的二层通道,以及通过网管系统下发l2vpn域内的二层通道,并在专线网关设备上设置相应的协议转换配置。

下面结合图2描述本发明租户mac地址信息表构建流程。

图2示出本发明租户mac地址信息表构建流程的一个实施例的流程示意图。如图2所示,本实施例中实现构建租户mac地址信息表的流程包括:

步骤s201,租户向网络运营方提出业务申请。

步骤s202,sdn控制器为租户生成一张独立的租户mac地址信息表,并进行数据表初始化。

步骤s203,根据业务订单下达后资源管理部门所下达的资源分配方案,sdn控制器记录该租户的接入点信息,例如vxlan域内的vtep节点信息、vni信息、l2vpn域内的pe节点信息、rd与rt信息。

步骤s204,根据接入节点的类型,如该节点属于l2vpn域内,则执行步骤s205,否则执行步骤s208。

步骤s205,sdn控制器通过mpls网络(即l2vpn所属网络)的网管系统下达l2vpn的配置命令。

步骤s206,在两个域之间的专线网关设备与l2vpn域pe之间的建立l2vpn通道。

步骤s207,专线网关设备通过二层vpn协议学习pe节点下的客户信息,例如建立l2vpn通道后,网络自动分配的mpls标签等信息。

步骤s208,vxlan域内的vtep节点向sdn控制器上报下挂客户信息,例如已经出现过的客户mac地址信息。

步骤s209,sdn控制器汇总来自vxlan域的信息和来自l2vpn域的信息,进一步填充租户mac地址信息表。

下面结合图3和图4描述mac地址信息表构建流程的具体应用例。

图3示出本发明的业务需求示意图。如图3所示,以同时需要用vxlan域接入和l2vpn域接入的租户a为例,在vxlan域内有两个接入节点vtep1和vtep2,分别下挂vm1和vm2,在l2vpn域内也有两个接入节点pe1和pe2,分别通过ce1和ce2接入vm3和vm4。

四台虚机的网络地址分别为:

vm1:mac地址01-11-11-11-11-11,ip地址172.16.1.11/24;

vm2:mac地址01-11-11-22-22-22,ip地址172.16.1.12/24;

vm3:mac地址01-11-11-33-33-33,ip地址172.16.1.13/24;

vm4:mac地址01-11-11-44-44-44,ip地址172.16.1.14/24;

第一步:租户mac地址信息表初始化。

网络运营方根据业务需求,在sdn控制器上录入租户信息,由sdn控制器生成租户mac地址信息表,此时为空数据表,如下所示:{-,-,-,-,-,-,-,-,-};表格中的第1位表示mac地址信息,第2位表示ip地址信息,第3位表示vxlan的网络号(即vni)信息,第4位表示vtep节点的ip地址信息,第5位表示vtep的对应端口信息;第6位表示在l2vpn中对应的pe路由器信息,第7位表示分配给该租户的rd信息,第8位表示该租户在该pe节点上的rt信息,第9位表示在隧道建立后为该租户分配的内层标签。

第二步:接入节点信息输入。

根据资源分配信息,sdn控制器在租户mac地址信息表中增加已知的vxlan信息和l2vpn信息,比如vtep1的信息和pe1的信息,此时租户mac地址信息表记录为:

{-,-,100,100.10.1.1/24,1,-,-,-};

{-,-,100,100.10.1.2/24,1,-,-,-};

{-,-,-,-,-,200.10.1.1/24,100:1,100:1,-};

{-,-,-,-,-,200.10.1.2/24,100:1,100:1,-};

其中,第一行表示了一个vtep节点,即图3中的vtep1的初始信息,第二行表示了一个vtep节点,即图3中的vtep2的初始信息,第三行表示了一个l2vpn的pe节点,即图3中的pe1的初始信息,第四行表示了一个l2vpn的pe节点,即图5中的pe2的初始信息。

第三步:租户mac地址信息输入。

当租户主机连接到vtep节点时,vtep节点会将主动发现的租户主机信息上报到sdn控制器,比如vm1的信息,此时租户mac地址信息表记录为:

{01-11-11-11-11-11,172.16.1.11/24,100,100.10.1.1/24,1,-,-,-};

{01-11-11-22-22-22,172.16.1.12/24,100,100.10.1.1/24,2,-,-,-};

{-,-,-,-,-,200.10.1.1/24,100:1,100:1,-};

{-,-,-,-,-,200.10.1.2/24,100:1,100:1,-};

但在l2vpn域内,租户主机通过ce(租户侧路由器)连接到pe时,此mac信息并不会在域内进行广播,因此vm3的信息不会被发送到sdn控制器中。

最终租户mac地址信息表的表项如图4所示。本领域技术人员应理解,本表格只是用于在实施例中对发明内容进行描述,在具体应用时可以根据场景和需求增加更多的内容。

下面结合图5描述本发明未知mac地址泛洪与学习流程。

图5示出本发明未知mac地址泛洪与学习流程的一个实施例的流程示意图。如图5所示,本实施例中实现未知mac地址泛洪与学习流程包括:

步骤s501,租户设备发出arp请求,请求已知ip地址但未知mac地址的目的主机信息。

步骤s502,专线接入端设备将arp请求转发至sdn控制器,vtep节点将直接上报给sdn控制器,而l2vpn域内的pe路由器则通过二层vpn协议发送到专线网关设备,并由专线网关设备上报给sdn控制器。

步骤s503,sdn控制器查询在该租户的租户mac地址信息表中查询是否已记录目的ip地址所对应的mac信息,以及接入点信息等。

步骤s504,如果查询到已经存有对应信息,则进入步骤509,否则将同时进行步骤505和步骤510。

步骤s505,由sdn控制器将arp请求发送给专线网关设备。

步骤s506,由专线网关设备根据基于mpls的二层专线协议在l2vpn域内进行arp泛洪。

步骤s507,如有l2vpn域内的租户主机反应arp请求信息,则进入步骤s508,否则进入步骤s512。

步骤s508,由专线网关设备将arp回应信息发送给sdn控制器;

步骤s509,sdn控制器记录所学习到的目的mac地址和对应的接入点;

步骤s510,由sdn控制器在vxlan域内进行arp泛洪,向该租户相关的vtep节点直接发送arp请求报文;

步骤s511,如有vxlan域内的租户主机反应arp请求信息,则进入步骤s509,否则进入步骤s512。

步骤s512,当一定时间内两个域内都未有租户主机反应arp请求信息,则进入步骤s513。

步骤s513,由sdn控制器向客户主机回应arp请求,反馈目的主机mac地址查询失败信息。

步骤s514,根据查询到目的mac地址所对应接入点以及源mac地址所对应的接入点,sdn控制器计算两个接入点之间的隧道路径;

步骤s515,如果两个接入点之间的隧道尚未建立成功,则进入步骤s516,如果已经存在全程隧道,则进入步骤s517。

步骤s516,启动点对点二层专线初始化流程,建立从源节点到目的节点的二层隧道。

步骤s517,由sdn控制器向客户主机回应arp请求,反馈目的主机mac地址信息。

下面结描述未知mac地址泛洪与学习流程的具体应用例。

第一步:目的mac地址查询。

当vm1分别向vm2和vm3发送信息时,在初始状态下它只了解vm2和vm3的ip地址,因此vm1会发出arp请求,并发送给vtep1。vtep1收到vm1发送过来的arp请求后,转发给sdn控制器。sdn控制器根据vm1所属的租户,在其对用的租户mac地址信息表中查询所请求的vm2的ip地址和vm3的ip地址,即在租户mac地址信息表分别查询172.16.1.12/24和172.16.1.13/24。

第二步,如果能查询到相应条目。

例如,vm2的ip地址存在租户mac地址信息表中,并有对应的接入点信息,即下列条目:

{01-11-11-22-22-22,172.16.1.12/24,100,100.10.1.1/24,2,-,-,-}。sdn控制器会判断vtep1和vtep2之间是否已经存在二层隧道,比如在此例中,vtep1上分配给该租户的vni是100,vtep2上分配给该租户的vni是200,因此在网络中需要存在一个vxlangw,负责将vtep1所发出的vni号为100的报文转换为vni号为200的报文并转发到vtep2中。如果不存在这样的二层隧道,sdn控制器应该启动相应的二层隧道建立流程,在vtep1和vtep2之间进行配置。当sdn控制器确认vtep1和vtep2之间存在二层隧道,然后就将相关信息反馈给vtep1,vtep1将vm2的mac信息发送给vm1,之后vm1和vm2就可以正常通信了。

第三步,如果不能查询到相应条目。

例如,vm3的ip地址不存在租户mac地址信息表中。sdn控制器必须进行arp泛洪来找到vm3的mac地址与接入点信息。sdn控制器同时把arp请求报文发送给vtep2和专线网关设备。vtep2将该arp请求报文在该租户的vxlan网络中进行广播,在本实施例中,vtep2下的主机不会回应此报文。专线网关设备收到arp请求报文后,通过l2vpn的二层专线协议将此报文发送到pe1和pe2,并由pe1和pe2向该租户的所有设备进行广播。此时pe1下的ce1所连接的vm3会回应此arp请求,pe1将收到的arp回应发送给专线网关设备,再由专线网关设备发送至sdn控制器,并填入租户mac地址信息表中:

{01-11-11-11-11-11,172.16.1.11/24,100,100.10.1.1/24,1,-,-,-};

{01-11-11-22-22-22,172.16.1.12/24,100,100.10.1.1/24,2,-,-,-};

{01-11-11-33-33-33,172.16.1.13/24,-,-,-,200.10.1.1/24,100:1,100:1,-};

{-,-,-,-,-,200.10.1.2/24,100:1,100:1,-};

当sdn控制器确认vtep1和pe1之间二层隧道建立成功后,然后就将相关信息反馈给vtep1,vtep1将vm3的mac信息发送给vm1,之后vm1和vm3就可以正常通信了。

下面结合图6描述本发明点对点二层专线初始化流程。

图6示出本发明点对点二层专线初始化流程的一个实施例的流程示意图。如图6所示,本实施例中点对点二层专线初始化流程包括:

步骤601,由sdn控制器启动二层隧道建立流程。

步骤602,由sdn控制器直接向vtep节点下达二层隧道配置命令,包括向专线网管设备下达vxlan侧的二层隧道配置命令。

步骤603,由sdn控制器将二层隧道建立请求发送给l2vpn域的网管系统。

步骤604,由l2vpn域的网管系统在专线网关设备与接入节点之间的建立l2vpn。

步骤605,sdn控制器根据隧道建立情况填充租户mac地址信息表。

下面结描述点对点二层专线初始化流程的具体应用例。

sdn控制器首先检查两个接入节点之间的二层隧道连通性,即vtep1和pe1之间的隧道。此二层隧道分为两段,一段属于vxlan域,即vtep1和专线网关设备之间的二层隧道;另一段属于l2vpn域,即专线网关设备和pe2之间的二层隧道。

第一段隧道由sdn控制器直接进行配置,sdn控制器根据vxlan的网络号vni信息、虚拟隧道终端节点vtep的ip地址信息、vtep的对应端口信息,向vtep及专线网关设备下发vxlan域二层专用隧道配置命令,以指示vtep及专线网关设备根据网络号、vtep的ip地址以及对应端口配置vxlan域二层专用隧道。

第二段隧道由sdn控制器根据l2vpn域内的运营商边缘节点pe信息、l2vpn域内的路由区分符rd信息、l2vpn域内的路由目标rt信息,向l2vpn域网管系统下发l2vpn域二层专用隧道建立请求,以指示l2vpn域网管系统根据pe节点以及路由在专线网关设备与接入节点之间建立l2vpn域二层专用隧道。

专线网关设备通过l2vpn的二层专线协议进行配置,配置完成后会得到mpls的双层标签,其中外层标签只有本地意义,而内层标签代表该租户在两个节点(专线网关设备和pe2)之间的隧道,因此sdn控制器会将内层标签也加入到租户mac地址信息表中:

{01-11-11-11-11-11,172.16.1.11/24,100,100.10.1.1/24,1,-,-,-};

{01-11-11-22-22-22,172.16.1.12/24,100,100.10.1.1/24,2,-,-,-};

{01-11-11-33-33-33,172.16.1.13/24,-,-,-,200.10.1.1/24,100:1,100:1,15};

{-,-,-,-,-,200.10.1.2/24,100:1,100:1,-}。

本发明一方面实现了l2vpn与vxlan专线互通,另一方面无需叠加过多的封装格式,减少了对网络mtu的要求,并由sdn控制器实现全局控制,有利于网络的灵活调整与网络资源的分配。本发明对设备要求较低,不需要额外的邻居发现协议,能够有效降低设备复杂度,降低设备成本,易于在现网部署。

下面结合图7描述本发明实现l2vpn与vxlan专线互通的sdn控制器的一个实施例。

图7示出本发明实现l2vpn与vxlan专线互通的sdn控制器的一个实施例的结构示意图。如图7所示,该实施例中的实现l2vpn与vxlan互通的sdn控制器70包括:

第一mac地址请求信息接收模块701,用于接收vxlan域的租户发起设备通过所对应的源接入节点发出的对l2vpn域的租户目标设备的mac地址请求信息,请求信息包括租户目标设备的ip地址。

mac地址请求信息发送模块702,用于将mac地址请求信息发送至专线网关设备,并指示专线网关设备发起l2vpn域内的mac地址请求信息泛洪。

mac地址信息接收模块703,用于通过专线网关设备接收租户目标设备对应的目标接入节点反馈的租户目标设备的ip地址对应的mac地址。

隧道建立模块704,用于在租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道。

第一mac地址发送模块705,用于向租户发起设备发送租户目标设备的mac地址,以便租户发起设备通过租户目标设备的mac地址以及二层专线隧道与租户目标设备进行通信。

可选的,mac地址请求信息发送模块702包括:

信息查询单元7022,用于根据mac地址请求信息查询租户mac地址信息表。

信息发送单元7024,用于若查询单元在租户mac地址信息表中未查询到租户目标设备的ip地址相对应的mac地址,则将mac地址请求信息发送至专线网关设备,并指示专线网关设备发起l2vpn域内的mac地址请求信息泛洪。

下面结合图8描述本发明实现l2vpn与vxlan专线互通的sdn控制器的另一个实施例。

图8示出本发明实现l2vpn与vxlan专线互通的sdn控制器的另一个实施例的结构示意图。如图8所示,该实施例中的实现l2vpn与vxlan互通的sdn控制器80包括:

第二mac地址请求信息接收模块801,用于接收l2vpn域的租户发起设备通过位于vxlan域与l2vpn域之间的专线网关设备发出的对vxlan域的租户目标设备的mac地址请求信息,请求信息包括租户目标设备的ip地址。

mac地址信息查询模块802,用于查询租户mac地址信息表,获得租户目标设备的ip地址对应的目标设备mac地址。

隧道建立模块704,用于在租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道。

第二mac地址发送模块805,用于向租户发起设备发送租户目标设备的mac地址,以便租户发起设备通过租户目标设备的mac地址以及二层专线隧道与租户目标设备进行通信。

可选的,隧道建立模块704可以包括:

vxlan域隧道建立单元7042,用于指示vxlan域中的源接入节点及专线网关设备配置vxlan域二层专用隧道。

l2vpn域隧道建立单元7044,用于指示l2vpn域网管系统在专线网关设备与l2vpn域中的目标接入节点之间建立l2vpn域二层专用隧道,并从专线网关设备获取l2vpn域二层专用隧道的多协议标签交换mpls标签;

隧道联结单元7046,用于通过专线网关设备联结vxlan域二层专用隧道以及l2vpn域二层专用隧道,以形成租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道。

其中,vxlan域隧道建立单元7042用于:根据vxlan的网络号vni信息、虚拟隧道终端节点vtep的ip地址信息、vtep的对应端口信息,向vtep及专线网关设备下发vxlan域二层专用隧道配置命令,以指示vtep及专线网关设备配置vxlan域二层专用隧道。

其中,l2vpn域隧道建立单元7044用于:根据l2vpn域内的运营商边缘节点pe信息、l2vpn域内的路由区分符rd信息、l2vpn域内的路由目标rt信息,向l2vpn域网管系统下发l2vpn域二层专用隧道建立请求,以指示l2vpn域网管系统在专线网关设备与接入节点之间建立l2vpn域二层专用隧道。

下面结合图9描述本发明实现l2vpn与vxlan专线互通的系统的一个实施例。

图9示出本发明实现l2vpn与vxlan专线互通的系统的一个实施例的结构示意图。如图9所示,该实施例中的实现l2vpn与vxlan互通的系统90包括:

sdn控制器70或sdn控制器80,以及专线网关设备902。其中,专线网关设备包括:

vxlan域隧道建立模块9021,用于根据vxlan域二层专用隧道配置命令配置vxlan域二层专用隧道。

l2vpn域隧道建立模块9022,用于在l2vpn域网管系统的指示下,与l2vpn域中的目标接入节点之间建立l2vpn域二层专用隧道,并从专线网关设备获取l2vpn域二层专用隧道的多协议标签交换mpls标签。

隧道联结模块9023,用于联结vxlan域二层专用隧道以及l2vpn域二层专用隧道,以形成租户发起设备对应的源接入节点与租户目标设备对应的目标接入节点之间建立二层专线隧道。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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