书签 分享 收藏 举报 版权申诉 / 26

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

  • 上传人:a3
  • 文档编号:1088541
  • 上传时间:2018-03-30
  • 格式:PDF
  • 页数:26
  • 大小:1.19MB
  • 摘要
    申请专利号:

    CN200780050344.1

    申请日:

    2007.11.23

    公开号:

    CN101589581A

    公开日:

    2009.11.25

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效|||公开

    IPC分类号:

    H04L12/56; H04L12/24

    主分类号:

    H04L12/56

    申请人:

    艾利森电话股份有限公司

    发明人:

    A·韦林; V·索扎

    地址:

    瑞典斯德哥尔摩

    优先权:

    2006.11.27 US 60/867,347

    专利代理机构:

    中国专利代理(香港)有限公司

    代理人:

    汤春龙;王忠忠

    PDF完整版下载: PDF下载
    内容摘要

    提出一种能够根据平面标识符进行路由选择的链路状态覆盖路由选择协议。基于平面标识符的5路由选择所存在的很基本的问题在于,标识符空间不能聚合。所有现有的路由选择基于分级结构和IP地址到网络地址的聚合,即所谓的子网化。所提出的路由选择协议能够判定到目的地的最佳路径,其中考虑了不同的可能参数(例如往返时间)。通过不根据单个终端节点标识符进行判定、而是根据网络标识符进行路由选择判定,来解决10协议的可缩放性。

    权利要求书

    1.  一种在构建于异构第3层域的覆盖网络中路由数据分组的方法,所述方法包括:
    定义唯一自生成平面标识符并且将其与所述第3层域中的第3层网络地址关联;
    利用用于将通信会话绑定到所述平面标识符的传输协议;
    利用适合于在所述覆盖网络以及在所述第3层网络中进行路由的路由器;
    向适合在所述异构第3层域中进行工作的分级分布式哈希表登记终端节点;以及
    利用所述数据分组中包含网络标识符的报头,经由所述覆盖网络中的覆盖路由器在已登记终端节点之间路由数据分组。

    2.
      如权利要求1所述的方法,其中,所述自生成平面标识符是经过哈希处理的密码密钥。

    3.
      如权利要求1所述的方法,其中,所述第3层网络中的域包括至少一个分布式哈希表环。

    4.
      如权利要求1所述的方法,利用覆盖路由器的步骤还包括:
    接收来自所述覆盖网络中的其它覆盖路由器的信息;
    测量所述覆盖网络中的所述覆盖路由器之间的虚拟链路性能;
    向所述覆盖网络中的其它覆盖路由器分发拓扑结构信息和虚拟链路性能测量;
    向相邻覆盖路由器发送包含给定虚拟链路的当前条件的性能消息。

    5.
      如权利要求4所述的方法,其中,发送性能消息还包括通过确定包含往返时间、吞吐量和丢失率的参数来确定链路性能。

    6.
      如权利要求1所述的方法,其中,所述第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向所述目的地终端节点发送所述数据分组的传输部件。

    说明书

    用于提供覆盖网络的路由选择体系结构的方法和系统
    相关申请的交叉引用
    本申请要求2006年11月27日提交的标题为“覆盖网络的路由选择体系结构”的美国临时申请序号60/867347的权益。上面提及的申请的内容通过引用结合到本文中。
    技术领域
    一般来说,本申请涉及网络,而具体来说,涉及异构第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中的路由选择针对向其中存储密钥的节点发送查询。路由选择表保存相邻节点的集合。相邻关系除了别的以外还可基于物理接近、节点标识符接近、后继和前导关系。
    图1示出Chord环,它可能是最熟知的DHT协议。Chord协议使用快速一致哈希函数,该哈希函数使用例如MD5等密码哈希函数向各节点分配m位标识符。节点通过对它自己的IP地址进行哈希来接收标识符。图1中,m=3,阴影圆圈表示节点,以及密钥1、2和6分别存储在节点1、3和0中。标识符空间可示为以升序顺时针设置的模2m的圆。将密钥k分配给其标识符在标识符空间中等于或跟随k的第一节点。这个节点又称作密钥k的后继节点。
    公认的知识是目前两种功能性使IP地址过负荷:定位符,因为IP地址用于在网络中路由分组;以及识别码,因为IP地址也用于指定接口卡。IP地址中的两种功能性的过负荷是使节点的移动性成为难题的方面之一。可连接自主管理的异构第3层网络,但是目的地的网络地址对另一个节点可能无意义。
    因此,本领域需要用于与异构第3层网络相关联的覆盖网络的可缩放、可靠且有弹性的路由选择体系结构。
    发明内容
    在一个方面,本发明提供一种在覆盖网络中路由数据分组的方法,该覆盖网络构建于异构第3层域。该方法包括以下步骤:定义唯一的自生成平面标识符并且将其与第3层域中的第3层网络地址关联;利用用于将通信会话绑定(bind)到平面标识符而不是第3层网络地址的传输协议;利用能够在覆盖网络以及在第3层网络中进行路由的覆盖路由器(Overlay Router);适合在不同的第3层协议之间进行转换的覆盖路由器;向适合在异构第3层域中进行工作的分级分布式哈希表登记终端节点;以及在覆盖网络中经由覆盖路由器在已登记终端节点之间路由数据分组,利用包含网络标识符而不是终端节点标识符的数据分组中的覆盖路由器报头。
    在另一个方面,本发明提供一种用于构建于异构第3层域的覆盖网络的路由选择体系结构。该体系结构包括:用于定义唯一的自生成平面标识符并且将其与第3层域中的第3层网络地址关联的部件;用于将通信会话绑定到平面标识符而不是第3层网络地址的传输协议;适合在覆盖网络以及在第3层网络中进行路由的至少一个覆盖路由器,覆盖路由器适合在不同的第3层协议之间进行转换;用于向适合在异构第3层网络中进行工作的分级分布式哈希表登记终端节点的登记部件;以及用于在覆盖网络中在已登记终端节点之间路由数据分组、利用包含网络标识符而不是终端节点标识符的数据分组中的覆盖路由器报头的覆盖路由器。
    在又一个方面,本发明提供合并异构网络域中的DHT环的方法,其中各域包括DHT环。该方法包括:确定节点是第一和第二DHT环所共有的,第一和第二DHT环是兄弟环(sibling ring);通过经由公共节点建立间接链路来启动第一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-主机标识协议
    NodeID-自生成终端节点标识符。这个标识符可以是密码的,例如公钥的哈希。
    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)相似,平面标识符是自生成的经过哈希处理的密码密钥,并且不具有任何种类的结构或分级结构。这样,当前在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、NodeID和核心RouterID。通过使用这个信息,覆盖路由器能够将分组传递到目的地。
    上述示范实施例意在所有方面均是对本发明的示例说明而不是限制。因此,本发明能够在详细实现中进行许多变更,该变更可由本领域技术人员从本文所包含的描述中得出。所有这类变更和修改均被认为在如以下权利要求书所定义的本发明的范围和精神之内。

    关 键  词:
    用于 提供 覆盖 网络 路由 选择 体系结构 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:用于提供覆盖网络的路由选择体系结构的方法和系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1088541.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1