用于提供覆盖网络的路由选择体系结构的方法和系统的制作方法

文档序号:7681033阅读:180来源:国知局
专利名称:用于提供覆盖网络的路由选择体系结构的方法和系统的制作方法
技术领域
一般来说,本申请涉及网络,而具体来说,涉及异构第3层网络。 更具体来说,本申请涉及异构笫3层网络的覆盖路由选择体系结构。
背景技术
过去几年来,覆盖网络已在学术界以及在工业中得到关注。各种 覆盖应用通过因特网扩展,使它普遍存在并且一皮终端用户大量使用。 覆盖网络能够改进现有基础设施网络的可靠性、性能以及可用性。覆 盖网络提供解决若干组网问题的优良方式,特别是在不应当对现有网 络进行变更并且网络为异构时。
目前,在文献中很少找到解决在构建于平面标识符(flat identifier) 之上的覆盖网络中的分组路由选择的问题的解决方案。基于平面标识 符的路由选择所存在的基本问题在于,平面标识符空间不能聚合。现 有路由选择的大多数基于分级结构和因特网协议(IP)地址到网络地址 的聚合,即所谓的子网化(sub-netting)。将子网掩码应用于IP地址允许 你来识别地址的网络和节点部分。
文件共享覆盖应用通常根据平面标识符来构建。这种类型的覆盖 应用依靠分布式哈希表(DHT),以便找到给定资源。DHT是一种类型 的分散分布式数据结构。参与DHT的各节点具有一个唯一的覆盖标识符,通常为平面标识符。但是,标识符不用于数据分组路由选择;它 们用于路由查找给定资源(例如文件)的消息。这些覆盖网络中的会话 通信建立通过将(资源的)覆盖标识符解析为(资源持有者的)基础 (underlay)地址来实现,然后完全在基础级进行数据分组路由选择。因 此,数据分组路由选择依靠基础网络的路由选择机制(例如IPv4)。这 种解决方案是适当的,因为仅假定一个同构基础网络。注意,这要求 用于参与覆盖网络的所有节点的一个唯一同构第3层技术。但是,当 异构第3层网络(或域)共存时,节点的网络地址对另一个对等体可能无 意义。
在过去数年已经提出实现DHT的概念的若干协议,例如CAN、 Chord、 Pastry和Tapestry协议。虽然这些协议具有某些差异,但是它 们都利用相同的原理;密钥通常通过对文件名进行^^希来产生。生成 的密钥用于在作为DHT的成员的节点所形成的覆盖网络中存储或查 找文件的定域性(locality)信息。
DHT内部路由选择算法、即用于路由存储和查找消息的机制是 DHT协议的中心。成员节点形成覆盖网络,其中各节点具有作为相邻 节点的一組其它节点。当继续进行给定密钥的查找时,消息通过覆盖 网络路由到负责那个密钥的节点。系统的整体可缩放性和性能与路由 选择算法效率直接关联。
为了分发处理和存储负荷,各节点处理哈希空间的一部分,并因 此负责某个密钥范围。在给定密钥的情况下,所有节点可有效地将消 息路由到负责那个密钥的唯一节点。DHT提供例如分散化、可缩放性、 负荷平衡、容错性和自修复等性质。分散化通过节点分发密钥,以及 发生系统的组织而没有任何中央协调。没有节点比任何其它节点更重 要。可缩放性允许系统处理甚至具有高变动(churn)的大量节点(频繁地 加入和离开结构的节点)。 一般来说,查找过程的成本随节点数量的对 数增长。
使用 一致哈希函数的负荷平衡-使密钥范围遍布于具有高概率的节点,从而提供进行负荷平衡的固有方式。系统的容错甚至在发生一些 节点的故障时也提供可靠性。自修复实现系统的自动重组,从而反映 新加入、离开或者出故障的节点。
DHT节点可加入或离开网络。协议必须解决这个问题,以便使系 统保持一致(consistent)。通过在节点加入或离开网络时适当地更新路由 选择表来确保一致性。基本结构围绕抽象平面密钥空间构建,它按照 密钥空间分区方案在参与节点之间划分。各实现使用一致哈希的某种 变体将对象(例如文件名)映射到密钥。 一致哈希意味着高变动率仅影
响相邻节点拥有的密钥集合,所有其它节点未受影响。存储对象从一 个节点到另一个节点的移动的最小化减少重组时间,从而允许系统中 的节点的高到达和离开率。这与其中 一个哈希桶(hash bucket)的添加或 删除需要整个密钥空间的再映射的常规哈希表形成对照。
关键问题是如何以查找过程变得有效的方式来组织节点。此外, 查找过程的效率取决于复制数据的位置和数量、取决于所使用的高速 緩存机制以及取决于如何进行密钥的搜索。在接收到查找查询时,节 点检查与所搜索的密钥对应的数据是否本地存储。在那种情况下,返 回数据,并且搜索结束。如果情况不是那样,则节点选择更接近存储 数据的位置的对等体,并且向此节点转发查询。"更接近"对等体的 定义是协议相关的。节点保存DHT路由选择表,以便帮助查找(或存 储)查询转发的判定。该过程与IP分组路由选择相似-如果路由器不 能直接传递分组,则它选择更接近最终目的地的另一个路由器。DHT 中的路由选择针对向其中存储密钥的节点发送查询。路由选择表保存 相邻节点的集合。相邻关系除了别的以外还可基于物理接近、节点标 识符接近、后继和前导关系。
图l示出Chord环,它可能是最熟知的DHT协议。Chord协议使 用快速一致哈希函数,该哈希函数使用例如MD5等密码哈希函数向各 节点分配m位标识符。节点通过对它自己的IP地址进行哈希来接收标 识符。图l中,m=3,阴影圓圏表示节点,以及密钥l、 2和6分别存储在节点1、 3和0中。标识符空间可示为以升序顺时针i殳置的才莫2"1 的圆。将密钥k分配给其标识符在标识符空间中等于或跟随k的第一 节点。这个节点又称作密钥k的后继节点。
公认的知识是目前两种功能性使IP地址过负荷定位符,因为IP 地址用于在网络中路由分组;以及识别码,因为IP地址也用于指定4妻 口卡。IP地址中的两种功能性的过负荷是使节点的移动性成为难题的 方面之一。可连接自主管理的异构笫3层网络,但是目的地的网络地 址对另 一个节点可能无意义。
因此,本领域需要用于与异构第3层网络相关联的覆盖网络的可 缩放、可靠且有弹性的路由选择体系结构。

发明内容
在一个方面,本发明提供一种在覆盖网络中路由数据分组的方法, 该覆盖网络构建于异构第3层域。该方法包括以下步骤定义唯一的 自生成平面标识符并且将其与第3层域中的第3层网络地址关联;利 用用于将通信会话绑定(bind)到平面标识符而不是第3层网络地址的传 输协议;利用能够在覆盖网络以及在第3层网络中进行路由的覆盖路 由器(Overlay Router);适合在不同的第3层协议之间进行转换的覆盖 路由器;向适合在异构第3层域中进行工作的分级分布式哈希表登记 终端节点;以及在覆盖网络中经由覆盖路由器在已登记终端节点之间 路由数据分组,利用包含网络标识符而不是终端节点标识符的数据分 组中的覆盖路由器报头。
在另一个方面,本发明提供一种用于构建于异构第3层域的覆盖 网络的路由选择体系结构。该体系结构包括用于定义唯一的自生成 平面标识符并且将其与第3层域中的第3层网络地址关联的部件;用 于将通信会话绑定到平面标识符而不是第3层网络地址的传输协议; 适合在覆盖网络以及在第3层网络中进行路由的至少一个覆盖路由 器,覆盖路由器适合在不同的第3层协议之间进行转换;用于向适合在异构第3层网络中进行工作的分级分布式哈希表登记终端节点的登 记部件;以及用于在覆盖网络中在已登记终端节点之间路由数据分组、 利用包含网络标识符而不是终端节点标识符的数据分组中的覆盖路由 器报头的覆盖路由器。
在又一个方面,本发明提供合并异构网络域中的DHT环的方法, 其中各域包括DHT环。该方法包括确定节点是第一和第二DHT环 所共有的,第一和第二 DHT环是兄弟环(siblingring);通过经由公共节 点建立间接链路来启动第一 DHT环中的节点与第二 DHT环中的节点 之间的链路;创建第一与第二 DHT环之间的间^接链路,第一和第二 DHT环处于相同的分级等级,并且具有公共的至少一个覆盖路由器; 创建到设置在DHT环分级结构中更高级的DHT环的虚拟链路,直到 将所有DHT环合并到单个逻辑环中。
在又一个方面,本发明提供一种用于在构建于异构第3层域的覆 盖网络中路由数据分组的覆盖路由器。覆盖路由器包括接收器部件, 用于接收来自向适合在异构第3层域中进行工作的分级分布式哈希表 登记的终端节点的包含平面标识符的消息。覆盖路由器还包括用于将 平面标识符与第3层域中的第3层网络地址关联的部件以及用于利用 将通信会话绑定到平面标识符的传输协议的部件。覆盖路由器包括用 于在不同的第3层协议之间进行转换以及用于在覆盖网络中路由消息 的部件。


