CN104753715B - 混合sdn控制器 - Google Patents
混合sdn控制器 Download PDFInfo
- Publication number
- CN104753715B CN104753715B CN201410777926.1A CN201410777926A CN104753715B CN 104753715 B CN104753715 B CN 104753715B CN 201410777926 A CN201410777926 A CN 201410777926A CN 104753715 B CN104753715 B CN 104753715B
- Authority
- CN
- China
- Prior art keywords
- network
- host
- sal
- interface controller
- physical network
- 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
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/12—Discovery or management of network topologies
-
- 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/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一个实施例提供了一种网络接口控制器。该网络接口控制器包括混合软件定义网络(“SDN”)控制器的一部分,该混合SDN控制器的该部分包括服务抽象层模块(“SAL”)和南行应用编程接口(“SB API”),该SAL包括物理网络的表示。
Description
领域
本公开涉及SDN(软件定义网络)控制器,并且更具体地涉及混合SDN控制器。
背景
总体上,常规的网络包括各自被配置成用于根据对应的内部设置接收并转发分组和/或帧的多个互连网络设备,例如交换机、路由器等等。这些内部设置总体上在提供时被配置并且可要求物理访问网络设备以便改变设置。在某些情况下,这些配置可以是专有的。进一步地,网络设备通常仅配置有网络的一部分的本地视图,例如,为了容错。每个网络设备被配置成用于基于该本地视图做出路由和/或转发决定。因此,这种网络设备可不响应于动态改变的网络通信量、耦合到网络的节点的改变也不响应于连接到网络的用户设备的移动性。
软件定义网络(SDN)旨在解决这种常规网络架构的许多这样的特点。SDN被设计成用于将数据面(即,网络设备)从控制面(例如,路由决定规则和策略)解耦合。在SDN中,控制面可以是集中式的和/或可以是分布式的,并且数据面包括可由控制面远程地编程的多个互连网络设备。
SDN控制器可被配置成用于监控网络通信量和/或节点的状态。SDN控制器例如可在位于数据中心处的服务器上执行。SDN控制器被配置成用于具有网络的集中式全局视图并且被进一步配置成用于至少部分地基于网络通信量、节点的状态和/或例如网络管理员设置的策略动态地编程网络设备。网络设备总体上被配置有使得编程和再编程相对直接并且不限制于供应商特定的协议的标准化编程接口。因此,SDN网络架构被配置成可由SDN控制器至少部分地基于商业企业策略动态地再编程。
SDN控制器可通常被实现为在例如数据中心中的服务器上执行的计算机程序。服务器可包括主机和耦合到主机的网络接口。SDN控制器通常被配置成在主机上执行SDN控制器操作以及通过网络接口传输和/或接收网络相关的数据。SDN控制器可包括被配置成促进物理网络及其相关联的网络设备的监控和控制的多个架构元件。通常可用相对高级的面向对象的语言(诸如Java)编写SDN控制器的这些元件。例如,网络逻辑(即,创建对象并且基于策略做出逻辑决定)通常更易于用高级语言实现。
例如,可用被配置成以人类可读和机器可读的格式对策略进行编码的扩展标记语言(XML)编写这些策略。通常令人期望的是高效地编码“最靠近”网络设备的SDN控制器元件。通常为了易于编程和/或可读性而不是效率,设计高级计算机语言,因此,为更靠近网络设备的SDN控制器生成高效可执行代码可能耗费大量的时间和努力。
附图简要说明
所要求保护的主题的实施例的特征和优点将随着以下详细描述的进行并且当参照附图时变得明显,其中相似的参考号指示相似的部件,并且在附图中:
图1示出根据本公开的各实施例的示例网络系统;
图2示出根据本公开的各实施例的示例主机;
图3示出根据本公开的一个实施例的示例网络接口控制器。
图4示出根据本公开的各实施例的示例工作站;
图5示出根据本公开的一个实施例的另一个示例网络接口控制器;
图6示出根据本公开的实施例的混合软件定义网络(SDN)控制器的示例操作的流程图;
图7示出根据本公开的实施例的混合SDN控制器的示例操作的另一个流程图;以及
图8示出根据本公开的实施例的混合SDN控制器的示例操作的另一个流程图。
尽管将参考说明性实施例进行以下详细说明,其许多替代、修改和变化将对本领域普通技术人员明显。
详细描述
总体上,本公开涉及混合SDN(软件定义网络)控制器。如在此所使用的,混合SDN控制器与具有第一部分和第二部分的SDN控制器相对应,该第一部分被配置成用于在包括在计算设备(例如,服务器)中的主机上实现,该第二部分被配置成用于在包括在计算设备中的网络接口(即,网络接口控制器(“NIC”))上实现。混合SDN控制器的第一部分可包括北行应用编程接口(API)以及网络逻辑(即,网络服务功能、网络编制功能以及网络管理功能)。混合SDN控制器的第二部分可包括南行API和包括物理网络的表示的服务抽象层(例如,SAL模块)。
因此,根据本公开的各实施例的NIC被配置成包括网络接口功能的功能单元以及包括服务抽象层和南行API的混合SDN控制器的部分。服务抽象层和南行API可被高效地编码。例如,可由和/或代表例如原始设备制造商(OEM)向SAL模块和南行API提供的NIC。在某些实施例中,与南行API相关的定制模块可由企业实现。可使用例如由OEM提供的库生成定制模块。在NIC上实现服务抽象层和南行API被进一步配置成用于降低主机上的处理负荷。可继续用高级面向对象的语言对网络逻辑进行编码而不影响NIC编程。在主机和NIC之间分布SDN控制功能被配置成对在物理网络内的节点上执行的应用透明。
图1示出根据本公开的各实施例的示例网络系统100。系统100一般包括计算设备102以及物理网络104。系统100可包括被配置成提供用户接口以便促进混合SDN控制器120的可编程性的工作站110,如在此所描述的。计算设备102被配置成用于与物理网络104通信。例如,计算设备102可以是在例如被配置成使用混合SDN控制器管理物理网络104的数据中心中的服务器,如在此所描述的。
物理网络104可包括至少一个节点106a,…,106n以及多个互连网络设备108a,…,108n。物理网络104被配置成用于将每个节点106a,…,106n耦合到每个其他节点106a,…,106n。“节点”可表示计算机节点元件(例如,主机服务器系统、台式计算机、膝上计算机、平板计算机等等)、交换机、路由器、中枢、网络存储设备、网络附接设备、非易失性存储器(NVM)存储设备、基于云的服务器和/或存储系统、刀片、智能电话、特征电话等等。节点106a,…,106n可位于固定位置和/或可以是移动的。网络设备108a,…,108n可包括交换机、网桥、路由器(有线的和/或无线的)。网络设备108a,…,108n中的至少某些被配置成由例如计算设备102访问和/或编程,如在此所描述的。与SDN相关的可编程性被配置成用于修改网络设备108a,…,108n的行为,例如,路由行为。
每个节点106a,…,106n可包括至少一个对应的应用107a,…,107n。应用107a,…,107n被配置成通过物理网络104在节点106a,…,106n之间通信(例如,传递包括数据的分组)。应用107a,…,107n可被配置成用于例如至少部分地基于包括在分组中的数据的类型从混合SDN控制器120请求路由和/或路径特点。例如,语音和/或视频数据可与低延时路径相对应。混合SDN控制器120然后可被配置成用于建立适当的路径以及沿着这条路径路由来自请求应用的分组。
计算设备102和节点106a,…,106n可使用交换结构通信协议(例如,以太网通信协议、Infiniband通信协议等等)与彼此通信。以太网通信协议能够使用传输控制协议/互联网协议(TCP/IP)提供通信。以太网协议可符合或兼容电气和电子工程师学会(IEEE)在2002年3月发布的标题为“IEEE802.3标准”的以太网标准和/或该标准的稍后版本,例如,2012年发布的以太网IEEE 802.3标准。Infiniband协议可符合或兼容由Infiniband贸易协会(IBTA)于2001年6月发布的标题为“InfiniBandTM架构规范”(卷1,版本1.2.1)和/或该规范的稍后版本,例如,2008年1月发布的InfiniBandTM架构(卷1(通用规范),版本1.2.1)以及2012年11月发布的(卷2(物理规范),版本1.3)。当然,在其他实施例中,交换结构通信协议可包括定制和/或专有交换结构通信协议。
物理网络104可包括任何分组交换网络,诸如例如,在IEEE 802.3标准中列出的以太网络和/或无线局域网,诸如例如,IEEE 802.11标准。无线协议可符合或兼容由IEEE发布的标题为“802.11-2012-信息技术IEEE标准--系统局域网和城域网之间的电信及信息交换--具体要求部分11”的无线标准:于2012年4月发布的无线LAN媒体访问控制(MAC)及物理层(PHY)规范和/或该标准的稍后版本。
计算设备102总体上包括主机105以及网络接口116。计算设备102进一步包括根据本公开的各实施例的混合SDN控制器120。混合SDN控制器120包括第一部分122和第二部分124。第一部分122被配置成在主机105上实现。第二部分124被配置成在网络接口116上实现。
图2示出根据本公开的各实施例的示例主机205。主机205总体上包括处理器210、网桥芯片组212以及系统存储器214。处理器210被配置成执行与计算设备202和主机205相关联的操作。处理器210可包括一个或多个处理单元,例如,核。网桥芯片组212被配置成将主机205耦合到网络接口,例如,网络接口116。在实施例中,网桥芯片组212可耦合到处理器210。在本实施例中,网桥芯片组212还可耦合到系统存储器214。在另一个实施例中,网桥芯片组212可被包括在处理器210中。在本实施例中,处理器210(以及网桥芯片组212)还可耦合到网络接口116。
主机存储器214被配置成存储操作系统OS 230、策略235以及SDN模块236。SDN模块236与根据本公开的实施例的混合SDN控制器的第一部分122相对应。在某些实施例中,主机存储器214可被配置成用于存储应用234。SDN模块236可包括北行API 240、网络服务功能242、网络编制功能244以及网络管理功能246。在某些实施例中,SDN模块236可包括被配置成提供定制和/或更新能力的代理252,如在此所描述的。主机存储器214可被进一步配置成存储虚拟机监控器(VMM)232并且然后可包括多个虚拟机(未示出)。主机存储器214可被配置成用于存储网络堆栈231。网络堆栈231可由OS 230管理。OS 230可被配置成使用被配置成用于高效以及相对快速的分组处理的软件框架。例如,软件框架可符合或兼容被配置成优化英特尔架构处理器上的分组处理的数据面开发套件(DPDK)。当然,英特尔架构仅仅是示例实现方式,并且在其他实施例中,在此展现的教导可用于如可由例如摩托罗拉苹果等等提供的其他核架构技术。
主机存储器214可进一步包括NIC驱动器216和/或I/O存储器218。I/O存储器218可包括一个或多个队列220。NIC驱动器216、I/O存储器218和/或队列220可用于在主机205和网络接口之间传输并存储分组和/或数据。
北行(NB)API 240被配置成在应用(例如,应用107a,…,107n和/或应用234)和网络服务功能242、网络编制功能244和/或网络管理功能246之间提供应用编程接口。网络服务功能242可包括例如在物理网络104中设置网络设备108a…108n中的具体路线和路径。网络编制功能244可包括例如基于整个网络104的视图做出决定。网络编制功能244可被配置成使用网络服务功能以便强制执行策略235。网络管理功能246可包括例如打开或关闭包括在物理网络104中的网络设备108a…108n的端口和/或部分(例如,电路板、处理器、ASIC等等)。
主机SDN模块236被配置成基于策略235、网络通信量和/或网络拓扑改变执行与物理网络104和网络设备108a…108n的管理、配置和重配置相关的网络逻辑操作。策略可与例如对具体应用有具体要求的高可用性(诸如路径和路线失效)和路径有关。例如,物理网络104中的具体路径可被配置成是低延时的,从而使得如果应用(例如,图1的应用107a)是流式视频或语音,则应用107a将被指派该低延时路径。应用107a,…,107n和234可被配置成使用北行API 240以便访问SDN功能,例如,网络服务功能242、网络编制功能244和/或网络管理功能246。可基于策略235过滤这些SDN功能。因此,应用107a,…,107n和234被配置成像将所有SDN控制器元件包含在主机存储器中的常规配置的SDN控制器中那样使用NB API 240。
图3示出根据本公开的一个实施例的示例网络接口控制器316。第一网络接口控制器316可被配置成用于将计算设备(例如,计算设备102(以及主机,例如,主机105))耦合到物理网络(例如,物理网络104)并且由此耦合到节点106a,…,106n和网络设备108a,…,108n。第一网络接口控制器316包括处理器318、主机接口320、媒体访问控制(MAC)电路322、物理层电路(PHY)323以及NIC存储器324。处理器318被配置成用于执行与第一网络接口控制器316相关联的操作。在某些实施例中,处理器318可与通用处理器相对应并且可包括多个处理单元。主机接口320被配置成用于将第一网络接口控制器316耦合到例如图2的网桥芯片组212。主机接口320可包括被配置成使用例如PCIe(快速外围组件互连)通信协议通过网桥芯片组212将第一网络接口控制器316耦合到例如主机接口205的媒体访问控制器(“MAC”)321。PCIe通信协议可对应于或兼容于2010年11月发布的标题为“PCI快速基础3.1规范”的由PCI-SIG(PCI特别兴趣小组)发布的PCIe 3.0版本和/或该规范的稍后版本。
MAC 322和PHY 323被配置成用于将计算设备102耦合到例如物理网络104。MAC322被配置成用于对传输和接收功能执行媒体访问管理。PHY电路323包括被配置成用于将数据和/或消息分组和/或帧传输到包括节点106a,…,106n和网络设备108a,…,108n的物理网络104的传输电路。PHY电路323包括被配置成用于从物理网络104接收数据和/或消息分组和/或帧的接收电路。当然,PHY电路323还可包括被配置成用于执行模数和数模转换、数据的编码和解码、模拟寄生消除(例如,串扰消除)、以及所接收的数据的恢复的编码/解码电路。
第一NIC 316包括OS 360和NIC SDN模块362并且可包括网络堆栈361。NIC SDN模块362与根据本公开的各实施例的混合SDN控制器的第二部分324相对应。NIC SDN模块362包括服务抽象层模块SAL 364以及南行应用编程接口SB API 368。NIC SDN模块362可包括库337。库337包括可用于生成定制模块和/或定制协议的功能模块,如在此所描述的。库337、SAL 364以及SB API 368可由和/或代表例如NIC 316的OEM提供。可针对例如执行效率优化SAL 364和SB API 368。OS 360被配置成用于管理第一NIC 316的操作。SAL 364包括物理网络366的表示。物理网络366的表示可包括与物理网络104的配置有关的数据结构。例如,数据结构可包括每个网络设备108a,…,108n的编号、类型、位置、互连和/或设置。数据结构可进一步包括与节点106a,…,106n有关的数据,例如,标识符、位置等等。
SB API 368包括被配置成用于与网络设备108a,…,108n通信以便访问和/或改变物理网络104的配置的应用编程接口。在实施例中,SB API 368可包括可符合或兼容于2011年2月28日发布的OpenFlowTM交换规范版本1.1.0实现(有线协议0x02)和/或该规范的稍后版本。在另一个实施例中,SB API 368可包括定制和/或专有功能。
再次转向图2,在某些实施例中,主机存储器214可包括代理252。代理252被配置成用于提供与SAL 364和SB API 368有关的定制和/或更新能力。例如,代理252可用于向SAL364和/或SB API 368推送更新。更新可包括对SAL 364的更新、对SB API 368的更新和/或对库337的更新。这些更新可由例如第一NIC 316OEM提供。在另一个示例中,代理252可用于从工作站(例如,工作站110)向网络接口控制器(例如,第一NIC 316)推送定制模块(例如,定制模块372a…372n)。代理252可用于指定、修改和/或更新与SAL 364和/或SB API 368有关的配置数据。
图4示出根据本公开的各实施例的示例工作站410。工作站410是图1的工作站110的一个示例。工作站410可由用户(例如,系统管理员)用于生成定制模块424和/或协议(例如,定制SB API)。工作站410包括处理器412、I/O电路414、用户接口416以及存储器418。存储器418包括操作系统OS 420以及集成开发环境IDE 422。IDE 422可用于生成一个或多个定制模块424。定制模块424与图3的定制模块372a,…,372n中的一个或多个相对应。
处理器412被配置成用于执行工作站410的操作。I/O电路414被配置成用于将工作站410耦合到计算设备102。在某些实施例中,工作站410可通过网络104耦合到计算设备102。在某些实施例中,工作站410可直接耦合到计算设备102。用户接口415可包括例如键盘和显示器并且被配置成允许系统管理员访问IDE 422,例如以便生成和/或测试例如定制SBAPI和/或网络配置。
IDE 422与混合SDN控制器120相关并且可由例如网络接口116的OEM提供。IDE 422可包括库430、头文件432和/或工具434。工具434可包括被配置成提供可执行定制模块424的编译器,例如,交叉编译器。库430可与库337相对应并且可包括可用于生成定制模块和/或定制协议的功能模块。
工作站410和IDE 422可被配置成用于使得用户(例如,网络管理员)能够生成定制模块和/或协议(例如,定制SB API)。然后可使用代理252将定制模块和/或协议推送到网络接口,例如,第一NIC316。定制协议可在例如一个或多个定制模块372a,…,372n中实施。定制模块372a,…,372n然后可由代理252推送到第一NIC 316。在实施例中,定制模块372a,…,372n然后可替代和/或附加于SB API 368使用。在另一个实施例中,定制模块372a,…,372n可用于在SAL 364中实现代码改变(诸如错误修正)。
在实施例中,SAL 364可被配置成用于例如响应于来自IDE 422的请求生成物理网络367的模拟表示。该请求可包括物理网络104的配置改变。对控制参数(例如,网络设备设置)和/或与所请求的配置改变相关的定制模块372a,…,372n的修改可由代理252推送到第一NIC 316。SAL 364然后可被配置成用于使用物理网络367的模拟表示执行测试。SAL 364可被配置成用于将物理网络367的模拟表示暴露给主机205以及由此暴露给IDE 422。SAL364可被配置成用于替代和/或附加于SB API 368使用产生成功的模拟结果的一个或多个定制模块372a,…,372n。
因此,可使用SAL 364和物理网络367的模拟表示在第一NIC 316中模拟对数据面的元件的修改(例如,一个或多个网络设备108a,…,108n的路由行为)。物理网络367的模拟表示然后可对于主机205和/或IDE 422而言表现为物理网络的实际表示。换言之,物理网络的表示驻留在主机205中还是驻留在第一NIC 316中对于主机205而言可以是透明的。
在某些实施例中,取决于第一NIC 316的能力,物理网络的多个模拟表示可驻留在第一NIC 316上。在这些实施例中,处理器318可与能够进行虚拟化的处理器相对应。NIC存储器324然后可包括虚拟机监视器(“管理程序”)并且物理网络的每个模拟表示可被包括在与对应的虚拟机相关联的对应SAL中。物理网络的该多个模拟表示中的物理网络的每个模拟表示可由对应的IDE和相关联的网络管理员使用。
因此,IDE 422、代理252以及SAL 364被配置成用于根据本公开的各实施例提供混合SDN控制器的定制、模拟以及测试能力。物理网络367的模拟表示可由驻留在第一NIC 316中的SAL 364暴露给主机205。可生成并测试定制模块372a,…,372n,和/或可在将控制设置推送到实际物理网络104之前对其进行修改并测试。
在实施例中,OS 360可被配置成用于维护与第一NIC 316的操作相关的网络堆栈361。网络堆栈361可包括路由表和/或相关的网络信息。OS 360和/或SAL 364然后可被配置成用于至少部分地基于由NIC OS 360维护的网络堆栈361将网络数据暴露给例如主机205。网络数据对应于与物理网络366的表示相关的网络抽象信息。例如,网络数据可包括物理网络104的与节点106a,…,106n和/或网络设备108a,…,108n相关的网络拓扑的细节,例如,网络配置数据(例如,编号、类型、位置、设置等等)。
因此,OS 360可被配置成用于维护与物理网络366和物理网络104的表示相关的网络堆栈361。SAL 364可使用NIC网络堆栈361来建立物理网络364的表示。换言之,SAL 364可被配置成用于将网络数据转换成适合SDN控制器功能的形式。物理网络366的表示可包括例如数据库中的与节点106a,…,106和/或网络设备108a,…,108n及其配置(例如,控制设置)相关的一组对象和/或条目。SAL 364可被进一步配置成用于将数据库中的该组对象和/或条目转换成目标格式以及将经转换的网络数据传递给例如主机205和SDN模块236。例如,目标格式可包括由网络服务(即,被设计成支持网络上的互操作机器到机器交互的软件系统)使用的数据格式。数据格式可包括XML(扩展标记语言)、JSON(JavaScript对象标注)和/或SOAP(简单对象访问协议)。XML是定义用于以人类可读和机器可读的格式对文档进行编码的一组规则。XML可符合或兼容于2008年11月26日发布的标题为“可扩展标记语言(XML)1.0(第五版)”的万维网联盟(“W3C”)推荐和/或该推荐的稍后版本。JSON是基于于1999年12月发布的JavaScript编程语言(标准ECMA-262第三版)的子集的数据交换格式。SOAP是旨在用于在非集中式、分布式环境中交换结构信息的协议。SOAP使用XML技术来定义被配置成提供可通过多种底层协议交换的消息构造的可扩展消息传送框架。SOAP可符合或兼容于2007年4月27日发布的标题为“SOAP版本1.2部分1:消息传送框架(第二版)”的W3C推荐和/或该推荐的稍后版本。在另一个示例中,目标格式可与同SNMP(简单网络管理协议)相关联的MIBS(管理信息库)相对应。在另一个示例中,目标格式可与由例如网络管理员选择的并且由例如IDE 422定义的定制格式(例如,接口)相对应。经转换的网络数据总体上可包括每个网络设备108a,…,108n的能力并且可进一步包括与每个网络设备108a,…,108n相关联的配置设置。在某些实施例中,经转换的网络数据可包括与节点106a,…,106n相关的网络拓扑改变。
在实施例中,第一NIC 316可被配置成用于处理所接收的包括例如消息和/或数据的网络分组和/或帧。所接收的网络分组和/或帧可被转发到主机(例如,主机205)而不进行修改,可被修改然后转发到主机205,或者可不被转发到主机205。例如,MAC 322可被配置成用于从物理网络104接收包括任何分组(即,所有分组)的网络通信量。SAL 364然后可被配置成用于至少部分地基于所接收到的分组(即,网络通信量)的检查确定物理网络104的状态和/或物理网络拓扑是否已经改变。网络拓扑改变可包括一个或多个节点(例如,节点106a,…,106n)耦合到物理网络104或从其解耦合、节点位置改变、链路状态改变和/或新的服务被部署在节点内。网络状态可包括服务质量、错误率、状态信息和/或总体上与网络设备108a,…,108n有关的资源的任何改变。SAL 364可被配置成用于将与物理网络104状态和/或拓扑改变有关的信息转发到主机205并且到SDN模块236。因此,物理网络104状态和/或拓扑改变确定可由第一NIC 316执行。
在另一个实施例中,主机接口320(以及MAC 321)可被配置成用于将从主机205接收的任何分组转发到MAC 322以便传输到物理网络104。包括在来自主机205的分组中的任何有用信息然后可由例如SAL 364提取。有用信息包括任何SDN相关的信息,例如,到SB API368的消息。有用信息然后可被截获并且用于操纵例如物理网络366的表示。
因此,SAL 364可被配置成用于通过将MAC 322配置成用于接收所有网络通信量(即,“混杂模式”)和/或监控从主机205到例如SB API 368的分组(例如,消息)监控网络操作。SAL 364可被进一步配置成用于至少部分地基于所监控的分组选择性地将与网络状态和/或配置有关的信息转发到主机205和/或更新网络366的物理表示。因此,第一NIC 316的能力可被开发以便支持包括主机SDN模块236和NIC SDN模块362的混合SDN控制器的SDN功能。
在实施例中,主机205可包括完整网络堆栈231。网络堆栈231可包括路由表和/或相关的网络信息。在本实施例中,网络数据可由主机205维护。网络接口(例如第一NIC 316以及例如SAL 364)可被配置成用于将网络状态和/或配置改变传递到主机205(例如,OS230和/或SDN模块236)。传递到主机205的对物理网络104的修改然后可导致网络堆栈231的更新。在另一个实施例中,网络堆栈231可与相对有限的堆栈相对应。在本实施例中,OS 230可包括被配置成用于高效以及相对快速的分组处理的软件框架。例如,软件框架可符合或兼容被配置成用于优化英特尔架构处理器上的分组处理的数据面开发套件(DPDK)。当然,英特尔架构仅仅是示例实现方式,并且在其他实施例中,在此展现的教导可用于如可由例如摩托罗拉苹果等等提供的其他内核架构技术。在这两个实施例中,主机处理器210上的与分组处理有关的处理负荷可总体上受限,因为第一NIC 316(以及SAL 364)可被配置成用于仅传递对物理网络104的修改(即,改变)。还可通过将例如MAC 322配置成用于监控所有网络通信量(即,混杂模式)来促进错误调试,如在此所描述的。
因此,根据本公开的各实施例的混合SDN控制器的第一部分可在计算设备的主机(例如,主机205)上实现,并且混合SDN控制器的第二部分可在包括在计算设备内的网络接口控制器(例如,第一NIC 316)上实现。第一部分可包括主机SDN模块236(例如,NB API240、网络服务功能242、网络编制功能244以及网络管理功能246)。第二部分可包括SAL 364(包括物理网络366的表示)、SB API 368和/或一个或多个被配置成用于与包括在物理网络104中的网络设备108a,…108n通信(例如,控制)的定制模块372a,…,372n。使用例如MAC322和/或主机接口320(以及MAC 321)的第一NIC 316可被配置成用于监控有待传输的网络通信量和/或分组以及检测物理网络104状态和/或对物理网络104拓扑的修改。SAL 364然后可更新网络366的物理表示并且可将状态和/或修改传递到主机205。SAL 364和/或SBAPI 368可由或代表例如第一NIC 316OEM被高效地编码。主机处理器210上的处理负荷可因此被降低。
图5示出根据本公开的一个实施例的另一个示例网络接口控制器(例如,标准网络接口控制器516)。与第一NIC 316相比,标准网络接口控制器516可具有相对更少的功能。标准网络接口控制器516总体上可被配置成用于对混合SDN控制器(例如,混合SDN控制器120)执行至少某些网络接口功能。标准网络接口控制器516可包括被配置成用于相对有限功能的处理器电路518。处理器电路518可包括例如微控制器、微引擎、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或任何其他总体上能够执行典型的网络接口控制器和/或分组处理功能的控制器电路。例如,微引擎可包括可编程微控制器。标准网络接口控制器516可包括被配置成用于促进在标准网络接口控制器516和主机(例如,主机205)之间传输命令和/或数据的直接存储器访问(DMA)接口520以及被配置成用于将计算设备(例如,计算设备102)耦合到网络104的媒体访问控制器MAC 522和PHY 523。
标准网络接口控制器516可包括被配置成用于存储被配置成用于启动处理器518的启动模块530以及被配置成用于发起有限SAL 526的操作的SDN引擎532的有限存储524。SAL 526和主机(例如,主机205)之间的通信可由DMA主机接口520通过例如DMA(直接存储器访问)/PCIe事务执行。标准网络接口控制器516可被进一步配置成用于使用主机内的NIC驱动器也可使用的I/O存储器和/或队列,例如,图2的I/O存储器218、队列220以及NIC驱动器216。有限SAL 526可被配置成用于使用I/O存储器218和/或队列220来与主机205交换网络相关的数据。网络相关的数据可包括例如网络拓扑(配置)更新,诸如节点状态改变、添加节点、节点退出等等。网络相关的数据可进一步包括与其相对应的SB API(例如,SB API 534)和/或定制模块(例如,定制模块536)可以是活跃的标识符。因此,主机205和标准网络接口控制器516可共享存储器映射,以便交换数据。
有限SAL 526可被实现为例如电路内的表。有限SAL 526可被进一步配置成用于使用处理单元和/或管线,以便操纵存储在表内的数据并且创建PCIe事务。标准网络接口控制器516可被配置成用于存储有限SB API 534。因此,在本实施例中,有限SAL 526和有限SBAPI 534功能可被包括在标准网络接口控制器516中。限制涉及在标准网络接口控制器516上可用的能力。
因此,混合SDN控制器可配置有分布在主机和计算设备的网络接口控制器之间的SDN控制器功能。根据本公开的各实施例的混合SDN控制器的第一部分可在包括在计算设备内的主机中实现。混合SDN控制器的第一部分可包括北行API、网络服务功能、网络编制功能以及网络管理功能。混合SDN控制器的第二部分可在包括在计算设备内的网络接口控制器中实现。混合SDN控制器的第二部分可包括南行API和包括物理网络的表示的服务抽象层模块。
服务抽象层和南行API可被高效地编码。在网络接口上实现服务抽象层和南行API被配置成降低主机上的处理负荷。可继续用高级面向对象的语言编码网络逻辑(网络服务功能、网络编制功能以及网络管理功能)而不影响网络接口编程。将SDN控制功能分布在主机和网络接口之间被配置成用于对使用混合SDN控制器功能的应用透明。
图6示出根据本公开的实施例的混合软件定义网络(SDN)控制器的示例操作的流程图600。操作可由例如第一NIC 316、主机205和/或工作站410执行。具体而言,流程图600描绘了被配置成生成并暴露物理网络的表示以及物理网络的模拟表示的示例操作。
程序流程可在操作602处开始。操作602包括在网络接口控制器上实现服务抽象层模块(SAL)。物理网络的表示可由SAL在操作604处生成。操作606可包括将网络的表示暴露给主机。操作608可包括由例如工作站请求物理网络的配置改变。可在操作610至少部分地基于所请求的改变生成网络的模拟表示。操作612可包括将网络的模拟表示暴露给主机。例如,模拟表示可由SAL暴露。
图7示出根据本公开的实施例的混合SDN控制器的示例操作的流程图700。操作可由例如工作站410、主机205和/或网络接口控制器316执行。具体而言,流程图700描绘了被配置成生成定制模块以及用定制模块访问网络的示例操作。
程序流程可在操作702开始。操作702包括生成定制模块。例如,定制模块可由耦合到计算设备(例如,计算设备102)上的工作站生成。在操作704,定制模块可被提供给网络接口控制器。例如,主机内的代理252可被配置成向NIC提供定制模块。操作706可包括使用定制模块访问物理网络。
图8示出根据本公开的实施例的混合SDN控制器的示例操作的流程图800。操作可由例如网络接口控制器和/或主机执行。具体而言,流程图800描绘了被配置成用于至少部分地基于网络通信量的分析确定物理网络拓扑是否已经改变的示例操作。操作802包括监控物理网络上的网络通信量。例如,网络接口控制器可被配置成用于监控网络通信量。操作804可包括至少部分地基于网络通信量确定物理网络拓扑是否已经改变。操作806包括将物理网络拓扑改变以主机所选择的格式传递给主机。例如,包括在网络接口控制器中的服务抽象层模块(例如,SAL 364)可被配置成用于将物理网络拓扑改变从包括在SAL 364中的网络366的物理表示的格式转换为由例如网络服务使用的数据格式。
尽管图6、图7和图8示出了根据实施例的各操作,将要理解的是在图6、图7和/或图8中描绘的所有操作对于其他实施例而言不是全部必需的。实际上,在此充分考虑了在本公开的其他实施例中,在图6、图7和/或图8中描绘的操作和/或在此描述的其他操作可以用未在任何附图中明确示出的方式结合,但是仍充分地与本公开保持一致。因此,涉及未在一个附图中准确示出的特征和/或操作的权利要求被认为在本公开的范围和内容内。
前述内容提供了示例系统架构和方法,然而,可对本公开进行修改。主机处理器可包括一个或多个处理器内核并且可被配置成执行系统软件。系统软件可包括例如操作系统。主机存储器可包括被配置成存储有待由网络接口传输或接收的一个或多个分组的I/O存储器缓冲器。
操作系统(OS)可被配置成用于管理在例如主机205、第一NIC 316和/或工作站410上运行的系统资源和控制任务。例如,可使用Microsoft Windows、HP-UX、Linux或UNFX实现OS,但是可使用其他操作系统。在某些实施例中,OS可由可为在一个或多个处理单元上运行的各种操作系统(虚拟机)提供底层硬件抽象层的虚拟机监视器(或管理程序)替代。操作系统和/或虚拟机可实现一个或多个协议堆栈。协议堆栈可执行一个或多个程序用于处理分组。协议堆栈的示例是包括用于处理(例如,处理或生成)在网络上传输和/或接收的分组的一个或多个程序的TCP/IP(传输控制协议/互联网协议)协议堆栈。
主机和/或网络接口控制器存储器可包括以下存储器类型中的一种或多种:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、闪存、磁盘存储器、和/或光盘存储器。或者附加地或者可替代地,系统存储器可包括其他和/或稍后开发的计算机可读存储器类型。
可在包括一个或多个存储介质的系统中实现在此所描述的操作的实施例,该一个或多个存储介质在其上单独地或结合地存储当被一个或多个处理器执行时执行该方法的指令。处理器可包括例如主机205内的处理单元和/或可编程电路和/或第一NIC 316和/或工作站410内的其他处理单元或可编程电路。因此,旨在根据在此所描述的方法的操作可跨多个物理设备分布,诸如在若干不同物理位置的处理结构。存储设备可包括任何类型的有形、非瞬态存储设备,例如任何类型的盘,包括软盘、光盘、致密盘只读存储(CD-ROM)、致密盘可重写(CD-RW)、以及磁光盘,半导体器件,诸如只读存储器(ROM)、随机存取存储器(RAM),诸如动态和静态RAM、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、磁或光卡、或任何其他类型的适合用于存储电子指令的介质。
如在本文中的任何实施例中所使用的“电路”可单独地或在任何组合中包括例如存储由可编程电路执行的指令的硬连线电路、可编程电路、状态机电路、和/或固件。如在此所使用的“模块”可单独地或以任何组合包括电路和/或代码和/或指令集(例如,软件、固件等等)。
在某些实施例中,硬件描述语言可用于指定在此描述的各模块和/或电路的电路和/或逻辑实现方式。例如,在一个实施例中,硬件描述语言可符合或兼容可使能在此描述的一个或多个电路和/或模块的超高速集成电路(VHSIC)硬件描述语言(VHDL)。VHDL可符合或兼容IEEE标准1076-1987、IEEE标准1076.2、IEEE1076.1、VHDL-2006的IEEE草稿3.0、VHDL-2008的IEEE草稿4.0和/或IEEE VHDL标准和/或其他硬件描述标准的其他版本。
物理网络104可包括分组交换网络。网络接口控制器316、516可以能够使用所选择的分组交换网络通信协议与节点106a,…,106n和/或网络设备108a,…,108n通信。一种示例通信协议可包括能够使用传输控制协议/互联网协议(TCP/IP)允许通信的以太网通信协议。以太网协议可符合或兼容电气和电子工程师学会(IEEE)在2008年3月发布的标题为“IEEE 802.3标准”的以太网标准和/或该标准的稍后版本。可替代地或附加地,网络接口控制器316、516能够使用X.25通信协议与节点106a,…,106n和/或网络设备108a,…,108n通信。X.25通信协议可符合或兼容由国际电信联盟电信标准化部(ITU-T)制定的标准。可替代地或附加地,网络接口控制器316、516可以能够使用帧中继通信协议与节点106a,…,106n和/或网络设备108a,…,108n通信。帧中继通信协议可符合或兼容由国际电报电话咨询委员会和/或美国国家标准学会制定的标准。可替代地或附加地,网络接口控制器316、516可以能够使用异步传输模式(ATM)通信协议与节点106a,…,106n和/或网络设备108a,…,108n通信。ATM通信协议可符合或兼容于2001年8月由ATM论坛发布的标题为“ATM-MPLS网络互连1.0”的ATM标准和/或该标准的稍后版本。当然,在此等同地考虑不同的和/或稍后开发的面向连接的网络通信协议。
因此,根据本公开的各实施例的混合SDN控制器被配置成用于在计算设备(例如,服务器)的主机和网络接口之间分布SDN控制器功能。根据本公开的各实施例的混合SDN控制器的第一部分被配置成在主机上实现。第一部分可包括北行应用编程接口(API)以及包括网络服务功能、网络编制功能以及网络管理功能的网络逻辑。混合SDN控制器的第二部分被配置成在网络接口控制器上实现。第二部分可包括南行API和包括物理网络的表示的服务抽象层(例如,SAL模块)。
因此,根据本公开的各实施例的网络接口被配置成包括网络接口功能的功能单元以及包括服务抽象层和南行API的混合SDN控制器的部分。服务抽象层和南行API可被高效地编码。在某些实施例中,与南行API相关的定制模块可由企业实现。在NIC上实现服务抽象层和南行API被进一步配置成用于降低主机上的处理负荷。可继续用高级面向对象的语言对网络逻辑进行编码而不影响NIC编程。在主机和NIC之间分布SDN控制功能被配置成对在物理网络内的节点上执行的应用透明。
相应地,本公开提供了一种示例网络接口控制器。该示例网络接口控制器包括混合软件定义网络(“SDN”)控制器的一部分,该混合SDN控制器的该部分包括服务抽象层模块(“SAL”)和南行应用编程接口(“SBAPI”),该SAL包括物理网络的表示。
本公开还提供了一种示例方法。该示例方法包括:在网络接口控制器上实现服务抽象层模块(“SAL”);由该SAL生成物理网络的表示;以及由该SAL将该物理网络的该表示暴露给主机。
本公开还提供了一种示例计算设备。该示例计算设备包括主机和网络接口控制器。该主机包括混合软件定义网络(“SDN”)控制器的第一部分,该混合SDN控制器的该第一部分包括多个SDN模块以及北行应用编程接口(“API”)。该网络接口控制器包括该混合SDN控制器的第二部分,该混合SDN控制器的该第二部分包括服务抽象层模块(“SAL”)和南行应用编程接口(“SB API”),该SAL包括物理网络的表示。
本公开还提供了一种示例系统,该示例系统包括单独地或结合地存储有指令的一个或多个存储设备,当被一个或多个处理器执行时,该指令导致以下操作,该操作包括:在网络接口控制器中实现服务抽象层模块(“SAL”);生成物理网络的表示;以及将该物理网络的该表示暴露给主机。
已经在此使用的术语和表达被用作描述而非限制术语,并且不旨在使用这种术语和表达时排除所展示和描述的特征的任何等效方案(或其部分),并且认识到在权利要求书的范围内各种修改是可能的。因此,权利要求书旨在覆盖所有这种等效方案。
已经在此描述了各种特征、方面、和实施例。这些特征、方面、和实施例易于与彼此以及变体和修改组合,如本领域普通技术人员将理解的那样。因此,本发明应当被认为包含这种组合、变体、以及修改。
Claims (20)
1.一种网络接口控制器,包括:
混合软件定义网络(“SDN”)控制器的一部分,混合SDN控制器的所述部分包括服务抽象层模块(“SAL”)和南行应用编程接口(“SB API”),所述SAL包括物理网络的表示,
其中所述服务抽象层模块(“SAL”)和所述南行应用编程接口(“SB API”)被配置用于降低主机上的处理负荷。
2.如权利要求1所述的网络接口控制器,其特征在于,所述SAL进一步包括所述物理网络的模拟表示,所述模拟表示被配置成用于促进测试。
3.如权利要求1所述的网络接口控制器,其特征在于,所述混合SDN控制器的所述部分进一步包括定制模块,所述定制模块与定制应用编程接口(“API”)相对应。
4.如权利要求1所述的网络接口控制器,其特征在于,所述SB API与有线协议0x02中所列出的OpenFlowTM相对应。
5.如权利要求1所述的网络接口控制器,进一步包括网络堆栈,所述物理网络的所述表示至少部分地基于所述网络堆栈。
6.一种计算机实现的方法,包括:
在网络接口控制器中实现服务抽象层模块(“SAL”);
由SAL生成物理网络的表示;以及
由SAL将所述物理网络的所述表示暴露给主机,
其中所述网络接口控制器被配置用于降低所述主机上的处理负荷。
7.如权利要求6所述的计算机实现的方法,进一步包括:
由工作站生成定制模块;
由代理向所述网络接口控制器提供所述定制模块;以及
由SAL使用所述定制模块访问所述物理网络。
8.如权利要求6所述的计算机实现的方法,其特征在于,至少部分地基于驻留在所述网络接口控制器上的网络堆栈生成所述物理网络的所述表示。
9.如权利要求6所述的计算机实现的方法,进一步包括:
由网络接口控制器监控所述物理网络上的网络通信量;以及
由所述SAL至少部分地基于所述网络通信量确定物理网络拓扑是否已经改变。
10.如权利要求9所述的计算机实现的方法,进一步包括:
由所述SAL将物理网络拓扑改变以所述主机所选择的格式传递给所述主机。
11.一种计算设备,包括:
主机,包括混合软件定义网络(“SDN”)控制器的第一部分,所述混合SDN控制器的所述第一部分包括多个SDN模块;以及
网络接口控制器,包括所述混合SDN控制器的第二部分,所述混合SDN控制器的所述第二部分包括服务抽象层模块(“SAL”)和南行应用编程接口(“SB API”),所述SAL包括物理网络的表示。
12.如权利要求11所述的计算设备,其特征在于,所述主机进一步包括代理,所述代理被配置成向所述网络接口控制器提供与定制应用编程接口相对应的定制模块。
13.如权利要求11所述的计算设备,其特征在于,所述网络接口控制器包括网络堆栈,所述物理网络的所述表示至少部分地基于所述网络堆栈并且所述SAL被配置成将所述物理网络的所述表示以所述主机所选择的格式暴露给所述主机。
14.如权利要求11所述的计算设备,其特征在于,所述网络接口控制器进一步包括主机接口,所述主机接口被配置成将所述主机耦合到所述网络接口控制器并且所述SAL被配置成从所述主机接口提取SDL相关的信息。
15.如权利要求11所述的计算设备,其特征在于,所述SAL进一步包括所述物理网络的模拟表示,所述模拟表示被暴露给所述主机并且被配置成用于促进测试。
16.一种包括存储有指令的一个或多个存储介质的系统,所述指令当被一个或多个处理器执行时导致以下操作,所述操作包括:
在网络接口控制器中实现服务抽象层模块(“SAL”);
生成物理网络的表示;以及
将所述物理网络的所述表示暴露给主机,
其中所述系统被配置用于降低主机上的处理负荷。
17.如权利要求16所述的系统,其特征在于,所述指令当由一个或多个处理器执行时,导致以下附加操作,所述操作包括:
生成定制模块;
向所述网络接口控制器提供所述定制模块;以及
使用所述定制模块访问所述物理网络。
18.如权利要求16所述的系统,其特征在于,所述物理网络的所述表示至少部分地基于驻留在所述网络接口控制器上的网络堆栈生成。
19.如权利要求16所述的系统,其特征在于,所述指令当由一个或多个处理器执行时,导致以下附加操作,所述操作包括:
监控所述物理网络上的网络通信量;以及
至少部分地基于所述网络通信量确定物理网络拓扑是否已经改变。
20.如权利要求19所述的系统,其特征在于,所述指令当由一个或多个处理器执行时,导致以下附加操作,所述操作包括:
将物理网络拓扑改变以所述主机所选择的格式传递给所述主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/142,275 US9742632B2 (en) | 2013-12-27 | 2013-12-27 | Hybrid SDN controller |
US14/142,275 | 2013-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104753715A CN104753715A (zh) | 2015-07-01 |
CN104753715B true CN104753715B (zh) | 2018-08-07 |
Family
ID=53372165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410777926.1A Active CN104753715B (zh) | 2013-12-27 | 2014-12-15 | 混合sdn控制器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9742632B2 (zh) |
CN (1) | CN104753715B (zh) |
DE (1) | DE102014117461A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8837491B2 (en) | 2008-05-27 | 2014-09-16 | Glue Networks | Regional virtual VPN |
US9760528B1 (en) | 2013-03-14 | 2017-09-12 | Glue Networks, Inc. | Methods and systems for creating a network |
US9928082B1 (en) | 2013-03-19 | 2018-03-27 | Gluware, Inc. | Methods and systems for remote device configuration |
US9742632B2 (en) * | 2013-12-27 | 2017-08-22 | Intel Corporation | Hybrid SDN controller |
US9755901B2 (en) * | 2014-01-21 | 2017-09-05 | Huawei Technologies Co., Ltd. | System and method for a software defined protocol network node |
DE102015107073A1 (de) * | 2014-09-08 | 2016-03-10 | Rheinmetall Defence Electronics Gmbh | Vorrichtung und Verfahren zur Steuerung eines Kommunikationsnetzwerks |
US10924425B2 (en) * | 2014-09-29 | 2021-02-16 | Cox Communications, Inc. | Virtual element management system |
US9785412B1 (en) * | 2015-02-27 | 2017-10-10 | Glue Networks, Inc. | Methods and systems for object-oriented modeling of networks |
US10257123B2 (en) * | 2015-05-05 | 2019-04-09 | Dell Products Lp | Software-defined-networking (SDN) enabling operating-system containers for real-time application traffic flow improvement |
US10129097B2 (en) | 2015-06-02 | 2018-11-13 | ALTR Solutions, Inc. | GUI and high-level API wrapper for software defined networking and software defined access for controlling network routing and rules |
US10084657B2 (en) * | 2015-06-29 | 2018-09-25 | Ca, Inc. | Normalized software-defined networking interface |
US10169203B2 (en) | 2015-10-14 | 2019-01-01 | At&T Intellectual Property I, L.P. | Test simulation for software defined networking environments |
US9838284B2 (en) * | 2015-10-14 | 2017-12-05 | At&T Intellectual Property I, L.P. | Dedicated software-defined networking network for performance monitoring of production software-defined networking network |
US9438478B1 (en) | 2015-11-13 | 2016-09-06 | International Business Machines Corporation | Using an SDN controller to automatically test cloud performance |
US10148756B2 (en) | 2015-12-09 | 2018-12-04 | At&T Intellectual Property I, L.P. | Latency virtualization in a transport network using a storage area network |
CN105471658B (zh) * | 2015-12-11 | 2019-05-14 | 北京电子科技职业学院 | 一种sdn网络及其组网方法 |
EP3229405B1 (en) | 2015-12-31 | 2020-07-15 | Huawei Technologies Co., Ltd. | Software defined data center and scheduling and traffic-monitoring method for service cluster therein |
EP3261290B1 (en) * | 2015-12-31 | 2020-11-25 | Huawei Technologies Co., Ltd. | Software defined data center and method for deploying service cluster therein |
CN105577567B (zh) * | 2016-01-29 | 2018-11-02 | 国家电网公司 | 基于Intel DPDK的网络数据包并行处理方法 |
CN107294752A (zh) * | 2016-04-01 | 2017-10-24 | 中兴通讯股份有限公司 | 实现网络功能通信的架构、方法及装置 |
CN106992877B (zh) * | 2017-03-08 | 2019-07-09 | 中国人民解放军国防科学技术大学 | 基于sdn架构的网络故障检测与修复方法 |
US10313193B1 (en) | 2017-06-29 | 2019-06-04 | Sprint Communications Company L.P. | Software defined network (SDN) proxy correlation index (PCI) information distribution across an SDN data-plane |
CN107483259B (zh) * | 2017-08-25 | 2018-10-23 | 广州西麦科技股份有限公司 | 基于md-sal的sdn控制器中间件控制方法及系统 |
CN109921940B (zh) * | 2019-03-18 | 2021-12-17 | 赛特斯信息科技股份有限公司 | 基于sdwan场景实现网络业务离线编排处理的系统及方法 |
US11303555B2 (en) * | 2019-04-26 | 2022-04-12 | Juniper Networks, Inc. | Inter-data center software-defined network controller network |
US11469942B2 (en) * | 2019-08-15 | 2022-10-11 | At&T Intellectual Property I, L.P. | System and method for SDN orchestration validation |
JP7304250B2 (ja) * | 2019-09-19 | 2023-07-06 | 株式会社Pfu | 情報処理装置、情報処理方法、及びプログラム |
CN113098895A (zh) * | 2021-04-26 | 2021-07-09 | 成都中恒星电科技有限公司 | 一种基于dpdk的网络流量隔离系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7213096B2 (en) * | 2004-03-31 | 2007-05-01 | Intel Corporation | Operating a remote USB host controller |
US8627315B2 (en) * | 2004-12-31 | 2014-01-07 | Intel Corporation | Apparatus and method for cooperative guest firmware |
US7725603B1 (en) * | 2008-04-30 | 2010-05-25 | Network Appliance, Inc. | Automatic network cluster path management |
US8260588B2 (en) * | 2009-10-16 | 2012-09-04 | Oracle America, Inc. | Virtualizing complex network topologies |
US8392625B2 (en) * | 2010-06-25 | 2013-03-05 | Intel Corporation | Methods and systems to implement a physical device to differentiate amongst multiple virtual machines of a host computer system |
US9231846B2 (en) * | 2011-11-22 | 2016-01-05 | Microsoft Technology Licensing, Llc | Providing network capability over a converged interconnect fabric |
US9106515B2 (en) * | 2012-10-22 | 2015-08-11 | Futurewei Technologies, Inc. | System and apparatus of a software-service-defined-network (SSDN) |
US9288120B2 (en) * | 2013-07-19 | 2016-03-15 | Dell Products L.P. | Data center bridging network configuration and management |
US9742632B2 (en) | 2013-12-27 | 2017-08-22 | Intel Corporation | Hybrid SDN controller |
-
2013
- 2013-12-27 US US14/142,275 patent/US9742632B2/en active Active
-
2014
- 2014-11-27 DE DE102014117461.5A patent/DE102014117461A1/de active Pending
- 2014-12-15 CN CN201410777926.1A patent/CN104753715B/zh active Active
-
2017
- 2017-08-22 US US15/683,598 patent/US10193760B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10193760B2 (en) | 2019-01-29 |
US9742632B2 (en) | 2017-08-22 |
DE102014117461A1 (de) | 2015-07-02 |
US20170353359A1 (en) | 2017-12-07 |
US20150188772A1 (en) | 2015-07-02 |
CN104753715A (zh) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104753715B (zh) | 混合sdn控制器 | |
CN102334112B (zh) | 用于虚拟机网络的方法和系统 | |
CN100369423C (zh) | 网络仿真测试系统及方法 | |
CN111970212A (zh) | 一种基于tsn网络和opc ua架构的确定性通信系统 | |
WO2018006381A1 (zh) | 一种网络资源的管理方法、装置及系统 | |
CN103891209A (zh) | 用于转换通用流的机箱控制器 | |
EP3031174A1 (en) | Hybrid network management | |
CN104170334A (zh) | 利用事务来计算和传播网络转发状态 | |
CN107750357A (zh) | 具有硬件加速平面和软件平面的数据处理系统 | |
US6654946B1 (en) | Interscalable interconnect | |
CN108494607B (zh) | 基于容器的大二层网络架构的设计方法及系统 | |
CN109863726A (zh) | 分布式客户驻地装置 | |
Petroulakis et al. | Semiotics architectural framework: End-to-end security, connectivity and interoperability for industrial iot | |
RU2602333C2 (ru) | Сетевая система, способ обработки пакетов и носитель записи | |
CN110389711A (zh) | 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品 | |
US20110035477A1 (en) | Network clustering technology | |
Kölsch et al. | Hardware-in-the-loop simulation for Internet of Things scenarios | |
Rostami et al. | ORAN: OpenFlow routers for academic networks | |
US7398501B2 (en) | System and method for optimizing an integrated circuit design | |
Li et al. | SDN components and OpenFlow | |
k Jha et al. | OpenFlow technology: A journey of simulation tools | |
Rygielski | Flexible modeling of data center networks for capacity management | |
Grbac et al. | Software Defined Networking demands on software technologies | |
CN105827468B (zh) | 网络性能实时监控方法 | |
CN112865999B (zh) | 信息处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |