确定路径拥塞测量的制作方法

文档序号:7991763阅读:239来源:国知局
确定路径拥塞测量的制作方法
【专利摘要】用于在节点方面确定指示下游路径拥塞的测量的方法和装置,多个数据单元经由所述节点经过从发送器到接收器的端到端路径,每个所述数据单元具有:第一指示,根据来自所述接收器的信息能够设置为至少两个状态中的一个,由此指示所述接收器原先接收的数据单元在所述端到端路径上经历的不同拥塞程度;以及第二指示,能够设置为初始状态,并且能够设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;该方法包括以下步骤:在所述节点接收多个所述数据单元;以及根据膨胀因子确定所述下游路径拥塞测量,该膨胀因子本身与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的集的比例相关。
【专利说明】确定路径拥塞测量
【技术领域】
[0001]本发明涉及确定路径拥塞测量。更具体而言,本发明的方面涉及用于在节点方面确定指示下游路径拥塞的测量的方法和装置,多个数据单元经由该节点经过从发送器到接收器的端到端路径。
【背景技术】
[0002]考虑一个网络通过相互附连点向另一网络发送流量的方案。存在通过监控在附连点全都本地可见的某些度量来测量这种流量导致的测量点的下游拥塞数量的机制。
[0003]可能的情况是:下游网络将希望使用下游拥塞的测量从而以某种方式约束上游网络。例如,下游网络可能希望限制来自上游网络的流量可能导致的拥塞数量。然后在上游网络中所感兴趣的是试图操纵流量中的度量以破坏测量的完整性,以对其有利。发明人认识到对于上游网络的任意操纵鲁棒的测量技术的需要对其是有利的。
[0004]现在将提出一些基本概念以促进稍后给出的本发明的理解。
[0005]包
[0006]数据源典型地将它们发送的数据分割成已知为包的小单元。包由头部和有效载荷组成。现今商业网络携带的大部分包被称为互联网协议(IP)包,这意味着它们遵循IETFRFC791中指定的格式[见参考RFC791]。IP确保包被正确地从源传输到目的地。IP是无连接协议,这意味着每个包携带用于任意IP路由器的足够信息以能够将它转发到其目的地,而不必在路由器中预先设立任意每连接状态。每个包可以具有到达目的地的不同路径。实际上,互联网上的路由机制意味着这极少发生(除非存在某种形式的设备故障)。
[0007]再反馈
[0008]诸如IP包的头部之类的包头部的功能之一是累积关于从发送器到接收器在其道路上经过的路径的信息。例如,生存时间(TTL)字段在每个IP节点递减,或如果包经历拥塞,则明确的拥塞通知(ECN[见参考:RFC3168])字段被概率地标记(见下文)。这种路径信息允许路径上的节点监控迄今经历的路径(上游路径)的特征。典型地,存在允许接收器向发送器反馈这种信息的机制。
[0009]国际申请W02005/096566描述了一种被称为再反馈的机制[见稍后详述的参考:[re-feedback](再反馈)],由此源将通过接收器反馈给它的沿着整个路径积累的这种信息再插入到转发数据路径中。发送器可以使用包头部中的单独字段再插入该信息以用于积累原始路径度量,或备选地,它可以初始化原始字段中的度量值为反应它接收的反馈的值。
[0010]沿着路径的任意节点然后监控至少一个往返之前的整个路径的特征。假设任意节点可能已经监控上游路径的特征,它可以从再插入的整个路径信息减去该特征以计算下游路径的特征的预期(它转发的包仍经过剩余路径)。
[0011]只要在网络中执行测量,这种减法的结果应当绝不永久为负,除非源初始低估了整个路径度量。国际申请W02005/109783提议使用这一事实:对于检测的机制,源永久地低估包流中路径的特征。该机制可以相应地处罚流,使得在源感兴趣的是正确地向网络宣称整个路径特征。因而,相对于原始反馈,可以确保再插入反馈信息的完整性。
[0012]分布带宽共享和拥寒
[0013]经过互联网的数据追随各种路由协议控制的一系列路由器之间的路径。每个路由器寻求将包更近地移向其最终目的地。如果太多的流量经过网络中的相同路由器,则路由器可能变得拥塞,且包开始在使用该网络路径的同时经历过渡延迟。如果源通过该路由器持续发送流量,它可能变得严重过载(拥塞)或甚至丢弃流量(当它缓存溢出时)。如果源仍持续通过该瓶颈发送流量,它可能强迫更多的路由器变得拥塞,且如果这一现象保持传播,可能导致整个互联网的拥塞崩溃,这在80年代中期时常发生。
[0014]该问题的解决方案是确保源通过实施拥塞控制机制负责它们通过互联网发送数据的速率。源监控来自接收器的特征化拥塞路径的度量的反馈,以检测其数据追随的路径何时变得拥塞,在这种情况中它们通过减小其比特率而反应。在缺少路径拥塞的任意指示的情况中,它们可以缓慢地增加其速率。
[0015]源监控的典型路径特征是用于数据路径的平均往返时延(RTT)、往返时延的变化(抖动)以及路径上的拥塞程度。拥塞是控制通过拥塞路径发送数据的源的速率调节的参数。
[0016]拥塞程度可以暗示地(当其缓存溢出或保护自身时通过丢弃包的拥塞路由器)或明确地(通过诸如明确拥塞通知的机制,见下一部分)被信令发送。当前,大多数公共选项是暗含的信令发送。历史地,当路由器完全饱和时(这在路由器的缓存中不能容纳流量突发时发生),路由器将丢弃包,该策略被称为弃尾。随机早期检测(RED)[见参考:RED]是一种改善:其中路由器监控其缓存中的平均队列长度,且当平均队列高于预定阈值时,路由器以随着超过阈值的队列的过度长 度增加的概率开始丢弃包。它广泛地用在当今的互联网,因为它允许源更迅速地反应于初期拥塞且它防止队列变得不必要地长。使用TCP的源能够检测丢失,因为包丢失导致序列中的缝隙;每当TCP源检测到丢失时,这意味着使得其数据传输速率减半,这消除了瓶颈处路由器上的拥塞。
[0017]明确拥寒通知
[0018]明确拥塞通知(ECN)[见参考:RFC3168]还通过在IP头部中使用两位ECN字段发送拥塞来在RED上改善。它运行和RED相同的算法,但是不丢弃包,它将其ECN字段设置为经历拥塞(CE)码点。ECN标准要求发送器回应在数据中信令发送的任意拥塞标记;例如,TCP接收器在TCP头部中设置经历拥塞回响(ECE)标志,TCP源解释该标志,就好像包针对其速率控制目的被丢弃一样。进而,源然后通过使得其传输速率减半反应于拥塞且使用拥塞窗口减小码点告知接收器这点。
[0019]IP头部中的两位ECN字段的4个值是:
[0020].“非ECT”,它表示包属于不支持ECN的流;
[0021]."ECT(O) ”和“ECT(l) ”,表示包属于支持ECN的包且上游路由器不必标记包;以及
[0022]?“经历拥塞”(CE),发信号告知包经历初期拥塞。
[0023]Re-ECN
[0024]Re-ECN (再ECN)[见参考:re_ECN]是通过网络利用再反馈来提供上游和下游拥塞信息的系统的示例。它类似于ECN,但是在包头部中使用额外的未使用位。该位与两位ECN字段组合以创建4个额外代码点。
[0025]理解协议的最简单方式是将每个包视为具有指示包中多少字节价值为多少的不同标志(或码点)。在流的开始,谨慎的标志用于指示发送器不具有路径的足够知识且包中的所有字节价值为+1。谨慎的标志还在发送器变得不确定路径的当前状态时使用。
[0026]缺省地,包被标记指示包中的字节价值为O的中性标志。如果包在其通过网络的传输中遇到拥塞,则通过拥塞路由器应用的ECN标记被认为是使得被标记包中的字节价值-1的负标志。目的地将反馈它可以看到的负标志的数目。对于每个负标志字节,它被告知发送器应当标记它在具有正标志的后续包或多个包中标记相等数目的字节,这使得包中的所有字节价值为+1。正标志将拥塞反馈再回响或再插入到包的正向传输流中,因此命名为re-ECN。一旦被发送器设置,这些正标志将不被网络修改。
[0027]如果包具有正标记,它有时被命名为正包。如果它具有负标记,它被命名为负包,且依此类推。
[0028]存在这种小的可能性:正包进一步通过拥塞路由器标记为负,但是编码选择为使得原始正标记良好地存活,具有正和负标记的包中的字节被认为价值为O且这些包被描述为取消。
[0029]在任意中间节点,上游拥塞通过负标志字节与总字节的比例给出。因而,通过分别将负或非负(中性)标记流解读为I或O的一元编码,在包流中有效地编码连续变化的拥塞程度。类似地,整个路径的拥塞程度被编码为正或非正(中性)标记流。如国际申请W02006/079845所描述,来自任意中间节点的期望下游拥塞可以从正标志的比例和负标志的比例之间的差异估算。这两个序列中标志的比例之间的差异可以认为是包上的代表下游拥塞的第三虚拟标志序列。然而,这些虚拟标志仅源于数学操作(减法);它们并不在包上物理地存在。
[0030]拥塞感知(ConEx)
[0031]在2010年6月,互联网工程任务组(IETF)特许一个新拥塞感知(ConEx)工作组来向互联网协议(IP—初始IPv6)增加路径拥塞的再反馈,且对传输控制协议(TCP)做出必要的修改,IP和TCP都是实验标准。ConEx协议基于re_ECN协议,但是稍有不同,因为它要求可以独立于ECN使用,尽管认为使用ECN才能实现其完全益处,见参考:[conex-mech]。
[0032]通过IETF标准化的ConEx协议的最终形式仍未确定。因此,在本说明书中,re-ECN协议将用作【具体实施方式】,假设它完全被指定和实施。
[0033]破坏下游路径特征的完整性
[0034]在[re-ecn-motive]的部分4.4中可以认识到:如果下游路径特征通过采用诸如在TO2006/079845中公开的两个叠加一元编码之间的差异计算,这看上去可能破坏该特征的完整性。现在将使用图1描述示例方案,该示例方案将用于显示该问题的潜在范围。
[0035]数据发送器“S”ll附连到诸如数据中心10的网络,发送器和网络均可以被相同的数据中心操作员所拥有。数据中心进而在附连点13经由网络附连节点“Na”附连到接入网络20。数据接收器“R” 19在附连点17在网络附连节点附连到相同的接入网络。网络10包括路由器15。网络20包括路由器25。
[0036]用于解释目的,图1示出单个端到端路径12 (见“示意图关键点”),包沿着该路径从发送器“S” 11流动到接收器“R” 19。从附连点13处网络附连节点“Na”的视点,该端到端路径12包含上游部分12a (经由网络10的路由器15其中一个或更多个从发送器“S”ll延伸到附连点13)和下游部分12b (经由网络20的路由器25其中一个或更多个和附连点17从附连点13延伸到接收器“R” 19)。应当理解,从发送器“S” 11传送到接收器“R” 19的包不需要全都经过相同的路径,且任意路径上的“上游”和“下游”之间的分割将依赖于实体,从该实体角度关注路径。下面的解释将可应用于其他复杂方案,但是为清晰起见,将使用该简单方案。
[0037]因为数据中心网络10跨越与接入网络20的边界转发包,接入网络监控经过附连点13的包中的re-ECN字段。在附连点的功能包含测量下游拥塞程度的边界监控和对其测量进行作用的一些其他功能。如国际专利W02006/082443和参考[Jacquet08]中所讨论,它可能限制数据中心网络可能在接入网络中导致的下游拥塞的数量。备选地,可以触发各种管理动作,或可以向计费系统发送测量以征收费用。
[0038]通常,接入网络可以计算到达正包以测量下游拥塞。因为数据中心内的拥塞,可能期望看到少数负包,但是可能并不多。将从正包字节数目减去这些少数负包中的字节以计算剩余路径上而不是数据中心中保留的多少拥塞。
[0039]图2通过方形区域表示一定容量的传输数据。方形被示为分割成水平地表示拥塞网络元素(负)或非负元素(中性)标记的包的比例的区域。方形还示为分割成垂直地表示用于感知网络(正)或非正(中性)的整个路径拥塞的通过发送器标记的包的比例的区域。
[0040]图2示出典型方案,其中在接入网络中存在1.00%的拥塞,且在数据中心网络中仅存在0.70%的拥塞。因此,当流量到达接入网络的边界(上中方形),0.70%的包将已经通过数据中心网络标记为负,留下99.30%未标记(中性)。
[0041]网络设备中的拥塞标记算法被刻意地设计,使得包可以被随机地标记,而与任意指定包已经具有什么标记无关。因此,在包到达接收器R时,另外的1.00%的中性包将被标记为负,即99.30%中的1.00% = 0.99%以上的负加上0.70%的已经标记为负的包,这在目的地合计了高达1.69%的负包(所有百分比图精确地以两位小数给出)。这些标记比例在图2的顶部行中图形地示意(但未按比例)。
[0042]接收器R将向发送器发送反馈:到达的1.69%的包具有负“经历拥塞”(CE)标志设置。然后,遵循re-ECN协议,发送器S将以相同包比例(即1.69%)设置正标志(图2的左下)。因为正和非正(中性)包的混合经过两个网络,它们将被标记为负以指示它们经历的拥塞。用于说明目的,如果我们假设拥塞程度保持稳定,这些包将在每个网络中经历与以前相同程度的拥塞。假设正和负信号可以独立设置,这将导致标记0.70%的中性包和0.70%的正包的数据中心网络拥塞。这将导致1.69%出发的标记为正的包中有0.70%也被标记为负。因而,约0.01%的包将标记为正和负二者。如已经解释,这种包被命名为取消,因为指示整个路径拥塞的正标记通过指示相同包上的上游拥塞的负标记“抵销”。
[0043]出发的未标记(中性)的其他98.31%的包将被标记为负,即,到达接入网络的所有包中有0.69%将是负的。假设1.69%的包原始为正且数据中心标记0.01%的负包,这将导致1.68%的标记正包到达接入网络。
[0044]在接入网络的入口的附连点然后从负包比例(0.69%)减去正包比例(1.68%)以估算下游拥塞为(1.68% - 0.69%) =0.99%,这是该附连点的实际下游拥塞的合理估算,其将(将被召回)为1.00%。[0045]尽管图1的数据中心方案用于说明re-ECN协议中的脆弱性,当然,类似的攻击可能通过向任意其他网络转发包的任意网络(或其他这种实体)发起。发起攻击的数据中心网络可以早期地是家庭网络、校园网络或向其他商业对等体转发包的商业网络。
[0046]无论什么方案,包上的标记将总是处于上游网络的控制下,直到包在网络之间的附连点被移交。在上游网络中总是感兴趣的是(至少涉及拥塞可计算性问题)试图使得下游拥塞的测量程度看上去就好像它小于实际。需要能够可靠地测量附连点的下游拥塞且能够确认双方满意的鲁棒技术,即使上游网络可能预先变更包标记。
[0047]攻击策略#1:极端上游拥寒
[0048]返回图1的示例数据中心,如果数据中心在近乎所有包上设置正和负标记二者,看上去能够破坏下游拥塞的接入网络测量。下面的示例说明该测策略的结果。假设在数据中心网络下游的接入网络中仍存在1.00%的拥塞。如图3所示,数据中心可以假装数据中心内的拥塞极高,可能将90.91%的包标记为负。然后当接入网络标记1.00%的包为负时,这将导致91.00%的负包,因为数据中心仅留下9.09%的包不为负,当被接入网络标记时,
1.00%的概率将仅添加0.09%的负包,导致91.00%的负包。
[0049]数据中心可以通过在源处将91.00%的包标记为正遵循re-ECN协议,但是也继续标记90.91%的包为负,这是不平常的但是不与任意协议冲突。仅原始保留未标记(中性)包中的9.00%可以变成负的。因此,仅8.18%在与接入网络的边界被标记为负。标记为正的包中远远更大比例(91.00%)将导致到达接入网络的边界的取消包(B卩,标记为正和负)中远远更大的比例(82.73%),仅留下8.27%仍为正。
[0050]一旦这些正包经过接入网络中的1%的拥塞标记,8.19%将保留为正,这将正确地匹配8.19%的负包比例。因此,接入网络不能抱怨流量不兼容于re-ECN协议,因为相对于负字节在任何地方都不存在不足的正字节。
[0051]然而,当包从数据中心到达时,当接入网络从正字节减去负时,它将测量下游拥塞为8.27% - 8.18%=0.09%。然而实际值应当为1.00%。因而,通过在其自己的网络中引入极高数量的(明显)拥塞且遵循re-ECN协议的证书,数据中心管理为使得接入网络将该数据中心流量视为导致接入网络中仅0.09%的拥塞,这比它实际导致的1.00%的拥塞小11倍。
[0052]攻击策略#2:具有两个标记的信号中毒
[0053]在破坏下游拥塞的接入网络测量的第二策略中,数据中心网络(图1中的10)的操作员将通常使用re-ECN协议,但是另外地,布置发送器S以标记高比例的所有包为取消(即,标记有正和负)。这种攻击的示例在图4中示出,其中发送器S通过标记34.00%的包为取消而开始。
[0054]这些包上的正标志不贡献于下游拥塞的任意测量,因为它们全都被相同包上的负标志抵销。而且,这些包免于进一步的拥塞标记,因为它们已经被标记为负。从图4可以看出,数据中心操作员仍可以向剩余的66.00%的包应用re-ECN协议。如果接入网络操作员从它自数据中心网络接收的包中的正标记减去负标记,它将测量下游拥塞为其实际值的66.00%,即为0.66%而非1.00%ο因而,上游网络可以通过使用取消包有效地使得re-ECN信号中毒而减小接入网络测量的拥塞程度。
[0055]攻击策略#3:切换负标记
[0056]在[re-ECN.motivation]中提出,当通过使用以下公式计算下游拥塞时,边界监控器可以使得攻击策略#2无效:
[0057]下游拥塞=取消字节+正字节-负字节(I)
[0058]换句话说,在减去标记为负的包中的字节之前,除了仅标记为正的包,该方法计算取消包中的字节。策略#1和#2引入了大比例的取消包,所以将它们计算为正将看上去使得这些攻击无效。
[0059]然而,如果上游网络(例如图1的数据中心网络)的操作员怀疑边界监控器使用该方法,它可以采用命名为攻击策略#3的计数器策略,其仍减小由等式(I)给出的表观下游拥塞程度。如果将负标记从取消包切换到未标记(中性)包,上游网络可以确保使得下游拥塞看上去较低。该方法确保流量仍遵循必须没有比正流量多的负流量的再反馈条件,因为它按照相同量增加正包的比例和负包的比例。
[0060]如果下游网络在其下游拥塞计算中包括取消包,上游网络减小取消包的比例是有利的,然而攻击#2显示:当下游网络在其计算中不包括取消包时,上游网络增加取消包的比例是有利的。
[0061]在低拥塞程度流行的典型环境中,取消包的比例将很小。例如,拥塞高于总拥塞是1.60%的图2的方案是不正常的,且在这种情况中,仅0.01%的包被取消。因此,假设攻击策略#3消耗取消包,该攻击仅看上去能够实现下游拥塞中极小的减小。然而攻击策略#3可以与策略#1组合以极大地减小表观下游拥塞(减小量高达其实际值的一半)。使用策略#3从取消切换到中性,策略#1极大地增加取消包的比例。
[0062]图5说明该组合攻击的数值示例。首先(上中),数据中心应用策略#1,伪造高达
49.49%的拥塞程度,一旦也经过接入网络中的拥塞(和原先示例一样仍为1.00%),这导致
50.00%的负标记(右上)。
[0063]发送器S初始地通过标记50.00%的包为正遵循re-ECN协议(左下)。一旦所有发送器的包经历相同的49.49%的伪造拥塞,标记为取消和负的比例将均约为24.75%(精确到两位小数的百分比)。然后,数据中心网络应用策略#3:它将负标记从大多数取消包切换到相等数量的未标记(中性)流量。在图5 (下中)中,选择切换24.70%的包,使得正包和负包的比例增加24.70%。
[0064]当接入网络使用等式(I)时,数据中心网络成功地愚弄它计算该下游拥塞为
0.55%而不是1.00%,这几乎减小了一半。这些组合攻击仍遵循再反馈协议的约束,即,必须没有比正包更多的负包,因为在图5中(右下)看上去负包和正包按需相等。
[0065]参考
[0066][re-feedback]:Briscoe, B., Jacquet, A., Cairano-GiIfedder, C.D., Salvator
1,A., Soppera, A.&Koyabe, M.: " Policing Congestion Response in an InternetworkUsing Re-Feedback " , Proc.ACM SIGCOMM ' 05, Computer Communication Review35 (4):277-288ACM Press(Aug 2005)。
[0067][RFC3168]: Ramakrishnan, K.K., Floyd, S.&Black, D.: " The Addition ofExplicit Congestion Notification (ECN) to IP" , Internet Engineering Task ForceRequest for comments 3168 (September 2001)。
[0068][RED]:S.Floyd&V.Jacobson: “Random Early Detection gateways forCongestion Avoidance,,,IEEE/ACM Transactions on Networking, Vol 1-4(397-413)Aug1993ο
[0069][re-ECN]:Β.Briscoe, A.Jacquetj Τ.Moncasterj A.Smith: " Re-ECN:AddingAccountability for Causing Congestion to TCP/IP" ,IETF Internet Draft draft-briscoe-tsvwg-re-ecn-tcp-09(Oct 2010)。
[0070][re-ECN-motive]:B.Briscoe, A.Jacquetj T.Moncasterj A.Smith: " Re-ECN:AFramework for Adding Congestion Accountability to TCP/IP" ,IETF Internet Draftdraft-briscoe-tsvwg-re-ecn-tcp-motivation-02(Oct 2010)。
[0071][RFC791]Postel(Ed.),J.: " Internet Protocol " , Internet EngineeringTask Force STD 5,RFC 791 (September 1981)。
[0072][conex-mech]:M.Mathis&B.Briscoe: " Congestion Exposure (ConEx) Conceptsand Abstract Mechanism" ,IETF Internet Draft draft-1etf-conex-abstract-mech-OI (Mar 2011)。
[0073][Jacquet08]: Jacquetj A.,Briscoe, B.&Moncaster, T.: " Policing Freedomto Use the Internet Resource Pool" ,In:Proc Workshop on Re-Architecting theInternet(ReArch' 08)ACM (December 2008)。
[0074](多个)现有公开的讨论:
[0075]国际申请W02006/079845 (参考上文)描述了两个单独信号如何编码成一系列包,每个序列使用一元编码以分别表示整个路径拥塞和上游拥塞。则期望的下游拥塞可以通过计算标记有第一信号的那些包的大小且减去标记有第二信号的那些包的大小测量。它没有提及该方法针对早先描述的攻击的脆弱性。
[0076]名为“C.1块下游拥塞度量算法”的[re-ECN.motivation]的附件C.1给出实施下游拥塞的容量的测量的等式(I)的最简单减法算法的伪代码。
[0077]名为“精确Re-ECN协议操作”的[re_ECN]的附件A得出源于网络路径上的多个拥塞队列的精确拥塞标记,遵循再反馈协议的发送器然后将它插入到网络中。然后在该点局部可测量的信号方面得出用于两个网络之间测量点的精确下游拥塞的公式。在最后步骤中,示出:整个路径和上游拥塞信号之间的差异是该点的下游拥塞的合理近似。没有提出机制在实施精确公式且没有给出为什么需要这种机制的原因。它仅用作分析中的一个步骤以达成近似,这是推荐使用的,因为它容易实施。
[0078]发明人认识到,re-ECN编码的脆弱性看上去至少部分地源自于对于独立的两个信号的编码的需要。这意味着可能必须标记或不标记包以编码整个路径拥塞且可能必须单独地标记或不标记包以编码至此路径上的拥塞。因此,一个包可能必须被标记为正和负,这看上去使得协议对于上述攻击是脆弱的。
[0079]在[re-feedback]的4.1部分中提出缺少两个信号之间的独立性的再反馈协议的先前变体。然而,信号之间独立性的这种缺少变成增加复杂度的原因。还发现引入了不同的安全漏洞,其中网络可能不可检测地变更源发送的信号(见[re-ECN]的附件B)。
[0080]因此,re-ECN协议被更新以给两个独立信号腾出空间。在更新协议的正常操作中,期望中间网络节点唯一地运用经历拥塞(负)标记的控制,而期望源唯一地运用再回响拥塞(正)标志的控制。然而,看上去没有什么使得发送器(或上游网络)停止添加或去除取消包。
[0081]名为“进入策略”的[re-ECN.motivation]的部分4.4描述了使用取消包使得re-ECN信号中毒的攻击(上面的攻击策略#2)。在相同的文档[re-ECN.motivation]中,名为“每用户监管”的附件B.1提出使得该攻击失效的方法。它建议,当监管者计算下游拥塞时,应当将取消包中的字节数添加到正包中的字节数。然而,发明人的后续(未公开)分析显示:该方法并不鲁棒,它仅揭示了对于不同攻击的脆弱性(如上所述的策略#3)。
[0082]名为“用于预示零价值包的两个码点的调节”的[re-ECN]的附件B的最后段说:
[0083]“最后,小冗余可以在诸如此类的方案中可能是非常强力的。在一个流中,变化成CE的包的比例应当与变化成CE(-l)的RECT包的比例和变化成CE(O)的再回响包的比例相同。使用这种冗余关系的双检查可以改善方案的安全性(参考复式簿记(double-entrybook keeping)或ECN随机量)。备选地,在未来可能必须采用冗余来编码额外信息信道。”
[0084]这种冗余的形式在如下面讨论的较不优选的解决方案中使用。

【发明内容】

[0085]根据本发明的第一方面,提供一种在节点方面确定指示下游路径拥塞的测量的方法,多个数据单元经由所述节点经过从发送器到接收器的端到端路径,每个所述数据单元具有:
[0086]第一指示,根据来自所述接收器的信息能够设置为至少两个状态中的一个,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度;以及
[0087]第二指示,能够设置为初始状态,并且能够设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;
[0088]该方法包括以下步骤:
[0089]在所述节点接收多个所述数据单元;以及
[0090]根据膨胀因子确定所述下游路径拥塞测量,该膨胀因子本身与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的集的比例相关。
[0091]尤其是,膨胀因子可以与在所述集中的如下的数据单元的比例相关,S卩,该数据单元的在节点接收的第二指示处于如此的状态:根据使用的协议,该状态能够在数据单元随后经历拥塞的事件中更新为指示经历拥塞的更新状态。
[0092]根据优选实施方式,可以根据所述膨胀因子和在所述节点接收的所述多个数据单元的总比特率的测量的乘积来确定所述下游路径拥塞测量。
[0093]根据优选实施方式,所述膨胀因子正比于在所述节点接收的其第二指示处于所述初始状态的所述数据单元的所述集的比例的倒数。
[0094]根据优选实施方式,根据算法执行确定,使得如此确定的下游路径拥塞测量基本独立于具有第一指示和第二指示二者的数据单元的数目和/或比例,所述第一指示设置为指示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度处于或高于预定的端到端拥塞阈值,且所述第二指示设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞程度处于或高于预定的上游拥塞阈值。参考可能的“攻击策略”的上面讨论,这本质上确保确定的测量不受作为“取消”包接收的包的数目的影响。
[0095]根据优选实施方式,与接收的数据单元的第一指示和第二指示中的一个或二者被设置的状态相关地,所述接收的数据单元根据多个预定分类来进行分类,且其中,根据至少两个相应计数确定所述下游路径拥塞测量,所述两个相应计数中的第一个计数指示分类为第一预定分类的所述数据单元的容量的测量,且所述两个相应计数中的第二个计数指示分类为不同于所述第一预定分类的第二预定分类的所述数据单元的容量的测量。预定分类可以参考特定数据单元中的两个指示如何被设置而定义,或参考指示中的仅一个如何被设置而定义,与另一指示被设置的状态无关。
[0096]根据优选实施方式,可以根据以下测量来确定下游路径拥塞的测量:
[0097]第一测量(其将在稍后被称为“η”或“非正标志”),其代表如此的数据单元的比特率,即,该数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及
[0098]第二测量(其将在稍后被称为“e”或“非负标志“),其代表如此的数据单元的比特率,即,该数据单元的第二指示表示数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
[0099]根据优选实施方式,下游拥塞率“V”基本根据或依赖于下面的公式确定:
[0100]V=x (1- n/e)
[0101]其中:
[0102]v=x (1- n/e)
[0103]其中:
[0104]“X”代表遵循协议的由所述节点接收的所有数据单元的比特率,由此,所述数据单元具有第一指示和第二指示,所述第一指示根据来自所述接收器的信息能够设置为至少两个状态中的每一个状态,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度,且所述第二指示能够设置为初始状态,并且能够设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;
[0105]“η”代表如此的所述数据单元的比特率,S卩,该所述数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及
[0106]“e”代表如此的所述数据单元的比特率,S卩,该所述数据单元的第二指示表示数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
[0107]根据优选实施方式,可以根据两个预定计数中的一个或二者确定所述膨胀因子,所述两个预定计数被选择为使得:第一指示和第二指示被设置的方式的变化将导致:如果使用依赖于所述两个预定计数中的一个计数的膨胀因子做出确定,则确定较高的下游路径拥塞测量,如果使用依赖于所述两个预定计数中的另一个计数的膨胀因子做出确定,则确定较低的下游路径拥塞测量。可以使用所述预定计数中的提供指示较高数量的下游路径拥塞的测量的任一个来确定下游路径拥塞的测量。备选地,在一些实例中使用根据所述预定计数中的一个计数确定的膨胀因子且在其它实例中使用根据所述预定计数中的另一个计数确定的膨胀因子来确定下游路径拥塞的测量。
[0108]根据优选实施方式,可以根据以下两个计数中的一个或二者来确定所述膨胀因子:
[0109](i)指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,该所述数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度高于预定的端到端阈值,且该所述数据单元的第二指示处于所述初始状态;以及
[0110](ii)指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,该所述数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定的端到端阈值,且该所述数据单元的第二指示处于所述初始状态。
[0111]根据优选实施方式,关于特定的数据单元的所述第一指示和所述第二指示能够彼此独立地设置。
[0112]根据本发明的第二方面,提供用于执行根据第一方面的方法的装置。
[0113]参考第一方面的各种选项和优选实施方式也可应用于第二方面。
[0114]优选实施方式的实现方式中涉及的算法可以被认为具有以下三个功能成分A、B和C,它们在现有技术中不(组合地)存在。当然,成分C尤其提供相对于上面提出的攻击策略的整体类别的保护:
[0115]算法成分A:用于下游拥塞的值被计算为分数(fraction)。该分数值依赖于具有某些标记的流量容量的比例。该分数涉及在采用正的再反馈包的比例且减去负的再反馈包的比例的原先公开的实现方式中使用的测量。
[0116]算法成分B:该算法从具有再反馈标记的所有包选择上述分数,而与其指定标记无关。
[0117]算法成分C:被选择的再反馈包的分数相对于通过采用正的再反馈包的比例且减去负的再反馈包的比例发现的分数而膨胀。使用的膨胀因子是再反馈包的容量相对于仍未标记拥塞即处于其初始未标记状态的那些再反馈包的容量。该膨胀因子可以是I或大于1,且不能小于I。因而,如果再反馈包的比例m已经被标记拥塞,计算的分数值将相对于所有再反馈包的分数按照l/(l-m)来膨胀。
[0118]选择包或选择的包分`数的大小的计数则代表了下游拥塞的容量。或者选择包的比特率代表瞬时下游拥塞率。
[0119]使用中间分数值以从所有再反馈包(算法成分B)进行选择,使得该方法对于这种攻击鲁棒:不被测量以计算分数的包相对于被测量的那些包不处于期望的比例中。
[0120]算法成分C确保下游拥塞的测量不能被破坏,即使大比例的包被标记为负上游的拥塞。过度负拥塞标记是如上所述的整个类别的攻击策略公用的元素,无论其自己还是与相同包上的正标记组合以抵销负标记。
[0121]算术地,先前的公开针对下游拥塞率实施以下公式:
[0122]v^z-u, (2)
[0123]而本发明的优选实施方式针对下游拥塞率实施以下的公式:
[0124]v=x (z - u) / (z+y) (3)
[0125]其中:
[0126]X是所有再反馈使能流量(中性、正、负&取消)的比特率
[0127]y是未标记包(中性)的比特率
[0128]u是标记有拥塞但非再回响拥塞(负)的包的比特率
[0129]z是标记有再回响拥塞但非拥塞(正)的包的比特率
[0130]备选地,新公式以发现服从非常简单实现方式的方式表达:
[0131]v=x (1- (u+y) / (z+y))
[0132]=x (1- n/e), (4)
[0133]其中[0134]η是未标记有再回响拥塞(非正标志)的包的比特率
[0135]e是为标记有拥塞(非负标志)的包的比特率
[0136]应当注意,上述内容在至少以下方面不同于现有技术:
[0137]—如果其他变量正确地正比于剩余流量,乘以X将不是必须的。
[0138]一除以e将使得公式精确而非近似,使得它对于高程度拥塞是更鲁棒的,否则高程度拥塞使得在现有技术中使用的近似无效。
[0139]应当理解,这不等价于涉及随机选择所有流量的样本或子集且然后按比例缩放测量以在所有流量方面获得估算测量的测量功能的技术。测量函数不选择子集。而是,子集通过包上现有标记指示。类似地,膨胀因子通过再反馈包上的某些现有标记的比例而不是测量函数选择的采样因子指示。
[0140]该解决方案比描述的指定方案更广泛地应用:
[0141]一它等价地询问具有两个状态的指示是否正常“清除”且可以“设置”为指示拥塞或反之亦然。
[0142]一它询问在互联网协议包或不同网络协议的包或帧中是否使用再反馈协议。
[0143]一它询问是否使用更复杂的编码(例如,如在[conex.mech]中),其中上面列举的4个主要类型的标记其中任意一个可以通过多于一个值编码。
[0144]一它询问上述公式是否变化成作为可能的包标记的不同子集的函数的其他等价公式。
[0145]一它询问作为下游拥塞的确定结果采用什么动作。例如,确定的测量可以用于根据合约监管流量、触发诸如指示下游拥塞程度超过阈值的警报之类的管理动作或考虑为网络运营商和客户端之间的合同部署的一部分。
[0146]一它询问从一个网络到另一网络的流量是否经过单个路径或潜在地在多个位置经过多个路径(这在国际专利W02011/045553中讨论)。
[0147]一它询问是否采取附连点本地或与之远离的测量,也许使用头部封装来传达从附连点到测量点的度量(这在共同未决的欧洲申请EP10251106中进一步讨论,该申请在本申请的 优先权日:未公布)。
[0148]一它询问再反馈协议的完整性当前是否通过诸如在W02005/109783中公开的真实监控器审计。然而,注意,再反馈协议的鲁棒安全性一般要求本规范化技术和审计功能二者。此处,区别在于规范化和审计独立运行,但是协议的完整性与二者相关。
[0149]一它询问再反馈信号是否通过源或代理(对于涉及再反馈的代理的使用的更多信息,见国际申请W02010/106311和共同未决的欧洲申请EP10250693.8,它们在本申请的 优先权日:未公布)产生。
[0150]还应当理解,典型地,在独立数据单元上设置指示以指示数据单元“流”有多强或已经经历拥塞。如果数据单元不携带指示,它不一定表示独立数据单元未经历拥塞。尽管在每个数据单元方面编码可以是二元的,例如取决于设置为I的比例,信号可以是在包流上编码的在O和I之间的数字。
[0151]如果使用诸如在W02006/079845中描述的叠加编码(其目标是促进现有互联网和联网实际中的递增部署),解决方案一般地可应用于再反馈。【专利附图】

【附图说明】
[0152]现在将参考附图描述本发明的优选实施方式,附图中:
[0153]图1示出典型网络的示意图;
[0154]图2示出如何可以使用Re-ECN协议测量下游拥塞;
[0155]图3说明使用Re-ECN协议测量下游拥塞的网络的上游网络(或其他实体)如何可以尝试破坏这种测量。这在上文被称为“攻击#1:极端上游拥塞”;
[0156]图4说明也在上文讨论的“攻击#2:具有两个标记的信号中毒”。
[0157]图5说明也在上文讨论的“攻击#3:与极端上游拥塞组合的切换负标记”;以及
[0158]图6示出根据本发明的优选实施方式从叠加编码测量下游拥塞的处理。
【具体实施方式】
[0159]尤其参考图6,现在将描述根据优选实施方式的方法。在该方法中,使用依赖于包上标记的算法从通过监控点的包流选择包。被选择包可以被认为标记有虚拟标记,然后虚拟标记包中的字节编码包流贡献于测量点多少下游拥塞。
[0160]一旦下游拥塞通过这些虚拟标记(虚拟)被编码到包流中,编码可以用于各种目的,例如:
[0161](i)可以以代表可以通过发送包流的网络导致的下游拥塞的合约速率的速率从使用令牌填充的令牌桶得出每个虚拟标记包的字节大小。然后,只要桶为空,可以防止流量在合约拥塞率的基础上前进且突发大小被超过(详情请见W02006/082443,[Jacquet08])。
[0162](ii)虚拟标记包的字节大小可以被添加到发送(或接收)包的一方贡献的下游拥塞数量的计数。
[0163](iii)具有虚拟标记的包的比特率可以被监控,且如果它超过阈值,则它可以触发管理动作来消除拥塞或采取其他动作来确立异常的原因。
[0164]下游拥塞容量的测量可以用于此处未明确列举的很多其他目的,就好像数据容量或数据比特率的测量可以用于各种目的一样。
[0165]在本发明的优选实施方式中,用于从流选择包以使得选择的包的大小编码下游拥塞的处理包含三个主要步骤,这些步骤在图6中示为大虚线方框:
[0166]( i )分类包:通过其标记(方框20 )
[0167](ii)更新移动平均:依赖于包分类(方框40)
[0168](iii)下游拥塞算法:确定是否根据移动平均而非包的分类来选择包(方框50)。
[0169]该算法是尤其优选的,因为在包被分类之后,仅要求典型通用目的处理器的两个或三个循环操作来更新移动平均且每个包仅需要另外的两个循环来运行下游拥塞算法。因此,该优选算法仅要求每个包5或6个循环来到达可以选择认为被虚拟标记的包的点。
[0170]图6中说明的处理还使用如下的伪代码描述:
[0171]1产 Downstream congestion itieier */
2产 Assuming rc-ECN encoding in draft-briscoe-re-ccn-tcp-OQ */
3mclcrDownCongf) {
4/* Initialise variables */
5V = O /* downstream congcstion-voiumc^/
6η-0/φ rcccnt ncvcr-positivc markings (NEUT or NEGV)*/
7e = 0 /* raeenl ECT mirkmgs (NEUT m POS¥ or CAUI)^/
8r ; 0 /.remainder */
9a = EWMA一 WEIGHT
10foreach packet {
11s = readLeagtli(packet)
12men = readEEC N (packct)
13if (eecn !- (ECT(O)
14(I Not-ECT)) {
15/.A re-ECN enabled packet 'i
16/* Update moving aveimges dependent on pkl marking./
17swiich(cccn) {
18case (NEUT:: CU):
19n+=(s-rt)%
20e += (S-C)^a
21cmsc (POSV I: CAUT):
22e += (s-e)*a
23i1-= 11?
24ease (NEGV):
25ii += (s-n)%
26e -=
[017 2]
【权利要求】
1.一种在节点方面确定指示下游路径拥塞的测量的方法,多个数据单元经由所述节点经过从发送器到接收器的端到端路径,每个所述数据单元具有: 第一指示,根据来自所述接收器的信息能够设置为至少两个状态中的每一个,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度;以及 第二指示,能够设置为初始状态,并且能够设置为指示数据单元在这些数据单元的从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态; 该方法包括以下步骤: 在所述节点接收多个所述数据单元;以及 根据膨胀因子确定所述下游路径拥塞测量,该膨胀因子本身与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的集的比例相关。
2.根据权利要求1所述的方法,其中,根据所述膨胀因子和在所述节点接收的所述多个数据单元的总比特率的测量的乘积来确定所述下游路径拥塞测量。
3.根据权利要求1或2所述的方法,其中,所述膨胀因子与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的所述集的比例的倒数成比例。
4.根据前述权利要求中任一项所述的方法,其中,使用来自预定算法的集的算法执行所述确定,所述预定算法的集确保所述下游路径拥塞测量基本独立于具有第一指示和第二指示二者的数据单元的 数目和/或比例,所述第一指示设置为指示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度处于或高于预定的端到端拥塞阈值,且所述第二指示设置为指示数据单元在这些数据单元的从所述发送器到所述节点的路径上经历的拥塞程度处于或高于预定的上游拥塞阈值。
5.根据前述权利要求中任一项所述的方法,其中,根据接收的数据单元的第一指示和第二指示中的一个或二者被设置的状态,根据多个预定分类对所述接收的数据单元进行分类,且其中,根据至少两个相应计数确定所述下游路径拥塞测量,所述两个相应计数中的第一个计数指示分类为第一预定分类的所述数据单元的容量的测量,且所述两个相应计数中的第二个计数指示分类为不同于所述第一预定分类的第二预定分类的所述数据单元的容量的测量。
6.根据权利要求5所述的方法,其中,所述多个预定分类中的至少一个被定义为包括数据项,而与这些数据项的第一指示或第二指示被设置的状态无关。
7.根据前述权利要求中任一项所述的方法,其中,根据预定算法确定下游路径拥塞的所述测量,依赖于: 第一测量,其代表如此的数据单元的比特率,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及 第二测量,其代表如此的数据单元的比特率,即,这些数据单元的第二指示表示这些数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
8.根据前述权利要求中任一项所述的方法,其中,根据以下公式确定下游拥塞率“V”:
v=x (1- n/e) 其中: “X”代表遵循协议的由所述节点接收的所有数据单元的比特率,由此,所述数据单元具有第一指示和第二指示,所述第一指示根据来自所述接收器的信息能够设置为至少两个状态中的每一个状态,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度,且所述第二指示能够设置为初始状态,并且能够设置为指示数据单元在这些数据单元的从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态; “η”代表如此的所述数据单元的比特率,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及 “e”代表如此的所述数据单元的比特率,即,这些数据单元的第二指示表示数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
9.根据前述权利要求中任一项所述的方法,其中,根据两个预定计数中的一个或二者确定所述膨胀因子,所述两个预定计数被选择为使得:第一指示和第二指示被设置的方式的变化将导致:如果使用依赖于所述两个预定计数中的一个计数的膨胀因子做出确定,则确定较高的下游路径拥塞测量,如果使用依赖于所述两个预定计数中的另一个计数的膨胀因子做出确定,则确定较低的下游路径拥塞测量。
10.根据权利要求9所述的方法,该方法包括:使用所述预定计数中的提供指示较高的下游路径拥塞量的测量的任一个来确定下游路径拥塞的测量。
11.根据权利要求9所述的方法,该方法包括:在一些实例中使用根据所述预定计数中的一个计数确定的膨胀因子且在其它实例中使用根据所述预定计数中的另一个计数确定的膨胀因子来确定下游路径拥塞的测量。
12.根据前述权利要求中任一项所述的方法,其中,根据以下两个计数中的一个或二者来确定所述膨胀因子: (i )指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度高于预定的端到端阈值,且这些数据单元的第二指示处于所述初始状态;以及 (ii)指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定的端到端阈值,且这些数据单元的第二指示处于所述初始状态。
13.根据前述权利要求中任一项所述的方法,其中,关于特定的数据单元的所述第一指示和所述第二指示能够彼此独立地设置。
14.一种装置,该装置被布置为执行根据前述权利要求中任一项所述的方法。
【文档编号】H04L12/801GK103814555SQ201280042117
【公开日】2014年5月21日 申请日期:2012年6月29日 优先权日:2011年6月30日
【发明者】罗伯特·约翰·布里斯科 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1