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

文档序号:8433603阅读:来源:国知局
,例如,网络接口 116。在实施例中,网桥巧片组212可 禪合到处理器210。在本实施例中,网桥巧片组212还可禪合到系统存储器214。在另一个 实施例中,网桥巧片组212可被包括在处理器210中。在本实施例中,处理器210 (W及网 桥巧片组212)还可禪合到网络接口 116。
[0030] 主机存储器214被配置成存储操作系统OS230、策略235W及SDN模块236。SDN 模块236与根据本公开的实施例的混合SDN控制器的第一部分122相对应。在某些实施例 中,主机存储器214可被配置成用于存储应用234。SDN模块236可包括北行API240、网 络服务功能242、网络编制功能244化及网络管理功能246。在某些实施例中,SDN模块236 可包括被配置成提供定制和/或更新能力的代理252,如在此所描述的。主机存储器214可 被进一步配置成存储虚拟机监控器(VMM) 232并且然后可包括多个虚拟机(未示出)。主机 存储器214可被配置成用于存储网络堆找231。网络堆找231可由OS230管理。OS230 可被配置成使用被配置成用于高效W及相对快速的分组处理的软件框架。例如,软件框架 可符合或兼容被配置成优化英特尔⑥架构处理器上的分组处理的数据面开发套件值PDK)。 当然,英特尔⑩架构仅仅是示例实现方式,并且在其他实施例中,在此展现的教导可用于如 可由例如摩托罗拉⑩、苹果⑥等等提供的其他核架构技术。
[0031] 主机存储器214可进一步包括NIC驱动器216和/或I/O存储器218。I/O存储 器218可包括一个或多个队列220。NIC驱动器216、I/O存储器218和/或队列220可用 于在主机205和网络接口之间传输并存储分组和/或数据。
[003引北行(NB)API240被配置成在应用(例如,应用107a,…,10化和/或应用234) 和网络服务功能242、网络编制功能244和/或网络管理功能246之间提供应用编程接口。 网络服务功能242可包括例如在物理网络104中设置网络设备108a…108n中的具体路线 和路径。网络编制功能244可包括例如基于整个网络104的视图做出决定。网络编制功能 244可被配置成使用网络服务功能W便强制执行策略235。网络管理功能246可包括例如 打开或关闭包括在物理网络104中的网络设备108a…108n的端口和/或部分(例如,电路 板、处理器、ASIC等等)。
[003引主机SDN模块236被配置成基于策略235、网络通信量和/或网络拓扑改变执行 与物理网络104和网络设备108a…108n的管理、配置和重配置相关的网络逻辑操作。策略 可与例如对具体应用有具体要求的高可用性(诸如路径和路线失效)和路径有关。例如, 物理网络104中的具体路径可被配置成是低延时的,从而使得如果应用(例如,图1的应用 107a)是流式视频或语音,则应用107a将被指派该低延时路径。应用107a,…,10化和234 可被配置成使用北行API240W便访问SDN功能,例如,网络服务功能242、网络编制功能 244和/或网络管理功能246。可基于策略235过滤该些SDN功能。因此,应用107a,…,10化 和234被配置成像将所有SDN控制器元件包含在主机存储器中的常规配置的SDN控制器中 那样使用NBAPI240。
[0034] 图3示出根据本公开的一个实施例的示例网络接口控制器316。第一网络接口控 制器316可被配置成用于将计算设备(例如,计算设备102 (W及主机,例如,主机105)) 禪合到物理网络(例如,物理网络104)并且由此禪合到节点106a,…,106n和网络设备 108a,…,108n。第一网络接口控制器316包括处理器318、主机接口 320、媒体访问控制 (MAC)电路322、物理层电路(PHY)323W及NIC存储器324。处理器318被配置成用于执行 与第一网络接口控制器316相关联的操作。在某些实施例中,处理器318可与通用处理器 相对应并且可包括多个处理单元。主机接口 320被配置成用于将第一网络接口控制器316 禪合到例如图2的网桥巧片组212。主机接口 320可包括被配置成使用例如PCIe(快速外 围组件互连)通信协议通过网桥巧片组212将第一网络接口控制器316禪合到例如主机接 口 205的媒体访问控制器("MC")321。PCIe通信协议可对应于或兼容于2010年11月发 布的标题为叩CI快速基础3. 1规范"的由PCI-SIG(PCI特别兴趣小组)发布的PCIe3. 0 版本和/或该规范的稍后版本。
[0035]MAC322和PHY323被配置成用于将计算设备102禪合到例如物理网络104。MAC 322被配置成用于对传输和接收功能执行媒体访问管理。PHY电路323包括被配置成用于 将数据和/或消息分组和/或帖传输到包括节点106a,…,106n和网络设备108a,…,108n 的物理网络104的传输电路。PHY电路323包括被配置成用于从物理网络104接收数据和 /或消息分组和/或帖的接收电路。当然,PHY电路323还可包括被配置成用于执行模数和 数模转换、数据的编码和解码、模拟寄生消除(例如,串扰消除)、W及所接收的数据的恢复 的编码/解码电路。
[0036] 第一NIC316包括OS360和NICSDN模块362并且可包括网络堆找361。NIC SDN模块362与根据本公开的各实施例的混合SDN控制器的第二部分324相对应。NICSDN 模块362包括服务抽象层模块SAL364化及南行应用编程接口SBAPI368。NICSDN模块 362可包括库337。库337包括可用于生成定制模块和/或定制协议的功能模块,如在此所 描述的。库337、SAL364W及SBAPI368可由和/或代表例如NIC316的犯M提供。可 针对例如执行效率优化SAL364和SBAPI368。OS360被配置成用于管理第一NIC316 的操作。SAL364包括物理网络366的表示。物理网络366的表示可包括与物理网络104 的配置有关的数据结构。例如,数据结构可包括每个网络设备108a,…,108n的编号、类型、 位置、互连和/或设置。数据结构可进一步包括与节点106a,…,106n有关的数据,例如,标 识符、位置等等。
[0037]SBAPI368包括被配置成用于与网络设备108a,…,108n通信W便访问和/或改 变物理网络104的配置的应用编程接口。在实施例中,SBAPI368可包括可符合或兼容于 2011年2月28日发布的化enFlow?交换规范版本1. 1. 0实现(有线协议0x02)和/或该 规范的稍后版本。在另一个实施例中,SBAPI368可包括定制和/或专有功能。
[003引再次转向图2,在某些实施例中,主机存储器214可包括代理252。代理252被配置 成用于提供与SAL364和SBAPI368有关的定制和/或更新能力。例如,代理252可用于 向SAL364和/或SBAPI368推送更新。更新可包括对SAL364的更新、对SBAPI368的 更新和/或对库337的更新。该些更新可由例如第一NIC3160EM提供。在另一个示例中, 代理252可用于从工作站(例如,工作站110)向网络接口控制器(例如,第一NIC316)推 送定制模块(例如,定制模块372a…37化)。代理252可用于指定、修改和/或更新与SAL 364和/或SBAPI368有关的配置数据。
[0039] 图4示出根据本公开的各实施例的示例工作站410。工作站410是图1的工作站 110的一个示例。工作站410可由用户(例如,系统管理员)用于生成定制模块424和/或 协议(例如,定制SBAPI)。工作站410包括处理器412、I/O电路414、用户接口 416W及 存储器418。存储器418包括操作系统0S420W及集成开发环境IDE422。IDE422可用 于生成一个或多个定制模块424。定制模块424与图3的定制模块372a,…,37化中的一 个或多个相对应。
[0040] 处理器412被配置成用于执行工作站410的操作。I/O电路414被配置成用于将 工作站410禪合到计算设备102。在某些实施例中,工作站410可通过网络104禪合到计算 设备102。在某些实施例中,工作站410可直接禪合到计算设备102。用户接口 415可包括 例如键盘和显示器并且被配置成允许系统管理员访问IDE422,例如W便生成和/或测试 例如定制SBAPI和/或网络配置。
[0041]IDE422与混合SDN控制器120相关并且可由例如网络接口 116的OEM提供。IDE 422可包括库430、头文件432和/或工具434。工具434可包括被配置成提供可执行定制 模块424的编译器,例如,交叉编译器。库430可与库337相对应并且可包括可用于生成定 制板块和/或定制协议的功能板块。
[0042] 工作站410和IDE422可被配置成用于使得用户(例如,网络管理员)能够生成 定制模块和/或协议(例如,定制SBAPI)。然后可使用代理252将定制模块和/或协议推 送到网络接口,例如,第一NIC316。定制协议可在例如一个或多个定制模块372a,…,37化 中实施。定制模块372a,…,37化然后可由代理252推送到第一NIC316。在实施例中,定 制模块372a,…,37化然后可替代和/或附加于SBAPI368使用。在另一个实施例中,定 制模块372a,…,37化可用于在SAL364中实现代码改变(诸如错误修正)。
[004
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1