(19)中华人民共和国国家知识产权局

(12)发明专利

(10)【授权公告号】CN101803316B
(45)【授权公告日】20120711

(21)【申请号】200880108256.7
(22)【申请日】20080904
(30)【优先权数据】11/861,564_20070926_US
(73)【专利权人】 国际商业机器公司 ; 【地址】 美国纽约 ;
(72)【发明人】 C·德库萨提斯 ; T·格雷格 ;
(74)【专利代理机构】北京市中咨律师事务所 11247【代理人】于静 ; 杨晓光 ;
(51)【Int.CI.】 H04L 12/56 (2006.01) ;
(56)【对比文件】WO_0122645_A1_20010329 ; CN_101040489_A_20070919 ; US_2004196790_A1_20041007 ; US_6744757_B1_20040601 ; US_6901050_B1_20050531 ; 【审查员】谢正程

(54)【发明名称】用于数据中心以太网架构的在虚拟道上的适应性拥塞控制的方法、系统和装置
(57)【摘要】在数据中心以太网(DCE)网络中适应性地控制拥塞。在该DCE网络中的至少一虚拟道上接收封包。在一时间段内计算绝对或相对封包到达速率。将该绝对或相对封包到达速率与至少第一阈值和第二阈值相比较。如果该绝对或相对封包到达速率增加而超出该第一阈值,则使封包传输速率减小。如果该绝对或相对封包到达速率小于第二阈值,则使该封包传输速率增加。

【权利要求书】


1.一种在数据中心以太网网络中用于适应性拥塞控制的方法,其包含:

在该数据中心以太网网络中的至少一虚拟道上接收封包;

在一时间段内计算绝对或相对封包到达速率;

将该绝对或相对封包到达速率与至少第一阈值和第二阈值相比较;

如果该绝对或相对封包到达速率超过该第一阈值,则使封包传输速率减小;以及

如果该绝对或相对封包到达速率小于该第二阈值,则使封包传输速率增加,

其中该绝对到达速率是通过以下步骤来计算:

确定每一接收的封包是否具有有效封包序号;以及

如果接收的封包具有有效封包序号,则使计数器递增,其中基于在该时间段内该计数器中的增量来计算该绝对封包到达速率。

2.如权利要求1的方法,其中该相对封包到达速率是通过以下步骤来计算:

检测每一接收的封包的时间戳,所述时间戳指示发送该封包时的时间;以及

确定从该封包的接收的时间与发送该封包时的时间的偏移,其中基于在该时间段内封包的接收的偏移来计算该相对封包到达速率。

3.如权利要求1的方法,其中在固定时间段或可变时间段内计算该绝对或相对封包到达速率。

4.如权利要求1的方法,其进一步包含:

将该绝对或相对封包到达速率与第三阈值相比较;以及

如果该绝对或相对封包到达速率超过该第三阈值但小于该第一阈值,则使该封包传输速率在暂停后减小。

5.如权利要求1的方法,其进一步包含:

将该绝对或相对封包到达速率与第四阈值相比较;以及

如果该绝对或相对封包到达速率小于该第四阈值但不小于该第二阈值,则使该封包传输速率在暂停后增加。

6.如权利要求1的方法,其中基于每虚拟道对封包执行所述步骤。

7.如权利要求1的方法,其进一步包含依据所述至少一虚拟道上所计算的封包到达速率来动态地增加或减小在其它虚拟道上的封包传输速率。

8.一种在数据中心以太网网络中用于适应性拥塞控制的系统,其包含:

发射器,其用于在该数据中心以太网网络中的至少一虚拟道上传输封包;

接收器,其用于从该发射器接收所传输的封包;以及

交换器,其散置于该发射器与该接收器之间,其中该交换器从该发射器接收所述封包并在一时间段内计算绝对或相对封包到达速率,并将该绝对或相对封包到达速率与至少第一阈值和第二阈值相比较,其中如果该绝对或相对封包到达速率超过该第一阈值,则该交换器使封包传输速率减小,以及如果该绝对或相对封包到达速率小于该第二阈值,则该交换器使该封包传输速率增加,

其中该交换器进一步确定每一接收的封包是否具有有效封包序号,以及如果接收的封包具有有效封包序号,则该交换器使计数器递增,其中该交换器基于在该时间段内该计数器中的增量来计算该绝对封包到达速率。

9.如权利要求8的系统,其中该交换器检测每一接收的封包的时间戳,所述时间戳指示发送该封包时的时间,以及确定从该封包的接收的时间与发送该封包时的时间的偏移,其中计算该相对封包到达速率的步骤是基于在该时间段内封包的接收的偏移。

10.如权利要求8的系统,其中在固定时间段或可变时间段内计算该绝对或相对封包到达速率。

11.如权利要求8的系统,其中该交换器进一步将该绝对或相对封包到达速率与第三阈值相比较,以及如果该绝对或相对封包到达速率超过该第三阈值但小于该第一阈值,则该交换器使该封包传输速率在暂停后减小。

12.如权利要求8的系统,其中该交换器进一步将该绝对或相对封包到达速率与第四阈值相比较,以及如果该绝对或相对封包到达速率小于该第四阈值但不小于该第二阈值,则该交换器使该封包传输速率在暂停后增加。

13.一种在数据中心以太网网络中用于适应性拥塞控制的装置,该装置包括:

用于在该数据中心以太网网络中的至少一虚拟道上接收封包的模块;

用于在一时间段内计算绝对或相对封包到达速率的模块;

用于将该绝对或相对封包到达速率与至少第一阈值和第二阈值相比较的模块;

用于在该绝对或相对封包到达速率超过该第一阈值时,使封包传输速率减小的模块;以及

用于在该绝对或相对封包到达速率小于该第二阈值时,使封包传输速率增加的模块;

其中所述用于在一时间段内计算绝对封包到达速率的模块包括:

用于确定每一接收的封包是否具有有效封包序号的子模块;以及

用于在接收的封包具有有效封包序号时,使计数器递增的子模块,其中基于在该时间段内该计数器中的增量来计算该绝对封包到达速率。

14.如权利要求13的装置,其中所述用于在一时间段内计算相对封包到达速率的模块,包括:

用于检测每一接收的封包的时间戳的子模块,所述时间戳指示发送该封包时的时间;以及

用于确定从该封包的接收的时间与发送该封包时的时间的偏移的子模块,其中基于在该时间段内封包的接收的偏移来计算该相对封包到达速率。

15.如权利要求13的装置,其中所述用于在一时间段内计算绝对或相对封包到达速率的模块,在固定时间段或可变时间段内计算该绝对或相对封包到达速率。

16.如权利要求13的装置,该装置进一步包括:

用于将该绝对或相对封包到达速率与第三阈值相比较的模块;以及

用于在该绝对或相对封包到达速率超过该第三阈值但小于该第一阈值时,使该封包传输速率在暂停后减小的模块。

17.如权利要求13的装置,该装置进一步包括:

用于将该绝对或相对封包到达速率与第四阈值相比较的模块;以及

用于在该绝对或相对封包到达速率小于该第四阈值但不小于该第二阈值时,使该封包传输速率在暂停后增加的模块。

18.如权利要求13的装置,该装置中的模块基于每虚拟道执行相应的操作。

19.如权利要求13的装置,该装置进一步包括:

用于依据所述至少一虚拟道上所计算的封包到达速率来动态地增加或减小在其它虚拟道上的封包传输速率的模块。

【说明书】


用于数据中心以太网架构的在虚拟道上的适应性拥塞控制的方法、系统和装置

【0001】商标

【0002】 为美国纽约Armonk的国际商业机器公司(InternationalBusiness Machines Corporation)的注册商标。本文中所使用的其它名称可为国际商业机器有限公司或其它公司的注册商标,或注册的商标名称或产品名称。

【0003】技术领域