图1示出Chord环;
图2示出根据本发明的实施例的数据分组格式; 图3示出根据本发明的实施例的覆盖网络; 图4示出基于根据本发明的实施例的平面标识符的寻址方案; 图5示出根据本发明的实施例、不同的域中安装的分级DHT的高 级框图;图6是根据本发明的优选实施例的DHT合并过程的高级框图; 图7示出对于根据本发明的实施例的网络基础设施所应用的 HDHT;
图8示出根据本发明的实施例、其中驻留在不同的第3层域中的 两个环需要合并的环境;以及
图9示出使用根据本发明的实施例的覆盖路由器进行通信的过程。
具体实施例方式
在以下详细描述中,提出大量具体细节,以便提供对本发明的透 彻了解。但是,本领域的技术人员会理解,即使没有这些具体细节, 也可实施本发明。在其它情况下,没有详细描述众所周知的方法、过 程、组件和电路,以免使本发明难懂。
以下详细描述的一些部分根据对计算机存储器中的数据位或二进 制数字信号的操作的算法和符号表示来呈现。这些算法描述和表示可
质的技术。
下面是将在详细描述通篇使用的缩写词、首字母缩写词、定义和 假设
DHT-分布式哈希表,是一种数据结构,它分布在网络的一些节 点中,而不是仅集中在一个机器中。属于DHT的各节点负责密钥的完 整空间的范围。如任何公共哈希表中那样,各密钥可具有向其分配的 一个(或多个)值。
HDHT-分级分布式哈希表
HIP -主一几标识切、"i义
NodelD-自生成终端节点标识符。这个标识符可以是密码的,例 如公钥的哈希。
Layer-3-第3层表示开放式系统互连(OSI)模型的网络层。路由器是第3层装置,以及因特网协议(IP)地址是第3层地址。
NetworkID -自生成网络标识符。这个标识符可以是密码的,例 如/>钥的哈希。
OR -覆盖路由器,是网络中能够在网络的覆盖级进行路由的特 殊节点。这个节点具有密码平面标识符(称作RouterID),并且可附连 到异构第3层网络,在IPV4、 IPv6和专用IP网络(采用私有IP地址构 建)之间转换分组。
RouterID-密码的自生成覆盖路由器标识符。这个标识符是公钥 的哈希。
RTT-往返时间,从向给定节点发送分组直至在始发节点接收到 响应的时间来测量。
域或网络域由具有公共第3层寻址和内部路由选择协议的终端节 点和路由器的集合组成。
分支由核心的边界中通过覆盖路由器附连在一起的不同的第3层 网络域的集合组成。
对于DHT的各级,使用Chord协议。
覆盖路由选择体系结构基于链路状态协议,其中链路的性能通过 在对等体(覆盖路由器)之间发送探测消息来测量。所测量的参数可包 括(但不限于)往返时间、吞吐量和丟失率。
分级分布式哈希表(HDHT)用于异构第3层域,它是HDHT的使用 的新环境。此外,路由选择在异构第3层域中解决,并且緩解第3层 网络和终端节点的移动性。覆盖路由选择体系结构为构建于平面标识 符的覆盖网络创建可缩放和有弹性的路由选择体系结构。覆盖路由选 择协议能够在提供路由的弹性(resilience)和快速汇聚的同时进行缩放。
在分级DHT(HDHT)中,对等体根据定域性组织成组,并且各组 具有其自主组内覆盖网络和查找服务。分级DHT具有优于平面标识符 方式的多个优点例如,它们减少查找中的对等跳的平均数;它们在 相同组的对等体在拓朴结构上接近并且在组内使用协作高速緩存时显著减少查找等待时间;它们为分级结构的每一级提供管理自主性;以 及它们促进对等(P2P)查找的大规模部署。
覆盖网络通过对于第3层网络地址定义平面标识符来创建。与主 机标识协议(HIP)相似,平面标识符是自生成的经过哈希处理的密码密 钥,并且不具有任何种类的结构或分级结构。这4f,当前在IP地址中 过负荷的位置和识别码(identity)的功能性在两个不同的层中分离。传输 协议将通信会话绑定到自生成的平面标识符而不是绑定到第3层地 址。这样,增加了终端节点的移动性,因为标识符由终端节点生成, 并且终端节点的标识符在它移动时不应当改变。同样的情况适用于网 络移动,即,网络标识符在整个网络移动时不应当改变。因此,可能
使异构第3层域共存并且进行通信,^假定某些条件适用各节点应当 具有全局唯一自生成标识符;覆盖路由器用于在不同的第3层协议之 间进行转换;覆盖路由器能够在覆盖以及在基础(第3层)级中进行路 由;以及向HDHT数据结构登记终端节点,以便向其它节点提供全局 "可达性,,(在一个实施例中,向HDHT数据结构登记终端节点)。
虽然准许异构第3层网络域共存,但是假定同构核心网络的存在, 以便缓解解决方案的部署,因为核心可能是IPv4因特网。这样,移动 性和覆盖路由选择限制到核心的边界中的节点和网络(以下称作"分 支")。所公开的本发明没有改变已经部署且静态的IPv4核心和主干。
负责在不同的第3层网络之间进行转换的实体、即覆盖路由器(OR) 具有唯一平面自生成的密码标识符。覆盖路由选择协议由覆盖路由器 运行,以便分发虚拟链路性能的拓朴结构信息和测量。虚拟链路是覆 盖路由器之间的逻辑连接,在第3层建立的路由器的连接。这个连接 可穿过域内的若干第3层路由器;但是,覆盖路由器在逻辑上被看作 是邻域。覆盖网络利用网格结构,并且拓朴结构信息消息被创建和分 发,以便使覆盖路由器能够创建网络分支的准确图。不是根据终端节 点标识符进行路由,而是使用NetworkID-密码网络标识符-采用链 路状态路由选择来实现覆盖路由选择。为了与节点进行通信,需要获得节点在那时与其附连的域的网络 标识符。将这个信息插入分组,分组根据网络标识符来路由。还采用 作为一个分支中针对全局网络中的其它分支的最后一个路由器的核心 覆盖路由器来获得核心覆盖路由器标识符。标识符与定位符之间的映 射在各域中由本地部件来进行,并且不同的域可选择使用不同方式来 进行映射。
图2示出根据本发明的实施例的数据分组格式。IP分组包括覆盖 报头,其中主机标识协议(HIP)用于端对端安全性。主机标识协议(HIP)
只是可用于端对端安全性的一个协议。覆盖报头200包括自生成标识 符,其中包含源标识符202、目的地标识符204、网络标识符206和核 心覆盖路由器标识符208。
数据分组路由选择最初在网络的树的分支中进行,以及如果目的 地是在相同的分支中,则分组将仅在那个分支中路由(根据 NetworkID)。如果目的地节点是在当前分支外部,则将分组路由到当 前分支的核心覆盖路由器。核心覆盖路由器是与网络中的特定分支关 联的覆盖网络路由器。然后,这个节点将分组路由到目的地节点的核 心覆盖路由器(这个信息存在于分组中)。目的地分支中的路由选择根 据目的地NetworkID来进行。
重要的是要注意,覆盖路由器本质上是无状态的(stateless)。虽然 它们需要保存登记信息(存储在HDHT中并且与OR并存),但是当分 组在网络中发送时不存在会话建立阶段。如果需要可靠性,则它应当 由更上层协议(例如TCP)来提供。
该体系结构提供用于采用平面标识符所构建的覆盖网络的路由选 择解决方案。平面标识符的优点是标识符分配的自主性,即,无需具 有负责分配标识符的中立管理实体。为了修正系统的可缩放性,路由 选择基于网络标识符而不是终端节点标识符。
图3示出根据本发明的实施例的覆盖网络。在覆盖级,路由选择 算法定义到达目的地网络的下一跳覆盖路由器(next Overlay Routerhop)。在网络域的每一个内部,分组路由选择通过现有的第3层路由
选择协议来进行。
覆盖路由器能够根据网络标识符(NetworkID)将分组路由到给定 目的地。网络标识符属于其中当前连接目的地节点的网络。尝试与另 一个终端节点(目的地)进行通信的一个终端节点(始发方)应当能够发 现目的地节点当前与其连接的网络。在一个示范实施例中,这个信息 可经由分级分布式哈希表(HDHT)来获得。分级解决方案改进网络设计 的可缩放性,因为它允许聚合。重要的是要强调,HDHT结构是用于 名称解析过程的选项。给定节点标识符,HDHT将釆用节点当前与其 附连的网络的标识符进行应答。这个信息稍后插入数据分组,以便进 行^^由的目的。
图4示出基于根据本发明的实施例的平面标识符的寻址方案。定 义三种标识符类型,第一种具有终端节点402的范围,第二种具有覆 盖路由器406的范围,以及最后一种具有网络域404的范围。标识符 以十六进制格式来表示。标识符是公钥的哈希,并且没有呈现任何种 类的结构。在这个示例中,标识符为40位长(10个十六进制数位)。
覆盖路由器(OR)从其它OR通告的信息构建其路由选择表。通告 消息用于通知连通性,并且使覆盖路由器之间的会话保持为活动。由 于网络的动态性,所以覆盖路由器之间的相邻关系的维持也是动态的。 通告消息包含覆盖路由器与其附连的网络标识符的集合以及它自己的 标识符。此外,它包含使用洪泛机制从第三路由器所接收的连通性信 息。这个数据的传播的范围限制到网络的一个分支,即,传播没有穿 越核心网络,而是停留在覆盖的一个分支中。与核心网络附连的覆盖 路由器没有将这个信息扩展到核心中。覆盖路由器向系统登记,通知 关于它属于顶层。这样,各覆盖路由器具有它所属的网络分支的完全 图。进行通告的频率是实现相关的。它越快,则路由选择协议将越快 汇聚。
覆盖路由器发送性能消息,该消息用于通告给定虚拟链路的当前条件,例如当前RTT(往返时间)。运行于各OR的过程不断测量虚拟 链路的性能参数-这称作探测过程。网络探测仅在相邻OR之间发送。 参数的强制集合必须由每一个OR实现,而附加参数可设计用于特定 应用。如果在会话超时之前没有发送其它消息,则可只发送"Hello" 消息以便使会话保持为活动。通过选择例如具有最短RTT的路径,性 能消息用于帮助路由选择计算。这样,路由选择协议能够应用业务工 程技术。
图5示出根据本发明的实施例、不同的域中安装的分级DHT节点 的高级框图(又参照图7,因为它是相同网络的不同视图)。HDHT中不 存在检索信息的高速緩存,因为节点和网络可移动,这将使任何高速 緩存的数据失效。例如,网络可完全移动,并因此网络中包含的所有 节点也移动(例如火车或飞机上的嵌入网络)。单个节点(例如膝上型电 脑、掌上电脑、移动电话等)也可从网络X移动到网络Y。
各网络域具有DHT环。网络的一个分支中的环应当合并,以便生 成更高级的结构。为了提供数据定域性,HDHT内的节点的登记存储 在本地DHT环中(其中当前附连节点)。数据存储在本地环中,但是分 级结构中的其它级可有权对它访问。换言之,存储域将始终是本地环, 而访问域可改变。常见情况是希望全球访问域,即,节点可在世界的 所有其它部分本地化。但是,如果终端节点仅希望是在分级结构的较 小部分可访问的,则那也是可能的。例如,终端用户通常希望计算机 或装置是全;求可访问的。当他们访问欧洲的网页但他们物理上位于美 国时,他们希望具有全球连通性。但是,假定某个人在办公室具有不 应当从外部世界访问的膝上型电脑。因此该人将仅在办公室DHT环中 登记该膝上型电脑,从而不允许登记传播。
图6是根据本发明的优选实施例的域合并过程的高级框图。DHT 环根据用于构建分级结构的自底向上方式来合并,否则系统可能进入 不一致状态(环与其它级中已经合并的环进行合并)。另一方面,结构 不是刚性的(rigid),并且环可加入和离开系统。分级DHT必须适合在异构环境中进行工作。到其它DHT环的链 路适合于指向附连到与目的地DHT节点相同的网络域的OR。这样, 创建了间接链路。由于各OR具有OR所在的分支的完整图(map)的事 实,所以这是可能的。它可通过间接链路将查找/存储消息转发给最接 近目的地DHT节点的 一个OR。
节点C属于存在于网络域A和B中的环。DHT节点C是两个域 之间的公共节点。DHT路由选择表存在于两个域的节点的每一个中。 因此,节点C包括两个路由选择表。间接链路通过节点C进行路由, 节点C包括A和B域路由选择表,具有充分信息以在两个环中路由消 息。
随着网络增长,网络功能性的调整是可能的。为各DHT节点提供 附加性能链路,以便实现更好的性能。性能链路的建立基于使用量很 高的节点的收集信息。如果存在节点或网络移动,则由于该解决方案 允许移动性,所以删除性能链路。
定义与不成功搜索关联的最大搜索时间参数。在一些情况下,搜 索功能由于节点中尚未更新的"陈旧,,拓朴结构信息而没有完成。这 些情况是暂时的,因为路由选择协议将向邻域传播拓朴结构变化。
HIP基本交换(HIP Base Exchange)是用于在系统中提供端对端安 全性和终端节点鉴权的选项。基本交换可生成会话密钥,它可通过与 HIP相同的方式用于密码协议(例如封装安全协议)。此外,HDHT中的 终端节点登记可使用提供原始鉴权的安全连接来进行。HDHT节点将 仅允许插入其起源经过适当检验的数据(如果与公钥匹配的私钥的拥 有不能进行,则不登记节点)。
图7示出对于根据本发明的实施例的网络基础设施所应用的 HDHT。各立方体表示一个网络域中安装的一个DHT环。所示的网络 域在拓朴结构上如图5所示组织。域的级和DHT环的级定义为到达核 心所需的覆盖路由器的最小数量加1。例如,如果从一个网络到核心 的最短路径穿越3个覆盖路由器,则这种域的级为4。兄弟环定义为相同级中具有至少一个公共覆盖路由器的环。作为规则,兄弟环应当
合并。如果不存在兄弟环,则该环应当与其上级环合并。DHT环X、 Y、 Z和W处于第4级,并且经过合并以便创建抽象环XYZW(在逻辑 上定义为属于第3级)。抽象环XYZW与环K具有一个公共覆盖路由 器,并因此它们应当合并。根据笫2级的定义,这种合并创建抽象环 XYZWK。这个过程重复进行,直到一个分支中的所有环都加入HDHT; 在这个示例中为第2级的抽象环XYZWKQ。
图8示出根据本发明的实施例、其中驻留在不同的第3层域中的 两个DHT环需要合并的环境。两个实际DHT环(环802和环804)应当 合并,以便生成更高级的结构。根据规则,环802和环804是兄弟环 并且应当合并。系统中的一个节点参与两个环;这是节点Y2(环802) 和X10(环804),它们在物理上是相同节点。按照合并规则,节点Y8 决定建立到节点X12的链路。X12的网络地址对Y8是未知的。但是, Y8知道要到达X12,它应当经过Y2(与X10相同)。因此,它建立间 接链路,并且送往X12的所有DHT消息将转发给Y2, Y2随后将消 息传递给X12(虚线表示间接链路,而实线表示消息沿用(follow)的实际 路径)。在合并发生之后,创建逻辑环806(环XY)。箭头808和810指 明环802和804中的物理与逻辑节点之间的关系。
在本发明的一个实施例中,各覆盖路由器托管DHT节点(未示出), 以便帮助DHT的不同级之间的通信。不同的第3层技术可用于系统中, 并且覆盖路由器是可在异构域之间转发业务的唯一实体。因此,与网 络域连接的所有OR是DHT或Chord环的部分。OR纟皮认为非常稳定, 因为它们没有用于任何其它计算过程。
图9示出使用根据本发明的实施例的覆盖路由器进行通信的过 程。当终端用户X想要与终端用户Y进行通信时,该过程通过发送文 件开始(步骤702)。终端用户X具有带有IP地址(IPv4、 IPv6或私有IP 地址)的计算机。终端用户(Y)具有带有另一个IP地址的计算机,并且 该计算机在域名服务器(DNS)中登记(FQDN -完全合格域名-与NodeID之间的关联)。终端用户Y已经在HDHT中登记其NodeID、 核心RouterID和NetworkID。
终端用户X通过在DNS中进行查找开始通信,以便解析终端用 户Y的FQDN(URL地址)并且获得该资源的NodeID(步骤704)。目的 地节点的目的地NetworkID和核心RouterID可经由HDHT获得。请求 首先发送给最接近的DHT环(步骤706);如果它能解决所请求计算机 的NodeID(步骤708),则该过程完成(步骤710)。如果不能,则将请求 转发给分级结构中的下一级(步骤712)。如果已经到达顶级,则该过程 转移到步骤716,并且确定节点不存在。如果尚未到达顶级,则该过 程转移到步骤714,并且请求被转发给分级结构中的下一级,以及步 骤708重复进行,直至到达顶级。
级数取决于网络的结构;极限通常是在搜索达到顶级时。例如, 在本地搜索的情况下,还可限制搜索范围。这种搜索情况没有向上传 播。指定最大搜索时间也可限制搜索。
在完成名称解析的所述步骤之后,终端用户X能够经由覆盖路由 器向终端用户Y发送数据。分组包含终端用户Y的NetworkID、NodelD 和核心RouterID。通过使用这个信息,覆盖路由器能够将分组传递到 目的地。
上述示范实施例意在所有方面均是对本发明的示例说明而不是限 制。因此,本发明能够在详细实现中进行许多变更,该变更可由本领 域技术人员从本文所包含的描述中得出。所有这类变更和修改均被认 为在如以下权利要求书所定义的本发明的范围和精神之内。
权利要求
1.一种在构建于异构第3层域的覆盖网络中路由数据分组的方法,所述方法包括定义唯一自生成平面标识符并且将其与所述第3层域中的第3层网络地址关联;利用用于将通信会话绑定到所述平面标识符的传输协议;利用适合于在所述覆盖网络以及在所述第3层网络中进行路由的路由器;向适合在所述异构第3层域中进行工作的分级分布式哈希表登记终端节点;以及利用所述数据分组中包含网络标识符的报头,经由所述覆盖网络中的覆盖路由器在已登记终端节点之间路由数据分组。
2. 如权利要求l所述的方法,其中,所述自生成平面标识符是经 过哈希处理的密码密钥。
3. 如权利要求l所述的方法,其中,所述第3层网络中的域包括 至少 一个分布式哈希表环。
4. 如权利要求l所迷的方法,利用覆盖路由器的步骤还包括 接收来自所述覆盖网络中的其它覆盖路由器的信息; 测量所述覆盖网络中的所述覆盖路由器之间的虚拟链路性能; 向所述覆盖网络中的其它覆盖路由器分发拓朴结构信息和虚拟链路性能测量;向相邻覆盖路由器发送包含给定虚拟链路的当前条件的性能消息。
5. 如权利要求4所述的方法,其中,发送性能消息还包括通过确 定包含往返时间、吞吐量和丢失率的参数来确定链路性能。
6. 如权利要求l所述的方法,其中,所述第3层网络地址包括IPv4 地址、IPv6地址和私有IP地址。
7. 如权利要求1所述的方法,所述网络标识符包括源标识符、目 的地标识符、目的地节点的网络标识符以及所述目的地节点的核心覆 盖路由器标识符,所述核心覆盖路由器与同构核心网络关联。
8. 如权利要求7所述的方法,还包括使用分级分布式哈希表来 获得所述网络标识符和所述核心覆盖路由器标识符。
9. 如权利要求1所述的方法,还包括向最接近始发节点的DHT环发送名称解析请求,以便确定目的地 节点的标识符。
10. 如权利要求9所述的方法,还包括在向更高级转发所述名称解析请求之前确定是否已经到达DHT环的分级结构中的顶级,其中如果已经到达所述顶级,则推断所述目的地节点不存在,以及 如果尚未到达所述顶级并且没有找到所述目的地,则将所述请求转发给所述分级结构中的下一级,并且重复进行,直至已到达DHT环的所述分级结构中的所述顶级或者找到了所述节点并且解析了所述名称。
11. 一种构建于异构第3层域的覆盖网络系统,该体系结构包括 用于定义唯一自生成平面标识符并且将其与所述第3层域中的第3层网络地址关联的部件;用于将通信会话绑定到所述平面标识符而不是所述第3层网络地 址的传输协议;适合于在所述覆盖网络以及在所述第3层网络中进行路由的至少 一个覆盖路由器,所述覆盖路由器适合于在不同的第3层协议之间进 行转换;以及用于向适合在异构第3层网络中进行工作的分级分布式哈希表登 记终端节点的登记部件;其中所述覆盖路由器用于利用所述数据分组的覆盖报头中包含的网络 标识符来在所述覆盖网络中的已登记终端节点之间路由数据分组。
12. 如权利要求11所述的覆盖网络系统,其中,所述第3层网络中的域包括至少 一个分布式哈希表环。
13. 如权利要求11所述的覆盖网络系统,所述覆盖路由器还包括 用于接收来自所述覆盖网络中的其它覆盖路由器的信息的部件; 用于测量所述覆盖网络中的所述覆盖路由器之间的虚拟链路性能的测量部件;用于向所述覆盖网络中的其它覆盖路由器分发拓朴结构信息和虚 拟链路性能测量的分发部件;用于向相邻覆盖路由器发送包含给定虚拟链路的当前条件的性能 消息的传输部件。
14. 如权利要求17所述的覆盖网络系统,还包括用于使用分级 分布式哈希表来获得所述网络标识符和所述核心覆盖路由器标识符的 部件。
15. 如权利要求11所述的覆盖网络系统,还包括用于向最接近始发节点的DHT环发送名称解析请求、以便确定目 的地节点的标识符的部件。
16. 如权利要求19所述的覆盖网络系统,还包括 用于在向更高级转发所述名称解析请求之前确定是否已经到达DHT环的分级结构中的顶级的部件,其中如果已经到达所述顶级但没有对所述请求的响应,则推断所述目 的地节点不存在,以及如果尚未到达所述顶级,则将所述请求转发给所述分级结构中的 下一级,并且重复进行,直至已到达DHT环的所述分级结构中的所述 顶级或者找到了所述节点并且解析了所述名称。
17. —种合并异构网络域中的DHT环的方法,其中各域包括DHT 环,所述方法包括确定节点为第 一和第二 DHT环所共有;通过建立经由/>共节点的间接链路,启动所述第一 DHT环中的节点与所述第二 DHT环中的节点之间的链路;创建所述第一与第二 DHT环之间的间接链路,所述第一和第二 DHT环处于相同分级等级并且具有公共的至少 一个覆盖路由器;以及创建到设置在所述DHT环分级结构中的更高级的DHT环的虚拟 链路,直到所有DHT环合并为单个逻辑环。
18. 如权利要求17所述的方法,其中,创建所述第一与第二DHT 环之间的间接链路还包括使DHT环之间的链路适合指向附连到与目 的地DHT节点相同的网络域的覆盖路由器。
19. 如权利要求17所述的方法,其中,DHT路由选择表存在于所 述DHT环的每个的所述节点的每一个中,以及两种节点所共有的所述 节点包括来自两个DHT环的表。
20. 如权利要求17所述的方法,其中,域的所述级和DHT环的 所述级定义为到达核心网络所需的覆盖路由器的最小数量加1。
21. 如权利要求20所述的方法,其中,如果不存在相同分级等级 上的环,则当存在为所述特定DHT环和下一个更高DHT环所共有的 至少一个覆盖路由器时,特定DHT环可与所述DHT环分级结构的所 述级中下一个更高的DHT环合并。
22. —种用于在构建于异构第3层域的覆盖网络中路由数据分组 的覆盖路由器,所述覆盖路由器包括接收器部件,用于接收来自向适合在所述异构第3层域中进行工 作的分级分布式哈希表登记的终端节点的包含平面标识符的消息;用于将所述平面标识符与所述第3层域中的第3层网络地址关联 的部件;用于利用传输协议将通信会话绑定到所述平面标识符的部件; 用于在不同的第3层协议之间进行转换的部件;以及 用于在所述覆盖网络中路由所述消息的部件。
23. 根据权利要求22所述的覆盖路由器,还包括用于根据所述 数据分组的覆盖报头中包含的网络标识符来路由数据分组的部件。
24. 根据权利要求23所述的覆盖路由器,还包括 用于接收来自所述覆盖网络中的其它覆盖路由器的信息的部件; 用于测量所述覆盖网络中的所述覆盖路由器之间的虚拟链路性能的部件;用于向所述覆盖网络中的其它覆盖路由器分发拓朴结构信息和虚 拟链路性能测量的部件;以及用于向相邻覆盖路由器发送包含给定虚拟链路的当前条件的性能 消息的传输部件。
25. 根据权利要求24所述的覆盖路由器,还包括用于向最接近 始发节点的DHT环发送名称解析请求、以便确定目的地节点的标识符 的部件。
26. 根据权利要求22所述的覆盖路由器,其中,所述覆盖网络包 括网格结构,所述路由器还包括由所述覆盖路由器所利用的覆盖路由选择协议;用于分发拓朴结构信息以及在覆盖路由器之间进行的虚拟链路性 能的测量的部件,所述拓朴结构信息和测量信息在所述覆盖路由器之 间交换,以便构建拓朴结构图;用于获得目的地终端节点的NetworkID和核心覆盖RouterID并且 将其插入数据分组的部件,以及用于根据所述目的地终端节点的所述NetworkID和核心覆盖 RouterID向所述目的地终端节点发送所述数据分组的传输部件。
全文摘要
提出一种能够根据平面标识符进行路由选择的链路状态覆盖路由选择协议。基于平面标识符的5路由选择所存在的很基本的问题在于,标识符空间不能聚合。所有现有的路由选择基于分级结构和IP地址到网络地址的聚合,即所谓的子网化。所提出的路由选择协议能够判定到目的地的最佳路径,其中考虑了不同的可能参数(例如往返时间)。通过不根据单个终端节点标识符进行判定、而是根据网络标识符进行路由选择判定,来解决10协议的可缩放性。
文档编号H04L12/24GK101589581SQ200780050344
公开日2009年11月25日 申请日期2007年11月23日 优先权日2006年11月27日
发明者A·韦林, V·索扎 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1