数据网络、赋予和提供路径特性描述量度的方法和反馈节点的制作方法

文档序号:7634535阅读:162来源:国知局
专利名称:数据网络、赋予和提供路径特性描述量度的方法和反馈节点的制作方法
技术领域
本发明涉及网络,例如,诸如互联网的数据网络,并涉及网络中的路由。本发明涉及ad hoc网络并涉及固定网络,涉及可以是其他更大网络的一部分的网络,涉及诸如内联网的有界网络,并且涉及诸如互联网的无界网络。本发明涉及用于传送信息或其他资源的网络,所述信息或其他资源可以是数字或模拟形式的,并且可以是分组或非分组形式的。更具体地,本发明的多个方面涉及用于提供信息或用于促进信息提供的方法和系统,所述信息可用于描述通过网络的路径的特性,并且本发明涉及该信息的使用。这种信息的应用与对通过网络转发的数据的处理相关,具体地,与对通过网络的数据和其他项目进行的路由相关,并且与确定沿通过网络的路径的能力的存在相关,与针对网络用户的收费、优先级、服务质量和拥塞问题相关。
背景技术
通常,将诸如互联网的网络中的数据按块从源发送至目的地,通常将块称为分组或数据报,这些术语通常可以互换地使用。为了使得能够经由互联网在源点与目的地点之间进行通信而不考虑它们之前是否进行过通信,使用被称为网际协议(IP,Internet Protocol)的协议。这是一种由源和目的地主机或服务器使用的面向数据的协议,用于通过分组交换网络来传送数据,从而确保在作为源的主机试图向作为所期望的目的地或所期望的多个目的地的主机发送分组之前不需要任何特定的设置处理,而不论它们之前是否进行过通信,也不论所传送的数据的类型如何。网际协议是一种涉及在与分组相关的“头部”中如何以特定的方式包含特定类型的信息的协议。其先于分组中的数据,并使得这些数据可以经由互联网从源被路由到正确的目的地。
网际协议头部参照图1,与符合网际协议的当前版本(被称为IPv4)的数据报相关联的头部包括表示该版本的最开始的4位字段。第二字段是4位“互联网头部长度”(IHL,Internet Header Length)字段,其表示IPv4头部中的32位字的数量。接下来的8位已被分配给包含6位区分服务代码点(DSCP,Differentiated Service Code Point)和2位“显式拥塞通知”(ECN,Explicit Congestion Notification)字段的“区分服务”字段。DSCP使得可以指定当数据报通过网络时如何对其进行处理(例如,低延迟、高优先级等)。ECN字段按照概率设置在拥塞资源处,以使得目的地可以通过一系列分组推断所通过路径的拥塞级别。接下来的16位IPv4字段以8位字节定义了包括头部和数据在内的整个数据报大小。最小长度数据报为20字节而最大长度数据报为65535字节。
下一字段为16位“识别”字段。该字段主要用于唯一识别原始IP数据报的片段。已经建议可以将该字段用于其他目的,例如用于向数据报添加分组跟踪信息。其后的3位“标志”字段用于控制或识别这些片段。其后是13位“片段偏移字段”,其使得接收者可以确定特定片段在原始IP数据报中的位置。
下一字段为8位“生存时间”(TTL,Time-To-Live)字段,其目的在于防止数据报在网络内继续存在(例如,在环路中来回)。在历史上,TTL字段以秒为单位来限定数据报的寿命,但是其已变为“跳计数”字段,并通过使得它们自己看上去像多跳的方式,使用在长距离上的多个跳来进行保持最初的含义的某些尝试。该值可以初始地设定为255。该数据报所通过的各个分组交换机(或路由器)都使该TTL字段递减一(或者在与长距离链路的接口处可以递减更多)。如果TTL字段在到达其期望目的地之前变为零,则分组交换机不再转发该分组,由此将该分组丢弃。
接下来是8位协议字段。该字段定义了在IP数据报的数据部分中要使用的下一个协议。互联网赋号授权(Internet Assigned NumbersAuthority)保持协议号的列表。公共协议包括ICMP、TCP和UDP。
IPv4数据报头部中接下来的字段是16位“校验和”字段。IPv4数据报头部中的某些值可能在每次分组交换跳跃时发生改变,所以可能需要求和校验在其通过网络的路径上进行调节。求和校验之后分别是32位“源地址”和32位“目的地地址”字段。
目的地地址字段之后可以有多个附加头部字段(被称为“可选项”),但是这些字段不常用。
网络中的可靠性应该注意,网际协议本身并不提供或保证可靠的数据报服务,而是“尽力(best effort)”服务一其几乎不保证分组会到达它们的目的地。分组可能以受损、乱序、复制的状态到达,或者可能被完全丢弃。为了提供网络中的可靠性,还可以有“传送”层。它负责端到端错误恢复和流控制,并且其目的在于确保完整的数据传送,尽管由于与容量、基础设施问题、滥用等相关的各种原因中的任何原因,仍无法保证完整的数据传送。在IP协议栈中,该功能是通过面向连接的传输控制协议(TCP,Transmission Control Protocol)来实现的。另选地,可以通过用户数据报协议(UDP,User Datagram Protocol)来提供基本的数据报协议。
网络中的路由在网络中的源点与目的地点之间,通常存在多个中间点,这些中间点中的某些是主动(active)的,因为它们可以在与路由(可以通过该路由将它们接收到的数据朝向目的地转发)有关的决策中起作用。在互联网的环境下,这些中间点可以被称为分组交换机,或互联网路由器。其他中间点可以是被动的,因为它们不参与该决策—数据可以在其通过网络的路径上简单地通过它们。在以上意义上为“主动”中间点,可以查看数据中的信息或与数据相关联的信息,特别是目的地地址,以确定随后的路径,或者至少该数据为了朝向其目的地前进而应当采取的路径的下一支路(leg)。除了对于特定数据项的这种决策以外,中间点还可以彼此连续地进行通信,以共享与网络状态有关的信息。通常这种信息涉及到各个目的地网络的跳数,并且可以包括其他信息,例如与一个网络是否希望提供到另一个网络的路由转接相关的策略。中间点还可以连续地共享与更多病态网络状态有关的信息,例如基础设施问题、拥塞级别和在网络内的不同区域处发生的延迟。应该注意,网络的环境中的“区域”不必是地理上的区域,或者甚至不必是物理上互连的一组节点的含义—它们可以是覆盖真实物理链路的虚拟网络中的连通性区域,这些区域仅具有要执行的功能或要提供的服务,与互联网几乎一样,是覆盖下层物理链路的虚拟链路的网络。
可以进行路由决策来平衡网络的不同区域上的负载,或者对问题区域周围的数据进行路由。除此以外,如果网络运行在商业基础上,并对所提供的服务进行收费,则可以进行路由决策,以找到通过该网络的最廉价的、最快的或者最可靠的路由。与此相关,操作或者已经提出了各种方案(例如“拥塞收费”方案),来确定可以或者应当收取多少这种费用,但是在创建可工作和公平的系统时存在重要的问题,至少是因为,对于离开发送者并到达其目的地的数据分组,可能需要通过可能为各种不同类型(即,固定的、ad hoc等)的一个或更多个网络中的多个部分。这些网络可能通过多个不同的国家或经由卫星而延伸,在不同实体的控制下,或者符合各种不同的规则设置(技术上和法律上的)。对于在这种环境下成功操作的收费方案,可能需要能够在不考虑实体之间的信任级别的情况下进行操作,并且可能需要能够抵抗所涉及的任意实体的滥用或他们的不诚实行为。
已经提出了基于显式拥塞通知(ECN)字段的收费方案。如果发送者(在与接收者进行协商后)使能ECN能力,则将2位ECN字段初始化为01或10(其被认为对于拥塞控制的目的是相当的)的二进制值。可以在概率上根据数据分组所通过的任意路由器当前所经历的拥塞的级别,来通过该路由器将ECN字段设为二进制11(经历拥塞-CE,CongestionExperience)。当数据到达其目的地时,被设定为CE的分组的相对比例可以向接收者提供这些数据通过所述网络所经过的路径上的拥塞的总体级别的指示。这可以解释为与经由该特定路径传送数据相关的“成本”,该特定路径可以被分配给接收实体、发送实体或者一个或更多个其他实体。无论任意实体是否真正进行了考虑,对于接收者可用的信息也可以在允许要进行的路由决策中使用。然而,应该注意,对于根据最终值采取任意动作或决策的任意其他实体,它们通常需要能够根据接收实体来传送正确的信息。
在支持使用以上类型的拥塞收费的文献中,通过争论将发送者与接收者之间的安排作为一个单独问题讨论,已经基本上解决了仅接收者能够支付拥塞费用或直接依赖基于显式拥塞通知数据的信息的问题。该问题被用作反对拥塞收费的论据,但是上述文献中没有给出解决该问题的尝试。

