进行拥塞标记的方法和系统的制作方法

文档序号:7680670阅读:218来源:国知局
专利名称:进行拥塞标记的方法和系统的制作方法
技术领域
本发明涉及包交换数据网络,更具体来说,涉及一种基于从协议栈 较低层获得的拥塞信息来对该协议桟较高层中的数据包进行拥塞标记的 方法和系统。
背景技术
数据网络中的"拥塞标记"是这样的实践,即在包头部中特定字段内 设置某个值,以表明当该包作为流的一部分穿过网络时,该包在该网络 中的某一跳处经历了拥塞。如果包在后一跳处继续经历拥塞,则该后一 跳处的路由器可以决定丢弃这个标记了拥塞的包,以减轻整个网络中的 拥塞。网际协议(IP)网络中的拥塞标记是公知的,并且通常通过网络 层路由器在流量高于特定阈值之上时(在IP头部中)对包进行"标记"而
完成。具体来说,IETF RFC 3168定义了向IP添加ECN (显式拥塞通知), 利用IP头部中的区分服务代码点(DiffServ Codepoint, DSCP)来进行 ECN标记。
拥塞标记的使用使得能够执行各种网络控制功能,例如(1)诸如
TCP的拥塞反应协议(congestion reactive protocol):用于执行速率控制 而不是丢弃包;(2)PCN(预拥塞通知)用于控制新流的允入(admission) 并抢占(pre-empt)已有流;以及(3)流量工程(Traffic Engineering):
控制流到替换路径的转移。
ECN技术通常根据网络中某点处已经发生的拥塞,来触发对包的初 始ECN标记,然后进一步发生的拥塞会导致作了 ECN标记的包被丢弃。 然而,在一些部署(deployment)中,更优地是尝试和检测增加的网络流 量,并且在拥塞实际发生之前或者在拥塞刚开始发生时,采取补救措施 来控制网络负载。为了尝试和解决这些问题,已经发展出了用在网络层
4拥塞标记的语境中的预拥塞通知(PCN)概念。
PCN (预拥塞通知)是一种使用边到边基于分散式测量的允入控制
(DMBAC)的端到端受控负载(CL)服务,边到边DMBAC在Briscoe 等的IETF因特网草案"An edge-to-edge Deployment Model for Pre-Congestion Notification: Admission Control over a DiffServ Region)"禾口 B.Briscoe等的正TF因特网草案"Pre-Congestion Notification Marking),,
中做了描述,这两个草案分别为可以从 http:〃tools.ietf.org/wg/tsvwg/draft-briscoe-tsvwg-cl-architecture-04.txt 获得 的 draft-briscoe-tsvwg-cl-architecture-04.txt 禾口 可 以 从 http:〃www.ietf.org/intemet-drafts/draft-briscoe-tsvwg- cl-phb-03.txt获得的 "draft-briscoe-tsvwg-cl-phb-02.txt"。 MBAC (基于测量的允入控制)的主 要目的是保证不仅针对受检验从而允入的任何进入流而且针对已有的准 入流的服务质量(QoS)要求。
PCN使用两种控制算法流允入控制和流抢占。下面对这两种算法 进行更详细的描述。为了得到进一步的细节,参照上面提到的两个IETF 因特网草案,这里通过引用并入这两个草案。
在流允入控制中,PCN引入了一种算法,该算法在队列中存在任何 CL包的显著增多(build-up)之前对这些包进行"允入标记"。作了允入标 记的包充当早期警告,即,警告包流量接近工程设计容量。通过使用 DMBAC (基于分散式测量的允入控制),横跨CL区"边到边"地实现CL 服务。允入新流的决定取决于同一对入口和出口网关之间已有流量的测 量。CL区出口计算使用EWMA (指数加权移动平均)作了标记的包的 比率(fraction),并将该值(拥塞水平估计)报告回入口。
允入标记是如下来执行的。在当前PCN设计中,路由器使用以下类 似RED的算法,根据路由器处虚拟队列的大小来计算包应该被允入标记 的概率
虚拟队列大小<最小标记阈值,概率=0;
最小标记阈值<虚拟队列大小< (最大标记阈值-最小标记阈值),概 率=(虚拟队列大小-最小标记阈值)/ (最大标记阈值-最小标记阈值);虚拟队列大小>最大标记阈值,概率=1。
这给出了如图3中所示的概率函数,包被标记的线性增加的概率取 决于路由器处的、最小和最大标记阈值之间的虚拟队列大小。在这一方 面,尽管我们通过"虚拟队列"来表示路由器处流量队列的大小的仿真, 但是它适合于仿真比实际真实发生更低的发送速率(即,队列清空速率)。 因此,"虚拟队列"是以和真实队列处的包到达相同的速率增大,而以比 由于实际包从真实队列中发送出去而导致的真实队列被实际清空更慢的 速率减小的数。例如,虚拟队列的减小速率可以被选择为实际路由器发 送速率的某个百分比,由此被选择为真实队列的减小速率的某个百分比,
如80%。
使用该更低的虚拟"发送速率"(即,虚拟队列减小的速率)的效果 是,它使得能够通过简单地查看真实队列中排队的数据量,在潜在的拥 塞成为现实之前检测到它们。例如,如果我们查看真实队列,并等待直 到真实队列为满才检测然后采取针对拥塞的措施,则实际上,在采取补 救措施之前拥塞已经发生,并且由于缓冲器溢出而导致包正在丢失。然 而,通过査看虚拟队列,因为虚拟发送速率(即,虚拟队列计数器减小 的速率)小于实际发送速率,所以对于给定的包到达速率,虚拟队列将 始终比实际队列更"满"(即,指示更高的水平)。如果包到达速率增大从 而虚拟队列"溢出"(即,达到阈值数,该阈值数可以等于真实队列可以 保持的包数),则这是真实队列中将要发生拥塞的指示,从而可以采取措 施。当然,因为真实队列具有高于虚拟队列的发送速率,所以在虚拟队 列溢出时,真实队列将仍然有容量,所以拥塞实际上还未发生。
因此,使用虚拟队列的技术提供了一种机制,通过该机制可以进行 潜在拥塞的早期检测。
流抢占是一种帮助解决路由器和链路故障的方案。新流只在有足够
容量的情况下才被允入,从而可以满足新流和己有允入流的QoS要求。 考虑链路故障、缓和(mitigation)以及重路由的传统方法可能导致某些 链路上的严重拥塞,并降低正在前进的(on-going)流和其他低优先级流 所体验到的QoS。 PCN使用基于速率的流抢占,从而之前允入流的足够比例被丢弃以确保剩余流再次接收到与CL服务相当的QoS,并且对其他
流量类型迅速恢复至少一些QoS。进行流抢占的步骤为(1)触发入口
网关来测试是否可能需要抢占。通过PCN增强了的路由器可选地包括对
包进行抢占标记的算法。在出口处接收到如此作了标记的包向入口网关
发送抢占警报消息。(2)计算要丢弃的流量的正确数量。(3)选择要发 送哪些流。(4)针对所选的流解除(tear down)预留。入口网关针对使 用中的预留协议,触发标准的解除消息。此外,在上面引用的IETF草案 中给出了流抢占的进一步细节。
应该注意,在任何PCN部署中,可以仅使用流允入控制或者流抢占 中的一个或另一个,或者可以同时使用这两种控制算法。就包的PCN标 记而言,允入控制标记将被允入控制算法使用,而抢占标记被流抢占算 法使用。上面引用的B.Briscoe等的"Pre-Congestion Notification Marking" 也即文件"draft-briscoe-tsvwg-cl-phb-02.txt"中描述了允入控制标记和抢占 标记至UDSCP的编码。
ECN和PCN是网络路由器用来在网络层进行拥塞控制的网络层 (OSI模型中的层3)协议。然而,目前已经提出将拥塞信令引入数据链 路层(OSI模型中的层2),以允许诸如以太网交换机的数据链路层实体 响应于接收到的拥塞信号来执行速率控制。具体来说,近来,提出了一 种被称为后向拥塞通知(BCN)的技术在数据中心网络中的以太网上使 用。
后向拥塞通知(BCN)是一种用于最初由Davide Bergasamo在Cisco 系统中开发的数据中心网络(DCN)的机制,并且目前正由IEEE 802.1/802.3标准委员会考察。BCN允许来自拥塞点(达到几跳远)的拥 塞反馈(仅在层2),和入口处的速率控制。在JinJing Jiang, Raj Jain和 Manoj Wadekar向2006年11月12-15日于CA, Santa Barbara(圣巴巴拉) 召开的关于网络协议的第14次国际IEEE会议(ICNP 2006)递交的 "Analysis of Backward Congestion(BCN) for Ethernet in Datacenter Applications"(可以在http:〃www.cse.ohio-state.edu/~jain/ papers/bcn.htm 处获得)中以及2005年5月12日于德国柏林主持的IEEE 802.1临时会议由 Bergamasco 给出的原始 IEEE 陈述(可以在 http:〃www.ieee802.org/l/files/public/docs2005/new-bergamasco-backward-c ongestion-notification-0505.pdf处获得)中描述了 BCN。下面给出BCN的
操作的简要综述。
BCN消息使用IEEE 802.1Q标签格式,图2中示出了 BCN消息中 的关键字段。
BCN消息30包括以下字段。BCN消息的DA (宿地址)31表明了 采样帧的SA (源地址)。BCN消息的SA (源地址)34表明了拥塞点的 MAC地址。CPID35是拥塞点标识符。字段ei33给出了与返回到源的缓 冲器有关的信息。例如,根据图l,交换机4可以向交换机1 (SA,采样 帧的源地址)发回BCN消息,向(采样帧经过的)交换机4表明入口处 的拥塞水平。字段32被用来指示标签消息的类型,即它是BCN消息。 字段C 36被用来信号通知拥塞链路的容量。
BCN消息中的字段"ei"33给出了与生成该BCN消息的以太网交换机 的存储器缓冲器的状况有关的信息。其值由瞬时队列偏移的加权求和与 上一采样间隔上的队列变化组成,如下式1所示
& = q。ff(t) — Wqdelta(t) = (Qeq-q(t)) — W(qa-qd) 式1
其中W是权重;q。fi(t)是如式2定义的瞬时队列偏移
q。e(t) = q(t)画Qeq 式2
并且qdeto(t)是上一采样间隔上的队列变化,并且被定义为己到达的
包数qa和上一采样时间后被服务的包数qd的差。这里,q(t)是瞬时的实际
队列大小,而Qeq是均衡的队列大小,均衡的队列大小通常为队列总大小
的一半。
如果eiX),则表明BCN消息为正(positive)。这意味着很快拥塞的 可能较小。当满足以下条件之一时,设置ejX):
1. 当队列长度较短,并且队列未增加时;或者
2. 即使队列长度此时较大,但是长度正在减小,并且因此促使源增 加它们的速率
如果eiO,则表明BCN消息为负(negative)。这意味着很快拥塞的
8可能较大。当满足以下条件之一时,设置ejO:
1. 即使队列此时较小,但是它正在增加,因此促使源减小它们的速
率;
2. 较大队列表明链路出现拥塞。要求源减小它们的速率 一旦接收到BCN消息,源使用以ei作为参数的加性增长乘性减少
(AIMD)算法来调整它的速率。在上面引用的Jiang等的文章中可以获
得进一步的细节。
因此,BCN提供了一种用于以太网网络中的拥塞信令和发送速率适 应方案,它们可以用来避免较长延迟,并且使层2以太网网络中的损失 最小。另一方面,已经提出PCN通过这样的方式提供网络层中的拥塞控 制,即,对包进行PCN标记,然后被用来触发允入控制算法以在网络达 到它的工程设计负载时防止新流的允入,和/或触发抢占算法以在路由器 或链路故障时"抢占"或终止己有的允入流。然而,至今,如图1中所示 出,按它们在协议栈的不同层中那样运行的这两种方案意图是在它们各 自层中独立运行。在此方面,图1例示了 BCN可以如何在数据链路层10 中运行以在上游方向将BCN消息从正在经历拥塞的以太网交换机向后发 送到源交换机,而PCN可以在网络层20中独自运行。
迄今为止还未设想过这两种机制之间的交互。然而,每种机制都有 效地用来检测相同的有害现象(即网络中的拥塞)并对其产生作用。此 外,PCN通过检测网络何时达到它的工程设计容量,并响应于该检测典 型地以允入控制的形式在网络层采取措施,来尝试避免拥塞。因此,PCN 中的早期拥塞检测对实现该目标是有帮助的。然而,网络层中的IP包必 须使用数据链路层在链路上传输,并且拥塞将首先发生在数据链路层流 量队列中。因此,如通过BCN所实现的,通过监控数据链路层流量队列, 拥塞通常可以进行早期检测。因此,能够采取数据链路层中可用的早期 拥塞检测并将拥塞指示向上传至网络层从而可以随后在网络层中采取补 救措施,这是有益的。更一般地,也可以从将来自协议栈较低层的拥塞 信息用在较高层来获得这些优点。
现有技术出于交换的目的,IP包可以被封装在一个或更多个MPLS标签中, 以通过MPLS网络进行传送。在这种情况下,IP层有效地将MPLS层处 理为它的链路层,但是实际中,MPLS将通常落在真实数据链路层的顶部, 例如PPP。在此方面,如该技术(例如,参见Pearson Education 2003出 版的Tanenbaum,A.S.的Coumputer Networks第四版416页)中所认可的, MPLS 可以认为是层 2.5 。 鉴于此,在可以从 http:〃www.cs.ucl.ac.uk/staff/B.Briscoe/projects/ipe2eqos/gqs/papers/draft-da vie-ecn-mpls-01.html获得的B.Davie,B.Briscoe禾n J.Tay的IETF因特网草 案 , Explicit Congestion Marking in MPLS , 即文件 "draft-davie-ecn-mpls-01.txt"中,描述了在MPLS标签头部中可以如何执 行ECN标记。具体来说,它描述了当包穿过MPLS网络时,如果经历了 拥塞,则可以对MPLS标签进行拥塞标记。当上一 MPLS标签已经从 MPLS标签栈中弹出以揭示IP包头部(通常在MPLS网络的出口处)时, 将MPLS标签中的任何拥塞标记拷贝到IP头部中的DSCP内。因此,用 这种方案,从低于网络层的层(MPLS层)获得拥塞信息,并且该拥塞信 息用于在网络层内作拥塞标记。然而,如所讨论的那样,MPLS不是真实 的数据链路层协议,而是关注提供更简单的交换,并且需要下面的另一 数据链路层协议来执行交换机之间的实际数据传输。因此,将从MPLS 导出的拥塞信息传至IP内并未提供和可以通过查看链路层流量队列从实 际链路层内获得的拥塞信息而获得的相同的早期拥塞检测。
现在参照现有专利文献,美国申请US 2006/104298 ("McAlpine等") 涉及拥塞控制,并且涉及基于节点间通信路径中的流量拥塞来控制节点 间数据传输速率。具体来说,它公开了这样的源节点,所述源节点接收 要从该源节点发送到宿节点的相关数据帧,并且将这些帧置于队列中。 该队列与这样的通信路径相关联,即,所述相关帧要在所述通信路径上 被发送到宿节点。将该源节点连接到该通信路径的接口接收一指向该源 节点的关于通信路径中有流量拥塞的指示。响应于此,该源节点控制所 述相关数据帧从该队列传送到所述接口可访问的传输缓冲区的速率,以 便缓解通信路径中的流量拥塞。除此之外,美国专利US 6,426,944 ("Moore")涉及一种用于在快速 包网络上控制数据消息的方法和装置。具体来说,它公开了高速包网络 可以如何使用前向和/或后向显式拥塞通知消息(FECN和BECN)更高 效地控制流经网络的数据流,以调节(throttle)网络元件之间的数据传 输。该网络包括由接收协议栈构成用于发起数据流控制的路由器、控制 器和操作系统。路由器控制器被编程为响应于从快速包网络(例如帧中 继网络或小区中继网络)接收到拥塞消息(BECN),生成穿透包消息 (pass-through packet message),该消息请求打开层N和层N+2之间的虚 数据流控制信道,其中层N可以为帧中继协议的层2,而层N+2可以为 TCP协议的层4。层4可以拒绝打开该信道,但是一旦信道被打开,就可 以在快速包网络中感测到拥塞时,在宿智能终端之间发起数据流控制。 路由器控制器还被编程为打开到数据源的路径,并且向数据源发信号, 通知应当调整数据呈递速率。

