CN103814555B - 确定路径拥塞测量 - Google Patents
确定路径拥塞测量 Download PDFInfo
- Publication number
- CN103814555B CN103814555B CN201280042117.5A CN201280042117A CN103814555B CN 103814555 B CN103814555 B CN 103814555B CN 201280042117 A CN201280042117 A CN 201280042117A CN 103814555 B CN103814555 B CN 103814555B
- Authority
- CN
- China
- Prior art keywords
- congestion
- instruction
- data cell
- path
- bag
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/17—Interaction among intermediate nodes, e.g. hop by hop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/18—End to end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/267—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets sent by the destination endpoint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/265—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets sent by intermediate network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于在节点方面确定指示下游路径拥塞的测量的方法和装置,多个数据单元经由所述节点经过从发送器到接收器的端到端路径,每个所述数据单元具有:第一指示,根据来自所述接收器的信息能够设置为至少两个状态中的一个,由此指示所述接收器原先接收的数据单元在所述端到端路径上经历的不同拥塞程度;以及第二指示,能够设置为初始状态,并且能够设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;该方法包括以下步骤:在所述节点接收多个所述数据单元;以及根据膨胀因子确定所述下游路径拥塞测量,该膨胀因子本身与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的集的比例相关。
Description
技术领域
本发明涉及确定路径拥塞测量。更具体而言,本发明的方面涉及用于在节点方面确定指示下游路径拥塞的测量的方法和装置,多个数据单元经由该节点经过从发送器到接收器的端到端路径。
背景技术
考虑一个网络通过相互附连点向另一网络发送流量的方案。存在通过监控在附连点全都本地可见的某些度量来测量这种流量导致的测量点的下游拥塞数量的机制。
可能的情况是:下游网络将希望使用下游拥塞的测量从而以某种方式约束上游网络。例如,下游网络可能希望限制来自上游网络的流量可能导致的拥塞数量。然后在上游网络中所感兴趣的是试图操纵流量中的度量以破坏测量的完整性,以对其有利。发明人认识到对于上游网络的任意操纵鲁棒的测量技术的需要对其是有利的。
现在将提出一些基本概念以促进稍后给出的本发明的理解。
包
数据源典型地将它们发送的数据分割成已知为包的小单元。包由头部和有效载荷组成。现今商业网络携带的大部分包被称为互联网协议(IP)包,这意味着它们遵循IETFRFC791中指定的格式[见参考RFC791]。IP确保包被正确地从源传输到目的地。IP是无连接协议,这意味着每个包携带用于任意IP路由器的足够信息以能够将它转发到其目的地,而不必在路由器中预先设立任意每连接状态。每个包可以具有到达目的地的不同路径。实际上,互联网上的路由机制意味着这极少发生(除非存在某种形式的设备故障)。
再反馈
诸如IP包的头部之类的包头部的功能之一是累积关于从发送器到接收器在其道路上经过的路径的信息。例如,生存时间(TTL)字段在每个IP节点递减,或如果包经历拥塞,则明确的拥塞通知(ECN[见参考:RFC3168])字段被概率地标记(见下文)。这种路径信息允许路径上的节点监控迄今经历的路径(上游路径)的特征。典型地,存在允许接收器向发送器反馈这种信息的机制。
国际申请WO2005/096566描述了一种被称为再反馈的机制[见稍后详述的参考:[re-feedback](再反馈)],由此源将通过接收器反馈给它的沿着整个路径积累的这种信息再***到转发数据路径中。发送器可以使用包头部中的单独字段再***该信息以用于积累原始路径度量,或备选地,它可以初始化原始字段中的度量值为反应它接收的反馈的值。
沿着路径的任意节点然后监控至少一个往返之前的整个路径的特征。假设任意节点可能已经监控上游路径的特征,它可以从再***的整个路径信息减去该特征以计算下游路径的特征的预期(它转发的包仍经过剩余路径)。
只要在网络中执行测量,这种减法的结果应当绝不永久为负,除非源初始低估了整个路径度量。国际申请WO2005/109783提议使用这一事实:对于检测的机制,源永久地低估包流中路径的特征。该机制可以相应地处罚流,使得在源感兴趣的是正确地向网络宣称整个路径特征。因而,相对于原始反馈,可以确保再***反馈信息的完整性。
分布带宽共享和拥塞
经过互联网的数据追随各种路由协议控制的一系列路由器之间的路径。每个路由器寻求将包更近地移向其最终目的地。如果太多的流量经过网络中的相同路由器,则路由器可能变得拥塞,且包开始在使用该网络路径的同时经历过渡延迟。如果源通过该路由器持续发送流量,它可能变得严重过载(拥塞)或甚至丢弃流量(当它缓存溢出时)。如果源仍持续通过该瓶颈发送流量,它可能强迫更多的路由器变得拥塞,且如果这一现象保持传播,可能导致整个互联网的拥塞崩溃,这在80年代中期时常发生。
该问题的解决方案是确保源通过实施拥塞控制机制负责它们通过互联网发送数据的速率。源监控来自接收器的特征化拥塞路径的度量的反馈,以检测其数据追随的路径何时变得拥塞,在这种情况中它们通过减小其比特率而反应。在缺少路径拥塞的任意指示的情况中,它们可以缓慢地增加其速率。
源监控的典型路径特征是用于数据路径的平均往返时延(RTT)、往返时延的变化(抖动)以及路径上的拥塞程度。拥塞是控制通过拥塞路径发送数据的源的速率调节的参数。
拥塞程度可以暗示地(当其缓存溢出或保护自身时通过丢弃包的拥塞路由器)或明确地(通过诸如明确拥塞通知的机制,见下一部分)被信令发送。当前,大多数公共选项是暗含的信令发送。历史地,当路由器完全饱和时(这在路由器的缓存中不能容纳流量突发时发生),路由器将丢弃包,该策略被称为弃尾。随机早期检测(RED)[见参考:RED]是一种改善:其中路由器监控其缓存中的平均队列长度,且当平均队列高于预定阈值时,路由器以随着超过阈值的队列的过度长度增加的概率开始丢弃包。它广泛地用在当今的互联网,因为它允许源更迅速地反应于初期拥塞且它防止队列变得不必要地长。使用TCP的源能够检测丢失,因为包丢失导致序列中的缝隙;每当TCP源检测到丢失时,这意味着使得其数据传输速率减半,这消除了瓶颈处路由器上的拥塞。
明确拥塞通知
明确拥塞通知(ECN)[见参考:RFC3168]还通过在IP头部中使用两位ECN字段发送拥塞来在RED上改善。它运行和RED相同的算法,但是不丢弃包,它将其ECN字段设置为经历拥塞(CE)码点。ECN标准要求发送器回应在数据中信令发送的任意拥塞标记;例如,TCP接收器在TCP头部中设置经历拥塞回响(ECE)标志,TCP源解释该标志,就好像包针对其速率控制目的被丢弃一样。进而,源然后通过使得其传输速率减半反应于拥塞且使用拥塞窗口减小码点告知接收器这点。
IP头部中的两位ECN字段的4个值是:
·“非ECT”,它表示包属于不支持ECN的流;
·“ECT(0)”和“ECT(1)”,表示包属于支持ECN的包且上游路由器不必标记包;以及
·“经历拥塞”(CE),发信号告知包经历初期拥塞。
Re-ECN
Re-ECN(再ECN)[见参考:re-ECN]是通过网络利用再反馈来提供上游和下游拥塞信息的***的示例。它类似于ECN,但是在包头部中使用额外的未使用位。该位与两位ECN字段组合以创建4个额外代码点。
理解协议的最简单方式是将每个包视为具有指示包中多少字节价值为多少的不同标志(或码点)。在流的开始,谨慎的标志用于指示发送器不具有路径的足够知识且包中的所有字节价值为+1。谨慎的标志还在发送器变得不确定路径的当前状态时使用。
缺省地,包被标记指示包中的字节价值为0的中性标志。如果包在其通过网络的传输中遇到拥塞,则通过拥塞路由器应用的ECN标记被认为是使得被标记包中的字节价值-1的负标志。目的地将反馈它可以看到的负标志的数目。对于每个负标志字节,它被告知发送器应当标记它在具有正标志的后续包或多个包中标记相等数目的字节,这使得包中的所有字节价值为+1。正标志将拥塞反馈再回响或再***到包的正向传输流中,因此命名为re-ECN。一旦被发送器设置,这些正标志将不被网络修改。
如果包具有正标记,它有时被命名为正包。如果它具有负标记,它被命名为负包,且依此类推。
存在这种小的可能性:正包进一步通过拥塞路由器标记为负,但是编码选择为使得原始正标记良好地存活,具有正和负标记的包中的字节被认为价值为0且这些包被描述为取消。
在任意中间节点,上游拥塞通过负标志字节与总字节的比例给出。因而,通过分别将负或非负(中性)标记流解读为1或0的一元编码,在包流中有效地编码连续变化的拥塞程度。类似地,整个路径的拥塞程度被编码为正或非正(中性)标记流。如国际申请WO2006/079845所描述,来自任意中间节点的期望下游拥塞可以从正标志的比例和负标志的比例之间的差异估算。这两个序列中标志的比例之间的差异可以认为是包上的代表下游拥塞的第三虚拟标志序列。然而,这些虚拟标志仅源于数学操作(减法);它们并不在包上物理地存在。
拥塞感知(ConEx)
在2010年6月,互联网工程任务组(IETF)特许一个新拥塞感知(ConEx)工作组来向互联网协议(IP—初始IPv6)增加路径拥塞的再反馈,且对传输控制协议(TCP)做出必要的修改,IP和TCP都是实验标准。ConEx协议基于re-ECN协议,但是稍有不同,因为它要求可以独立于ECN使用,尽管认为使用ECN才能实现其完全益处,见参考:[conex-mech]。
通过IETF标准化的ConEx协议的最终形式仍未确定。因此,在本说明书中,re-ECN协议将用作具体实施方式,假设它完全被指定和实施。
破坏下游路径特征的完整性
在[re-ecn-motive]的部分4.4中可以认识到:如果下游路径特征通过采用诸如在WO2006/079845中公开的两个叠加一元编码之间的差异计算,这看上去可能破坏该特征的完整性。现在将使用图1描述示例方案,该示例方案将用于显示该问题的潜在范围。
数据发送器“S”11附连到诸如数据中心10的网络,发送器和网络均可以被相同的数据中心操作员所拥有。数据中心进而在附连点13经由网络附连节点“Na”附连到接入网络20。数据接收器“R”19在附连点17在网络附连节点附连到相同的接入网络。网络10包括路由器15。网络20包括路由器25。
用于解释目的,图1示出单个端到端路径12(见“示意图关键点”),包沿着该路径从发送器“S”11流动到接收器“R”19。从附连点13处网络附连节点“Na”的视点,该端到端路径12包含上游部分12a(经由网络10的路由器15其中一个或更多个从发送器“S”11延伸到附连点13)和下游部分12b(经由网络20的路由器25其中一个或更多个和附连点17从附连点13延伸到接收器“R”19)。应当理解,从发送器“S”11传送到接收器“R”19的包不需要全都经过相同的路径,且任意路径上的“上游”和“下游”之间的分割将依赖于实体,从该实体角度关注路径。下面的解释将可应用于其他复杂方案,但是为清晰起见,将使用该简单方案。
因为数据中心网络10跨越与接入网络20的边界转发包,接入网络监控经过附连点13的包中的re-ECN字段。在附连点的功能包含测量下游拥塞程度的边界监控和对其测量进行作用的一些其他功能。如国际专利WO2006/082443和参考[Jacquet08]中所讨论,它可能限制数据中心网络可能在接入网络中导致的下游拥塞的数量。备选地,可以触发各种管理动作,或可以向计费***发送测量以征收费用。
通常,接入网络可以计算到达正包以测量下游拥塞。因为数据中心内的拥塞,可能期望看到少数负包,但是可能并不多。将从正包字节数目减去这些少数负包中的字节以计算剩余路径上而不是数据中心中保留的多少拥塞。
图2通过方形区域表示一定容量的传输数据。方形被示为分割成水平地表示拥塞网络元素(负)或非负元素(中性)标记的包的比例的区域。方形还示为分割成垂直地表示用于感知网络(正)或非正(中性)的整个路径拥塞的通过发送器标记的包的比例的区域。
图2示出典型方案,其中在接入网络中存在1.00%的拥塞,且在数据中心网络中仅存在0.70%的拥塞。因此,当流量到达接入网络的边界(上中方形),0.70%的包将已经通过数据中心网络标记为负,留下99.30%未标记(中性)。
网络设备中的拥塞标记算法被刻意地设计,使得包可以被随机地标记,而与任意指定包已经具有什么标记无关。因此,在包到达接收器R时,另外的1.00%的中性包将被标记为负,即99.30%中的1.00%=0.99%以上的负加上0.70%的已经标记为负的包,这在目的地合计了高达1.69%的负包(所有百分比图精确地以两位小数给出)。这些标记比例在图2的顶部行中图形地示意(但未按比例)。
接收器R将向发送器发送反馈:到达的1.69%的包具有负“经历拥塞”(CE)标志设置。然后,遵循re-ECN协议,发送器S将以相同包比例(即1.69%)设置正标志(图2的左下)。因为正和非正(中性)包的混合经过两个网络,它们将被标记为负以指示它们经历的拥塞。用于说明目的,如果我们假设拥塞程度保持稳定,这些包将在每个网络中经历与以前相同程度的拥塞。假设正和负信号可以独立设置,这将导致标记0.70%的中性包和0.70%的正包的数据中心网络拥塞。这将导致1.69%出发的标记为正的包中有0.70%也被标记为负。因而,约0.01%的包将标记为正和负二者。如已经解释,这种包被命名为取消,因为指示整个路径拥塞的正标记通过指示相同包上的上游拥塞的负标记“抵销”。
出发的未标记(中性)的其他98.31%的包将被标记为负,即,到达接入网络的所有包中有0.69%将是负的。假设1.69%的包原始为正且数据中心标记0.01%的负包,这将导致1.68%的标记正包到达接入网络。
在接入网络的入口的附连点然后从负包比例(0.69%)减去正包比例(1.68%)以估算下游拥塞为(1.68%–0.69%)=0.99%,这是该附连点的实际下游拥塞的合理估算,其将(将被召回)为1.00%。
尽管图1的数据中心方案用于说明re-ECN协议中的脆弱性,当然,类似的攻击可能通过向任意其他网络转发包的任意网络(或其他这种实体)发起。发起攻击的数据中心网络可以早期地是家庭网络、校园网络或向其他商业对等体转发包的商业网络。
无论什么方案,包上的标记将总是处于上游网络的控制下,直到包在网络之间的附连点被移交。在上游网络中总是感兴趣的是(至少涉及拥塞可计算性问题)试图使得下游拥塞的测量程度看上去就好像它小于实际。需要能够可靠地测量附连点的下游拥塞且能够确认双方满意的鲁棒技术,即使上游网络可能预先变更包标记。
攻击策略#1:极端上游拥塞
返回图1的示例数据中心,如果数据中心在近乎所有包上设置正和负标记二者,看上去能够破坏下游拥塞的接入网络测量。下面的示例说明该测策略的结果。假设在数据中心网络下游的接入网络中仍存在1.00%的拥塞。如图3所示,数据中心可以假装数据中心内的拥塞极高,可能将90.91%的包标记为负。然后当接入网络标记1.00%的包为负时,这将导致91.00%的负包,因为数据中心仅留下9.09%的包不为负,当被接入网络标记时,1.00%的概率将仅添加0.09%的负包,导致91.00%的负包。
数据中心可以通过在源处将91.00%的包标记为正遵循re-ECN协议,但是也继续标记90.91%的包为负,这是不平常的但是不与任意协议冲突。仅原始保留未标记(中性)包中的9.00%可以变成负的。因此,仅8.18%在与接入网络的边界被标记为负。标记为正的包中远远更大比例(91.00%)将导致到达接入网络的边界的取消包(即,标记为正和负)中远远更大的比例(82.73%),仅留下8.27%仍为正。
一旦这些正包经过接入网络中的1%的拥塞标记,8.19%将保留为正,这将正确地匹配8.19%的负包比例。因此,接入网络不能抱怨流量不兼容于re-ECN协议,因为相对于负字节在任何地方都不存在不足的正字节。
然而,当包从数据中心到达时,当接入网络从正字节减去负时,它将测量下游拥塞为8.27%–8.18%=0.09%。然而实际值应当为1.00%。因而,通过在其自己的网络中引入极高数量的(明显)拥塞且遵循re-ECN协议的证书,数据中心管理为使得接入网络将该数据中心流量视为导致接入网络中仅0.09%的拥塞,这比它实际导致的1.00%的拥塞小11倍。
攻击策略#2:具有两个标记的信号中毒
在破坏下游拥塞的接入网络测量的第二策略中,数据中心网络(图1中的10)的操作员将通常使用re-ECN协议,但是另外地,布置发送器S以标记高比例的所有包为取消(即,标记有正和负)。这种攻击的示例在图4中示出,其中发送器S通过标记34.00%的包为取消而开始。
这些包上的正标志不贡献于下游拥塞的任意测量,因为它们全都被相同包上的负标志抵销。而且,这些包免于进一步的拥塞标记,因为它们已经被标记为负。从图4可以看出,数据中心操作员仍可以向剩余的66.00%的包应用re-ECN协议。如果接入网络操作员从它自数据中心网络接收的包中的正标记减去负标记,它将测量下游拥塞为其实际值的66.00%,即为0.66%而非1.00%。因而,上游网络可以通过使用取消包有效地使得re-ECN信号中毒而减小接入网络测量的拥塞程度。
攻击策略#3:切换负标记
在[re-ECN.motivation]中提出,当通过使用以下公式计算下游拥塞时,边界监控器可以使得攻击策略#2无效:
下游拥塞=取消字节+正字节-负字节 (1)
换句话说,在减去标记为负的包中的字节之前,除了仅标记为正的包,该方法计算取消包中的字节。策略#1和#2引入了大比例的取消包,所以将它们计算为正将看上去使得这些攻击无效。
然而,如果上游网络(例如图1的数据中心网络)的操作员怀疑边界监控器使用该方法,它可以采用命名为攻击策略#3的计数器策略,其仍减小由等式(1)给出的表观下游拥塞程度。如果将负标记从取消包切换到未标记(中性)包,上游网络可以确保使得下游拥塞看上去较低。该方法确保流量仍遵循必须没有比正流量多的负流量的再反馈条件,因为它按照相同量增加正包的比例和负包的比例。
如果下游网络在其下游拥塞计算中包括取消包,上游网络减小取消包的比例是有利的,然而攻击#2显示:当下游网络在其计算中不包括取消包时,上游网络增加取消包的比例是有利的。
在低拥塞程度流行的典型环境中,取消包的比例将很小。例如,拥塞高于总拥塞是1.60%的图2的方案是不正常的,且在这种情况中,仅0.01%的包被取消。因此,假设攻击策略#3消耗取消包,该攻击仅看上去能够实现下游拥塞中极小的减小。然而攻击策略#3可以与策略#1组合以极大地减小表观下游拥塞(减小量高达其实际值的一半)。使用策略#3从取消切换到中性,策略#1极大地增加取消包的比例。
图5说明该组合攻击的数值示例。首先(上中),数据中心应用策略#1,伪造高达49.49%的拥塞程度,一旦也经过接入网络中的拥塞(和原先示例一样仍为1.00%),这导致50.00%的负标记(右上)。
发送器S初始地通过标记50.00%的包为正遵循re-ECN协议(左下)。一旦所有发送器的包经历相同的49.49%的伪造拥塞,标记为取消和负的比例将均约为24.75%(精确到两位小数的百分比)。然后,数据中心网络应用策略#3:它将负标记从大多数取消包切换到相等数量的未标记(中性)流量。在图5(下中)中,选择切换24.70%的包,使得正包和负包的比例增加24.70%。
当接入网络使用等式(1)时,数据中心网络成功地愚弄它计算该下游拥塞为0.55%而不是1.00%,这几乎减小了一半。这些组合攻击仍遵循再反馈协议的约束,即,必须没有比正包更多的负包,因为在图5中(右下)看上去负包和正包按需相等。
参考
[re-feedback]:Briscoe,B.,Jacquet,A.,Cairano-Gilfedder,C.D.,Salvatori,A.,Soppera,A.&Koyabe,M.:″Policing Congestion Response in an InternetworkUsing Re-Feedback″,Proc.ACM SIGCOMM′05,Computer Communication Review 35(4):277-288ACM Press(Aug 2005)。
[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)。
[RED]:S.Floyd&V.Jacobson:“Random Early Detection gateways forCongestion Avoidance”,IEEE/ACM Transactions on Networking,Vol 1-4(397-413)Aug1993。
[re-ECN]:B.Briscoe,A.Jacquet,T.Moncaster,A.Smith:″Re-ECN:AddingAccountability for Causing Congestion to TCP/IP″,IETF Internet Draft draft-briscoe-tsvwg-re-ecn-tcp-09(Oct 2010)。
[re-ECN-motive]:B.Briscoe,A.Jacquet,T.Moncaster,A.Smith:″Re-ECN:AFramework for Adding Congestion Accountability to TCP/IP″,IETF Internet Draftdraft-briscoe-tsvwg-re-ecn-tcp-motivation-02(Oct 2010)。
[RFC791]Postel(Ed.),J.:″Internet Protocol″,Internet Engineering TaskForce STD 5,RFC 791(September 1981)。
[conex-mech]:M.Mathis&B.Briscoe:″Congestion Exposure(ConEx)Conceptsand Abstract Mechanism″,IETF Internet Draft draft-ietf-conex-abstract-mech-01(Mar 2011)。
[Jacquet08]:Jacquet,A.,Briscoe,B.&Moncaster,T.:″Policing Freedom toUse the Internet Resource Pool″,In:Proc Workshop on Re-Architecting theInternet(ReArch′08)ACM(December 2008)。
(多个)现有公开的讨论:
国际申请WO2006/079845(参考上文)描述了两个单独信号如何编码成一系列包,每个序列使用一元编码以分别表示整个路径拥塞和上游拥塞。则期望的下游拥塞可以通过计算标记有第一信号的那些包的大小且减去标记有第二信号的那些包的大小测量。它没有提及该方法针对早先描述的攻击的脆弱性。
名为“C.1块下游拥塞度量算法”的[re-ECN.motivation]的附件C.1给出实施下游拥塞的容量的测量的等式(1)的最简单减法算法的伪代码。
名为“精确Re-ECN协议操作”的[re-ECN]的附件A得出源于网络路径上的多个拥塞队列的精确拥塞标记,遵循再反馈协议的发送器然后将它***到网络中。然后在该点局部可测量的信号方面得出用于两个网络之间测量点的精确下游拥塞的公式。在最后步骤中,示出:整个路径和上游拥塞信号之间的差异是该点的下游拥塞的合理近似。没有提出机制在实施精确公式且没有给出为什么需要这种机制的原因。它仅用作分析中的一个步骤以达成近似,这是推荐使用的,因为它容易实施。
发明人认识到,re-ECN编码的脆弱性看上去至少部分地源自于对于独立的两个信号的编码的需要。这意味着可能必须标记或不标记包以编码整个路径拥塞且可能必须单独地标记或不标记包以编码至此路径上的拥塞。因此,一个包可能必须被标记为正和负,这看上去使得协议对于上述攻击是脆弱的。
在[re-feedback]的4.1部分中提出缺少两个信号之间的独立性的再反馈协议的先前变体。然而,信号之间独立性的这种缺少变成增加复杂度的原因。还发现引入了不同的安全漏洞,其中网络可能不可检测地变更源发送的信号(见[re-ECN]的附件B)。
因此,re-ECN协议被更新以给两个独立信号腾出空间。在更新协议的正常操作中,期望中间网络节点唯一地运用经历拥塞(负)标记的控制,而期望源唯一地运用再回响拥塞(正)标志的控制。然而,看上去没有什么使得发送器(或上游网络)停止添加或去除取消包。
名为“进入策略”的[re-ECN.motivation]的部分4.4描述了使用取消包使得re-ECN信号中毒的攻击(上面的攻击策略#2)。在相同的文档[re-ECN.motivation]中,名为“每用户监管”的附件B.1提出使得该攻击失效的方法。它建议,当监管者计算下游拥塞时,应当将取消包中的字节数添加到正包中的字节数。然而,发明人的后续(未公开)分析显示:该方法并不鲁棒,它仅揭示了对于不同攻击的脆弱性(如上所述的策略#3)。
名为“用于预示零价值包的两个码点的调节”的[re-ECN]的附件B的最后段说:
“最后,小冗余可以在诸如此类的方案中可能是非常强力的。在一个流中,变化成CE的包的比例应当与变化成CE(-1)的RECT包的比例和变化成CE(0)的再回响包的比例相同。使用这种冗余关系的双检查可以改善方案的安全性(参考复式簿记(double-entrybook keeping)或ECN随机量)。备选地,在未来可能必须采用冗余来编码额外信息信道。”
这种冗余的形式在如下面讨论的较不优选的解决方案中使用。
发明内容
根据本发明的第一方面,提供一种在节点方面确定指示下游路径拥塞的测量的方法,多个数据单元经由所述节点经过从发送器到接收器的端到端路径,每个所述数据单元具有:
第一指示,根据来自所述接收器的信息能够设置为至少两个状态中的一个,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度;以及
第二指示,能够设置为初始状态,并且能够设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;
该方法包括以下步骤:
在所述节点接收多个所述数据单元;以及
根据膨胀因子确定所述下游路径拥塞测量,该膨胀因子本身与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的集的比例相关。
尤其是,膨胀因子可以与在所述集中的如下的数据单元的比例相关,即,该数据单元的在节点接收的第二指示处于如此的状态:根据使用的协议,该状态能够在数据单元随后经历拥塞的事件中更新为指示经历拥塞的更新状态。
根据优选实施方式,可以根据所述膨胀因子和在所述节点接收的所述多个数据单元的总比特率的测量的乘积来确定所述下游路径拥塞测量。
根据优选实施方式,所述膨胀因子正比于在所述节点接收的其第二指示处于所述初始状态的所述数据单元的所述集的比例的倒数。
根据优选实施方式,根据算法执行确定,使得如此确定的下游路径拥塞测量基本独立于具有第一指示和第二指示二者的数据单元的数目和/或比例,所述第一指示设置为指示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度处于或高于预定的端到端拥塞阈值,且所述第二指示设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞程度处于或高于预定的上游拥塞阈值。参考可能的“攻击策略”的上面讨论,这本质上确保确定的测量不受作为“取消”包接收的包的数目的影响。
根据优选实施方式,与接收的数据单元的第一指示和第二指示中的一个或二者被设置的状态相关地,所述接收的数据单元根据多个预定分类来进行分类,且其中,根据至少两个相应计数确定所述下游路径拥塞测量,所述两个相应计数中的第一个计数指示分类为第一预定分类的所述数据单元的容量的测量,且所述两个相应计数中的第二个计数指示分类为不同于所述第一预定分类的第二预定分类的所述数据单元的容量的测量。预定分类可以参考特定数据单元中的两个指示如何被设置而定义,或参考指示中的仅一个如何被设置而定义,与另一指示被设置的状态无关。
根据优选实施方式,可以根据以下测量来确定下游路径拥塞的测量:
第一测量(其将在稍后被称为“n”或“非正标志”),其代表如此的数据单元的比特率,即,该数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及
第二测量(其将在稍后被称为“e”或“非负标志“),其代表如此的数据单元的比特率,即,该数据单元的第二指示表示数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
根据优选实施方式,下游拥塞率“v”基本根据或依赖于下面的公式确定:
V=x(1–n/e)
其中:
v=x(1–n/e)
其中:
“x”代表遵循协议的由所述节点接收的所有数据单元的比特率,由此,所述数据单元具有第一指示和第二指示,所述第一指示根据来自所述接收器的信息能够设置为至少两个状态中的每一个状态,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度,且所述第二指示能够设置为初始状态,并且能够设置为指示数据单元在该数据单元从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;
“n”代表如此的所述数据单元的比特率,即,该所述数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及
“e”代表如此的所述数据单元的比特率,即,该所述数据单元的第二指示表示数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
根据优选实施方式,可以根据两个预定计数中的一个或二者确定所述膨胀因子,所述两个预定计数被选择为使得:第一指示和第二指示被设置的方式的变化将导致:如果使用依赖于所述两个预定计数中的一个计数的膨胀因子做出确定,则确定较高的下游路径拥塞测量,如果使用依赖于所述两个预定计数中的另一个计数的膨胀因子做出确定,则确定较低的下游路径拥塞测量。可以使用所述预定计数中的提供指示较高数量的下游路径拥塞的测量的任一个来确定下游路径拥塞的测量。备选地,在一些实例中使用根据所述预定计数中的一个计数确定的膨胀因子且在其它实例中使用根据所述预定计数中的另一个计数确定的膨胀因子来确定下游路径拥塞的测量。
根据优选实施方式,可以根据以下两个计数中的一个或二者来确定所述膨胀因子:
(i)指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,该所述数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度高于预定的端到端阈值,且该所述数据单元的第二指示处于所述初始状态;以及
(ii)指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,该所述数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定的端到端阈值,且该所述数据单元的第二指示处于所述初始状态。
根据优选实施方式,关于特定的数据单元的所述第一指示和所述第二指示能够彼此独立地设置。
根据本发明的第二方面,提供用于执行根据第一方面的方法的装置。
参考第一方面的各种选项和优选实施方式也可应用于第二方面。
优选实施方式的实现方式中涉及的算法可以被认为具有以下三个功能成分A、B和C,它们在现有技术中不(组合地)存在。当然,成分C尤其提供相对于上面提出的攻击策略的整体类别的保护:
算法成分A:用于下游拥塞的值被计算为分数(fraction)。该分数值依赖于具有某些标记的流量容量的比例。该分数涉及在采用正的再反馈包的比例且减去负的再反馈包的比例的原先公开的实现方式中使用的测量。
算法成分B:该算法从具有再反馈标记的所有包选择上述分数,而与其指定标记无关。
算法成分C:被选择的再反馈包的分数相对于通过采用正的再反馈包的比例且减去负的再反馈包的比例发现的分数而膨胀。使用的膨胀因子是再反馈包的容量相对于仍未标记拥塞即处于其初始未标记状态的那些再反馈包的容量。该膨胀因子可以是1或大于1,且不能小于1。因而,如果再反馈包的比例m已经被标记拥塞,计算的分数值将相对于所有再反馈包的分数按照1/(1-m)来膨胀。
选择包或选择的包分数的大小的计数则代表了下游拥塞的容量。或者选择包的比特率代表瞬时下游拥塞率。
使用中间分数值以从所有再反馈包(算法成分B)进行选择,使得该方法对于这种攻击鲁棒:不被测量以计算分数的包相对于被测量的那些包不处于期望的比例中。
算法成分C确保下游拥塞的测量不能被破坏,即使大比例的包被标记为负上游的拥塞。过度负拥塞标记是如上所述的整个类别的攻击策略公用的元素,无论其自己还是与相同包上的正标记组合以抵销负标记。
算术地,先前的公开针对下游拥塞率实施以下公式:
v≈z–u, (2)
而本发明的优选实施方式针对下游拥塞率实施以下的公式:
v=x(z–u)/(z+y) (3)
其中:
x是所有再反馈使能流量(中性、正、负&取消)的比特率
y是未标记包(中性)的比特率
u是标记有拥塞但非再回响拥塞(负)的包的比特率
z是标记有再回响拥塞但非拥塞(正)的包的比特率
备选地,新公式以发现服从非常简单实现方式的方式表达:
v=x(1–(u+y)/(z+y))
=x(1–n/e), (4)
其中
n是未标记有再回响拥塞(非正标志)的包的比特率
e是为标记有拥塞(非负标志)的包的比特率
应当注意,上述内容在至少以下方面不同于现有技术:
-如果其他变量正确地正比于剩余流量,乘以x将不是必须的。
-除以e将使得公式精确而非近似,使得它对于高程度拥塞是更鲁棒的,否则高程度拥塞使得在现有技术中使用的近似无效。
应当理解,这不等价于涉及随机选择所有流量的样本或子集且然后按比例缩放测量以在所有流量方面获得估算测量的测量功能的技术。测量函数不选择子集。而是,子集通过包上现有标记指示。类似地,膨胀因子通过再反馈包上的某些现有标记的比例而不是测量函数选择的采样因子指示。
该解决方案比描述的指定方案更广泛地应用:
-它等价地询问具有两个状态的指示是否正常“清除”且可以“设置”为指示拥塞或反之亦然。
-它询问在互联网协议包或不同网络协议的包或帧中是否使用再反馈协议。
-它询问是否使用更复杂的编码(例如,如在[conex.mech]中),其中上面列举的4个主要类型的标记其中任意一个可以通过多于一个值编码。
-它询问上述公式是否变化成作为可能的包标记的不同子集的函数的其他等价公式。
-它询问作为下游拥塞的确定结果采用什么动作。例如,确定的测量可以用于根据合约监管流量、触发诸如指示下游拥塞程度超过阈值的警报之类的管理动作或考虑为网络运营商和客户端之间的合同部署的一部分。
-它询问从一个网络到另一网络的流量是否经过单个路径或潜在地在多个位置经过多个路径(这在国际专利WO2011/045553中讨论)。
-它询问是否采取附连点本地或与之远离的测量,也许使用头部封装来传达从附连点到测量点的度量(这在共同未决的欧洲申请EP10251106中进一步讨论,该申请在本申请的优先权日未公布)。
-它询问再反馈协议的完整性当前是否通过诸如在WO2005/109783中公开的真实监控器审计。然而,注意,再反馈协议的鲁棒安全性一般要求本规范化技术和审计功能二者。此处,区别在于规范化和审计独立运行,但是协议的完整性与二者相关。
-它询问再反馈信号是否通过源或代理(对于涉及再反馈的代理的使用的更多信息,见国际申请WO2010/106311和共同未决的欧洲申请EP10250693.8,它们在本申请的优先权日未公布)产生。
还应当理解,典型地,在独立数据单元上设置指示以指示数据单元“流”有多强或已经经历拥塞。如果数据单元不携带指示,它不一定表示独立数据单元未经历拥塞。尽管在每个数据单元方面编码可以是二元的,例如取决于设置为1的比例,信号可以是在包流上编码的在0和1之间的数字。
如果使用诸如在WO2006/079845中描述的叠加编码(其目标是促进现有互联网和联网实际中的递增部署),解决方案一般地可应用于再反馈。
附图说明
现在将参考附图描述本发明的优选实施方式,附图中:
图1示出典型网络的示意图;
图2示出如何可以使用Re-ECN协议测量下游拥塞;
图3说明使用Re-ECN协议测量下游拥塞的网络的上游网络(或其他实体)如何可以尝试破坏这种测量。这在上文被称为“攻击#1:极端上游拥塞”;
图4说明也在上文讨论的“攻击#2:具有两个标记的信号中毒”。
图5说明也在上文讨论的“攻击#3:与极端上游拥塞组合的切换负标记”;以及
图6示出根据本发明的优选实施方式从叠加编码测量下游拥塞的处理。
具体实施方式
尤其参考图6,现在将描述根据优选实施方式的方法。在该方法中,使用依赖于包上标记的算法从通过监控点的包流选择包。被选择包可以被认为标记有虚拟标记,然后虚拟标记包中的字节编码包流贡献于测量点多少下游拥塞。
一旦下游拥塞通过这些虚拟标记(虚拟)被编码到包流中,编码可以用于各种目的,例如:
(i)可以以代表可以通过发送包流的网络导致的下游拥塞的合约速率的速率从使用令牌填充的令牌桶得出每个虚拟标记包的字节大小。然后,只要桶为空,可以防止流量在合约拥塞率的基础上前进且突发大小被超过(详情请见WO2006/082443,[Jacquet08])。
(ii)虚拟标记包的字节大小可以被添加到发送(或接收)包的一方贡献的下游拥塞数量的计数。
(iii)具有虚拟标记的包的比特率可以被监控,且如果它超过阈值,则它可以触发管理动作来消除拥塞或采取其他动作来确立异常的原因。
下游拥塞容量的测量可以用于此处未明确列举的很多其他目的,就好像数据容量或数据比特率的测量可以用于各种目的一样。
在本发明的优选实施方式中,用于从流选择包以使得选择的包的大小编码下游拥塞的处理包含三个主要步骤,这些步骤在图6中示为大虚线方框:
(i)分类包:通过其标记(方框20)
(ii)更新移动平均:依赖于包分类(方框40)
(iii)下游拥塞算法:确定是否根据移动平均而非包的分类来选择包(方框50)。
该算法是尤其优选的,因为在包被分类之后,仅要求典型通用目的处理器的两个或三个循环操作来更新移动平均且每个包仅需要另外的两个循环来运行下游拥塞算法。因此,该优选算法仅要求每个包5或6个循环来到达可以选择认为被虚拟标记的包的点。
图6中说明的处理还使用如下的伪代码描述:
伪代码1:从叠加编码监控下游拥塞
上面的伪代码如下映射到图6中的流程图:
-初始化所有变量(步骤S10):行5至9
-读取下一包且对它进行分类,读取相关头部字段(步骤S22),尤其是扩展ECN字段(EECN)以确定re-ECN标记(步骤s24):行10-12
-取决于包分类,代码更新具有不同re-ECN标记的流量的相对速率的移动平均(步骤s42、s44、s46):行13-27
-核心下游拥塞算法(步骤s52、s54、s56、s57、s58):行28-33
-行34-36是用于对选择不使用再反馈协议的流量采取的行为的占位符。例如,这种流量可以是速率受限的(步骤s30)。
行28-33中的核心算法使用间隔变量r来选择通过测试“是否(r>0)”的包的比例(步骤s52)。通过测试(步骤s56)的这些包可以被考虑,就好像它们被赋予指示下游拥塞的虚拟标记一样。该示例算法用于计算拥塞容量,因此在行29中,给出虚拟标记的这些包的大小被添加到拥塞容量计数。如果算法用于根据下游拥塞的程度触发某一其他动作(步骤s57),在代码中的该点,该动作将被取代地或附加地调用。
核心算法如下工作。仅用于解释目的,考虑使用n和e的稳定值的情况。假设足够来回的用于变量r的“用于每个包”循环要返回到它早期持有的值,在此期间,算法分别通过和不通过“(r>0)”测试c次和b次。测试通过的c次中的每一次,r递减n且,它失败的b次中的每一次,r递减n且递增e。因此:
–cn+b(e–n)=0或b=cn/(e–n)。
下游拥塞b是算法选择的作为通过“(r>0)”测试的所有包容量比例的包容量。每次测试通过则选择包,因此下游拥塞是所有再反馈包的比特率膨胀作为所有测试(是否通过或失败)的比例通过测试数目的倍数:
v=x c/(c+b)
注意,因为算法随机从能够re-ECN的包进行选择,包可以被选择而不关注其大小。从上面带入b,
v=x c/(c+cn/(e–n))
=x/(1+n/(e–n))
=x(e–n)/e
=x(1–n/e),
其实际上是早先在等式(4)中需要选择的所有re-ECN包的分数(fraction)。
早先描述的算法成分A在行31和33实例化,其中内部变量r递增e且递减n,这等价于通过正包容量递增和通过负包容量递减。
早先描述的算法成分B主要在行28实例化,其中具有任意再反馈标记的包被认为是下游拥塞算法选择的候选,而不仅仅是具有指定再反馈标记的包。该功能性源于该算法成分作为整体的结构,使得不限制于该单行代码,而是行28是结构中的凸点。在图6中可以更好地看出,对于无论如何标记的所有再反馈包,控制流汇聚到“r>0”测试(步骤s52)。
早先描述的算法成分C主要在行31实例化,其中只要包未被选择,剩余变量r通过e递增,字节的比例仍未标记拥塞。只要r不足以有效选择包,对于r的该重复增加使得选择包的概率膨胀在再反馈包容量与仍未标记拥塞的这些包容量之间的比例的倍数。同样,功能性源于该算法成分作为整体的结构,尤其是在相关“else”子句中的该行的布置,且不限定为单行代码。而且行31是最终使用变量e的地方,但是较早代码行初始化且维持其值,使得它可以被使用。
注意在产品实现方式中,可能必须测试下游拥塞不为负(n≤e)),但是这种测试不被包括在伪代码中,以聚焦于主要实施目的而不是例外。
维持不同标记的容量的移动平均的伪代码仅是可以用于实施本发明的实施方式的很多技术其中之一。下面解释针对该实施方式选择的指定技术。
指数加权移动平均(EWMA)是可以非常有效地实施的精确平均技术。已知[RED]:EWMA可以仅使用三个处理器循环在二元计算机上使用,且针对每个平均更新无需乘法或除法,只要权重‘a’的值被选择为2的负整数幂,即a=2-j,其中j是整数(0<a≤1)。例如,权重‘a’可以选择为1/32或1/2。较小的权重使得移动平均较平滑,但是较慢地响应于被平均的值的序列中的变化。
任意变化值μ的EWMA可以通过以下已知算法维持:
其中移动平均的接下来的第i值通过获取变量μ的当前值和平均的第i-1个值的加权平均得出。公式可以重新布置为
在伪代码1(上文)中,维持两个EWMA n和e。它们分别代表中性或负字节以及中性或正字节的最新比率,二者均是所有三个标记的比率的比例。它们如何表达为比例是无关紧要的,只要它们均表达为相同事物的比例即可。这是因为,n和e的值仅彼此相对地使用。两个EWMA总是相同事件(中性、正和负包)上计时以确保它们保持如此。
对于维持EWMA n的示例,将被平均的字节数目在包为中性或负时为包大小s或在包为正时为0,因此代码运行为:
-对于中性或负包:n=n+a*(s-n)
-对于正包:n=n+a*(0-n)
这解释了伪代码1的行19、23和25。
上面两行可以使用以C编程语言编写的以下代码实施:
n+=(s-n)>>j
n-=n>>j,
其中j如上面所定义且>>是向右偏移操作符。第一行仅花费三个处理器循环且第二行仅花费两个循环。
在备选第二实施方式中,可以更新具有每个re-ECN标记的流量的相对速率而不使用移动平均。这等价于将指数加权移动平均公式的权重a设置为1。然后上面的伪代码1的行17至27可以使用下面的伪代码的提取来代替:
然而,尽管本实施方式减小了所需的处理器循环,它还使得攻击者更容易操纵包标记顺序,从而更有利于他。因此,这是较不优选的实施方式。
在备选第三实施方式中,没有正标志和没有负标志的流量的相对比率n和e可以计算为从相同标记的最后包开始的字节数目的倒数。例如,如果n是非正(负和中性)包的移动平均,则n′可以定义为从最后非正包开始的字节数目。类似地,e′可以定义为从最后非负(正、谨慎(Cautious)或中性)包开始的缝隙。然后,可以针对下游拥塞使用相同的算法,只不过使用e’代替n且使用n′代替e,因为下游拥塞
v=x(1–e′/n′)。
在备选第四实施方式中,算法不选择所有包,而是从被认为虚拟标记的包选择字节。
在备选第五实施方式中,算法不直接使用膨胀因子,即“所有再反馈包的容量相对于仅仍未标记拥塞的那些再反馈包的容量”(从早先讨论的优选实施方式的算法成分C的解释来引证)。而是,仍未标记拥塞的两个标记(中性和正)均被单独地用作膨胀因子,然后使用两个结果的最大值。如果下游网络不作弊,两个结果将给出相同的正确答案。而如果它试图作弊,它仅能减小一个膨胀因子且另一个总是必要地增加。因此,考虑两个膨胀因子的最大值从作弊去除任意优点。然后在上游网络中感兴趣的是:如果它希望最小化它看上去导致的拥塞数量,则它不作弊。
作为推论,算法成分B的描述需要稍微地从“然后算法从具有再反馈标记的所有包选择该分数,而不管其指定标记如何”修改为“然后算法每一半从具有指定再反馈标记的所有包选择该分数,使得算法整体地从具有再反馈标记的所有包选择,将两个半部分组合在一起”。
在翻新和扩展用于上面等式(3)的标记之后,现在得出第五实施方式的算术基础:
-x是所有再反馈使能流量(中性、正、负&取消)的比特率
-y是未标记包(中性)的比特率
-u是标记有拥塞但非再回响拥塞(负)的包的比特率
-z是标记有再回响拥塞但非拥塞(正)的包的比特率
-c是标记有再回响拥塞和拥塞(取消)的包的比特率
从等式(3),获得下游拥塞率:
v=x(z–u)/(z+y) (3)
在图2中可以看出,下面的中间的方形被分割成4个区域。在等式(3)中使用的膨胀因子x/(z+y)是其方形面积x与两个右手部分(z+y)的面积的比例。如果现在假设方形被切割成较低的两个部分的高度,可以看出,比例地,这与下面的两个部分(c+z)与右下部分z的面积的比例相同。因此,如果re-ECN协议被依附,比例地:
x/(z+y)=(c+z)/z (5)
类似地,对于方形的上面两个部分,再次比例地:
x/(z+y)=(u+y)/y (6)
尝试破坏下游拥塞测量的上游网络可以改变流量中标记的比例,但是如果下游网络布置功能来审计正字节数总是小于负字节数,则上游网络不具有完全的自由。给定这种审计约束,可以示出:减小等式(5)中的膨胀因子增加(6)中的膨胀因子,且反之亦然。因此,如果测量使用两个因子的最大值,如果两个因子相等且因此是正确的,则将得出最小膨胀因子。假设在上游网络中感兴趣的是减小下游拥塞测量,最佳选择将是不作弊且使用正确的标记。
因此,下游网络应当使用以下公式测量下游拥塞:
v=max((z–u)(c+z)/z,(z–u)(u+y)/y) (7)
下面我们给出可以输出等式(7)的max()函数的左手边部分结果的伪代码算法。代码输出下游拥塞容量的整体。其与上面的伪代码1的相似之处在于,它仅使用单个循环机器指令(相加、相减、比较&比特移位)以最小化处理成本。开发用于等式(7)的右手半边的类似算法将是类似的任务。
下面的算法采用了简单的技巧。不是使得(z-u)按照(c+z)/z膨胀,它使得(c+z)按照(1-u/z)紧缩,因为(z-u)(c+z)/z=(1-u/z)(c+z)。
伪代码2:从叠加编码监控下游拥塞
该算法广泛地和伪代码1同样地使用。(switch(eecn))逻辑内的分配根据包的扩展ECN标记是正还是负,针对最近的正和负标记z&u分别维持两个移动平均。在此之前,值是彼此相对无意义的。两个EWMA在相同事件(正或负标记)上计时以确保如此。
计算(1-u/z)(z+c)而不相除或相乘的部分处于最后两个嵌套“if”声明(行24-34)中。只要正或取消的包到达,它是用于计算下游拥塞的候选((z+c)项)。剩余变量r每次在候选出现时递增u,且只要它上升为大于z,则递减z。因此,r将针对候选的(1-u/z)上升且在候选的每个(u/z)锯齿状下降。它添加除了通过向下锯齿拣选的包之外所有候选包到下游拥塞容量的运行总数,所以它选择添加正或取消的包的(1-u/z)。
备选第六实施方式类似于前面的第五实施方式,只不过不是获得两个公式的最大值,一个或其他算法可能被随机地或可能以改变两个公式之间的算法选择的另一方式选择,使得攻击者不能预测或确定哪一个将在任意指定示例中使用(例如在任意指定时间或针对任意指定包)。然后,如果攻击者作弊,有时它将境况较好且有时境况较糟,但是整体地可以示出:如果它不能预测针对任意指定包将使用哪个公式,攻击者将最好不作弊。可以在逐个包的基础上做出两个公式之间的随机或其他变化选择,或者一个公式当它切换到另一公式时可以用于随机的持续时间。
Claims (13)
1.一种在节点方面确定指示下游路径拥塞的测量的方法,多个数据单元经由所述节点经过从发送器到接收器的端到端路径,每个所述数据单元具有:
第一指示,根据来自所述接收器的信息能够设置为至少两个状态中的每一个,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度;以及
第二指示,能够设置为初始状态,并且能够设置为指示数据单元在这些数据单元的从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;
该方法包括以下步骤:
在所述节点接收多个所述数据单元;以及
根据膨胀因子确定所述下游路径拥塞测量,该膨胀因子本身与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的集的比例相关。
2.根据权利要求1所述的方法,其中,根据所述膨胀因子和在所述节点接收的所述多个数据单元的总比特率的测量的乘积来确定所述下游路径拥塞测量。
3.根据权利要求1或2所述的方法,其中,所述膨胀因子与在所述节点接收的其第二指示处于所述初始状态的所述数据单元的所述集的比例的倒数成比例。
4.根据权利要求1所述的方法,其中,使用来自预定算法的集的算法执行所述确定,所述预定算法的集确保所述下游路径拥塞测量基本独立于具有第一指示和第二指示二者的数据单元的数目和/或比例,所述第一指示设置为指示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度处于或高于预定的端到端拥塞阈值,且所述第二指示设置为指示数据单元在这些数据单元的从所述发送器到所述节点的路径上经历的拥塞程度处于或高于预定的上游拥塞阈值。
5.根据权利要求1所述的方法,其中,根据接收的数据单元的第一指示和第二指示中的一个或二者被设置的状态,根据多个预定分类对所述接收的数据单元进行分类,且其中,根据至少两个相应计数确定所述下游路径拥塞测量,所述两个相应计数中的第一个计数指示分类为第一预定分类的所述数据单元的容量的测量,且所述两个相应计数中的第二个计数指示分类为不同于所述第一预定分类的第二预定分类的所述数据单元的容量的测量。
6.根据权利要求5所述的方法,其中,所述多个预定分类中的至少一个被定义为包括数据项,而与这些数据项的第一指示或第二指示被设置的状态无关。
7.根据权利要求1所述的方法,其中,根据预定算法确定下游路径拥塞的所述测量,依赖于:
第一测量,其代表如此的数据单元的比特率,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及
第二测量,其代表如此的数据单元的比特率,即,这些数据单元的第二指示表示这些数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
8.根据权利要求1所述的方法,其中,根据以下公式确定下游拥塞率“v”:
v=x(1–n/e)
其中:
“x”代表遵循协议的由所述节点接收的所有数据单元的比特率,由此,所述数据单元具有第一指示和第二指示,所述第一指示根据来自所述接收器的信息能够设置为至少两个状态中的每一个状态,由此指示所述接收器以前接收的数据单元在所述端到端路径上经历的不同拥塞程度,且所述第二指示能够设置为初始状态,并且能够设置为指示数据单元在这些数据单元的从所述发送器到所述节点的路径上经历的拥塞的至少一个更新状态;
“n”代表如此的所述数据单元的比特率,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定阈值;以及
“e”代表如此的所述数据单元的比特率,即,这些数据单元的第二指示表示数据单元在其从所述发送器到所述节点的路径上经历的拥塞程度低于预定阈值。
9.根据权利要求1所述的方法,其中,根据两个预定计数中的一个或二者确定所述膨胀因子,所述两个预定计数被选择为使得:第一指示和第二指示被设置的方式的变化将导致:如果使用依赖于所述两个预定计数中的一个计数的膨胀因子做出确定,则确定较高的下游路径拥塞测量,如果使用依赖于所述两个预定计数中的另一个计数的膨胀因子做出确定,则确定较低的下游路径拥塞测量。
10.根据权利要求9所述的方法,该方法包括:使用所述预定计数中的提供指示较高的下游路径拥塞量的测量的任一个来确定下游路径拥塞的测量。
11.根据权利要求9所述的方法,该方法包括:在一些实例中使用根据所述预定计数中的一个计数确定的膨胀因子且在其它实例中使用根据所述预定计数中的另一个计数确定的膨胀因子来确定下游路径拥塞的测量。
12.根据权利要求1所述的方法,其中,根据以下两个计数中的一个或二者来确定所述膨胀因子:
(i)指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度高于预定的端到端阈值,且这些数据单元的第二指示处于所述初始状态;以及
(ii)指示在所述节点接收的如下的所述数据单元的集的比例的计数,即,这些数据单元的第一指示表示所述接收器以前接收的数据单元在所述端到端路径上经历的拥塞程度低于预定的端到端阈值,且这些数据单元的第二指示处于所述初始状态。
13.根据权利要求1所述的方法,其中,关于特定的数据单元的所述第一指示和所述第二指示能够彼此独立地设置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11250620A EP2541850A1 (en) | 2011-06-30 | 2011-06-30 | Determining path congestion measures |
EP11250620.9 | 2011-06-30 | ||
GB201122006A GB201122006D0 (en) | 2011-12-20 | 2011-12-20 | Determining path congestion measures |
GB1122006.8 | 2011-12-20 | ||
PCT/GB2012/000562 WO2013001271A1 (en) | 2011-06-30 | 2012-06-29 | Determining path congestion measures |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103814555A CN103814555A (zh) | 2014-05-21 |
CN103814555B true CN103814555B (zh) | 2017-02-22 |
Family
ID=46456926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280042117.5A Active CN103814555B (zh) | 2011-06-30 | 2012-06-29 | 确定路径拥塞测量 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9344368B2 (zh) |
EP (1) | EP2727284B1 (zh) |
CN (1) | CN103814555B (zh) |
WO (1) | WO2013001271A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2727284B1 (en) * | 2011-06-30 | 2018-06-06 | British Telecommunications public limited company | Determining path congestion measures |
IN2014KN01349A (zh) * | 2011-11-29 | 2015-10-16 | Ericsson Telefon Ab L M | |
CN106444387A (zh) * | 2016-12-02 | 2017-02-22 | 国家电网公司 | 双自由度拥塞控制方法及装置 |
CN111130923B (zh) * | 2019-11-29 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 网络带宽确定方法、装置、电子设备及存储介质 |
US20220078119A1 (en) * | 2020-12-17 | 2022-03-10 | Intel Corporation | Network interface device with flow control capability |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6037305A (en) | 1997-03-03 | 2000-03-14 | Rhodia Chimie | Use of Ce/Zr mixed oxide phase for the manufacture of styrene by dehydrogenation of ethylbenzene |
US6221941B1 (en) | 1997-09-11 | 2001-04-24 | Colorado State University Research Foundation | Weakly coordinating anions containing polyfluoroalkoxide ligands |
US7734808B1 (en) * | 2001-12-18 | 2010-06-08 | Cisco Technology, Inc. | End-to-end congestion control in a Fibre Channel network |
US20070115814A1 (en) * | 2003-03-29 | 2007-05-24 | Regents Of The University Of California, The | Method and apparatus for improved data transmission |
GB0407144D0 (en) | 2004-03-30 | 2004-05-05 | British Telecomm | Networks |
GB0410254D0 (en) | 2004-05-07 | 2004-06-09 | British Telecomm | Processing of data in networks |
DE602006011125D1 (de) | 2005-01-31 | 2010-01-28 | British Telecomm | Steuerung eines datenflusses in einem netzwerk |
KR101228288B1 (ko) | 2005-02-07 | 2013-01-30 | 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 | 네트워크 감시 방법 및 그 장치 |
US7850857B2 (en) | 2005-04-05 | 2010-12-14 | Tucker Randall L | Collector with adjustable input/discharge to control sediment removal |
US7724660B2 (en) * | 2005-12-13 | 2010-05-25 | Alcatel Lucent | Communication traffic congestion management systems and methods |
EP1873968A1 (en) * | 2006-06-26 | 2008-01-02 | BRITISH TELECOMMUNICATIONS public limited company | Monitoring networks |
US7742416B2 (en) | 2006-11-30 | 2010-06-22 | Cisco Technology, Inc. | Control of preemption-based beat-down effect |
US8520517B2 (en) * | 2007-02-21 | 2013-08-27 | Broadcom Corporation | Switch fabric end-to-end congestion avoidance mechanism |
US7936697B2 (en) * | 2007-08-30 | 2011-05-03 | Bae Systems Information And Electronic Systems Integration Inc. | Topology aware MANET for mobile networks |
US8407364B2 (en) * | 2007-10-25 | 2013-03-26 | Cisco Technology, Inc. | Apparatus and method for providing a congestion measurement in a network |
JP2012506016A (ja) | 2008-10-17 | 2012-03-08 | イートン コーポレーション | 油圧システムのバルブを制御する作動装置及び方法 |
EP2230803A1 (en) | 2009-03-16 | 2010-09-22 | BRITISH TELECOMMUNICATIONS public limited company | Path characterisation in networks |
EP2234346A1 (en) * | 2009-03-26 | 2010-09-29 | BRITISH TELECOMMUNICATIONS public limited company | Policing in data networks |
EP2282458A1 (en) | 2009-07-17 | 2011-02-09 | BRITISH TELECOMMUNICATIONS public limited company | Usage policing in data networks |
EP2468036B1 (en) * | 2009-12-23 | 2019-06-19 | Nec Corporation | A method for resource management within a wireless network and a wireless network |
US8693320B2 (en) | 2010-01-11 | 2014-04-08 | Research In Motion Limited | Congestion level indication with explicit congestion notification in communication systems |
GB201003206D0 (en) * | 2010-02-25 | 2010-04-14 | Skype Ltd | Method of estimating congestion |
US9001663B2 (en) | 2010-02-26 | 2015-04-07 | Microsoft Corporation | Communication transport optimized for data center environment |
WO2011120581A1 (en) * | 2010-03-31 | 2011-10-06 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion handling in a communication network |
US8982694B2 (en) * | 2010-09-01 | 2015-03-17 | Telefonaktiebolaget L M Ericsson (Publ) | Localized congestion exposure |
WO2012101763A1 (ja) * | 2011-01-25 | 2012-08-02 | 富士通株式会社 | 通信装置、通信システム、通信方法、および通信プログラム |
US20120236715A1 (en) * | 2011-03-17 | 2012-09-20 | D & S Consultants, Inc. | Measurement Based Admission Control Using Explicit Congestion Notification In A Partitioned Network |
EP2727284B1 (en) * | 2011-06-30 | 2018-06-06 | British Telecommunications public limited company | Determining path congestion measures |
-
2012
- 2012-06-29 EP EP12731610.7A patent/EP2727284B1/en active Active
- 2012-06-29 WO PCT/GB2012/000562 patent/WO2013001271A1/en active Application Filing
- 2012-06-29 CN CN201280042117.5A patent/CN103814555B/zh active Active
- 2012-06-29 US US14/130,153 patent/US9344368B2/en active Active
Non-Patent Citations (1)
Title |
---|
"Re-feedback: Freedom with Accountability for Causing Congestion in a Connectionless Internetwork";Robert Briscoe;《伦敦大学博士学位论文》;20090515;第16、78-79、161-162页 * |
Also Published As
Publication number | Publication date |
---|---|
US9344368B2 (en) | 2016-05-17 |
EP2727284A1 (en) | 2014-05-07 |
US20140140234A1 (en) | 2014-05-22 |
WO2013001271A1 (en) | 2013-01-03 |
EP2727284B1 (en) | 2018-06-06 |
CN103814555A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103814555B (zh) | 确定路径拥塞测量 | |
CN103999414B (zh) | 一种归因针对相应用户寄存器的共享资源的拥塞贡献的方法和装置 | |
CN109792409A (zh) | 用于在拥塞事件期间丢弃消息的方法、***和计算机可读介质 | |
CN102497362B (zh) | 异常网络流量的攻击源追踪方法及装置 | |
US9231876B2 (en) | User traffic accountability under congestion in flow-based multi-layer switches | |
EP1844583B1 (en) | Control of data flow in a network | |
US10243828B2 (en) | Managing connections for data communications using heartbeat messaging | |
CN105681213A (zh) | 信息中心联网中的跟踪排队延迟和执行相关的拥塞控制 | |
CN109428742A (zh) | 基于时延传输路径控制方法、网络控制器和*** | |
CN104335526B (zh) | 用于数据传送路径的可用路径容量的改进的估计的方法和节点 | |
EP2027672B1 (en) | Stateless call admission and call preemption with a single metering and marking scheme | |
CN101507182A (zh) | 用于快速通信量测量和监控的网络节点和方法 | |
CN104995883B (zh) | 用信号通知拥塞的方法 | |
CN102356601A (zh) | 网络中的路径特性 | |
US20150236955A1 (en) | Congestion Notification in a Network | |
WO2010069481A1 (en) | Method and devices for performing traffic control in telecommunication networks | |
CN109831508A (zh) | 一种缓存方法及设备、存储介质 | |
CN108243117A (zh) | 一种流量监控方法、装置及电子设备 | |
Rastogi et al. | Comparative analysis of queuing mechanisms: droptail, red and nlred | |
Menth et al. | Active queue management based on congestion policing (CP-AQM) | |
Domanski et al. | The Fluid Flow Approximation of the TCP Vegas and Reno Congestion Control Mechanism. | |
CN101110753A (zh) | 基于拥塞预警的端到端的质量保证方法及*** | |
CN107147585A (zh) | 一种流量控制方法及装置 | |
EP2541850A1 (en) | Determining path congestion measures | |
Du et al. | Nonlinear stability analysis for active queue management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |