映射信息交换的方法及映射节点的制作方法

文档序号:7702622阅读:174来源:国知局
专利名称:映射信息交换的方法及映射节点的制作方法
技术领域
本发明涉及通信行业核心网与IP技术领域,尤其涉及映射信息交换的方法及映 射节点。
背景技术
随着互联网技术的不断发展,核心路由表规模急速膨胀,造成路由通告和计算的 开销增大,路由收敛时间变长。Multi-homing (多宿主)、Traffic Engineering (流量工 程)等技术的广泛使用,破坏了地址前缀的可聚合性,造成了核心路由表的膨胀。所谓 Multi-homing,就是端网络同时接入多个ISP (Internet Service Provider,互联网服务提 供商),比如可以同时连接CERNET和商业网络,但端网络仍然使用同一个的网络IP地址。为了解决上述问题,互联网研究任务组(Internet Research TaskForce,简称 I RTF)的路由研究工作组(Routing Research Group,简称RRG)提出了 APT、LISP等多种解 决方案,这些方案的都基于地址分离的思想,采用地址映射和封装的路由模型。在这种路由 模型下,需要建立一个新的映射服务系统来提供映射服务,以LISP为例,在其基础框架下 有LISP-DHT、LISP-ALT、LISP-CONS、LISP-NERD等不同的具体方案,区别主要在于它们分别 采用了不同的映射服务系统。现有的LISP-DHT采用分布式哈希表(Distributed Hash Table,简称DHT)来分 布式存储映射表,具体基于Chord协议。Chord协议采用k位的ChordID作为节点标示,ID 形成一个首尾相接的环。LISP-DHT以地址块为单位为边缘网分配地址,即边缘网中的每台 用户主机都从这个地址块中取一个地址来使用。在LISP-DHT映射系统中主要有两种角色提供映射的服务器和查询映射的隧道 路由器,其中隧道路由器又包括隧道入口路由器(Ingress Tunneling Router,简称ITR)和 隧道出口路由器(EgressTurmeling Router,简称ETR)。整个系统可以看作是混合PUSH/ PULL模型映射采用PUSH的方式在Chord环中分布式存储,而当隧道路由器需要映射时会 以PULL的方式显式地向映射服务器发送请求。网络拥有者需要控制自治域来负责提供针对其边缘网地址的映射,而不允许任意 服务器来负责该映射。所以在LISP-DHT中不会像Chord那样任意为节点分配ID,例如通过 某Hash函数进行分配。在实现本发明过程中,发明人发现现有技术LISP-DHT没有给出应用于 Multi-homing场景的技术方案。