发明内容
在以下方面,诸如数据报网络的网络中的发送者可以被认为是主动的,而接收者可以是被动的。能够发送数据项的节点可能能够控制其所发送的内容、试图将这些内容发送至何处、以及多久发送这些内容一次,但是几乎不对接收的内容、从哪接收以及多久接收数据报一次进行控制。另一方面,发送者通常位于获知它将数据所发送到的网络的最差的自然位置,而接收数据的节点可能至少具有能够接收描述到达数据所采取的路径的特性的信息(路径拥塞、跳转等)的益处。在这一方面,可以认为发送者具有控制而无知识,而接收者具有知识而无控制。因此,接收者需要向发送者提供与其获知的路径知识相关的反馈,以将路径知识传送到控制所在处。互联网目前就是这么工作的。这里存在两个问题(i)如果接收者没有反馈该信息的动机,并且诚实地反馈该信息,则它完全可以不这样做;(ii)中间节点既是接收者又是发送者(在转发仅是将所接收的内容发送出去的意义上),但是端到端反馈仅将路径知识传送给该路径上的第一发送者,而不将路径知识传送给每个中间发送者。尽管互联网基于端到端原理(其中不希望对中间节点进行智能控制),但是通常希望这些中间节点根据路由信息进行智能转发决策,该路由信息实质上应当包括下游路径的知识。还希望这些中间节点按照它们转发不同类型数据的速率来进行决策,该速率理想地也通过下游路径知识来通知。
如下面将更详细说明的,本发明的实施例使得可以为这些问题当中的可以被认为独立但相关的两个一般性问题之一或两者提供解决方案。这些问题可以概括如下1)如何安排从这些节点向描述下游路径的特性的节点提供信息;以及2)如果防止该信息被伪造。
根据本发明,提供了一种数据网络,该数据网络包括提供者节点、接收者节点和多个中间节点,提供者节点被设置用于向所述中间节点的至少一个或者向接收者节点提供数据,所述中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给接收者节点,而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据;其中所述数据包括与路径特性描述量度相关的至少一部分;所述提供者节点被设置用于将初始状态赋予与由该节点提供的数据相关的路径特性描述量度;所述中间节点被设置用于对与它们所转发的数据相关的路径特性描述量度的状态进行更新;所述接收者节点被设置用于使提供者节点可以得到以下信息,该信息表示与由所述接收者节点接收的数据相关的路径特性描述量度的状态与该路径特性描述量度的预定目标状态之间的差异;并且其中所述提供者节点被设置为在其从所述接收者节点接收到表示这种差异的信息的情况下,将不同的初始状态赋予与由其提供的后续数据相关的路径特性描述量度。
与此相对应,还提供了一种用于向数据网络中的数据赋予路径特性描述量度的方法,该数据网络包括提供者节点、接收者节点和多个中间节点,该提供者节点被设置用于向所述中间节点中的至少一个或者向接收者节点提供数据,所述数据包括与路径特性描述量度相关的至少一部分,所述中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给接收者节点,而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据;该方法包括以下步骤
将初始状态赋予与由所述提供者节点提供的数据相关的路径特性描述量度;对与由所述中间节点转发的数据相关的路径特性描述量度的状态进行更新;对与由所述接收者节点接收的数据相关的路径特性描述量度的最终状态进行监测,并确定表示所述最终状态与路径特性描述量度的预定目标状态之间的差异的度量(measure);以及在所述度量表示与以前的数据相关的这种差异的情况下,将不同的初始状态赋予与由所述提供者节点提供的后续数据相关的路径特性描述量度。
与上述密切相关地,还提供了一种使得能够将初始状态赋予与要通过数据网络转发的数据相关的路径特性描述量度的反馈节点,所述数据网络包括提供者节点、接收者节点和多个中间节点,所述数据包括与路径特性描述量度相关的至少一部分;所述提供者节点被设置用于向与数据相关的路径特性描述量度赋予初始状态,并将所述数据提供给所述中间节点中的至少一个或者提供给所述接收者节点;所述中间节点被设置用于从所述提供者节点或者从一个或更多个其他中间节点接收数据,对与由它们接收的数据相关的路径特性描述量度的状态进行更新,并将数据转发给至少一个其他中间节点或者转发给所述接收者节点;而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据,并使得反馈节点可以得到有关与其接收到的数据相关的路径特性描述量度的信息;其中所述反馈节点被设置用于,在所述反馈节点接收到表示所述路径特性描述量度的预定目标状态与和由所述接收者节点接收的以前数据相关的路径特性描述量度的状态之间的差异的信息的情况下,使得能够将不同的初始状态赋予与由所述提供者节点提供的后续数据相关的路径特性描述量度。
与此相对应,还提供了一种在数据网络中提供数据的方法,该数据网络包括提供者节点、接收者节点和多个中间节点,所述提供者节点被设置用于向所述中间节点中的至少一个或者向所述接收者节点提供数据,所述数据包括与路径特性描述量度相关的至少一部分;所述中间节点被设置用于从所述提供者节点或从一个或更多个其他中间节点接收数据,对与它们接收的数据相关的路径特性描述量度的状态进行更新,并将数据转发给至少一个其他中间节点或者转发给所述接收者节点;而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据,并使得提供者节点可以得到以下信息,该信息表示与由其接收到的数据相关的路径特性描述量度的最终状态与该路径特性描述量度的预定目标状态之间的差异;该方法包括以下步骤向与数据相关的路径特性描述量度赋予初始状态;向所述中间节点中的至少一个提供所述数据;接收有关与所述接收者节点接收到的以前提供的数据相关的路径特性描述量度的所述最终状态的信息;以及在接收到表示路径特性描述量度的所述最终状态与路径特性描述量度的预定目标状态之间的差异的信息的情况下,向与后续数据相关的路径特性描述量度赋予不同的初始状态。
应该理解,根据优选实施例,提供者节点或接收者节点还可以作为“反馈节点”(即,反馈节点不必是如上所述的网络的提供者节点、中间节点和接收者节点以外的节点)。然而,是提供者节点还是接收者节点作为反馈节点会影响到它如何使得能够赋予不同的初始状态。
通常,应该理解,针对路径特性描述量度的变量“状态”和“预定目标状态”通常是多个值,其示例在下面详细提供。然而,可以预见,本发明的特定实施例还可以使用其本身不是值的类型的状态,例如,光网络中的光信号的幅值或相位。
以上实施例使得可以实现以下操作1)向网络中的节点提供路径特性描述信息,所述信息与所关心的节点下游的一条或多条路径的各种可能特性中的任何一个相关。为实现该操作,可以不需要上游通信量超过从数据的目的地端到端地反馈到适当源的通信量。这在路由为非对称的情况下尤其有用,特别是在不可能通过特定的单向链路(例如,卫星链路)向上游发送数据的情况下。但是在可以通过去除路由信息的开销来增大可用容量的情况下也很有用。
2)对于控制任意中间节点或端节点的个体的收益,确保可以防止诸如上述的信息被伪造。
本发明的实施例自然可应用于数据报网络或分组网络(互联网或光分组网络),但是也存在各种其他可能的应用领域。
显然,尽管路径特性描述量度可以利用其相关的(例如,数据分组的头部中的)数据项有效地通过网络“行进”,但是例如根据网际协议的最新版本,不必是这种情况。通过数据网络的路径可以只是虚拟数据信道,而无需将任何路径特性描述信息的“位置”(在该信息确实具有位置的情况下)限制在该信道内。例如,许多网络技术将控制信息与其所参照的数据分离。使用独立的协议(其参照它们进行特性描述的相关数据信道),在独立的消息中传送诸如特性描述路径的控制信息。某些控制信息甚至在与数据转发设备不同的控制设备之间的独立物理链路上传送。更一般地,在同一物理链路上的独立虚拟电路中传送控制信息。因此,上述本发明的变型例可以远离网络来执行路径特性描述,而不是在网络内执行。
因此,根据本发明的变型例,提供了一种用于向网络中的节点提供路径特性描述信息的方法,所述网络包括多个节点,该多个节点包括提供者节点、接收者节点和至少一个中间节点,该提供者节点被设置用于向至少一个中间节点或者向接收者节点提供数据,中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给接收者节点,而该接收者节点被设置用于从所述提供者节点或者从至少一个中间节点接收数据;该方法包括以下步骤在所述提供者节点提供数据的情况下,向路径特性描述量度赋予初始状态,所述路径特性描述量度与所述数据相关联;在中间节点接收到所述数据的情况下,对所述路径特性描述量度的状态进行更新;在所述接收者节点接收到所述数据的情况下,确定所述路径特性描述量度的最终状态;以及确定所述路径特性描述量度的最终状态与预定目标状态之间是否存在差异;其中,在确定为所述最终状态与所述预定目标状态之间存在差异的情况下,所述方法还包括以下步骤在所述提供者节点随后提供了进一步的数据的情况下,向进一步的路径特性描述量度赋予不同的初始状态,所述进一步的路径特性描述量度与所述进一步的数据相关联;在中间节点接收到所述进一步的数据的情况下,对所述进一步的路径特性描述量度的状态进行更新;以及使得所述中间节点可以得到表示所述经更新的状态的信息。
应该注意,如果除了表示进一步的路径特性描述量度的经更新状态的信息以外,还使得中间节点可以得到与以前的路径特性描述量度的最终状态和所述预定目标状态之间的差异相关的信息,则还可以使得可以得到与根据以上方法(该方法使得可以推导与下游路径相关的信息)使得中间节点可得到的信息相对应的信息,而不需要向进一步的路径特性描述量度赋予不同的初始状态。使用这两条信息,对于特定的中间节点,可以类似地推导出与下游路径相关的信息。
因此,根据本发明的另一变型例,还提供了一种用于向网络中的节点提供路径特性描述信息的方法,所述网络包括多个节点,该多个节点包括提供者节点、接收者节点和至少一个中间节点,提供者节点被设置用于向至少一个中间节点或者向接收者节点提供数据,中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给接收者节点,而接收者节点被设置用于从提供者节点或者从至少一个中间节点接收数据;该方法包括以下步骤在所述提供者节点提供数据的情况下,向路径特性描述量度赋予初始状态,所述路径特性描述量度与所述数据相关联;在中间节点接收到所述数据的情况下,对所述路径特性描述量度的状态进行更新;
在所述接收者节点接收到所述数据的情况下,确定所述路径特性描述量度的最终状态;以及确定所述路径特性描述量度的最终状态与预定目标状态之间是否存在差异;其中,在确定为所述最终状态与所述预定目标状态之间存在差异的情况下,所述方法还包括以下步骤在所述提供者节点随后提供了进一步的数据的情况下,向进一步的路径特性描述量度赋予初始状态,所述进一步的路径特性描述量度与所述进一步的数据相关联;在中间节点接收到所述进一步的数据的情况下,对所述进一步的路径特性描述量度的状态进行更新;以及使得所述中间节点可以得到表示所述经更新的状态的信息;以及使得所述中间节点可以得到与以前的路径特性描述量度的最终状态和所述预定目标状态之间的差异相关的信息。
还提供了与以上两种方法相对应的用于提供与数据网络相关联的路径特性描述信息的系统。
应该注意,尽管有必要以各种方式来定义本发明,但是在所有定义之间存在统一的概念,即,所有定义都使得可以将信息用于与决策相关的应用,该决策与节点相关,这种信息与该特定节点的以前使用过的下游路径的特性相关,但是除了从接收者节点到提供者节点的信息以外,无需将信息向上游传送。所有定义都要求提供者节点对于进一步的中间节点重新插入其通过反馈(该反馈涉及到其最近使用的返回到网络的路径)获知的信息,以作为与数据相关的控制信息进行转发,该控制信息是在数据分组的头部传送或者在独立的控制消息中传送的。
参照本发明所有上述方面,应该注意,在本发明的上下文中,“网络”不必是整个内联网、互联网,或者任何特定的有界或无界网络。对于本发明的目的,“网络”可以是另一更大的网络的一部分。类似地,“提供者节点”不必是负责产生任何数据的节点。在其对从别处接收的数据进行转发的意义上来讲,它本身可以被提供数据。根据“提供者节点”不同于另一节点的特征可以仅是在本发明的以上描述中阐述的。同样,“接收者节点”不必是数据的所期望的最终目的地。从“提供者节点”经由任意中间节点到“接收者节点”的路径可以仅是从数据的产生源到其期望的最终目的地的总路径的子部分。
在这点上,只要隧道端点之间可以存在反馈流,本发明的实施例就可以像应用于隧道及其端点内的数据一样,应用于在两个隧道端点之间进行了隧道化(tunnelled)的数据流。
已经提交了要求同一英国专利申请GB0407144.5的优先权的共同未决国际专利申请,并且要求保护相关的发明。该相关发明(下面将简要概述)涉及对数据网络中的数据进行路由。在进行路由决策或者与网络中的数据的处理相关的其它决策时,诸如根据上述方法获得的路径特性描述信息能够由网络中的中间节点使用。如果这些中间节点能够根据它们接收到的路径特性描述信息中得到适当的信息,则这种决策可以基于比以前可能的信息更直接相关、更有用和更新的信息。
因此,根据该共同未决申请最初提交的权利要求,提供了一种用于对数据网络中的数据的处理进行控制的中间节点,该数据网络包括所述中间节点、至少一个上游节点,以及多个下游节点,所述上游节点或所述多个上游节点之一被设置用于向所述中间节点提供数据,所述上游节点或所述多个上游节点之一被设置用于所述中间节点提供路径特性描述信息,而所述下游节点被设置用于经由下游路径从所述中间节点接收数据;所述中间节点包括用于从上游节点接收数据的装置;用于从上游节点接收路径特性描述信息,并从该路径特性描述信息得到表示所述中间节点的下游路径的特性信息的装置;被设置用于根据表示下游路径的所述特性的所述信息,选择对要在下游路径上转发的数据进行处理的优选方式的装置;以及用于根据所述优选方式将数据转发到下游节点的装置。
与此相对应,该共同未决申请最初提交的权利要求还涉及一种用于对数据网络中的要从中间节点转发的数据的处理进行控制的方法,该数据网络包括所述中间节点、至少一个上游节点、以及多个下游节点,该上游节点或多个上游节点之一被设置用于向所述中间节点提供数据,该上游节点或多个上游节点之一被设置用于所述中间节点提供路径特性描述信息,而所述下游节点被设置用于经由下游路径从所述中间节点接收数据;所述方法包括以下步骤从上游节点接收数据;从上游节点接收路径特性描述信息,并从该路径特性描述信息得到表示所述中间节点的下游路径的特性的信息;根据表示下游路径的所述特性的所述信息,选择对要在下游路径上转发的数据进行处理的优选方式;以及根据所述优选方式将数据转发至下游节点。
对要在下游路径上转发的数据进行处理的优选方式可以仅涉及该数据的优选下游路径的选择(即,对与数据的前向路由相关的数据的处理进行控制的方法),或者涉及该数据要转发至的优选节点的选择。然而,其可以涉及同一路径上的不同类型的处理或服务之间的选择。其他类型的服务(其可以允许选择一个或更多个不同类型的处理级别)的示例包括如下(i)流量工程;(ii)路由广告(advert)验证;(iii)合同验证;(iv)区别服务网关。
通常,参照数据网络对本发明的实施例进行说明,但是应该注意,本发明的某些实施例可以应用于其他形式的网络,例如工作流路由、发电或甚至诸如铁路网的交通网络。然而,本发明的主要优点在以下情况下更为明显为了使网络中的各个节点被持续通知下游事件的状态,而沿各个链路向网络中的正常流提供对于各个消息或事件的中间反馈存在问题。在网络传送非信息项(工作、电流、车辆等)的情况下,通常不能够沿网络的各个链路进行反向反馈,因为反馈通常是纯信息,而该网络并没有设计用来传送纯信息。然而,安排通过网络向前流动的项来传送信息(即使这些项(例如,车辆)本身不是纯信息),并且有策略地将通信链路安排为跨越网络的输入和输出,以使得反馈能够返回到相关输入并重新进入(re-inserted)到网络中,可以获得足够的成本效率。在这些情况下,可以证明本发明的实施例在逐跳的基础上返回到源方面是有用的。假定工作流比分组慢得多地到达,在该处理的每一步骤之后,将信息直接发送回工作流的源可能比将信息仅背载(piggy back)在通过该系统向前流动的工作流上更加有效。区别特征在于,经过工作流路由系统进行处理的消息发送的“基本单位(atom)”比到源的反馈所需的大得多。这是根据本发明实施例而提供的反馈在诸如分组网络的数据网络中尤其有用的原因。优选地,尽量避免像在下游方向上发送数据那样经常地在上游方向上发送反馈。
但是,显然,本发明的实施例还可以应用于面向连接的网络,其中连接包括信元(cell)、帧或分组(例如,ATM、帧中继、SDH等)。其可以应用于对未来的全光分组网络的控制,全光分组网络难以设计,因为不能对同时到达交换机的光分组进行缓冲以使得可以顺序对它们进行处理。尽管在不将光转换为电信息的情况下不能对光进行存储,但是可以使其减速(slow-down)。根据本发明实施例提供的反馈可以提供一种在其到达竞争交换输出之前使其减速的机制,因为不能存储光意味着必须在需要之前促使该减速,而不是光刚到达该输出就促使该减速。根据本发明实施例而提供的反馈完全可以应用于当前互联网上的路由覆盖(routed overlay)网络,例如以对等方式创建的网络,例如以下出版物中描述的CAN、PASTRY、Chord和SWANChord参见“ChordA Scalable Peer-to-Peer Lookup Service forIntemet Applications”,Hari Balakrishnan,M.Frans Kaashoek,David Karger,Robert Morris and Ion Stoica,Proc.ACM SIGCOMM’01,ComputerCommunication Review 31(4)pp.149-160(Oct 2001);SWAN参见“Fully Decentralised,Scalabel Look-Up in a Network ofPeers Using Small World Networks”,Erwin Bonsma,“Proc.of the 6thWorldMulti Conf.On Systemics,Cybernetics and Informatics(SCI2002)”,pp.147-152(July,2002);CAN参见“A Scalable Content-Addressable Network”,SylviaRatnasamy,Paul Francis,Mark Handley,Richard Karp and Scott Shenker,Proc.ACM SIGCOMM’01,Computer Communication Review 31(4)pp.161-172(Oct 2001);以及PASTRY参见“PastryScalable,Distributed Object Location andRouting for Large-Scale Peer-to-Peer Systems”,Antony Rowstron and PeterDruschel,IFIP/ACM“International Conference on Distributed SystemsPlatforms(Middleware)”,pp.329-350(Nov 2001)。