发明内容
考虑到上面的问题,本发明的实施方式提供了这样的方法和系统, 其中,从协议栈中的较低层获得拥塞信息,并用于在较高层中进行拥塞 标记。具体来说,本发明第一方面的方法和系统提供了较低层中的拥塞 信息,所述拥塞信息在拥塞节点的下游生成,并且被向上游反馈到源节 点。然后,源节点将所述拥塞信息或从其中导出的信息向上传递到负责 协议栈中较高层的对应网络元件,随后可以在该对应网络元件中至少根 据接收到的较低层拥塞信息来执行较高层的拥塞标记。因此,来自较低 层的拥塞信息可以被用在较高层拥塞控制功能中,所述拥塞信息通常可 以在发生显著拥塞之前较早地生成。
另一方面,本发明实施方式的方法和系统提供了来自数据链路层要 被传递到网络层的拥塞信息,并且提供了根据数据链路层拥塞信息对网 络层中的包进行拥塞标记。优选地,所述数据链路层拥塞信息是根据至 少在一个数据链路层节点处维持的虚拟队列的一个或更多个属性而生成 的。通过查看数据链路层虚拟队列,可以获得潜在拥塞的早期检测,然后,网络层可以使用它来进行诸如预拥塞标记的拥塞标记,以触发控制 算法来试图避免任何拥塞发生。在其他实施方式中,并不使用虚拟队列, 而是可以根据至少一个数据链路层节点处维持的真实流量队列的水平来 生成数据链路层拥塞信息。
考虑上面的问题,本发明公开了一种用于确定数据网络中的拥塞信 息的方法,所述方法包括以下步骤在具有关于数据流的协议栈中较低 层的上游元件处,接收与在所述流的下游元件处发生的数据流量拥塞有 关的较低层拥塞信息,所述下游元件位于同一层内;以及将所述较低层 拥塞信息的至少一部分,或从其中导出的进一步信息提供给所述协议栈 中较高层处的元件。因此,可以对较低层网络元件进行改动以允许发送 较低层拥塞信息,该拥塞信息向较高层提供了对拥塞的早期警告。
可选地,所述方法可以还包括以下步骤响应于所述较低层拥塞信 息来修改所述数据流。这允许在较低层执行速率修改和在较高层进行拥 塞控制,以提供两种机制来对抗拥塞。
本发明的一个方面提供了一种确定数据网络中拥塞信息的方法,所 述方法包括以下步骤在具有协议栈中较高层的上游元件处,从所述栈 中较低层处的网络元件接收较低层拥塞信息,所述拥塞信息与在流的下 游元件处发生的数据流量拥塞有关,所述下游元件位于所述较低层内; 根据所述较低层拥塞信息,确定要在所述较高层中使用的较高层拥塞信 息;以及将所述较高层拥塞信息应用于所述较高层中的数据流量。因此, 较高层拥塞控制方案可以并入来自较低层的信息,因此,能够早于其他 情况来执行拥塞控制。
在优选实施方式中,所述较低层为数据链路层,所述较高层为网络层。
另一方面,本发明还提供了一种用于数据网络中的拥塞标记的方法, 所述方法包括以下步骤在数据链路层网络元件处,确定与在所述网络 中一个或更多个数据链路层链路内发生的拥塞有关的数据链路层拥塞信 息;以及将所述数据链路层拥塞信息传递到网络层网络元件。因此,可 以将数据链路层特有的拥塞信息传至网络层,然后,可以使用该拥塞信
12息来进行早期拥塞控制。
因此,本发明还类似地提供了一种在数据网络中进行拥塞标记的方 法,所述方法包括以下步骤在网络层网络元件处,接收与在所述网络 中一个或更多个数据链路层链路内发生的拥塞有关的数据链路层拥塞信 息;根据所接收到的数据链路层拥塞信息,确定网络层拥塞信息;以及 将所述确定的拥塞信息应用于所述网络层中的一个或更多个数据包。然 后,网络层可以使用来自数据链路层的该信息比其他情况更早地执行拥 塞控制。
优选地,根据所述下游数据链路层网络元件处维持的虚拟队列的大 小来确定所述数据链路层拥塞信息。然而,在其他实施方式中,所述数 据链路层拥塞信息代表了下游数据链路层网络元件处实际数据链路层流 量队列中排队数据的水平。因此,可以尽可能早地检测到大队列形式的 拥塞。
在优选实施方式中,所述数据链路层拥塞信息是BCN信息的形式, 而所述网络层拥塞信息是PCN标记的形式。这些特征使本发明对于基于 以太网的IP网络特别有吸引力。
在使用PCN的情况下,如果数据链路层拥塞信息表明了第一预定阈 值和更高的第二预定阈值之间的拥塞,并且抢占标记在所述第二预定阈 值之上,则PCN标记优选地为允入标记。因此,是调用PCN的允入控 制算法还是流抢占控制算法将取决于数据链路层中的拥塞量。
在优选实施方式中,根据针对网络层元件中虚拟队列大小的概率函 数来确定所述网络层拥塞信息,其中,根据所述数据链路层拥塞信息来 修改所述概率函数。标记概率函数的修改使得能够相对直接地将数据链 路层拥塞信息翻译成网络层拥塞信息。
另选的是,根据所述数据链路层拥塞信息来确定所述网络层拥塞信 息,这样,在所述网络层中对和所述数据链路层中基本相同量的有效载 荷数据进行了拥塞标记。该特征使得网络层通过按照数据链路层经历的 拥塞对网络层中更多或更少的数据进行拥塞标记,使网络层不会对数据 链路层中经历的拥塞反应过度(overreact)或反应不足(under-react)。
13本发明还提供了协议栈中较低层内用于确定数据网络中的拥塞信息 的网络元件,所述网络元件包括第一接口,在所述第一接口处接收与 在流中另一下游元件处发生的数据流量拥塞有关的较低层拥塞信息,所 述下游元件位于同一层内;以及第二接口,所述第二接口适于将所述较 低层拥塞信息的至少一部分或从其中导出的进一步信息转发到所述协议 栈中较高层处的元件。
可选地,所述网络元件还可以包括流修改器,所述流修改器被设置 为响应于所述较低层拥塞信息来修改所述数据流。
另外,本发明提供了协议栈中较高层处用于确定数据网络中的拥塞 信息的网络元件,所述网络元件包括用于从所述栈中较低层处的网络 元件接收较低层拥塞信息的接口,所述拥塞信息与在流中下游元件处发 生的数据流量拥塞有关,所述下游元件位于所述较低层内;以及控制元 件,所述控制元件被设置用来i)根据所述较低层拥塞信息,确定要在 所述较高层使用的较高层拥塞信息;以及ii)将所述较高层拥塞信息应用 于所述较高层中的数据流量。
此外,本发明还提供了一种数据链路层网络元件,所述数据链路层 网络元件包括拥塞控制器,所述拥塞控制器被设置为确定与所述网络 中一个或更多个数据链路层链路内发生的拥塞有关的数据链路层拥塞信 息;以及接口,所述接口用于将所述数据链路层拥塞信息传递到网络层 网络元件。
最后,本发明还提供了一种网络层网络元件,所述网络层网络元件 包括接口,所述接口用于从数据链路层元件接收与所述网络中一个或 更多个数据链路层链路内发生的拥塞有关的拥塞信息;以及控制元件, 所述控制元件被设置用来i)根据所接收到的数据链路层拥塞信息,确 定网络层拥塞信息;以及ii)将所述确定的拥塞信息应用于所述网络层中 的一个或更多个数据包。