发明内容
本发明的目的是解决现有技术中LISP-DHT方案不能应用于Multi-homing场景的 缺陷,提出一种映射信息交换的方法及映射节点,采用基于Kademlia协议的LISP-DHT技 术,可以实现LISP-DHT方案在Multi-homing场景下的应用。为实现上述目的,根据本发明的一个方面,提供了一种映射信息交换的方法,应用于可扩展路由架构的Multi-homing场景,采用Kademlia协议,核心网络中各映射节点均维 护自身的映射关系表;映射关系表包括其他映射节点的映射信息及自身映射节点与其他映 射节点的ID距离,映射信息包括映射节点的ID,及映射节点所在映射服务器在核心网络的 网络地址,ID距离为两个映射节点的ID异或运算的结果;当新增与核心网络中已有映射节 点Y的ID相同的映射节点X时,包括步骤A,映射节点X获取已存在于核心网络的映射节 点W的核心网络的网络地址;步骤B,根据映射节点的映射信息,以映射节点W为起点,通过 收敛算法在ID距离上逐渐逼近映射节点Y,直至发现映射节点Y,步骤C 映射节点X获取 与映射节点Y的核心网络的网络地址。本技术方案中,当网络中存在多个与映射节点Y的ID相同的映射节点时,步骤C 具体为映射节点Y将自身映射信息及与映射节点Y的ID相同的映射节点的映射信息发送 至映射节点X ;映射节点X将自身映射信息发送至映射节点Y及多个与映射节点Y的ID相 同的映射节点。本技术方案中,映射关系表为κ-bucket表;κ-bucket表由预设的T行链表组成, 其中,0 ( T <映射节点ID的位数;第i行链表保存和该映射节点距离为2i 2i+1的映射 节点的信息。本技术方案中,映射节点的ID为160位,当映射节点对应的边缘网络的IP地址为 IPv4类型时,映射节点ID的低32位对应边缘网络地址块中最大的IP地址,其余各位均为 0 ;当映射节点对应的边缘网络的IP地址为IPv6类型时,映射节点ID的低128位对应边缘 网络地址块中最大的IP地址,其余各位均为0。本技术方案中,步骤B具体包括步骤Bl 根据映射节点W的映射信息,映射节点 X向映射节点W查询映射节点Y ;步骤B2 映射节点W判断自身是否为映射节点Y,如是,执 行步骤C,否则,执行步骤B3 ;步骤B3 映射节点W获取自身至映射节点Y的ID距离;步骤 B4:根据ID距离和预设函数,从映射节点W的K-bucket表中获取满足收敛算法的α个次 近映射节点,并将α个次近映射节点的映射信息发送至映射节点X,次近映射节点至映射 节点Y的ID距离比映射节点W至映射节点Y的ID距离短;步骤Β5:分别以α个次近映射 节点代替映射节点W,执行步骤Β1-Β5。优选地,本技术方案中,预设函数为“ [Lo&d] ”,“ [] ”表示向下取整,d为映射节点 W至映射节点Y的ID距离。优选地,本技术方案中,步骤C之后还包括步骤D 映射节点X向与自身ID相同 的其他映射节点发送探测消息;步骤E 当未收到与自身ID相同的其他映射节点的响应时, 删除与自身ID相同的其他映射节点。本技术方案中,映射节点X、Y、W及其他映射节点存在于一个或多个映射服务器。本技术方案中,步骤C中,映射节点之间交换映射信息的报文包括核心网络地 址字段,用于存储核心网络的网络地址;映射节点ID字段,用于存储映射节点的ID ;AS Number字段,用于标记映射节点所在映射服务器对应的AS。优选地,本技术方案中,上述报文还可以包括=Address Len字段,用于标记映射节 点核心网络地址字段的有效长度;Prior字段,用于标记该核心网络地址对应映射的优先 级;本技术方案中,报文还可以包括TAF字段,用于标记核心网络的网络地址的类型;当网络地址的类型为IPv4格式时,核心网络地址字段为32位,或当网络地址的类型为 IPv6格式时,核心网络地址字段为128位。为实现上述目的,根据本发明的另一个方面,提供了一种映射节点,应用于可扩展 路由架构的Multi-homing场景,采用Kademlia协议,包括存储模块,用于存储并维护自身 的映射关系表,映射关系表包括其他映射节点的映射信息及自身映射节点与其他映射节点 的ID距离,映射信息包括映射节点的ID,及映射节点所在映射服务器在核心网络的网络地 址,ID距离为两个映射节点的ID “异或运算”的结果;查询模块,用于当加入核心网络时, 在核心网络中,以已知的映射节点为起点,通过收敛算法在核心网络中查询与自身的ID相 同的其他映射节点;交换模块,用于同与自身的ID相同的其他映射节点交换映射信息。本技术方案中,映射关系表为K-bucket表;K-bucket表由预设的T行链表组成, 其中,0≤T < 160 ;第i行链表保存和该映射节点距离为2i 2i+1的映射节点的信息。优选地,本技术方案中,当网络中存在多个与所述映射节点的ID相同的映射节点 时交换模块,用于接收所述多个与映射节点ID相同的映射节点的映射信息;并将自身映 射信息发送至所述多个与映射节点ID相同的映射节点。本技术方案中,根据对应边缘网络的地址块,获取所述映射节点的ID,其中,所述 映射节点ID的位数为160位;当所述映射节点对应的边缘网络的IP地址为IPv4类型时, 所述映射节点ID的低32位对应所述边缘网络地址块中最大的IP地址,其余各位均为0 ; 当所述映射节点对应的边缘网络的IP地址为IPv6类型时,所述映射节点ID的低128位对 应所述边缘网络地址块中最大的IP地址,其余各位均为0。优选地,本技术方案中,映射节点还可以包括探测模块,用于向与自身ID相同的 其他映射节点发送探测消息当未收到与自身ID相同的其他映射节点的响应时,删除与自 身ID相同的其他映射节点。本发明各实施例的映射信息交换的方法及映射节点,通过迭代算法寻找与自身ID 相同的其他映射节点,并与之交换映射信息。因此,本发明各实施例采用基于Kademlia协 议的LISP-DHT技术,可以实现LISP-DHT方案在Multi-homing场景下的应用。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例共同用于解释本发明,并不构成对本发明的限制。在附图中图1为基于地址分离的可扩展路由架构的架构图;图2为本发明实施例一映射信息交换方法的流程图;图3为本发明实施例二 K-bucket表数据结构的示意图;图4为本发明实施例二映射信息交换方法的流程图;图5为本发明实施例三IPv4格式下映射信息报文格式的示意图;图6为本发明实施例三IPv6格式下映射信息报文格式的示意图。
具体实施例方式以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用 于说明和解释本发明,并不用于限定本发明。实施例一本发明基于地址分离的可扩展路由架构。图1为基于地址分离的可扩展路由架构 的架构图。如图1所示。在该架构中,地址空间被分为核心网络空间(CoreSite Address Space)及边缘网络空间(EdgeSiteAddress Space),从边缘网络中产生的数据包不能直接 在核心网络中转发,需要在ITRdngress Tunneling Router,入口隧道路由器)进行封装, 其外部包头的源地址为ITR的核心网的网络地址,目的地址为内部包头目的地址所对应的 ETR(Egress Tunneling Router,出口隧道路由器)的核心网的网络地址。而这些核心网的 网络地址的获取需要通过查询一个部署在核心网中的映射服务系统来完成由ITR向映射 服务系统中的映射服务器提交查询请求,接着按照DHT (DistributedHash Table,分布式哈 希表)方式来在映射服务器所形成的Overlay中找到相应的映射信息。本实施例及下述各 实施例中,映射节点为逻辑节点,其在核心网上根据Kademlia协议组成Kademlia Overlay 逻辑网。本发明采用基于Kademlia协议的DHT方式来分布式存储映射信息。Kademlia 协议中,以异或运算(XOR)为距离度量,建立一种全新的DHT拓扑结构,每条映射存储在 Kademlia Overlay中一个映射节点上,映射关系是一对一的,而每台映射服务器上可以容 纳多个映射节点。如某ISP下端有5个用户边缘网络分别为A、B、C、D、E,其边缘网络地址 块前缀分别为a、b、c、d、e,对应的核心网的网络地址为V、W、χ、y、z,边缘网络地址块前缀 与核心网的网络地址一一映射,这5条映射将会形成5个映射节点,而这5个映射节点可能 会以任意组合物理存在于该ISP所管辖的一个或多个映射服务器上。本实施例提出的方法,应用于可扩展路由架构的Multi-homing场景,采用 Kademlia协议。核心网络中,各映射节点均维护自身的映射关系表;映射关系表包括其 他映射节点的映射信息及自身映射节点与其他映射节点的ID距离,映射信息包括映射节 点的ID,及映射节点所在映射服务器在核心网络的网络地址,ID距离为两个映射节点的 ID “异或运算”的结果。图2为本发明实施例一映射信息交换方法的流程图。如图2所示, 当新增与核心网络中已有映射节点Y的ID相同的映射节点X时,本实施例包括步骤S102 映射节点X获取已存在于核心网络的映射节点W的核心网络的网络地 址;步骤S104 根据映射节点的映射信息,以映射节点W为起点,通过收敛算法在ID 距离上逐渐逼近映射节点Y,直至发现映射节点Y ;步骤S106 映射节点X获取映射节点Y的核心网络的网络地址。本实施例中,映射关系表为K-bucket表;K-bucket表由预设的T行链表组成,其 中,0 ≤ T <映射节点的位数,在Kademlia协议中规定节点的位数位160位;第i行链表保 存和该映射节点距离为21 2i+1的映射节点的信息。本实施例步骤S106中,映射节点之间交换映射信息可以是首先映射节点Y向X发 送映射信息,而后接收映射节点X的映射信息;也可以是首先映射节点X向Y发送映射信息,而后接收映射节点Y的映射信息。当网络中存在多个与映射节点Y的ID相同的映射节点时,步骤C具体为映射节 点Y将自身映射信息及与映射节点Y的ID相同的映射节点的映射信息发送至映射节点X ; 映射节点X将自身映射信息发送至映射节点Y及多个与映射节点Y的ID相同的映射节点。 本实施例中,映射节点X、Y、W存在于一个或多个映射服务器。本实施例中,步骤C之后还可 以包括步骤S108 映射节点X向与自身ID相同的其他映射节点发送探测消息;步骤SllO 当未收到与自身ID相同的其他映射节点的响应时,删除与自身ID相 同的其他映射节点。本实施例提出的方法,当某个边缘网络接入到多个ISP的情况下(即 Multi-homing场景),新映射信息的主映射节点X在将新映射信息加入到映射系统中时,会 在Kadmelia Overlay中查询到已拥有该ID的另一个映射节点Y,与基本的Kadmelia方法 不同的是,这时并不会产生一个“ID冲突”错误,而是将新映射信息告知映射节点Y,并从Y 得到其已经存储的映射信息,从而X与Y均得知到达目的边缘网络的所有映射信息。并且 X与Y之间也会每隔一个周期相互刺探对方是否存活。本实施例提出一种映射信息交换的方法,以实现在现有的核心网络中查找与自身 ID相同的映射节点,并与其交换映射信息,从而使LISP-DHT技术能够应用于Multi-homing 场景。实施例二为了实现实施例一中在核心网络中查找与自身ID相同的映射节点,在实施例一 的基础上,本实施例提供了基于收敛算法的查找方法。本实施例中,每个映射节点都会被分配一个160位的值来作为ID,我们采用边缘 网络地址块中最大的一个IP地址来作为这个ID,该IP地址作为边缘网络中的预留地址不 被分配给边缘主机。如某边缘网络地址前缀为162. 137. 2/24,映射到核心网络的网络地址 为134. 121. 3. 56,则该映射对应的映射节点的ID低32位用16进制表示为A28902FE用点 分十进制表示为162. 137. 2. 254,剩余128位均为0。而该映射将会存放在这个主映射节点 以及与其ID距离最近的若干个,推荐大于等于1,映射节点上,上述ID距离为两个映射节点 的ID “异或运算”的结果。每个Kademlia节点会维护一张自己独有K-bucket表,保存其他映射节点的ID及 核心网的网络地址。图3为本发明实施例二 K-bucket表数据结构的示意图。如图3所示, 每个映射节点的映射信息包括映射节点的ID,及映射节点所在映射服务器在核心网络的网 络地址。K-bucket表由160行链表组成,第i行链表(0 < = i < 160)保存和该节点距离 为2i 2(i+l)的一些节点的信息。当i很大时,为了限制表的大小,保存的映射节点数 不超过预设的K个,例如K = 4。本实施例中,当某个边缘网络接入到多个ISP的情况下(即Multi-homing场景), 新映射信息的主映射节点X在将新映射信息加入到映射系统中时,会在Kadmelia Overlay 中查询到已拥有该ID的另一个映射节点Y。图4为本发明实施例二映射信息交换方法的流 程图。如图4所示,本实施例映射信息交换的方法包括步骤S202 获知已存在于Kadmelia Overlay中的一个映射节点W,将其加入到X的K-bucket表中;步骤S204 调用FIND_N0DE,向W查询ID为X的映射节点信息;步骤S206 映射节点W接收到X发来的FIND_N0DE调用,计算从W到X的距离d (d =W XOR X);步骤S208 从映射节点W的K-bucket表中的第[lo&d]个链表中取出α个次近 映射节点,次近映射节点至映射节点Y的ID距离比映射节点W至映射节点Y的ID距离短;步骤S210 映射节点W检查自己是否是ID为X的映射节点。若是,执行步骤S216, 否则执行步骤S212;步骤S212 向映射节点X返回这α个次近映射节点的映射信息; 步骤S214 映射节点X调用FIND_N0DE,继续向W返回的α个次近映射节点查询 ID为X的映射节点,重复步骤S206-S212,直到发现ID为X的另一个映射节点Y,即Y = X ;步骤S216 接收到映射节点Y发来的映射信息,保存在自己的映射表中;步骤S218 映射节点X向映射节点Y发送自身的映射信息。如果有关该ID的映射有变化,例如重新绑定另一个核心网的网络地址,则发信息 通知所有“Multi-homing伙伴”,帮助它们更新所保存的映射信息。因为边缘网络接入的 ISP 一般不会太多,而且映射绑定关系也不会很频繁,所以这种PUSH的方式能够高效地进 行更新。“Multi-homing伙伴”间采用TCP协议进行映射信息交换,以保证可靠性。本实施例中,给出了通过具体收敛算法查找与自身ID相同的映射节点的具体步 骤,本实施例具有实施例一的全部有益效果,并且可实施性更强。本实施例中,采用基于Kademlia协议的分布式存储方式,查询效率更高,映射系 统可扩展性更强。此外,某个或某几个映射节点失效时,只要有一个映射节点在线,就不会 影响映射服务的有效提供,一方面无需人工配置,降低网络管理者的工作复杂度;另一方面 可以不专门设置冗余备份服务器,在不降低系统可用性的前提下可以降低ISP投入成本。实施例三为了实现实施例一中ID相同的映射节点的映射信息的交换,在实施例一的基础 上,本实施例提供了一种报文结构。本实施例中,映射节点之间交换映射信息的报文包括核心网络地址字段,用于存 储核心网络的网络地址;映射节点ID字段,用于存储映射节点的ID ;AS Number字段,用于 标记映射节点所在映射服务器对应的自治域。此外,本实施例中,报文还可以包括=Address Len字段,用于标记映射节点ID字 段的有效长度;Prior字段,用于标记该核心网络地址对应映射的优先级;TAF字段,用于标 记核心网络的网络地址的类型;当网络地址的类型为IPv4格式时,核心网络地址字段为32 位,或当网络地址的类型为IPv6格式时,核心网络地址字段为128位。图5为本发明实施例三IPv4格式下映射信息报文格式的示意图。图6为本发明实 施例三IPv6格式下映射信息报文格式的示意图。如图5和图6所示,报文包括以下部分U TAF(Transit Address Family)字段与 RFC1700 规范中 AFI (Address Family Identifier)的定义一致,目前用到的是TAF= 1和2,分别表示核心网络使用的地址族为 IPv4 和 IPv6。2、Address Len字段表示映射节点核心网络地址字段的有效长度,单位是Octet。因为以后如果要扩展的话,Core Address可以不光是IPv4和IPv6的协议,所以其长度需 要在字段中表示出来。3, Address Len字段之后的8位为保留位。4、接下来的是160位的映射节点ID,即Mapping Node ID。5、此后为映射节点在核心网中的网络地址字段,即Core Address字段,的长度取 决于TAF字段的值,如果TAF = 1,则Core Address的长度为32位;如果TAF = 2,则Core Address的长度为128位。6、AS Number字段,标识上述映射节点所在的映射服务器所对应的自治域;7、Priority字段,分别用来标示该核心网络地址对应映射的优先级。本实施例进一步完善了技术方案。本实施例中,给出了通过具体的映射信息报文 结构,本实施例具有实施例一的全部有益效果,并且可实施性更强。实施例四本实施例提供了一种映射节点,应用于可扩展路由架构的Multi-homing场景,基 于Kademlia协议,包括存储模块,用于存储并维护自身的映射关系表,映射关系表包括 其他映射节点的映射信息及自身映射节点与其他映射节点的ID距离,映射信息包括映射 节点的ID,及映射节点所在映射服务器在核心网络的网络地址,ID距离为两个映射节点的 ID “异或运算”的结果;查询模块,用于当加入核心网络时,在核心网络中,以已知的映射节 点为起点,通过收敛算法在核心网络中查询与自身的ID相同的其他映射节点;交换模块, 用于同与自身的ID相同的其他映射节点交换映射信息。本实施例中,当网络中存在多个与所述映射节点ID相同的映射节点时,上述交换 模块,用于接收所述多个与映射节点ID相同的映射节点的映射信息;并将自身映射信息发 送至所述多个与映射节点ID相同的映射节点。本实施例实现的方法可参照实施例一 _三的相关说明,并具有实施例一的全部有 益效果,此处不再重述。实施例五本实施例在实施例四的基础上,对映射节点进一步说明。映射节点还可以包括探 测模块,用于向与自身ID相同的其他映射节点发送探测消息当未收到与自身ID相同的其 他映射节点的响应时,删除与自身ID相同的其他映射节点。本实施例的映射节点,基于Kademlia协议;映射关系表为K-bucket表;K-bucket 表由预设的τ行链表组成,其中,0彡T < 160 ;第i行链表保存和该映射节点距离为21 2i+1的映射节点的信息。ID距离为两个映射节点的ID“异或运算”的结果。本实施例中,映 射节点之间交换映射信息可以为实施例三给出的报文。本实施例实现的方法可以参照实施例一-三的相关说明,并具有上述实施例的全 部有益效果,此处不再重述。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于可读取存储介质中,该程序在执行时, 执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟、光盘、网络节 点、调度器等各种可以存储程序代码的介质。最后应说明的是以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可 以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
权利要求
一种映射信息交换的方法,应用于可扩展路由架构的Multi homing场景,其特征在于,采用Kademlia协议,核心网络中各映射节点均维护自身的映射关系表;所述映射关系表包括其他映射节点的映射信息及自身映射节点与其他映射节点的ID距离;所述映射信息包括映射节点的ID,及所述映射节点所在映射服务器在所述核心网络的网络地址;所述ID距离为两个映射节点的ID异或运算的结果;当新增与核心网络中已有映射节点Y的ID相同的映射节点X时,包括步骤A映射节点X获取已存在于所述核心网络的映射节点W的核心网络的网络地址;步骤B根据映射节点的映射信息,以所述映射节点W为起点,通过收敛算法在ID距离上逐渐逼近所述映射节点Y,直至发现映射节点Y;步骤C映射节点X获取所述映射节点Y的核心网络的网络地址。
2.根据权利要求1所述的方法,其特征在于,当所述核心网络中存在多个与映射节点Y 的ID相同的映射节点时,所述步骤C包括映射节点Y将自身映射信息及与所述自身ID相同的映射节点的映射信息发送至映射 节点X ;映射节点X将自身映射信息发送至映射节点Y及所述多个与映射节点Y的ID相同的 映射节点。
3.根据权利要求2所述的方法,其特征在于,所述映射关系表为K-bucket表;所述 K-bucket表由预设的T行链表组成,0 < T <映射节点ID的位数;第i行链表保存和该映 射节点的ID距离为21 2i+1的映射节点的信息。
4.根据权利要求3所述的方法,其特征在于,所述映射节点ID的位数为160位;根据 对应边缘网络的地址块,获取所述映射节点的ID,其中当所述映射节点对应的边缘网络的IP地址为IPv4类型时,所述映射节点ID的低32 位对应所述边缘网络地址块中最大的IP地址,其余各位均为0 ;当所述映射节点对应的边缘网络的IP地址为IPv6类型时,所述映射节点ID的低128 位对应所述边缘网络地址块中最大的IP地址,其余各位均为0。
5.根据权利要求4所述的方法,其特征在于,所述步骤B具体包括步骤Bl 根据映射节点W的映射信息,映射节点X向映射节点W查询映射节点Y ; 步骤B2 映射节点W判断自身是否为映射节点Y,如是,执行步骤C,否则,执行步骤B3 ; 步骤B3 映射节点W获取自身至映射节点Y的ID距离;步骤B4 根据所述ID距离和预设函数,从映射节点W的K-bucket表中获取预设α个 次近映射节点,并将所述α个次近映射节点的映射信息发送至映射节点X,其中,所述次近 映射节点至映射节点Y的ID距离比映射节点W至映射节点Y的ID距离短;步骤Β5:分别以所述α个次近映射节点代替所述映射节点W,执行所述步骤Β1-Β5。
6.根据权利要求5所述的方法,其特征在于,所述预设函数为“[L0g2d] ”,所述“[]”表 示向下取整,d为映射节点W至映射节点Y的ID距离。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述步骤C之后还包括 步骤D 映射节点X按预设周期向与自身ID相同的其他映射节点发送探测消息; 步骤E 当未收到所述与自身ID相同的其他映射节点的响应时,删除所述与自身ID相同的其他映射节点。
8.根据权利要求1-6中任一项所述的方法,其特征在于,所述映射节点X、Y、W存在于 一个或多个映射服务器。
9.根据权利要求1-6中任一项所述的方法,其特征在于,所述步骤C中,映射节点之间 交换映射信息的报文包括核心网络地址字段,用于存储核心网络的网络地址;映射节点ID字段,用于存储映射节点的ID ;AS Number字段,用于标记所述映射节点所在映射服务器对应的AS。
10.根据权利要求9所述的方法,其特征在于,所述报文还包括 Address Len字段,用于标记核心网络地址字段的有效长度; Prior字段,用于标记所述核心网络地址对应映射的优先级。
11.根据权利要求10所述的方法,其特征在于,还包括TAF字段,用于标记核心网络的 网络地址的类型;当所述网络地址的类型为IPv4格式时,所述核心网络地址字段为32位;或当所述网络 地址的类型为IPv6格式时,所述核心网络地址字段为128位。
12.—种映射节点,应用于可扩展路由架构的Multi-homing场景,其特征在于,采用 Kademlia协议,包括存储模块,用于存储并维护自身的映射关系表,所述映射关系表包括其他映射节点的 映射信息及自身映射节点与其他映射节点的ID距离,所述映射信息包括映射节点的ID,及 所述映射节点所在映射服务器在所述核心网络的网络地址,所述ID距离为两个映射节点 的ID异或运算的结果;查询模块,用于当加入核心网络时,在所述核心网络中,以已知映射节点为起点,通过 收敛算法在所述核心网络中查询与自身的ID相同的其他映射节点;交换模块,用于同所述与自身的ID相同的其他映射节点交换映射信息。
13.根据权利要求12所述的映射节点,其特征在于,当所述网络中存在多个与所述映 射节点的ID相同的其它映射节点时所述交换模块,用于接收所述多个与映射节点ID相同的映射节点的映射信息;并将自 身映射信息发送至所述多个与映射节点ID相同的其他映射节点。
14.根据权利要求12所述的映射节点,其特征在于,所述映射关系表为K-bucket表; 所述K-bucket表由预设的T行链表组成,其中,0 < T <映射节点ID的位数;第i行链表 保存和所述映射节点的ID距离为21 2i+1的映射节点的信息。
15.根据权利要求14所述的映射节点,其特征在于,根据对应边缘网络的地址块,获取 所述映射节点的ID,其中,所述映射节点ID的位数为160位;当所述映射节点对应的边缘网络的IP地址为IPV4类型时,所述映射节点ID的低32 位对应所述边缘网络地址块中最大的IP地址,其余各位均为0 ;当所述映射节点对应的边缘网络的IP地址为IPV6类型时,所述映射节点ID的低128 位对应所述边缘网络地址块中最大的IP地址,其余各位均为0。
16.根据权利要求12-15中任一项所述的映射节点,其特征在于,还包括探测模块,用于向与自身ID相同的其他映射节点发送探测消息当未收到所述与自身 ID相同的其他映射节点的响应时,删除所述与自身ID相同的其他映射节点。
全文摘要
本发明公开了一种映射信息交换的方法及映射节点,涉及通信行业核心网与IP技术领域,应用于可扩展路由架构的Multi-homing场景。本发明各实施例的映射信息交换的方法及映射节点,基于Kademlia协议,通过迭代算法寻找与自身ID相同的其他映射节点,并与之交换映射信息。本发明可以实现LISP-DHT方案在Multi-homing场景下的应用。
文档编号H04L12/56GK101997755SQ20091009181
公开日2011年3月30日 申请日期2009年8月28日 优先权日2009年8月28日
发明者周博, 徐明伟, 曹宇, 火栋, 邓辉, 陈刚 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1