【0004】总体地,本发明涉及业务控制,更具体地,涉及适应性拥塞控制。

【0005】背景技术

【0006】数据中心以太网(DCE)为新兴的行业标准,其提议对现有网络的修改,努力将以太网定位为优选的集合结构或所有类型的数据中心业务。最近的研究已发现以太网为集合结构,其具有在数据中心中的I/O合并,如图1中所示。期望此合并简化平台架构并降低总体平台成本。对于合并的提议的更多细节描述于″Proposal for Traffic Differentiation in EthernetNetworks″中,其可在http://www.ieee802.org/1/files/public/docs2005/new-wadekar-virtual%20-links-0305.pdf处发现。

【0007】已提议对于DCE(还被称作增强型以太网和低延时以太网)的主要改变,包括在链路层处基于信用的流量控制的添加、拥塞检测和数据速率减缓以及具有服务质量区别的虚拟道的添加。重点应注意,这些功能不影响存在于DCE层以上的传输控制协议/因特网协议(TCP/IP)。还应注意,DCE旨在无需TCP/IP的开销的情况下操作。这提供了不需要卸载处理或加速 器的简单得多的低成本方法。

【0008】DCE的实施将需要在服务器处的新的DC兼容网络接口卡、存储控制单元和以太网交换器,最为可能承担10千兆位的数据速率。存在若干相关的架构投入,包括用于高性能服务器的低延时以太网和在DCE结构中的各种其它协议的封装,以有助于在接下来的若干年内向集中式DCE网络的迁移。用于数据中心网络的这种新架构呈现许多技术上的挑战。

【0009】在某些条件下,允许在TCP/IP下运行的传统以太网网络丢弃数据封包。这些网络已知为″最尽力″或有损网络。使用其它协议(诸如,异步转移模式(ATM))的网络也使用此方法。这种网络依赖于用于检测拥塞的被丢弃封包。在使用TCP/IP的网络中,TCP/IP软件对这种网络提供端对端流量控制的形式。然而,从封包丢弃进行的恢复可引起明显的延时处罚。此外,也浪费了已由所丢弃的封包使用的任何网络资源。已完全确定,企业数据中心环境需要除非封包被破坏否则不丢弃封包的无损协议。同样,企业数据中心环境需要快得多的恢复机制,诸如,光纤信道协议、无限宽带等。无损网络防止缓冲器溢出,提供较快的响应时间来恢复破坏的封包,不会遭受由损耗诱发的吞吐量限制,并允许突发业务流无延迟地以全宽带进入网络。重点应注意,这些功能不影响在DCE层以上的TCP/IP。需要某一其它形式的流量控制和拥塞决议来解决这些问题。

【0010】使用基于信用的流量控制的网络遭受拥塞″热点″。此问题说明于图2A至图2D中。在这些图中所说明的实例展示具有三层级联交换(交换器层1、交换器层2和交换器层3)及其相关联的业务流的交换器结构。虽然为了说明的简单性展示了三个交换器层,但应了解,交换器结构可含有更多的交换器层。

【0011】在图2A中,业务平滑无拥塞地流动。然而,如图2B中所示,如果所有输入业务中的相当一部分的目标针对同一输出端口,则该输出链路可饱和,因此形成″热点″210。此情况导致交换器上充满馈入该链路的队列。如果该业务模式持续,则交换器上的可用缓冲器空间可能被耗尽。这又可导致交换的先前阶段使其缓冲器空间饱和,因此形成如图2C中所示的额 外热点220及230。拥塞最终可阻塞到网络输入节点的所有途径,因此形成热点240-256。这被称作拥塞扩展或树饱和。一个或多个饱和树可同时形成且极快速地扩展至整个网络。在一完全形成的饱和树中,每一封包必须经由网络穿越其途径上的至少一饱和交换器。总体而言,结果为网络可遭受吞吐量的灾难性损耗。