图1是示出与符合网际协议的当前版本(IPv4)的数据相关联的头部中的字段的表;图2是示出网络的相关特征的拓扑表示;图3示出了用于说明如何进行路由决策的网络的简化表示;图4是例示了根据显式拥塞级别(ECL,Explicit Congestion Level)来使用路径特性描述量度的曲线图;图5、6和7是表示使用丢弃算法的应用和效果的曲线图。
具体实施例方式
参照图2,示出了网络的特定特征的拓扑表示。按照该附图以说明根据本发明实施例的示例性网络21,但是应该注意,本发明适用于各种不同类型的网络,例如固定、移动、ad hoc和其他类型,还适用于本身包含多个不同类型的通信信道的网络。如图2所示,网络21实际上可以是诸如互联网本身的更大网络的子部分。网络21包括多个节点22、24、26、28,每一个节点都可以用来完成以下与将数据从一个位置传送到另一个位置的特定尝试有关的任务中的一个或更多个提供数据、转发数据、以及接收数据;或者可以不涉及它们。在不同时刻,或者并行地但与传送数据的不同尝试相关地,或者与在另选位置之间传送数据的尝试相关地,节点当然可以起到不同的作用。因此除了它们在特定时刻的功能以外,在不同类型的节点之间可以没有差异。然而,为了说明本实施例,将按照包括提供者节点22、接收者节点26和多个中间节点24的方式来说明网络21。
提供者节点22和接收者节点26不必是数据的原始源或者数据的最终目的地。在这种情况下,数据的原始源被表示为位于节点20处(在网络21的外部),而数据的所期望最终目的地被表示为位于节点27处(也在网络21的外部)。提供者节点和接收者节点的唯一区别特征涉及以下事实接收者节点向提供者节点发送包括路径特性描述信息的反馈。
节点之间是各个通信信道23、29,可以通过这些通信信道来传送数据。为了说明本实施例,将对用于将数据从提供者节点22传送至接收者节点26的节点进行链接的信道称为跳23。在提供者节点22与接收者节点26之间,可以采用各种另选路径,在这种情况下,将通信信道23、29以外的其他通信信道视为该路径上的跳23。
在IPv4头部中,使用两个字段来描述路径的特性TTL和ECN字段(针对该目的还设计了诸如“时间戳(Timestamp)”选项的某些选项)。用于根据跳数和拥塞量度来描述路径特性的本发明的实施例可能需要对用于处理IP头部的标准进行修改。因此,可以将IP版本字段设定为某些未来版本,例如8。我们将使用包括8位实数的新“显式拥塞级别”(ECL)字段代替两位ECN字段(这里我们无需关心其如何适合于该头部)来描述该实施例。TTL字段可以保持相同大小,但是TTL和ECN字段都可以与它们在IPv4中的标准化语义不同地进行使用。如从以下说明中可以理解,这种ECL字段将能够向任意节点提供路径特性描述信息,这种路径特性描述信息提供了来自所关心的节点的上游的信息,该信息表示可能由所关心的节点处的数据分组在所关心的节点的下游路径上经历的拥塞量。
当提供第一数据分组时,提供者节点22向与该数据分组相关联的头部中的各个字段赋值,这些字段可以包括以上参照网际协议IPv4说明的字段中的任何一个或全部,并且与刚描述的相似地进行了更改。提供者节点22向被称为“路径特性描述量度”的字段赋初值。如将要说明的,路径特性描述量度的语义以基本的方式不同于IPv4头部的语义,即,将路径特性描述量度的公共参照级别设置为位于接收者节点26而不是提供者节点22。
为了说明该差异,下面将再次简要参照网际协议头部中的“生存时间”(TTL)字段。如上所述,在发送者处使用值255进行当前初始化,并且由各个分组所经过的各个节点递减。因此,在网络中的任一节点处,该差异(255-TTL)描述了分组所经过的上游跳的数量特性。如果分组在45跳之后到达其期望的目的地,则TTL值已经递减为210,并被用来向该路径上的中间节点指示该分组已经过不超过45跳。然而,如果该分组未被正确地路由并且/或者进入循环,从而对TTL值执行了足够的跳(例如,255跳)而使其达到零,则这将对后续中间节点指示该分组将被丢弃。在这种情况下,可以向提供者节点发送该分组无法到达其目的地的指示,但是仍然为后续的分组赋予初始TTL值255。
与此相反,提供者节点22将对与TTL字段相对应的路径特性描述量度赋予初始值,以使得如果该分组在后续场合经过相同或相似的路径,并且该路径上的每个中间节点24都使其递减1,则它将在接收者处以例如零的预定公共参照级别结束。为了实现该操作,接收者节点26应该将路径特性描述量度的实际接收值与接收者处的预定公共参照级别(例如,零)之间的差异反馈给提供者节点22。提供者节点22随后可以将与到相同目的地的未来分组相关联的路径特性描述量度的初始值调节或校正为,使得分组应该大致以零或者接近于零的值到达接收者节点26。应该注意,所发送的第一分组或在接收到任何反馈之前发送的其他分组不可能达到零目标,并且因此可能被标记为“猜测(guess)”分组。当提供者节点已接收到与“猜测”分组相关的反馈并且该反馈被用于调节或校正与后续分组相关联的路径特性描述量度的初始值,该量度的值(由后续中间节点24根据该分组经过的跳进行了更新)将向各个后续中间节点传递与相对于目的地的剩余跳数相关的信息(即,与节点有关的“下游路径”)。
利用这种新的结构,尽管在一次往返时间以前,但是网络中的任意节点(不论是提供者22、中间节点24还是接收者节点26)都可以将任意“非猜测(non-guess)”分组中的路径特性描述量度的值读取为所预测的相对于目的地的剩余跳数。
下面将参照对通过网络的数据分组的“路由”来说明以上述方式使用诸如上述的路径特性描述量度的一个重要优点(如果不是基本优点的话)。如将显见的,本发明的实施例使得用作互联网路由器的中间节点能够根据与到目的地的下游路径(即,所关心的中间节点与所期望的接收者之间的路径)的动态状态相关联的信息,对它们接收到的分组的前向路由进行所通知的决策。它们能够这样做而无需沿着除了从最终接收者节点返回到提供者节点的路径以外的正使用路径的上游路由消息。以前,根据IPv4,通常每30秒在中间节点之间向上游传送路由消息。通过利用如上所述的路径特性描述量度,无需这种上游路由消息,就可以几乎连续地(尽管经过了一次往返的延迟)获知下游路径的变化状态。即使在当前没有以特定目的地为目的地的数据的节点处,也只需从连续更新的附近节点发送显式附加路由消息。因此,可以将路由连续调整和收敛为下游变化,而无需等待来自正使用路径的常规路由更新。这些优点适用于提高各种类型的网络中的路由收敛性和效率,但是该优点尤其与更动态的场景相关,例如在存在网络移动性或者在ad hoc网络中的情况下,或者在使用诸如拥塞的更动态的量度以及诸如跳数的更稳定的量度来优化路由的情况下。
通常,互联网路由协议的目的是维护与可以用作路由器的任意节点上的或与该节点相关的“路由表”。这使得能够经由正确的接口来转发携带任意目的地地址的数据分组。路由协议的目的是确保路由表尽可能最新。如果可以实现该目的而无需在所有路由器之间的过度大量的路由更新消息,则是有利的。
参照图3,为了说明本发明的实施例如何可以向节点提供路径特性描述信息(该路径特性描述信息使得这些节点能够与通过网络的数据的路由相关地进行所通知的决策),而示出了网络的简化表示。
图3示出了如何使用根据本发明实施例而得到的路径特性描述信息来进行路由决策。其示出了如何利用这种路径特性描述信息来通过“最佳”可能路由将信息朝向接收者进行路由。词语“最佳”看起来暗示了该选择是主观的,但是可以通过选择与多种类型中的任何一种相对应的量度来选择其中被看作为最佳的路由。根据所使用的量度的类型,“最佳”由此可以对应于“最廉价”、“最少拥塞”、“最直接”或者“最少传播延迟”等,或者甚至是这些的加权组合。为了简化说明,我们将仅基于一种类型的路径特性描述量度(例如“传播延迟”)来考虑数据的路由。在这种情况下,假设“传播延迟”字段存在于正使用的网络协议的数据头部中。
如将要理解的,可以进行“最佳”路由(根据所选择的“最佳”的理解)的选择,因为下游流量带来与将信息进一步向下游发送至接收者的状态有关的信息。
在图3中,发送者S1至S4(正方形)表示可能的提供者节点,它们可能是可以从中发出数据的单个主机或其他网络。接收者R1表示接收者节点。路由器RT1至RT6(大圆圈)表示从发送者到接收者的路径上的可能中间节点。示出了各个路由器的每个接口(小圆圈),并保持其本地连接的下游链路的链接成本Δmi。在存在两个可能的接口并且需要在它们之间进行选择的情况下,以相应的小圆圈来表示相应的下游链路的链接成本。利用传播延迟的示例,例如,这可以通过沿根部(boot)处的各个链路(有线或无线)的简单应答请求来进行测量。对于固定链路,例如,如果基本的逻辑链路改变了其拓扑,则可以触发该延迟的重新测量。对于无线链路,可以根据移动的可能性适当地更有规律地测量传播延迟。
当各个路由器接收到数据时,其使“传播延迟”字段递减通过其发送该数据的链路的传播延迟Δmi。为了简化,在本示例中将“传播延迟”字段的目标值mz取为零。于是根据本发明的实施例,在第一次往返之后,朝向各个路由器处的接收者R1流动的其他数据分组可以在其头部中携带“对于目的地的传播延迟”(PDTD,propagation delay to destination)值mi,该值表示最后一次往返对于R1的剩余延迟。这由“在数据头部中的内容(in-data header)”(标有数字的较大箭头的头部中的数字)来表示,并且被路由器作为路径特性描述量度(PCM)来进行处理。因此,路由器可以保持其内部路由表中的一个、两个或更多个接口的PDTD值(参见大圆圈内部的数字)。在保存有两个(或更多个)值的情况下,各个路由器仅需要向其邻居“广告”其单个“最低成本”或“最佳”路由,但是在路由器自身可能需要在不同接口之间进行选择的情况下,可以在任意时刻通过对“最低成本”路由和“次最低成本”路由进行比较,或者(在其他方面)对“最佳”路由和“次最佳”路由进行比较,来在任意时刻进行该操作。
可以从R1向外从路由器有规律地(例如,每30秒)发送路由消息,除非变化触发了即时消息,该路由消息使用与当前“路由信息协议”(RIP,Routing Information Protocol)相似的协议并包含针对R1的PDTD值。这些路由消息被表示为黑色箭头内的数字。然而,在数据沿朝向R1的链路流动的情况下,可以抑制这些路由消息,因为根据本发明可以随后提供路径特性描述信息。
(A)首先假定发送者S1向R1发送常规信息流。将各个分组的初始值设为PCM=7,并且各个分组以PCM=0的值到达目的地R1。中间节点RT1可以从指向R1的分组的PCM中获知RT1与R1之间的链路成本为PCM=7。将PCM字段减小4(即,4为RT1和RT5之间的链路成本。该值例如可以与该链路上的RT1的拥塞成比例,或者与对于所关心的链路而建立的传播延迟成比例)。随后,将分组转发至RT5,并且PCM=(7-4)=3,RT5将该信息转发给R1,并使PCM减小3(3是RT5与R1之间的链路成本)。
重要的是应该注意,一旦路由器RT1获知了RT1与R1之间的路径成本(即,组合各个链路成本的结果)为PCM=7,就可以将该信息发送给路由器RT2、RT5、RT6。标有数字的较小箭头表示“在路由消息中的内容(in route messages)”,这可以根据所选择的协议通过最适当的手段来实现,以在邻近路由器之间广播路径成本。
(B)假定发送者S3和S4向R1发送常规信息流。这将使得路由器RT3和RT4能够发现它们对于R1的路径成本分别为6和3。重要的是应该注意,RT3会将流量转发至RT4而不是RT6,因为RT3与RT4之间的链路成本为3,低于RT3与RT6之间的链路成本(其为8)。出于同样的原因,RT4会将信息直接转发给R1而不经由RT5。
同样,重要的是应该注意,路由器RT3和RT4获知它们与R1之间的路径成本分别为PCM=6和PCM=3。可以利用“路由内消息”将该信息再次发送给邻近路由器。
(C)假定发送者S2向R1发送常规流。各个分组的初始值为PCM=7,并且各个分组以PCM=0的值到达目的地R1。重要的是应该注意,因为“成本”较低,所以RT2将经由RT3而不经由RT2来发送信息。
与来自邻近路由器的某些路由消息一起使用路径特性描述信息使得可以几乎实时地(即,仅延迟了一次往返时间(RTT))发现从路由器到目的地的成本。与目前的路由协议相比,该方法可以实现更快的收敛。
在进一步说明路径特性描述量度的概念之前,应该注意,尽管以上路径特性描述量度在某些方面看上去与IPv4头部中的TTL值相对应,但是以上路径特性描述量度与它的基本区别在于,用作反馈的路径特性描述信息相对于接收者而不是发送者进行了有效的归一化。根据本发明的其他实施例,该基本区别将更加明显,本发明的其他实施例可以涉及与各种其他头部值或其他与数据分组相关联的特性中的任意一个相对应的路径特性描述量度,通过将基准点的上述变化应用于这些值或其他特性来对路径特性描述量度进行调整,以使得它们可以描述通过网络的“下游路径”(即,从所关心的路径上的任意节点开始)而不是“上游路径”的特性,该“上游路径”的特性是由诸如传统TTL值的量度来描述的。下面给出了可与本发明的实施例相关联使用的可能候选的非排他性列表以及对各个候选的简要注释1)传播延迟用于确定到目的地的最佳路径的理想量度2)拥塞延迟当前由于拥塞而导致的排队延迟3)单向延迟下游路径上的排队和传播延迟的总和
4)跳数如上所述,对于用于进行路由的传播延迟的简单且实用的整数近似5)拥塞影子价格(shadow price)当前分组使得任意其他分组不能实现其所需服务级别(例如,使得低延迟分组太晚到达,或者使尽力(besteffort)分组被丢弃等)的概率6)显式拥塞通知(ECN)对于拥塞影子价格的实用近似7)可用容量任意下游节点上可用的最小空闲容量8)丢失率当前分组在到达其目的地之前被丢弃的概率9)错误率当前分组在到达其目的地之前被破坏的概率(主要对由于衰减而导致的无线链路上的丢失和拥塞丢失进行区分)10)下游服务可用性以前,当已对互联网服务和用于请求这些服务的协议进行了更新时,不能获知是否两个端点之间的路径上的所有节点都能够支持新的服务。本发明的实施例使得可以引入该问题的解决方案。
来自以上列表的必需且足够运作简单但完整的网络服务的这些量度将依赖于所需网络的类型、大小和复杂度。该列表例如可以包括与传播延迟、拥塞影子价格和错误率相对应的路径特性描述量度。
本发明的特定实施例可以使用当前协议头部中已存在的字段(例如,IPv4分组中的用于跳数的8位TTL字段或者用于拥塞影子价格的2位ECN字段),或者可以要求引入用于已在使用的量度的新字段,这些新字段更适用于有效运行我们称为“再反馈”机制的机制(例如,如果需要,可以引入IPv6中的具有8位或者可能32位大小的更大的影子价格拥塞字段),或者可以要求引入更适用于当前根本未处理的量度的新字段(例如,IPv6分组中的用于传播延迟的字段)。
在与TTL值或跳数相对应的路径特性描述量度通常根据所经过的每一跳而递减的情况下,可以根据其他量度而适当采用其他数学函数。以上量度可以在所有下游节点之间进行组合的典型方式包括以下1)Sum()2)Difference()3)Max()
4)Min()5)Logical AND()6)Logical OR()7)Combinatorial product()8)Combinatorial quotient()每个路径特性描述量度m都由头部值h来表示。该头部值通常对于路径上的所有节点与最有用的函数进行组合,例如以上列出的函数之一。Logical AND()可能对于“下游服务可用性”最合适,Min()对于“可用容量”最合适,Combinatorial product()对于“拥塞影子价格”最合适,Difference()对于“无负载延迟”最合适,等等。
参照图4,以示例的方式示出了表示基于显式拥塞级别(ECL)的路径特性描述量度的应用的曲线图。
表示了跨越由一系列节点(v0,v1,...vi,...vn)构成的网络的路径,其中,源为v0,而目的地为vn。本示例中使用了在所有数据分组的网络层头部中的显式拥塞级别(ECL)多位字段“h”中使用的量度“m”,而不是用来通知拥塞的单个位。该字段应该足够地宽,以表示合理数量的离散值(正值和负值)。值mi表示该字段在由第i节点处理之前的值。根据对于所有节点公用的组合函数f(.)在各个节点处进行更新,hi+1(t)=f(hi+1(t),mi(t)),其中mi(t)是对于端到端路径特性描述量度的本地分配。例如,mi(t)可以是相对于单个下游链路的已知值(例如,无负载延迟),或者反映节点的某些动态状况(例如,可以给出本地拥塞级别作为RED算法的丢弃概率)。
对于每个量度定义基准值hz作为目的地处的头部字段的目标。在图4中,为了简化,使hz=0。现在考虑分组的“流”的开始(图4中由圆圈标记的步骤(1)),发送者或提供者(图2中的22)应当估计ECL的初始值h0,以将其设置在分组中并存储该值。在通过该路径进行传输后,到达目的地的ECL将为hn。
随后,接收者(图2中的26)使用网络层上的相关端到端协议将hn反馈回发送者(由圆圈标记的步骤(2))。当该反馈到达发送者时,hn与hz之间的任何差异都将要求发送者对在其发送的数据分组中的其对头部字段设定的初始值进行调节。对于hn在目的地达到hz的约束给出了源初始化函数g(.)的定义,即h0(t+T)=g(hn(t),hz,f(.))。注意,该调节在发送了分组最后确认之后一次往返时间发生。
发送者因此可以根据拥塞控制算法(参见下文)来调节其发送后续分组的速率。发送者也可以将用于在该路径上发送的下一分组的初始ECL的估计值调节为m0(t+T)=m0(t)-mf(t),以尽量确保在该分组到达目的地时使ECL精确降为零(由圆圈标记的步骤(3))。
对于该下一个分组和所有后续分组,如果路径拥塞保持不变,则hn=hz。然而,如果路径拥塞发生改变,则必须在以后的往返时间中对h0再次进行更新,以确保在该分组到达目的地时ECL字段仍然为零。发送者可以根据来自以前发送的分组的最近反馈预测出其针对后续分组的ECL估计值,以确保hn继续近似为零。然而,与此无关,可以看出,以上处理已经朝向实现以下的重要目标迈出了重要的一步路径上的任意点处的hi值始终可以给出该点的下游量度的指示,尽管是在一次往返时间之后。为了进行该操作,流的路径上的网络节点可以使用下游路径量度提取函数j(.)来得到各个分组的下游路径上的量度的估计值mi~(t)=j(hi(t),hz,f(·))]]>针对不同的组合函数,在表1中给出了这三个函数的示例。

