混合sdn控制器的制造方法_4

文档序号:8433603阅读:来源:国知局
接口控制器516可具有相对更少的功 能。标准网络接口控制器516总体上可被配置成用于对混合SDN控制器(例如,混合SDN 控制器120)执行至少某些网络接口功能。标准网络接口控制器516可包括被配置成用于 相对有限功能的处理器电路518。处理器电路518可包括例如微控制器、微引擎、专用集成 电路(ASIC)、现场可编程口阵列(FPGA)和/或任何其他总体上能够执行典型的网络接口 控制器和/或分组处理功能的控制器电路。例如,微引擎可包括可编程微控制器。标准网 络接口控制器516可包括被配置成用于促进在标准网络接口控制器516和主机(例如,主 机205)之间传输命令和/或数据的直接存储器访问值MA)接口 520W及被配置成用于将 计算设备(例如,计算设备102)禪合到网络104的媒体访问控制器MAC522和PHY523。 [0化5]标准网络接口控制器516可包括被配置成用于存储被配置成用于启动处理器518 的启动模块530W及被配置成用于发起有限SAL526的操作的SDN引擎532的有限存储 524。SAL526和主机(例如,主机205)之间的通信可由DMA主机接口 520通过例如DMA(直 接存储器访问)/PCIe事务执行。标准网络接口控制器516可被进一步配置成用于使用主 机内的NIC驱动器也可使用的I/O存储器和/或队列,例如,图2的I/O存储器218、队列 220W及NIC驱动器216。有限SAL526可被配置成用于使用I/O存储器218和/或队列 220来与主机205交换网络相关的数据。网络相关的数据可包括例如网络拓扑(配置)更 新,诸如节点状态改变、添加节点、节点退出等等。网络相关的数据可进一步包括与其相对 应的SBAPI(例如,SBAPI534)和/或定制模块(例如,定制模块536)可W是活跃的标 识符。因此,主机205和标准网络接口控制器516可共享存储器映射,W便交换数据。
[0化6] 有限SAL526可被实现为例如电路内的表。有限SAL526可被进一步配置成用于 使用处理单元和/或管线,W便操纵存储在表内的数据并且创建PCIe事务。标准网络接口 控制器516可被配置成用于存储有限SBAPI534。因此,在本实施例中,有限SAL526和有 限SBAPI534功能可被包括在标准网络接口控制器516中。限制设及在标准网络接口控 制器516上可用的能力。
[0057] 因此,混合SDN控制器可配置有分布在主机和计算设备的网络接口控制器之间的 SDN控制器功能。根据本公开的各实施例的混合SDN控制器的第一部分可在包括在计算设 备内的主机中实现。混合SDN控制器的第一部分可包括北行API、网络服务功能、网络编制 功能W及网络管理功能。混合SDN控制器的第二部分可在包括在计算设备内的网络接口控 制器中实现。混合SDN控制器的第二部分可包括南行API和包括物理网络的表示的服务抽 象层模块。
[0化引服务抽象层和南行API可被高效地编码。在网络接口上实现服务抽象层和南行API被配置成降低主机上的处理负荷。可继续用高级面向对象的语言编码网络逻辑(网络 服务功能、网络编制功能化及网络管理功能)而不影响网络接口编程。将SDN控制功能分 布在主机和网络接口之间被配置成用于对使用混合SDN控制器功能的应用透明。
[0059] 图6示出根据本公开的实施例的混合软件定义网络(SDN)控制器的示例操作的流 程图600。操作可由例如第一NIC316、主机205和/或工作站410执行。具体而言,流程 图600描绘了被配置成生成并暴露物理网络的表示W及物理网络的模拟表示的示例操作。
[0060] 程序流程可在操作602处开始。操作602包括在网络接口控制器上实现服务抽象 层模块(SAL)。物理网络的表示可由SAL在操作604处生成。操作606可包括将网络的表 示暴露给主机。操作608可包括由例如工作站请求物理网络的配置改变。可在操作610至 少部分地基于所请求的改变生成网络的模拟表示。操作612可包括将网络的模拟表示暴露 给主机。例如,模拟表示可由SAL暴露。
[0061] 图7示出根据本公开的实施例的混合SDN控制器的示例操作的流程图700。操作 可由例如工作站410、主机205和/或网络接口控制器316执行。具体而言,流程图700描 绘了被配置成生成定制模块W及用定制模块访问网络的示例操作。
[0062] 程序流程可在操作702开始。操作702包括生成定制模块。例如,定制模块可由 禪合到计算设备(例如,计算设备102)上的工作站生成。在操作704,定制模块可被提供给 网络接口控制器。例如,主机内的代理252可被配置成向NIC提供定制模块。操作706可 包括使用定制模块访问物理网络。
[0063] 图8示出根据本公开的实施例的混合SDN控制器的示例操作的流程图800。操作 可由例如网络接口控制器和/或主机执行。具体而言,流程图800描绘了被配置成用于至少 部分地基于网络通信量的分析确定物理网络拓扑是否已经改变的示例操作。操作802包括 监控物理网络上的网络通信量。例如,网络接口控制器可被配置成用于监控网络通信量。操 作804可包括至少部分地基于网络通信量确定物理网络拓扑是否已经改变。操作806包括 将物理网络拓扑改变W主机所选择的格式传递给主机。例如,包括在网络接口控制器中的 服务抽象层模块(例如,SAL364)可被配置成用于将物理网络拓扑改变从包括在SAL364 中的网络366的物理表示的格式转换为由例如网络服务使用的数据格式。
[0064] 尽管图6、图7和图8示出了根据实施例的各操作,将要理解的是在图6、图7和/ 或图8中描绘的所有操作对于其他实施例而言不是全部必需的。实际上,在此充分考虑了 在本公开的其他实施例中,在图6、图7和/或图8中描绘的操作和/或在此描述的其他操 作可W用未在任何附图中明确示出的方式结合,但是仍充分地与本公开保持一致。因此,设 及未在一个附图中准确示出的特征和/或操作的权利要求被认为在本公开的范围和内容 内。
[00化]前述内容提供了示例系统架构和方法,然而,可对本公开进行修改。主机处理器可 包括一个或多个处理器内核并且可被配置成执行系统软件。系统软件可包括例如操作系 统。主机存储器可包括被配置成存储有待由网络接口传输或接收的一个或多个分组的I/O 存储器缓冲器。
[0066] 操作系统(0巧可被配置成用于管理在例如主机205、第一NIC316和/或工作站 410上运行的系统资源和控制任务。例如,可使用MicrosoftWindows、HP-UX、Linux或UNFX 实现0S,但是可使用其他操作系统。在某些实施例中,OS可由可为在一个或多个处理单元 上运行的各种操作系统(虚拟机)提供底层硬件抽象层的虚拟机监视器(或管理程序)替 代。操作系统和/或虚拟机可实现一个或多个协议堆找。协议堆找可执行一个或多个程序 用于处理分组。协议堆找的示例是包括用于处理(例如,处理或生成)在网络上传输和/ 或接收的分组的一个或多个程序的TCP/IP(传输控制协议/互联网协议)协议堆找。
[0067] 主机和/或网络接口控制器存储器可包括W下存储器类型中的一种或多种;半导 体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存 储器、闪存、磁盘存储器、和/或光盘存储器。或者附加地或者可替代地,系统存储器可包括 其他和/或稍后开发的计算机可读存储器类型。
[0068] 可在包括一个或多个存储介质的系统中实现在此所描述的操作的实施例,该一个 或多个存储介质在其上单独地或结合地存储当被一个或多个处理器执行时执行该方法的 指令。处理器可包括例如主机205内的处理单元和/或可编程电路和/或第一NIC316和 /或工作站410内的其他处理单元或可编程电路。因此,旨在根据在此所描述的方法的操作 可跨多个物理设备分布,诸如在若干不同物理位置的处理结构。存储设备可包括任何类型 的有形、非瞬态存储设备,例如任何类型的盘,包括软盘、光盘、致密盘只读存储(CD-ROM)、 致密盘可重写(CD-RW)、W及磁光盘,半导体器件,诸如只读存储器(ROM)、随机存取存储 器(RAM),诸如动态和静态RAM、可擦可编程只读存储器巧PROM)、电可擦可编程只读存储器 巧EPROM)、闪存、磁或光卡、或任何其他类型的适合用于存储电子指令的介质。
[0069] 如在本文中的任何实施例中所使用的"电路"可单独地或在任何组合中包括例如 存储由可编程电路执行的指令的硬连线电路、可编程电路、状态机电路、和/或固件。如在 此所使用的"模块"可单独地或W任何组合包括电路和/或代码和/或指令集(例如,软件、 固件等等)。
[0070] 在某些实施例中,硬件描述语言可用于指定在此描述的各模块和/或电路的电路 和/或逻辑实现方式。例如,在一个实施例中,硬件描述语言可符合或兼容可使能在此描述 的一个或多个电路和/或模块的超高速集成电路(VHSIC)硬件描述语言(VHDL)。VHDL可 符合或兼容IE邸标准1076-1987、IE邸标准1076. 2、I邸E1076.l、VHDk2006的IE邸草稿 3. 0、VHDk2008的IE邸草稿4. 0和/或IE邸VHDL标准和/或其他硬件描述标准的其他 版本。
[0071] 物理网络104可包括分组交换网络。网络接口控制器316、516可w能够使用所选 择的分组交换网络通信协议与节点106a,…,106n和/或网络设备108a,…,108n通信。一 种示例通信协议可包括能够使用传输控制协议/互联网协
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1