【0012】已存在针对此问题的若干提议解决方案。一提议的解决方案涉及检测在交换器处的潜在缓冲器溢出条件和将一消息在下游广播至目的地,接着返回至源节点,其请求减缓数据速率。此方法是费时的。同样,其依赖于交换器中的用于检测缓冲器正接近饱和的时间的预设阈值。业务的突发可使交换器快速超过其阈值水平并立即再快速减弱。在这些条件下,基于业务量的单一阈值不能够足够快地进行补偿。

【0013】许多其它传统方案需要对拥塞点所处位置的某一先验了解。这些方案仅良好地作用于可预测的业务模式,而不适合于具有不可预测业务模式的混合业务。

【0014】另一普通替代解决方法涉及配置过量的频宽或对网络进行过度配置以避免热点形成。然而,过度配置并不完全随网络节点的数目增加而缩放,且当数据速率接近10Gbit/s时,其为昂贵的解决方案。此外,DCE旨在将不同的数据业务模式(语音、存储、流传输视频、广告其它企业数据)混合至单一网络上。由于业务模式不太可预测,因此这使DCE将极可能遭遇热点拥塞。

【0015】发明内容

【0016】根据一示例性实施例,提供一种在数据中心以太网(DCE)网络中用于适应性拥塞控制的方法、系统和计算机程序产品。在该DCE网络中的至少一虚拟道上接收封包。在一时间段内计算绝对或相对封包到达速率。将该绝对或相对封包到达速率与至少第一阈值和第二阈值相比较。如果该绝对或相对封包到达速率超过该第一阈值,则使封包传输速率减小。如果该绝对或相对封包到达速率小于第二阈值,则使该封包传输速率增加。

【0017】附图说明

【0018】参照以下附图,现在将仅通过实例描述优选实施例,其中:

【0019】图1说明所提议的在数据中心以太网(DCE)网络中的业务的合并;

【0020】图2A至图2D说明在传统的基于信用的流量控制网络中出现的拥塞″热点″;

【0021】图3说明根据一示例性实施例的用于适应性拥塞控制的方法;

【0022】图4A说明封包的发送与封包的接收之间的偏移改变;

【0023】图4B说明根据另一实施例的用于适应性拥塞控制的方法;

【0024】图5说明根据一示例性实施例的用于适应性拥塞控制的一示例性系统;以及

【0025】图6说明根据示例性实施例的使用计算机程序产品实施适应性拥塞控制的示例性系统。

【0026】具体实施方式

【0027】根据一示例性实施例,大型数据中心以太网(DCE)网络中的链路层处的可靠性得以增强。在一实施例中,动态地计算封包到达速率且将其与阈值相比较,而非仅计数在交换器缓冲器中累积的封包的总数。这样允许较快地检测潜在拥塞条件且适当地作出响应。在拥塞缓慢形成的情况下,此方法还可等待直至需要减缓封包传输速率。此方法还允许在拥塞已通过后较快地执行恢复,且将链路减缓直至其完全操作速率。

【0028】根据一示例性实施例,为了防止丢弃封包,对每一封包分配封包序号(PSN)。在一实施例中,PSN可包括保留于封包标头中的24个位,其具有可选的3个位的会话识别符。例如,在以引用的方式并入本文中的共同受让的美国专利申请No.11/426,421中描述了分配这些序号以及当重建链路时再初始化有效PSN的序列的方案。

