CN104335535B - 使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统 - Google Patents
使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统 Download PDFInfo
- Publication number
- CN104335535B CN104335535B CN201380027723.4A CN201380027723A CN104335535B CN 104335535 B CN104335535 B CN 104335535B CN 201380027723 A CN201380027723 A CN 201380027723A CN 104335535 B CN104335535 B CN 104335535B
- Authority
- CN
- China
- Prior art keywords
- nse
- network
- information
- controller
- spanning tree
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- 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/42—Centralised routing
-
- 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/48—Routing tree calculation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于基于生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统。一个或多个控制器用于通过使用从链路路径成本导出的生成树向网络交换元件(NSE)指派信息流。NSE生成有关它们用来促成信息流的资源的被发送到控制器的状态信息。状态信息用于导出链路成本,链路成本然后用于产生生成树,其支持在NSE之间进行路由而不存在任何路径回路。信息流被指派给NSE,从而使得用于这些流的路由路径使用生成树中的链路。在进行中的操作期间动态地计算链路成本和生成树,从而能实现响应于数据面事件和对信息流量的改变而重新配置网络路由和流指派。
Description
相关申请的交叉引用
本申请包含与在2012年5月10日提交的标题为“基于资源可用性的网络路由(NETWORK ROUTING BASED ON RESOURCE AVAILABILITY)”的PCT申请序列号PCT/US2012/037329中公开的主题有关的主题,具有相同的发明人和受让人。
技术领域
发明领域总体上涉及计算机网络,并且更具体地但不排他地涉及用于基于生成树(spanning tree)和网络交换元件资源在网络中路由信息流的技术。
背景技术
计算机网络在当今社会非常普遍。通过使用一个或多个计算机网络促成日常活动(诸如进行电话通话、浏览互联网、处理基于计算机的购买订单、对朋友进行推特、观看视频、以及发布状态更新)。而且,预计计算机网络的未来使用将显著地增加,因为更多的工作和社交活动将涉及使用基于云的服务。
最广泛使用的计算机网络,互联网,实际上是在没有中央控制设施的情况下互连的独立更小分组交换网络的大容量集合。缺少中央控制设施使得网络交换元件(NSE,例如交换机、路由器、网桥等等)使用嵌入式控制逻辑和路由表执行动态的分组交换路由操作成为必需。为了促成这一点,已经开发了各种通信协议,通常基于OSI(开放系统互连)模型,并且NSE被配置成用于实现这些协议。OSI定义了包括三个介质层和四个主机层的七层模型。介质层包括物理层(第一层)、数据链路层(第二层)、以及网络层(第三层),而主机层包括传输层(第四层)、会话层(第五层)、表达层(第六层)、以及应用层(第七层)。介质层功能由NSE促成,而主机层功能通常由在主机计算机上运行的软件实现。由于其固有的网络层功能,NSE通常被称为第三层交换机。在第三层网络架构下,控制面和数据面都由NSE实现。
最近,不同于在第三层网络中使用的动态地确定的逐跳(hop-to-hop)分组路由,已经更多地强调网络信息流的使用。尽管某些基于流的路由智能性已经被添加到更复杂的NSE,网络流的实现通常通过使用中央控制器或用于控制由NSE实现的路由操作的分布式控制器集合促成。因此,在这种网络架构下,控制面操作由中央控制器或分布式控制器实现,而数据面操作则由NSE实现。
附图简要说明
当结合附图时,前述方面和本发明的许多伴随优势将变得更加容易认识到,正如通过参照以下详细说明更好地理解到的那样,其中,贯穿各种视图,类似的参考标号指代类似的部件,除非另外指明。
图1是根据本公开的至少一个实施例的包括网络的系统的示意图,该网络包括包含通过链路互连的节点的多个网络交换元件以及被配置成用于向NSE指派信息流的控制器;
图1a示出图1的网络的简化视图,示出了NSE和链路。
图1b、图1c和图1d示出与图1和图1a的网络相对应的三个示例性生成树。
图2示出根据本公开的至少一个实施例的被配置成用于基于生成树和资源可用性的网络路由的示例系统;
图3是示出根据本公开的至少一个实施例的被配置成用于在控制器中实现的示例性模块集合的框图;
图4是示出根据本公开的至少一个实施例的被配置成用于在NSE可用来操作的设备中实现的示例性模块集合的框图;
图5示出根据本公开的至少一个实施例的包括控制器和网络交换元件的信息流指派的示例;
图6示出根据本公开的至少一个实施例的网络交换元件中的处理器的不符合控制信息的操作的示例;
图7示出根据本公开的至少一个实施例的重新指派信息流从而使得网络交换中的处理器的操作符合控制信息的示例;
图8示出根据本公开的至少一个实施例的禁用网络交换元件中的不活跃处理器的示例;以及
图9示出包括通过网桥节点耦合的多个以太网段的网络,所述网桥节点用于示出使用生成树协议标准导出生成树。
图9a-9d示出使用生成树协议为图9的网络导出生成树的序列;
图9e和图9f示出由图9的网络中的某些链路的链路成本改变导致的生成树改变;
图10示出根据一个实施例的组合式报文流以及流程图,示出了由控制器和NSE实现的操作和逻辑,用于促成流指派、重新指派、以及针对采用基于生成树的路由的网络的相关操作;
图11a和图11b示出用于存储从用于计算链路成本的状态信息导出的参数的表格的示例,其中,图11a中的表格对应于图9a的第一链路配置,此配置中,每条链路具有成本‘1’,并且图11b中的表格示出与图9e中示出的链路成本配置相对应的链路的链路成本的改变;
图12示出采用两个控制器的NSE节点网络;
图13是采用片上网络的示例性片上系统的示意框图;
图14a是多个服务器刀片安装在其中的示例性刀片服务器机箱的前等距视图;
图14b是图14a的刀片服务器机箱的后等距视图;
图14c是与图14a和图14b相对应的多个机架式刀片服务器机箱安装在其中的示例性刀片服务器机架的等距前视图;以及
图15示出根据一个实施例的典型服务器刀片的组件的细节。
实施例的描述
在此描述了用于基于生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统的实施例。在以下说明中,列出了许多特定细节以便提供本发明实施例的透彻理解。然而,本领域普通技术人员将认识到可在没有这些特定细节中的一项或多项的情况下或者在具有其他方法、组件、材料等等的情况下实践本发明。在其他情况下,未详细地示出或描述公知的结构、材料、或操作以便避免混淆本发明的方面。
贯穿本说明书对“一个实施例”或“实施例”的引用是指在此结合该实施例所述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在各种地方的出现并非必须全部指代相同的实施例。而且,特定特征、结构或特性可在一个或多个实施例中以任意适当的方式组合。
在此所提及的“网络”可总体上包括任何分组交换网络,诸如例如在IEEE 802.3标准中列出的以太网。实施例可进一步采用被设计成用于与现有网络设备中已经存在的特征进行交互从而控制分组交换网络中的信息路由的基于软件的交换系统。可使用相关联的物理层和接口通过或者有线或者光学的物理链路实现在此示出和描述的各种网络链路。
如在OpenFlow交换规范版本1.2(2011年12月)中列出的OpenFlow是被开发以便在分组交换网络(诸如以太网)上操作的基于软件的交换系统的示例。OpenFlow可使用网络设备共有的、并非制造商特定的特征(例如,内部流表)以便以基本上正常操作速度提供受控交换。具体而言,OpenFlow提供了用于控制各商业以太网交换机或类似的网络设备的信息路由行为的安全接口,而不管设备制造商是谁。在此的实施例的讨论中对OpenFlow的任何引用仅是为了说明和解释的目的,并且不旨在将各实施例限制为仅使用OpenFlow的实现方式。相反,可通过被配置成用于在网络中提供流控制的任何基于软件和/或硬件的解决方案实现各实施例。例如,如在此所公开的,各实施例将可容易地适用于具有高数据吞吐量的任何互连通信系统。
图1示出包括网络100的示例性系统,在此描述的实施例的方面可在该网络100中实现。网络100包括九个NSE 102,它们还被用相应的节点编号(1-9)加标号并且被称为“NSE节点”或简称“节点”,为了方便,在此对NSE节点编号的引用也是对与节点编号相对应的NSE102的引用。各种NSE节点通过网络链路104互连,其中,用由破折号分离的两个数字对每条网络链路加标号,其中这些数字对通过链路通信耦合的NSE节点进行标识。例如,用1-2对NSE节点1和2之间的网络链路加标号。此外,每个NSE节点1-9通过被加标号为CN的对应的安全通道链路107被通信地链路到控制器106,其中,N对应于节点编号。
总体上,诸如由桌上计算机108、一体式计算机110和112、膝上计算机114、以及平板计算机116所示出的各种类型的计算设备可被通信地耦合到NSE节点。可耦合到NSE节点的其他计算设备包括但不限于移动通信设备(诸如基于安卓操作系统(OS)、苹果黑莓塞班微软Windows掌上OS等等的智能电话)、移动计算设备(诸如Samsung GalaxyKindle等等)、超极本计算机、上网本计算机以及笔记本计算机。此外,诸如由数据库服务器118所示出的各种类型的服务器可被通信地耦合到NSE节点。其他类型的服务器包括但不限于网络服务器、应用服务器、微软Windows服务器、Linux服务器、证书服务器、代理服务器、活动目录服务器、文件服务器、打印服务器、FTP服务器、以及电子邮件服务器。总体上,给定的计算设备可被通信地直接(例如通过以太网链路)或间接地通过通信地耦合到NSE节点的设备(例如通过到耦合到NSE节点的接入点等等的无线链路)耦合到NSE节点。NSE节点还可耦合到各种类型的网关、网桥、交换机、以及路由器(未示出)。
图2示出根据一个实施例的NSE 102的抽象描绘。如所示,NSE 102包括管理端口200、一个或多个处理器202、以及网络端口204和206。当部署NSE 102时,管理端口200通信地通过安全通道链路107耦合到控制器106。这使得控制器106能够为在处理器202上运行的一个或多个软件组件210提供针对NSE 102的控制信息208以及从软件组件210接收针对NSE102的状态信息。在一个实施例中,NSE 102包括被配置成用于与控制器102交互的基于软件的交换机。在某些实施例中,可在各种类型的设备上实现在此描述的针对NSE的基于软件的交换机功能,所述各种类型的设备包括专用于支持分组交换网络上的通信的设备,诸如网络交换机、路由器、网关或其他类似的网络特定设备。
在利用Openflow的情况下,OF-CONFIG协议可用于将物理设备中的Openflow相关资源(例如,处理器202以及端口204和206)与基于软件的交换机(诸如例如NSE 102)相关联。OF-CONFIG不确定将如何在设备中指派资源,而是使设备资源关联并且允许基于软件的交换机(例如NSE102)控制将如何利用资源。端口204和端口206可以是NSE 102中的应用专用或进程专用的可寻址位置,信息流212(例如,至少一个数字数据传输单元,诸如数据包、帧等等)可从该位置发起或者可替代地信息流212可被递送到该位置上。处理器202总体上表示可用于执行被配置成用于处理信息流212的软件210的一个或多个处理资源(例如中央处理单元、处理器内核等等)。总体上,处理信息流212可包括传送信息流,此传送信息流作为输入在网络端口204和206之一处被接收,并且通过这些网络端口中的另一个处被输出。为了说明性目的,在图2中示出了双头箭头,但是将理解的是网络端口204和206的描绘对应于逻辑端口而不是这种端口在NSE上的物理位置。
管理端口200可被配置成用于允许控制器106与NSE 102通信。诸如在采用OpenFlow的情况下,管理端口200可包括安全通道107,控制器106和NSE 102可通过该安全通道107通信。安全通道107可总体上包括为控制/管理目的实现的私人专用通道(诸如管理通道)或可通过其发送控制和状态信息的网络链路。在一个实施例中,管理端口200可物理地包括网络端口204和206的其中之一,该一个端口可被逻辑地映射到被配置成用于控制/管理报文发送的预定义的HTTP/HTTPS端口(诸如HTTPA管理端口443)或者映射到被配置成用于实现加密协议(诸如SSL)和/或使用VPN(虚拟专用网)协议的端口。尽管在图1中被描绘为控制器106和NSE之间的直接链路,各种安全通道107链路可耦合到被配置成用于路由和转发控制/管理报文的各种交换和路由资源(未示出)。
在一个实施例中,NSE 102可通过管理端口200向控制器传输状态信息212,并且可进一步通过管理端口200从控制器106接收控制信息108。状态信息212可包括但不限于处理器202的能力信息和/或使用信息。例如,处理器202的能力信息可包括但不限于处理器总数、处理器类型(例如制造商、型号、类别、技术等等)、处理器速度、最大吞吐量(例如带宽)等等。使用信息可包括但不限于与处理器202和/或网络端口204/206相对应的当前统计数据,诸如例如处理器202的使用百分比、每处理器202和/或网络端口204/206的每秒帧数(fps)、每处理器202或网络端口204/206的掉落帧数等等。控制信息208可包括但不限于处理器202的许可操作状况,诸如例如处理器202的许可使用水平百分比(包括最大使用水平和/或最小使用水平)、处理器202的最大/最小fps等等。最小许可使用水平可提示未充分利用的处理器202的信息流重新指派和去激活,这可降低能耗并允许去激活的处理器202释放用于其他任务(例如,在由NSE 102所控制的设备不是专用网络设备的情况下)。处理器202的最大许可使用水平可导致更好的每处理器性能以及因此改善的总体性能和服务质量。
图3示出根据一个实施例的控制器106’的模块框图。总体上,控制器106’可包括被配置成用于实现在此描述的控制器相关功能的方面的硬件和软件组件。在图2中以模块描绘这些硬件和软件组件,其各自可通过一个或多个硬件和/或软件组件实现。模块包括系统模块300,该系统模块包括处理模块302、存储器模块304、功率模块306、通信接口模块308、以及用户接口模块310、通信模块、和NSE控制模块314。
系统模块300可被配置成用于执行与控制器106'的操作相关联的各种功能。例如,处理模块302可包括被配置为分离的组件的一个或多个处理器,或者可替代地,可包括在集成组件中(例如,在片上系统(SOC)配置中)实现的一个或多个处理内核。示例处理器可包括但不限于从英特尔公司可获得的基于x86的微处理器(包括奔腾、志强、安腾、赛扬、凌动、内核i系列产品族内的那些)、各种基于ARM的架构处理器、以及诸如IBM、摩托罗拉、德州仪器、三星、NEC、惠普、太阳微系统/甲骨文和高通等公司所制造的处理器所采用的其他处理器架构。处理模块302可被配置成用于在控制器106'中执行指令。指令可包括程序代码,该程序代码被配置成用于致使处理模块302执行与读取数据、写入数据、处理数据、制定数据、转换数据、变换数据等等相关的操作。信息(例如,指令、数据等等)可被存储在存储器模块304中。存储器模块304可总体上包括固定或可移除格式的随机存取存储器(RAM)、只读存储器(ROM)和/或可重写存储设备。RAM可包括被配置成用于在控制器106'的操作期间保持信息的存储器,诸如例如静态RAM(SRAM)或动态RAM(DRAM)。ROM可包括诸如bios存储器的被配置成用于为控制器106’提供指令的的存储器,诸如电可编程ROM、(EPROM)、闪存等的可编程存储器。其他固定和/或可移除可重写存储设备可包括:磁存储器,诸如软盘、硬盘驱动器等等;电子存储器,诸如固态闪存(例如,eMMC等等)、可移除存储器卡或棒(例如,uSD、USB等等);光学存储器,诸如基于致密盘的ROM(CD-ROM)等等。
功率模块306被配置成用于向控制器106'上的各硬件组件(包括处理器、存储器、以及各种外围组件,诸如通信接口)提供功率输入。功率模块306可包括内部(例如,电池)和/或外部(例如,壁式插座)电源以及相关联的功率调节电路,诸如变换器、DC-DC转换器、二极管等等。
通信接口模块308可被配置成用于处理通信模块312的数据分组路由和各种控制功能,其可包括用于进行有线和/或无线通信的各种资源。有线通信可包括诸如例如通用串行总线(USB,例如USB2或USB3)、雷电(Thunderbolt)、火线、以太网等介质。无线通信可包括例如近场无线介质(例如射频(RF)、红外(IR)等等)、短距离无线介质(例如蓝牙、无线局域网(WLAN)等等)以及长距离无线介质(例如蜂窝、卫星等等)。
用户接口模块310可总体上包括被配置成用于使能用户与控制器106'交互的电路和/或软件,包括可适用的输入输出机制。例如,输入机制可包括键盘、指针设备、基于触摸的输入设备、开关、按钮、旋钮、麦克风等等中的一个或多个。输出机制总体上包括促成视觉和/或音频信息的任何设备,包括各种类型的显示器、指示器和扬声器。
在一个实施例中,NSE控制模块314可被配置成用于至少与通信模块312交互。交互可包括NSE控制模块314被配置成用于通过通信模块312接收状态信息、基于状态信息确定控制信息、以及致使控制模块312向NSE102传输控制信息。总体上,NSE控制模块314可响应于相关联的事件(例如响应于从NSE 102接收到状态信息)和/或使用计划表(例如,NSE控制模块314可致使通信模块312周期性地向NSE 102传输对状态信息的请求)执行这些动作。
可通过各种类型的计算设备(包括固定设备(诸如桌上计算机、独立或机架服务器、刀片服务器)以及移动设备(诸如膝上计算机、笔记本计算机、上网本计算机、超极本计算机、平板计算机、移动电话、PDA等等))实现控制器106’所提供的功能。因此,针对控制器106’描绘的各种模块的配置将总体上取决于用于实现控制器的设备的具体类型。
图4示出可被实现以促成在此公开的NSE功能的方面的设备400的模块框图。如所示,设备400可包括与在图3和以上讨论的控制器106’中示出的那些类似的模块(共享相同的参考标号)。此外,接口模块310被描绘为可选的并且提供NSE模块402以替代NSE控制模块314。如果例如设备400E被实现为专用联网设备(诸如交换机、路由器、网桥、网关等等)(或作为其一部分),用户接口模块314可以是可选的(或基本的)。总体上,NSE模块402可被配置成用于与设备400中的处理模块302和通信模块312中的至少一个交互。例如,NSE模块402可用于通过通信模块212向控制器312传输状态信息并且可通过通信模块312从控制器106接收控制信息。NSE模块302还可被配置成用于与处理模块302进行交互用于各种操作,诸如控制处理模块302中的处理器/内核如何处理端口之间的信息流。
图5示出通过控制器106为NSE 102'指派信息流的示例。在所示出的实施例中,NSE102'包括八个网络端口A-H,它们还被标记为端口204A-D(对应于图2的端口204)和端口206E-H(对应于图2的端口206)。NSE102'还包括四个处理器202A-D,它们还被标记为并且在此被称为CPU 0、CPU 1、CPU 2和CPU 3,其对应于图2中的处理器202。尽管被描绘为CPU,可通过多核处理器(例如SoC)中的处理内核促成相应的功能。此外,CPU0-3可表示与在NSE102'的底层物理硬件上运行的一个或多个虚拟机相关联的虚拟处理资源。
处理器202A可加载NSE操作系统(OS),其将处理器202A配置成用于例如从处理器202B-D接收状态信息212、通过管理端口200向控制器106提供状态信息212、通过管理端口200从控制器106接收控制信息208以及基于控制信息208将处理器202B-D指派为处理NSE102'中的端口204A-D和端口206E-H之间的信息流(诸如通过信息流500A所描绘的)。例如,处理器202A可向控制器106提供状态信息212,指示NSE 102'具有三个可用处理器(例如处理器202B-D)、处理器类型(例如基于x8的微处理器中的处理内核)、可用处理器的当前处理负载等。控制器106可在确定控制信息208时使用状态信息212。例如,控制器106可指令NSE102'(通过由处理器202A接收并处理的相应的控制信息212):处理器202B-D的使用水平百分比限于最小5%和最大80%。当向处理器202B-D指派信息流时,在处理器202A上运行的软件(诸如NSE OS)可使用控制信息,从而使得这些处理器各自在规定的使用水平内操作。
在图5中示出的示例中,处理器202A指派处理器202B处理网络端口204A和206G之间的第一信息流500A。处理第一信息流500A致使处理器202B具有45%的使用水平,这符合控制信息208中的示例最小和最大百分比使用水平。处理器202C和202D是不活跃的(例如使用水平为0%)并且因此已经被去激活,如这些处理器被灰色显示所指示的。结果是,所有活跃处理器(例如,图5中的处理器202B)是合规的(in compliance),并且处理器202A不需要重新指派信息流118。
图6通过在NSE 102'的端口204B和206F之间引入第二信息流500B而进一步推进图5中示出的示例。第二信息流500B可至少初始地被指派给处理器202B(例如因为其正在活跃地处理器第一信息流500A)。处理器202A然后可得知(例如基于从处理器202B接收的状态信息212)处理器202B的操作不符合控制信息208中列出的80%的最大使用水平,因为处理器202B的百分比使用水平已经上升到85%。为了使得处理器202B的操作符合控制信息208,在图7中,处理器202A可激活处理器202C并且然后可向处理器202C指派第二信息流500B。重新指派的结果是,处理器202B的百分比使用水平可降落回45%并且处理器202C的百分比使用水平可上升到45%,由此允许处理器202B和202C符合控制信息208。
在图8中,第一信息流500A停止(例如由于完成、截止等等)。在一个实施例中,如果处理器202B仍在活跃地处理其他信息流,但是处理器202B的百分比使用水平低于控制信息208中列出的最小值(例如<5%),则处理器202A可将其他信息流重新指派到具有容量的另一个活跃的处理器(诸如例如处理器202C)。一旦处理器202B变得完全不活跃,处理器202A可去激活处理器202B以便例如节省能量、释放处理器202A来执行其他任务等等。尽管未在图5至图8中示出,以下情况可发生:一个或多个处理器202B-D的操作不符合控制信息208,但是处理器202B-D中没有一个处理器具有可用于抵消处理负载的任何可用处理容量。在一个实施例中,这种情况可致使处理器提醒(alert)控制器106(例如通过管理端口200)。控制器106然后可尝试将信息流指引离开NSE 102'(例如指引到另一个NSE),以便降低NSE 102'的处理负载,这可允许处理器202A重新指派一个或多个信息流并且使处理器202B-D的操作合规。
使用流控制交换机的生成树路由
在一个实施例中,生成树协议(STP)的方面用于促成将信息指派给NSE及其资源。STP是确保任何网桥以太局域网(LAN)的无回路(loop-free)拓扑。STP的初始的常规用途是,其被实现来在并行地确保所有LAN或网段保持通过网络中的任何节点可访问的同时防止网桥回路(loop)。STP还允许网络设计包括备用(冗余)链路以便如果活跃链路失效则提供自动备份,而不存在网桥回路问题或者不需要手动使能/禁用这些备份链路。在IEEE标准802.1D-2004中定义了STP的标准实现方式。在此出于清晰和简明的目的展现了该标准实现方式的所选方面。
为了将STP的操作可视化,网络拓扑被描绘为图形,其节点是使用在每个连接处具有相应的接口(即,端口)的网络链路耦合到LAN网段的网桥。在图9中描绘了网络900的示例性图形和相应的网络拓扑。网络900包括通过被标记为2-7、9-11和14的网桥和在这些网段和网桥之间耦合的相应的网络链路而互连的、被标记为A-J的多个网段。为了方便和清晰的目的,每个网络链路被标记为N-A,其中N是网桥编号并且A是网段。例如,耦合网桥3与网段A、B、C和D通信的网络链路被分别标记为3-A、3-B、3-C和3-D。另外,针对以下讨论的网桥ID仅仅是每个网桥节点的节点编号,并且术语“网桥”和“节点”可在以下说明书中可互换地使用。而且,尽管在标准STP术语下被称为网桥,网桥可总体上表示NSE。在某些实施例中,NSE被配置成类似于在此描述的NSE 102和/或NSE 102’。
除各网段和网络链路以外,节点2-7、9-11和14各自通过相应的安全通道链路107以类似于在图1中示出的以及以上描述的方式类似的方式通信地耦合到控制器106。如之前所述,每条链路107被标记为CN,其中,N对应于节点编号。
在常规的STP算法下,为了在保持访问所有LAN网段的同时切断LAN中的回路,网桥总体地(collectively)计算生成树。可使用在IEEE标准802.1D-2004中定义的以下规则和操作确定网桥使用生成树协议计算的生成树。在此的实施例实现通过其计算类似的生成树的增强方法,而不是通过网桥/节点实现此举,通过控制器106单独地,或结合通过网桥/及节点执行的操作,来执行生成树的计算。
用于计算生成树的第一操作是选择生成树的根网桥。在标准STP方法下,生成树的根网桥是具有最小(最低)网桥ID的网桥。每个网桥具有唯一标识符(ID)和可配置优先级编号;网桥ID包含这两个编号,其中,优先级编号用于确定最小的网桥ID,并且唯一ID在两个或更多个网桥共享同一优先级编号的情况下用于打破平局。例如,为了比较两个网桥ID,首先比较优先级。如果两个网桥具有相等的优先级,则比较保证是唯一的MAC地址(并且因此其被用作唯一ID),其中,更低的MAC地址打破平局。由于每个网桥的优先级是可配置的,网络管理员可通过将网桥设置为具有比所有其他网桥更低的优先级编号而将该网桥选择为根网桥。由于控制器106用于计算生成树,其可用于选择根网桥而不是使用常规的方法。在这种情况下,节点2-7、9-11和14中任一者可被选择为根网桥。然而,针对本示例,根网桥(即,根节点)将被选择为节点2。
在标准STP方法下,每个网桥节点沿着其每条链路向其邻居节点发出你好(hello)报文,从而使能邻居节点交换配置信息。在STP下,hello报文(message)包括被称为网桥协议数据单元(BPDU)的特殊数据帧,其用于交换有关网桥ID和根路径成本的信息。网桥发送BPDU帧,使用端口本身的唯一MAC地址作为源地址,使用STP多播地址01:80:C2:00:00:00的目的地址。总体上,在若干个周期期间交换BPDU帧以便确定网络拓扑、标识根网桥、以及计算根路径成本。BPDU帧包含包括根网桥ID、根路径成本以及发送节点的网桥ID的五元组(tuple)。根网桥ID是与发送网桥节点认为其是当前报文交换周期的正确根网桥的节点的ID相对应的网桥节点ID,其在此被称为候选根网桥,因为在此阶段所有网桥并不知道正确的根网桥。根路径成本是沿着从发送者到候选根网桥的路径发送报文的预计成本。针对在图9a至图9c中示出的以下示例,从给定网桥节点到邻居节点的遍历的成本是‘1’,而用于遍历链路或跨过网桥的成本是‘0’。如以下所描述的,在基于STP的NSE信息流指派方案下,每次链路遍历的成本被确定为从每个节点(即,NSE)所生成的状态信息确定的加权函数。链路、网桥和网段的成本除被指派以外,可例如通过在网络操作期间测量链路流量和相关参数动态地确定。
与常规的STP方法相比,可在不使用BPDU hello报文的情况下实现在此的实施例。例如,由于控制器106知道网络拓扑、能够定义根网桥(节点)、并且或者基于NSE状态信息(例如状态信息212)确定链路成本或者接收NSE所计算的链路路径成本,控制器能够访问计算生成树所必需的所有信息。因此,使用类似于标准STP算法的方法计算生成树,但是无需使用BPDU hello报文用于网络拓扑发现和根路径成本。
过程的下一阶段是确定每个网桥的根端口(RP)。给定网桥的RP对应于网桥上的端口,可采用最小成本路径(LCP)通过此端口向根网桥发送信息流。在标准STP方法下,通过网桥自身确定LCP和RP。然而,在控制器方法下,LCP和RP可由控制器106确定。
参照图9a和图9b,按以下确定根端口的标识。如图9a所示,链路遍历成本‘1’已经被指派给每条链路(如由具有圆圈‘1’的双头箭头所描绘的),其中为了说明的目的,与跨每个网段相关联的成本被设置为‘0’(未示出)。(在此的附图中,通过网络链路和节点圆圈之间的接点描绘网桥端口。)通过将使用最低成本路径路由方法(选择自给定端口的路由,从而使得获得最低成本路径)而被遍历以到达根网桥的链路和网段的成本加在一起来确定给定网桥端口的LCP。各种网桥和端口的LCP的结果在图9b中被示出为具有圆圈编号的箭头,指示与箭头自其指向外的端口相对应的LCP。例如,对于网桥4,使用连接到链路4-G的端口的LCP是4,使用连接到链路4-C的端口的LCP是10,以及使用连接到链路4-D的端口的LCP是10。由于根端口是LCP通过其被路由的端口,位于网桥4节点圆圈和链路4-G之间的接点处的端口被标记为‘RP’。以类似的方式确定其他网桥的RP并且在图9b中相应地对其进行标记。
对网段执行类似的操作,在这种操作下确定从每个网段到根网桥的最低成本路径。对于给定的网段,链接到该网段的网桥确定哪一个网桥具有到根网桥的最低成本路径。网段在其处以最低成本路径连接到网桥的网桥端口然后被称为指定端口(DP)。在图9c中描绘了从网段开始的每个路由的DP和根路径成本。
在此时,标识网桥的RP和DP。根据某些采用STP的实施例,既不是根端口也不是指定端口的网桥端口变成禁用候选项,从而使得不通过这种端口路由信息流。通过具有根路径成本编号的、带有以斜线穿过的圆圈的箭头在图9c中标识这些端口,其中,该箭头指向作为禁用候选项(candidate for disabling)的端口。图9c中的用于链路的虚线描绘耦合到被考虑禁用的端口的链路。注意,在本简单示例中(其中所有链路成本为‘1’),某些情况下,,存在到根网桥节点2的最低成本路径平局。在平局的情况下,来自给定节点或网段的平局的两条链路之一已经被选定。
在图9d中示出所得生成树900D。值得注意的是,若干条链路已经被从图9a中示出的完整路由树移除,包括链路3-A、3-C、9-A、9-B、10-F和14-J。正如开发STP的原始动机那样,在生成树900D中不存在路径回路。
根据某些实施例的进一步的方法,如果适用的话,在正在进行的(ongoing)操作期间至少部分地基于NSE所生成的状态信息动态地计算并配置包括流受控的NSE的节点网络的生成树。鉴于生成树的变化,重新指派和/或以其他方式致使重新路由信息流,从而使得作为去激活候选项(基于经更新的生成树配置)的端口不被使用。此外,在给定的生成树配置下被去激活或者以其他方式未用于流的端口,当其对应于经更新的生成树中的根端口或指定端口时,可被重新激活用于重新指派现有的流和/或新的流指派。
图10示出根据一个实施例的组合式报文(message)流以及流程图,示出了由控制器和NSE实现的操作和逻辑,用于促成针对采用基于生成树的路由的网络的流指派、重新指派、以及相关操作。在图10中,在图示的左侧描绘的操作由具有类似于控制器106和106’的配置和功能性的控制器1006执行。在图10中,在图示的右侧描绘的操作由具有类似于NSE102和102’的配置和功能性的NSE 1002执行。在各实施例中,可以用正在进行的(ongoing)、通常异步的方式执行由控制器和NSE执行的某些操作,同时在控制器和NSE之间协调其他操作。此外,类似于针对NSE 1002描绘的那些操作的操作正在由网络中的其他NSE执行。
在正在进行的操作中,可由耦合到网络节点的各设备,诸如在图1中示出的计算设备(例如桌上计算机、服务器、膝上计算机、笔记本计算机、移动设备等等)向网络引入各数据面流量1000。响应于数据面流量1000并且考虑到NSE 1002和其他NSE所生成的状态信息,控制器1006向NSE1002发送包括流指派1004的控制信息208,如框1008中所描绘的。与流指派1004相对应的信息由适用的NSE(将通过其配置相应的信息流)接收,并且NSE配置其资源以便支持该信息流,如框1010中所示出的。
如上所讨论的,在OpenFlow下,NSE可被配置成用于以独立于控制器的方式为经指派的信息流分配资源。结果是,在正在进行的操作期间,NSE 102将接收各种流指派1004,包括标识有待添加的新流和有待丢弃的现有流的流指派信息。总体上,对每个新流的资源的初始分配将由NSE鉴于现有资源分配和适用的标准(诸如处理器使用百分比)确定。这可导致资源分配的足以授权生成经更新的状态信息212并将其发送到控制器106的变化,如决策框1012和框1014所描绘的。
除基于流指派1004重新配置资源以外,可基于数据面驱动的(dataplane driven)事件1016重新配置资源。例如,当给定的流指派可将流量从输入网络端口A路由到输出网络端口B时,流指派不指定将如何处理信息流的流量负荷的变化。如果流增加得足够多,可添加附加的处理和存储器缓冲器资源以便处理增加的流量。类似地,如果观察到信息流的工作负荷显著地降低,可基于各种标准重新指派分配给该工作负荷的处理器。例如,在强调降低功率的实施例中,指派给信息流的处理器的工作负荷可降低到阈值以下,同时另一个活跃处理器具有将被重新指派以便处理该信息流的足够的未使用的使用水平。相应地,在重新分配了处理器资源之后,初始地处理该信息流的处理器可被关闭以便在降低功率状态或睡眠状态下操作。
总体上,各种流指派1004和数据面驱动的事件1016的结果将导致各种资源变化,该资源变化如果足够显著的话(如由对应于决策框1012的逻辑所确定的)将致使重新生成经更新的状态信息212并将其发送到控制器1006。除从NSE 1002接收状态信息212之外,其他NSE将生成类似的状态信息并将其发送到控制器1006。总体上,生成和发送状态信息212在性质上可以是异步的,其中,当发送状态信息更新时,相应的状态信息更新由控制器1006接收。在某些实施例中,可周期性地使用预定义的时间表等等发送状态信息。
如所示,状态信息212由框1008和1018中的每一个接收。状态信息可由框1008用于确定流指派。例如,在某些实施例中,控制器1006维护信息流的全局视图以及充分的状态信息,以便至少在某种程度上确定分配给流的NSE资源。此外,框1008中的逻辑可维护在框1020中计算的生成树路由信息,如以下所述。在某些实现方式中,可能令人希望的是指派新流,从而使得现有的生成树被设计为不会响应于NSE资源分配的变化导致重新配置来支持新流。相应地,可在框1008中根据NSE状态信息结合生成树路由信息确定新流。在其他实现方式中,生成树路由信息的使用可不由框1008实现。
框1018用于(重新)计算链路成本,这些链路成本可由框1020用于计算生成树。在某些实施例中,根据加权资源相关的参数导出链路成本,这些参数的相应参数值或者是通过状态信息212接收的,或者是从状态信息212中导出的。例如,在图11a和图11b中描绘了示例性链路成本参数,其中对于网络900中的每条链路存在一行参数。这些参数通过对应的列标题列出并且包括与处理器、流、每秒帧数、丢帧率、带宽%(例如,使用水平或余量)和端口相关的参数。该列表仅仅是示例性的并且不是限制性的,因为可基于未示出的其他参数确定链路成本。每个参数乘以加权因子,如由加权因子W1-W6所描绘的。可出于各种目的调整加权因子,诸如QoS考虑因素(例如丢包最小化)、功率考虑因素、可靠性考虑因素等等。
除图11a和图11b中示出的方案之外,可通过其他技术确定链路成本。例如,在一个实施例中,可存在针对给定链路的的多个链路成本计算,诸如为遍历给定链路的每个流计算的成本,这些多个链路成本计算被平均以便导出链路成本。可采用更简单的方案,诸如基于链路使用水平和/或链路带宽余量的成本。
处理器相关的信息的示例可包括诸如处理器、处理器内核、或虚拟处理器的数量、聚合处理能力、单独和/或聚合处理器使用水平等参数。与流有关的参数的示例可包括正在通过链路路由的流的数量、正在由通过该链路连接的一个或两个节点所处理的流的数量、由通过链路路由的流所消耗的总带宽等等。与每秒帧数和丢包率相关的参数可再次适用于链路本身和/或与通过该链路连接的节点的FPS和丢包率有关。与带宽%相关的参数可包括所消耗的链路带宽%或可用带宽余量。与端口相关的参数可包括支持节点之间的物理和逻辑链路的端口数量(诸如在采用冗余链路的情况下)、耦合这些节点的NSE上的端口数量、未使用端口数量等等。
在框1020中计算网络的生成树。取决于实现方式,可响应于经更新的链路成本信息、周期性地使用时间表、或者两者的组合执行生成树的重新计算。在具有类似于网络900的配置的网络中,以上述方式确定生成树。还可为其他网络配置(诸如网络100)确定生成树,如以下所述。
在决策框1022中,确定生成树的配置是否已经从其先前配置改变。如果没有,决策框1022的答案是否,并且逻辑环回到框1018。如果生成树配置已经改变,逻辑流向框1024,在该框中,可基于新的生成树配置重新指派流并且更新端口状态。然后可作为控制信息208和/或流指派1004的一部分提供经重新指派的流和端口状态。
参照图9a-f和图11a和图11b,网络900的生成树的动态重新配置按以下继续。在一个实施例中,网络(诸如网络900)中的每条链路的初始成本被设置为预先确定的值,诸如1、10、100等等。所选定的预先确定的值可通常对应于使用基于默认NSE配置或一组默认NSE配置和相关联加权因子的参数的链路成本计算。为了方便和说明的目的,在此的示例中使用简单的整数,注意:实际实现方式将通常涉及更大和/或更变化的链路成本值。如上所述,为网络900中的每条链路使用链路成本‘1’(如图11a中的链路成本表中所示)得到图9d中示出的生成树。
在正在进行的操作期间,来自NSE的状态信息将响应于新的信息流、现有流的完成、以及各种数据面驱动的事件而改变。NSE状态信息的改变将进而导致控制器所计算的链路成本的改变。例如,如图11b的链路成本表和针对图9e中的网络900E描绘的黑体链路成本所示,已经对链路3-B、3-C、5-H、6-E、6-H、9-A和11-A做出了链路成本改变。这导致图9f中示出的生成树900F。如前所述,生成树不包括任何回路,并且由从每个节点到根节点(即,节点2)的最低链路成本路由路径组成。
取决于具体网络链路配置和当前链路成本,所得链路成本变化可能会或可能不会导致生成树变化。而且,如上所述,可有利的是降低计算生成树的频率(或者以其他方式延迟应用经更新的生成树配置),从而使得网络配置和相关联的NSE资源不如此快地变化而导致附加开销和/或降低的网络性能结果。
生成树方法的实现方式可被扩展到除在图9和图9a-9f中示出的那些之外其他类型的网络配置。例如,使用类似的最低路径成本路由条件,可为基于节点的网络(诸如网络100)确定生成树。在图1a-1d中示出应用到网络100的进一步的示例。图1a示出类似于网络100的包括节点1-9和连接这些节点的所有链路的网络100a。图1b示出在其下不使用链路3-6、3-7、和6-7的第一生成树100b。图1c示出在其下不使用链路1-3、2-4、和6-7的第二生成树100c。图1d示出在其下不使用链路3-4、3-6、和6-7的第三生成树100d。
除使用单个控制器(诸如上述控制器106和106’)之外,可采用一组两个或更多个分布式控制器。例如,图12示出包括通过相关联的链路104互连的18个NSE节点103(标记为1-18)的网络1200。与信息流有关的控制面(control plane)方面由两个控制器106-1和106-2促成。如所示,控制器106-1和106-2各自通过安全链路107与一组对应的NSE节点102通信,其中,每组NSE节点表示控制域。例如,控制器106-1的控制域包括节点1-9,而控制器106-2的控制域包括节点10-18。在一个实施例中,一组分布式控制器中的控制器通信链接,诸如由控制器通信信道1202所描绘的。这使得控制器能够以协调的方式指派并管理信息流,诸如针对在控制域之间路由信息流的情况。
在某些实施例中,可实现主-从控制器方法,其中,一组分布式控制器中的控制器之一作为主控制器操作,而其他控制器作为从控制器操作。总体上,主控制器和从控制器当管理其自身域内的信息流时可以用自主的方式操作,但是主控制器负责协调跨与域交点相对应的NSE的控制域的信息流的指派。例如,网络1200的域交会点(crossing point)包括NSE节点5和10、4和15、以及9和15之间的链路。
总体上,这些域交会节点的信息流的指派将由控制器针对每个节点在其内的域实现;然而,这些控制器之间将存在协调,从而使得正确地配置信息流。同时,给定域内的信息流的路由可由该域的控制器控制。例如,节点1和18之间的信息流将导致两个域(即,控制器106-1和106-2各自的域)内的路由。相应地,控制器将协调将使用哪条跨域链路。然而,每个控制器可负责在其对应的域内的信息流的NSE流指派。
除计算机网络(诸如以太网)之外,可为可被配置成用于采用流控制其的其他系统和装置实现实施例的各方面。例如,通过为板级互连的通信系统(其中互连组件高速交换数据)所采用的互连来路由信息流可被配置成用于实现与本公开一致的流控制技术。在此的原理和技术还可应用于采用各处理和数据资源之间的数据的基于网络的路由的片上系统(SoC)。
例如,图13示出系统1300,其包括采用使用基于网络的路由方案的片上网络(NoC)1304的SoC 1302。NoC 1304包括2D网格互连结构,该结构具有邻近每个纵横交点的路由器1306并且包括多条互连链路1308。这些路由器还被编号为1-16并且被配置成用于被实现为NSE节点。多个IP(知识产权)模块1310耦合到对应的路由器1306,形成了IP模块的2D阵列。尽管在图13中展示了16个IP模块,这仅仅是说明性的,因为IP模块的数量可从更少的IP模块数量到更多的数量变化,诸如但不限于8个、24个、32个、48个、64个等等,以及在这些数字之间的数量。
每个IP模块包括代理1312和网络接口1314。这些IP模块展示了SoC中常用的各种类型的IP模块,诸如处理器内核、硬件加速器(例如,视频解码器、图形、成像等等)、存储器相关的组件(例如,存储器控制器)、以及I/O接口(例如,PCIe、QPI等等)。在所示出的实施例中,一对存储器控制器1316和1318被描绘为耦合到对应的存储器模块1320和1322(被描绘为DIMM(双列直插存储器模块))并且耦合到NoC 1304中的对应的路由器。还描绘了结构(fabric)管理器1324,其以类似于在此描述的控制器的方式操作。如本领域普通技术人员将认识到的,实际上SoC将包括附加组件,未示出这些附加组件以便不混淆图13中所展示的NoC方面。
除了用于促成各操作的逻辑之外,每个网络接口1314将包括配给(provision)用于与应用互连结构进行接口连接。例如,互连结构可包括串行多通道互连结构,诸如英特尔的快速通道互连(QPI)或英特尔的KEIZER技术互连(KTI)、开放内核协议互连、其他类型的标准或专用互连、以及未来的互连技术和协议。此外,NoC的配置可包括其他类型的互连结构配置,诸如但不限于环形(torus)和3D网格互连(例如,可在具有在3D阵列中配置的IP模块的未来三维SoC中采用的互连结构)。
在各实施例中,状态信息可由路由器1306、网络接口1314、或代理1312生成。不是采用处理资源(诸如处理器),每个路由器1306包括用于促成网络交换操作的嵌入式逻辑。相应地,路由器1306、网络接口1314、或代理1312生成的状态信息的量和类型将不同于图11a和图11b中示出的那些。然而,如在此为其他实施例展现的那样,类似的原理可用于管理NoC1304中的信息流。
示例性实现环境和刀片服务器架构
根据某些实施例,预想到在此的控制器、NSE和信息流路由的方法可在数据中心和/或服务器集群(server farm)环境中实现。通常,在数据中心和服务器集群中使用的服务器包括阵列化服务器配置,诸如基于机架的服务器或刀片服务器。这些服务器通过各种网络配置通信互连,诸如将多组服务器分区到LAN中,采用LAN之间的适当的切换和路由设施以便形成专用内联网。例如,云托管设施可通常采用具有许多服务器的大型数据中心。为了可靠性的目的,服务器的数个部分用于数据复制,从而使得如果给定服务器故障,仍有至少一个服务器具有数据的实例(通常,将存在多个备份实例)。此外,某些云服务器采用地理数据复制,其中,跨数据中心地在分离的地理位置复制数据,从而使得如果到数据中心之一的通信损坏,可通过另一个数据中心促成云服务。
作为概览,在图14a-c和图15中示出典型的刀片服务器组件和系统。在典型配置下,机架式机箱1400用于提供多个服务器刀片(即,刀片)1402的功率和通信功能,这些刀片服务器各自占据相应的槽道。(注意:无需占据机箱内的所有槽道。)进而,一个或多个机箱1400可安装在图14c中示出的刀片服务器机架1403中。每个刀片在安装时通过一个或多个配合连接器耦合到接口板(即,背板或中间板)。通常,接口板将包括向刀片提供功率和通信信号的多个对应的配合连接器。在当前实践下,许多接口板提供“热交换”功能,即,通过适当的功率和数据信号缓冲,可在工作中添加或移除(“热交换”)刀片,而无需拆卸整个机箱。
图14a和图14b中示出典型的中间板接口板配置。接口板1404的背侧耦合到一个或多个电源1406。经常,电源是冗余的和可热交换的,耦合到适当的功率板和调节电路以便使得能够在电源故障的情况下进行连续操作。在可选配置中,电源阵列可用于向整个刀片机架供电,其中,不存在电源-机箱的一一对应关系。多个冷却风扇1408用于将空气抽吸通过机箱以便冷却服务器刀片。
所有刀片服务器都所需的重要特征是与其他IT基础设施进行外部通信的能力。这通常是通过一个或多个网络连接卡1410促成的,这些连接卡各自耦合到接口板1404。通常,网络连接卡可包括包含多个网络端口连接(例如RJ-45端口)的物理接口、或者可包括被设计成用于直接连接到网络设备(诸如网络交换机、集线器、或路由器)的高密度连接器。
刀片服务器通常提供用于管理各个刀片的操作的某种类型的管理接口。这可通常由内建的网络或通信信道促成。例如,用于促成“专用”或“管理”网络以及适当切换的一条或多条总线可嵌入到接口板中,或者可通过密切耦合的网络缆线和网络实现专用网络。可选地,切换和其他管理功能可由耦合到接口板的背侧或前侧的管理交换机卡1412提供。作为再一个选项,管理或配置服务器可用于管理刀片活动,其中,通过标准计算机联网基础设施(例如以太网)处理通信。
参照图15,示出示例性刀片1500的进一步的细节。如上所述,每个刀片包括被配置成用于执行服务器型功能的分离的计算平台(即,是“卡上服务器”)。相应地,每个刀片包括常规服务器常见的组件,包括提供用于耦合适当的集成电路的内部布线(即,总线)的主印刷电路板(主板)1501以及安装到主板上的其他组件。这些组件包括耦合到系统存储器1504(例如某种形式的随机存取存储器(RAM)、高速缓存存储器1506(例如SDRAM)、以及固件存储设备1508(例如闪存))上的一个或多个处理器。“公共”NIC(网络接口控制器)芯片1510被提供用于支持常规网络通信功能,诸如支持刀片和外部网络基础设施之间的通信。其他被示出的组件包括状态LED(发光二极管)1512、耦合到一组RJ-45控制台端口1514(出于简单的目的仅示出其中一个)的一个或多个NIC 1513、以及接口板连接器1516。附加组件包括各种无源组件(即,电阻器、电容器)、功率调节组件、以及外围设备连接器。
总体上,每个刀片1500还可提供板上存储。这通常是通过一个或多个内建的盘控制器和一个或多个盘驱动器1518耦合到其上的相应的连接器促成。例如,典型的盘控制器包括SATA控制器、SCSI控制器等等。作为选项,可在相同或分离的机架中与刀片分离地容纳盘驱动器,诸如,对于用于存储大量数据的网络附接存储(NAS)电器或后端存储子系统可以是这种情况。
NIC 1513包括用于促成相应的联网操作(诸如对于物理层(L1)和数据链路层操作(L2)的支持)的电路和逻辑。通常,上层操作由将由在处理器1502上运行的操作系统托管的操作系统网络堆栈促成。然而,在某些实施例中,NIC可通过嵌入式逻辑等等采用其自身的网络堆栈。
在典型的数据中心布局中,网络交换元件包括安装于机架的设备,例如,其将会占据1U、2U或4U插槽,或可通过一个或多个服务器刀片实现。可选地,可使用一个或多个刀片服务器实现网络交换元件。
总体上,可通过软件、硬件(通过例如嵌入式逻辑)、或二者的组合实现信息流管理和生成树确定协议的各方面。例如,网络元件可包括运行基于软件的网络堆栈的处理器,以及通过用于执行在此描述的操作的各方面的软件而实现的相关联的逻辑。可选地,可通过NIC、大规模网络接口等等中的嵌入式逻辑实现类似的逻辑。
尽管已经参照具体实现方式描述了某些实施例,其他实现方式根据某些实施例是可能的。此外,在附图中示出和/或在此描述的元件或其他特征的安排和/或顺序无需以所示出和描述的特定方式安排。许多其他安排根据某些实施例是可能的。
在附图中示出的每个系统中,在某些情况下,元件可各自具有相同的参考标号或不同的参考标号,以便提示所表示的元件可不同和/或类似。然而,元件可足够灵活以便具有不同的实现方式并且与在此示出或描述的某些或所有系统一起工作。在附图中示出的各个元件可相同或不同。将哪一个称为第一元件以及将哪一个称为第二元件是任意的。
在说明书和权利要求书中,可使用术语“耦合”和“连接”及其衍生项。应当理解的是这些术语不旨在作为彼此的同义词。而是,在具体实施例中,“连接”可用于指示两个或更多个元件与彼此直接物理或电接触。“耦合”可意指两个或更多个元件直接物理或电接触。然而,“耦合”还可意指两个或更多个元件并不彼此直接接触但是仍彼此协作或交互。
算法在此并且通常被认为是导致所希望的结果的动作或操作的自洽序列。这些动作或操作包括物理量的物理操纵。通常,尽管不必需,这些量采取能够被存储、传输、组合、比较、以及以其他方式操纵的电信号或磁信号的形式。已经证明方便的是,有时主要出于常见用途的原因,将这些信号称为位、值、元素、符号、字符、项目、编号等等。然而,应当理解的是所有这些和类似的术语应与适当的物理量相关联并且仅仅是适用于那些量的方便标记。
实施例是本发明的实现方式或示例。本说明书中对“实施例”、“一个实施例”、“某些实施例”、或“其他实施例”的引用是指在此结合该实施例所述的特定特征、结构或特性包括在本发明的至少某些实施例中,但无需包括在所有实施例中。各种出现的“实施例”、“一个实施例”或“某些实施例”未必全部都指代相同的实施例。
不是所有在此描述和示出的组件、特征、结构、特性等等需要被包括在一个或多个特定实施例中。如果说明书陈述说,例如,组件、特征、结构、或特性“可”、“可能”、“能够”或“可以”被包括,则并不要求包括该特定特征、结构、或特性。如果说明书或权利要求书提到“一”或“一个”元件,这不意味着仅存在一个这种元件。如果说明书或权利要求书提到“附加”元件,这不排除存在多于一个这种附加元件。
如上所述,可通过相应的软件和/或固件组件和应用(诸如在服务器上运行的软件或在由网络元件上的嵌入式处理器执行的固件)促成在此的实施例的各个方面。因此,本发明的实施例可用作或支持在某种形式的处理核(诸如计算机的CPU、多核处理器的一个或多个核)上执行的软件程序、软件模块、固件、和/或分布式软件、在处理器或核上运行的或者以其他方式在机器可读介质上或内实现或达成的虚拟机。机器可读介质包括用于存储或传输采取机器(例如,计算机)可读形式的信息的任何机构。例如,机器可读介质可包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪存设备等等。
本发明的所示出实施例的以上描述,包括在摘要中所描述的内容,不旨在是排他性的或者将本发明限制为所公开的精确形式。尽管在此为了示意性的目的描述了本发明的特定实施例和示例,在本发明的范围内,各种等效修改是可能的,正如本领域普通技术人员将认识到的那样。
可根据以上详细描述对本发明做出这些修改。在随附的权利要求中所使用的条款不应被解释为将本发明限制成在说明书和附图中所公开的特定实施例。而是,本发明的范围应该完全由随附的权利要求书确定,应当根据权利要求解释的既成的原则对其进行解释。
Claims (27)
1.一种用于在包括多个网络交换元件(NSE)和多条链路的网络中路由信息流的方法,每个NSE通信地通过至少一条链路耦合到至少一个其他NSE并且通信地耦合到控制器,所述方法包括:
从所述NSE接收状态信息,所述状态信息包括和被NSE使用以促成对指派给该NSE的信息流的路由的处理器资源有关的数据;
使用包括用于所述NSE的所述状态信息中的与处理器资源有关的数据的数据,为在所述网络中的NSE之间的路由路径确定链路路径成本;
计算包括链路路径路由树的生成树,所述生成树使得每个NSE能够达到每个其他NSE并且不具有回路路径,所述生成树中的所述链路路径是根据所述链路路径成本而确定的;以及
向所述网络中的NSE指派信息流,从而通过所述生成树中的所述链路路径路由信息流,
其中NSE的状态信息中的与处理器资源有关的数据包括该NSE中至少一个处理器的能力信息和使用信息中的至少一个。
2.如权利要求1所述的方法,进一步包括在至少一个NSE处生成所述状态信息。
3.如权利要求1所述的方法,其中,所述NSE被配置成用于作为基于软件的交换机操作。
4.如权利要求3所述的方法,进一步包括根据OpenFlow交换机规范来指派信息流。
5.如权利要求1所述的方法,其中,所述网络包括多个以太网段,每个以太网段耦合到至少一个NSE,并且其中,所述生成树是使用生成树协议计算的。
6.如权利要求1所述的方法,其中,所述网络包括通过多个以太网链路耦合的多个NSE节点。
7.如权利要求1所述的方法,进一步包括:
重新计算具有与用于确定一个或多个现有的信息流的生成树不同的配置的新的生成树;以及
将通过不是所述新的生成树中的链路而路由的至少一个现有的信息流重新指派为使用所述新的生成树中的链路路径来重新路由。
8.如权利要求7所述的方法,进一步包括周期性地重新计算所述生成树。
9.如权利要求1所述的方法,进一步包括:
从所述NSE接收状态信息,所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的处理器资源有关的数据;以及
在向所述NSE指派信息流时采用所述状态信息。
10.如权利要求1所述的方法,进一步包括采用多个控制器来在所述网络中指派信息流。
11.一种控制器,包括:
处理模块,包括至少一个处理器;
通信接口,操作性地耦合到所述处理模块;以及
存储装置,操作性地耦合到所述处理模块,其中存储有被配置成用于通过所述处理模块执行的指令,从而当所述控制器在包括多个交换元件(NSE)和多条链路的网络中操作时致使所述控制器执行操作,每个NSE包括网络中的节点,所述节点通信地通过至少一条链路耦合到至少一个其他NSE,所述操作包括,
通过所述通信接口从所述NSE接收状态信息,从NSE接收的所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的处理器资源有关的数据;
使用包括从所述NSE接收的所述状态信息中的与处理器资源有关的数据的数据为在所述网络中的节点之间的路由路径确定链路路径成本;
计算包括链路路径路由树的生成树,所述生成树使得每个节点能够达到每个其他节点并且不具有回路路径,所述生成树中的所述链路路径是根据所述链路路径成本而确定的;以及
向所述网络中的NSE指派信息流,从而通过所述生成树中的所述链路路径在所述网络中的节点之间路由信息流,
其中NSE的状态信息中的与处理器资源有关的数据包括该NSE中至少一个处理器的能力信息和使用信息中的至少一个。
12.如权利要求11所述的控制器,其中,所述NSE包括采用流表的基于软件的交换机,并且根据OpenFlow交换机规范配置由所述控制器指派的所述信息流。
13.如权利要求11所述的控制器,其中,所述网络包括多个以太网段,每个以太网段耦合到至少一个NSE,并且其中所述生成树是使用生成树协议计算的。
14.如权利要求11所述的控制器,其中,所述指令的执行进一步致使所述控制器在操作时执行操作,所述操作包括:
通过所述通信接口从多个NSE接收状态信息,所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的处理器资源有关的数据;以及
重新计算具有与用于确定一个或多个现有的信息流的生成树不同的配置的新的生成树;以及
将通过不是所述新的生成树中的链路而路由的至少一个现有的信息流重新指派为使用所述新的生成树中的链路路径来重新路由。
15.如权利要求11所述的控制器,其中,所述指令的执行进一步致使所述控制器在操作时执行操作,所述操作包括:
从多个NSE接收状态信息,所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的资源有关的数据;以及
在向所述NSE指派信息流时采用所述状态信息。
16.一种控制器,当在包括多个网络交换元件(NSE)和多条链路的网络中操作时,其中每个NSE通过至少一条链路通信地耦合到至少一个其他NSE并且当所述控制器操作时通信地耦合到所述控制器,所述控制器执行操作,所述操作包括:
从所述NSE接收状态信息,所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的处理器资源有关的数据;
使用包括所述状态信息中的与处理器资源有关的数据的数据为在所述网络中的NSE之间的路由路径确定链路路径成本;
计算包括链路路径路由树的生成树,所述生成树使得每个NSE能够达到每个其他NSE并且不具有回路路径,所述生成树中的所述链路路径是根据所述链路路径成本而确定的;以及
向所述网络中的NSE指派信息流,从而通过所述生成树中的所述链路路径路由信息流,
其中NSE的状态信息中的与处理器资源有关的数据包括该NSE中至少一个处理器的能力信息和使用信息中的至少一个。
17.如权利要求16所述的控制器,其中,所述NSE包括采用流表的基于软件的交换机,并且根据OpenFlow交换机规范配置由所述控制器指派的所述信息流。
18.如权利要求16所述的控制器,其中,所述控制器执行进一步的操作,所述操作包括:
通过所述通信接口从多个NSE接收状态信息,所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的资源有关的数据;以及
重新计算具有与用于确定一个或多个现有的信息流的生成树不同的配置的新的生成树;以及
将通过不是所述新的生成树中的链路而路由的至少一个现有的信息流重新指派为使用所述新的生成树中的链路路径来重新路由。
19.如权利要求16所述的控制器,其中,所述控制器执行进一步的操作,所述操作包括:
从多个NSE接收状态信息,所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的资源有关的数据;以及
在向所述NSE指派信息流时采用所述状态信息。
20.一种系统,包括:
包括多个网络交换元件(NSE)和多条链路的网络,每个NSE通信地通过至少一条链路耦合到至少一个其他NSE;以及
第一控制器,通信地耦合到每个NSE并且被配置成用于执行操作,所述操作包括:
从所述NSE接收状态信息,所述状态信息包括和被所述NSE使用以促成对指派给所述NSE的信息流的路由的处理器资源有关的数据;
为所述网络中的NSE之间的路由路径确定链路路径成本,所述链路路径成本是至少部分地通过使用所述状态信息中与处理器资源有关的数据而导出的;
计算包括链路路径路由树的生成树,所述生成树使得每个NSE能够达到每个其他NSE并且不具有回路路径,所述生成树中的所述链路路径是根据所述链路路径成本而确定的;以及
向所述网络中的NSE指派信息流,从而通过所述生成树中的所述链路路径路由信息流,
其中NSE的状态信息中的与处理器资源有关的数据包括该NSE中至少一个处理器的能力信息和使用信息中的至少一个。
21.如权利要求20所述的系统,其中,所述NSE被配置成用于作为基于软件的交换机操作,并且根据OpenFlow交换机规范配置所述信息流中的信息。
22.如权利要求20所述的系统,其中,所述网络包括多个以太网段,每个以太网段耦合到至少一个NSE,并且其中,所述生成树是使用生成树协议而计算的。
23.如权利要求20所述的系统,其中,所述网络包括通过多条链路耦合在一起的多个NSE节点,其中,每个NSE通过至少一条直接链路耦合到至少一个其他NSE。
24.如权利要求20所述的系统,进一步包括包含所述第一控制器的多个控制器,每个控制器具有类似于所述第一控制器的配置并且被配置成用于向所述NSE中的至少一部分指派信息流。
25.如权利要求20所述的系统,其中,所述网络包括片上网络,并且所述第一控制器包括结构管理器。
26.一种机器可读介质,其上存储有指令,所述指令被配置成用于由控制器当在包括多个网络交换元件(NSE)和多条链路的网络中操作时执行,其中,所述控制器对所述指令的执行使得所述控制器能够执行如权利要求1-10中任一项所述的方法。
27.一种用于在包括多个网络交换元件(NSE)和多条链路的网络中路由信息流的设备,包括多个装置,每个装置用于执行如权利要求1-10中任一项所述的方法的相应步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/532,971 US8982734B2 (en) | 2012-06-26 | 2012-06-26 | Methods, apparatus, and systems for routing information flows in networks using spanning trees and network switching element resources |
US13/532,971 | 2012-06-26 | ||
PCT/US2013/044618 WO2014004039A1 (en) | 2012-06-26 | 2013-06-06 | Methods, apparatus, and systems for routing information flows in networks using spanning trees and network switching element resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104335535A CN104335535A (zh) | 2015-02-04 |
CN104335535B true CN104335535B (zh) | 2018-02-02 |
Family
ID=49774368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380027723.4A Active CN104335535B (zh) | 2012-06-26 | 2013-06-06 | 使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8982734B2 (zh) |
CN (1) | CN104335535B (zh) |
WO (1) | WO2014004039A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104081722B (zh) * | 2012-01-13 | 2018-05-22 | 英特尔公司 | SoC构造中的高效对等通信支持 |
US9210039B2 (en) | 2012-05-10 | 2015-12-08 | Intel Corporation | Generating and/or receiving at least one packet to facilitate, at least in part, network path establishment |
CN106789751B (zh) | 2012-05-10 | 2020-07-28 | 英特尔公司 | 基于资源可用性的网络路由 |
US20140153443A1 (en) * | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | Per-Address Spanning Tree Networks |
US9825848B2 (en) * | 2013-03-14 | 2017-11-21 | Nec Corporation | Communication network and data transmission and reception method thereof |
US11018935B1 (en) * | 2013-05-10 | 2021-05-25 | Marvell Asia Pte Ltd | Network traffic quality-based dynamic path change |
US20160149779A1 (en) * | 2013-05-27 | 2016-05-26 | Rangaprasad Sampath | System state message in software defined networking |
WO2015036023A1 (en) * | 2013-09-12 | 2015-03-19 | Nec Europe Ltd. | A method for operating an information-centric network and network |
GB2524749B (en) * | 2014-03-31 | 2018-12-19 | Metaswitch Networks Ltd | Spanning tree protocol |
EP3188408B1 (en) * | 2014-09-23 | 2020-07-29 | Huawei Technologies Co. Ltd. | Method and apparatus for determining network topology, and centralized network state information storage device |
US20170237649A1 (en) * | 2015-01-30 | 2017-08-17 | Hewlett-Packard Development Company, L.P. | Adjusted spanning tree protocol path cost values in a software defined network |
CN105991435B (zh) * | 2015-02-05 | 2019-08-27 | 华为技术有限公司 | 用于获取端口路径的方法及装置 |
CN104657308A (zh) * | 2015-03-04 | 2015-05-27 | 浪潮电子信息产业股份有限公司 | 一种用fpga实现的服务器硬件加速的方法 |
US10503416B1 (en) * | 2015-06-10 | 2019-12-10 | EMC IP Holdings Company LLC | Flash memory complex with a replication interface to replicate data to another flash memory complex of a data processing system |
US10515014B1 (en) | 2015-06-10 | 2019-12-24 | EMC IP Holding Company LLC | Non-uniform memory access (NUMA) mechanism for accessing memory with cache coherence |
US10713334B1 (en) * | 2015-06-10 | 2020-07-14 | EMC IP Holding Company LLC | Data processing system with a scalable architecture over ethernet |
US10496284B1 (en) | 2015-06-10 | 2019-12-03 | EMC IP Holding Company LLC | Software-implemented flash translation layer policies in a data processing system |
US11010054B1 (en) | 2015-06-10 | 2021-05-18 | EMC IP Holding Company LLC | Exabyte-scale data processing system |
US9826414B2 (en) * | 2015-10-12 | 2017-11-21 | T-Mobile Usa, Inc. | Cellular backhaul coverage algorithms |
CN105550157B (zh) | 2015-12-24 | 2017-06-27 | 中国科学院计算技术研究所 | 一种分形树结构通信结构、方法、控制装置及智能芯片 |
US11108592B2 (en) * | 2016-01-21 | 2021-08-31 | Cox Communications, Inc. | Systems and methods for implementing a layer two proxy for wireless network data |
KR101808513B1 (ko) * | 2017-06-22 | 2018-01-18 | 임철수 | 한대의본체로 다수가 사용하는 컴퓨터장치 및 그 운영방법 |
EP3461081A1 (de) * | 2017-09-22 | 2019-03-27 | Siemens Aktiengesellschaft | Verfahren zum betrieb eines mehrere kommunikationsgeräte umfassenden kommunikationsnetzes eines industriellen automatisierungssystems, steuerungseinheit und kommunikationsgerät |
CN107634909A (zh) * | 2017-10-16 | 2018-01-26 | 北京中科睿芯科技有限公司 | 面向多地址共享数据路由包的路由网络及路由方法 |
CN108234303B (zh) * | 2017-12-01 | 2020-10-09 | 北京中科睿芯科技有限公司 | 面向多地址共享数据路由包的双环结构片上网络路由方法 |
US10958561B1 (en) * | 2019-03-25 | 2021-03-23 | Juniper Networks, Inc. | Utilizing egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan |
GB2591118A (en) * | 2020-01-16 | 2021-07-21 | Sony Corp | A controller, computer program and method |
CN114844827B (zh) * | 2022-05-05 | 2023-03-28 | 浙江大学 | 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625872A (zh) * | 2002-05-08 | 2005-06-08 | 诺基亚公司 | 用于在网络中分配信息的分配方案 |
WO2011161575A1 (en) * | 2010-06-25 | 2011-12-29 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
CN102347900A (zh) * | 2010-07-30 | 2012-02-08 | 美国博通公司 | 整合虚拟和物理网络交换设备到异构交换域的方法和系统 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3479834B2 (ja) | 2000-09-04 | 2003-12-15 | 日本電気株式会社 | 無線アクセスネットワークの経路制御システム及び方法 |
US6982960B2 (en) | 2001-03-09 | 2006-01-03 | Motorola, Inc. | Protocol for self-organizing network using a logical spanning tree backbone |
US7450527B2 (en) * | 2004-11-23 | 2008-11-11 | Nortel Networks Limited | Method and apparatus for implementing multiple portals into an Rbridge network |
US7876689B2 (en) * | 2005-06-29 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for load balancing network interface adapters based on network information |
US7646733B2 (en) * | 2005-09-16 | 2010-01-12 | Cisco Technology, Inc. | System and method for generating symmetrical spanning trees |
US20080002681A1 (en) | 2006-06-30 | 2008-01-03 | Symbol Technologies, Inc. | Network wireless/RFID switch architecture for multi-core hardware platforms using a multi-core abstraction layer (MCAL) |
MX2009006147A (es) * | 2007-01-19 | 2009-06-26 | Ericsson Telefon Ab L M | Metodo y aparato para manejo de arbol de red. |
US8509075B2 (en) * | 2007-03-23 | 2013-08-13 | Hewlett-Packard Development Company, Lp | Data-type-based network path configuration |
US7864712B2 (en) * | 2007-07-20 | 2011-01-04 | Cisco Technology, Inc. | Preventing loops in networks operating different protocols to provide loop-free topology |
US8325630B2 (en) * | 2008-02-29 | 2012-12-04 | Cisco Technology, Inc. | Distributed spanning tree protocol on a multi chassis port channel |
EP2136501B1 (en) * | 2008-06-20 | 2019-12-04 | LG Electronics Inc. | Method of delivering a PDCP data unit to an upper layer |
US7787399B2 (en) * | 2008-07-25 | 2010-08-31 | Alcatel-Lucent Usa Inc. | Automatically configuring mesh groups in data networks |
US8089866B2 (en) * | 2009-10-16 | 2012-01-03 | Ciena Corporation | Spanning tree flooding backbone systems and methods for link state routed networks |
WO2011074559A1 (ja) | 2009-12-17 | 2011-06-23 | 日本電気株式会社 | ネットワークシステム、ネットワーク制御装置、及び制御方法 |
WO2011083682A1 (ja) | 2010-01-05 | 2011-07-14 | 日本電気株式会社 | スイッチネットワークシステム、コントローラ、及び制御方法 |
US8320281B2 (en) * | 2010-03-09 | 2012-11-27 | Genband Us Llc | Methods, systems and computer readable media for utilizing a standard spanning tree protocol to indicate an active switching fabric in a network node |
US8625466B2 (en) * | 2010-05-11 | 2014-01-07 | Calix, Inc. | Multi-card network device appearing as single entity in spanning tree network |
US8559341B2 (en) | 2010-11-08 | 2013-10-15 | Cisco Technology, Inc. | System and method for providing a loop free topology in a network environment |
CN106789751B (zh) | 2012-05-10 | 2020-07-28 | 英特尔公司 | 基于资源可用性的网络路由 |
-
2012
- 2012-06-26 US US13/532,971 patent/US8982734B2/en active Active
-
2013
- 2013-06-06 CN CN201380027723.4A patent/CN104335535B/zh active Active
- 2013-06-06 WO PCT/US2013/044618 patent/WO2014004039A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625872A (zh) * | 2002-05-08 | 2005-06-08 | 诺基亚公司 | 用于在网络中分配信息的分配方案 |
WO2011161575A1 (en) * | 2010-06-25 | 2011-12-29 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
CN102347900A (zh) * | 2010-07-30 | 2012-02-08 | 美国博通公司 | 整合虚拟和物理网络交换设备到异构交换域的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2014004039A1 (en) | 2014-01-03 |
CN104335535A (zh) | 2015-02-04 |
US8982734B2 (en) | 2015-03-17 |
US20130343229A1 (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104335535B (zh) | 使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统 | |
Cui et al. | Wireless data center networking | |
CN104335530B (zh) | 用于网络元件的网络路由协议节能方法和装置 | |
CN104702522B (zh) | 软件定义网络中路由数据的计算机实现方法、装置、控制器 | |
Legtchenko et al. | {XFabric}: A Reconfigurable {In-Rack} Network for {Rack-Scale} Computers | |
CN102105865B (zh) | 虚拟机环境中不中断网络连通性的电源管理方法和系统 | |
CN103560967B (zh) | 一种业务需求感知的虚拟数据中心映射方法 | |
CN103380600B (zh) | 网络系统和网络流跟踪方法 | |
CN104717098B (zh) | 一种数据处理方法及装置 | |
US20140185627A1 (en) | Link aggregation emulation for virtual nics in a cluster server | |
CN104871490B (zh) | 能够改进能量使用效率的多径通信装置及其用于改进能量使用效率的业务分配方法 | |
CN104247341B (zh) | 分布式交换机及其多播树层次结构的动态优化方法 | |
CN104166597B (zh) | 一种分配远程内存的方法及装置 | |
EP3063903A1 (en) | Method and system for load balancing at a data network | |
CN106452958A (zh) | 一种流量控制方法、系统及集中控制器 | |
CN103746911A (zh) | 一种sdn网络结构及其通信方法 | |
Pham et al. | Congestion-aware and energy-aware virtual network embedding | |
CN106034077A (zh) | 一种动态路由配置方法、装置及系统 | |
Li et al. | Willow: Saving data center network energy for network-limited flows | |
CN104243536B (zh) | 一种高速列车控制网络半实物仿真系统 | |
CN103416026B (zh) | 网络系统和分组处理方法 | |
US20120113870A1 (en) | Configuration of network links in a virtual connection environment | |
US20130322299A1 (en) | Optimized spanning tree construction based on parameter selection | |
Rahman et al. | Nutshell—simulation toolkit for modeling data center networks and cloud computing | |
Conterato et al. | Reducing energy consumption in SDN-based data center networks through flow consolidation strategies |
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 |