通过以下仅以实施例方式呈现的对实施方式的描述,并通过参照附图,本发明的进一步特征和优点将变得明了,其中,相同的标号指代相
同部件,并且图中
图1是例示在现有技术中可以如何使用BCN标记和PCN标记的图; 图2是例示现有技术中所使用的BCN消息的格式的图3是例示使用现有技术的PCN对IP包进行允入标记的概率函数
的图4是例示本发明第一实施方式中涉及的网络元件和数据流的图; 图5是例示本发明第二实施方式中的网络元件和数据流的框图; 图6是例示本发明实施方式中使用的数据链路层交换机和网络层路 由器的框图7是例示本发明实施方式中涉及的步骤的流程图; 图8是例示本发明实施方式中的路由器处涉及的步骤的流程图; 图9是例示本发明优选实施方式中将BCN信息翻译成PCN标记所 涉及的步骤的流程图10是例示本发明实施方式中对包进行允入标记的概率函数的图; 图11是例示本发明实施方式中对包进行允入标记的概率函数的图; 图12是例示本发明实施方式中对包进行允入标记的概率函数的图; 图13是例示本发明实施方式中对包进行允入标记的概率函数的图。
具体实施例方式
现在将参照附图来描述本发明的实施方式。
如之前所提到的,图1根据网络层20中设置的多个路由器22和在 路由器22之间形成链路的多个交换机12,例示了数据链路层10中的典 型网络元件。来自较高层的包通过接入网络而接入核心网络,并且被传 至在网络的受控负载区中被表示为路由器1的入口网关。路由器1为接 收到的包确定路由,并将这些包传递到它相关联的数据链路层交换机(在 该情况下为交换机l),以传输到网络层中的下一跳路由器。网络层中路 由器1与路由器2之间的下一跳可以包括由数据链路层10中的交换机1 到4形成的几条单独的数据链路。通常,数据链路层可以包括以太网等。
15在数据链路层处,网络层包被封装成诸如以太网帧的数据链路层帧, 以在数据链路层中逐个交换机地传输到中间网络路由器(在该情况下为 路由器2)。如之前所讨论的,诸如PCN的拥塞标记可以在网络层中被采 用,并且用来执行允入控制和流抢占。另外,还已知拥塞标记可以在数 据链路层中例如使用BCN来执行,以标识数据链路层中特定交换机内的 拥塞,并控制源节点修改它的数据传输速率来解决拥塞。在图1中,示
例BCN消息14被示出为从与中间路由器(路由器2)相关联的交换机4 传输回与入口路由器(路由器1)相关联的交换机1。然而,如所讨论的, 在现有技术中,BCN和PCN机制被有效地分离,它们之间并无结合。因 此,在图1中,尽管交换机1可以响应于BCN消息来修改它的传输速率, 但是在网络层处未响应于数据链路层处检测到的拥塞对包进行附加的 PCN标记。
图4中示出了本发明的第一实施方式。在第一实施方式中,通过接 收BCN消息而在数据链路层交换机处包含的拥塞信息被反馈到该交换机 的相应网络层路由器,从而在对网络层中的包进行拥塞通知标记时可以 考虑数据链路层拥塞信息。图4例示了用于将数据链路层拥塞信息反馈 到入口路由器22 (为路由器l)的机制,该机制在网络层执行允入控制。 更具体来说,如所描述的,入口路由器1通过接入网络(未示出)来接 收要在网络的受控负载区上传输的数据。如代表数据包流的转发路径、 决定了如何路由接收到的包的箭头46所示,包从网络层传递到通常为以 太网网络等的数据链路层,其中交换机1随后开始将跨越多个单独数据 链路的包流朝向下一中间路由器2发送的处理。更具体来说,在本实施 例中,路由器1通过交换机1与交换机2之间、交换机2与交换机3之 间以及交换机3与交换机4之间的三个数据链路层跳而连接到路由器2。 在与中间路由器2相关联的交换机4处,IP包从数据链路层帧解封装, 并被传递到路由器2,从而向前路由。
现在考虑在运行诸如BCN的拥塞标记机制的交换机4处(与交换机 1、 2和3—同)在数据链路层中经历了拥塞。然后,交换机4以之前针 对图2描述的格式来生成BCN消息,并且以交换机1的地址作为宿地址。字段34中的源地址被给出为拥塞点(为交换机4)的MAC地址。交换 机4中的BCN机制计算被放入BCN消息的字段33中的拥塞信息值e;。 本实施方式中的拥塞信息值可以如之前针对现有技术BCN机制描述的那 样来计算,或者另选地可以根据将在之后描述的交换机4处保持的虚拟 队列来计算。交换机4的容量还放入字段36中。然后,BCN消息在包流 的上游向后传输到交换机3,然后到交换机2,最后到交换机l,交换机 1为消息的宿地址所指示的交换机。在本发明的实施方式中,交换机1随 后将在BCN消息中接收到的拥塞信息以拥塞反馈消息44的形式转发到 它相关联的网络路由器22 (在该情况下为路由器l)。在图4中,BCN消 息被示出为逐个交换机传递的消息42。
本发明的实施方式并不限于将拥塞信息从数据链路层传递到网络层 中的入口路由器,而是可以将这种反馈进一步在网络中的中间路由器之 间执行。这在本发明的另一实施方式(在图5中例示)中示出。这里, 中间路由器22 (路由器l)将数据流46转发到网络层中的路由器3。网 络层中的所有路由器都以已知的常规方式进行诸如PCN标记的拥塞标 记。在数据链路层处,包流46被封装成数据链路层帧,并通过标号12 所示的数据链路层交换机1、 2和3,在路由器2与路由器3之间传输。 数据流用箭头46表示。在这种情况下,如果数据链路层中在交换机3处 经历了拥塞,则以之前描述或要在后面描述的方式来阐明BCN消息,并 且在相对于流的上游向后将BCN消息发送到与中间路由器2相关联的交 换机1。此外,将由此从数据链路层获得的拥塞信息以从交换机1传递到 中间路由器2的拥塞信息44的形式向上反馈到网络层。
此外,在本发明进一步的实施方式中,数据链路层中的拥塞信息可 以来自这样的交换机,该交换机不位于与层3路由器相同的节点处,而 是路由器节点之间的中间交换机(例如图4中的交换机2或交换机3)。
在第一和第二实施方式中,针对数据链路层应该注意,根据通常的 BCN机制, 一般而言数据链路层中的BCN机制不是通过修改它的发送速 率来对接收到BCN拥塞信息起作用。其中的原因是,在本发明优选实施 方式中,用来对抗网络中拥塞的主要机制是层3 PCN机制。因此,在数据链路层中,本发明实施方式需要的功能是将BCN拥塞信息向上传递到 网络层中相关联的路由器。在网络层中,路由器接收反馈的BCN信息, 然后利用BCN拥塞信息来确定拥塞标记,具体为在网络层中针对IP包 的PCN标记。后面将给出关于如何使用通过BCN从数据链路层获得的 拥塞信息来执行网络层中的拥塞标记,具体来说,如何执行PCN标记的 进一步信息。
然而,在其他实施方式中,BCN拥塞信息除了在网络层中还可以在 数据链路层中起作用。在这种情况下,数据链路层网络元件将通过以之 前针对常规BCN机制所描述的方式修改它的发送速率,来响应BCN拥 塞信息。在这种情况下,网络层还附加地执行PCN拥塞控制机制,由此 为整个网络提供了两种同时进行的拥塞控制机制, 一种在层2中,另一 种在层3中。
图6是例示了数据链路层交换机和网络层路由器内根据优选实施方 式操作的元件的框图。更具体来说,首先寻址数据链路层交换机12,数 据链路层交换机12(可以是以太网交换机等)包括数据链路层控制器122, 以及后向拥塞通知(BCN)控制器元件124。数据链路层控制器122控制 数据链路层交换机12来执行它常规的数据链路层功能,通常是在点到点 链路(例如PPP中)上或者在广播链路(例如以太网中)上传输数据, 并确保它到达寻址的站。在数据链路层中,数据通常是以帧(如以太网 帧)的形式传输的。纠错和确认通常被用作数据链路层的一部分。如所 示出的,数据链路层控制器46接收要从网络路由器22发送的数据,并 将该数据列入数据链路层队列中(未示出),然后在适当线路上将其发送 到下一跳交换机。根据现有技术的BCN机制,数据链路层交换机12还 接收向后传递到拥塞通知控制器元件124的BCN消息42。在优选实施方 式中,后向拥塞通知元件124不会以之前描述的方式作出响应来控制发 送速率,而只是将BCN拥塞信息传递到PCN接口 126。
然而,在其他实施方式中,数据链路层交换机12可以在控制器122 的控制下执行它的数据链路层功能,并且还参加之前讨论的由BCN控制 器元件124控制的BCN机制。是否执行BCN速率修改,本发明的实施方式提供了以BCN数据62 的形式将BCN拥塞信息转发到网络路由器22的附加PCN接口 126。转 发的拥塞信息可以是整个接收到的BCN消息,或者可以是BCN消息内 包含的拥塞值ei。当然,也可以转发其他元素。因此,本发明实施方式中 PCN接口 126的提供使这些实施方式有别于常规数据链路层交换机12, 因为这提供了将数据链路层拥塞信息向上转发到网络层的元件。
现在转至网络路由器22,它包括网络层控制器222,所述网络层控 制器222控制网络路由器来执行它的常规网络层功能(通常为路由和QoS 控制)。还设置有预拥塞通知元件224,所述预拥塞通知元件224与网络 层控制器222交互以执行常规的预拥塞通知控制功能,例如预拥塞通知 标记,并且,在入口和出口路由器的情况下, 一旦接收到响应于该预拥 塞标记而生成的PCN标记或消息就采取动作,以执行允入控制或流抢占。 然而,根据优选实施方式,网络路由器22还设置有BCN接口 228,所述 BCN接口 228从数据链路层接收包含拥塞信息的BCN数据62,将其转 发至BCN到PCN翻译器226。 BCN到PCN翻译器226用于将接收到的 数据链路层拥塞信息翻译到PCN语境,并根据接收到的数据链路层拥塞 信息来决定应当如何将PCN标记应用于网络层中的IP包。后面将给出关 于如何执行该翻译的进一步信息。同时,在将数据链路层拥塞信息翻译 到PCN语境并决定了要应用的合适PCN标记后,向预拥塞通知元件224 传递一控制信号,指示响应于接收到的数据链路层拥塞信息应该进行的 PCN标记。然后,拥塞通知信息224根据接收到的控制信号而采取行动, 从而相应地对包进行标记。
图7和8分别例示了在转发数据链路层拥塞通知信息并随后将其翻 译成PCN标记的过程中由数据链路层交换机12和网络路由器22执行的 步骤,更具体来说,图7例示数据链路层交换机12执行的步骤。首先, 假设数据链路层交换机12已经通过一系列数据链路层交换机将数据流在 它的向外数据链路上向上转发给了下一跳路由器。在一个下游交换机处 经历了拥塞,后面将更详细地讨论生成和传输的BCN消息。在步骤7.2 处,数据链路层交换机12接收BCN消息,并假设BCN消息中示出的宿
19地址对应于所议论的数据链路层交换机12的地址,在步骤7.4处,后向
拥塞通知控制器元件124解析接收到的BCN消息,以确定拥塞信息值ei。 然后,后向拥塞通知控制器元件可以根据常规所知的加性增长乘性减少 算法来进行BCN速率修改。然后,到此为止,数据链路层交换机12的 操作都是常规的。
但是,根据一些实施方式,由BCN消息实现的拥塞信息要向上转发 至与交换机相关联的网络层路由器,因此要实现这个目的,要在步骤7.6 处将BCN消息转发到PCN接口 126。在PCN接口处,根据要向上传递 到网络层的是什么信息,只有BCN拥塞信息ei要作为BCN数据62被传 输,PCN接口才可以提取该BCN拥塞信息。然而,在其他实施方式中, 可以仅把整个消息作为BCN数据进行转发。因此,无论BCN数据采用 什么格式(即拥塞消息ei或整个BCN消息),在步骤7.10处,BCN数据 都被转发至网络层。在本发明的某些实施方式中,数据链路层交换机12 随后未采取常规动作以外的进一步附加动作。
图8例示了一旦接收到从数据链路层转发来的BCN数据,网络路由 器22处所涉及的步骤。具体来说,在步骤8.2处,在BCN接口 228处接 收BCN数据62。如果未被PCN接口 126执行,则BCN接口 228是可选 的,如果需要的话,从BCN消息中剥离拥塞信息e,。如果已经接收到完 整的BCN消息,但是仅需要拥塞信息ei,则可以执行该步骤。然而,这 是可选步骤,BCN接口 228也可以根据具体部署,只将接收到的BCN数 据62转发至BCN到PCN翻译器。在BCN到PCN翻译器226处,BCN 数据在步骤8.4处被用来确定将应用于网络层中的IP包的PCN标记。将 在后面更详细地描述如何执行该确定,并且存在几种不同的可以使用的 方法。BCN到PCN翻译器226确定要应用哪些PCN标记,并且将控制 信息传递到预拥塞通知元件224。在步骤8.6处,预拥塞通知元件224随 后响应于该控制信息,利用PCN的常规标记协议对包进行PCN标记。 对包作了标记之后,预拥塞通知元件224执行可以包括允入控制或流抢 占的常规PCN控制机制。
因此,取决于从数据链路层接收到的拥塞信息,将这些实施方式的效果添加到网络层附加拥塞标记中。此外,在这里描述的实施方式中, 这些拥塞标记优选地为PCN标记。在其他实施方式中,可以使用不同类 型的拥塞标记,例如ECN标记。网络层随后如何根据这些附加拥塞标记
作出反应取决于所使用的常规拥塞控制算法。在PCN标记的情况下,可 以使用PCN采用的常规允入控制和流抢占。
因此,在到此为止所描述的实施方式中,拥塞信息是从较低层获得 并被传至较高层。然后,根据从较低层接收到的拥塞信息,在较高层执 行拥塞标记。尽管也可以设想使用ECN标记,但是拥塞标记优选地为PCN 标记。如所描述的,较低层优选地为数据链路层,而较高层优选地为网 络层。在较低层中,拥塞信息已经在下游交换机处生成,并在被传至较 高层之前被向后传至上游交换机。这些机制允许将可能在数据链路层发 生的拥塞的早期检测传至网络层,随后可以在网络层中采取措施来避免 网络的拥塞。这些措施可以包括允入控制的PCN功能,如果需要的话, 可以包括流抢占。
关于如何将从较低层接收到的拥塞信息翻译成较高层中使用的拥塞 信息,有这么几种机制。几种可能的机制包括
1. 在较高层中接收到的每个单独BCN消息被翻译成单个IP包中的 PCN标记。然而,这种机制过于直接,并未考虑网络层中使用的IP包的 相对大小,和数据链路层中使用的典型数据帧大小。具体来说,IP包可 以是数据帧大小的几倍。因此,如果针对每个数据帧生成单个BCN消息, 而该BCN消息又必须翻译成对应IP包上的标记,则由于IP包的大小相 对于数据帧(例如以太网帧)大得多,所以根据IP包中携带的有效载荷 来衡量,将对多得多的数据进行拥塞标记,于是在数据链路层中实际遭 受了拥塞。
2. 为了克服上面的问题,N个BCN消息可以被翻译成M个PCN 标记。因此,例如,对于接收到的每三个BCN消息,可以对一个IP包 进行PCN标记。这里,假设平均数据帧和包大小以便能够确定应该将多 少BCN消息翻译成单个PCN标记的比率可能是有用的。另选的是,可 以假设最大帧和包大小。在这种情况下,以以太网和IP为例,以太网帧的最大有效载荷高达1,500字节,而IP数据报的最大长度为65,535字节。 假设包的最大大小,并假设每个数据帧的BCN消息,则约40个BCN消 息将被翻译成单个PCN标记。然而,通常来讲,IP数据报比最大允许大 小小得多,以避免在诸如以太网的数据链路层上传输时断裂 (fragmentation)。因此,通常来说,根据部署,可以使用区间在3到15 的低得多的比率。在另一实施方式中,替代保持接收到的BCN消息数量 的绝对计数然后一旦达到阈值就进行PCN标记,可以根据比率用概率对 IP包进行PCN标记,g卩,如果比率为3比1,则对于接收到的每个BCN 消息,用概率33n/。对IP包进行PCN标记。在进一步实施方式中,当BCN 消息到达时,如果该消息告知了在下游交换机处导致拥塞的层2 (数据链 路层)帧的大小,则可以将该大小添加到计数器。然后,当计数器大于 网络层包大小时,对网络层包进行标记,并且将计数器减小作了标记的 包的大小。在所有上面的机制中,目标之一是尝试并使网络层中被标记 为拥塞的有效载荷数据量与数据链路层中实际遭受的拥塞相同。
3. 第三选择是用取决于目前接收到的BCN消息中接收到的拥塞值 A的概率对路由器中的目前IP包进行PCN标记。
4. 另一个选择是使对目前IP包进行标记的概率取决于最近的BCN 消息中的拥塞值ej,且值ei进行了平滑的平均。
5. 另外,可能需要对PCN标记是允入标记还是抢占标记做出决定。 通常,在上面提到的方法中,因为抢占标记一般用在网络经受严重路由 器或链路故障时,所以PCN标记为允入标记,而不是抢占标记。因此, 进一步的技术是根据目前或最近的BCN消息中接收到的拥塞值ei,对目 前的IP包进行允入标记或抢占标记。例如,如果接收到的拥塞值ei非常 高,则应用于目前包的PCN标记可以是抢占标记,而不是允入标记。该 技术中所固有的是包含有针对拥塞值ei的第一阈值,在该阈值之上使用 了抢占标记,而在该阈值之下使用允入控制标记。另外,还可能针对拥 塞值ei设置第二、更低的阈值,在该阈值之下不进行任何PCN标记。
6. 除了包含拥塞值e;的消息之外,BCN还提供了"停止"消息的发送。 如果在数据链路层交换机12处接收到了 BCN停止消息,则可以在网络
22层解释该BCN停止消息,从而将抢占标记应用于IP包。因此,只要接
收到了 BCN停止消息,就对目前的IP包进行抢占标记。
7. 另外,优选地对经过数据链路层中特定的拥塞交换机的包进行 PCN标记。在此方面,网络路由器可以连接到几个数据链路层接口。为 了对此加以考虑,PCN层可以被进一步设置为注意帧是在哪个数据链路 层接口上发送的,哪个数据链路层接口导致在该接口上接收BCN消息。 然后,PCN对在该特定以太网接口上流出的下一IP包进行标记。该技术 有助于定位在特定的拥塞数据链路层链路上传送的流。
8. 另一种技术是根据目前接收到的BCN消息中接收到的拥塞值ei 和网络路由器中维持的虚拟队列的长度,来设置对目前IP包进行标记的 概率。下面参照图9和图10到13进一步讨论该方法。
更具体来说,根据该特定技术,BCN到PCN传输器(transmitter) 226维持概率函数,该概率函数定义了特定IP包被PCN标记(通常为允 入标记)的概率。之前针对图3讨论了该概率函数,该概率函数例示了 概率根据网络路由器中虚拟队列的大小,在最小标记阈值和最大标记阈 值0和1之间线性增加。为了增大或减小特定IP包被允入标记的概率, 要根据拥塞值ei来改变概率函数。
更具体来说,在步骤9.2处,如果存在还未被提取的拥塞值ei,则 BCN到PCN翻译器226在BCN接口 228处接收的BCN数据62中提取 该拥塞值ei。然后,在步骤9.4处,如果拥塞值ei大于O,则对PCN标记 的概率函数进行修改,以便减小IP包被标记的概率。例如,在图12和 13中示出这种修改可以如何发生。具体来说,图12示出了一种修改概率 函数的具体方式。这里,对概率函数55进行修改,从而使概率曲线垂直 向下移动。向下移动的程度取决于ei的值。具体来说,对于大于0的ei 的特定范围的值,概率函数下移特定量,而如果e,远大于0,则向下移动 更大的量。概率曲线的下移度与ei值之间的关系可以是线性的、指数的 或者受任意连续或离散函数控制。然而,优选地,A的值越大,IP包被 标记的概率越小。
图13例示了通过向右移动概率曲线来减小概率的另选机制,移动量同样取决于ei的值,针对更大值有更大移动。这里,最小标记阈值和最 大标记阈值未被改变,从而得到类似于图12的概率函数。在另一实施方 式中,也可以改变阈值本身,从而增大它们的值。因此,当拥塞值函数 大于0时,通过增大阈值,为了使标记发生,虚拟队列必须更大。当然, 也可以采用这些技术的任意组合, 一般标准是当拥塞值ej增大时,对
IP包进行允入标记的概率减小。概率与拥塞值ei之间的关系可以是部署
特有的。
返回图9,在步骤9.6处,确定如果拥塞值ej小于O,则PCN标记的 概率函数应该被修改以增大IP包被标记的概率。图10和11示出了关于 它可以如何实现的两种机制,通过向上移动概率曲线,如图10中所示, 或者通过向左移动概率函数,如图11中所示。应该理解,图10和11中 的移动分别与图12和13中示出的相反,因此实现的选择同样在这里适 用。更具体来说,对于更小的ei值,概率曲线可以向上移动或者向左移 动更大程度,在ei远小于O的情况下,概率曲线最大程度地移动。另外, 概率曲线55的移动度和ei之间的关系可以是线性的、指数的,或者是任 意连续或离散数学函数。然而, 一般要求是ei的值越低,任意IP包被 允入标记的概率越小。
另外,最小标记阈值和最大标记阈值可以被减小,因为为了使标记 发生需要更小的虚拟队列,所以这也产生了增大标记概率的效果。
下面给出一个例示了可以如何通过仅示例的方式实现和呈现概率函 数的具体实施例。
如之前所描述的,e,值从Q。ff和Qd^导出。通常,给出的Q。ff和Qddta 均由16位组成,这意味着ej可以是最大值65535 (十进制)和FFFF (十 六进制)。因此,ej值的范围从-65535到65535。
这里描述我们可以如何使用ei值来配置实现的实施例。ej值65535 将具有标记概率O,而ei值-65535将具有标记概率1。当^值为0时,我 们可以设置标记概率为0.5。 ei值-32768将产生0.75的标记概率,而& 值32768将产生0.25的标记概率。
举个例子,可以将系统设置为当ej值为-32768或更小时对包进行抢
24占标记,而当ei值为0或更小时对包进行允入标记。
现在,我们将转至讨论如何在目前描述的本发明实施方式内的上游
交换机中生成BCN消息,并且更具体来说,讨论如何导出较低层拥塞信 息。
在本发明优选实施方式的本描述中,我们已经描述了如何使用 "BCN"消息将来自下游层2节点的拥塞信息反馈到上游层2节点。在此 方面中,我们在目前描述的实施方式中使用了之前描述的802.1Q格式的 消息,因为这种消息格式被广泛使用,由此使本发明得到宽泛理解。然 而,具体来说,在描述的实施方式中,我们指定了 BCN类型的802.1Q 标记消息,因为它已经包含了拥塞值ei形式的用于传播拥塞信息的合适 字段。然而,在其他实施方式中,可以使用不同的消息格式。
对于拥塞值ei,在本发明描述的实施方式中,如接下来所描述的, 可以用各种方式来计算该值。
首先,如之前提到的,可以用与之前针对现有技术BCN机制所描述 的完全相同的方式,应用式1和2之前给出的等式来计算拥塞值ei。然而, 这些等式对从交换机处的实际流量队列获得的值起作用,并且具体来说, 使用瞬时流量大小q(t)和实际发送速率qd。通过査看实际流量队列的值, 尽管拥塞指示当然可以从这些值获得,但是该指示倾向于仅在拥塞发生 时或者发生后才被获得,因此,可能太迟而不能防止任何拥塞。因此, 尽管在本发明的实施方式中,可以利用这些等式并査看实际流量队列的 值来计算拥塞值ei,但这并不是优选的。
因此,更优选的技术是利用下游交换机处的"虚拟队列"来确定是否 将发生拥塞。如之前所描述的,"虚拟队列"是对实际队列大小的仿真, 其中保持了代表虚拟队列大小的数,该数按照和包到达实际队列相同的 速率增大。然而,相对于包从交换机传输的实际速率,该数以更慢的速 率减小,由此与实际队列不同。例如,虚拟队列可以按照某个速率,例 如真实队列实际发送速率的80%来减小。这种技术的效果是针对给定的 包到达速率,提供比真实队列占有率(occupancy)更高水平的虚拟队列 占有率,并能够在实际发生拥塞之前检测到潜在拥塞。因此,在本发明的优选实施方式中,除了真实队列之外,层2交换 机还维持虚拟队列,将减小速率应用于虚拟队列,该减小速率是交换机 使用的实际发送速率的小于100%的某个百分比。例如,可以使用实际发 送速率的80%的减小速率。这等效于将值<1的虚拟队列发送速率系数V
应用于交换机所使用的实际发送速率。因此,V=0.8将为虚拟队列提供 80%的发送速率。当然,作为设计选择也可以使用其他值。
为了计算链路层拥塞值ei,可以使用与之前的式1和2类似的等式, 不使用从真实队列获得的值,而使用从维持的虚拟队列获得的值。
更具体来说,在本发明的优选实施方式中,拥塞值ej由瞬时虚拟队 列偏移与上一采样间隔上虚拟队列的变化的加权和组成,应用虚拟队列 的较低减小(发送)速率,如下式3中所示
6 = q。ff(t) — Wqdelta(t) = (Qeq-qv(t》—W(qa-Vqd) 式3
其中,W是权重;V是虚拟队列发送速率系数,且小于l; q。ft(t)是 瞬时队列偏移,被定义为
q。fl(t) = qv(t)-Qeq 式4
并且qde^是上一采样间隔上的队列变化,被定义为到达的包数^和
被认为是上一采样事件后从实际队列提供的包数Vqd的差。这里,qv(t)
是瞬时虚拟队列大小,而Qeq是均衡的虚拟队列大小,Qeq通常为虚拟队
列最大大小的一半。通常,虚拟队列的最大大小与真实队列的最大大小 相同。
通过使用从以慢于实际队列的速率"清空"的虚拟队列获得的值来计
算较低层拥塞信息ei,相对于实际发生的拥塞,ei的值将指示交换机中更 多的拥塞,然而,更重要的是相对于简单查看真实队列,将提供拥塞建 立的早期指示。因此,利用根据虚拟队列的属性计算出的拥塞值,能够 比其他情况更早地采取预拥塞措施。
是使用虚拟队列来计算拥塞值(如优选实施方式中那样)还是使用 真实队列来计算拥塞值(如所提及的那样),所述值被放入优选为之前讨 论的BCN类型的802.1Q标记消息中,以发送到作为拥塞流的源的上游 交换机。总之,本发明优选实施方式因此提供了一种技术,通过该技术,可 以将来自诸如数据链路层的较低层的拥塞信息并入用于诸如网络层的较 高层的拥塞机制中。检测较低层中的拥塞信息可能更方便,并且还可以 较早地检测拥塞,并在较早的时刻在网络层中采取措施,来完全防止或 许会发生的拥塞。
技术人员将会想到使用本发明基础概念并落入本发明的主旨和/或 范围的进一步修改、变化、配置,以提供进一步的实施方式,所附权利 要求旨在包含任意和所有这些实施方式。
权利要求
1.一种确定数据网络中的拥塞信息的方法,所述方法包括以下步骤在具有协议栈中较高层的上游元件处,从所述栈中较低层处的网络元件接收较低层拥塞信息,所述拥塞信息与在流的下游元件处发生的数据流量拥塞有关,所述下游元件位于所述较低层内;根据所述较低层拥塞信息,确定要在所述较高层中使用的较高层拥塞信息;以及将所述较高层拥塞信息应用于所述较高层中的数据流量。
2. 根据权利要求1所述的方法,其中,所述较低层是数据链路层, 而所述较高层是网络层。
3. —种用于数据网络中的拥塞标记的方法,所述方法包括以下步骤在数据链路层网络元件处,确定与在所述网络中一个或更多个数据链路层链路内发生的拥塞有关的数据链路层拥塞信息;以及 将所述数据链路层拥塞信息传递到网络层网络元件。
4. 一种在数据网络中进行拥塞标记的方法,所述方法包括以下步骤在网络层网络元件处,接收与在所述网络中一个或更多个数据链路层链路内发生的拥塞有关的数据链路层拥塞信息;根据所接收到的数据链路层拥塞信息,确定网络层拥塞信息;以及 将所确定的拥塞信息应用于网络层中的一个或更多个数据包。
5. 根据权利要求2到4中任意一项所述的方法,其中,根据下游数 据链路层网络元件处维持的虚拟队列的一个或更多个属性,来计算所述 数据链路层拥塞信息。
6. 根据权利要求2到5中任意一项所述的方法,其中,以BCN消 息的形式接收所述数据链路层拥塞信息。
7. 根据权利要求2到6中任意一项所述的方法,其中,所述网络层 拥塞信息是PCN标记。
8. 根据权利要求7所述的方法,其中,如果所述数据链路层拥塞信 息指示拥塞低于第一阈值,且抢占标记高于所述第一阈值,则所述PCN禾示i己;^jt入牛示i己。
9. 根据权利要求8所述的方法,其中,如果所述数据链路层拥塞信 息指示拥塞低于比所述第一阈值小的第二阈值,则不应用PCN标记。
10. 根据权利要求2到7中任意一项所述的方法,其中,根据针对 所述网络层元件中虚拟队列大小的概率函数来确定所述网络层拥塞信 息,其中,根据所述数据链路层拥塞信息来修改所述概率函数。
11. 根据权利要求2到7中任意一项所述的方法,其中,根据所述 数据链路层拥塞信息来确定所述网络层拥塞信息,使得在网络层中对和 数据链路层中基本相同量的有效载荷数据进行了拥塞标记。
全文摘要
本发明提供了这样一种方法和系统,其中,从协议栈中的较低层获得拥塞信息,并用于在较高层中进行拥塞标记。具体来说,本发明第一方面的方法和系统提供了较低层中的拥塞信息,所述拥塞信息在拥塞节点处下游生成,并且被向上游反馈到源节点。然后,源节点将拥塞信息或从其中导出的信息向上传递到负责协议栈中较高层的对应网络元件,随后在该网络元件处可以根据接收到的较低层拥塞信息来执行较高层的拥塞标记。因此,来自较低层的拥塞信息可以被用在较高层拥塞控制功能中,而一般来讲,所述拥塞信息可以在发生显著拥塞之前较早地生成。优选地,较低层为数据链路层,而较高层为网络层。
文档编号H04L12/56GK101558616SQ200780046513
公开日2009年10月14日 申请日期2007年12月18日 优先权日2006年12月18日
发明者加布丽埃勒·科里亚诺, 惠·珉·琼·塔伊, 罗伯特·约翰·布里斯科, 菲利普·劳伦斯·厄德利 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1