【0029】图3说明根据一示例性实施例的在DCE网络中用于适应性拥塞控制的方法。在步骤310处,在虚拟道上在交换器处接收封包。在步骤320处, 确定该封包是否具有有效PSN。可(例如)在交换器(诸如,图5中所示的交换器510a)中进行此确定。如果该封包未承载有效PSN,则在步骤325处产生错误,且过程返回至步骤310。如果封包确实承载有效PSN,则在步骤330处确定计数器定时器是否正在运行。如果为否,则在步骤340处,启动计数器定时器并使其递增1。如果计数器定时器正在运行,则在步骤345处使其递增1。当每一承载有效PSN的连续封包达到时,使计数器定时器递增。在步骤350处,计算绝对封包到达速率。由于仅测量封包到达速率,因此此时无需检查顺序的PSN。可在固定时间间隔或可变长度时间窗口内计算绝对封包到达速率。在步骤360-368处,将绝对封包到达速率与各种阈值相比较。可在交换器中执行此比较。如果在步骤362处确定绝对封包到达速率超过指示封包到达速率正快速增加的阈值水平,则在步骤372处(例如)从交换器发送减缓封包传输速率的消息至源节点(例如,图5中所示的源节点520)。如果在步骤364处确定绝对封包到达速率超过指示封包到达速率正缓慢增加的较低阈值,则在步骤374处在等待预定时间量后可减缓输入。也可颠倒该过程,使得如果在步骤366处确定绝对封包到达速率小于指示封包到达速率正缓慢减小的预定阈值,则在步骤376处在预定时间量后将增加封包传输速率的命令发送至源节点。如果在步骤368处确定绝对封包到达速率小于指示封包到达速率正快速减小的较低阈值,则在步骤378处可使源节点快速增加封包传输速率。

【0030】根据另一实施例,可使用DCE封包标头的时间戳代替计数器来确定用于在与阈值相比较中使用的相对封包到达速率。图4A说明对于各种封包如何可随时间过去而存在从发送封包的时间直至接收到该封包的偏移改变(差量(delta))。可在一时间段内测量封包发送时间与封包接收时间之间的偏移,且将其用作相对封包传输速率的指示。可通过检测在发送(例如,从交换器)时间置于封包标头上以指示封包的发送时间的时间戳并确定接收到该封包(例如,在另一交换器处)的时间来测量该偏移。偏移为发送时间与接收时间之间的时间差。为考虑延时,时间戳可在封包离开节点(例如,交换器)时被置于封包的标头上。偏移的改变可指示在一时间段内封包到达 速率正增加还是正减小。可基于封包发送时间与封包到达时间之间的偏移来计算相对封包到达速率,并且可进行测量以通过比较所计算的相对封包到达速率与各种阈值,来使封包到达速率增加或减小,如下参看图4B解释。这允许网络中的集中式管理器确定拥塞点或源封包注入速率是否正为缓慢。此实施例不需要网络中任何地点(包括源节点、目的地节点和内部节点和交换器)的接收和发送频率的同步,因为仅使用发送时间与到达时间之间的偏移以计算相对封包到达速率。因此,封包的发送与封包的接收之间的时间偏移可能为负值。

【0031】图4B说明根据一示例性实施例的使用时间戳方法的在DCE网络中用于适应性拥塞控制的方法。在步骤410处,在虚拟道上在交换器处接收封包。如上所述,在步骤420处,确定从发送封包的时间与接收封包的时间的偏移。在步骤440处,基于一时间段内若干封包的发送时间与到达时间之间的偏移来计算相对封包到达速率。可在固定时间间隔或可变长度时间窗口内计算该相对封包到达速率。类似于图3中所示的过程,在步骤460-468处,将该相对封包到达速率与各种阈值相比较。可在交换器中执行此比较。如果在步骤462处确定相对封包到达速率超过指示封包到达速率正快速增加的阈值水平,则在步骤472处发送减缓封包传输速率的消息至源节点(例如,图5中所示的源节点520)。如果在步骤464处确定相对封包到达速率超过指示相对封包到达速率正缓慢增加的较低阈值,则在步骤474处在等待预定时间量后可减缓输入。也可颠倒该过程,使得如果在步骤466处确定相对封包到达速率小于指示封包到达速率正缓慢减小的预定阈值,则在步骤476处在预定时间量后将增加封包传输速率的命令发送至源节点。如果在步骤468处确定相对封包到达速率小于指示相对封包到达速率正快速减小的较低阈值,则在步骤478处可使源节点快速增加封包传输速率。

【0032】根据一示例性实施例,图3和图4B中所描绘的过程可通过执行编码于计算机程序产品中包括的计算机可读介质(诸如,CD-ROM盘或软盘)上的指令的控制逻辑和/或计算机处理器而在交换器中实施。

