CN104335530A - 用于网络元件的网络路由协议节能方法 - Google Patents
用于网络元件的网络路由协议节能方法 Download PDFInfo
- Publication number
- CN104335530A CN104335530A CN201280073671.XA CN201280073671A CN104335530A CN 104335530 A CN104335530 A CN 104335530A CN 201280073671 A CN201280073671 A CN 201280073671A CN 104335530 A CN104335530 A CN 104335530A
- Authority
- CN
- China
- Prior art keywords
- link
- network
- node
- power
- path
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- 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]
-
- 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/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0833—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network energy consumption
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了涉及网络路由协议的、用于支持网络元件中的节能的方法和装置。使用诸如生成树、链路状态和距离向量路由协议等的路由协议来发现计算机网络的最高利用率链路路径网络拓扑。依据最高利用率链路路径网络拓扑,把各链路标识为用于功率管理的候选项,在此功率管理下,管理链路的功率状态和关联的网络端口以便在适用的链路状况(例如低利用率)下节能。检测链路功率状态改变状况,且作为响应,通过在链路端部改变网络端口的功率状态实现对链路的功率状态的相应改变。功率状态改变包括把链路置于降低功率状态、使得链路离线以及恢复链路加电。
Description
发明领域
本发明的领域总体上涉及计算机网络,且更具体地但不排他地涉及支持在诸如交换机、路由器和网桥等的网络元件中的节能的网络路由协议。
发明背景
自从微处理器问世以来,计算机系统已经变得越来越快。大致遵循摩尔定律(基于公司联合创始人戈登·摩尔1965年发表的文章,预测集成电路的晶体管数量每两年翻一番),这种速度增加已经以相当均匀的速率上升达接近三十年内。与此同时,存储器和非易失性存储两者的大小也已经稳定地增加,使得现今的个人计算机中很多都比10-15年以前的超级计算机更加强大。另外,同样也可以看到网络通信的速度天文数字般地增加。
处理器速度、存储器、存储和网络带宽技术的增加已经引起具有更加强大的能力的网络的构建和部署。最近,基于云的服务(例如由亚马逊(例如,亚马逊弹性计算云(EC2)和简单存储服务(S3))和微软(例如,Azure和Office365)提供的那些服务)的问世,已经引起用于公共网络基础设施的额外网络构建,且引起对于大数据中心的部署的增加,以支持采用私有网络基础设施的这些服务。另外,预计新一代(即,4G)移动网络数据服务在不久的将来显著地影响陆线网络的利用率。这些和其他考虑的结果是预计在可预见的将来计算机网络的利用率继续高速增长。
通常,计算机网络部署被设计为在高峰工作状况期间和/或在持续操作周期内能提供足够的服务质量(QoS)水平。这些网络也被设计为高度可靠,通常带有在设备和网络链路两者内的内建冗余度。此外,由于通常可以沿着在两个网络端点之间的多个不同路线路由各分组,现代的网络路由方案具有固有的内建冗余度。经由包括交换机、路由器和网桥的众多网络元件的广泛部署促成这一点,所述的交换机、路由器和网桥被配置为使用诸如TCP/IP、UDP、RIP、以太网等等的众所周知的协议经由在各网络元件之间的高带宽链路动态地路由网络流量。
为高峰工作状况设计的网络部署的结果是网络可能在相当长的时间帧期间具有过剩的能力。例如,对于给定的时区,网络的利用率在深夜和清晨的时候可能显著较低。这提供了通过在维持完全路由功能性(意味着仍然可以经由网络或子网在任何两个端点之间路由分组)的同时有选择地降低网络容量来节能的机会。
附图简述
当结合附图阅读时,通过参考下列详细描述更容易理解且也将更容易明白本发明的前述方面和许多随之而来的优势,附图中,除非特别指出,贯穿各图,类似的标号指示类似的部分:
图1是说明包括经由网桥和关联的链路耦合的多个以太网段的示例性网络的各种网络节点和链路的示意性网络拓扑图;
图1a-1e共同说明用以确定图1中的网络的根端口和指定端口的生成树协议的实现;
图2是说明各网络节点的示例性网络链路拓扑和相应的链路状态的组合网络拓扑和链路状态图;
图2a示出图2的网络拓扑,其中把最少成本路由路径示出为粗实线,且把非最少成本路由路径示出为虚线;
图2b示出具有与图2中所示出的网络共用的网络拓扑的网络,还描绘了链路利用率值;
图3是说明用于使用链路状态路由协议来生成最少成本路径路由树的操作和逻辑的流程图;
图4a-4i说明使用链路状态路由算法生成图2中所示出的网络的节点A的最少成本路径路由树;
图4j示出节点A的最少成本路径路由树的最终形式;
图4k示出包括非最少成本路径的节点A的路由树中的链路;
图5示出用来描述使用距离向量路由协议确定最少成本路径路由的示例的简单四节点网络图;
图6a示出图5的网络中的节点A-D中的每一个的距离向量路由矩阵的初始配置;
图6b示出图5的网络中的节点A-D中的每一个的距离向量路由矩阵的最终配置;
图7a和7b包括说明根据一种实施例用于生成最高利用率链路生成树的操作和逻辑的流程图部分;
图8a-8h说明用于图2b中所示出的网络的、且根据图7b的流程图的最高利用率链路路径路由树的产生;
图8i示出用于图2a的网络的最高利用率链路路径路由树的最终形式;
图9是说明根据一种实施例用于实现网络路由功率管理协议以便降低所选择的链路的功率状态的操作和逻辑的流程图;
图10是说明根据一种实施例用于把网络链路和关联的网络端口置于低功率状态的操作的流程图;
图11是说明根据一种实施例用于实现网络路由功率管理协议以便有选择地使得具有低功率状态的链路返回到高功率操作状态的操作和逻辑的流程图;
图12是说明根据一种实施例用于使得网络链路和关联的网络端口从低功率状态返回到高功率操作状态的操作的流程图;
图13a是其中安装有多个服务器刀片的示例性刀片服务器机箱的正等距视图;
图13b是图13a的刀片服务器机箱的后等距视图;
图13c是其中安装有对应于图13a和13b的多个机架式刀片服务器机箱的示例性刀片服务器机柜的等距视图;以及
图14示出根据一种实施例的典型服务器刀片的组件的细节。
本发明的详细描述
在此描述涉及用以支持网络元件中的节能的网络路由协议的方法和装置的实施例。在下列描述中,陈述了众多特定的细节以便提供对本发明的各实施例的透彻理解。然而,相关领域中的技术人员将认识到,无需特定细节中的一个或多个,或借助于其他方法、组件、材料等等,就可以实践本发明。在其他实例中,不详细示出或描述公知的结构、材料或操作,以避免模糊本发明的各方面。
根据在此公开的实施例的各方面,提供促成诸如交换机、路由器和网桥等的网络元件中的节能的网络路由协议。各网络路由协议允许通过在维持完全路由功能性且满足适用的网络性能准则的同时降低适用的网络链路和关联的端口的功率状态来有选择地降低网络容量以便获得节能。各实施例中所公开的技术可以适用于使用相应的路由协议的各种类型的网络和网络体系结构。此外,通常可以在现有的和将来的网络体系结构两者中实现在此公开的原理和教导。
各协议的第一方面是确定适用的网络的拓扑。这通常涉及发现包括网络元件(通常被称为节点)、链路、网段等等的适用的网络组件,并确定诸如路由成本等的参数。一旦已知网络拓扑,就确定哪些链路和关联的网络接口(例如,网络端口和/或网络接口控制器(NIC))是用于功率管理的合适候选项。如在此所使用的,链路功率管理通常涉及通过适用的手段(例如链路离线或把链路功率状态降低到低功率空闲状态,并且给链路供电以便将其恢复到在线(online))来控制链路功率状态控制。在正在进行的网络运作期间,监视链路流量(traffic)和相关参数,且执行对于改变功率管理候选项链路的链路功率状态的合适事件的检测。响应于这样的事件,实施链路功率状态改变,且更新网络拓扑信息。可以持续不断地重复前述过程,因而响应于降低适用链路的功率水平的适用的机会,通过网络拓扑的动态重新配置来促成节能。
通常,各技术可以适用于几乎任何的网络体系结构。然而,为了更好理解如何实现各网络路由协议,下面详细描述涉及具体的网络体系结构和结构的示例。这些示例不应被解释成要把原理和概念的应用仅限制在示例中所描绘的网络体系结构。
经由生成树协议发现网络拓扑
在一种实施例中,把生成树协议(Spanning Tree Protocol,STP)的各方面用于促成网络拓扑发现,并确定是功率管理候选项的链路。STP是确保用于任何桥接的以太网局域网(LAN)的无回路(loop-free)拓扑的网络协议。在常规的使用下,实现STP以便防止网桥回路,同时并发地确保保持可经由网络中的任何节点访问所有LAN或网段。STP也允许网络设计包括备用(冗余的)链路以便如果活动链路故障则提供自动备份路径,而没有网桥回路的问题,也没有对这些备份链路的手动启用/禁用的需求。在IEEE标准802.1D-2004中定义了STP的标准实现。出于清晰和简洁起见,在此呈现标准实现的所选择的各方面。
为了可视化STP的操作,把该网络拓扑描绘为一个图,其节点是使用在每一连接处有相应的接口(即,端口)的网络链路耦合到LAN段的网桥。图1中描绘了网络100的示例性图和相应的网络拓扑。网络100包括被标记为A-J的多个网段,这些网段经由被标记为2-7、9-11和14的网桥和耦合在网段和网桥之间的相应网络链路互连。出于方便和清晰起见,每一网络链路被标记为N-A,其中N是网桥号且A是网段。例如,把网桥3耦合为与网段A、B、C和D通信的网络链路分别被标记为3-A、3-B、3-C和3-D。另外,下面讨论中的网桥ID简化为每一网桥节点的节点号,且在下列描述中可互换地使用术语网桥和节点。
为了在保持对所有LAN网段的访问的同时打破LAN中的回路,各网桥共同地计算生成树。可以使用下列规则和操作来确定各网桥使用生成树协议来计算的生成树。
首先,选择生成树的根网桥。生成树的根网桥是具有最小(最低)网桥ID的网桥。每一网桥具有唯一标识符(ID)和可配置的优先级号;网桥ID包含这两个数字,其中,使用优先级号来确定最小网桥ID,且在其中两个或更多个网桥共享相同的优先级号的情形中,把唯一ID用作最后决胜因素(tie-breaker)。例如,为了比较两个网桥ID,首先比较优先级。如果两个网桥具有相等的优先级,那么,比较MAC地址(保证MAC地址是唯一的,且因而用作唯一ID),且较低的MAC地址决定胜负。由于每一网桥的优先级是可配置的,网络管理员可以通过把网桥设置成具有比所有其他网桥更低的优先级号来选择哪一网桥是根网桥。对于其中根网桥未知的网络,可以使用下列的操作自动地确定根网桥。
参见图1a,每一网桥节点沿着其链路中的每一个向其邻近节点发出问候消息(hello message),允许邻近节点交换配置信息。在STP下,问候消息包括被称为网桥协议数据单元(BPDU)的专用数据帧,它被用来交换关于网桥ID和根路径成本的信息。网桥发送BPDU帧,该BPDU帧把端口本身的唯一MAC地址用作源地址,且目的地地址为STP多播地址01:80:C2:00:00:00。
如以上所描述的,网桥ID是网桥优先级号及其MAC地址的组合。然而,出于说明性目的和解释的清晰起见,本文在图1和1a-1e中所描绘的每一节点的网桥ID简化为该节点的唯一的一位或两位数字。
BPDU帧(在此称为BPDU问候消息)包含元组(tuple),其包括根网桥ID、根路径成本和发送节点的网桥ID。根网桥ID是网桥节点ID,该网桥节点ID对应于发送网桥节点认为其是当前消息交换周期的正确根网桥(在此称为候选根网桥)的节点的ID,这是由于在这一阶段对所有网桥来说都不知道正确的根网桥。根路径成本是沿着从发送器到候选根网桥的路径发送分组的预计成本。对于下列示例,来自从给定的网桥节点遍历到邻居节点的成本是‘'1’,同时遍历链路或跨越网桥的成本是‘0’。如下面所描述的,在实际的实现中,可以存在给每一网段指定的具体成本,还有与链路和/或网桥节点相关联的可选成本。链路、网桥和网段的成本除了被指定之外,还可以例如通过在网络运作期间测量链路流量和相关的参数来动态地确定。
自动根网桥发现过程从每一网桥节点与其邻居节点中的每一个交换BPDU问候消息开始。最初,每一网桥节点认为本身是根网桥候选项,且因而发出具有{节点自己的网桥ID,0,节点自己的网桥ID}的元组的BPDU问候消息。在图1a中说明这一点,其中每一节点发出把本身公告为根网桥的BPDU问候消息。例如,网桥节点2向其邻近节点6、5和14中的每一个发出元组{2,0,2},网桥节点3向其邻近节点11、9和4中的每一个发出元组{3,0,3},等等。
响应于接收到BPDU问候消息,每一接受者节点把其当前根网桥ID与消息中的根网桥ID进行比较。如果根网桥ID更低,那么,接受者节点把其根网桥ID更新成所接收的消息中的根网桥ID,并且把其根路径成本更新成该节点。元组的第三个值即发送节点的网桥ID,对于从给定节点发送的消息来说总是相同的。
在网络拓扑发现过程期间,在节点对之间交换BPDU问候消息,且每一节点基于对其根网桥ID和根路径成本值的任何适用的改变更新其随后的消息。出于简单和清晰起见,图1b说明四个交换周期中的每一个的BPDU问候消息的元组值,其中在一个交换周期下,根据从给定节点的所有邻居节点接收的消息更新随后消息的元组值。在根据IEEE标准802.1D-2004的一种实施例下,每隔两秒发送BPDU问候消息。然而,其他实施例可以在各消息之间采用其他时间周期。
在这一示例中,根网桥(节点)ID是2,如在此描绘的图1c-1e的网络100的图中节点2的黑圆所描绘的。通过观察图可以立即认识到根网桥ID的身份;然而,图中的每一节点仅知晓它接收从其邻居节点的信息,因此节点不知晓整个网络拓扑,且因而通过由STP促成的发现过程确定根网桥。
由于2是根网桥ID,只要它保持是根网桥,节点2的元组中的值将不改变。正如图1b中所说明的,元组最初是{2,0,2}且不改变。相反,在发现过程期间,所有其他节点的消息中的元组值将改变至少一次。
例如,考虑节点6。在第一循环期间它接收下列的元组:来自节点2的{2,0,2}、来自节点5的{5,0,5}以及来自节点7的{7,0,7}。这些元组值与其自己的{6,0,6}元组的比较将导致节点6认识到节点2是较好的根网桥候选项,这是由于在其BPDU问候消息中它具有更低的根网桥ID。假定有了这种结果,节点6把其第一元组值更新为2(节点2的网桥ID),且然后,计算到节点2的路径的成本,由于在候选根网桥节点2和节点6之间存在一个网段(H),该成本是值1。在下一消息交换周期期间,节点6发出具有元组{2,1,6}的BPDU问候消息。在随后的循环期间BPDU问候消息的比较结果不引起候选根网桥ID(即,节点2)的改变,这同样意味着到节点2的根路径成本不改变。结果,在消息交换周期3和4期间从节点6发送的元组也是{2,1,6}。
在每一消息交换周期期间,正确的根网桥ID(即是说,在结束时是根网桥的那个节点的ID)向外传播又一跨跳。结果,它使所有节点标识出正确的根网桥ID所用去的周期的数量等于从该节点到达所有节点所需要的最小跨跳数量。
如所观察到的,每一节点的元组的集合中的值反映了节点到具有较低网桥ID的其他节点的相对接近程度。例如,考虑节点3、9和11。在第二消息交换周期期间,节点9和11中的每一个已经标识节点3是比它们更好的根网桥候选项,且因而更新它们的元组以便把节点3反映为根网桥候选项。对于节点9和11中的每一个,在周期2和3,发出这一相同的元组,同时在前三个周期节点3发出相同的元组。然而,在第四周期期间,节点2的网桥ID值已经到达节点3、9和11中的每一个,且结果,这些节点中的每一个已经更新其元组以便把节点2反映为最佳候选根网桥节点ID。
一旦节点的BPDU问候消息变成稳定状态(相对于根网桥ID,这是由于在一些实施例中将基于实时链路状况确定链路成本值(且因而确定根路径成本)),然后,具有该网桥ID的网桥作为网络的根网桥操作。在图1c-e中所示出的说明性示例中,假设随后的消息元组中的候选根网桥ID值不改变,以使得来自给定节点的每一元组的根网桥ID值相同。此外,在这一示例中,由于每一网段的成本被设置为1,根路径成本值将也保持相同,导致一旦确定了根网桥ID就从每一节点发送相同的元组。结果,节点2变成网络100的工作根网桥。
由于在整个网络运作期间周期性地发送BPDU消息,且节点优先级可以改变(例如,由网络管理员改变),根网桥可能改变。例如,可能会给予另一节点比当前的根网桥更低的优先级,或者根网桥中的端口可能发生故障。作为响应,网桥节点将自动地确定适当的新根网桥。
该过程中的下一阶段是确定每一网桥的根端口(RP)。首先,每一网桥计算从本身到根网桥节点的最少成本路径(LCP)。图1d中描绘了结果,其中,从每一节点发出的带编号箭头表示在每一箭头的方向到根网桥节点的最少成本路径。基于这些判定,通过其将获得最低成本路径的端口被标识为网桥的根端口。由邻近每一网桥的根端口的标签“RP”标识图1d中的网桥的根端口。(在本文的图中,由在网络链路和节点圆之间的连结点描绘网桥端口。)
为各网段执行相似的操作,在这些操作下确定从每一网段到根网桥的最少成本路径。对于给定的网段,链接到该网段的网桥确定哪一网桥具有到根网桥的最少成本路径。然后,网段在其处连接到具有最少成本路径的网桥的网桥端口被称为指定端口(DP)。图1e中描绘了DP和发自各网段的每一路线的根路径成本。
此时,标识出了网桥的RP和DP。根据采用STP的一些实施例,既不是根端口也不是指定端口的网桥端口变成用于链路状态功率管理的候选项。在图1e中由具有根路径成本数字(带有斜线通过其中的圆圈)的箭头标识这些端口,其中,箭头指向是用于功率管理的候选项的端口。图1e中用于链路的虚线把那些链路描绘成是功率管理候选项链路。
在本申请的共同发明人Radia Perlman开发的原始STP实现下,将阻断耦合到这些链路的端部的端口,以便为采用层2路由的以太网网络避免网桥回路。尽管STP是为以太网而开发的,但STP也可以用于其他类型的网络(例如,采用路由器和/或交换机的网络)。
对于采用分组交换体系结构的更大规模的网络,通常使用其他类型的路由协议,现在如下所示。
经由链路状态路由协议发现网络拓扑
链路状态路由协议是用于分组交换网络的两个主要类别的路由协议中的一类(另一类是下面描述的距离向量路由协议)。由网络中的每一交换节点(即准备用来转发分组的节点;这些节点通常被称为交换机或路由器)执行链路状态路由协议。链路状态路由的基本概念是每一节点以图的形式构造到网络的连通性的地图,示出哪些节点连接到哪些其他节点。然后,每一节点独立地计算从它到网络中的每一可能目的地的最佳逻辑路径。然后,最佳路径的集合将形成该节点的路由表。
图2示出适用于实现链路状态路由的协议示例性网络200。网络200包括使用字母A-I标记的多个节点,这些节点经由使用其两个互连节点的相应的字母(例如图2的AB)标记的相应的链路互连,其中,较低的字母标识每一链路连接的两个节点,且字母表中的较低字母排在第一。邻近每一链路的数字表示该链路的成本。例如,链路AB的成本是2,而链路AH的成本是8。为方便起见,在这一示例中把简单整数值用于链路成本;本领域中的技术人员将认识到,链路成本将通常包括具有更宽的范围的更大的数字。
在链路状态路由协议下,由各节点共同确定网络拓扑,且每一节点确定从本身到其他网络节点的最佳路线。通常,使用Dijkstra算法的变种(variant)来确定这一点,Dijkstra算法为每一节点产生由该节点确定的路由树结构。图3中示出了对应于采用贪婪(Greedy)算法的一个变种的流程图,而图4a-4i中描绘了路由树的相应表示。
参见框302,该算法在为其构建树的节点处开始,该节点被称为SELF。添加具有0的成本c的该节点,作为树的根节点。在图4a-4i中所说明的路由树示例中,节点A是根节点。
接下来,在框304中,把新节点(N,c)添加到树,其中N标识节点(在这一示例中N将包括字母对应于节点A-I),且c是从新节点到向其添加新节点的当前节点的链路的成本。
在框306中,确定从当前节点(从SELF开始)到新节点(N,c)的最少成本路径。在此之后,对每一邻居节点K执行一组操作,如开始循环框308和结束循环框314所描绘的。首先,做出关于从根节点到K的最佳路径是否通过新节点N的确定。如果到K的最佳路径通过N,那么,在框312中,把对应于节点K的新节点添加到树,具有距离c+dist(N,K)。作为N的子代项(child)添加新节点,且被描绘为在N和K之间的虚线。然后,该逻辑循环回到框308以便评估下一邻居节点,该下一邻居节点变成新节点K。如果到K的最佳路径不通过N,则该逻辑流到框311,框311中,做出已经考虑该路径但不将其添加到树的记录(作为虚线),且循环回到框308,以便评估下一邻居节点K。
在已经考虑了每一邻居节点之后,做出关于已添加树片段(即,在已添加邻居节点K和当前节点N之间的链路)中的哪一个具有最低成本的确定。然后,把对应于这一树片段的线变成实线。如果到该节点的现有虚线存在,该路径被标记为已移除。然后,该逻辑循环回到框304,以便把另一新节点添加到树,且重复前述操作。继续这一过程,直到确定了根节点的完全最少成本路径路由树。
图4a-i说明节点A的最少成本路由路径树的构建。图4a中描绘该过程的开始,其示出在已经执行流程图300的外部循环的操作的一次迭代之后节点A的路由树的一部分。首先,通过把A(0)置于树的顶部来描绘节点A,这使得它成为根节点。(它也是正在处理的当前节点或新节点,本文的图中用带阴影的圆来表示它,而使用不带阴影的圆来指示先前已经评估的节点。)接下来,由于发自A的每一个邻居节点(即,H、D和B)的最佳路线将是到A的最短路径(如此时确定的),从节点A到节点H、D和B中的每一个的树片段将被绘制成虚线,且所添加的邻居节点将被描绘成节点标识符(N),且括号中有从该节点到根节点(A)的成本c。然后,根据框316,对应于带有具有最低成本的路径(该路径是从节点A到节点D)的链路的树片段从虚线改变成实线,且在图4a中示出最终结果。本文的图中通过使用在对应于图4a-i中的每一个的流程图迭代期间添加的新的最少成本路由路径的端部处的箭头来增强路由路径树创建过程的可视化。该箭头也标识其后的迭代的新节点N。
此时,在最近添加的实路径的端部处的节点变成新节点N,且相对于这一新节点重复该过程。在图4b继续,新节点是D,其具有邻居H和E。如所示出的,已经添加从节点D到节点H和E的两条新的虚线,带有从所添加的节点中的每一个到根节点A的各自的路由路径成本。路由路径成本值是到节点D的成本(即,1)加上沿着在节点D以及节点H和E之间的路径的成本的总和,分别得到路由路径成本1+6和1+2。
图4b还示出移除从节点A到节点H的路径。这样做的原因是从节点A通过节点D到节点H的路径的成本少于直接从节点A到节点H的路径。结果,将从不存在其中从节点A到节点H的最少成本路径将包括链路AH的情况,且因此这一链路不是节点A的最少成本路径路由树的一部分。出于说明性目的,在图中留下经移除的链路,描绘随后迭代的结果,以便指示一旦已经移除了路径,在评估逆路线的开始处的节点时就不需要考虑该路径的逆路线。例如,在图4i中节点H变成新节点N时,它将不考虑把路径AH添加到A的路由树。随着路由树被创建,这将变得更加清楚。在一种实施例中,最少成本路由路径算法跟踪每一已移除的路径,以使得一旦移除就在随后的迭代期间不考虑已移除的路径。
在图4c处继续,在其处添加新路径的下一节点是节点B,这是由于这一节点被标记为具有到根节点A的最少成本路径的路径的端部。从节点B到节点C、E和F添加三个新路径,伴随着通过节点B到节点A的路线路径成本。由于根节点E通过节点B到根节点A的路线不是最少成本路径,根据判决框310中的逻辑和框311的操作,不把从节点B到E的路径添加到树。然而,出于说明性目的,这一路径被描绘为带有×的中心线,通过它指示已经考虑了这一路径但不添加。以类似于已移除路径的方式,图中为随后的迭代留下未被添加的已考虑的路径,以便指示不进一步考虑这些路径。在一种实施例中,最少成本路由路径算法跟踪未添加的每一经考虑的路径,以使得在随后的迭代期间不考虑这样的路径。
图4c还描绘其中已添加路径连接中没有一个具有比现有的节点更低的到根节点A的路由成本路径的新节点的情况。例如,从节点C通过B到A的最少成本路径是5,而从节点F通过B到A的最少成本路径是4。两者都大于从节点E到根节点A的最少成本路径,因此节点E变成下一新节点N,且把从D到E的路径添加到节点A的最少成本路径路由树。
如图4d中所示出,从节点E到节点H、I和F添加三个新路径。如进一步指出的,沿着路径EH通过节点E从节点A到节点H的路线路径的成本大于从节点A到D到H的路线路径。结果,已经考虑了路径EH,但不添加到树。类似地,从节点E到节点F的路径不能得到到已经存在到根节点A的更低的成本路由路径,因此路径EF也被描绘为已经考虑但不添加。
此时,到根节点A的下一最少成本路径是来自节点F或节点I(两者均为4)。把较低的字母表字母用作最后决胜因素,如图4e中所示出,认为节点F是新节点N,且认为路径是从节点F到其邻居节点C、I和G并绘制之(如果使用的话)。添加从节点F到节点G的新路径,而从节点F到节点C以及从节点F到节点I的路径被描绘为已考虑但不添加。由于到节点A的现有路径(发自节点I的最少成本路径)具有比到节点G的新路径更低的成本,路径FG作为虚线留下,且把路径El添加到最少成本路径路由树。
如图4f中所示出,节点I是作为新节点N添加的下一节点。绘制从节点I到节点G和H的新路径,得到新的最低成本路径节点H,这是由于沿着路径A-D-E-I-H从节点A到节点H的路线的成本(6)少于路径A-D-H的现有成本(7)。因此,把从节点D到节点H的路径标记为已移除。由于已经考虑在节点I和F之间的路径且不添加,这一路径不被再次考虑。也考虑从节点I到节点G的路径但不添加,这是由于到节点G的现有最少成本路由路径更低。此时,节点C和G具有到节点A的最少成本路径(两者都是5),且节点C胜出决胜局,结果是把从节点B到节点C的路径制作成实线且节点C变成新节点N。
在图4g处继续,把节点C用作新节点N,导致考虑但不添加从节点C到节点G的路径。具有到根节点A的最少成本路由路径的剩余(待评估)节点是使用路径-B-F-G的节点G。因此,把路径FG制作成实线,且节点G变成新节点N。
如图4h中所示出,由于先前已经考虑了来自节点G的所有路径,来自节点G的路径的描述没有改变,且完成了节点G的评估。由于节点H是唯一的剩余节点,将其最少成本路径A-D-E-l-H的最少片段(路径HI)制作成实线,且图4i(带有不是最终的树的一部分的所考虑路径)和图4j(只是示出最少成本路由路径树)中示出节点A的最终的最少成本路由路径树。图4k仅示出在不是节点A的最少成本路由路径树的一部分的各节点之间的链路(路径)。
由每一节点执行类似过程以便确定其自己的最少成本路由路径树。所有节点的最少成本路由路径树中的路径的合并形成整个网络的最少成本路由路径树。对于网络200,在图2a中示出这一结果,其中,用粗实线示出最少成本路由路径链路,而用细虚线示出不被任何节点的最少成本路径路由树使用的链路。应注意,用细虚线描绘的链路路径也包括所有节点的已考虑但不添加的路径和已移除路径的交集(intersection)。
进一步详细审视图2a,根据一种实施例,对应于用这些虚线描绘的路由路径片段的链路表示是用于功率管理的候选项的链路。由于这些链路表示不处于任何节点的最少成本路由路径树的路径片段当中的路径,相比于使得最少成本路由路径片段中的一个关闭,使得这些链路中的一个或多个离线或将其置于空闲或低功率状态将对网络200的路由性能具有较低的影响。
通常,可以经由在节点本身处发起的操作,或经由使用集中式网络管理实体,例如图2和2a中所示出的网络管理器202(用虚轮廓示出以便指示网络管理实体的使用是可选的),或两者的组合,通来实现网络的功率管理路由协议(该网络的路由路径是使用链路状态路由协议确定的)。例如,在一种实施例中,每一节点基于在该节点处实现的适用的功率管理输入准则和逻辑管理其端口的链路状态功率水平。
一种备选的方法是使用集中式网络管理实体以便确定何时应当实施链路状态功率改变。使用集中式方法的一个优点是,可以以网络级别而非个体链路级别来考虑如果链路离线则将由对网络拓扑的改变引起的路由性能考虑。举例来说,尽管每一节点维护最少成本路径路由树,但这并不意味着所有在该节点到网络中的其他节点之间发送的分组总是使用最少成本路由路径。如果是这种情况,非最少成本路线将没有用处。相反,这些较高成本的路径可以用于差异化服务级别,例如把最少成本路线路径用于诸如视频或VoIP服务等的实时服务,同时把一部分较高成本的路径用于对时间较不敏感的数据服务。由于使链路离线将改变其他链路上的流量负载,可以存在这样的实例:其中,在本地水平满足链路状态功率降低准则(即,由链路所连接的节点确定),而与此同时将预计链路的移除会引起网络中的其他链路的过载。在这样的环境下,将期望保持链路加电。通常可以由对网络而非个体节点具有整体视野的集中式网络管理实体更好地做出这种类型的判定。
距离-向量路由协议
距离-向量路由协议也可以用于确定网络拓扑和最少成本路由路径。距离-向量路由协议要求路由器周期性地向其邻居告知拓扑改变。相比于要求路由器向网络中的所有节点告知拓扑改变的链路状态协议,距离-向量路由协议具有更少的计算复杂性和消息开销。术语“距离向量(distance vector)”是指该协议处理网络中的其他节点的距离的向量(数组)的事实。
使用距离向量协议的路由器不拥有到目的地的整个路径的知识。相反距离向量使用两种方法:
1.应当转发分组的方向,或应当把分组转发给其的接口。
2.与其目的地的距离。
经由图5中的网络500,以及图6a和6b示出的最少成本路径矩阵,说明使用距离-向量路由协议的路线成本发现的示例。网络500包括由四个链路AB、AC、BC和CD连接的四个节点A、B、C、D。在链路附近示出了沿着每一链路的路径的成本。
在路由表初始化期间,每一节点创建本身到其近邻节点的最少成本路径矩阵,并把该距离向量矩阵广播给其邻居。图6a中示出在初始时间0描绘的节点A、B、C和D中的每一个的最初的最少成本路径矩阵。矩阵(即,表)的列标题标识到达节点所采取的路线,且行标题标识各节点,左上角单元标识最少成本路径矩阵适用的节点。用双交叉影线标记的单元是无效路线(即,从节点回到该节点的直接路线),而用单交叉平行线标记的单元对应于不存在的路线。例如,对于节点A,不存在把D用作第一跨跳的到节点B、C、或D中的任何的路线,这是由于D不是A的邻居节点(即,直接链接到节点A的节点,也被称为经由单跳而链接)中的一个。其中带有数字的单元指示由该单元的列标题和行标题所定义的相应路线的成本。
在该协议的连续迭代期间,从邻居节点接收经更新最少成本路径矩阵的各节点将:使用邻居的所广播的最少成本路径矩阵信息重新计算从本身到其他节点的所有最少成本路径;以及,作为重新计算的结果,是否更新其自己的最少成本路径矩阵;把其经更新的最少成本路径矩阵广播给其他邻近节点。当不存在适用于任何节点的最少成本路径矩阵更新时,迭代的更新和广播过程将停止,且网络拓扑中没有节点需要广播经更新最少成本路径矩阵。
图6b中示出了在迭代时刻3描绘的在节点A、B、C和D之间交换最少成本路径矩阵的结果。在这些矩阵中,带有白色背景的单元中所示出的数字是从矩阵适用的节点到其他节点的最少成本路线的成本,而带有灰色背景的单元中的数字对应于非最少成本路线的成本。如节点A的经更新最少成本路径路由矩阵中所描绘的,经由节点C的路线的成本的节点是最少成本路线。因此,对应于这一路径的链路(即,链路AC)是用于功率管理的候选项。类似地,节点C的经更新最少成本路径路由矩阵把经由节点A的所有路线标识为非最少成本路线。
最高利用率链路生成树协议
在一些实施例中,经由使用最高利用率(most utilized)链路方法而不是最少成本方法实现路由协议和链路功率管理判决。这种方法在多种方面类似于最少成本路由,但可以产生不同的生成树和关联的动作,这取决于用于计算链路利用率和计算链路成本的具体函数。一般地,链路成本和链路利用率是相关的,往往是逆函数。例如,较低成本的链路比较高成本的链路更受欢迎,且因而比较高成本的链路用得更多。然而,这不具有普遍性,这是由于在一些实例中高的成本链路也可以具有高的利用率,以及/或者低的成本链路可以具有低的利用率,这取决于具体的网络配置和工作量。
可以为STP、链路状态和向量-距离路由协议中的每一种实现基于链路利用率的路由协议。一般地,用于确定适用的协议树的逻辑是基于具有最大利用率的链路的路由路径的偏好的,此偏好的方式某种程度上类似于选择具有最少成本的路线路径的方式。为了更好地理解这种方法,提供了使用链路状态类型协议的下列示例。然而,这不意味着把这种方法限制在链路状态,这是由于它也可以应用到STP和向量距离路由协议,以及传统上基于使用最少成本路径的偏好的其他路由协议。
如前所述,基于适用的输入准则为具体的网络生成路由路径树。在这个实例中,主要的准则是链路利用率,链路利用率通常可以由涉及链路的利用率的一个或多个参数的函数来定义。例如,链路利用率函数通常可以包括诸如链路带宽(使用率和/或带宽余量)、链路QoS(服务质量)准则、链路(或网络元件)延迟时间等等的参数。
参见图7a和7b中分别示出的流程图700和750,根据一种实施例用于确定最高利用率链路路径树的逻辑和操作如下所述进行。该过程从流程图700的框702开始,其中,每一节点测量其到其邻居节点中的每一个的链路的利用率。如下面进一步详细描述的,使用最高利用率链路路径树的一个方面是确定哪些链路是用于功率管理的候选项,既偏好保持最高利用率的链路加电,且也认识到可能存在与网络重配置相关联的性能成本。因此,在一种实施例中,在相对长的周期例如包括12或24小时、几天、一个星期等等的延长的时间周期内对所检测的链路利用率值取平均。如在此所使用的,在这一扩展时间周期内确定的链路利用率被称为‘U’。另外,也周期性地测量在较短的周期内的链路利用率平均值,且称为‘U”。可选地,各节点也可以以常见的方式计算链路成本估计/测量。链路成本被称为‘C’。
在图2b中把将U值指派给各种网络链路的示例性网络配置描绘为网络200b。正如容易观察到的,这种网络具有与网络200相同的节点和链路配置。此外,在U值后的圆括号中示出对应于网络200的节点的链路成本。例如,链路AH的链路利用率U和成本值分别是12.5和8。为简化和比较起见,通过取值100并除以链路成本来导出这一示例中每一链路的利用率值U。如前所述,每一节点将维护到其邻居的链路的链路利用率U值的列表。如图2b的底部所示出,链路利用率U和成本C的组合被存储在每一节点。(为简单起见,未示出较短期链路利用率U’值,但其也将在每一节点处存储。)
如同链路状态路由协议一样,每一节点周期性地广播或以其他方式促成其链路状态信息(现在除了链路成本C值之外还包括链路利用率U、U’)传播到其他节点。在框704中示出这一操作。在一种实施例中,经由链路状态分组(LSP)广播各值。可选地,可以采用其他传播技术,例如传送LSP或等效的信息到网络管理器202。
在框706中,所有节点(共同地)通过使用每一链路的U值计算最高利用率链路生成树(即是说,从最高利用率的链路导出的生成树)。这种生成树类似于最少成本路径生成树,但基于利用率值而不是链路成本。流程图750中说明用于执行生成最高利用率链路生成树的一种实施例的操作和逻辑,而在图8a-8h中描绘用于构建对应于网络200b的最高利用率链路生成树的相应序列。
首先,在框752中,确定基于U值(以及用于确定U的关联函数)的最高利用率的链路。如图2b中所示出,链路AD、EI和FG中的每一个都具有利用率U 100,因此这些链路中的任何链路将是最高利用率的链路。为方便起见,在这一示例中将使用字母顺序最后决胜因素,且因而选择链路AD。如图8a中所示出,把这一链路添加到最高利用率链路生成树(经由加粗线条描绘所添加的节点),且把节点A和D添加到该树的节点群集(cluster)。
此时,该逻辑执行一系列循环操作以便填写剩余的树路径和节点群集,直到该群集包括所有节点。这由开始循环框754和结束循环框758以及框756描绘。在框756的每次评估期间,确定从节点群集中的任何链路到不在该节点群集中的任何链路的最高利用率的链路,且把该链路路径添加到生成树,同时把节点添加到节点群集。图8b-8h中描绘网络200b的这一序列,且如下所述地进行。
如图8b中所示出,节点群集最初包括节点A和D,且发自这些节点的最高利用率的链路是链路AB和DE,每一个都具有链路利用率U值50。使用最后决胜因素规则,选择链路AB,这把它添加到树,且把节点B添加到群集。接下来,如图8c中所示出,发自各群集节点的最高利用率的链路是BF和DE,并且当应用最后决胜因素规则时,链路BF胜出,且成为添加到树的下一链路,且把节点F添加到群集。
在图8d继续,具有U值100的链路FG容易地成为下一胜出者,导致把链路FG添加到树且把节点G添加到节点群集。如图8e中所示出,下一胜出者是链路DE,将其添加到树,且把节点E添加到节点群集。此后跟着的是把链路EI、IH和BC添加到树,分别如图8f、8g和8h中所示出。在图8i中所示出的状态中,所有节点都经由树连接,完成该过程。
根据一种实施例,在持续不断的运作期间,把最高利用率链路生成树中所包括的链路维持在正常运作状况(即,全功率状况),而不是该树的一部分的链路是用于功率管理的候选项(即,以降低功率水平操作),如下面进一步详细解释。因此,把那些链路添加到功率管理候选项列表,如框760中所描绘的。在图8i也把这些链路描绘为虚线。
图2、2a和2b中所示出的示例产生相同的树,考虑到涉及最低成本的生成树和涉及最高利用率链路的生成树的相似性,再加上在图2b的网络200b利用率被设置为(1/链路成本),预期会是这种情况。也产生相同的结果的看待这一点的另一方式是,如果根据(1/链路利用率)的函数确定链路成本,并且确定最少成本链路生成树,则用于链路利用率和用于最少成本两者的树将是相同的。为了进一步开展这种类比,可以使用其他路由协议(包括STP和距离向量)来导出最高利用率链路生成树。如同采用链路状态方法时一样,不是使得选择基于最少成本,而是基于最大利用率选择链路。
应澄清的是,前述示例不旨在传达在链路成本路径和链路利用率之间总是存在关系的意思,这是由于,尽管在一些实例中是这样的情况,但通常不是。此外,用来确定链路成本和链路利用率的函数可以采用不具有逆(inverse)关系的参数。相反,给出这些示例是为了示出可以以类似于确定最少成本链路生成树的方式来确定最大利用率链路生成树。
链路/端口功率管理协议
如以上所讨论的,可以实现在此公开的网络路由协议的实施例,以便促成诸如交换机、路由器和网桥等的网络元件中的节能。在对应于适用的网络体系结构和/或操作的特定实施例中可以采用前述的网络发现、最少成本链路路径和最高利用率链路路径路由协议。然而,尽管这些方面在某种程度上是具体的,但可以为各种类型的网络体系结构实现在此公开的原理和教导的更一般的方面。
图9示出说明根据一种实施例用于促成网络元件中的选择性功率降低的操作和逻辑的流程图900。该流程图在其顶部描绘了持续不断地执行的两个框902和904。在框902中,使用适用的网络发现协议确定网络拓扑。作为框904中的配套操作,基于适用的路由协议标识作为用于功率管理的候选项的网络链路。例如,在各种实施例下,可以实现采用最少成本路径路由和最高利用率链路路径路由的协议。随着各种链路和网络元件的相应端口的功率状态在运行时网络运作期间改变,网络拓扑将改变,这可以导致作为功率管理的候选项的链路池的改变。另外,路径片段(即,链路)的成本和/或链路利用率值可以改变,引起经更新的最少成本路由路径和/或最高链路利用率的路由路径,导致作为功率管理的候选项的一组经更新的链路。取决于网络体系结构,可以使用一种或多种网络发现技术,例如但不限于以上所讨论的生成树路由协议、链路状态协议和距离向量路由协议。
对于是用于功率降低的候选项每一链路,也持续不断地执行由开始框906和循环框918描绘的对应于流程图900的剩余部分的操作和逻辑。如由框908和判决框910描绘的,监视链路利用率U’(即,在比链路利用率U相对短的周期内取平均的链路利用率)以检测在链路利用率的水平满足或超过利用率阈值时的状况(condition)。在使用链路利用率背后的一般概念是:存在链路状况,该状况下如果正在充分利用该链路则放弃(使用常规参数)用于功率管理的候选项的链路可能不是有益。
链路利用率阈值通常可以跨越网络应用,或者可以是链路专用的。例如,网络管理员等等可以为所选择的(或所有)链路指派利用率阈值,且如果给定链路的利用率低于其阈值,则可以通过把适用的链路端口置于低功率状态或通过断电端口来使得链路离线以降低链路功率状态。可选地,利用率阈值中的全部或部分可以由网络元件本身、由中央网络管理实体、或分布式网络管理实体、或采用适用的逻辑和/或算法来确定适用的链路利用率阈值的其他装置计算确定。
一般地,链路利用率阈值可以基于涉及链路利用率的一个或多个因素,例如但不限于已利用带宽、平均分组延迟时间、QoS参数等等。利用率阈值也可以包括通过组合多个加权利用因素导出的值。此外,链路利用率阈值可以基于用于给定链路的某些类别的服务准则。例如,如果链路支持多个类别的服务,则可以存在用于两个或更多个类别的服务的链路利用率阈值,以使得在可以实施链路功率状态改变之前需要超过或满足用于所有适用的类别的服务的利用率阈值。
在判定框910处继续,响应于检测到已经超过或满足适用的链路利用率阈值(例如,如果链路变成用于功率管理的新候选项且已经在低于阈值的水平下使用),则发起适用的过程以便实施相应的链路功率状态改变,如框912中所描绘。进一步,下面参见图10的流程图1000讨论涉及用于实施链路功率状态的实施例的细节。
如由框914描绘的,一旦已经完成了链路功率状态改变,则逻辑循环回到框902,其中,发现网络的新拓扑,然后接着是在框904中重新确定功率管理候选项链路。如上面说明的,这些是持续进行的操作,使得在链路功率状态改变时,更新网络拓扑以便反映该改变,包括确定最少成本路径,或与所使用的具体的网络体系结构和路由路径协议相关的其他适用的路由判定。
在一种实施例中,把链路功率状态改变的有序列表用于随后的次序确定,即确定应当以何种次序来恢复断电链路。例如可以实现后进先出(LIFO)算法,以确定离线或空闲的链路应恢复在线的次序。因此,在框916中把实施功率降低的链路的链路ID添加到链路功率状态改变列表。一般地,可以由个体网络元件和/或集中式网络管理实体维护列表。
图10的流程图1000描绘根据一种实施例用于实施链路功率状态的改变的操作,该过程在框1002开始,其中已经做出基于适用的链路状态准则应使得链路离线或置于低功率状态的判定。例如,根据流程图900,将考虑适用的链路利用率阈值准则。
在框1004中,做出判定的网络元件(或由负责链路的功率管理的集中式网络管理实体所指定的网络元件)把功率管理分组发送给链路的另一侧上的网络元件,指示应使得该链路离线或置于低功率状态,例如空闲状态。接收(功率管理分组的)网络元件用功率管理应答(ACKowledge)分组应答发送元件,且开始打开(power gate)或关闭(power off)其耦合到链路的网络端口或NIC卡,如框1006中所示出。响应于接收到ACK分组,(分组交换的)始发网络元件也开始(proceed to)打开或关闭其耦合到链路的网络端口或NIC卡,如框1008中所示出。
除了在NIC的网络端口处实施功率改变之外,可以进行适用的测量以便处理当前为适用的端口缓冲的分组的递送。例如,等待经由端口发射出去的分组通常被存储在出口缓冲器或类似物中。另外,可以存在用于不同类别的服务的单独的外向缓冲器。此外,这些缓冲器可以包括物理分配的缓冲器(例如,内建于端口或NIC中的缓冲器)或存储器映射的缓冲器。通常,处理缓冲的输出分组的最容易的方式是在断电输出端口之前清空适用的缓冲器。否则,可能有必要重新映射缓冲分组,以便路由出不同的输出端口,这可以包括取决于正在使用的路由协议修改分组头部信息。
返回到框1006,也可能存在需要,要考虑在链路离线时处于运送途中的分组。当在两个网络元件之间的单个物理链路上路由分组时,在发送端口把分组发送出去的次序将与在接收者的输入端口处接收分组的次序相同。考虑到这一点,在一种实施例中,框1004、1006和1008的功率管理分组交换的时序如下所述进行。
首先,发起功率管理消息交换的网络元件(也称为始发(originating)网络元件或节点)为其端口功率状态改变作出准备,这通过阻断在该网络元件其他端口接收的传入分组,防止其通过该端口路由输出而进行,此举将防止把任何新分组添加到该端口的(多个)输出缓冲器。实现这一点的典型方式是在网络元件内修改路由逻辑(例如,重新映射路由表信息)。接下来,网络元件将继续经由端口发送当前缓冲输出分组。在已经清除输出缓冲器之后,网络元件把第一功率管理分组发送给链路的另一端的、发起其链路功率状态改变过程的网络元件。以类似于始发网络元件的方式,这一网络元件重新映射其路由表以便反映(要断电的)端口不再可用,且然后,清除其用于该端口的(多个)输出缓冲器中的分组。在清除了(多个)缓冲器之后,发送功率管理ACK分组。通过以这种方式执行功率管理分组交换,确保在各端口之间的传送中不丢失分组。
返回到流程图1000的框1010处,在已经实施了链路功率状态改变之后,在类似于上面对框916描述的操作中,把链路状态改变和链路ID添加到链路功率改变列表。如框1012中所示出的,使用适用的方案来确定网络拓扑的改变,并在适用时更新用于各网络节点的路由信息。例如,对于一种链路状态路由算法,以常规方式通过链路状态分组把对应于离线链路的链路状态信息传播给其他网络元件。类似地,对于距离-向量路由算法,更新经由链路连接的节点的距离向量矩阵,且遍及网络地传播适用的路由信息。
对于采用集中式网络管理实体的实现,可以把功率管理ACK消息或类似物从始发网络元件发送给中央网络管理实体,以便向它告知网络拓扑的改变。然后,这种信息可以用来经由集中式网络管理实体重新计算链路路径成本,或用于其他目的。
在框1014中完成流程图操作,其中重新计算路由路径成本(在适用时),且更新链路功率管理候选项列表。这些操作类似于以上对框902和904描述的那些操作。
除了有选择地断电链路以便实施节能之外,提供了还有选择地加电已经离线或置于低功率状态的链路的实施例。图11示出流程图1100,说明根据一种实施例的,与增加在低功率状态下操作的链路的功率状态有关的被执行的操作和逻辑。
顶部两个框902和904中的操作类似于以上对流程图900中的框902和904描述的那些。如前所述,在网络运作期间,持续不断地执行这些操作。
同样类似于流程图900,流程图1100包含由开始循环框1102和结束循环框1118定义的第二循环,其包括应用到网络节点和链路的操作和逻辑。在框1104中,监视链路的性能,且在判定框1106中,做出链路性能满足性能阈值的判定。可以通过一种或多种链路性能因素例如链路带宽、链路QoS准则、链路(或网络元件)延迟时间等等确定链路的性能水平。另外,可以考虑涉及链路利用率的其他因素。
通常,使链路离线将引起邻近该链路的网络的各部分内的流量的改变,并且,取决于网络的大小,在网络中的其他节点处可以感觉到流量改变t。由于移除(实际上是由于断电)链路意味着路由路径不再可用,正常情况下沿着该路径路由的流量必须沿着另一路径被路由。取决于带宽的余量(headroom)和/或为该网络定义的其他性能因素准则,链路的移除可以有或没有足够显著影响以致超过适用的性能阈值。通过使用集中式或分布式网络管理实体,这种概念也引起链路的选择性断电——如果估计使得链路离线会在其他地方产生性能阈值状况,则不应使得该链路离线。在一些实施例中,对被配置为独立执行链路/端口功率管理操作的个体网络元件来说,这种类型的判定将不是可用的,这是由于它们将不会知晓网络流量的“完整画面”。例如,当采用距离向量路由协议时,给定的节点对在其邻居节点之外的网络拓扑几乎不能察觉。
在已经不存在近期的链路功率改变的状况期间,也可能超过性能阈值。例如,假定在深夜和清晨期间,有选择地使得网络链路离线。当早晨(和关联的流量增加)到来时,各种链路性能阈值可能被放松(tripped)。因此,响应于这些状况,应有选择地把断电的链路恢复为在线。
如框1108和1110中的操作所描绘的,基于适用的选择准则从离线和低功率链路的列表中选择要恢复到在线的链路。如以上所描述的,在一种实施例中,使用LIFO算法来确定把链路恢复到在线的次序。因此,在框1108中,对处于低功率状态且先前在框916中添加的相应的链路列表进行查找,该链路列表中的链路被添加为使得该列表次序反映链路进入它们的低功率状态的次序。在一种实施例中,可以以栈区(stack)的形式维护列表,其中,当已添加的链路断电时,把已添加的链路ID添加到栈区,且通过把顶部条目弹出栈区来访问要被恢复为在线的链路。使用有序链路列表或栈区是尤其适合其中由各网络元件管理链路功率状态的实现方式。
相反,当使用中央网络管理实体时,如果要被恢复供电的适当链路对应于其中检测到性能阈值事件的网络的不同部分,则要被恢复供电的适当链路可能不是最后一个被离线的链路。例如,假定网络被配置为使得其拓扑从左到右摆放,且给各节点指派从A到Z的字母表字母,以使得节点A处于网络的最左处且节点Z处于最右处。进一步,假定链路AB是最近被离线的链路,但在链路YZ处检测到性能阈值事件。这将使得恢复节点AB几乎没有意义,这是由于这将对节点Y和Z处的性能状况具有最小影响。因此,在一些实施例中,本地网络链路影响比使用LIFO排序更加优先。
框1112处继续,然后,实现适用的过程以便实施链路加电。下面参考图12的流程图1200讨论用于执行这些操作的细节。在已经完成了链路状态改变之后,如框1114处所描绘的,该逻辑循环回到框702以便重新发现网络拓扑。如以上所描述的,此举可以使用各种技术和网络拓扑发现协议来实现。在框1116处继续,从离线或具有低功率状态的链路列表移除对应于加电的链路的链路ID。根据栈区技术,从栈区弹出顶部链路(ID)将同时执行框1110和1116的操作。
现在转到图12的流程图1200,用于恢复链路的第一操作是确定具有耦合到链路的端口的网络元件,如框1202中所示出的。接下来,在框1204中,做出恢复加电链路的判定的网络元件或者由中央网络管理实体指定的网络元件(将由从中央实体路由到该网络元件的消息来向其告知改变)把功率管理分组发送给链路的另一侧上的网络元件,指示应恢复加电链路以便恢复在线。对于其中在两个网络元件之间的直接链路离线的情形,将需要沿着另一路线路由分组,这可以由网络路由协议容易地处理。如果链路处于低功率状态,例如空闲状态,在该链路上发送分组是可能的。
不管所采用的是什么路线,链路的另一侧上的网络元件接收功率管理分组,用功率管理ACK分组应答并开始加电其网络端口、NIC或耦合到链路的NIC卡。使得链路恢复加电通常没有断电复杂,这是由于不存在需要考虑的缓冲分组。然而,网络元件应优选地更新其路由逻辑以便使用恢复在线的端口来处理传入分组和传出分组。取决于这一过程的延迟时间,优选的是在发送功率管理ACK消息之前恢复加电端口并重新配置路由逻辑。
如前所述,如果先前的链路状态处于离线状态,则链路将仍然不能用于返回ACK消息,这是由于为了让链路可操作,链路的两个端部的端口都需要处于操作状态。同样如前所述,如果链路处于低功率状态但不离线,则可以经由该链路返回ACK消息。
一旦接收到ACK消息,始发网络元件启动其自己的链路端口加电操作,如框1208中所示出。由在该链路的两端的网络元件执行的这些链路端口加电操作将通常是类似的,例如以上所描述的。结合使得链路恢复加电,从降低功率/离线链路列表移除该链路的链路ID,如框1210中所描绘。
此时,已经发生对网络拓扑的改变,使用适用的技术以类似于以上所描述的框1012的方式在框1212中检测到该改变。然后,在框1214中,重新计算路由路径成本,且更新链路功率管理候选项列表。
确定路径片段(链路)成本
如全文讨论的,各种路由协议采用了路径路线成本。给定路线的成本是各个路径片段即链路的成本的总和。在一些实施例中,在一对节点A、B之间的路径路线成本(这是在节点A和B之间的路径片段或链路上路由的成本)可以基于以下:
1.在节点A和B之间的总路由距离。
2.在节点A和B之间的链路带宽。
3.把分组从节点A路由到B所需要的平均时间(即,路由延迟时间)
4.用户或网络管理员所确定的其他分组路由成本。
5.以上的任何组合。
通常,这些输入中的一种或多种包括在合理长度的时间周期内(多个)具体参数的平均,以便确保网络路由拓扑不会响应于链路流量图案的间歇性改变而不断改变。
在其中相对于链路延迟时间而言交换延迟时间表示分组路由延迟时间的显著部分的情况中,总路由距离可以包括在节点之间的跨跳的数量。由于分组沿着光链路或有线链路以接近光速的速度行进,用于遍历链路片段的延迟时间通常非常小。一旦给定链路上的负载将超过链路的可用带宽(即,链路变得过载到达到最大带宽的点),链路带宽变得重要。为了适应于这种情况,在链路入口点(例如,交换机端口)处缓冲分组,导致增加的路由延迟时间。把分组从节点A路由到B所需要的平均时间表示平均路由延迟时间,这通常由交换机延迟时间占主导地位。网络管理员也可以基于各种准则(例如QoS要求、观察到的流量图案、在较长时间周期内平均的成本值等等)把分组路由成本指定给所选择的链路。
根据一些实施例的各方面,包括链路利用率的附加因素被用来确定路由路径,和/或被用来确定何时把所选择的端口置于低功率状态或断电,以便在维持QoS和/或涉及网络路由性能的其他准则的同时降低功耗,如以上所描述的。在一种实施例中,把链路利用率计入路由路径成本。例如,由于保持高度地利用的链路加电是有益的,路由路径成本算法可以基于利用率水平降低跨越具体的链路和/或网络元件的路由成本。例如,根据以上所描述的因素的函数来确定链路或网络元件的路由路径成本,且然后,除以链路利用率水平。此外,各种加权因素可以被应用到各种输入,以便调整链路功率管理路由协议。
一旦检测到使得链路离线或置于低功率状态(同时保持链路加电)的适当状况,就把信息提供给适当的网络元件以便断电适用的端口或把那些端口置于低功率状态。根据一种实施例,以下列方式促成这一点。
示例性实现环境和刀片服务器体系结构
根据一些实施例,可以预想到的是,可以在数据中心和/或服务器群环境实现在此公开的功率管理路由协议中的一个或多个。通常,数据中心和服务器群中所使用的服务器包括阵列服务器配置,例如基于机柜的服务器或刀片服务器。这些服务器经由各种网络设备互连通信,例如借助于在各LAN之间的适当的交换和路由设施把数组服务器划分成数个LAN,以便形成私有内联网。例如,云主控设施可以通常采用具有大量服务器的大型数据中心。出于可靠性目的,把服务器中的部分用于数据复制项,以使得如果给定服务器断电,仍然存在带有数据的实例(一般地,将存在多个备份实例)的至少一个其他服务器。另外,一些云服务采用地理数据复制项,此情况下跨越处于分离的地理位置的数据中心而复制数据,以使得如果到各数据中心中的一个的通信受到破坏,则可以经由另一数据中心促成云服务。
作为概括,图13a-c和图14中示出典型的刀片服务器组件和系统。在典型配置下,采用机架式机箱1300来为多个服务器刀片(即,刀片)1302提供电源和通信功能,每一服务器刀片占用相应的插槽。(应注意,不需要占用机箱中的全部插槽)。一个或多个机箱1300进而可以安装在图13c中所示出的刀片服务器机柜1303中。每一刀片在安装时经由一个或多个对接连接器耦合到接口板1304(即,背板或中板)。通常,接口板将包括向刀片提供电源和通信信号的多个相应的对接连接器。在当前的实践下,许多接口板提供“热切换”功能——即是说,通过适当的电源和数据信号缓冲,可以实时添加或移除(“热切换”)刀片,无需关闭整个机箱。
在图13a和图13b中示出典型的中板接口板配置。接口板1304的背面被耦合到一个或多个电源1306。通常,电源是冗余的和热切换的,耦合到适当的电源层和调节能路,以便允许在电源故障的情况下继续操作。在一种可选的配置中,可以使用电源阵列来向整个机柜的刀片供电,其中,不存在电源与机箱的一一对应关系。使用多个冷却风扇1308来通过机箱抽取空气以便冷却服务器刀片。
所有刀片服务器都要求的重要特征是与其他基础设施进行外部通信的能力。通常经由一个或多个网络连接卡1310促成这一点,网络连接卡1310中的每一个都耦合到接口板1304。一般地,网络连接卡可以包括含有多个网络端口连接(例如,RJ-45端口)的物理接口,或可以包括被设计为直接连接到网络设备例如网络交换机、集线器或路由器的高密度连接器。
刀片服务器通常提供用于管理各个刀片的操作的某种管理接口。通常由内建网络或一个或多个通信信道促成这一点。例如,可以在接口板上内建用于促成“私有”或“管理”网络和适当的交换的一个或多个总线,或者可以通过紧耦合网络连线和网络实现私有网络。可选地,可以由耦合到接口板的背面或前面的管理交换机卡1312提供交换和其他管理功能。作为又一种选项,可以使用管理或配置服务器来管理刀片活动,其中,经由标准计算机联网基础设施例如以太网来处理通信。
参见图14,示出了示例性刀片1400的进一步细节。如以上所描述的,每一刀片包括被配置为执行服务器型功能的分离的计算平台,即,“卡上服务器(server on a card)”。因此,每一刀片包括常规服务器常见的组件,包括主印刷电路板(主板)1401,其提供用于耦合适当的集成电路(IC)和安装到板上的其他组件的内部连线(即,总线)。这些组件包括一个或多个处理器1402,其耦合到系统存储器1404(例如,DDR(双倍数据率)RAM)、高速缓存存储器1406(例如,SDRAM)和固件存储设备1408(例如,闪速存储器)。提供NIC(网络接口控制器)芯片1410,用于支持常规的网络通信功能,例如以便支持在刀片和外部网络基础设施之间的通信。其他所说明的组件包括状态LED(发光二极管)1412、耦合到一组RJ-45控制台端口1414的一个或多个NIC 1413(为简单起见,仅示出其中的一个)以及接口板连接器1416。附加的组件包括各种无源组件(即,电阻器、电容器)、功率调节组件和外围设备连接器。
一般地,每一刀片1400也可以提供板载存储。通常经由一个或多个内建盘控制器和相应的连接器(一个或多个盘驱动器1418和耦合到该连接器)来促成这一点。例如,典型的盘控制器包括SATA控制器、SCSI控制器等等。作为一个选项,盘驱动器可以安放在相同的或分离的机柜中,与各刀片分离,例如在把网络附加存储(NAS)设备或后端存储子系统用于存储大量数据时就是这样的情况。
NIC 1413包括用于促成相应的联网操作的电路和逻辑,例如对物理层(L1)和数据链路层操作(L2)的支持。通常,由将由在处理器1402上运行的操作系统主控的操作系统网络栈来促成上层操作。然而,在一些实施例中,NIC可以经由嵌入式逻辑等等采用其自己的网络栈。
在典型的数据中心部署中,网络交换元件包括机柜安装的设备,例如将占用1U、2U或4U插槽,或可以经由一个或多个服务器刀片实现。可选地,网络交换元件可以使用一个或多个服务器刀片来实现。为高速网络基础设施实现的网络元件,例如由诸如思科系统(Cisco Systems)、阿尔卡特-朗讯(Alcatel-Lucent)和瞻博系统(Juniper Systems)等的公司生产的大规模网络交换机和路由器,通常包括带有多个卡的机箱(单机或机柜安装),每一个卡包括一个或多个网络接口和相应的网络端口。这些网络接口的一些方面类似于为以太网网络部署的NIC,同时其他方面不同。例如,用于高速光学链路的物理层不同于用于以太网的物理层。另外,链路层中可能存在差异,这取决于具体的交换机或路由器技术。一般地,用于大规模网络元件的路由逻辑比其他类别的交换机和路由器更加更多复杂,这是由于这些设备常常支持多个服务类级别,且可以执行诸如分组检查等的辅助服务。大规模网络元件也可以适用于执行在此讨论的由集中式网络管理实体执行的操作。此外,“集中式”不暗示仅有单个管理实体可以用于网络管理,相反,可以实现一个或多个这样的实体,这取决于网络的大小和其他方面。
一般地,功率管理协议的各方面可以经由软件、硬件(例如经由嵌入式逻辑)或两者的组合实现。例如,网络元件可以包括运行基于软件的网络栈和经由用于执行在此描述的操作的各方面的软件实现的关联逻辑的处理器。可选地,可以经由NIC、大规模网络接口等等中的嵌入式逻辑实现类似的逻辑。
尽管已经参考具体实现描述了一些实施例,但根据一些实施例的其他实现也是可能的。另外,不需要以所说明和描述的具体方式排列附图中所说明的和/或在此描述的元素或其他特征的排列和/或次序。根据一些实施例,许多其他排列也是可能的。
在图中所示出的每一系统中,在一些情况中,各元件可以都具有相同的标号或不同的标号,以便暗示所表示的元件可以是不同的和/或相似的。然而,元件可以足够灵活,从而具有不同的实现并与在此示出或描述的系统中的一些或全部一起工作。附图中所示出的各种元件可以是相同的或不同的。哪一个被称为第一元件、哪一个称为第二元件是任意的。
在详细描述和权利要求中,可以使用术语“耦合”和“连接”及其派生词。应理解,不预期这些术语是彼此的同义词。相反,在具体的实施例中,“连接”可以被用来指示两个或更多个元件彼此直接物理接触或电气接触。“耦合”可以意指两个或更多个元件处于直接物理接触或电气接触。然而,“耦合”也可以意指两个或更多个元件相互不直接接触,但仍协同操作或彼此交互。
在这里,且一般地,算法被认为是引起期望结果的动作或操作的自洽序列。这些包括物理量的物理操纵。通常但并不必定,这些量采取能够存储、传递、组合、比较以及操纵的电信号或磁信号的形式。已经证明,主要是出于通常用法的原因,把这些信号称为比特、值、元素、符号、字符、术语、数字等等有时是方便的。然而,应理解,所有这些和类似术语都与适当的物理量相关联,且仅仅是适用于这些量的方便的标签。
实施例是发明的实现或示例。说明书中对“一个实施例”、“一种实施例”、“一些实施例”或“其他实施例”的引用意味着结合各实施例描述的具体的特征、结构或特性被包括在发明的至少一些实施例中,但并不必定被包括在发明的所有实施例中。“一个实施例”、“一种实施例”或“一些实施例”的出现并不必定都是指相同的实施例。
在具体的实施例或多个实施例中并非需要包括在此描述和说明的所有组件、特征、结构、特性等等。例如,如果说明书声明“可以(may)”、“可能(might)”、“能够(can)”或“能(could)”包括组件、特征、结构或特性,则不要求包括该具体的组件、特征、结构或特性。如果说明书或权利要求提及“一个(a)”或“一种(an)”元素,那么不是指存在仅一个元素。如果说明书或权利要求提及“附加”元素,则不排除存在多于一个的附加元素。
如以上所描述的,可以由相应的软件和/或固件组件和应用(例如在服务器上运行的软件或由网络元件上的嵌入式处理器执行的固件)促成本文的实施例的各种方面。因而,本发明的各实施例可以被用作(或者被用来支持)软件程序、软件模块、固件和/或分布式软件,它们在某种形式的处理核心(例如计算机的CPU、多核心处理器的一个或多个核心)上执行,或者在虚拟机上执行,虚拟机在处理器或核心上运行,或者在机器可读介质上或在其中实施或实现。机器可读介质包括用于以可由机器(例如,计算机)读取的形式存储或发射信息的任何机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;以及闪速存储器设备等等。
上面对所说明的本发明的各实施例的描述,包括摘要中所描述的内容,不预期是详尽的,也不预期把本发明限制在所公开的确切形式。尽管在此出于说明性目的描述了本发明的特定实施例以及用于本发明的示例,但相关领域中的技术人员将认识到,在本发明的范围内各种等效修改也是可能的。
根据上面的详尽描述,可以对本发明做出这些修改。下列的权利要求中所使用的术语不应被解释成把本发明限制在说明书和附图中所公开的特定实施例。相反,本发明的范围完全由下列权利要求确定,下列权利要求应根据所建立的权利要求解释的既成的原则来解释。
Claims (24)
1.一种方法,包括:
确定包括多个网络元件的网络中的网络拓扑,所述多个网络元件包括经由多个链路通信链接的节点;
基于所述链路的利用率,在所述多个链路当中标识出是用于功率管理的候选项的链路以及不是用于功率管理的候选项的链路;
以全功率实施不是用于功率管理的候选项的链路的操作;
从是用于功率管理的候选项的所述链路当中检测可改变链路的功率状态的状况,所述状况包括链路功率状态改变状况,且根据所述链路的利用率来确定;以及
通过实施经由所述链路通信链接的各个第一和第二网络元件的第一和第二端口的功率状态的改变,实施所述链路的功率状态的改变。
2.如权利要求1所述的方法,其特征在于,实施链路的功率状态的改变包括通过实施对应于所述第一和第二端口的网络接口的断电来使得所述链路离线。
3.如前述权利要求中任一项所述的方法,其特征在于,实施链路的功率状态的改变包括对所述第一和第二端口中的每一个实施功率状态降低到空闲状态。
4.如前述权利要求中任一项所述的方法,进一步包括根据长期链路利用率来标识在所述多个链路当中是用于功率管理的候选项的链路,其中,在延长的时间周期内测量所述长期链路利用率。
5.如前述权利要求中任一项所述的方法,进一步包括基于所述链路利用率水平检测要改变链路的功率状态的状况,其中使用相对短的时间周期确定链路的利用率水平。
6.如前述权利要求中任一项所述的方法,进一步包括采用网络元件来检测链路功率状态改变状况。
7.如前述权利要求中任一项所述的方法,进一步包括采用网络管理实体来检测链路功率状态改变状况。
8.如前述权利要求中任一项所述的方法,其特征在于,实施所述链路的功率状态改变包括:
把功率管理分组从所述第一网络元件发送到所述第二网络元件,指示要通过改变所述第二端口的功率状态来在所述第二网络元件处实施链路功率状态的改变;
在所述第一网络元件处接收来自所述第二网络元件的功率管理应答分组;以及
根据所述功率管理分组中所标识的所述链路功率状态来改变所述第一端口的功率状态。
9.如前述权利要求中任一项所述的方法,进一步包括:
响应于一个或多个链路的功率状态的改变以及网络流量的改变的其中至少一项,确定所述网络的经更新的网络拓扑;以及
依照所述经更新的网络拓扑,更新是用于功率管理的候选项的链路的列表。
10.如前述权利要求中任一项所述的方法,其特征在于,确定所述网络链路拓扑和标识是用于功率管理的候选项的链路包括:
标识连接所述节点的节点和链路;
确定所述链路的利用率;
为所述网络链路拓扑确定最高利用率链路生成树;以及
把并非所述最高利用率链路生成树中的链路的链路标识为用于功率管理的候选项。
11.如权利要求10所述的方法,进一步包括采用链路状态协议,所述链路状态协议使用所述链路的利用率来确定所述最高利用率链路生成树中的链路路径。
12.如权利要求10中任一项所述的方法,进一步包括采用距离向量路由协议,所述距离向量路由协议使用所述链路的利用率来确定所述最高利用率链路生成树中的链路路径。
13.如权利要求10中任一项所述的方法,进一步包括:
采用把链路利用率用作路由准则的生成树协议,以便确定所述网络元件中包括根端口和指定端口的端口;以及
把不耦合到根端口或指定端口的链路标识为用于功率管理的候选项。
14.如权利要求1-10中任一项所述的方法,进一步包括:
检测网络状况,该网络状况下应把处于降低功率状态的链路恢复到高功率状态;以及
通过实施耦合到所述链路的端部的网络元件端口的功率状态从降低功率状态到高功率状态的改变,来实施所述链路的功率状态改变。
15.如权利要求14所述的方法,其特征在于,根据一个或多个链路和/或网络性能因素来检测应把处于降低功率状态的链路恢复到高功率状态的所述网络状况。
16.如权利要求14所述的方法,其特征在于,由网络元件来检测应把处于降低功率状态的链路恢复到高功率状态的所述网络状况。
17.如权利要求14所述的方法,其特征在于,由网络管理实体来检测应把处于降低功率状态的链路恢复到高功率状态的所述网络状况。
18.如权利要求1-10中任一项所述的方法,进一步包括:
维护已经被置于降低功率状态的链路的列表;
检测链路加电状况,在所述链路加电状况下,处于降低功率状态的链路应被加电到高功率状态;以及
从已经被置于降低功率状态的链路的所述列表中选择链路以加电。
19.如权利要求17所述的方法,进一步包括:
维护被置于降低功率状态的链路的有序列表;以及
选择被添加到所述有序列表的最后链路作为恢复加电的第一个链路。
20.一种装置,被配置为执行如权利要求1-10中任一项所述的方法。
21.如权利要求20所述的装置,其特征在于,所述装置包括路由器、交换机或网桥中的一种。
22.如权利要求20所述的装置,其特征在于,所述装置包括网络管理装置。
23.包括多个指令的至少一种机器可读介质,所述多个指令响应于在装置上执行而引起所述装置执行如权利要求1-10中任一项所述的方法。
24.如权利要求23所述的至少一种机器可读介质,其特征在于,所述装置包括路由器、交换机或网桥中的一种。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/MY2012/000192 WO2014003534A1 (en) | 2012-06-29 | 2012-06-29 | Network routing protocol power saving method for network elements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104335530A true CN104335530A (zh) | 2015-02-04 |
CN104335530B CN104335530B (zh) | 2017-09-22 |
Family
ID=49783568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280073671.XA Active CN104335530B (zh) | 2012-06-29 | 2012-06-29 | 用于网络元件的网络路由协议节能方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9141171B2 (zh) |
CN (1) | CN104335530B (zh) |
DE (1) | DE112012006604T5 (zh) |
WO (1) | WO2014003534A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302217A (zh) * | 2015-05-25 | 2017-01-04 | 华为技术有限公司 | 一种数据链路管理方法及装置 |
Families Citing this family (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112012006604T5 (de) | 2012-06-29 | 2015-05-07 | Intel Corporation | Energiesparverfahren für das Netzwerk-Routing-Protokoll für Netzwerkelemente |
US9049233B2 (en) | 2012-10-05 | 2015-06-02 | Cisco Technology, Inc. | MPLS segment-routing |
US10404582B1 (en) | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using an outside-scope indentifier |
US10476787B1 (en) | 2012-12-27 | 2019-11-12 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10419334B1 (en) | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Internet protocol routing methods, systems, and computer program products |
US10397100B1 (en) | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products using a region scoped outside-scope identifier |
US10404583B1 (en) | 2012-12-27 | 2019-09-03 | Sitting Man, Llc | Routing methods, systems, and computer program products using multiple outside-scope identifiers |
US10397101B1 (en) | 2012-12-27 | 2019-08-27 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping identifiers |
US10587505B1 (en) | 2012-12-27 | 2020-03-10 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10411997B1 (en) | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Routing methods, systems, and computer program products for using a region scoped node identifier |
US10374938B1 (en) | 2012-12-27 | 2019-08-06 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10447575B1 (en) | 2012-12-27 | 2019-10-15 | Sitting Man, Llc | Routing methods, systems, and computer program products |
US10411998B1 (en) | 2012-12-27 | 2019-09-10 | Sitting Man, Llc | Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products |
US10212076B1 (en) | 2012-12-27 | 2019-02-19 | Sitting Man, Llc | Routing methods, systems, and computer program products for mapping a node-scope specific identifier |
US10904144B2 (en) | 2012-12-27 | 2021-01-26 | Sitting Man, Llc | Methods, systems, and computer program products for associating a name with a network path |
US9338082B2 (en) * | 2012-12-27 | 2016-05-10 | T-Mobile Usa, Inc. | Resilient backhaul network |
US10419335B1 (en) | 2012-12-27 | 2019-09-17 | Sitting Man, Llc | Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products |
US9537718B2 (en) | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
FR3005384B1 (fr) * | 2013-05-02 | 2015-06-19 | Thales Sa | Module de routage ; circuit logique programmable, noeud, reseau maille de communication et procede de routage associes. |
US10098051B2 (en) | 2014-01-22 | 2018-10-09 | Cisco Technology, Inc. | Gateways and routing in software-defined manets |
US9954678B2 (en) | 2014-02-06 | 2018-04-24 | Cisco Technology, Inc. | Content-based transport security |
US10924542B2 (en) * | 2014-02-27 | 2021-02-16 | Verizon Patent And Licensing Inc. | Content delivery system |
US9836540B2 (en) | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
US9762488B2 (en) | 2014-03-06 | 2017-09-12 | Cisco Technology, Inc. | Segment routing extension headers |
US9626413B2 (en) | 2014-03-10 | 2017-04-18 | Cisco Systems, Inc. | System and method for ranking content popularity in a content-centric network |
US9992281B2 (en) | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9537719B2 (en) * | 2014-06-19 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and apparatus for deploying a minimal-cost CCN topology |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9876737B2 (en) | 2014-07-11 | 2018-01-23 | Oracle International Corporation | System and method for supporting efficient load-balancing in a high performance computing (HPC) environment |
US9807001B2 (en) | 2014-07-17 | 2017-10-31 | Cisco Technology, Inc. | Segment routing using a remote forwarding adjacency identifier |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
US9729616B2 (en) | 2014-07-18 | 2017-08-08 | Cisco Technology, Inc. | Reputation-based strategy for forwarding and responding to interests over a content centric network |
US9882964B2 (en) | 2014-08-08 | 2018-01-30 | Cisco Technology, Inc. | Explicit strategy feedback in name-based forwarding |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
CN104410508B (zh) * | 2014-08-28 | 2017-10-17 | 清华大学 | 基于电力线通信的电力线网络拓扑感知方法及装置 |
US9391845B2 (en) * | 2014-09-24 | 2016-07-12 | Intel Corporation | System, method and apparatus for improving the performance of collective operations in high performance computing |
US10069933B2 (en) | 2014-10-23 | 2018-09-04 | Cisco Technology, Inc. | System and method for creating virtual interfaces based on network characteristics |
US9152737B1 (en) * | 2014-11-26 | 2015-10-06 | Sense Labs, Inc. | Providing notifications to a user |
US9590948B2 (en) | 2014-12-15 | 2017-03-07 | Cisco Systems, Inc. | CCN routing using hardware-assisted hash tables |
US10237189B2 (en) | 2014-12-16 | 2019-03-19 | Cisco Technology, Inc. | System and method for distance-based interest forwarding |
US10003520B2 (en) | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10341221B2 (en) | 2015-02-26 | 2019-07-02 | Cisco Technology, Inc. | Traffic engineering for bit indexed explicit replication |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
GB2539977A (en) * | 2015-06-30 | 2017-01-04 | British Telecomm | Communications Network |
WO2017001623A1 (en) | 2015-06-30 | 2017-01-05 | British Telecommunications Public Limited Company | Energy management in a network |
US11184240B2 (en) | 2015-07-10 | 2021-11-23 | Idac Holdings, Inc. | Path information updates in information-centric networking |
US10701038B2 (en) | 2015-07-27 | 2020-06-30 | Cisco Technology, Inc. | Content negotiation in a content centric network |
US9986034B2 (en) | 2015-08-03 | 2018-05-29 | Cisco Technology, Inc. | Transferring state in content centric network stacks |
US9832123B2 (en) | 2015-09-11 | 2017-11-28 | Cisco Technology, Inc. | Network named fragments in a content centric network |
US10355999B2 (en) | 2015-09-23 | 2019-07-16 | Cisco Technology, Inc. | Flow control with network named fragments |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US9977809B2 (en) | 2015-09-24 | 2018-05-22 | Cisco Technology, Inc. | Information and data framework in a content centric network |
US10454820B2 (en) | 2015-09-29 | 2019-10-22 | Cisco Technology, Inc. | System and method for stateless information-centric networking |
US9826414B2 (en) * | 2015-10-12 | 2017-11-21 | T-Mobile Usa, Inc. | Cellular backhaul coverage algorithms |
US10263965B2 (en) | 2015-10-16 | 2019-04-16 | Cisco Technology, Inc. | Encrypted CCNx |
US9912776B2 (en) | 2015-12-02 | 2018-03-06 | Cisco Technology, Inc. | Explicit content deletion commands in a content centric network |
US10097346B2 (en) | 2015-12-09 | 2018-10-09 | Cisco Technology, Inc. | Key catalogs in a content centric network |
US10257271B2 (en) | 2016-01-11 | 2019-04-09 | Cisco Technology, Inc. | Chandra-Toueg consensus in a content centric network |
US10305864B2 (en) | 2016-01-25 | 2019-05-28 | Cisco Technology, Inc. | Method and system for interest encryption in a content centric network |
US20170245195A1 (en) * | 2016-02-22 | 2017-08-24 | Mediatek Inc. | Method for controlling network interfaces of electronic device and associated processing circuit |
US10043016B2 (en) | 2016-02-29 | 2018-08-07 | Cisco Technology, Inc. | Method and system for name encryption agreement in a content centric network |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10264099B2 (en) | 2016-03-07 | 2019-04-16 | Cisco Technology, Inc. | Method and system for content closures in a content centric network |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10263881B2 (en) | 2016-05-26 | 2019-04-16 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
US10305745B2 (en) * | 2016-06-20 | 2019-05-28 | Vmware, Inc. | Method and system for creating and managing aggregation service hierarchies |
US10298491B2 (en) * | 2016-08-25 | 2019-05-21 | Cisco Technology, Inc. | Efficient path detection and validation between endpoints in large datacenters |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US11032197B2 (en) | 2016-09-15 | 2021-06-08 | Cisco Technology, Inc. | Reroute detection in segment routing data plane |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10212248B2 (en) | 2016-10-03 | 2019-02-19 | Cisco Technology, Inc. | Cache management on high availability routers in a content centric network |
US10447805B2 (en) | 2016-10-10 | 2019-10-15 | Cisco Technology, Inc. | Distributed consensus in a content centric network |
EP3309692A1 (en) * | 2016-10-17 | 2018-04-18 | Huawei Technologies Co., Ltd. | Method for elastic geographical database replication |
US10135948B2 (en) | 2016-10-31 | 2018-11-20 | Cisco Technology, Inc. | System and method for process migration in a content centric network |
US10243851B2 (en) | 2016-11-21 | 2019-03-26 | Cisco Technology, Inc. | System and method for forwarder connection information in a content centric network |
US10750252B2 (en) | 2017-02-22 | 2020-08-18 | Sense Labs, Inc. | Identifying device state changes using power data and network data |
US20180367870A1 (en) * | 2017-06-14 | 2018-12-20 | Quanta Computer Inc. | System for determining slot location in an equipment rack |
US10693751B2 (en) * | 2018-03-12 | 2020-06-23 | Saudi Arabian Oil Company | End-to-end IT service performance monitoring |
US10841172B2 (en) * | 2018-05-30 | 2020-11-17 | Cisco Technology, Inc. | Network fabric visualization and management |
US10740691B2 (en) | 2018-10-02 | 2020-08-11 | Sense Labs, Inc. | Identifying devices connected to a smart plug |
US11165636B2 (en) * | 2018-11-29 | 2021-11-02 | Cisco Technology, Inc. | Systems and methods for enterprise fabric creation |
US11768228B2 (en) | 2019-07-11 | 2023-09-26 | Sense Labs, Inc. | Current transformer with calibration information |
US11140074B2 (en) | 2019-09-24 | 2021-10-05 | Cisco Technology, Inc. | Communicating packets across multi-domain networks using compact forwarding instructions |
TWI733560B (zh) * | 2020-08-13 | 2021-07-11 | 瑞昱半導體股份有限公司 | 網路交換器及其網路交換器系統 |
US11418433B2 (en) * | 2020-10-13 | 2022-08-16 | Realtek Singapore Private Limited | Control method for spanning tree protocol of easymesh network and related system |
US11177901B1 (en) * | 2020-10-19 | 2021-11-16 | Anaglobe Technology, Inc. | Method of wavelength-division-multiplexing-aware clustering for on-chip optical routing |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013912A (zh) * | 2007-02-05 | 2007-08-08 | 北京邮电大学 | 集中式无线多跳接入网的功率控制方法 |
US20120030320A1 (en) * | 2010-07-30 | 2012-02-02 | Broadcom Corporation | Network power management |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123486A1 (en) * | 2001-12-31 | 2003-07-03 | Globespanvirata Incorporated | System and method for utilizing power management functionality between DSL peers |
US8072945B2 (en) * | 2004-09-24 | 2011-12-06 | Aes Corporation | Link layered networks |
US8144577B2 (en) * | 2006-05-10 | 2012-03-27 | Cisco Technology, Inc. | Technique for efficiently managing bandwidth registration for multiple spanning tree options |
US7743269B2 (en) * | 2007-02-26 | 2010-06-22 | Dell Products, Lp | System and method of managing power consumption of communication interfaces and attached devices |
US8250381B2 (en) * | 2007-03-30 | 2012-08-21 | Brocade Communications Systems, Inc. | Managing power allocation to ethernet ports in the absence of mutually exclusive detection and powering cycles in hardware |
US7653009B2 (en) | 2007-09-10 | 2010-01-26 | Juniper Networks, Inc. | Routing network packets based on electrical power procurement arrangements |
US8295290B2 (en) * | 2009-09-03 | 2012-10-23 | International Business Machines Corporation | Energy efficient control of data link groups |
US8774050B2 (en) * | 2010-11-09 | 2014-07-08 | Cisco Technology, Inc. | Dynamic wake-up time adjustment based on designated paths through a computer network |
DE112012006604T5 (de) | 2012-06-29 | 2015-05-07 | Intel Corporation | Energiesparverfahren für das Netzwerk-Routing-Protokoll für Netzwerkelemente |
-
2012
- 2012-06-29 DE DE201211006604 patent/DE112012006604T5/de not_active Withdrawn
- 2012-06-29 WO PCT/MY2012/000192 patent/WO2014003534A1/en active Application Filing
- 2012-06-29 CN CN201280073671.XA patent/CN104335530B/zh active Active
- 2012-06-29 US US13/977,512 patent/US9141171B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013912A (zh) * | 2007-02-05 | 2007-08-08 | 北京邮电大学 | 集中式无线多跳接入网的功率控制方法 |
US20120030320A1 (en) * | 2010-07-30 | 2012-02-02 | Broadcom Corporation | Network power management |
CN102347857A (zh) * | 2010-07-30 | 2012-02-08 | 美国博通公司 | 用于管理网络中的能量效率和控制机制的系统和方法 |
Non-Patent Citations (1)
Title |
---|
VASIC N,KOSTIC D: ""Energy-Aware Traffic Engineering"", 《EPFL》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302217A (zh) * | 2015-05-25 | 2017-01-04 | 华为技术有限公司 | 一种数据链路管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104335530B (zh) | 2017-09-22 |
US20140192677A1 (en) | 2014-07-10 |
WO2014003534A1 (en) | 2014-01-03 |
US9141171B2 (en) | 2015-09-22 |
DE112012006604T5 (de) | 2015-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104335530B (zh) | 用于网络元件的网络路由协议节能方法和装置 | |
Zhang et al. | Load balancing in data center networks: A survey | |
CN102415054B (zh) | 节点装置和通信方法 | |
Chen et al. | Survey on routing in data centers: insights and future directions | |
CN106063195B (zh) | 具有单独控制设备和转发设备的网络中的控制设备发现 | |
CN102986176B (zh) | 用于bgp mac-vpn的mpls标签分配的方法和装置 | |
CN101965715B (zh) | 最短路径确定中的打破平局 | |
CN104335537B (zh) | 用于层2多播多路径传送的系统和方法 | |
CN108989133B (zh) | 基于蚁群算法的网络探测优化方法 | |
US9654380B1 (en) | Systems and methods for determining network topologies | |
TW202034737A (zh) | 在網路運算環境中的路由最佳化 | |
CN104335535A (zh) | 使用生成树和网络交换元件资源在网络中路由信息流的方法、装置及系统 | |
CN104221336B (zh) | 用于虚拟网络架构链路故障恢复的系统和方法 | |
CN109845200A (zh) | 检测并防止网络环路 | |
CN103746931A (zh) | 在服务应用后用网络设备维持负载均衡 | |
CN105229968A (zh) | 对于服务链的带宽感知服务布置的方法和系统 | |
CN107104903A (zh) | 通过分组循环进行网络拥塞管理 | |
CN105340230A (zh) | 虚拟机架拓扑管理 | |
US9385939B2 (en) | Method and a controller system for configuring a software-defined network | |
CN107231307A (zh) | 用于防止数据中心架构内子网间流量转接的方法、系统和装置 | |
CN102203836A (zh) | 用于反映控制平面中的转发平面利用率的方法和装置 | |
Jia et al. | A low overhead flow-holding algorithm in software-defined networks | |
CN111245724A (zh) | 基于虚拟交换机部署的sdn负载均衡路由方法 | |
US10218612B2 (en) | Method and a device for defining implementation of a look-up table for a network element of a software-defined network | |
Faghani et al. | Shortcut switching strategy in metro Ethernet networks |
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 |