表1.实现不同类型的组合函数的“再反馈”所需函数的定义应该注意,要依赖这些值,就必须确保反馈循环中的每个人(或每个节点)都有要诚实的动机。动机的问题在下面讨论。
鉴于以上内容,下面将参照拥塞收费,以及在向网络的其他部分提供网络状态信息时忠实地进行操作的动机来按照上述方式对使用诸如上述的路径特性描述量度的其他重要优点进行说明。这些优点如下1)以前,对于拥塞的正确反应取决于自愿遵从标准算法的所有端节点。已经开发出了以下解决方案,在该解决方案中,对分组中的显式拥塞通知施加一价格,从而给出了负责任地进行操作的动机。然而,这些解决方案依赖于对目的地收费,并希望其与源具有信任关系,以鼓励正确的源行为。这导致了目的地受到来自源的恶意攻击的可能性,该恶意攻击可能迫使其“受害者”在其控制以外支付拥塞费用。本发明的实施例使得可以针对下游路径上的拥塞直接对源进行收费,因为表示该拥塞的信息可以在源和其提供者之间的接口处获得,而不是仅可以在目的地获得。这还为互连拥塞收费和路由提供了正确的动机和本地最新信息。目前,每个接收网络都必须与具有在ECN字段中设定的经历拥塞码点的分组的数量成比例地对其紧上游的网络进行支付。但是下游网络具有上游拥塞信息,但不能选择谁路由给它,并且上游网络不具有下游拥塞信息,但能够选择路由给谁。所以下游网络必须向上游网络支付拥塞费用,无论下游网络是否选择了从上游网络接收流量。
2)当在新路径上开始新的流时,本发明的实施例提供了在接收到足够反馈之前谨慎行进的正确动机。目前,网际协议要求在要使用的路径接近或已经处在拥塞状态的情况下与拥塞控制初始化算法自愿一致。这种控制导致保守行为,浪费了在路径实际上并未接近拥塞时的传送时间,如果在来自第一分组的反馈到达之前完成了大多数对象传送,则这在未来将是相当严重的问题。这些控制还导致滥用,并且节点由于“自私”的原因而具有忽略这些控制的动机。本发明的实施例使得缺乏路径状态的知识的风险可以反映在所收取的影子价格中,该影子价格可以实现为实际拥塞收费,或者可以实现为具有较高影子价格的流量的去优先化(deprioritisation)。本发明的实施例还使得可以向中间节点提供正确的动机来对多个流进行累计,该多个流中的每一个都不知道路径状态,但是可以对其进行集中处理,从而通过最近从旧流获知的路径状态中获知新流的可能路径状态。
在该阶段,我们可以重点关注在没有任何反馈的益处的情况下发送的流中的初始分组中所报告的拥塞级别。尽管我们已经建议应该将这些值标记为猜测,但是我们仍然建议应该像任意其他分组那样来单独处理它们。即,如果他们的下游拥塞级别mzi持续降到0以下,则监管系统(policing system)应当对其进行惩罚(丢弃),而不考虑它们的“猜测”状态。所以,发送者必须夸大初始影子价格mz0,以确保这些分组具有通过其未知路径的整个长度的可能性。但是它们所具有的夸大影子价格mzi应当授权它们对任意拥塞资源的较少共享,假定其高于相同类型的其他分组。这有效地加强了与TCP的慢启动阶段相似的行为,直到正确地描述了路径的特性为止。这种严格的制度确保了进入未知路径的风险由新的流来承担,而不是在其遇到的其他流之间扩散。
3)因为下游路径的知识可以在经过网络的下游数据的网络层头部信息中获得,所以中间节点可以使用下游路径的知识,以充当针对提供者的拥塞控制代理。已经发明了专用区分服务网关,其可以选择性地对最有可能在其有效下游路径上遭遇(并因此导致)拥塞的流量进行去优先化并最终将其丢弃。以前,代理所需的信息位于从目的地到源端到端地向上游传送的反馈数据中,通常位于与下游流不同的路径上。因此代理发现难以访问该信息,因为无法保证它们恰好位于该数据的路径上。在使用这些代理的情况下,还要求这些代理了解所有可能的高层反馈协议,从而有效地限制了新协议的引入。本发明的实施例使得可以在正确的层、正确的方向并因此在正确的路径上保持相关信息。
以上讨论总体上涉及本发明的实施例如何使得能够解决上述两个一般性问题中的第一个,涉及描述要对于各个节点可用的下游路径的特性的信息的提供。下面将说明本发明的实施例如何解决上述两个一般性问题中的第二个,即,如何防止该信息被伪造。
防止路径特性描述信息被伪造下面将参照具体量度,即,基于未来网络协议的拥塞通知字段的路径特性描述量度来进行说明。对于该说明,假设拥塞节点使该量度的值递减了表示这些拥塞节点的当前拥塞级别的值。可以预见下述的系统,在该系统中,沿路径发送数据的各个节点(注意,所有中间节点在转发数据时都用作发送者和接收者)都为其在所发送的流量中转发的拥塞级别进行支付,并且各个接收者都为其接收的流量中的拥塞级别进行支付(除了最终接收者以外—参见下文)。在这种系统中,中间节点可以根据他们作为“拥塞收费”对各个分组中的拥塞字段进行递减的级别来获得收入(revenue),并且它们具有沿着最小拥塞的路径并因此是最廉价的下游路径来对分组进行路由的动机。每个中间节点都可以运行监管算法,如果它们的拥塞级别递减到零以下(零是该情况下的商定目标级别),则该监管算法可能丢弃该分组。稍后将讨论丢弃算法。
在这种系统中,根据不同的节点在从提供者到接收者的数据通信中所起的作用,而不同的动机应用于不同的节点。这些动机可以如下应用对于提供者节点的动机-提供者节点具有不过高地声明拥塞的动机,否则其必须进行太多的支付。
-提供者节点还具有不过低地声明拥塞的动机,否则其所发送的分组可能在它们到达其目的地之前被丢弃。
对于中间节点的动机-中间节点不具有使拥塞级别递减少于实际经历的级别的动机,这有可能导致更严重的拥塞,并将拒绝节点本身从拥塞收费获得收入。
-中间节点不具有使拥塞级别递减多于实际经历的级别的动机,因为它们使得上游拥塞控制算法减少具有朝向它们的流量的收入,并且还存在失去它们到竞争路由的流量的风险。
对于接收者的动机-第一眼看去,似乎接收者能够在它们的反馈中过高地声明拥塞,以使得它们的对应提供者在拥塞费用方面进行太多的支付,但是这将倾向于使得发送者降低其速率,这并不是接收者感兴趣的。
-接收者不具有在它们的反馈中过低地声明拥塞的动机,因为这将导致未来的流量在到达它们之前被丢弃。
丢弃算法参照图5、6和7概括了丢弃算法的示例。一般来讲,其首先测量到目的地的分组中的当前移动平均拥塞级别。其还测量该级别的当前变化,或者使用根据操作经验被发现是典型的固定值。使用该测得的平均数作为参数来确定任意将丢弃任意特定分组的概率。如果该平均值为正或零,则不会丢弃任何分组。如果该平均值为负,则将按照由丢弃者(dropper)的概率分布所给出的概率来丢弃具有负值的分组。任意特定分组中的拥塞级别越负,其被丢弃的机会就越大。该平均值越负,丢弃策略越严格。
众所周知,诸如拥塞收费的动态定价的价目表对于顾客并不受欢迎,因为它们导致不可预测的收费。可以使用消除了(broker)可变定价的风险的拥塞控制网关。它可以位于发送者的下游,代表发送者吸收拥塞定价的风险。如果它从发送者接收到的累积正常收入降低至低于其必须向其下游的互连提供者支付的可变拥塞费用,则它将对以最拥塞的下游路径为目的地的分组进行缓冲并最终将其丢弃。因此,它将以恒定的价格提供恒定级别的服务,除了在它要降低服务的级别时最后保持的拥塞级别以外,在每单位时间内保持价格恒定。
如果使用根据本发明实施例的反馈,则通常可以更容易地设计提供不同价目表或服务合同的其他网关,因为可以在发送网关的控制点处获得下游路径知识。
权利要求
1.一种数据网络,该数据网络包括提供者节点、接收者节点和多个中间节点,所述提供者节点被设置用于向所述中间节点中的至少一个或者向所述接收者节点提供数据,所述中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或转发给所述接收者节点,而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据;其中所述数据包括与路径特性描述量度相关的至少一部分;所述提供者节点被设置用于将初始状态赋予与由所述提供者节点提供的数据相关的路径特性描述量度;所述中间节点被设置用于对与它们所转发的数据相关的路径特性描述量度的状态进行更新;所述接收者节点被设置用于使所述提供者节点可以获得表示与由所述接收者节点接收到的数据相关的路径特性描述量度的状态和该路径特性描述量度的预定目标状态之间的差异的信息;并且其中所述提供者节点被设置为在其从所述接收者节点接收到表示这种差异的信息的情况下,将不同的初始状态赋予与由所述提供者节点提供的后续数据相关的路径特性描述量度。
2.根据权利要求1所述的数据网络,其中,节点处的路径特性描述量度的状态表示预期该节点的下游路径上的数据要经历的拥塞的度量。
3.根据权利要求1所述的数据网络,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
4.根据权利要求1所述的数据网络,其中,在所述提供者节点向与由其提供的后续数据相关的路径特性描述量度赋予不同的初始状态的情况下,对所述不同的初始状态进行赋值,以减小与由所述接收者节点接收的所述后续数据相关的对应差异。
5.根据权利要求4所述的数据网络,其中,对所述不同的初始状态进行赋值,以使得与由所述接收者节点接收的所述后续数据相关的所述对应差异为零的概率最大化。
6.根据权利要求1所述的数据网络,其中,中间节点被设置用于响应于与该节点相关的路径特性,对所述路径特性描述量度的状态进行更新。
7.根据权利要求6所述的数据网络,其中,所述路径特性涉及与所述节点相关的路径上的拥塞的度量。
8.根据权利要求6或7所述的数据网络,其中,所述路径特性涉及所述节点的下游路径上的拥塞的度量。
9.一种用于向数据网络中的数据赋予路径特性描述量度的方法,所述数据网络包括提供者节点、接收者节点和多个中间节点,所述提供者节点被设置用于向所述中间节点中的至少一个或者向所述接收者节点提供数据,所述数据包括与路径特性描述量度相关的至少一部分,所述中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给所述接收者节点,而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据;所述方法包括以下步骤将初始状态赋予与由所述提供者节点提供的数据相关的路径特性描述量度;对与由所述中间节点转发的数据相关的路径特性描述量度的状态进行更新;对与由所述接收者节点接收的数据相关的路径特性描述量度的最终状态进行监测,并确定表示所述最终状态与该路径特性描述量度的预定目标状态之间的差异的度量;以及在所述度量表示与以前的数据相关的这种差异的情况下,将不同的初始状态赋予与由所述提供者节点提供的后续数据相关的路径特性描述量度。
10.根据权利要求9所述的方法,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
11.一种反馈节点,该反馈节点使得能够将初始状态赋予与要通过数据网络转发的数据相关的路径特性描述量度,所述数据网络包括提供者节点、接收者节点和多个中间节点,所述数据包括与路径特性描述量度相关的至少一部分;所述提供者节点被设置用于向与数据相关的路径特性描述量度赋予初始状态,并将所述数据提供给所述中间节点中的至少一个或者提供给所述接收者节点;所述中间节点被设置用于从所述提供者节点或者从一个或更多个其他中间节点接收数据,对与由它们接收的数据相关的路径特性描述量度的状态进行更新,并将数据转发给至少一个其他中间节点或者转发给所述接收者节点;而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据,并使得所述反馈节点可以获得有关与由所述接收者节点接收的数据相关的路径特性描述量度的信息;其中所述反馈节点被设置用于在所述反馈节点接收到表示所述路径特性描述量度的预定目标状态与和所述接收者节点所接收的以前数据相关的路径特性描述量度的状态之间的差异的信息的情况下,使得能够将不同的初始状态赋予与由所述提供者节点提供的后续数据相关的路径特性描述量度。
12.根据权利要求11所述的反馈节点,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
13.根据权利要求11或12所述的反馈节点,其中,在向与后续数据相关的路径特性描述量度赋予不同的初始状态的情况下,对所述不同的初始状态进行赋值,以减小与由所述接收者节点接收的所述后续数据相关的对应差异。
14.根据权利要求11至13中的任意一项所述的反馈节点,所述反馈节点还用作所述网络中的所述提供者节点。
15.根据权利要求14所述的反馈节点,所述反馈节点被设置为在其从所述接收者节点接收到所述路径特性描述量度的所述预定目标状态与和所述接收者节点所接收的以前数据相关的路径特性描述量度的状态之间的差异的度量的情况下,向与后续数据相关的路径特性描述量度赋予不同的初始状态。
16.根据权利要求14所述的反馈节点,所述反馈节点被设置为在其从所述接收者节点接收到表示与由所述接收者节点接收的以前数据有关的路径特性描述量度的状态的信息,并确定出在该路径特性描述量度的所述状态与该路径特性描述量度的所述预定目标状态之间存在差异的情况下,向与后续数据有关的路径特性描述量度赋予不同的初始状态。
17.根据权利要求11至13中的任意一项所述的反馈节点,所述反馈节点还用作所述网络中的所述接收者节点。
18.根据权利要求17所述的反馈节点,所述反馈节点被设置为使得所述提供者节点可以获得所述路径特性描述量度的所述预定目标状态与和所述接收者节点所接收的以前数据相关的路径特性描述量度的状态之间的差异,由此使得所述提供者节点能够向与后续数据相关的路径特性描述量度赋予不同的初始状态。
19.根据权利要求17所述的反馈节点,所述反馈节点被设置为使得所述提供者节点可以获得表示与和所述接收者节点所接收的以前数据相关的路径特性描述量度的状态的信息,由此使得所述提供者节点能够在所述提供者节点确定出在该路径特性描述量度的所述状态与该路径特性描述量度的所述预定目标状态之间存在差异的情况下,向与后续数据相关的路径特性描述量度赋予不同的初始状态。
20.一种在数据网络中提供数据的方法,该数据网络包括提供者节点、接收者节点和多个中间节点,所述提供者节点被设置用于向所述中间节点中的至少一个或者向所述接收者节点提供数据,所述数据包括与路径特性描述量度相关的至少一部分;所述中间节点被设置用于从所述提供者节点或从一个或更多个其他中间节点接收数据,并对与由它们接收的数据相关的路径特性描述量度的状态进行更新,并将数据转发给至少一个其他中间节点或者转发给所述接收者节点;而所述接收者节点被设置用于从至少一个中间节点或者从所述提供者节点接收数据,并使得所述提供者节点可以获得表示与由所述接收者节点接收的数据相关的路径特性描述量度的最终状态与该路径特性描述量度的预定目标状态之间的差异的信息;所述方法包括以下步骤向与数据相关的路径特性描述量度赋予初始状态;向所述中间节点中的至少一个提供所述数据;接收与和所述接收者节点所接收的以前提供的数据相关的路径特性描述量度的所述最终状态有关的信息;以及在接收到表示所述路径特性描述量度的所述最终状态与所述路径特性描述量度的预定目标状态之间的差异的信息的情况下,向与后续数据相关的路径特性描述量度赋予不同的初始状态。
21.根据权利要求20所述的方法,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
22.根据权利要求20或21所述的方法,所述接收者节点被设置为使得所述提供者节点可以获得所述路径特性描述量度的所述预定目标状态与和以前接收的数据相关的路径特性描述量度的所述最终状态之间的差异的度量,由此使得所述提供者节点能够向与后续数据相关的路径特性描述量度赋予不同的初始状态。
23.根据权利要求20或21所述的方法,所述接收者节点被设置为使得所述提供者节点可以获得表示与以前接收的数据相关的所述最终路径特性描述量度的状态的信息,由此使得所述提供者节点能够在所述提供者节点确定出在所述路径特性描述量度的所述状态与所述路径特性描述量度的所述预定目标状态之间存在差异的情况下,向与后续数据相关的路径特性描述量度赋予不同的初始状态。
24.一种用于向网络中的节点提供路径特性描述信息的方法,所述网络包括多个节点,该多个节点包括提供者节点、接收者节点和至少一个中间节点,所述提供者节点被设置用于向至少一个中间节点或者向所述接收者节点提供数据,所述中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给所述接收者节点,而所述接收者节点被设置用于从所述提供者节点或者从至少一个中间节点接收数据;所述方法包括以下步骤在所述提供者节点提供数据的情况下,向路径特性描述量度赋予初始状态,所述路径特性描述量度与所述数据相关联;在中间节点接收到所述数据的情况下,对所述路径特性描述量度的状态进行更新;在所述接收者节点接收到所述数据的情况下,确定所述路径特性描述量度的最终状态;以及确定所述路径特性描述量度的所述最终状态与预定目标状态之间是否存在差异;其中,在确定所述最终状态与所述预定目标状态之间确实存在差异的情况下,所述方法还包括以下步骤在所述提供者节点随后提供进一步的数据的情况下,向进一步的路径特性描述量度赋予不同的初始状态,所述进一步的路径特性描述量度与所述进一步的数据相关联;在中间节点接收到所述进一步的数据的情况下,对所述进一步的路径特性描述量度的状态进行更新;以及使得所述中间节点可以获得表示所述经更新的状态的信息。
25.根据权利要求24所述的方法,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
26.一种用于向网络中的节点提供路径特性描述信息的方法,所述网络包括多个节点,该多个节点包括提供者节点、接收者节点和至少一个中间节点,所述提供者节点被设置用于向至少一个中间节点或者向所述接收者节点提供数据,中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给所述接收者节点,而所述接收者节点被设置用于从所述提供者节点或者从至少一个中间节点接收数据;所述方法包括以下步骤在所述提供者节点提供数据的情况下,向路径特性描述量度赋予初始状态,所述路径特性描述量度与所述数据相关联;在中间节点接收到所述数据的情况下,对所述路径特性描述量度的状态进行更新;在所述接收者节点接收到所述数据的情况下,确定所述路径特性描述量度的最终状态;以及确定所述路径特性描述量度的所述最终状态与预定目标状态之间是否存在差异;其中,在确定所述最终状态与所述预定目标状态之间确实存在差异的情况下,所述方法还包括以下步骤在所述提供者节点随后提供进一步的数据的情况下,向进一步的路径特性描述量度赋予初始状态,所述进一步的路径特性描述量度与所述进一步的数据相关联;在中间节点接收到所述进一步的数据的情况下,对所述进一步的路径特性描述量度的状态进行更新;使得所述中间节点可以获得表示所述经更新的状态的信息;以及使得所述中间节点可以获得与以前的路径特性描述量度的所述最终状态和所述预定目标状态之间的差异相关的信息。
27.根据权利要求26所述的方法,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
28.一种路径特性描述系统,该路径特性描述系统用于提供与数据网络相关联的路径特性描述信息,所述数据网络包括多个节点,该多个节点包括提供者节点、接收者节点和至少一个中间节点,所述提供者节点被设置用于向至少一个中间节点或者向所述接收者节点提供数据,中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给所述接收者节点,而所述接收者节点被设置用于从所述提供者节点或者从至少一个中间节点接收数据;所述路径特性描述系统包括路径特性描述量度状态赋予装置,其与所述提供者节点相关联,并被设置为在所述提供者节点提供数据的情况下,向路径特性描述量度赋予初始状态;路径特性描述量度更新装置,其与中间节点相关联,并被设置为在所述节点接收到数据的情况下,对所述路径特性描述量度的状态进行更新;以及路径特性描述量度反馈装置,其与所述接收者节点相关联,并被设置为在所述接收者节点接收到所述数据的情况下,确定所述路径特性描述量度的最终状态,并且使得所述路径特性描述量度状态赋予装置可以获得表示所述路径特性描述量度的所述最终状态与所述路径特性描述量度的预定目标状态之间的差异的信息;其中所述路径特性描述量度状态赋予装置被设置为在使得所述反馈可以表示所述路径特性描述量度的所述最终状态与和以前路径特性描述量度相关的所述预定目标状态之间的这种差异的情况下,向与后续数据相关的路径特性描述量度赋予不同的初始状态。
29.根据权利要求28所述的路径特性描述系统,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
30.一种用于提供与数据网络相关的路径特性描述信息的路径特性描述系统,所述数据网络包括多个节点,该多个节点包括提供者节点、接收者节点和至少一个中间节点,所述提供者节点被设置用于向至少一个中间节点或者向所述接收者节点提供数据,中间节点被设置用于接收数据并将数据转发给至少一个其他中间节点或者转发给所述接收者节点,而所述接收者节点被设置用于从所述提供者节点或者从至少一个中间节点接收数据;所述路径特性描述系统包括路径特性描述量度状态赋予装置,其与所述提供者节点相关联,并被设置为在所述提供者节点提供数据的情况下,向路径特性描述量度赋予初始状态,所述路径特性描述量度与所述数据相关联;路径特性描述量度更新装置,其与能够接收数据的节点相关联,并被设置为在所述节点接收到数据的情况下,对所述路径特性描述量度的状态进行更新;以及路径特性描述量度反馈装置,其与所述接收者节点相关联,并被设置为在所述接收者节点接收到所述数据的情况下,确定所述路径特性描述量度的最终状态,并使得所述路径特性描述量度状态赋予装置可以获得与所述路径特性描述量度的最终状态相关的信息;其中所述路径特性描述量度状态赋予装置被设置为在使得所述反馈可以表示所述路径特性描述量度的所述最终状态与和以前路径特性描述量度相关的所述预定目标状态之间的这种差异的情况下,提供与和以前数据相关联的路径特性描述量度的最终状态相关的信息。
31.根据权利要求30所述的路径特性描述系统,其中,赋予所述路径特性描述量度的所述状态是一值,并且所述预定目标状态是一值。
全文摘要
本发明提供了数据网络、赋予和提供路径特性描述量度的方法和反馈节点。本发明涉及数据网络,并涉及构成数据网络的一部分的节点,本发明被设置用于得到与数据在该网络中的节点之间行进所采用的路径的特性描述相关的信息。将路径特性描述信息从数据的接收者反馈给数据的提供者,并将下游路径的特性通知给后续转发数据的节点。另外还描述了路由和相关控制节点,以及在数据网络中转发数据时使用这种路径特性描述信息进行所通知的路由和其他决策的方法。
文档编号H04L12/14GK1939012SQ200580010757
公开日2007年3月28日 申请日期2005年3月30日 优先权日2004年3月30日
发明者鲍勃·布里斯科, 安德列·亚索伯拉, 阿诺·雅凯, 塞巴斯蒂安·卡扎勒特 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1