CN112398676A - 多租户环境中服务接入端点的基于供应商无关简档的建模 - Google Patents
多租户环境中服务接入端点的基于供应商无关简档的建模 Download PDFInfo
- Publication number
- CN112398676A CN112398676A CN201911337293.1A CN201911337293A CN112398676A CN 112398676 A CN112398676 A CN 112398676A CN 201911337293 A CN201911337293 A CN 201911337293A CN 112398676 A CN112398676 A CN 112398676A
- Authority
- CN
- China
- Prior art keywords
- network
- independent
- configuration
- vendor
- attributes
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 40
- 239000004744 fabric Substances 0.000 description 39
- 238000007726 management method Methods 0.000 description 26
- 238000003860 storage Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000013499 data model Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
Classifications
-
- 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/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- 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/052—Network management architectures or arrangements using standardised network management architectures, e.g. telecommunication management network [TMN] or unified network management architecture [UNMA]
-
- 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/022—Multivendor or multi-standard integration
-
- 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/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- 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]
- H04L12/467—Arrangements for supporting untagged frames, e.g. port-based VLANs
-
- 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/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- 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/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- 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/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/24—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- 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/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0266—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- 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/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- 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
Abstract
本发明公开了多租户环境中服务接入端点的基于供应商无关简档的建模。一种接入简档包括使用装置和操作系统无关属性定义的配置特征。因此,接入简档不必依赖于或绑定到任何特定的供应商或网络OS。当系统管理员配置一个或多个服务接入点时,系统管理员只需要指定与服务接入点关联的供应商和网络OS无关特征。配置生成器可以从供应商和网络OS无关的接入简档属性生成供应商特定和/或网络特定的配置命令和数据。生成的配置命令和数据可以使用供应商特定的和/或网络OS特定的配置应用程序接口提供给托管服务接入点的网络装置。
Description
本申请要求2019年8月19日提交的美国临时专利申请序列号62/888,958的优先权,其全部内容通过引用结合于此。
技术领域
本公开涉及计算机网络,更具体地,涉及配置网络装置和服务器。
背景技术
在典型的云数据中心环境中,大量互连服务器提供计算(例如,计算节点)和/或存储容量来运行各种应用。例如,数据中心包括为数据中心的客户托管应用程序和服务的设施。例如,数据中心托管所有基础设施设备,例如,网络和存储系统、冗余电源和环境控制。在典型的数据中心,存储系统和应用服务器集群经由一层或多层物理网络交换机和路由器提供的高速交换结构互连。
典型的数据中心可以包括数百台物理网络交换机和数千台存储和应用服务器。数据中心内的这些装置通常由许多不同的供应商和制造商提供,因此具有不同的硬件和软件配置要求和接口。即使在制造商的特定产品线中,也可能有不同的硬件配置和使用不同配置接口的不同网络操作系统(OS)。例如,根据交换机硬件的型号和版本,特定产品线中的交换机可能与同一产品线中的另一台交换机具有不同的芯片组。鉴于上述情况,典型的数据中心可以为数据中心中潜在的数千个网络装置利用许多不同的配置接口。
发明内容
运行不同网络操作系统的不同供应商的网络装置可以使用供应商无关(vendoragnostic)、装置无关和网络操作系统(OS)无关的配置简档(称为接入简档)进行配置。供应商、装置和网络OS无关的接入简档可以使用不绑定到任何特定供应商或装置的配置接口或网络OS的属性来指定各种网络操作特征。可以选择可用于接入简档的属性,来表示一组统一的不同特征或特性,用于建模系统管理员关于配置服务接入点的意图。这与通常迫使用户使用可能是供应商、装置或网络OS特定的许多不同配置命令和参数的传统系统形成对比。因此,接入简档不一定依赖于或以其他方式绑定到任何特定的供应商或网络OS。当系统管理员配置一个或多个服务接入点时,系统管理员只需要指定与服务接入点关联的供应商、装置和网络OS无关特征。配置生成器可以从供应商、装置和网络OS无关的接入简档属性生成供应商特定的、装置特定的和/或网络OS特定的配置命令和数据。生成的装置特定配置命令和数据(例如,参数)可以使用供应商特定和/或网络OS特定配置API提供给托管服务接入点的网络装置。
在一个示例方面,一种方法包括:获得多个网络装置中的每一个的硬件配置信息;接收选择多个网络装置中的第一网络装置的服务接入点的指示;接收选择装置无关服务特征的指示;根据装置无关服务特征将接入简档与所选服务接入点关联,接入简档具有定义所选装置无关服务特征的一个或多个装置无关属性;并且至少部分基于与所选服务接入点关联的接入简档的一个或多个装置无关属性,确定符合第一网络装置的第一配置接口的一个或多个装置特定配置命令和配置参数。
在另一示例方面,一种软件定义网络(SDN)控制器包括:一个或多个处理器,其耦接到存储器,存储器包括可执行指令,以使一个或多个处理器:获得部分地由SDN控制器控制的网络上的多个网络装置中的每一个的硬件配置信息;接收选择多个网络装置中的第一网络装置的服务接入点的指示;接收选择装置无关服务特征的指示;根据装置无关服务特征,将接入简档与所选服务接入点关联,接入简档具有定义所选装置无关服务特征的一个或多个装置无关属性;并且至少部分基于与所选服务接入点关联的接入简档的一个或多个装置无关属性,确定符合第一网络装置的第一配置接口的一个或多个装置特定配置命令和配置参数。
在另一示例方面,一种包括指令的计算机可读介质,用于使一个或多个可编程处理器:获得部分地由SDN控制器控制的网络上的多个网络装置中的每一个的硬件配置信息;接收选择多个网络装置中的第一网络装置的服务接入点的指示;接收选择装置无关服务特征的指示;根据装置无关服务特征将接入简档与所选服务接入点关联,接入简档具有定义所选装置无关服务特征的一个或多个装置无关属性;至少部分基于与所选服务接入点关联的接入简档的一个或多个装置无关属性,确定符合第一网络装置的第一配置接口的一个或多个装置特定配置命令和配置参数;并且经由第一配置接口向第一网络装置提供一个或多个装置特定配置命令和配置参数。
在附图和以下描述中阐述一个或多个示例的细节。从说明书和附图以及权利要求书中,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出根据本文描述的技术的示例计算机网络系统的框图。
图2是提供图1的示例计算机网络系统中的示例SDN控制器的进一步细节的框图。
图3是进一步详细示出图1的示例计算机网络系统中的数据中心的示例实现的框图。
图4是示出根据本文描述的技术的网络配置数据的框图。
图5是示出根据本文描述的技术的服务接入端点的装置无关建模的方法的流程图。
在全文和附图中,相同的附图标记表示相同的元件。
具体实施方式
图1是示出根据本文描述的技术的示例计算机网络系统8的框图。示例计算机网络系统8可以使用下面参考图2至图5描述的技术来配置。
在图1的示例中的计算机网络系统8包括数据中心10A至10X(统称为“数据中心10”),数据中心10A至10X经由服务提供商网络7彼此互连并与租户11关联的客户网络互连。任何或所有数据中心10A至10X可以是多租户数据中心。多租户数据中心为多个客户(即,租户)提供服务。
图1示出了计算机网络系统8和数据中心10A的一个示例实现,该数据中心10A托管一个或多个基于云的计算网络、计算域或项目,本文通常称为云计算集群。基于云的计算集群可以共同位于共同的整体计算环境中,例如,单个数据中心,或者分布在不同的环境中,例如,不同的数据中心上。基于云的计算集群可以是例如不同的云环境,例如,OpenStack云环境、Kubernetes云环境或其他计算集群、域、网络等的各种组合。计算机网络系统8和数据中心10A的其他实现在其他情况下可能是合适的。这种实现可以包括图1的示例中包括的组件的子集和/或可以包括图1中未示出的额外组件。数据中心10B至10X可以包括相同或相似的特征,并且被配置为执行与本文关于数据中心10A描述的相同或相似的功能。
在图1所示的示例中,数据中心10A为租户11的应用程序和服务提供操作环境,租户11由服务提供商网络7通过网关108耦接到数据中心10A。尽管结合图1的计算机网络系统8描述的功能和操作可以被示为分布在图1中的多个装置上,但是在其他示例中,归于图1中的一个或多个装置的特征和技术可以由一个或多个这样的装置的本地组件在内部执行。类似地,一个或多个这样的装置可以包括某些组件并执行各种技术,这些技术可以在本文的描述中归于一个或多个其他装置。此外,某些操作、技术、特征和/或功能可以结合图1来描述,或者由特定组件、装置和/或模块来执行。在其他示例中,这样的操作、技术、特征和/或功能可以由其他组件、装置或模块来执行。因此,归于一个或多个组件、装置或模块的一些操作、技术、特征和/或功能可以归于其他组件、装置和/或模块,即使本文没有以这种方式具体描述。
数据中心10A托管基础设施设备,例如,网络和存储系统、冗余电源和环境控制。服务提供商网络7可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。在一些示例中,数据中心10A可以表示许多地理上分布的网络数据中心中的一个。如图1的示例所示,数据中心10A是为租户11提供网络服务的设施。租户11可以是集体实体,例如,企业和政府或个人。例如,数据中心10A可以为数个企业和终端用户托管网络服务,因此可以称为多租户数据中心。其他示例性服务可以包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些示例中,数据中心10A是可以向多个企业和最终用户提供服务的单个网络服务器、网络对等体等。
在图1的示例中,数据中心10A包括一组存储系统和应用服务器,包括通过由一层或多层物理网络交换机和路由器提供的高速交换结构20互连的服务器12A至服务器12X(统称为“服务器12”)。服务器12充当数据中心的物理计算节点。例如,每个服务器12可以为一个或多个应用程序工作负载的执行提供操作环境。如本文所述,术语“应用程序工作负载”或“工作负载”可以互换使用,以指代应用程序工作负载。工作负载可以在虚拟化环境中执行,例如,虚拟机36、容器或某种类型的虚拟化实例,或者在某些情况下,在直接而非间接在虚拟化环境中执行工作负载的裸机服务器上执行。每个服务器12可替换地称为主机计算装置,或者更简单地,称为主机。服务器12可以在例如,虚拟机36、容器或用于运行一个或多个服务(例如,虚拟化网络功能(VNF))的其他虚拟执行环境的一个或多个虚拟化实例上执行一个或多个工作负载。一些或所有服务器12可以是裸机服务器(BMS)。BMS可以是专用于特定租户(即,客户)的物理服务器。
交换结构20可以包括耦接到机箱交换机18A至18M的分布层的架顶(TOR)交换机16A至16N,并且数据中心10A可以包括一个或多个非边缘交换机,路由器,集线器,网关,诸如防火墙、入侵检测和/或入侵防御装置等安全装置,服务器,计算机终端,膝上型计算机,打印机,数据库,诸如蜂窝电话或个人数字助理等无线移动装置,无线接入点,网桥,线缆调制解调器,应用加速器或其他网络装置。数据中心10A包括经由一层或多层物理网络交换机和路由器提供的高速交换结构20互连的服务器12A至12X。交换结构20由一组互连的TOR交换机16A至16N(统称为“TOR交换机16”)提供,这组TOR交换机耦接到机箱交换机18A至18M(统称为“机箱交换机18”)的分布层。在一些示例中,机箱交换机18可以作为主干节点操作,TOR交换机16可以作为数据中心10A中的叶节点操作。虽然未示出,但是数据中心10A还可以包括例如一个或多个非边缘交换机,路由器,集线器,网关,诸如防火墙、入侵检测和/或入侵防御装置等安全装置,服务器,计算机终端,膝上型计算机,打印机,数据库,诸如蜂窝电话或个人数字助理等无线移动装置,无线接入点,网桥,、线缆调制解调器,应用加速器或其他网络装置。
在这个示例中,TOR交换机16和机箱交换机18向服务器12提供到网关108和服务提供商网络7的冗余(多宿)连接。机箱交换机18聚合流量流,并在TOR交换机16之间提供高速连接。TOR交换机16可以是提供第2层(MAC)和/或第3层(例如,IP)路由和/或交换功能的网络装置。TOR交换机16和机箱交换机18可以均包括一个或多个处理器和存储器,并且能够执行一个或多个软件进程。机箱交换机18耦接到网关108,网关108可以执行第3层路由,以通过服务提供商网络7在数据中心10A和租户11之间路由网络流量。
交换结构20可以执行第3层路由,以通过服务提供商网络7在数据中心10A和租户11之间路由网络流量。网关108用于在交换结构20和服务提供商网络7之间转发和接收分组。数据中心10A包括将交换结构20从物理交换机18、16扩展到软件或“虚拟”交换机的覆盖网络。例如,分别位于服务器12A至12X中的虚拟路由器30A至30X可以通过与位于交换结构20内的一个或多个物理交换机通信耦接来扩展交换结构20。虚拟交换机可以动态创建和管理一个或多个可用于在应用实例之间通信的虚拟网络。在一个示例中,虚拟路由器30A至30X将虚拟网络作为覆盖网络来执行,这提供了将应用程序的虚拟地址与应用程序正在其上执行的服务器12A至12X中的一个的物理地址(例如,IP地址)解耦的能力。每个虚拟网络可以使用其自己的寻址和安全方案,并且可以被视为与物理网络及其寻址方案正交。可以使用各种技术通过物理网络在虚拟网络内部和之间传输分组。
根据本公开的一个或多个示例,软件定义网络(“SDN”)控制器132提供逻辑上并且在某些情况下物理上集中的控制器,用于促进数据中心10A内的一个或多个虚拟网络的操作。术语SDN控制器和虚拟网络控制器(“VNC”)在本公开中可以互换使用。在一些示例中,SDN控制器132响应于经由北向API 131从编排引擎130接收的配置输入而操作,北向API131进而响应于从操作用户接口装置129(UI装置129)的管理员24接收的配置输入而操作。管理员可以是负责整个数据中心操作的结构管理员,也可以是数据中心租户的系统管理员。在这种情况下,系统管理员可能能够看到分配给租户的网络装置的服务接入点,并且可能无法看到分配给一不同租户的网络装置或与之交互。
在一些方面,SDN控制器132可以是高可用性(HA)集群的一部分,并且提供HA集群配置服务。关于与数据中心10A的其他装置或其他软件定义网络一起操作的SDN控制器132的额外信息见2013年6月5日提交的题为“PHYSICAL PATH DETERMINATION FOR VIRTUALNETWORK PACKET FLOWS”的国际申请号PCT/US2013/044378;以及2017年3月31日提交的题为“SESSION-BASED TRAFFIC STATISTICS LOGGING FOR VIRTUAL ROUTERS”的美国专利申请序列号15/476,136,其中,这两个申请的全部内容都通过引用结合于此,如同在本文完全阐述的一样。
例如,在数据中心10中可以使用SDN平台来控制和管理网络行为。在一些情况下,SDN平台包括逻辑集中和物理分布的SDN控制器(例如,SDN控制器132)以及虚拟路由器形式的分布式转发平面,所述虚拟路由器将网络从数据中心交换结构中的物理路由器和交换机扩展到在虚拟服务器中托管的虚拟覆盖网络。
在一些示例中,SDN控制器132管理网络和网络服务,例如,负载平衡、安全性,并且经由南向API 133将资源从服务器12分配给各种应用程序。即,南向API 133表示由SDN控制器132使用的一组通信协议,以使网络的实际状态等于由编排引擎130指定的期望状态。例如,一种这样的通信协议可以包括消息转送通信协议,例如,XMPP。例如,SDN控制器132通过以下方式实现来自编排引擎130的高级请求:配置物理交换机,例如,TOR交换机16、机箱交换机18和交换结构20;物理路由器;物理服务节点,例如,防火墙和负载平衡器;以及虚拟服务,例如,虚拟化环境中的虚拟防火墙。SDN控制器132在状态数据库中维护路由、网络和配置信息。SDN控制器132将路由信息和配置信息的适当子集从状态数据库传送到每个服务器12A至12X上的虚拟路由器30A至30X或代理35A至35X(图1中的“AGENT”)。
如本文所述,每个服务器12包括相应的转发组件39A至39X(以下称为“转发组件39”),其为在每个服务器12上执行的工作负载执行数据转发和流量统计收集功能。在图1的示例中,每个转发组件被描述为包括执行分组路由和覆盖功能的虚拟路由器(图1中的“VR30A至VR 30X”)和与SDN控制器132通信并作为响应配置虚拟路由器30的虚拟代理(图1中的“VA35A至VA35X”)。
在该示例中,每个虚拟路由器30A至30X为数据中心10内的相应虚拟网络实现至少一个路由实例,并将分组路由到适当的虚拟机、容器或在服务器提供的操作环境内执行的其他元件。例如,由服务器12A的虚拟路由器从底层物理网络结构接收的分组可以包括外部报头,以允许物理网络结构将有效载荷或“内部分组”隧道传输到执行虚拟路由器的服务器12A的网络接口的物理网络地址。外部报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括虚拟网络标识符,例如,识别一个虚拟网络的虚拟可扩展局域网(VxLAN)标签或多协议标签交换(MPLS)标签以及由虚拟路由器执行的相应路由实例。内部分组包括具有目的网络地址的内部报头,该目的网络地址符合由虚拟网络标识符识别的虚拟网络的虚拟网络寻址空间。
在图1的示例中,SDN控制器132学习路由和其他信息(例如,配置)并将其分发到数据中心10中的所有计算节点。在计算节点内部运行的转发组件39的VR代理35在从SDN控制器132接收到路由信息时,通常用转发信息对数据转发元件(虚拟路由器30)进行编程。SDN控制器132使用消息传送通信协议(例如,XMPP协议语义),而不是使用权重更重的协议(例如,诸如BGP之类的路由协议),向VR代理35发送路由和配置信息。在XMPP中,SDN控制器132和代理在同一信道上传送路由和配置。当从VR代理35接收路由时,SDN控制器132充当消息传送通信协议客户端,并且在这种情况下,VR代理35充当消息通信传送协议服务器。相反,当SDN控制器向VR代理35发送路由时,SDN控制器132充当到作为消息传送通信协议客户端的VR代理35的消息传送通信协议服务器。SDN控制器132可以向虚拟路由器30应用的VR代理35发送安全策略。
用户接口装置129可以被实现为任何合适的计算系统,例如,由用户和/或管理员24操作的移动或非移动计算装置。根据本公开的一个或多个方面,用户接口装置129可以例如表示工作站、膝上型或笔记本计算机、台式计算机、平板计算机、智能手机或可以由用户操作和/或呈现用户接口的任何其他计算装置。
在一些示例中,编排引擎130管理数据中心10A的功能,例如,计算、存储、联网和应用资源。例如,编排引擎130可以在数据中心10A内或在数据中心之间为租户(即,客户)创建虚拟网络。编排引擎130可以将工作负载(WL)附到租户的虚拟网络。编排引擎130可以将租户的虚拟网络连接到外部网络,例如,互联网或VPN。编排引擎130可以在一组工作负载上或向租户网络的边界实现安全策略。编排引擎130可以在租户的虚拟网络中部署网络服务(例如,负载平衡器)。
在一些示例中,SDN控制器132管理网络和网络服务,例如,负载平衡、安全性,并且经由南向API 133将资源从服务器12分配给各种应用程序。即,南向API 133表示由SDN控制器132使用的一组通信协议,以使网络的实际状态等于由编排引擎130指定的期望状态。例如,SDN控制器132通过以下方式实现来自编排引擎130的高级请求:配置物理交换机,例如,TOR交换机16、机箱交换机18和交换结构20;物理路由器;物理服务节点,例如,防火墙和负载平衡器;以及虚拟服务,例如,VM中的虚拟防火墙。SDN控制器132在状态数据库中维护路由、联网和配置信息。
通常,任何两个网络装置之间(例如,交换结构20内的网络装置(未示出)之间或服务器12和租户11之间或服务器12之间)的流量可以使用许多不同的路径遍历物理网络。例如,两个网络装置之间可能有几种不同的等成本路径。在某些情况下,属于从一个网络装置到另一网络装置的网络流量的分组可以在每个网络交换节点处使用称为多路径路由的路由策略在各种可能的路径中分布。例如,互联网工程任务组(IETF)RFC 2992“Analysis ofan Equal-Cost Multi-Path Algorithm”描述了一种沿等成本多路径路由分组的路由技术。RFC 2992的技术分析了一种特定的多径路由策略,该策略涉及通过散列分组报头字段将流分配到箱,该分组报头字段通过单个确定性路径发送来自特定流量流的所有分组。
虚拟路由器(虚拟路由器30A到虚拟路由器30X,在图1中统称为“虚拟路由器30”)为数据中心10A内的相应虚拟网络执行多个路由实例,并将分组路由到在服务器12提供的操作环境内执行的适当工作负载。每个服务器12可以包括虚拟路由器。例如,由服务器12A的虚拟路由器30A从底层物理网络结构接收的分组可以包括外部报头,以允许物理网络结构将有效载荷或“内部分组”隧道传输到服务器12A的网络接口的物理网络地址。外部报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括虚拟网络标识符,例如,识别一个虚拟网络的VxLAN标签或多协议标签交换(MPLS)标签以及由虚拟路由器执行的相应路由实例。内部分组包括具有目的网络地址的内部报头,该目的网络地址符合由虚拟网络标识符识别的虚拟网络的虚拟网络寻址空间。
上述物理和虚拟资源(服务器、交换机、虚拟路由器等)可以分配给租户11,以供其独占或共享使用。对特定租户的资源分配可以由操作用户接口装置129的管理员24(例如,结构管理员)来指导。数据中心10A可以有数千个机箱交换机18和TOR交换机16以及数百个服务器12。这些网络装置可以包括来自同一制造商的不同型号的装置和来自许多不同制造商的装置。此外,这些装置可以运行各种网络操作环境(OS)。这种异构数据中心环境中的一个技术问题在于,传统系统无法为管理员提供任何方式来利用一致的接口配置来自不同制造商并运行不同的网络OS的装置,从而使得该配置表示管理员对于数据中心的整体配置的意图。相反,为了配置装置,管理员通常必须利用许多不同的接口,这些接口可能特定于正在配置的装置的制造商、型号和网络OS。因此,管理员可能需要利用许多不同的接口和命令来配置数据中心中的网络装置。各种不同的配置接口对管理员来说可能是具有挑战性的,因此可能导致装置错误配置的技术问题,使得数据中心10A中的装置可能无法有效地相互通信或者根本无法通信。
上述技术的一个实际应用具体在于,来自不同供应商并具有不同硬件配置和网络OS的网络装置可以使用供应商无关、装置无关和操作系统无关的配置接口来配置。减少配置数据中心中各种装置所需的工作量和专业知识是一些示例相对于以前的配置方法可以提供的优势,并且可以通过避免错误和提高网络可扩展性来进一步提供优势。
在一些方面,结构管理服务器140可以发现网络装置并从网络装置获得硬件配置信息146。硬件配置信息146可以保持在配置数据库142中。硬件配置信息146可以包括数据中心10A中网络装置的数量和类型。此外,硬件配置信息146可以包括硬件制造商信息(例如,产品制造商和型号、版本标识符、版本级别、序列号等)、网络接口信息(例如,制造商、型号、网络类型、支持的协议、通信速度等)、可用存储、处理器类型以及关于网络装置(例如,交换机、路由器或服务器)的硬件和组件的其他信息。硬件配置信息可以包括关于可以在特定网络装置上使用的芯片组的信息。此外,配置数据库142可以维护其他配置或操作数据。硬件配置信息146可以根据下面参考图4描述的数据模型来组织。
用户接口装置129可以(例如,由管理员24)用于将接入简档148分配给数据中心中的服务接入端点。这种服务接入端点可以是虚拟接口,其由数据中心10A的硬件配置信息146中列出和描述的交换机、路由器和服务器的物理端口或网络接口支持。作为一个示例,服务接入点可以是数据中心的以太网虚拟专用网(EVPN)VXLAN中从网络装置到虚拟局域网(VLAN)的接口。租户可以经由服务接入端点接收各种通信和应用服务。
接入简档148可以包括以供应商无关、装置无关和操作系统无关的方式描述服务接入端点的服务特征的数据。术语“装置无关”将用于描述可以是供应商无关、装置无关和/或网络OS无关的特征、属性、命令或参数。换言之,在接入简档148中描述的装置无关的服务特征不必绑定到任何特定的供应商、网络装置或网络OS。这些特征可以包括服务类别(CoS)特征、通信速度和带宽特征、以及通信协议特征。在一些方面,接入简档148可以包括由不同硬件供应商、软件供应商、网络OS等提供的特征集合的装置无关的服务特征,这些特征可以指定为接入端点配置的一部分。基于用户的配置意图,与装置无关服务关联的参数可能因接入简档而异。仅作为一个示例,第一接入简档可以与经由服务接入端点提供高质量服务(QoS)的用户意图关联,而第二接入简档可以与提供较低QoS的用户意图关联。在该示例中,装置无关的服务特征可以包括定义高QoS的一个或多个属性。属性也可以按照装置无关的方式表示,因此可以称为装置无关的属性。作为一个示例,与高QoS关联的属性包括高带宽和低延迟。因此,高QoS的装置无关服务特征可以包括指定高带宽值和低延迟值的属性。接入简档148可以具有唯一识别接入简档的名称、标签或其他标识符。
接入简档148及其相应的网络装置和端口分配可以保持在配置数据库142中。例如,用户接口装置129中可用的用户接口可以为数据中心10A中发现的网络装置和硬件提供标识符。此外,用户接口装置129可以提供用户接口,用于将接入简档148分配给在硬件配置信息146中列出和描述的发现的网络装置和端口。虽然被示为在单个配置数据库142中,但是硬件配置146和接入简档148可以保持在单独的数据库中。
图2是提供根据本文公开的技术的配置目标网络装置202的示例SDN控制器132的进一步细节的框图。目标网络装置202(例如,202A至202D)可以是被配置为新数据中心的配置的一部分的网络装置,可以是作为将租户添加到现有数据中心的结果而被配置的网络装置,或者可以是已经分配给正被重新配置的租户的目标网络装置。本文描述的技术不限于任何特定的配置目的。当网络装置是配置命令和数据的目标时,网络装置可以称为目标网络装置。在一些方面,目标网络装置可以是物理装置,例如,物理交换机、路由器或服务器。在一些方面,目标网络装置可以是虚拟装置,例如,虚拟机、虚拟服务器、虚拟路由器、VLAN接口、基于云的虚拟机或其他虚拟装置。在一些方面,SDN控制器132可包括配置生成器208,配置生成器208可生成可用于配置数据中心10A中的网络装置202的装置特定配置命令和数据(例如,参数)。在图2所示的示例中,两个租户208(208A和208B)被分配来自数据中心10A中的n个网络装置的目标网络装置202。目标网络装置202可以源自许多k个供应商中的任何一个,在图2中标记为供应商A至K。因此,在图2所示的示例中,租户208A具有分配给其使用的两个目标网络装置202A和202B,并且租户208B具有分配给其使用的两个目标网络装置202C和202D。目标网络装置202A来自供应商A,目标网络装置202B和202C由供应商B提供,目标网络装置202D由供应商K提供。目标网络装置202可以是彼此不同的类型、型号、版本等,并且可以运行彼此不同的网络OS。为了说明本公开的各方面,将假设目标网络装置202B和目标网络装置202C来自相同的供应商,是相同的装置类型,具有相同的版本,并且在其上运行相同的网络OS。
在图2所示的示例中,网络装置具有接入端点210(例如,210A至210D)。接入端点210可以是网络端口、线路卡网络接口等。尽管对于每个装置202仅示出了一个接入端点,但是网络装置202可以具有多于一个的接入端点210。此外,网络装置均实现了供应商特定的配置应用编程接口(API)204。目标网络装置202A实现配置API 204A。因为目标网络装置202B和目标网络装置202C来自相同的供应商,是相同的装置类型,并且具有在其上运行的相同版本和网络OS,所以也可以具有相同的配置API 204B。目标网络装置202D可以实现配置API 204K。
配置生成器208还可以实现对应于数据中心中使用的配置API的配置API 204。因此,在图2所示的示例中,配置生成器208实现配置API 204A、204B和204K,以便与目标网络装置202A至202D上的相应配置API 204A、204B和204K通信。
配置生成器208可以读取硬件配置信息146和供应商无关接入简档148,以确定用于配置网络装置202的供应商特定配置数据和命令。接入简档148可以具有各种属性210,这些属性包括以供应商无关、装置无关和网络OS无关的方式定义或指定将用于配置与接入简档248关联的目标网络装置202的特征和特性的数据。可以选择可用于接入简档148的属性来表示不同的特征、特征和参数,用于建模系统管理员关于配置服务接入点的意图,而不是供应商特定的配置命令和参数。在一些方面,一个或多个属性210可以与CoS或QoS相关。例如,一个或多个属性210可以指定在多大程度上、什么CoS标记和整形应该应用于在接入端点210生成的流量。在一些方面,一个或多个属性210可以指定如何限制广播未知单播多播流量,以防止网络泛滥或风暴。例如,一个或多个属性210可以在比特率或分组速率方面指定阈值。可以为广播速率、多播速率和未知单播速率设置独立的阈值。其他属性210可用于指定或定义其他期望的服务接入端点特征。
在一些方面,接入简档可以被组织为可扩展标记语言(XML)文件。然而,可以使用其他格式,并且在本公开的范围内。
可以接收目标装置202将被配置的指示。例如,编排引擎130可以向SDN控制器132指示目标装置202要被配置。作为另一示例,用户(例如,管理员24)可以创建或更新与装置202关联的接入简档148。当要配置(或重新配置)目标装置202时,配置生成器208可以读取与目标装置202关联的硬件配置信息146,以确定与目标装置202关联的供应商、目标装置202的装置类型和/或目标装置202的型号信息。配置生成器还可以读取与目标装置202关联的接入简档148,以获得关于目标装置202的预期装置无关服务特征的装置无关、供应商无关和/或网络OS无关信息。配置生成器208可以使用硬件配置信息和预期装置无关服务特征的装置无关属性来生成装置特定的配置命令和/或配置数据,以经由适合于该装置的供应商特定的配置API 204提供给目标装置202。如本文所使用的,装置特定的配置命令或配置参数是指可能特定于供应商、装置或网络OS的配置命令或参数。换言之,装置特定的配置命令或参数对于特定的供应商、装置、装置类别或网络OS可能是特定的,因此对于装置的供应商、装置本身或在装置上运行的网络OS可能不是无关的。
SDN控制器132可以包括执行软件指令的一个或多个处理器,例如,用于定义软件或计算机程序的软件指令,该软件指令存储到计算机可读存储介质,例如,非暂时性计算机可读介质,包括存储装置(例如,磁盘驱动器或光驱)和/或存储器(例如,闪存、随机存取存储器或RAM)或任何其他类型的易失性或非易失性存储器,所述存储器存储使一个或多个处理器执行本文描述的技术的指令。替代地或另外,SDN控制器132可以包括专用硬件,例如,一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或专用硬件的一个或多个前述示例的任意组合,用于执行本文描述的技术。
SDN控制器132可以由一个或多个计算节点执行,这些计算节点可以对应于任何形式的计算资源。每个计算节点可以是物理计算装置,或者可以是向客户端装置和其他装置或系统提供服务的云计算系统、服务器群和/或服务器集群(或其一部分)的组件。因此,任何计算节点可以表示物理计算装置、虚拟计算装置、虚拟机、容器和/或其他虚拟计算装置。
图3是进一步详细示出图1的示例计算机网络系统中的数据中心的示例实现的框图。在图3的示例中,数据中心10A包括可通信地耦接到管理交换机302的结构管理服务器140。诸如SDN控制器132、服务器12、机箱交换机18和TOR交换机16等其他数据中心组件也可以通信地耦接到管理交换机302。管理交换机、到管理交换机的服务器连接和交换机连接形成带外管理网络。
每个服务器12可以包括管理网络接口304、IP结构交换接口306和智能平台管理接口(IPMI)312。管理网络接口304提供硬件和/或软件接口,提供用于在服务器12A至12X之间向管理交换机302传送数据。IP结构交换接口306提供硬件和/或软件接口,提供用于在服务器12A至12X到TOR交换机16A至16N之间传送数据。
IPMI 312提供到计算系统(例如,任何服务器12)的接口,该接口可以用于监视和管理独立于计算系统的主处理器和操作系统的计算系统的操作。例如,IPMI 312可以使系统管理员能够管理断电、未完全配置或缺乏按预期运行或通信的能力的计算系统。
结构管理服务器140可以控制各种发现和配置相关工作流的执行。如上所述,由结构管理服务器140收集、产生和使用的数据可以作为硬件配置信息146保持在配置数据库142中。
配置生成器208可以使用如上所述收集的硬件配置信息148以及接入简档148来配置机箱交换机18、TOR交换机16和服务器12中的一些或全部。
图4是示出根据本文描述的技术的示例网络配置数据模型的框图。示例网络配置数据模型可用于为存储在数据存储(例如,配置数据库142)中的数据指定数据结构。图4中呈现的示例网络配置数据模型可以对应于硬件配置信息146,该硬件配置信息146是作为分配给网络装置的结构管理服务器140发现网络装置的结果而添加的。
在一些方面,可以作为结构管理服务器140执行IP结构发现工作流的结果而添加网络配置数据结构。在执行了IP结构发现工作流之后,结构管理服务器140学习关于交换机的配置数据。在图4所示的示例中,物理路由器数据结构402可以包括关于被识别为“QFX_TOR_1”的特定TOR交换机的数据。例如,QFX_TOR_1可以是分配给TOR交换机12A(图2)的识别标签。此外,在图4所示的示例中,结构管理服务器140已经发现交换机QFX_TOR_1上的三个端口,并且作为响应,创建物理接口数据结构404A、404B和404C,以表示交换机QFX_TOR_1上的物理端口GE_001、GE_002和GE_003。可以与物理接口数据结构关联的逻辑接口(未示出)的数据结构也可以由结构管理服务器140创建。
图4进一步示出了可以作为结构管理服务器140执行服务器发现工作流的结果而添加的示例网络配置数据结构。将参考单个发现的服务器(例如,服务器12A)来描述图4的示例数据结构。可以为其他服务器12添加类似的数据结构。在图4所示的示例中,结构管理服务器140已经发现了服务器12A并创建了描述服务器12A的终端系统数据结构410。在这个示例中,服务器12A被赋予标识符“INFRA_BMS_1”。结构管理服务器140已经发现服务器12A具有三个端口,并且作为响应,可以创建三个端口数据结构408A、408B和408C来保存描述端口的数据。此外,结构管理服务器140已经发现三个端口物理链接到三个相应的交换机端口,并且创建从描述三个服务器12A端口的端口数据结构408A至408C中的每一个到描述交换机物理接口的相应物理接口数据结构404A至404C的引用。
此外,由结构管理服务器140执行的服务器发现工作流和IP结构发现工作流可以收集可用于创建或更新节点简档数据结构412至416的信息。节点简档数据结构412至416可以描述与由物理路由器数据结构402描述的交换机(例如,机箱交换机18或TOR交换机16)或服务器12关联的特定硬件的方面。在图4所示的示例中,节点简档数据结构412包括识别服务器的供应商或制造商(例如,“VENDOR 1”)以及服务器可以支持的角色的数据。硬件数据结构414可以描述特定类型的服务器(例如,“SERVERTYPE”)。例如,服务器的类型可以识别品牌名称或识别服务器类型的其他标签。卡数据结构416可以包括描述所识别的服务器上可用的网络接口的数据。
节点简档数据结构412可以与硬件平台数据结构426链接。硬件平台数据结构426可以包括识别节点简档支持的硬件平台的字段。例如,硬件平台数据结构426可以包括识别服务器或物理路由器的制造商/型号、服务器或物理路由器的处理器类型等的字段。节点简档412可以与描述与该节点关联的线路卡和角色的数据结构(未示出)相链接。
图5是示出根据本文描述的技术的服务接入端点的供应商无关、装置无关和网络OS无关建模的方法的流程图。在一些方面,可以在新数据中心中的网络装置的初始配置时执行操作。在进一步的方面,当新的网络装置添加到数据中心时,可以执行这些操作。在又一些方面,当重新配置网络装置时,可以执行这些操作。
在一些方面,可以为网络装置(例如,数据中心中的网络装置)获得硬件配置信息(502)。数据中心中的网络装置可能已经由各种供应商制造,并且可以执行各种操作系统。如上所述,基于供应该网络装置的供应商、网络装置的型号、网络装置的版本等,网络装置可以具有各种不同的配置接口。在一些方面,可以通过一个或多个发现过程获得硬件配置信息。例如,当初始配置数据中心时,发现操作可以由各种工作流启动。在一些方面,工作流可以使结构管理服务器从结构管理网络上的装置自动获得硬件配置信息。例如,工作流可以利用IPMI或其他发现技术从网络上的交换机和服务器获取硬件配置信息。获得的信息可以与系统管理员可提供的其他信息相结合,例如,将在数据中心网络中配置的VLAN、子网、环回、自治系统号(ASN)等。结构管理服务器可以将该信息作为硬件配置信息146的一部分存储在数据中心网络的配置数据库142中。
在一些方面,系统管理员或其他用户可以创建接入简档(504)。接入简档可以包括以供应商无关、装置无关和/或网络OS无关的方式定义服务接入端点的期望特征的数据。换言之,可以定义这些特征,使得这些特征不必绑定到任何特定供应商、装置或网络操作系统的用于定义特征的方案。在一些方面,接入简档可以定义指定期望的CoS、QoS和/或网络风暴/泛滥预防特征的特征。例如,用户可以设置接入简档的一个或多个属性,以指定在多大程度上、什么CoS标记和整形应该应用于在接入端点生成的流量。此外,用户可以设置接入简档的一个或多个属性,以指定如何处理网络风暴或网络泛滥情况。例如,用户可以指定如何限制广播、未知单播、多播(BUM)流量,以防止网络泛滥或风暴。用户可以设置一个或多个属性,指定在比特率或分组速率方面的阈值。在一些方面,用户可以为广播速率、多播速率和未知单播速率设置独立的阈值。用户可以在接入简档中设置可用于指定或定义其他期望的服务接入端点特征的其他属性。
配置生成器可以接收要配置服务接入点的指示(506)。例如,系统管理员或其他用户可以利用用户接口装置129(图1)来选择要配置的一个或多个服务接入点。在一些方面,系统管理员可以指定要配置的交换机或服务器上的特定端口或线路卡。在一些方面,用户可以选择要配置的特定VLAN。作为VLAN的一部分的服务接入点可以指示给配置生成器,作为要配置的服务接入点。系统管理员也可以选择端口组等其他分组,来指示要配置哪些服务接入点。
配置生成器可以接收将用于配置所指示的服务接入点的期望的装置无关服务特征的指示(508)。例如,系统管理员可以指定期望的装置无关服务特征,并且确定具有对应于期望特征的装置无关属性的现有接入简档,或者可以创建具有指定期望特征的装置无关属性的接入简档。配置生成器可以接收期望的CoS、QoS或广播风暴/泛滥控制特征。系统可以基于所指示的装置无关服务特征向所指示的服务接入点分配接入简档(510)。
对于每个指示的服务接入点,配置生成器可以基于托管所指示的服务接入点的网络装置的硬件配置(如在502处确定的)以及与服务接入点关联的接入简档,来生成装置特定的配置命令和配置数据(例如,配置参数)(512)。在一些方面,配置生成器可以使用与托管服务接入点的网络装置关联的硬件配置信息来确定用于生成符合装置特定API的配置命令和数据的装置特定API。配置生成器还可以使用来自与所指示的服务接入点关联的接入简档的装置无关属性来生成配置命令和数据。例如,配置生成器可以将装置无关属性值转化成(translate)符合由托管指示的服务接入点的网络装置支持的供应商特定和/或网络OS特定配置API的配置命令和数据。
配置生成器然后可以使用供应商特定配置API将生成的供应商特定配置命令和数据提供给托管所指示的服务接入点的网络装置(514)。
如上所述,配置生成器可以将装置和网络OS无关的服务接入点特征转换成供应商和网络OS特定的配置命令和数据。传统系统的一个技术问题在于,用户通常必须基于网络装置的供应商和在网络装置上执行的网络OS来使用不同的供应商特定的配置API。配置API缺乏一致性,会导致误配置和错误网络操作的可能性增加。因此,本文描述的技术可以以统一的和供应商无关的方式提供对该技术问题的技术解决方案,以配置在不同的网络装置上的服务接入点。
本文描述的技术可以用硬件、软件、固件或其任意组合来实现。被描述为模块、引擎、单元或组件的各种特征可以一起在集成逻辑装置中实现,或者单独作为分立但可互操作的逻辑装置或其他硬件装置实现。在一些情况下,电子电路的各种特征可以实现为一个或多个集成电路装置,例如,集成电路芯片或芯片组。
如果以硬件中实现,则本公开可以涉及诸如处理器或集成电路装置(例如,集成电路芯片或芯片组)等设备。替代地或另外,如果以软件或固件实现,则这些技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,所述指令在被执行时使得处理器执行一种或多种上述方法。例如,计算机可读数据存储介质可以存储由处理器执行的这些指令。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,例如,随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以表示存储介质没有包含在载波或传播信号中。在某些示例中,非暂时性存储介质可以存储随时间变化的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由处理电路执行的软件和/或固件,该处理电路包括一个或多个处理器,例如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的集成或分立逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或任何其他适合于实现本文描述的技术的结构。此外,在一些方面,可以在软件模块或硬件模块内提供本公开中描述的功能。
Claims (19)
1.一种方法,包括:
获得用于多个网络装置中的每一者的硬件配置信息;
接收选择所述多个网络装置中的第一网络装置的服务接入点的指示;
接收选择装置无关服务特征的指示;
根据所述装置无关服务特征,将接入简档与所选的所述服务接入点关联,所述接入简档具有定义所选的所述装置无关服务特征的一个或多个装置无关属性;并且
至少部分基于与所选的所述服务接入点关联的所述接入简档的所述一个或多个装置无关属性,确定符合所述第一网络装置的第一配置接口的一个或多个装置特定配置命令和配置参数。
2.根据权利要求1所述的方法,还包括:
经由所述第一配置接口向所述第一网络装置提供所述一个或多个装置特定配置命令和配置参数。
3.根据权利要求2所述的方法,
其中,第二网络装置具有不同于所述第一配置接口的第二配置接口;
其中,所述第二网络装置属于与所述第一网络装置相同的网络组;
其中,所述接入简档与所述第二网络装置托管的第二服务接入点关联;
其中,所述方法还包括:
至少部分基于与所述第二服务接入点关联的所述接入简档的一个或多个装置无关属性,确定符合所述第二配置接口的一个或多个装置特定配置命令和配置参数。
4.根据权利要求3所述的方法,其中,定义所述装置无关服务特征的所述一个或多个属性与所述第一网络装置能够执行的第一网络操作系统无关,并且定义所述装置无关服务特征的所述一个或多个属性与所述第二网络装置执行的第二网络操作系统无关,其中,所述第一网络操作系统不同于所述第二网络操作系统。
5.根据权利要求3所述的方法,其中,定义所述装置无关服务特征的所述一个或多个属性与所述第一网络装置的第一供应商无关,并且定义所述装置无关服务特征的所述一个或多个属性与所述第二网络装置的第二供应商无关,其中,所述第一供应商不同于所述第二供应商。
6.根据权利要求1至5中任一项所述的方法,其中,定义所述装置无关服务特征的所述一个或多个属性包括一个或多个装置无关服务类别参数,并且所述一个或多个装置特定配置命令和配置参数包括装置特定服务类别配置命令和参数。
7.根据权利要求1至5中任一项所述的方法,其中,定义所述装置无关服务特征的所述一个或多个属性包括一个或多个装置无关风暴控制参数,并且所述一个或多个装置特定配置命令和配置参数包括一个或多个装置特定风暴控制配置命令和配置参数。
8.根据权利要求1至5中任一项所述的方法,其中,所述第一网络装置包括虚拟装置。
9.一种软件定义网络(SDN)控制器,包括:
一个或多个处理器,耦接到存储器,所述存储器包括可执行指令,以使所述一个或多个处理器:
获得部分地由SDN控制器控制的网络上的多个网络装置中的每一者的硬件配置信息;
接收选择所述多个网络装置中的第一网络装置的服务接入点的指示;
接收选择装置无关服务特征的指示;
根据所述装置无关服务特征,将接入简档与所选的所述服务接入点关联,所述接入简档具有定义所选的所述装置无关服务特征的一个或多个装置无关属性;并且
至少部分基于与所选的所述服务接入点关联的所述接入简档的所述一个或多个装置无关属性,确定符合所述第一网络装置的第一配置接口的一个或多个装置特定配置命令和配置参数。
10.根据权利要求9所述的SDN控制器,其中,所述指令还包括:
用于经由所述第一配置接口向所述第一网络装置提供所述一个或多个装置特定配置命令和配置参数的指令。
11.根据权利要求10所述的SDN控制器,
其中,第二网络装置具有不同于所述第一配置接口的第二配置接口;
其中,所述接入简档与所述第二网络装置托管的第二服务接入点关联;
其中,所述指令还包括:
用于至少部分基于与所述第二服务接入点关联的所述接入简档的一个或多个装置无关属性,确定符合所述第二配置接口的一个或多个装置特定配置命令和配置参数的指令。
12.根据权利要求11所述的SDN控制器,其中,定义所述装置无关服务特征的所述一个或多个属性与所述第一网络装置能够执行的第一网络操作系统无关,并且定义所述装置无关服务特征的所述一个或多个属性与所述第二网络装置执行的第二网络操作系统无关,其中,所述第一网络操作系统不同于所述第二网络操作系统。
13.根据权利要求11所述的SDN控制器,其中,定义所述装置无关服务特征的所述一个或多个属性与所述第一网络装置的第一供应商无关,并且定义所述装置无关服务特征的所述一个或多个属性与所述第二网络装置的第二供应商无关,其中,所述第一供应商不同于所述第二供应商。
14.根据权利要求11所述的SDN控制器,其中,所述第一网络装置与所述第二网络装置是同一类型,并且其中,定义所述装置无关服务特征的所述一个或多个属性与所述第一网络装置上的第一芯片组无关,并且定义所述装置无关服务特征的所述一个或多个属性与所述第二网络装置的第二芯片组无关,其中,所述第一芯片组不同于所述第二芯片组。
15.根据权利要求9至14中任一项所述的SDN控制器,其中,定义所述装置无关服务特征的所述一个或多个属性包括一个或多个装置无关服务类别参数,并且所述一个或多个装置特定配置命令和配置参数包括装置特定服务类别配置命令和参数。
16.根据权利要求9至14中任一项所述的SDN控制器,其中,定义所述装置无关服务特征的所述一个或多个属性包括一个或多个装置无关风暴控制参数,并且所述一个或多个装置特定配置命令和配置参数包括一个或多个装置特定风暴控制配置命令和配置参数。
17.根据权利要求9至14中任一项所述的SDN控制器,其中,所述第一网络装置包括虚拟装置。
18.根据权利要求9至14中任一项所述的SDN控制器,其中,所述接入简档包括:表示由所述多个网络装置提供的多个装置特定特征的多个装置无关服务特征。
19.一种利用指令编码的计算机可读介质,所述指令用于使一个或多个可编程处理器执行根据权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310956539.3A CN116980271A (zh) | 2019-08-19 | 2019-12-23 | 多租户环境中服务接入端点的基于供应商无关简档的建模 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962888958P | 2019-08-19 | 2019-08-19 | |
US62/888,958 | 2019-08-19 | ||
US16/588,699 US11316738B2 (en) | 2019-08-19 | 2019-09-30 | Vendor agnostic profile-based modeling of service access endpoints in a multitenant environment |
US16/588,699 | 2019-09-30 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310956539.3A Division CN116980271A (zh) | 2019-08-19 | 2019-12-23 | 多租户环境中服务接入端点的基于供应商无关简档的建模 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398676A true CN112398676A (zh) | 2021-02-23 |
CN112398676B CN112398676B (zh) | 2023-08-15 |
Family
ID=69005251
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911337293.1A Active CN112398676B (zh) | 2019-08-19 | 2019-12-23 | 多租户环境中服务接入端点的基于供应商无关简档的建模 |
CN202310956539.3A Pending CN116980271A (zh) | 2019-08-19 | 2019-12-23 | 多租户环境中服务接入端点的基于供应商无关简档的建模 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310956539.3A Pending CN116980271A (zh) | 2019-08-19 | 2019-12-23 | 多租户环境中服务接入端点的基于供应商无关简档的建模 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11316738B2 (zh) |
EP (1) | EP3783835A1 (zh) |
CN (2) | CN112398676B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021050269A1 (en) * | 2019-09-10 | 2021-03-18 | Arris Enterprises Llc | User interface for configuring device-specific iot applications |
US11520614B2 (en) * | 2020-03-10 | 2022-12-06 | Dish Network L.L.C. | Operating system-agnostic container runtime |
WO2021234525A1 (en) * | 2020-05-18 | 2021-11-25 | SCADAfence Ltd. | System for centralized monitoring and control of iot devices |
US11689455B2 (en) | 2020-05-28 | 2023-06-27 | Oracle International Corporation | Loop prevention in virtual layer 2 networks |
US11831544B2 (en) | 2020-07-14 | 2023-11-28 | Oracle International Corporation | Virtual layer-2 network |
WO2022146588A1 (en) * | 2020-12-30 | 2022-07-07 | Oracle International Corporation | Layer-2 networking storm control in a virtualized cloud environment |
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 |
US11374813B1 (en) * | 2021-04-23 | 2022-06-28 | Verizon Patent And Licensing Inc. | Software defined network device exposure to third parties |
EP4224810A1 (en) * | 2022-02-05 | 2023-08-09 | Mavenir Systems, Inc. | Methods for profile based management of infrastructure of a cloud used for ran applications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1250021A1 (en) * | 2001-04-09 | 2002-10-16 | Lucent Technologies Inc. | Providing quality of service in telecommunications systems such as UMTS or other third generation systems |
US20030135596A1 (en) * | 2002-01-15 | 2003-07-17 | Moyer Stanley L. | Network configuration management |
US20060242690A1 (en) * | 2001-03-21 | 2006-10-26 | Wolf Jonathan S | Network configuration manager |
CN104471896A (zh) * | 2012-07-20 | 2015-03-25 | Abb技术有限公司 | 用于厂商无关网络装置配置的配置管理装置、配置接口装置和方法 |
US20150244617A1 (en) * | 2012-06-06 | 2015-08-27 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2474879C (en) * | 2001-07-03 | 2013-04-09 | Imagine Broadband Limited | Method and system for monitoring service performance over a virtual private network connection by simulating end user activity |
US6959329B2 (en) * | 2002-05-15 | 2005-10-25 | Intelliden | System and method for transforming configuration commands |
WO2013096174A1 (en) * | 2011-12-23 | 2013-06-27 | Airstrip Ip Holdings, Llc | Systems and methods for developing multi-platform applications for computing devices |
US9064216B2 (en) | 2012-06-06 | 2015-06-23 | Juniper Networks, Inc. | Identifying likely faulty components in a distributed system |
US9094299B1 (en) * | 2013-01-08 | 2015-07-28 | Juniper Networks, Inc. | Auto-generation of platform-independent interface and operational scripts for configuring network devices |
US20150066560A1 (en) | 2013-08-27 | 2015-03-05 | Connectloud, Inc. | Method and apparatus for managing multi-vendor infrastructure for software defined clouds through abstracted control planes |
US10797942B2 (en) * | 2015-04-01 | 2020-10-06 | Nokia Of America Corporation | Provisioning network services for cable systems |
US11113085B2 (en) * | 2015-09-30 | 2021-09-07 | Nicira, Inc. | Virtual network abstraction |
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 |
US10291497B2 (en) | 2017-03-31 | 2019-05-14 | Juniper Networks, Inc. | Session-based traffic statistics logging for virtual routers |
US20200067851A1 (en) * | 2018-08-21 | 2020-02-27 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | Smart software-defined network (sdn) switch |
-
2019
- 2019-09-30 US US16/588,699 patent/US11316738B2/en active Active
- 2019-12-20 EP EP19218718.5A patent/EP3783835A1/en active Pending
- 2019-12-23 CN CN201911337293.1A patent/CN112398676B/zh active Active
- 2019-12-23 CN CN202310956539.3A patent/CN116980271A/zh active Pending
-
2022
- 2022-03-21 US US17/655,718 patent/US20220217047A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242690A1 (en) * | 2001-03-21 | 2006-10-26 | Wolf Jonathan S | Network configuration manager |
EP1250021A1 (en) * | 2001-04-09 | 2002-10-16 | Lucent Technologies Inc. | Providing quality of service in telecommunications systems such as UMTS or other third generation systems |
US20030135596A1 (en) * | 2002-01-15 | 2003-07-17 | Moyer Stanley L. | Network configuration management |
US20150244617A1 (en) * | 2012-06-06 | 2015-08-27 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
CN104471896A (zh) * | 2012-07-20 | 2015-03-25 | Abb技术有限公司 | 用于厂商无关网络装置配置的配置管理装置、配置接口装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116980271A (zh) | 2023-10-31 |
US20220217047A1 (en) | 2022-07-07 |
US11316738B2 (en) | 2022-04-26 |
CN112398676B (zh) | 2023-08-15 |
US20210058295A1 (en) | 2021-02-25 |
EP3783835A1 (en) | 2021-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112398676B (zh) | 多租户环境中服务接入端点的基于供应商无关简档的建模 | |
US11095504B2 (en) | Initializing network device and server configurations in a data center | |
US11700237B2 (en) | Intent-based policy generation for virtual networks | |
CN111371706B (zh) | 跨物理和虚拟化工作负载使用虚拟化覆盖的具有多个协议的云网络 | |
CN110830357B (zh) | 使用高级拓扑描述的多云虚拟计算环境供应 | |
US10996938B2 (en) | Automated selection of software images for network devices | |
US10374896B2 (en) | System and method for automatically detecting and configuring server uplink network interface | |
US7941539B2 (en) | Method and system for creating a virtual router in a blade chassis to maintain connectivity | |
US7962587B2 (en) | Method and system for enforcing resource constraints for virtual machines across migration | |
US11258661B2 (en) | Initializing server configurations in a data center | |
US9866436B2 (en) | Smart migration of monitoring constructs and data | |
EP3731462B1 (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 |