CN112838985B - 一种异构网络通信方法、系统和控制器 - Google Patents
一种异构网络通信方法、系统和控制器 Download PDFInfo
- Publication number
- CN112838985B CN112838985B CN201911168055.2A CN201911168055A CN112838985B CN 112838985 B CN112838985 B CN 112838985B CN 201911168055 A CN201911168055 A CN 201911168055A CN 112838985 B CN112838985 B CN 112838985B
- Authority
- CN
- China
- Prior art keywords
- domain
- openflow
- evpn
- message
- route
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000003068 static effect Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 5
- 239000002184 metal Substances 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
根据本发明实施例提供的一种异构网络通信方法、系统和控制器,包括:控制器通过MP‑BGP连接通道接收EVPN域设备上报的第一报文,将第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;和/或,控制器通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将第二报文转换为第二表项,并通过MP‑BGP连接通道同步到EVPN域设备。通过控制器与EVPN域设备建立MP‑BGP连接通道,与OpenFlow域设备建立OpenFlow连接通道,实现了接收EVPN域设备的第一报文和OpenFlow域设备的第二报文的目的,同时将第一报文转换为第一表项,将第二报文转换为第二表项,将第一表项同步给OpenFlow域设备,给第二表项同步给EVPN域设备,实现了OpenFlow域设备和EVPN域设备的报文交换,解决了目前的OpenFlow域设备和EVPN域设备无法混用的问题。
Description
技术领域
本发明实施例涉及但不限于网络通信技术领域,具体而言,涉及但不限于一种异构网络通信方法、系统和控制器。
背景技术
软件定义网络(SDN,Software-defined networking)是一种控制逻辑和数据转发分离的创新网络架构。数据中心(DC,Data Center)、广域网(WAN,Wide Area Network)等领域应用SDN技术时,基本都采用了VXLAN(Virtual Extensible LAN)隧道技术,提高二层网络扩展性和部署的灵活性,同时也能简化overlay业务的网络层次结构。
OpenFlow和EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)是SDN领域的两大解决方案:OpenFlow是控制器集中控制面,采用的软件定义的流表转发方式,更适合于软件设备;而EVPN是分布式控制面,需要使用网络设备自身的EVPN协议学习路由表项从而指导转发,一般适用于硬件网络设备。这两种技术各有优缺点,在原理上就有较大差异,但是在很多部署场景中,为了发挥这两种技术各自的优势,需要将这两种技术结合起来形成混合overlay方案。
OpenFlow中一般采用静态配置的VXLAN隧道,通过流表转发,而EVPN中VXLAN是动态隧道,在OpenFlow+EVPN的混合overlay方案中,需要解决OpenFlow域与EVPN域异构网络间的通信问题,涉及VXLAN隧道的创建、表项同步及报文转发等难点。
发明内容
本发明实施例提供的一种异构网络通信方法、系统和控制器,主要解决的技术问题是目前的OpenFlow域设备和EVPN域设备之间无法混用的问题。
为解决上述技术问题,本发明实施例提供一种异构网络通信方法,包括:
控制器通过MP-BGP连接通道接收EVPN域设备上报的第一报文,将所述第一报文转换为第一表项,并通过所述OpenFlow连接通道同步到OpenFlow域设备;
和/或,
控制器通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将所述第二报文转换为第二表项,并通过MP-BGP连接通道同步到EVPN域设备。
本发明实施例还提供一种控制器,包括:路由协议处理单元、EVPN表项同步单元、OpenFlow表项同步单元和OpenFlow设备管理单元;
所述路由协议处理单元支持标准的BGP EVPN协议处理,用于与EVPN域的设备建立BGP邻居并相互通告EVPN路由;
所述EVPN表项同步单元将路由协议处理单元学到的EVPN域表项同步到OpenFlow域,同时接收OpenFlow域的表项信息传递给路由协议处理单元;
所述OpenFlow表项同步单元接收EVPN域的表项,同时将OpenFlow域的表项同步给EVPN域;
所述OpenFlow设备管理单元用于创建OpenFlow域的VXLAN隧道,对OpenFlow域和EVPN域的表项计算生成流表并下发OpenFlow设备。
本发明实施例还提供一种异构网络通信系统,包括:控制器、EVPN域设备和OpenFlow域设备;
所述控制器通过MP-BGP连接通道接收所述EVPN域设备上报的第一报文,将所述第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;
所述控制器通过所述OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将所述第二报文转换为第二表项,并通过所述MP-BGP连接通道同步到EVPN域设备。
本发明实施例还提供一种计算机存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明实施所提供的异构网络通信方法的步骤。
根据本发明实施例提供的一种异构网络通信方法、系统和控制器,包括:控制器通过MP-BGP连接通道接收EVPN域设备上报的第一报文,将第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;和/或,控制器通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将第二报文转换为第二表项,并通过MP-BGP连接通道同步到EVPN域设备。通过控制器与EVPN域设备建立MP-BGP连接通道,与OpenFlow域设备建立OpenFlow连接通道,实现了接收EVPN域设备的第一报文和OpenFlow域设备的第二报文的目的,同时将第一报文转换为第一表项,将第二报文转换为第二表项,将第一表项同步给OpenFlow域设备,给第二表项同步给EVPN域设备,实现了OpenFlow域设备和EVPN域设备的报文交换,解决了目前的OpenFlow域设备和EVPN域设备无法混用的问题。
本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
图1为本发明实施提供的异构网络中VXLAN隧道示意图;
图2为本发明实施例提供的一种异构网络通信方法中表项同步的示意图;
图3为本发明实施例提供的一种异构网络通信系统的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
在SDN的应用领域中主要的方案有OpenFlow和EVPN,这两种方案中,OpenFlow是控制器集中控制面,采用的软件定义的流表转发方式,更适合于软件设备;而EVPN是分布式控制面,需要使用网络设备自身的EVPN协议学习路由表项从而指导转发,一般适用于硬件网络设备。由于OpenFlow中一般采用静态配置的VXLAN隧道进行报文转发,而EVPN中一般采用动态配置的VXLAN隧道进行报文转发,因此,当OpenFlow和EVPN进行组合时并不能直接使用VXLAN隧道,为了实现OpenFlow和EVPN的混用,本实施例提出的一种异构网络通信方法通过控制器对保证进行转换,实现OpenFlow和EVPN的保证转发。
本实施的异构网络通信方法包括:控制器通过MP-BGP连接通道接收EVPN域设备上报的第一报文,将第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;和/或,控制器通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将第二报文转换为第二表项,并通过MP-BGP连接通道同步到EVPN域设备。
在本实施例中,控制器的功能包括:(1)通过MP-BGP连接通道接收EVPN域设备上报的第一报文,将第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;(2)通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将第二报文转换为第二表项,并通过MP-BGP连接通道同步到EVPN域设备;以及(3)通过MP-BGP连接通道接收EVPN域设备上报的第一报文,将第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备,通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将第二报文转换为第二表项,并通过MP-BGP连接通道同步到EVPN域设备。
传统的BGP-4只能管理IPV4的路由信息,对于使用其他网络层协议(如ipv6)的应用,在跨自治系统传播时就受到一定限制。为了提供对多种网络层协议的支持,IETF对BGP-4进行了扩展,形成MP-BGP,MP-BGP标准是RFC4760(Multiprotocol Extensions for BGP-4,BGP-4的多协议扩展)。BGP-4使用的报文中,与IPv4相关的三处信息都由Update报文携带,这三条信息分别是:NLRI(Network Layer Reachability Information)字段、Next_Hop属性、Aggregator属性(该属性中包含形成聚合路由的BGP Speaker的IP地址)。为实现对多种网络层协议的支持,BGP-4需要将网络层协议的信息反映到NLRI及Next_Hop。MP-BGP中引入了两个新的路径属性:MP_REACH_NLRI:Multiprotocol Reachable NLRI,多协议可达NLRI。用于发布可达路由及下一跳信息。MP_UNREACH_NLRI:Multiprotocol UnreachableNLRI,多协议不可达NLRI。用于撤销不可达路由。
OpenFlow连接通道,一种网络通信协议,属于数据链路层,能够控制网上交换器或路由器的转发平面(forwarding plane),借此改变网络数据包所走的网络路径。
在本实施例中,第一报文和第二表项包括:3型路由、2型路由和5型路由任意一种;第二报文和第一表项包括:二层网络广播表、MAC表、ARP表和路由表任意一种;3型路由与二层网络广播表对应,2型路由与MAC表和ARP表对应,5型路由与路由表对应。
在本实施例中,EVPN域设备为硬件交换机时,EVPN域设备下挂载的主机包括裸金属服务器和服务器中通过vlan隔离的虚拟机任意一种;OpenFlow域设备为vSwitch软件虚拟交换机时,OpenFlow域设备下挂载的主机为虚拟机。
在本实施例中,MP-BGP连接通道建立后为动态VXLAN隧道,动态VXLAN隧道由EVPN域设备通过学习BGP EVPN动态建立。
在本实施例中,EVPN域设备和OpenFlow域设备通过学习第一表项和/或第二表项,生成二层和三层转发表项。
在本实施例中,OpenFlow连接通道建立后为静态VXLAN隧道,静态VXLAN隧道由控制器静态导入配置到OpenFlow域设备上,静态VXLAN隧道采用两端设备的VTEPIP作为唯一标识。
在本实施例中,VTEPIP标识在不同设备之间的出接口为静态VXLAN隧道,静态VXLAN隧道为同域,或跨域,用于实现同域或跨域的报文转发。
本发明实施例提供的一种方法异构网络通信方法,通过通过控制器与EVPN域设备建立MP-BGP连接通道,与OpenFlow域设备建立OpenFlow连接通道,实现了接收EVPN域设备的第一报文和OpenFlow域设备的第二报文的目的,同时将第一报文转换为第一表项,将第二报文转换为第二表项,将第一表项同步给OpenFlow域设备,给第二表项同步给EVPN域设备,实现了OpenFlow域设备和EVPN域设备的报文交换,解决了目前的OpenFlow域设备和EVPN域设备无法混用的问题。
实施例二:
本实施例提供了一种异构网络通信方法另外的一种实施例,包括:
OpenFlow域和EVPN域之间通过控制器实现表项的同步和学习,通过控制器创建异构的VXLAN隧道,OpenFlow域和EVPN域设备之间的业务流量通过该异构VXLAN隧道完成报文转发。
进一步,OpenFlow域设备上的VXLAN隧道由控制器静态导入配置,通过本端VTEPIP和对端VTEPIP唯一标识,对端设备可以是OpenFlow域设备,也可以是EVPN域设备。
进一步,EVPN域设备上的动态VXLAN隧道,通过BGP EVPN的3型路由学习动态创建,路由表项可以来源于其他EVPN域设备,也可以来源于控制器的EVPN组件模块。
进一步,控制器将EVPN域的3型路由转换为OpenFlow域的二层网络广播表项,同步给OpenFlow域,使得OpenFlow域将该EVPN域设备加入二层网络广播域。控制器也将OpenFlow域的广播表项转换为EVPN域的3型路由,同步给EVPN域,使得EVPN域能发现OpenFlow域的设备,将该OpenFlow域设备加入二层网络广播域,进而生成对应的VXLAN动态隧道。
所述控制器除了在OpenFlow域和EVPN域设备间同步二层网络广播表(3型路由),还同步MAC表、ARP表(2型路由)和路由表(5型路由),这四种表项在域间同步时都需要进行转换处理。
进一步,OpenFlow域和EVPN域的设备,学习到这些表项,生成了正常的二层和三层转发表项,VTEP之间转发的出接口是VXLAN隧道,该隧道可以是同域的,也可以是跨域的,实现同域和跨域的业务流量转发。
本发明实施例提供的一种异构网络通信方法,能解决OpenFlow和EVPN异构SDN网络的通信问题,使得同一个控制器可以同时管控软件OpenFlow设备和硬件EVPN设备,在不改变OpenFlow和EVPN协议标准和组网方式的前提下,发挥这两种SDN技术的优势,形成混合overlay,从而满足各种业务部署场景。
实施例三:
图1是本发明实施例中的异构VXLAN隧道示意图。
用户在控制器管理界面上导入OpenFlow域的VXLAN静态隧道,在设备上创建隧道端口。VXLAN静态隧道是通过本端VTEPIP和对端VTEPIP唯一标识的:
tunnelPort={local_vtepip,peer_vtepip}
VXLAN静态隧道的对端可以是OpenFlow域设备,也可以是EVPN域设备。OpenFlow域内设备两两之间都要创建对应的隧道端口,但如果对端是EVPN域的设备,只仅在OpenFlow域这一端创建VXLAN静态隧道端口。
EVPN域设备上的是动态VXLAN隧道,通过学习EVPN的3型路由(二层网络广播表)动态创建,表项可以来源于其他EVPN域设备,也可以来源于OpenFlow域。当OpenFlow域设备加入二层网络时,控制器在下发二层网络转发流表给OpenFlow域设备,同时也生成3型路由同步给EVPN域设备,使得EVPN域设备能自动生成对应的异构VXLAN隧道。
本发明实施例提供一种异构网络通信方法,使得同一个控制器管控的软件OpenFlow设备和硬件EVPN设备之间能进行二三层网络通信。
图2是本发明实施例提供的表项同步示意图。如图2所示,控制器与OpenFlow域的设备建立OpenFlow连接通道,通过OpenFlow通道接收设备上报的状态消息、主机的ARP报文和未知单播首个报文,计算出二、三层转发路径,生成流表下发设备。流表包括二层广播表、MAC表、ARP表和路由表。OpenFlow域的设备一般为vSwitch软件虚拟交换机,其下挂的主机一般是虚拟机。
控制器与EVPN域的设备建立MP-BGP连接,EVPN设备学习生成的主机路由表项同步给控制器,控制器经过转换处理和计算,得到OpenFlow域设备的转发路径,生成对应的转发表项,下发OpenFlow域的设备。另一方面,控制器也将OpenFlow域主机的路由信息,经转换处理后同步给各个EVPN设备,由EVPN设备进行路由迭代得到转发表项。EVPN路由表项主要包括2型、3型和5型路由,EVPN域的设备一般是硬件交换机,其下挂的主机可以是裸金属服务器,也可以是服务器中通过vlan隔离的虚拟机。
无论是OpenFlow域还是EVPN域,同域或跨域设备之间的转发路径,都是对应的VXLAN隧道。
实施例四:
本发明实施例提供的控制器将EVPN域的3型路由同步到OpenFlow域的方法,
包括如下步骤:
步骤101:控制器上创建二层网络实例时用VNET_ID标识,实例的RD(RouteDistinguisher,路由标识)根据VNET_ID自动生成。该二层网络实例下发EVPN域设备和控制器中的路由协议处理单元,使用该VNET_ID组合成一个字符串作为二层网络VXLAN实例的名称,同时自动生成一个二层网络VXLAN实例的ID;
步骤102:控制器通过BGP EVPN接收到EVPN域设备发布的3型路由时,3型路由如下表1所示:
表1 3型路由的RD路由标识
其中RD唯一标识一个二层网络,Originating Router's IPAddress是设备的VTEPIP地址。
步骤103:控制器根据RD找到EVPN域的二层网络实例,该VXLAN实例的名称与OpenFlow域的二层网络实例VNET_ID一一对应,可直接转换,因此控制器将该VXLAN_ID替换为VNET_ID后,生成OpenFlow域所需的二层网络广播表项:
其中:domain参数用于表示表项是来源于OpenFlow域还是EVPN域。
步骤104:控制器将上述二层网络广播表项添加到OpenFlow域的二层广播表中,根据其中的VTEP_IP查询到各设备上对应的VXLAN隧道端口ID,添加到组表的出端口列表中,将更新后的GROUP组表下发到各个OpenFlow域设备。
实施例五:
本发明实施例提供的控制器将OpenFlow域二层网络广播表同步到EVPN域的方法,包括如下步骤:
步骤201:控制器根据云平台的编排或用户配置,将OpenFlow域设备加入到二层网络广播域,生成对应的二层网络广播表项VNET_BROADCAST_INFO,其中VTEP_IP为设备IP;
步骤202:控制器根据VNET_ID查询到对应的RD和EVPN域的VXLAN实例ID,将该广播表项注入到路由协议处理单元的VXLAN实例;
步骤203:控制器的路由协议处理单元使用该RD和VTEP_IP构造3型路由,通过BGPEVPN协议发布给EVPN域的设备。
实施例三,控制器将EVPN域的2型路由MAC表同步到OpenFlow域的方法,包括如下步骤:
步骤301:EVPN域设备主机上线,学习到主机MAC表,向外发布BGP EVPN的2型路由,控制器的路由处理单元接收到该2型路由,如下表2所示:
表2 2型路由的RD路由标识
其中:RD唯一标识一个二层网络;L2VNI用于业务流量转发时标识二层网络。
步骤302:控制器根据RD找到EVPN域的二层网络实例VXLAN_ID和OpenFlow域的二层网络实例VNET_ID,生成OpenFlow域所需的主机MAC表项:
其中,vtep_ip为发布该表项的EVPN设备的IP,由控制器根据2型路由的来源隧道得到。port_id是学到该主机MAC表项的端口号,可以填为0,因为对于OpenFlow域设备而言,仅需对应的转发路径信息,即目的设备的VTEP IP,并不关注主机上线的具体端口;
步骤303:控制器将上述主机MAC表项添加到OpenFlow域,根据其中的VTEP_IP查询到各设备上对应的VXLAN隧道端口ID,生成流表下发到各个OpenFlow域设备。
实施例六:
本实施例提供的控制器将OpenFlow域主机MAC表同步到EVPN域的方法,包括如下步骤:
步骤401:OpenFlow域设备主机上线,首包通过packet-in上送控制器,控制器生成对应的主机MAC表项HOST_MAC_INFO,其中VTEP_IP为主机上线设备的IP;
步骤402:控制器根据VNET_ID查询到对应的RD和EVPN域的VXLAN实例ID,将该主机MAC表项注入到路由协议处理单元的VXLAN实例;
步骤403:控制器的路由协议处理单元使用该RD和VTEP_IP构造2型路由,通过BGPEVPN协议发布给EVPN域的设备。
实施例七:
本实施例提供的控制器将EVPN域的2型路由IP表同步到OpenFlow域的方法,包括如下步骤:
步骤501:EVPN域设备主机上线,学习到主机ARP表,向外发布BGP EVPN的2型路由IP表,控制器的路由处理单元接收到该2型路由,如下表3所示:
表3 2型路由的RD路由标识
其中:RD唯一标识一个二层网络;L2VNI用于业务流量转发时标识二层网络,L3VNI用于业务流量转发时标识三层网络。如果EVPN域配置为对称转发模式,这L2VNI和L3VNI同时携带;如果配置为非对称转发模式,则仅携带L2VNI。
步骤502:控制器根据RD找到EVPN域的二层网络实例VXLAN_ID和OpenFlow域的二层网络实例VNET_ID。如果L3VNI为空,则生成OpenFlow域所需的主机ARP表项:
其中:vrf_id是三层网络实例ID,可根据vnet_id查询确定;type标识ARP表类型,一般有静态和动态之分,这里来源于EVPN,取值为evpn,表示OpenFlow域不能对该表项进行老化,需由EVPN域主动通知删除。port_id是学到该主机ARP表项的端口号,这里填0。
如果L3VNI非空,则生成OpenFlow域所需的主机路由表项:
其中:vrf_id是三层网络实例ID,根据vnet_id查询确定;ip和mask分布为路由的目的前缀和掩码长度,这里ip取主机IP地址,掩码长度为32(IPv4)或128(IPv6);next_hop为路由的原始下一跳,这里为空;router_mac为EVPN设备的MAC地址,用于路由转发报文封装,这里为空。
步骤503:控制器将上述主机ARP表项或主机路由表项添加到OpenFlow域,根据其中的VTEP_IP查询到各设备上对应的VXLAN隧道端口ID,生成流表下发到各个OpenFlow域设备。
实施例八:
本实施例提供的控制器将OpenFlow域主机ARP表同步到EVPN域的方法,包括如下步骤:
步骤601:OpenFlow域设备主机上线,首包通过packet-in上送控制器,控制器生成对应的主机ARP动态表项ARP_INFO,其中VTEP_IP为主机上线设备的IP。控制器也可以根据云平台或用户触发创建的OpenFlow域主机生成静态ARP表项;
步骤602:控制器根据VNET_ID查询到对应的RD和EVPN域的VXLAN实例ID,将该主机ARP表项注入到路由协议处理单元的VXLAN实例;
步骤603:控制器的路由协议处理单元使用该RD和VTEP_IP构造2型路由IP表,通过BGP EVPN协议发布给EVPN域的设备。
实施例九:
本实施提供的控制器将EVPN域的5型路由表同步到OpenFlow域的方法,包括如下步骤:
步骤701:控制器上创建三层网络实例时用VRF_ID标识,实例的RD(RouteDistinguisher,路由标识)根据VRF_ID自动生成。该三层网络实例下发EVPN域设备和控制器中的路由协议处理单元,使用该VRF_ID组合成一个字符串作为三层网络路由转发实例的名称;
步骤702:EVPN域设备配置静态路由或学到动态路由时,生成路由转发表项,向外发布BGP EVPN的5型路由,控制器的路由处理单元接收到该5型路由,如下表4所示:
表4 5型路由的RD路由标识
其中:RD唯一标识一个三层网络;IP Prefix和IP Prefix Len分别为路由的IP前缀和前缀长度;GW IP Address为路由转发网关的IP地址;L3VNI为业务流量转发时的三层网络标识。在5型路由G形态,GW IP Address非空,而MPLS Label为空;在5型路由V形态,GWIP Address为空,而MPLS Label填L3VNI,同时BGP EVPN报文携带Router’s MAC扩展团体属性。
步骤703:控制器根据RD找到EVPN域的三层网络路由转发实例,通过该实例的名称转换得到OpenFlow域的三层网络实例VRF_ID。生成OpenFlow域所需的路由表项ROUTE_INFO(见上文)。
其中:ip和mask分布为5型路由中的IP Prefix和IP Prefix Len;5型路由G形态时时,next_hop取为GW IP Address,vtep_ip和router_mac为空;5型路由V形态时,router_mac为携带的Router’s MAC,vtep_ip为发布该表项的EVPN设备的IP。
步骤704:控制器将上述路由表项添加到OpenFlow域。对于5型路由G形态,需进一步路由迭代到主机路由或ARP表,根据主机路由或ARP表的VTEP_IP查询到各设备上对应的VXLAN隧道端口ID,生成流表下发到各个OpenFlow域设备;对于对于5型路由V形态,则直接根据VTEP_IP查询到各设备上对应的VXLAN隧道端口ID后生成流表下发。
由于OpenFlow域不会主动生成路由表,因此不需要进行OpenFlow域到EVPN域的路由同步。另外,OpenFlow域和EVPN域的L2VNI、L3VNI都由控制器统一编排下发,与二层网络实例VNET_ID或三层网络实例VRF_ID一一对应,因此在表项转换时不需特殊处理,域间表项同步时可忽略。
实施例十:
本实施例提供了一种控制器,控制器的结构示意图可参见图3,在图3中SDN对应于本实施的控制器,在本实施例中,控制器包括:路由协议处理单元、EVPN表项同步单元、OpenFlow表项同步单元和OpenFlow设备管理单元;
路由协议处理单元支持标准的BGP EVPN协议处理,用于与EVPN域的设备建立BGP邻居并相互通告EVPN路由;
EVPN表项同步单元将路由协议处理单元学到的EVPN域表项同步到OpenFlow域,同时接收OpenFlow域的表项信息传递给路由协议处理单元;
OpenFlow表项同步单元接收EVPN域的表项,同时将OpenFlow域的表项同步给EVPN域;
OpenFlow设备管理单元用于创建OpenFlow域的VXLAN隧道,对OpenFlow域和EVPN域的表项计算生成流表并下发OpenFlow设备。
本实施例还提供了一种异构网络通信系统,该异构网络通信系统可参见图3,异构网络通信系统包括:控制器、EVPN域设备和OpenFlow域设备;
控制器通过MP-BGP连接通道接收EVPN域设备上报的第一报文,将第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;
控制器通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将第二报文转换为第二表项,并通过MP-BGP连接通道同步到EVPN域设备。
在图3的异构网络通信系统中,控制器作为该异构网络通信系统的基础,包括四个核心单元:路由协议处理单元、EVPN表项同步单元、OpenFlow表项同步单元和OpenFlow设备管理单元。
其中路由协议处理单元采用标准的BGP EVPN协议与EVPN域的设备建立BGP邻居并相互通告EVPN路由。
EVPN表项同步单元则负责将路由协议处理单元学到的EVPN表项同步到OpenFlow域,同时接收OpenFlow域的表项信息,转换为EVPN路由信息后注入路由协议处理单元,发布给EVPN域设备。
OpenFlow表项同步单元则接收EVPN域的表项,生成控制器集中的控制面表项,供用户运维查询和OpenFlow域的路径计算;同时将控制器已有的OpenFlow域表项传递给EVPN表项同步单元。
OpenFlow设备管理单元,除了正常的OpenFlow域设备状态管理、主机上送报文的处理和创建VXLAN静态隧道之外,还需要对OpenFlow域和EVPN域主机进行转发路径计算,生成OpenFlow设备所需的转发流表并下发。
综上所述,本发明提供的异构网络通信系统中VXLAN隧道创建、表项同步及报文转发的通信方法和系统,不影响原有OpenFlow域和EVPN域的协议标准和组网方法,使得这两种SDN技术无缝融合,形成混合overlay解决方案,部署场景更加灵活多样。
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read-Only Memory,只读存储器),EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器),数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
本实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现本发明实施例以至实施一至九提供的异构网络通信方法的步骤。
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明实施例不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明实施例的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明实施例构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种异构网络通信方法,其特征在于,所述异构网络通信方法包括:
控制器通过MP-BGP连接通道接收EVPN域设备上报的第一报文,将所述第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;
和/或,
控制器通过OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将所述第二报文转换为第二表项,并通过MP-BGP连接通道同步到EVPN域设备;
其中,所述第一报文和所述第二表项包括:3型路由、2型路由和5型路由任意一种;
所述第二报文和所述第一表项包括:二层网络广播表、MAC表、ARP表和路由表任意一种;
所述3型路由与所述二层网络广播表对应,所述2型路由与所述MAC表和ARP表对应,所述5型路由与所述路由表对应。
2.如权利要求1所述的异构网络通信方法,其特征在于,所述EVPN域设备为硬件交换机时,所述EVPN域设备下挂载的主机包括裸金属服务器和服务器中通过vlan隔离的虚拟机任意一种;
所述OpenFlow域设备为vSwitch软件虚拟交换机时,所述OpenFlow域设备下挂载的主机为虚拟机。
3.如权利要求1-2任一项所述的异构网络通信方法,其特征在于,所述MP-BGP连接通道建立后为动态VXLAN隧道,所述动态VXLAN隧道由所述EVPN域设备通过学习BGP EVPN动态建立。
4.如权利要求3所述的异构网络通信方法,其特征在于,所述EVPN域设备和所述OpenFlow域设备通过学习所述第一表项和/或第二表项,生成二层和三层转发表项。
5.如权利要求1-2任一项所述的异构网络通信方法,其特征在于,所述OpenFlow连接通道建立后为静态VXLAN隧道,所述静态VXLAN隧道由控制器静态导入配置到所述OpenFlow域设备上,所述静态VXLAN隧道采用两端设备的VTEP IP作为唯一标识。
6.如权利要求5所述的异构网络通信方法,其特征在于,所述VTEP IP标识在不同设备之间的出接口为静态VXLAN隧道,所述静态VXLAN隧道为同域,或跨域,用于实现同域或跨域的报文转发。
7.一种控制器,其特征在于,所述控制器包括:路由协议处理单元、EVPN表项同步单元、OpenFlow表项同步单元和OpenFlow设备管理单元;
所述路由协议处理单元支持标准的BGP EVPN协议处理,用于与EVPN域的设备建立BGP邻居并相互通告EVPN路由;
所述EVPN表项同步单元将路由协议处理单元学到的EVPN域表项同步到OpenFlow域,同时接收OpenFlow域的表项信息传递给路由协议处理单元;
所述OpenFlow表项同步单元接收EVPN域的表项,同时将OpenFlow域的表项同步给EVPN域;
所述OpenFlow设备管理单元用于创建OpenFlow域的VXLAN隧道,对OpenFlow域和EVPN域的表项计算生成流表并下发OpenFlow设备;
其中,所述EVPN域的表项包括:3型路由、2型路由和5型路由任意一种;
所述OpenFlow域的表项包括:二层网络广播表、MAC表、ARP表和路由表任意一种;
所述3型路由与所述二层网络广播表对应,所述2型路由与所述MAC表和ARP表对应,所述5型路由与所述路由表对应。
8.一种异构网络通信系统,其特征在于,所述异构网络通信系统包括:控制器、EVPN域设备和OpenFlow域设备;
所述控制器通过MP-BGP连接通道接收所述EVPN域设备上报的第一报文,将所述第一报文转换为第一表项,并通过OpenFlow连接通道同步到OpenFlow域设备;
所述控制器通过所述OpenFlow连接通道接收OpenFlow域设备上报的第二报文,将所述第二报文转换为第二表项,并通过所述MP-BGP连接通道同步到EVPN域设备;
其中,所述第一报文和所述第二表项包括:3型路由、2型路由和5型路由任意一种;
所述第二报文和所述第一表项包括:二层网络广播表、MAC表、ARP表和路由表任意一种;
所述3型路由与所述二层网络广播表对应,所述2型路由与所述MAC表和ARP表对应,所述5型路由与所述路由表对应。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如权利要求1至6中任一项所述的异构网络通信方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168055.2A CN112838985B (zh) | 2019-11-25 | 2019-11-25 | 一种异构网络通信方法、系统和控制器 |
PCT/CN2020/114910 WO2021103744A1 (zh) | 2019-11-25 | 2020-09-11 | 一种异构网络通信方法、系统和控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168055.2A CN112838985B (zh) | 2019-11-25 | 2019-11-25 | 一种异构网络通信方法、系统和控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112838985A CN112838985A (zh) | 2021-05-25 |
CN112838985B true CN112838985B (zh) | 2024-04-02 |
Family
ID=75922402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168055.2A Active CN112838985B (zh) | 2019-11-25 | 2019-11-25 | 一种异构网络通信方法、系统和控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112838985B (zh) |
WO (1) | WO2021103744A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500171B (zh) * | 2021-12-29 | 2023-05-26 | 曙光云计算集团有限公司 | 网络系统及报文传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549873A (zh) * | 2016-12-09 | 2017-03-29 | 北京邮电大学 | 一种异构控制器之间的通信方法及系统 |
CN108574613A (zh) * | 2017-03-07 | 2018-09-25 | 中兴通讯股份有限公司 | Sdn数据中心的二层互通方法及装置 |
CN109479027A (zh) * | 2016-08-04 | 2019-03-15 | 思科技术公司 | 用于互连基于控制器的虚拟网络和基于协议的虚拟网络的技术 |
CN109729019A (zh) * | 2018-12-28 | 2019-05-07 | 新华三技术有限公司 | 一种evpn组网中专线业务的限速方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9467536B1 (en) * | 2014-03-21 | 2016-10-11 | Cisco Technology, Inc. | Shim layer abstraction in multi-protocol SDN controller |
CN107204907B (zh) * | 2016-03-16 | 2021-03-26 | 中兴通讯股份有限公司 | 云数据中心互联方法及装置 |
CN108989232A (zh) * | 2017-05-31 | 2018-12-11 | 中兴通讯股份有限公司 | Sdn中的报文交互方法及装置 |
CN109327374B (zh) * | 2017-07-31 | 2021-09-28 | 上海层峰网络科技有限公司 | 实现三层vpn网络接入的系统及方法 |
CN110391997A (zh) * | 2019-07-26 | 2019-10-29 | 新华三技术有限公司合肥分公司 | 一种报文转发方法及装置 |
-
2019
- 2019-11-25 CN CN201911168055.2A patent/CN112838985B/zh active Active
-
2020
- 2020-09-11 WO PCT/CN2020/114910 patent/WO2021103744A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109479027A (zh) * | 2016-08-04 | 2019-03-15 | 思科技术公司 | 用于互连基于控制器的虚拟网络和基于协议的虚拟网络的技术 |
CN106549873A (zh) * | 2016-12-09 | 2017-03-29 | 北京邮电大学 | 一种异构控制器之间的通信方法及系统 |
CN108574613A (zh) * | 2017-03-07 | 2018-09-25 | 中兴通讯股份有限公司 | Sdn数据中心的二层互通方法及装置 |
CN109729019A (zh) * | 2018-12-28 | 2019-05-07 | 新华三技术有限公司 | 一种evpn组网中专线业务的限速方法及装置 |
Non-Patent Citations (1)
Title |
---|
运营商SDN云网协同架构和关键技术研究;鲁子奕;杨文斌;;中兴通讯技术(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021103744A1 (zh) | 2021-06-03 |
CN112838985A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3836490B1 (en) | Vpn cross-domain implementation method, device, and border node | |
US20210058260A1 (en) | Multicast Data Transmission Method, Related Apparatus, and System | |
JP5237391B2 (ja) | リンク状態プロトコル制御型イーサネット・ネットワーク上でのvpnの実装 | |
JP5291122B2 (ja) | リンクステートプロトコルによるipフォワードにより制御されたイーサーネット・ネットワーク | |
CN112511444B (zh) | 一种组播流量传输方法、装置、通信节点及存储介质 | |
EP3905609A1 (en) | Service data forwarding method, network device, and network system | |
EP2135393B1 (en) | Ethernet spanning tree provision | |
CN108156067B (zh) | 一种实现基于以太网虚拟专用网络的方法和系统 | |
WO2020098611A1 (zh) | 一种获取路由信息方法及装置 | |
US11888733B2 (en) | Label deduction with flexible-algorithm | |
CN113904981B (zh) | 一种路由信息处理方法、装置、电子设备和存储介质 | |
US20220006738A1 (en) | Communication of policy changes in lisp-based software defined networks | |
CN112838985B (zh) | 一种异构网络通信方法、系统和控制器 | |
US20230081052A1 (en) | Method and apparatus for sending multicast packet | |
CN117478503A (zh) | 一种组播配置方法及装置 | |
CN113395206B (zh) | 路由确定方法、装置和网络设备 | |
Joseph et al. | Network convergence: Ethernet applications and next generation packet transport architectures | |
CN115225427B (zh) | 一种传输数据报文的方法和装置 | |
WO2024007762A1 (zh) | 一种路由发布方法、通信方法及装置 | |
US10924395B2 (en) | Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core | |
EP3913868A1 (en) | Segmented traceroute for segment routing traffic engineering | |
Torres | Segment Routing Protocol Analysis | |
CN117377020A (zh) | 路由发布方法、电子设备和计算机可读存储介质 | |
CN105323084B (zh) | 三层网管管理trill网络的方法、装置及系统 | |
CN115701052A (zh) | 转发表的查找方法及装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |