CN111371706B - 跨物理和虚拟化工作负载使用虚拟化覆盖的具有多个协议的云网络 - Google Patents
跨物理和虚拟化工作负载使用虚拟化覆盖的具有多个协议的云网络 Download PDFInfo
- Publication number
- CN111371706B CN111371706B CN201910566556.XA CN201910566556A CN111371706B CN 111371706 B CN111371706 B CN 111371706B CN 201910566556 A CN201910566556 A CN 201910566556A CN 111371706 B CN111371706 B CN 111371706B
- Authority
- CN
- China
- Prior art keywords
- protocol
- network
- configuration data
- virtual
- transformation function
- 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
Images
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/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0226—Mapping or translating multiple network management protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- 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/52—Multiprotocol routers
-
- 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/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- 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
-
- 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/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施例涉及跨物理和虚拟化工作负载使用虚拟化覆盖的具有多个协议的云网络。公开了用于配置实现不同协议或技术的多个网络设备的技术。例如,这些技术允许配置有不同协议的网络设备在同一网络内共存,或者使网络能够从一个协议无缝演进到另一协议。本文中描述的技术提供了一种SDN控制器,该SDN控制器可以通过将协议不可知的高层配置数据(例如,高抽象层的网络的期望状态)转换为协议特定的低层配置数据(例如,低抽象层的网络的期望状态)来桥接实现不同协议(例如,开放vSwitch数据库(OVSDB)和以太网虚拟专用网(EVPN))的网络***。也就是说,SDN控制器可以提供被配置为专门在OVSDB环境和/或EVPN环境内操作的虚拟化网络的管理、控制和分析功能。
Description
相关申请的交叉引用
本申请要求于2018年12月26日提交的美国申请No.16/232,656的权益,其全部内容通过引用并入本文。
技术领域
本公开总体上涉及计算机网络,并且更具体地涉及分布式应用。
背景技术
云数据中心是一种向外部客户提供对虚拟化应用、服务和数据存储的访问的数据中心。在典型的云数据中心环境中,存在大量互连服务器,这些服务器提供运行各种应用的计算(例如,计算节点)和/或存储容量。例如,云数据中心包括为云数据中心的客户托管虚拟化应用和服务的设施。
例如,云数据中心托管所有基础设施设备,诸如网络和存储***、冗余电源和环境控制。在典型的云数据中心中,存储***和应用服务器的集群通过由一层或多层物理网络交换机和路由器提供的高速网络结构互连。更复杂的云数据中心提供遍布全球的基础设施,其中订户支持设备位于各种物理住房设施中。在一些示例中,云数据中心的基础设施可以包括物理设备的组合,其可以被称为“底层资源”,其链接到诸如虚拟服务器、代理和/或策略控制器等各种虚拟资源(其可以称为“覆盖资源”)并且与之通信。
软件定义网络(SDN)平台可以用在云数据中心中,并且在一些情况下,可以使用逻辑上集中且物理上分布的SDN控制器、以及在虚拟路由器中的分布式转发平面,这些虚拟路由器将网络从云数据中心中的物理路由器和交换机扩展到被托管在虚拟化服务器中的虚拟覆盖网络。SDN控制器提供虚拟化网络的管理控制和分析功能,并且通过与虚拟路由器通信来协调虚拟路由器。
网络结构中包括的各种网络设备通常包括用于本地或远程地配置这些设备的机制,诸如管理接口。通过与网络设备的管理接***互,管理员或其他用户可以手动执行配置任务以配置设备,并且用户还可以在设备上手动执行操作命令以管理、收集和/或查看设备的操作数据。例如,用户可以配置设备的接口卡,调节所支持的网络协议的参数,指定设备内的物理组件,修改由路由器维护的路由信息,访问驻留在设备上的软件模块和其他资源,和/或执行其他配置任务。另外,用户还可以提供命令以查看当前操作参数、***日志、与网络连接有关的信息、网络活动或来自设备的其他状态信息,以及查看和响应于从设备接收的事件信息。
在一些情况下,网络结构可以包括多个网络设备,例如来自不同供应商的网络设备。供应商通常提供不同的协议来管理设备。例如,不同的路由器供应商可以提供不同的协议来配置由这些路由器执行的服务。
发明内容
通常,本公开描述了用于配置实现不同协议或技术的多个网络设备的技术。例如,这些技术允许配置有不同协议的网络设备在同一网络(或数据中心)内共存,或者使网络能够从一个协议无缝演进到另一协议。在一个实例中,数据中心的一个或多个网络设备可以实现第一协议以实现虚拟网络与物理网络之间的通信,而数据中心的一个或多个其他网络设备可以实现第二协议以实现虚拟网络与物理网络之间的通信。在一些示例中,第一协议可以是传统协议,而第二协议可以是非传统(新)协议。例如,第一协议可以是例如开放vSwitch数据库(OVSDB),而第二协议可以是例如以太网虚拟专用网(EVPN)。
本文中描述的技术提供了一种SDN控制器,该SDN控制器可以通过将协议不可知的高层配置数据(例如,高抽象层的网络的期望状态)转换为协议特定的低层配置数据(例如,低抽象层的网络的期望状态)来桥接实现不同协议(例如,OVSDB和EVPN)的网络***。例如,SDN控制器可以通过跨虚拟网络和物理网络使用例如相同的用于覆盖的隧道,来提供基于控制平面的服务自动化(例如,虚拟网络覆盖)。也就是说,SDN控制器可以提供被配置为在OVSDB环境和/或EVPN环境内操作的虚拟化网络的管理、控制和分析功能。
该技术可以提供一个或多个示例技术优点。例如,通过提供SDN控制器以将协议不可知的高层配置数据转换为协议特定的低层配置数据,当为实现多个协议的网络设备在其中共存和/或从使用一个协议演进到使用另一协议的***配置网络设备时,管理员无需考虑与底层设备基础设施相关的多个因素,诸如网络基础设施以及网络设备的技术或协议。
在一个示例中,一种方法包括通过软件定义网络(SDN)控制器接收高层配置数据,该高层配置数据描述由SDN控制器在高抽象层管理的网络的期望状态,其中多个网络设备中的第一网络设备实现第一协议,并且多个网络设备中的第二网络设备实现第二协议,其中第一协议和第二协议是用于在虚拟网络与物理网络之间进行通信的不同协议,并且其中高层配置数据是协议不可知的。该方法还包括通过SDN控制器将第一变换函数应用于高层配置数据,以生成第一协议特定的第一低层配置数据。该方法还包括通过SDN控制器将第二变换函数应用于高层配置数据,以生成第二协议特定的第二低层配置数据。该方法还包括响应于应用第一变换函数,通过SDN控制器并且使用第一协议,输出第一低层配置数据以配置实现第一协议的第一网络设备。该方法还包括响应于应用第二变换函数,通过SDN控制器并且使用第二协议,输出第二低层配置数据以配置实现第二协议的第二网络设备。
在另一示例中,一种软件定义网络(SDN)控制器包括存储器;以及耦合到存储器的一个或多个处理器,其中一个或多个处理器被配置为:接收高层配置数据,该高层配置数据描述由SDN控制器在高抽象层管理的网络的期望状态,其中多个网络设备中的第一网络设备实现第一协议,并且多个网络设备中的第二网络设备实现第二协议,其中第一协议和第二协议是用于在虚拟网络与物理网络之间进行通信的不同协议,并且其中高层配置数据是协议不可知的;将第一变换函数应用于高层配置数据,以生成第一协议特定的第一低层配置数据;将第二变换函数应用于高层配置数据,以生成第二协议特定的第二低层配置数据;响应于应用第一变换函数并且使用第一协议,输出第一低层配置数据以配置实现第一协议的第一网络设备;以及响应于应用第二变换函数并且使用第二协议,输出第二低层配置数据以配置实现第二协议的第二网络设备。
在又一示例中,一种非暂态计算机可读存储介质包括用于引起一个或多个可编程处理器执行以下操作的指令:接收高层配置数据,该高层配置数据描述由SDN控制器在高抽象层管理的网络的期望状态,其中多个网络设备中的第一网络设备实现第一协议,并且多个网络设备中的第二网络设备实现第二协议,其中第一协议和第二协议是用于在虚拟网络与物理网络之间进行通信的不同协议,并且其中高层配置数据是协议不可知的;将第一变换函数应用于高层配置数据以生成第一协议特定的第一低层配置数据;将第二变换函数应用于高层配置数据以生成第二协议特定的第二低层配置数据;响应于应用第一变换函数并且使用第一协议,输出第一低层配置数据以配置实现第一协议的第一网络设备;以及响应于应用第二变换函数并且使用第二协议,输出第二低层配置数据以配置实现第二协议的第二网络设备。
在附图和以下描述中阐述了本公开的技术的一个或多个示例的细节。根据说明书和附图以及权利要求,本技术的其他特征、目的和优点将很清楚。
附图说明
图1是示出可以在其中实现本文中描述的技术的示例的具有数据中心的示例网络的框图;
图2是进一步详细示出根据本文中描述的技术的图1的数据中心的示例实现的框图;
图3是示出根据本公开中描述的技术的SDN控制器的示例实例的框图;以及
图4是示出根据本公开中描述的技术的SDN控制器的示例操作的流程图。
贯穿附图和描述,相同的附图标记指代相同的元素。
具体实施方式
图1是示出可以在其中实现本文中描述的技术的示例的示例网络***2的框图。网络***2包括彼此互连并且经由服务提供商网络8与与客户4相关联的客户网络互连的数据中心10A-10X(统称为“数据中心10”)。在一些示例中,每个数据中心10可以表示很多地理分布的网络数据中心中的一个。通常,每个数据中心10为通过服务提供商网络8耦合到数据中心的客户4提供针对应用和服务的操作环境。数据中心10可以例如托管基础设施设备,诸如网络和存储***、冗余电源和环境控制。服务提供商网络8可以耦合到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,因特网)的一部分。
客户4可以是集体类别,诸如企业和政府或个人。例如,网络数据中心可以为若干企业和最终用户托管网络服务。其他示例***可以包括数据存储、虚拟专用网、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些示例中,每个数据中心10可以是个体的网络服务器、网络对等体等。
在该示例中,每个数据中心10包括通过由一层或多层物理网络交换机和路由器提供的高速交换结构14互连的一组存储***和应用服务器12A-12X(本文中,“服务器12”)。交换结构14由耦合到机架交换机18A-18N的分配层(统称为“机架交换机18”)的一组互连的架顶式(TOR)交换机16A-16N(统称为“TOR交换机16”)提供。尽管未示出,但是每个数据中心10还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵防御设备)、服务器、计算机终端、笔记本电脑、打印机、数据库、无线移动设备(诸如手机或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用加速器或其他网络设备。
如下面进一步描述的,服务器12可以包括可以在同一物理主机上和/或虚拟机与物理网络(例如,交换结构14、IP结构20)之间的不同虚拟机之间转发业务的软件或“虚拟”交换机30A-30N(统称为“虚拟交换机30”)。可以使用各种技术在物理网络上的虚拟网络内和跨虚拟网络传输分组。如下面进一步描述的,数据中心的网络设备可以例如使用多个协议来实现虚拟网络与物理网络之间的通信。例如,第一协议可以是开放vSwitch数据库(OVSDB)管理协议,并且第二协议可以是以太网虚拟专用网(EVPN)。
在该示例中,TOR交换机16和机架交换机18向服务器12提供到IP结构20和服务提供商网络8的冗余(多宿主)连接。机架交换机18聚合业务流并且提供TOR交换机之间的高速连接。TOR交换机16可以是提供层2(例如,媒体访问控制(MAC))和/或层3(例如,IP)路由和/或交换功能的网络设备。TOR交换机16和机架交换机18每个可以包括一个或多个处理器和存储器,并且能够执行一个或多个软件过程。机架交换机18耦合到IP结构20,IP结构20执行层3路由,以通过服务提供商网络8在数据中心10与客户4之间路由网络业务。
提供商边缘设备22(“PE设备22”)可以表示参与L2虚拟专用网(“L2VPN”)服务(诸如EVPN)的网关设备、路由器、交换机或其他合适的网络设备。PE设备22在IP结构20与服务提供商网络8之间转发和接收分组。
根据本公开的一个或多个示例,软件定义网络(“SDN”)控制器28提供在逻辑上并且在一些情况下在物理上集中的控制器以用于促进每个数据中心10(诸如数据中心10A)内的一个或多个虚拟网络的操作。虚拟网络是在数据中心10A的物理网络之上实现的逻辑构造。在一些示例中,虚拟网络可以实现为虚拟专用网(VPN)、虚拟LAN(VLAN)等。在一些示例中,SDN控制器28可以响应于从编排引擎(例如,编排引擎26)接收的配置输入而操作,该编配引擎又响应于从网络管理员24接收的配置输入而操作。代表性的编排器包括Openstack、Kubernetes、Openshift和vCenter。关于与数据中心10A或其他软件定义网络的其他设备一起操作的SDN控制器23的附加信息可以在于2013年6月5日提交的题为“PHYSICAL PATHDETERMINATION FOR VIRTUAL NETWORK PACKET FLOWS”的国际申请号PCT/US2013/044378中找到,该申请通过引用并入本文,如同在此完全阐述一样。
在一些示例中,编排引擎26管理数据中心10的应用层功能,诸如管理在服务器12上执行的计算、存储、网络和应用资源。例如,编排引擎26可以将虚拟机(VM)附接到租户的虚拟网络,并且通常根据需要管理VM的启动、迁移和解构。每个虚拟机可以被称为虚拟化应用工作负载(或简称为应用工作负载),并且通常表示虚拟化执行元件,诸如VM或容器。编配引擎26可以将租户的虚拟网络连接到某个外部网络,例如,互联网或VPN。
在一些示例中,SDN控制器23是负责管理数据中心10A的网络和网络服务的低层控制器,并且特别是提供服务器12之间的连接的交换结构14。SDN控制器28利用一组通信协议来配置和控制交换结构14的路由和交换元件以创建例如覆盖网络,该覆盖网络通常是指用于向和从数据中心10A内的服务器12传输分组的一组隧道。
通常,数据中心10A的网络设备可以实现不同的协议或技术。例如,不同的供应商可以使用不同的协议提供数据中心的网络设备,或者单个供应商可以使用不同的协议提供数据中心的网络设备。在一个实例中,第一供应商可以提供实现传统协议(例如,OVSDB)以实现虚拟网络与物理网络之间的通信的数据中心10A的一个或多个网络设备(例如,虚拟交换机13A),而第二供应商可以提供实现非传统协议(例如,EVPN)以实现数据中心10A内的多个边缘(例如,虚拟机)的互连的数据中心10A的一个或多个网络设备(例如,PE设备22)。
在图1的示例中,第一供应商可以提供实现诸如OVSDB等第一协议的网络设备(例如,虚拟交换机13A)。例如,第一供应商可以提供基于开放vSwitch实现的虚拟交换机13A,其可以在http://docs.openvswitch.org/en/latest/contents/中描述。OVSDB是一种用于管理和配置开放vSwitch实现的协议。例如,OVSDB用于将工作负载之间的通信扩展到服务器,例如服务器12A。服务器和工作负载可以在同一虚拟网络或不同的虚拟网络上产生。更具体地,OVSDB定义了一个网络可访问的数据库***,其中数据库的模式存储网络中网络设备的网络地址并且指定OVSDB的通信。OVSDB用于将一个或多个TOR交换机(例如,TOR交换机16A)配置为导入和导出动态获知的网络地址(例如,MAC地址)。以这种方式,OVSDB可以用于通过允许实现OVSDB的网络设备检测数据库的内容并且了解网络的当前状态来进行状态同步。
在图1的示例中,提供TOR服务节点(“TSN”)和TOR代理以与实现OVSDB的网络设备一起操作。TSN可以作为用于TOR交换机的多播控制器操作,例如TOR交换机16A。也就是说,来自TOR交换机16A的任何BUM业务被发送到TSN,并且TSN将业务复制到终端主机。在另一方向,来自虚拟机的BUM业务从计算节点发送到TOR交换机。作为一个示例,当来自服务器12A的地址解析协议(ARP)请求到达TOR交换机16A时,TOR交换机将ARP请求发送到TSN,TSN进而进一步泛洪ARP请求。在一些示例中,TSN可以向在TOR交换机端口后面运行的服务器或虚拟实例提供动态主机配置协议(DHCP),例如,作为DHCP服务器。例如,TSN可以将IP地址以及在***中配置的其他DCHP选项租用给服务器。
TOR代理可以作为用于TOR交换机(例如,TOR交换机16A)的OVSDB客户端操作,并且OVSDB与TOR交换机的交互通过使用TOR代理来执行。例如,TOR代理可以接收针对TOR交换机16A的配置信息,将配置信息转换为OVSDB,并且对TOR交换机16A中的不同OVSDB表进行编程,并且从TOR交换机接收本地单播表条目。也就是说,在TOR交换机中为不同的逻辑交换机(例如,来自OVSDB中的本地表的条目)获知的MAC地址被传播到TOR代理,TOR代理将该地址输出到SDN控制器28。SDN控制器28将地址分配给其他控制器和计算节点。
实现OVSDB的网络设备可以使用例如在2006年7月的RFC4627的D.Crockford的“The Application/json Media Type for JavaScript Object Notation(JSON)”中描述的JavaScript对象表示法(JSON)消息和2013年1月4日的“JSON-RPC 2.0规范”中描述的JavaScript对象表示法远程过程调用(JSON-RPC)消息来配置和/或通信,其全部内容通过引用并入本文。2013年12月的征求意见7047的B.Pfaff等人的“The Open vSwitchDatabase Management Protocol”中描述了OVSDB的其他实例,其全部内容通过引用并入本文。
虽然数据中心10A的一些网络设备可以实现第一协议,但是数据中心10A的其他网络设备(例如,PE设备22)可以实现第二协议,诸如EVPN。例如,第二供应商可以提供PE设备22,PE设备22可以实现使用层2(L2)覆盖来互连数据中心10A内的多个边缘(例如,虚拟机)的EVPN。例如,由服务器12实现的虚拟网络可以使用数据中心边缘路由器(例如,PE设备22)来连接到以太网虚拟专用网(EVPN)并且在其上扩展。
具体地,EVPN根据一个或多个多协议标签交换(MPLS)协议、通过中间L3网络经由流量工程标签交换路径(“LSP”)来在客户网络(例如,虚拟网络)之间传输L2通信,诸如以太网分组或“帧”。在典型配置中,服务提供商网络8的边缘上的网络设备(例如,PE设备22)定义服务提供商网络内的标签交换路径以在虚拟网络之间承载被包封的L2通信,就像虚拟网络被直接附接一样。在一些配置中,网络设备还可以通过IP基础设施连接,在这种情况下,可以在网络设备之间使用IP/GRE隧道或其他IP隧道。
在EVPN中,L2地址学***面中而不是使用路由协议在数据平面中发生。例如,在EVPN中,PE网络设备通常使用边界网关协议(“BGP”)(即,L3路由协议)来向SDN控制器28通告网络设备已经从客户边缘设备(例如,服务器12的虚拟机)获知的MAC地址。作为一个示例,PE设备22可以使用BGP路由通告消息来通告针对EVPN的可达性信息,其中BGP路由通告指定由PE设备获知的一个或多个MAC地址而不是L3路由信息。进而,SDN控制器28可以使用BGP将MAC地址传送到网络对等体。
通常,数据中心10A的网络设备可以提供类似的服务。例如,每个网络设备可以是路由器、交换机或用于路由分组的其他设备。然而,不同的网络设备可以实现不同的协议,诸如OVSDB和EVPN协议。在一些示例中,网络运营商(例如,管理员24)可能希望用OVSDB实现的网络设备与实现EVPN的网络设备共存,或者将OVSDB网络设备迁移到EVPN。EVPN可以提供优于OVSDB的若干示例优势。例如,EVPN可以为服务器12提供OVSDB不支持的多宿主支持(例如,EVPN多宿主14)。EVPN还可以在TOR交换机本身上提供多播复制能力。通过从OVSDB迁移到EVPN,不再需要TOR代理,因为使用EVPN路由获知MAC地址。此外,通过从OVSDB迁移到EVPN,TSN的角色仅限于DHCP,因为多播复制由TOR交换机本身处理。
为了手动配置实现不同协议的网络设备,管理员需要考虑多个因素,诸如网络基础设施信息,例如计算节点、由计算节点实现的技术和/或协议、供应商特定信息等。根据本公开中描述的技术,SDN控制器28可以例如经由到SDN控制器28的用户接口从管理员接收高层基于意图的输入,并且以相同的方式自动配置实现不同协议的网络设备,例如,通过提供协议不可知的高层配置数据(例如,描述需要实现“什么”服务的配置指令)并且将高层配置数据转换为协议特定的低层配置数据(例如,描述“如何”实现服务的配置指令)。
根据本公开中描述的技术,SDN控制器28可以包括将协议特定配置指令配置和实例化为实现不同协议的数据中心10A的网络设备的服务供应模块29(“SPM 29”)。更具体地,服务供应模块29配置有多个变换函数,这些变换函数将协议或技术不可知的高层配置数据转换为与特定协议或技术配置和通信的低层配置数据。
在图1的示例中,第一供应商可以提供实现传统协议(例如,OVSDB)的一个或多个网络设备(例如,虚拟交换机13A),并且第二供应商可以提供实现非传统协议(例如,EVPN)的一个或多个其他网络设备(例如,PE设备22)。在一个实例中,服务供应模块29可以从编排引擎26接收高层配置数据,该高层配置数据描述要由数据中心10A的网络设备实现的服务(例如,虚拟网络覆盖)。
为了配置用不同协议实现的网络设备来创建服务,例如,服务供应模块29可以将与协议不可知的高层配置数据转换为用于实现OVSDB的网络设备的第一低层配置数据、以及用于实现EVPN的网络设备的第二低层配置数据。
在一个实例中,服务供应模块29可以收集和取回网络基础设施信息以确定实现OVSDB的计算节点(例如,虚拟交换机13A)。服务供应模块29还可以确定要在其中实例化计算节点的配置协议(例如,JSON),以及要在其中与计算节点传播路由信息的路由协议(例如,JSON)。服务供应模块29可以将高层配置数据转换为OVSDB特定的低层配置数据。例如,服务供应模块29可以构造包括低层配置数据的JSON消息,并且可以发送JSON消息以配置虚拟交换机13A以实现服务。服务供应模块29还可以使用JSON消息来向虚拟交换机13A传播路由信息。以这种方式,服务供应模块29可以发送JSON消息以在OVSDB兼容网络设备中实例化服务,并且发送JSON消息以将路由信息传播到OVSDB兼容设备,例如虚拟交换机13A。
在另一实例中,服务供应模块29可以收集和取回网络基础设施信息以确定实现EVPN的计算节点(例如,PE设备22)。服务供应模块29还可以确定要在其中实例化计算节点的配置协议(例如,NETCONF)和要在其中与计算节点传播路由信息的路由协议(例如,BGP)。服务供应模块29可以将高层配置数据转换为EVPN特定的低层配置数据。例如,服务供应模块29可以构造包括低层配置数据的NETCONF消息,并且可以发送NETCONF消息以配置PE设备22以实现服务。服务供应模块29还可以使用BGP来向PE设备22传播路由信息。以这种方式,服务供应模块29可以发送NETCONF消息以在EVPN兼容网络设备中实例化服务,并且发送BGP消息以将路由信息传播到EVPN兼容设备。例如,PE设备22。
在一些示例中,高层配置数据可以表示为结构化的参数集,诸如可在tools.ietf.org/html/rfc6020获取的2010年10月的Internet Engineering Task Force的Bjorklund的“YANG–A Data Modeling Language for the Network ConfigurationProtocol(NETCONF)”中描述的又一下一代(YANG)。在其他示例中,高层配置数据可以表示为可扩展标记语言(XML)模式。但是,网络设备不需要支持YANG或其他结构化输入模式。相反,变换函数被配置为将输入的高层配置数据转换为对应网络设备所需要的协议特定的指令。变换函数的其他示例在2016年6月30日提交的美国申请15/198,657和美国申请16/221,698中描述,这两个申请的全部内容通过引用并入本文。
在一些示例中,低层配置数据可以表示为用于执行特定或窄的函数集的Python或Perl脚本。在其他示例中,可以使用更复杂的自动化工具,诸如Ansible(在https://docs.ansible.com中找到)和Puppet。Ansible是一种供应、配置和部署工具,它依赖于剧本(playbook)来定义任务序列。Ansible使用剧本以经由名为YAML的人性化数据序列化语言将自动化作业描述为任务。YAML一种是常用于配置文件的标准化语言。但是,它可以用于存储数据的任何应用。YAML对于人类来说非常容易理解、读取和写入,并且可以有利地在诸如Ansible等应用中用于描述和记录剧本。Puppet是一种配置管理工具,其用于简化IT基础架构的定义,如代码和***配置的实现。
该技术可以提供一个或多个示例技术优点。例如,通过提供SDN控制器以将协议不可知的高层配置数据转换为协议特定的低层配置数据,当为实现多个协议的网络设备在其中共存和/或从使用一个协议演进到使用另一协议的***配置网络设备时,管理员无需考虑与底层设备基础设施相关的多个因素,诸如网络基础设施和网络设备的技术或协议。
图2是更详细地示出图1的数据中心10A的示例实现的框图。在图2的示例中,数据中心10A包括将交换结构14从物理交换机16、18扩展到虚拟交换机13的互连。虚拟交换机13动态地创建和管理可用于应用实例之间的通信的一个或多个虚拟网络34。作为一个示例,虚拟交换机13将虚拟网络作为覆盖网络执行,覆盖网络提供将应用的虚拟地址与应用正在其上执行的服务器12A-12N(“服务器12”)中的一个服务器的物理地址(例如,IP地址)解耦的能力。每个虚拟网络可以使用其自己的寻址和安全方案,并且可以被视为与物理网络及其寻址方案正交。
每个虚拟交换机13可以在管理程序、主机操作***或每个服务器12的其他组件内执行。每个服务器12可以表示能够执行虚拟机36的x86或其他通用或专用服务器。在图2的示例中,虚拟交换机13A在管理程序31内执行,管理程序31通常也称为虚拟机管理器(VMM),管理程序31提供允许多个操作***同时在服务器12的一个服务器上运行的虚拟化平台。在图2的示例中,虚拟交换机13A管理虚拟网络34,每个虚拟网络34提供用于在由管理程序31提供的虚拟化平台之上执行一个或多个虚拟机36(“VM 36”)的网络环境。每个VM 36与虚拟网络VN0-VN2中的一个相关联并且可以表示运行客户应用(诸如网络服务器、数据库服务器、企业应用或托管用于创建服务链的虚拟化服务)的租户VM。在一些情况下,服务器12或另一计算设备中的任何一个或多个可以直接托管客户应用,即不作为虚拟机。在一些情况下,VM 36中的一些可以表示容器,即另一种形式的虚拟化执行环境。也就是说,虚拟机和容器都是用于执行应用工作负载的虚拟化执行环境的示例。
通常,每个VM 36可以是任何类型的软件应用,并且可以被分配虚拟地址以在对应的虚拟网络34内使用,其中每个虚拟网络可以是由虚拟交换机13A提供的不同的虚拟子网。VM 36可以被分配其自己的虚拟层3(L3)IP地址,例如,用于发送和接收通信,但是可能不知道虚拟机正在其上执行的物理服务器12A的IP地址。以这种方式,“虚拟地址”是针对应用的地址,其不同于针对底层物理计算机***的逻辑地址,诸如图1或2的示例中的服务器12A。
在一个实现中,每个服务器12包括控制虚拟网络34并且协调服务器12内的数据分组的路由的虚拟网络(VN)代理35A-35N(统称为“VN代理35”)中的对应VN代理。通常,每个VN代理35与SDN控制器28通信,SDN控制器28生成命令以控制分组通过数据中心10A的路由。VN代理35可以作为针对虚拟机36与SDN控制器28之间的控制平面消息的代理。例如,VM 36可以请求经由VN代理35A使用其虚拟地址发送消息,并且VN代理35A又可以发送该消息,并且请求针对发起第一消息的VM 36的虚拟地址接收对消息的响应。在一些情况下,VM 36可以调用由VN代理35A的应用程序编程接口呈现的过程或函数调用,并且VN代理35A也可以处理消息的包封,包括寻址。
在一个示例中,由虚拟网络域内的虚拟机36执行的应用的实例生成或消费的网络分组(例如,层3(L3)IP分组或层2(L2)以太网分组)可以包封在由物理网络传输的另一分组(例如,另一IP或以太网分组)中。在虚拟网络中传输的分组在本文中可以称为“内部分组”,而物理网络分组在本文中可以称为“外部分组”或“隧道分组”。物理网络分组内的虚拟网络分组的包封和/或解封可以在虚拟交换机13内执行,例如,在每个服务器12上运行的管理程序或主机操作***内。作为另一示例,包封和解封功能可以在第一跳TOR交换机16处的交换结构14的边缘处执行,第一跳TOR交换机16是从发起分组的应用实例中被移除的一跳。该功能在本文中称为隧道,并且可以在数据中心10A内使用以创建用于互连不同类型的应用工作负载(例如,VM)的一个或多个隧道。除了IP-in-IP之外,可以使用的其他示例隧道协议包括GRE上IP、VxLAN、GRE上MPLS、UDP上MPLS等。
如上所述,SDN控制器28提供逻辑集中控制器以用于促进数据中心10A内的一个或多个虚拟网络的操作。例如,SDN控制器28可以维护路由信息库,例如,存储针对物理网络和数据中心10A的一个或多个网络的路由信息的一个或多个路由表。类似地,物理交换机16、18和虚拟交换机13维护路由信息,诸如一个或多个路由和/或转发表。在一个示例实现中,管理程序31的虚拟交换机13A为每个虚拟网络34实现网络转发表(NFT)32。通常,每个NFT32存储针对对应虚拟网络34的转发信息,并且标识数据分组将被转发到的位置以及是否要将分组包封在隧道协议中,诸如使用隧道头,该隧道头可以包括用于虚拟网络协议栈的不同层的一个或多个头。
根据本文中描述的技术,在该示例中,SDN控制器28包括服务供应模块29(“SPM29”),其被配置为确定和驱动到实现不同协议的数据中心10A的网络设备的协议特定配置指令。服务供应模块29配置有多个变换函数,这些变换函数将协议不可知的高层配置数据转换为用特定协议或技术配置的低层配置数据。
在图2的示例中,虚拟交换机13A可以实现OVSDB,并且PE设备22可以实现EVPN。在一个实例中,服务供应模块29可以接收描述要由虚拟交换机13A和PE设备22实现的网络服务(例如,虚拟网络覆盖)的高层配置数据(例如,来自图1的编排引擎26)。在该示例中,服务供应模块29可以将协议不可知的高层配置数据分别转换为分别协议特定于OVSDB和EVPN的低层配置数据,并且实例化实现不同协议的网络设备中的低层配置数据。例如,服务供应模块29可以将高层配置数据转换为特定于战队虚拟交换机13A的OVSDB的低层配置数据,以创建所需要的连接并且执行网络服务,例如,执行虚拟网络(例如,VN0)作为覆盖网络。类似地,服务供应模块29可以将高层配置数据转换为特定于针对PE设备22的EVPN的低层配置数据,以创建到覆盖网络的所需要的连接。
为了将协议不可知的高层配置数据转换为特定于OVSDB的低层配置数据,服务供应模块29可以收集和取回实现OVSDB的网络设备的基础设施信息。例如,服务供应模块29可以收集和取回标识实现OVSDB的一个或多个计算节点以及由计算节点实现的协议或技术(例如,JSON)的网络基础设施信息。在图2的示例中,服务供应模块29可以基于OVSDB特定的网络基础设施信息来确定虚拟交换机13A实现OVSDB,并且配置和路由协议是JSON。服务供应模块29可以包括将高层配置数据转换为OVSDB特定的低层配置数据的OVSDB模块88(如图3中进一步描述的)。例如,OVSDB模块88可以构造包括低层配置数据的JSON消息,例如JSON消息40。SDN控制器28发送JSON消息40以配置虚拟交换机13A,以创建所需要的连接并且执行虚拟网络(例如,VN0)作为覆盖网络以实现服务。服务供应模块29还可以使用JSON消息向虚拟交换机13A传播路由信息。
类似地,服务供应模块29可以将协议不可知的高层配置数据转换为EVPN特定的低层配置数据。例如,服务供应模块29可以收集和取回网络设备的网络基础设施信息,该网络基础设施信息标识实现EVPN的一个或多个网络设备以及由网络设备实现的协议或技术(例如,NETCONF/BGP)。在图2的示例中,业务供应模块29可以基于EVPN特定网络基础设施信息来确定PE设备22实现EVPN,配置协议为NETCONF,并且路由协议为BGP。服务供应模块29可以包括将高层配置数据转换为EVPN特定的低层配置数据的EVPN模块89(如图3中进一步描述的)。例如,EVPN模块89可以构造包括低层配置的NETCONF消息42。SDN控制器28可以发送NETCONF消息42以配置PE设备22,以创建执行服务所需要的连接。在一些示例中,EVPN模块89可以调用Ansible剧本,Ansible剧本使用低层配置数据作为要被解析成注入到NETCONF兼容设备的配置数据的属性。服务供应模块29还可以使用BGP消息44向PE设备22传播路由信息。
图3是示出了根据本公开的一种或多种技术的软件定义网络(SDN)控制器28的示例实例的框图。SDN控制器28是逻辑上集中但在某些情况下物理上分布的网络控制器,其可以被配置为管理一个或多个网络设备的配置,诸如图1的服务器12、TOR交换机16、机架交换机18和PE设备22。在该示例中,SDN控制器28包括被配置为管理数据中心的一个或多个网络设备(例如,图1的物理交换机16、18、虚拟交换机13、PE设备22)的配置的服务供应模块29。图3的SDN控制器28可以表示图1-图2的SDN控制器28的示例实例。图3的服务供应模块29可以表示图1-图2的服务供应模块29的示例实例。
SDN控制器28可以包括处理电路***75。处理电路***75可以包括被配置为实现用于在SDN控制器28内执行的功能和/或处理指令的一个或多个处理器。例如,处理电路***75可以包括例如微处理器、DSP、ASIC、FPGA或等效的分立或集成逻辑电路***、或者任何前述设备或电路***的组合。
为了便于说明,未示出SDN控制器28的一些组件。这些组件可以包括用于执行SDN控制器28的模块的硬件和指令。SDN控制器28呈现北向接口72,北向接口72与编排器(例如,图1的编排引擎26)、管理员(例如,管理员24)或其他实体接口以使用高层数据模型(例如,服务数据模型74)安装配置状态。更具体地,可以调用北向接口72以修改配置状态78(“配置状态78”)或者提取描述服务数据模型74的SDN控制器28的操作状态80。北向接口72可以用于与诸如OpenStack等编排***集成;北向接口72还可以或备选地由其他应用或运营商的运营支持***(OSS)/业务支持***(BSS)使用。在某些情况下,北向接口72可以呈现RESTful应用程序编程接口(API)。
服务数据库76存储表示正式服务数据模型74内的实例化服务的对象。正式服务数据模型74是用于描述需要实现的服务的高层服务数据模型;每个高层服务数据模型具有描述如何需要实现这些服务的相关联的低层技术数据模型,例如技术数据模型90。每个数据模型包含一组对象、它们的功能以及它们之间的关系。
变换引擎86将服务数据库76中的服务对象从高层服务数据模型74变换为技术数据模型90中的对应的较低层对象。变换引擎86可以包括模式变换器。在这个意义上,变换引擎86作为编译器操作以将服务数据模型74转换为技术数据模型90。也就是说,变换引擎86可以将服务数据模型74“映射”到技术数据模型90,以描述如何要实现在高层服务数据模型中描述的服务。尽管高层服务数据模型74描述了先前请求和实例化或正在处理的服务以便在SDN控制器28的控制下与网络段进行最终实例化,但是低层技术数据模型90描述了如何在网络内实现或将要实现这些服务,如在配置数据库92中表示的。例如,配置数据库92可以包括描述至少部分实现服务数据库76中的服务的流量工程标签交换路径或隧道的对象。配置数据库92还包括由SDN控制器28管理的网络的网络资源的标识符,诸如数据中心10A的网络设备(例如,服务器12)。技术数据模型90包括描述网络元件的相应配置(例如,路由实例和转发策略)的配置状态94、以及描述网络元件的相应操作特性(诸如负载、可用带宽等)的操作状态96。
换言之,高层服务数据模型74使用直接映射到提供给终端用户的服务的对象,在协议不可知的非常高的抽象层处,描述在SDN控制器28的控制下的网络的期望状态——例如,虚拟网络(例如,虚拟覆盖网络)、连接策略(例如,工作负载与诸如VM或裸机服务器等端点之间的连接)或安全策略。另一方面,低层技术数据模型90使用映射到特定网络协议构造(例如,路由实例)的对象来描述处于非常低抽象层的网络的期望状态。因此,南向接口100执行一个或多个南向协议102A-102N(统称为“南向协议102”),SDN控制器28可以利用这些协议从网络段获取配置状态94和操作状态96,并且在SDN控制器28的控制下将配置状态94和操作状态96注入网络段中,其中配置状态94和操作状态96存储可以被南向协议102理解并且映射到南向协议102的构造的对象。例如,SDN控制器28可以包括到元数据接入点(IF-MAP)服务器的接口,其提供南向API以将所计算的低层配置数据推送到实现控制平面的逻辑集中部分的控制单元(图3中未示出)。以这种方式,服务供应模块29可以使得在SDN控制器28的控制下的网络的状态与由服务供应模块29经由北向接口72接收并且由服务数据模型74表示的网络的期望状态相匹配。
南向协议102可以包括用于路径供应以及拓扑发现的协议。例如,南向协议102A可以包括用于控制实现OVSDB的网络设备的JSON或JSON-RPC。南向协议102B可以包括BGP和NETCONF/YANG以控制物理网络设备(例如,PE设备22、物理交换机16、18)。南向协议102N可以包括BGP以传播用于实现EVPN的网络设备的路由信息。南向协议102还可以包括其他协议,诸如路径计算单元(PCE)通信协议(PCEP)、具有流量工程扩展的开放最短路径优先(OSPF-TE)、具有流量工程扩展的中间***到中间***(ISIS-TE)、BGP链路状态(BGP-LS)、路由***接口(I2RS)协议、用于网络元件的CLI、和SNMP。
根据本公开的技术,服务供应模块29可以包括OVSDB模块88和EVPN模块89,这两个模块每个被配置为将协议不可知的高层配置数据转换为协议特定的低层配置数据。例如,基础设施模块82(“下文中称为模块82”)可以收集和取回网络基础设施信息,并且可以将该信息存储到基础设施数据库84(“INFRA.DB 84”)。网络基础设施信息可以包括关于网络的计算节点和/或网络设备的信息、由计算节点或网络设备实现的技术或协议、供应商特定信息等。服务供应模块29可以执行在基础设施数据库84中查找网络基础设施信息,以确定将高层配置数据转换为低层配置数据的网络设备、以及用于与网络设备通信的配置和路由协议。
在一个实例中,来自高层服务数据模型74的服务数据库76中的服务对象被解析到OVSDB模块88,以将高层服务对象转换为技术数据模型90中的OVSDB特定的低层对象。例如,OVSDB模块88可以实现第一变换函数,以将高层服务对象转换为被构造为JSON消息的低层对象,并且将对象存储在配置数据库92中。SDN控制器28然后可以在配置数据库92中注入低层对象。并且在SDN控制器28的控制下将配置状态94注入到网络段中,以创建所需要的连接和服务的执行。服务供应模块29可以使用一个或多个南向协议102在配置数据库92和配置状态94中注入低层对象。例如,服务供应模块29可以使用南向协议102A(例如,JSON)来在OVSDB兼容设备中的配置数据库92和配置状态94中注入低层对象,并且还可以使用南向协议102A来利用OVSDB兼容设备发送和接收路由信息。
备选地或附加地,来自高层服务数据模型74的服务数据库76中的服务对象被解析到EVPN模块89可以实现第二变换函数,以将高层服务对象转换成技术数据模型90中的EVPN特定的低层对象。例如,EVPN模块89可以将高层服务对象转换为被构造为NETCONF消息的低层对象,并且将对象存储在配置数据库92中。在一个示例中,第二转换函数可以实现使用低层对象的Ansible作为要解析为注入到NETCONF兼容设备(例如,实现EVPN的物理设备)的配置信息的属性。更具体地,SDN控制器可以配置在一个或多个网络设备(例如,PE设备22)上操作的Ansible剧本。每个播放指定任务在其上操作的PE设备22、要在PE设备22上执行的任务列表、以及任何所需的变量或模块参数。这些模块可以包括用于进行以下操作的配置指令:管理PE设备22的配置信息,指定在建立从PE设备22到远程设备(例如,虚拟交换机13A)的连接时使用的端口,管理PE设备22的层2(L2)和/或层3(L3)接口,管理PE设备22上的VLAN,以及其他配置指令。然后,SDN控制器28可以在SDN控制器28的控制下将配置数据库92和配置状态94中的低层对象注入网络段,以创建所需要的连接和服务的执行。服务供应模块29可以使用一个或多个南向协议102在配置数据库92和配置状态94中注入低层对象。例如,服务供应模块29可以使用南向协议102B(例如,NETCONF)来在EVPN兼容设备中的配置数据库92和配置状态94中注入低层对象。服务供应模块29还可以使用南向协议102N(例如,BGP)来利用EVPN兼容设备发送和接收路由信息。
尽管用OVSDB模块88和EVPN模块89进行了说明,但是服务供应模块29可以包括任何两个或更多个不同协议的模块,以收集和取回用于生成协议特定的低层配置数据的网络基础设施信息。
图4是示出根据本公开的技术的示例操作的流程图。为方便起见,参考图1、2和3描述图4。在图4的示例中,SDN控制器28可以接收高层配置,该高层配置描述由SDN控制器在高抽象层管理的网络的期望状态(402)。例如,SDN控制器28可以从编排引擎26接收高层配置数据以启动服务。高层配置数据可以包括描述在高抽象层的协议不可知的网络2的期望状态的信息。也就是说,高层配置数据可以指定需要实现“什么”服务,而无需指定哪个计算节点和/或网络设备可以用来实现服务的协议。
在一些示例中,SDN控制器28可以解析高层配置数据,并且确定必须配置两个或更多个网络设备,以执行由高层配置数据表示的网络的期望状态。响应于确定两个或更多个网络设备,SDN控制器28可以确定用于配置两个或更多个网络设备中的个体网络设备的相应协议,其中必须将至少两个不同的协议用于不同的网络设备。
SDN控制器28可以将第一变换函数应用于高层配置数据以生成第一协议特定的第一低层配置数据(404)。例如,高层服务数据模型74可以将服务数据库76中的高层对象解析到OVSDB模块88。OVSDB模块88可以实现第一变换函数以将高层配置数据转换为OVSDB特定的低层配置数据。作为一个示例,OVSDB模块88可以从高层服务数据模型74接收高层服务对象,并且在技术数据模型90中构造包括低层对象的JSON消息。
SDN控制器28可以将第二变换函数应用于高层配置数据以生成第二协议特定的第二低层配置数据(406)。例如,高层服务数据模型74可以将服务数据库76中的高层对象解析到EVPN模块89。EVPN模块89可以实现第二变换函数以将高层配置数据转换为EVPN特定的低层配置数据。作为一个示例,EVPN模块89可以从高层服务数据模型74接收高层服务对象,并且在技术数据模型90中构造包括低层对象的NETCONF消息。在一些示例中,SDN控制器28可以使用Ansible,Ansible使用低层对象作为要解析为注入网络设备的配置的属性。
响应于应用第一变换函数,SDN控制器28可以使用第一协议输出第一低层配置数据,以配置实现第一协议的第一网络设备(408)。例如,SDN控制器28可以将配置数据库92和配置状态94中的特定于OVSDB的低层对象注入到实现OVSDB的网络设备(例如,虚拟交换机13A)中,以创建所需要的连接和服务的执行(例如,虚拟网络覆盖)。在该示例中,服务供应模块29可以使用南向协议102A(例如,JSON)来将存储在配置数据库92和配置状态94中的低层对象注入OVSDB兼容设备中,并且使用南向协议102A来利用OVSDB兼容设备发送和接收路由信息。
响应于应用第二变换函数,SDN控制器28可以使用第二协议输出第二低层配置数据,以配置实现第二协议的第二网络设备(410)。例如,SDN控制器28可以在SDN控制器28的控制下将EVPN特定的配置数据库92和配置状态94中的低层对象注入到网络段中,以在PE设备22中创建所需要的连接和服务的执行。服务供应模块29可以使用南向协议102B(例如,NETCONF)在EVPN兼容设备中注入配置数据库92和配置状态94中的低层对象,并且使用南向协议102N(例如,BGP)来利用EVPN兼容设备发送和接收路由信息。
本公开中描述的技术可以至少部分用硬件、软件、固件或其任何组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路、以及这些组件的任何组合。术语“处理器”或“处理电路***”通常可以是指任何前述逻辑电路(单独或与其他逻辑电路组合)或任何其他等效电路***。包括硬件的控制单元也可以执行本公开的一种或多种技术。
这样的硬件、软件和固件可以在同一设备内或在分开的设备内实现以支持本公开中描述的各种操作和功能。另外,任何所描述的单元、模块或组件可以一起或单独实现为离散但可互操作的逻辑器件。将不同特征描述为模块或单元旨在突出不同的功能方面,并且不一定暗示这些模块或单元必须由分开的硬件或软件组件实现。而是,与一个或多个模块或单元相关联的功能可以由分开的硬件或软件组件执行,或者集成在公共或分开的硬件或软件组件中。
本公开中所描述的技术还可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中实现或编码。嵌入或编码在计算机可读存储介质中的指令可以引起可编程处理器或其他处理器执行该方法,例如,当指令被执行时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读介质。
Claims (20)
1.一种用户配置网络设备的方法,所述方法包括:
通过软件定义网络SDN控制器接收高层配置数据,所述高层配置数据描述由所述SDN控制器在高抽象层管理的网络的期望状态,所述网络包括多个网络设备,
其中多个网络设备中的第一网络设备实现第一协议,并且所述多个网络设备中的第二网络设备实现第二协议,
其中所述第一协议和所述第二协议是用于在虚拟网络与物理网络之间进行通信的不同协议,以及
其中所述高层配置数据是协议不可知的;
通过所述SDN控制器将第一变换函数应用于所述高层配置数据,以生成所述第一协议特定的第一低层配置数据;
通过所述SDN控制器将第二变换函数应用于所述高层配置数据,以生成所述第二协议特定的第二低层配置数据;
响应于应用所述第一变换函数,通过所述SDN控制器并且向实现所述第一协议的所述第一网络设备输出所述第一协议特定的所述第一低层配置数据,以配置实现所述第一协议的所述第一网络设备;以及
响应于应用所述第二变换函数,通过所述SDN控制器并且使用所述第二协议来输出所述第二协议特定的所述第二低层配置数据,以配置实现所述第二协议的所述第二网络设备。
2.根据权利要求1所述的方法,
其中将所述第一变换函数应用于所述高层配置数据包括:
确定用于在所述第一网络设备中配置所述第一低层配置数据的第一配置协议,以及
基于所述第一配置协议,构造第一消息以包括所述第一低层配置数据;
其中将所述第二变换函数应用于所述高层配置数据包括:
确定用于在所述第二网络设备中配置所述第二低层配置数据的第二配置协议,以及
基于所述第二配置协议,构造第二消息以包括所述第二低层配置数据。
3.根据权利要求2所述的方法,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中所述第一配置协议包括JavaScript对象表示法JSON协议或JSON远程过程调用RPC协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,以及
其中所述第二配置协议包括网络配置NETCONF协议。
4.根据权利要求1所述的方法,
其中将所述第一变换函数应用于所述高层配置数据包括:
确定用于将第一路由信息传播到所述第一网络设备的协议,以及
其中将所述第二变换函数应用于所述高层配置数据包括:
确定用于将第二路由信息传播到所述第二网络设备的协议,其中用于传播所述第一路由信息的所述协议与用于传播所述第二路由信息的所述协议是不同的协议。
5.根据权利要求4所述的方法,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中用于将所述第一路由信息传播到所述第一网络设备的所述协议包括JavaScript对象表示法JSON协议或JSON远程过程调用RPC协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,以及
其中用于将所述第二路由信息传播到所述第二网络设备的所述协议包括边界网关协议BGP。
6.根据权利要求1所述的方法,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,
其中所述第一变换函数被配置为将所述第一低层配置数据构造成JavaScript对象表示法JSON协议消息,以及
其中所述第二变换函数被配置为将所述第二低层配置数据构造成网络配置NETCONF协议消息。
7.根据权利要求6所述的方法,
其中所述第二变换函数还被配置为给所述第二网络设备构造Ansible剧本。
8.一种软件定义网络SDN控制器,包括:
存储器;以及
被耦合到所述存储器的一个或多个处理器,其中所述一个或多个处理器被配置为:
接收高层配置数据,所述高层配置数据描述由所述SDN控制器在高抽象层管理的网络的期望状态,所述网络包括多个网络设备,其中多个网络设备中的第一网络设备实现第一协议,并且
所述多个网络设备中的第二网络设备实现第二协议,
其中所述第一协议和所述第二协议是用于在虚拟网络与物理网络之间进行通信的不同协议,以及
其中所述高层配置数据是协议不可知的;
将第一变换函数应用于所述高层配置数据,以生成所述第一协议特定的第一低层配置数据;
将第二变换函数应用于所述高层配置数据,以生成所述第二协议特定的第二低层配置数据;
响应于应用所述第一变换函数并且向实现所述第一协议的所述第一网络设备输出所述第一协议特定的所述第一低层配置数据,以配置实现所述第一协议的所述第一网络设备;以及
响应于应用所述第二变换函数并且向实现所述第二协议的所述第二网络设备输出所述第二协议特定的所述第二低层配置数据,以配置实现所述第二协议的所述第二网络设备。
9.根据权利要求8所述的SDN控制器,
其中为了将所述第一变换函数应用于所述高层配置数据,所述一个或多个处理器被配置为:
确定用于在所述第一网络设备中配置所述第一低层配置数据的第一配置协议,以及
基于所述第一配置协议,构造第一消息以包括所述第一低层配置数据;以及
其中为了将所述第二变换函数应用于所述高层配置数据,所述一个或多个处理器被配置为:
确定用于在所述第二网络设备中实例化所述第二低层配置数据的第二配置协议,以及
基于所述第二配置协议,构造第二消息以包括所述第二低层配置数据。
10.根据权利要求9所述的SDN控制器,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中所述第一配置协议包括JavaScript对象表示法JSON协议或JSON远程过程调用RPC协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,以及
其中所述第二配置协议包括网络配置NETCONF协议。
11.根据权利要求8所述的SDN控制器,
其中为了将所述第一变换函数应用于所述高层配置数据,所述一个或多个处理器被配置为:
确定用于将第一路由信息传播到所述第一网络设备的协议,以及
其中为了将所述第二变换函数应用于所述高层配置数据,所述一个或多个处理器被配置为:
确定用于将第二路由信息传播到所述第二网络设备的协议,其中用于传播所述第一路由信息的所述协议与用于传播所述第二路由信息的所述协议是不同的协议。
12.根据权利要求11所述的SDN控制器,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中用于将所述第一路由信息传播到所述第一网络设备的所述协议包括JavaScript对象表示法JSON协议或JSON远程过程调用RPC协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,以及
其中用于将所述第二路由信息传播到所述第二网络设备的所述协议包括边界网关协议BGP。
13.根据权利要求8所述的SDN控制器,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,
其中所述第一变换函数被配置为将所述第一低层配置数据构造成JavaScript对象表示法JSON协议消息,以及
其中所述第二变换函数被配置为将所述第二低层配置数据构造成网络配置NETCONF协议消息。
14.根据权利要求13所述的SDN控制器,
其中所述第二变换函数还被配置为给所述第二网络设备构造Ansible剧本。
15.一种非暂态计算机可读存储介质,包括用于引起一个或多个可编程处理器执行以下操作的指令:
接收高层配置数据,所述高层配置数据描述由SDN控制器在高抽象层管理的网络的期望状态,所述网络包括多个网络设备,
其中多个网络设备中的第一网络设备实现第一协议,并且所述多个网络设备中的第二网络设备实现第二协议,
其中所述第一协议和所述第二协议是用于在虚拟网络与物理网络之间进行通信的不同协议,以及
其中所述高层配置数据是协议不可知的;
将第一变换函数应用于所述高层配置数据,以生成所述第一协议特定的第一低层配置数据;
将第二变换函数应用于所述高层配置数据,以生成所述第二协议特定的第二低层配置数据;
响应于应用所述第一变换函数并且向实现所述第一协议的所述第一网络设备输出所述第一协议特定的所述第一低层配置数据,以配置实现所述第一协议的所述第一网络设备;以及
响应于应用所述第二变换函数并且向实现所述第二协议的所述第二网络设备输出所述第二协议特定的所述第二低层配置数据,以配置实现所述第二协议的所述第二网络设备。
16.根据权利要求15所述的非暂态计算机可读存储介质,
其中为了将所述第一变换函数应用于所述高层配置数据,所述指令引起所述一个或多个可编程处理器:
确定用于在所述第一网络设备中配置所述第一低层配置数据的第一配置协议,以及
基于所述第一配置协议,构造第一消息以包括所述第一低层配置数据;以及
其中为了将所述第二变换函数应用于所述高层配置数据,所述指令引起所述一个或多个可编程处理器:
确定用于在所述第二网络设备中配置所述第二低层配置数据的第二配置协议,以及
基于所述第二配置协议,构造第二消息以包括所述第二低层配置数据。
17.根据权利要求16所述的非暂态计算机可读存储介质,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中所述第一配置协议包括JavaScript对象表示法JSON协议或JSON远程过程调用RPC协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,以及
其中所述第二配置协议包括网络配置NETCONF协议。
18.根据权利要求15所述的非暂态计算机可读存储介质,
其中为了将所述第一变换函数应用于所述高层配置数据,所述指令引起所述一个或多个可编程处理器:
确定用于将第一路由信息传播到所述第一网络设备的协议,以及
其中为了将所述第二变换函数应用于所述高层配置数据,所述指令引起所述一个或多个可编程处理器:
确定用于将第二路由信息传播到所述第二网络设备的协议,其中用于传播所述第一路由信息的所述协议与用于传播所述第二路由信息的所述协议是不同的协议。
19.根据权利要求18所述的非暂态计算机可读存储介质,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中用于将所述第一路由信息传播到所述第一网络设备的所述协议包括JavaScript对象表示法JSON协议或JSON远程过程调用RPC协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,以及
其中用于将所述第二路由信息传播到所述第二网络设备的所述协议包括边界网关协议BGP。
20.根据权利要求15所述的非暂态计算机可读存储介质,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第一协议包括开放虚拟交换机数据库OVSDB管理协议,
其中用于在所述虚拟网络与所述物理网络之间进行通信的所述第二协议包括以太网虚拟专用网EVPN协议,
其中所述第一变换函数被配置为将所述第一低层配置数据构造成JavaScript对象表示法JSON协议消息,以及
其中所述第二变换函数被配置为将所述第二低层配置数据构造成网络配置NETCONF协议消息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/232,656 | 2018-12-26 | ||
US16/232,656 US10880210B2 (en) | 2018-12-26 | 2018-12-26 | Cloud network having multiple protocols using virtualization overlays across physical and virtualized workloads |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371706A CN111371706A (zh) | 2020-07-03 |
CN111371706B true CN111371706B (zh) | 2022-10-04 |
Family
ID=67220622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910566556.XA Active CN111371706B (zh) | 2018-12-26 | 2019-06-27 | 跨物理和虚拟化工作负载使用虚拟化覆盖的具有多个协议的云网络 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10880210B2 (zh) |
EP (1) | EP3675423B1 (zh) |
CN (1) | CN111371706B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11689455B2 (en) | 2020-05-28 | 2023-06-27 | Oracle International Corporation | Loop prevention in virtual layer 2 networks |
US11962518B2 (en) | 2020-06-02 | 2024-04-16 | VMware LLC | Hardware acceleration techniques using flow selection |
US11336502B2 (en) * | 2020-07-07 | 2022-05-17 | Juniper Networks, Inc. | Deriving network device and host connection |
CN111769992B (zh) * | 2020-07-13 | 2022-06-21 | 迈普通信技术股份有限公司 | 一种网络数据的管理方法、云平台及存储介质 |
CN116235484A (zh) | 2020-07-14 | 2023-06-06 | 甲骨文国际公司 | 层2网络中的基于接口的acl |
US12039355B2 (en) * | 2020-08-24 | 2024-07-16 | Juniper Networks, Inc. | Intent-based telemetry collection service with supported telemetry protocol in a virtualized computing infrastructure |
US11875172B2 (en) | 2020-09-28 | 2024-01-16 | VMware LLC | Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC |
US12021759B2 (en) | 2020-09-28 | 2024-06-25 | VMware LLC | Packet processing with hardware offload units |
US11792134B2 (en) | 2020-09-28 | 2023-10-17 | Vmware, Inc. | Configuring PNIC to perform flow processing offload using virtual port identifiers |
US11716383B2 (en) | 2020-09-28 | 2023-08-01 | Vmware, Inc. | Accessing multiple external storages to present an emulated local storage through a NIC |
US11743365B2 (en) * | 2020-10-20 | 2023-08-29 | Nokia Solutions And Networks Oy | Supporting any protocol over network virtualization |
CN112235311B (zh) * | 2020-10-20 | 2022-08-05 | 网络通信与安全紫金山实验室 | Ovsdb客户端代码自动生成方法、***、设备及介质 |
US11909636B2 (en) | 2020-12-30 | 2024-02-20 | Oracle International Corporation | Layer-2 networking using access control lists in a virtualized cloud environment |
US11671355B2 (en) | 2021-02-05 | 2023-06-06 | Oracle International Corporation | Packet flow control in a header of a packet |
US11777897B2 (en) | 2021-02-13 | 2023-10-03 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
US20220327003A1 (en) | 2021-04-09 | 2022-10-13 | Oracle International Corporation | Cloud edge device virtualization |
CN113938448B (zh) * | 2021-10-01 | 2023-02-17 | 浙江大学 | 一种基于evpn技术的自主可控虚拟交换机的实现方法 |
US12034652B2 (en) * | 2021-10-04 | 2024-07-09 | Juniper Networks, Inc. | Virtual network routers for cloud native software-defined network architectures |
US11870642B2 (en) * | 2021-10-04 | 2024-01-09 | Juniper Networks, Inc. | Network policy generation for continuous deployment |
CN114244712B (zh) * | 2021-12-08 | 2023-12-05 | 中盈优创资讯科技有限公司 | 一种sdn控制器协议状态管理方法及装置 |
US11995024B2 (en) | 2021-12-22 | 2024-05-28 | VMware LLC | State sharing between smart NICs |
CN114363021B (zh) * | 2021-12-22 | 2023-11-03 | 绿盟科技集团股份有限公司 | 网络靶场***、网络靶场***的虚拟网络实现方法及装置 |
US11863376B2 (en) | 2021-12-22 | 2024-01-02 | Vmware, Inc. | Smart NIC leader election |
CN114900389A (zh) * | 2022-06-17 | 2022-08-12 | 中国工商银行股份有限公司 | 一种数据中心广域网组网***及广域网虚拟化接入方法 |
US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
US11928367B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Logical memory addressing for network devices |
US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
US20240073087A1 (en) * | 2022-08-25 | 2024-02-29 | Juniper Networks, Inc. | Intent-driven configuration of a cloud-native router |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306333A (zh) * | 2014-06-30 | 2016-02-03 | 瞻博网络公司 | 跨越多个网络的服务链接 |
CN106936857A (zh) * | 2015-12-29 | 2017-07-07 | 中国电信股份有限公司 | 一种混合云的连接管理方法、sdn控制器及混合云*** |
US9838268B1 (en) * | 2014-06-27 | 2017-12-05 | Juniper Networks, Inc. | Distributed, adaptive controller for multi-domain networks |
CN108989068A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 一种编排软件定义网络的方法及sdn控制器 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8750288B2 (en) | 2012-06-06 | 2014-06-10 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US10868856B2 (en) * | 2013-07-19 | 2020-12-15 | Nokia Solutions And Networks Oy | Network element and method of running applications in a cloud computing system |
US9450823B2 (en) | 2013-08-09 | 2016-09-20 | Nec Corporation | Hybrid network management |
US9124485B2 (en) * | 2013-08-19 | 2015-09-01 | Cisco Technology, Inc. | Topology aware provisioning in a software-defined networking environment |
EP3059903B1 (en) * | 2013-10-18 | 2019-08-21 | NEC Corporation | System and method for controlling network |
US9693382B2 (en) * | 2014-02-28 | 2017-06-27 | Alcatel-Lucent Usa Inc. | Access independent signaling and control |
US20150350102A1 (en) * | 2014-06-03 | 2015-12-03 | Alberto Leon-Garcia | Method and System for Integrated Management of Converged Heterogeneous Resources in Software-Defined Infrastructure |
CN111669362B (zh) * | 2014-06-09 | 2022-04-08 | 华为技术有限公司 | 信息处理方法、网络节点、验证方法和服务器 |
US20160006642A1 (en) * | 2014-07-07 | 2016-01-07 | National Tsing Hua University | Network-wide service controller |
US10257089B2 (en) * | 2014-10-30 | 2019-04-09 | At&T Intellectual Property I, L.P. | Distributed customer premises equipment |
CN107078956B (zh) * | 2014-12-11 | 2020-10-02 | At&T知识产权一部有限合伙公司 | 多层分布式路由器体系结构及相关方法、***和介质 |
WO2016130108A1 (en) * | 2015-02-10 | 2016-08-18 | Hewlett Packard Enterprise Development Lp | Network policy conflict detection and resolution |
US10298489B2 (en) * | 2015-07-24 | 2019-05-21 | International Business Machines Corporation | Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN) |
US10516704B2 (en) * | 2015-07-28 | 2019-12-24 | Polycom, Inc. | Relaying multimedia conferencing utilizing software defined networking architecture |
US10313186B2 (en) | 2015-08-31 | 2019-06-04 | Nicira, Inc. | Scalable controller for hardware VTEPS |
US10462101B2 (en) * | 2015-11-13 | 2019-10-29 | Nanning Fugui Precision Industrial Co., Ltd. | Network communication method based on software-defined networking and server using the method |
US9961014B2 (en) * | 2015-11-13 | 2018-05-01 | Nanning Fugui Precision Industrial Co., Ltd. | Network communication method based on software-defined networking and server using the method |
EP3366014A4 (en) * | 2015-12-17 | 2019-05-01 | Hewlett-Packard Enterprise Development LP | REDUCED SET OF ORTHOGONAL NETWORK POLICY SELECTIONS |
US10355969B2 (en) * | 2015-12-25 | 2019-07-16 | KN Install Solutions (N.IRE) Limited | Data driven orchestrated network using a light weight distributed sdn controller |
US10083026B1 (en) * | 2016-03-31 | 2018-09-25 | Juniper Networks, Inc. | In-service software upgrade of software-defined networking controller |
US10985997B2 (en) * | 2016-05-06 | 2021-04-20 | Enterpriseweb Llc | Systems and methods for domain-driven design and execution of metamodels |
US10476700B2 (en) * | 2016-08-04 | 2019-11-12 | Cisco Technology, Inc. | Techniques for interconnection of controller- and protocol-based virtual networks |
CN110178342B (zh) * | 2017-01-14 | 2022-07-12 | 瑞典爱立信有限公司 | Sdn网络的可扩缩应用级别监视 |
US10200274B1 (en) * | 2017-02-17 | 2019-02-05 | Juniper Networks, Inc. | Enhanced traffic flow in software-defined networking controller-based architecture |
US10530867B2 (en) * | 2017-02-20 | 2020-01-07 | International Business Machines Corporation | Software-defined networking proxy gateway |
CN108574613B (zh) * | 2017-03-07 | 2022-05-10 | 中兴通讯股份有限公司 | Sdn数据中心的二层互通方法及装置 |
US10530873B1 (en) * | 2017-04-28 | 2020-01-07 | Cisco Technology, Inc. | Techniques for optimizing EVPN-IRB for IPv6-enabled data centers with top-of-rack deployments |
CN108259213B (zh) * | 2017-05-26 | 2020-05-12 | 新华三技术有限公司 | Netconf会话状态检测方法和装置 |
US11469953B2 (en) * | 2017-09-27 | 2022-10-11 | Intel Corporation | Interworking of legacy appliances in virtualized networks |
US10581684B2 (en) * | 2017-12-06 | 2020-03-03 | Schweitzer Engineering Laboratories, Inc. | Network management via a secondary communication channel in a software defined network |
US20190253274A1 (en) * | 2018-02-14 | 2019-08-15 | Megaport (Services) Pty Ltd. | Network interconnection service |
US10812392B2 (en) * | 2018-03-05 | 2020-10-20 | Schweitzer Engineering Laboratories, Inc. | Event-based flow control in software-defined networks |
US10560390B2 (en) * | 2018-03-05 | 2020-02-11 | Schweitzer Engineering Laboratories, Inc. | Time-based network operation profiles in a software-defined network |
US10797946B2 (en) * | 2018-03-29 | 2020-10-06 | Adtran, Inc. | Provisioning a network device |
US10972359B2 (en) * | 2018-05-11 | 2021-04-06 | Ciena Corporation | Data structures representing models of networking equipment and methods of network management employing thereof |
-
2018
- 2018-12-26 US US16/232,656 patent/US10880210B2/en active Active
-
2019
- 2019-06-19 EP EP19181143.9A patent/EP3675423B1/en active Active
- 2019-06-27 CN CN201910566556.XA patent/CN111371706B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9838268B1 (en) * | 2014-06-27 | 2017-12-05 | Juniper Networks, Inc. | Distributed, adaptive controller for multi-domain networks |
CN105306333A (zh) * | 2014-06-30 | 2016-02-03 | 瞻博网络公司 | 跨越多个网络的服务链接 |
CN106936857A (zh) * | 2015-12-29 | 2017-07-07 | 中国电信股份有限公司 | 一种混合云的连接管理方法、sdn控制器及混合云*** |
CN108989068A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 一种编排软件定义网络的方法及sdn控制器 |
Non-Patent Citations (2)
Title |
---|
HybNET: Network Manager for a Hybrid Network Infrastructure;Hui Lu等;《IEEE》;20131209;全文 * |
overlay SDN 实现异构兼容的关键技术;黄志兰等;《电信科学》;20161120;全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP3675423B1 (en) | 2023-11-29 |
US10880210B2 (en) | 2020-12-29 |
EP3675423A1 (en) | 2020-07-01 |
CN111371706A (zh) | 2020-07-03 |
US20200213227A1 (en) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111371706B (zh) | 跨物理和虚拟化工作负载使用虚拟化覆盖的具有多个协议的云网络 | |
CN111866053B (zh) | 软件定义网络控制器、方法及计算机可读存储介质 | |
US12047232B2 (en) | Initializing network device and server configurations in a data center | |
CN110971442B (zh) | 在多云计算环境中迁移工作负载 | |
CN110830389B (zh) | 用于计算机网络的***和方法 | |
US10686627B2 (en) | Distributed virtual gateway appliance | |
US20200059420A1 (en) | Multi-cloud virtual computing environment provisioning using a high-level topology description | |
CN112398676B (zh) | 多租户环境中服务接入端点的基于供应商无关简档的建模 | |
US10996938B2 (en) | Automated selection of software images for network devices | |
CN112583710B (zh) | 软件定义网络中的辅助复制 | |
US10999195B1 (en) | Multicast VPN support in data centers using edge replication tree | |
US11258661B2 (en) | Initializing server configurations in a data center | |
US11652727B2 (en) | Service chaining with physical network functions and virtualized network functions | |
CN115801669A (zh) | 针对虚拟专用网的容器化路由协议进程 | |
US11997011B2 (en) | Virtual port group |
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 |