【0033】上述方法可在每一交换器处实施于网络中的每一节点上。以此方式,可极为快速地响应为拥塞的潜在原因的业务突发。同样,当拥塞通过时,可较快地执行恢复。

【0034】图5说明根据一示例性实施例的用于适应性拥塞控制的一示例性系统。如图5中所示,封包经由交换器510a和510b以及链路540的DCE结构在源节点520与目的地节点530之间传输。虽然为了说明的简单性在图5中展示了两个交换器,但应了解,可存在更多的交换器。封包到达速率可经测量/计算,并且与交换器510a和510b中的阈值相比较(如上所述)。交换器又可使源节点(或目的地节点,如果正从目的地节点发送业务)按需要增加/减小封包传输速率。

【0035】如上所述,可针对业务增加/减小的不同速率而设定不同阈值水平。举例而言,如果业务传输速率缓慢增加,则在请求源节点减缓输入数据速率前可存在暂停。类似地,如果业务传输速率缓慢减小,则在请求源节点增加输入数据速率前可存在暂停。以此方式,尽可能长地使最大数据量保持于流水线中,从而更有效地使用可用网络带宽。可依据封包到达速率和阈值来调整最大允许接收缓冲器配置。同样,根据示例性实施例,与仅测量封包的总数相比,可达成从拥塞条件的较快恢复。这样能提前防止拥塞树的形成,并且优化网络吞吐量和效率。

【0036】另外,此方法可实施于在共同高速连接之间传输若干虚拟业务流的每虚拟道基础系统上。以此方式,在一虚拟道上的业务突发将不会引起对于共享同一物理连接的其它业务流的拥塞。此负载平衡特别有益于混合业务类型。同样,可基于封包到达速率的增加和减小来调整接收缓冲器大小的配置。甚至可能实施反馈回路,用于依据拥塞的程度在不同虚拟道之间动态地配置业务。

【0037】如上所指出,图3和图4B中所描绘的过程可通过执行编码于计算机程序产品中包括的计算机可读介质(诸如,CD-ROM盘或软盘)上的指令的控制逻辑和/或计算机处理器在交换器中实施。用于实施计算机程序产品上的这些过程的示例性系统展示于图6中。

【0038】图6说明根据示例性实施例的使用计算机程序产品实施适应性拥塞控制的示例性系统。该系统包括经由输入/输出接口630与信号承载介质640接触的计算机600。信号承载介质640可包括用于执行上述适应性拥塞控制技术的指令,所述指令被实施为(例如)永久存储于不可写入存储介质(例如,计算机内的只读存储器装置,诸如,可由CD-ROM光驱读取的CD-ROM光盘)上的信息、存储于可写入存储介质(例如,软盘驱动器内的软磁或硬盘驱动器)上的可写入信息、由通信介质传送至计算机的信息,诸如,经由计算机或电话网络,包括无线和宽带通信网路,诸如,因特网等。

【0039】计算机包括处理器610,其执行含在(例如)信号承载介质640上用于执行适应性拥塞控制技术且经由输入/输出接口630通信至计算机的指令。用于执行适应性拥塞控制的指令可存储于存储器620中或可保留于信号承载介质640上。

【0040】虽然已参照示例性实施例描述了本发明,但本领域普通技术人员应理解,在不脱离本发明的范围的情况下可进行各种改变,并且可用等同物取代其组件。此外,在不脱离本发明的实质范围的情况下,可进行许多修改以使特定情形或材料适合于本发明的教导。因此,本发明不限于被公开为预期用于执行本发明的最佳实施方式的特定实施例,本发明而是包括落入所附权利要求的范围内的所有实施例。

【说明书附图】


【0001】


图1

【0002】


图2A

【0003】


图2B

【0004】


图2C

【0005】


图2D

【0006】


图3

【0007】


图4A

【0008】


图5

【0009】


图4B

【0010】


图6