CN103139079B - P2p叠加网中路由表修复方法及p2p叠加网节点 - Google Patents
P2p叠加网中路由表修复方法及p2p叠加网节点 Download PDFInfo
- Publication number
- CN103139079B CN103139079B CN201110384869.7A CN201110384869A CN103139079B CN 103139079 B CN103139079 B CN 103139079B CN 201110384869 A CN201110384869 A CN 201110384869A CN 103139079 B CN103139079 B CN 103139079B
- Authority
- CN
- China
- Prior art keywords
- routing table
- overlay
- network nodes
- overlay network
- keep
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种P2P叠加网中路由表修复方法,包括:P2P叠加网节点之间进行保活时,P2P叠加网节点确认自身路由表是否与对方一致,不一致时分别进行路由表修复。本发明同时公开了一种P2P叠加网节点,包括:确认单元,用于在P2P叠加网节点之间进行保活时,确认自身所属的P2P叠加网节点的路由表是否与对方P2P叠加网节点的路由表一致,不一致时触发修复单元;修复单元,用于对自身所属的P2P叠加网节点的路由表进行修复。本发明利用P2P叠加网节点之间进行保活流程,实现了P2P叠加网节点间的路由修复,利用较少的代价完成了P2P叠加网中P2P叠加网节点的发现及删除,以及P2P叠加网节点路由表的修复。
Description
技术领域
本发明涉及一种点对点(P2P,Peer to Peer)叠加网中路由表更新技术,尤其涉及一种P2P叠加网中路由表修复方法及P2P叠加网节点。
背景技术
对等互联或点对点(P2P,Peer to Peer)技术可以使用户直接连接到其他用户的计算机,进行文件共享与交换,同时P2P在深度搜索、分布计算、协同工作等方面也大有用途。
目前P2P在加强网络上人的交流、文件交换、分布式计算、服务共享等方面已经充分显示出了其强大的技术优势,但是P2P的应用主要还是集中在Internet中,在传统电信网络中尚未大规模应用。考虑到目前以及将来电信网络中,会话控制的主流是会话初始化协议(SIP,Session Initiation Protocol),将P2P技术引入到电信网中去,必须能保证SIP在P2P网络中的应用,同时能够运行各类典型级业务。
基于以上考虑,目前业界的很多机构都在致力于研究如何将P2P技术引入到电信网络中。图1为现有P2P核心网架构示意图,如图1所示,其中:
P2P叠加网101由各类担负不同角色的对等体(也称为P2P叠加网节点)组成的一张逻辑网络;
P2P叠加网中的对等P2P叠加网节点102为P2P叠加网中的基本组成部分,是能够为同一P2P叠加网中其它P2P叠加网节点提供存储和传送服务的P2P叠加网节点;
非P2P终端设备103,为接入到P2P叠加网的不支持任何P2P协议仅支持SIP协议的终端设备;
P2P终端设备104,为接入到P2P叠加网中的既支持P2P协议,也支持SIP协议的终端设备;考虑到一般终端设备,特别是手持终端设备的处理能力较弱,因此很多情况下的实际部署,P2P终端设备也仅作为P2P客户端接入到P2P叠加网中来,并不承担存储、传送等服务器;
非P2P终端设备103、P2P终端设备104等终端设备通过接入P2P叠加网节点102接入P2P叠加网,考虑到电信营运的需要,P2P终端与非P2P终端都必须通过就近的接入P2P叠加网节点接入到P2P叠加网中,当该接入P2P叠加网节点作为非P2P终端的接入P2P叠加网节点时,同时作为代理P2P叠加网节点,负责将非P2P终端所采用的SIP协议与P2P叠加网内部路由SIP所采用协议进行转换,而当该P2P叠加网节点作为P2P终端的接入P2P叠加网节点时,仅需要对消息进行中继。
P2P叠加网101由大量对等P2P叠加网节点102组成,这些对等P2P叠加网节点会随着时间的变化而调整,现有P2P叠加网节点可能会退出叠加网,也会存在新加入的P2P叠加网节点。
图2为现有技术中P2P叠加网节点加入P2P叠加网的流程图,如图2所示,新P2P叠加网节点加入P2P叠加网流程具体包括以下步骤:
S201,新加入P2P叠加网节点获取本P2P叠加网节点ID,获取方式对于不同P2P叠加网可能不同,如可以通过本地算法获取,也可以通过向服务器获取;
S202,新加入P2P叠加网节点获得P2P叠加网节点ID后,向P2P叠加网任一P2P叠加网节点发送附着引导P2P叠加网节点请求,试图与引导P2P叠加网节点建立连接,请求消息中携带建立连接需要的新P2P叠加网节点的必需信息;
S203,任一P2P叠加网节点在收到该附着请求消息后,将请求消息路由到该新加入P2P叠加网节点的引导P2P叠加网节点,其中,引导P2P叠加网节点的选定由P2P叠加网的算法决定;
S204,引导P2P叠加网节点接受新加入P2P叠加网节点的附着请求,在接受过程中可能会对新加入P2P叠加网节点进行鉴权认证;引导P2P叠加网节点接受附着请求之后,返回附着响应消息,消息中携带建立连接所需的引导P2P叠加网节点的必需信息;
S205,响应消息经过中间P2P叠加网节点转发到达新加入P2P叠加网节点后,加入P2P叠加网节点与引导P2P叠加网节点之间建立连接,用于之后的消息传输;
S206,加入P2P叠加网节点向引导P2P叠加网节点发送加入请求消息,要求加入P2P叠加网;
S207,引导P2P叠加网节点返回加入响应消息;
S208,引导P2P叠加网节点发送加入响应消息后,将路由表通过更新路由消息发送给加入P2P叠加网节点;
S209,加入P2P叠加网节点获得路由更新消息后,根据消息内容组织自身路由表,并返回路由表更新响应消息;
S210,加入P2P叠加网节点与引导P2P叠加网节点之间进行数据迁移,加入P2P叠加网节点获得由本加入P2P叠加网节点加入叠加网之后负责的数据以及需要备份的数据;
S211,完成数据迁移后,加入P2P叠加网节点已经做好了成为P2P叠加网节点的所有准备,这时由加入P2P叠加网节点(也可以是引导P2P叠加网节点或者其它P2P叠加网节点)通知叠加网中P2P叠加网节点,有新P2P叠加网节点加入;
S212,接收到通知的P2P叠加网节点将返回路由更新响应消息;
S213,叠加网将根据叠加网所采用的算法,将新P2P叠加网节点加入信息进一步扩散到所需位置,从而完成新P2P叠加网节点的加入流程。
在P2P叠加网中,P2P叠加网节点的调整非常频繁,不断有新的P2P叠加网节点加入,同时有P2P叠加网节点退出,并且当P2P叠加网节点存储数据较多时,调整处理过程占用的时间就会较长,从而导致新P2P叠加网节点加入时间较长,如果出现两个新P2P叠加网节点同时加入,并且引导P2P叠加网节点退出时,就会出现图3所示情形,图3为使用一跳分布式哈希表(DHT,Distributed Hash Table)技术的多个P2P叠加网节点同时加入P2P叠加网的流程图,如图3所示,多个P2P叠加网节点同时加入P2P叠加网的流程具体包括以下步骤:
S301,新加入P2P叠加网节点C通过图2所示流程查找到引导P2P叠加网节点A后,向引导P2P叠加网节点A发送加入请求消息,要求加入P2P叠加网;
S302,引导P2P叠加网节点A返回加入响应消息;
S303,引导P2P叠加网节点发送加入响应消息后,将路由表通过更新路由消息发送给加入P2P叠加网节点,路由表中包括P2P叠加网节点A、P2P叠加网节点B等叠加网已有P2P叠加网节点信息;
S304,加入P2P叠加网节点C获得路由更新消息后,根据消息内容组织自身路由表,并返回路由表更新响应消息,此时P2P叠加网节点C中的路由表信息中可能包含P2P叠加网节点A以及P2P叠加网节点B等叠加网已有P2P叠加网节点的信息;
S305,加入P2P叠加网节点C与P2P叠加网之间进行数据迁移,加入P2P叠加网节点C获得了由本加入P2P叠加网节点加入叠加网之后负责的数据以及需要备份的数据;
S306,在P2P叠加网节点C加入叠加网的同一时刻,有另外一个新加入P2P叠加网节点D也在执行加入流程,P2P叠加网节点D对应的引导P2P叠加网节点为B,P2P叠加网节点D向P2P叠加网节点B发送加入请求消息,要求加入P2P叠加网;
S307,引导P2P叠加网节点B返回加入响应消息;
S308,引导P2P叠加网节点B发送加入响应消息后,将路由表通过更新路由消息发送给加入P2P叠加网节点,路由表中包括P2P叠加网节点A、P2P叠加网节点B等叠加网已有P2P叠加网节点的信息;
S309,加入P2P叠加网节点D获得路由更新消息后,根据消息内容组织自身路由表,并返回路由表更新响应消息,此时P2P叠加网节点D中的路由表信息中可能包含P2P叠加网节点A以及P2P叠加网节点B等叠加网已有P2P叠加网节点;
S310,加入P2P叠加网节点D与P2P叠加网之间进行数据迁移,加入P2P叠加网节点D获得了由本加入P2P叠加网节点加入叠加网之后负责的数据以及需要备份的数据;
S311,P2P叠加网节点C完成数据迁移后,通知叠加网中全部或者特定的P2P叠加网节点,有新P2P叠加网节点加入,从而完成P2P叠加网节点C的加入流程;
S312,而P2P叠加网节点D完成数据迁移后,通知叠加网中全部或者特定的P2P叠加网节点,有新P2P叠加网节点加入进来,从而完成P2P叠加网节点D的加入流程;
S313,在P2P叠加网节点C与P2P叠加网节点D都完成了P2P叠加网节点加入请求后,可以看到,由于在加入过程中,P2P叠加网节点C与P2P叠加网节点D获得的路由表信息中都不包含对方信息,因此它们构造的路由表中也互不包含对方,由此造成了P2P叠加网节点C与P2P叠加网节点D的路由表不完整。
虽然图3是以两个加入P2P叠加网节点为例进行了相应的说明,但上述问题同样也存在于多个加入P2P叠加网节点同时加入的情形。
图3所示的情形中,如果后续加入P2P叠加网节点以这些拥有不完整路由表的P2P叠加网节点作为引导P2P叠加网节点加入,他们获得的路由表也不完整,造成错误的进一步扩散,当叠加网中存在这类P2P叠加网节点时,将造成路由的迂回或者路由失败。
目前现有P2P叠加网中有一些利用引导P2P叠加网节点广播路由表等技术来完成对不完整路由表P2P叠加网节点的修补,但这些技术都依赖于引导P2P叠加网节点的广播,如果引导P2P叠加网节点在完成广播之前发生故障,将会造成路由表无法修复。
发明内容
有鉴于此,本发明的主要目的在于提供一种P2P叠加网中路由表修复方法及P2P叠加网节点,能在P2P叠加网节点保活时实现P2P叠加网节点之间路由表的修复,实现P2P叠加网节点之间路由表的一致。
为达到上述目的,本发明的技术方案是这样实现的:
一种P2P叠加网中路由表修复方法,包括:
P2P叠加网节点之间进行保活时,P2P叠加网节点确认自身路由表是否与对方一致,不一致时分别进行路由表修复。
优选地,所述P2P叠加网节点确认自身路由表是否与对方一致,为:
P2P叠加网节点向需保活的P2P叠加网节点发送保活请求消息,所述保活消息中携带有所述P2P叠加网节点的路由表信息;
所述需保活的P2P叠加网节点向所述P2P叠加网节点发送保活响应消息,所述保活响应消息中携带有所述需保活的P2P叠加网节点的路由表信息;
所述P2P叠加网节点及所述需保活的P2P叠加网节点各自根据对方的路由表信息确认双方路由表是否一致。
优选地,所述分别进行路由表修复为:
所述P2P叠加网节点及所述需保活的P2P叠加网节点各自根据对方的路由表信息确定出路由表中不一致的P2P叠加网节点,分别向所述不一致的P2P叠加网节点发送探测消息,根据探测结果在自身的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
或者,所述P2P叠加网节点确认自身路由表是否与对方一致,为:
P2P叠加网节点向需保活的P2P叠加网节点发送保活请求消息;
所述需保活的P2P叠加网节点向所述P2P叠加网节点发送保活响应消息;其中,所述保活请求消息及所述保活响应消息至少一个中携带有消息发送方P2P叠加网节点的路由表的hash信息;
所述P2P叠加网节点和/或所述需保活的P2P叠加网节点根据对方的路由表的hash信息确认双方路由表是否一致。
优选地,确认双方路由表不一致时,所述方法还包括:
所述P2P叠加网节点和/或所述需保活的P2P叠加网节点向对方发送路由表更新请求消息,所述路由表更新请求消息中携带有消息发送方P2P叠加网节点的路由表的信息;
所述需保活的P2P叠加网节点和/或所述P2P叠加网节点向对方发送路由表更新响应消息,所述路由表更新响应消息中携带有消息发送方P2P叠加网节点的路由表的信息;
所述P2P叠加网节点及所述需保活的P2P叠加网节点各自根据对方的路由表信息确定出路由表中不一致的P2P叠加网节点,分别向所述不一致的P2P叠加网节点发送探测消息,根据探测结果在自身的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
一种P2P叠加网节点,包括确认单元和修复单元,其中:
确认单元,用于在P2P叠加网节点之间进行保活时,确认自身所属的P2P叠加网节点的路由表是否与对方P2P叠加网节点的路由表一致,不一致时触发修复单元;
修复单元,用于对自身所属的P2P叠加网节点的路由表进行修复。
优选地,所述P2P叠加网节点还包括发送单元和接收单元,其中:
发送单元,用于向对方P2P叠加网节点发送保活请求消息/保活响应消息;
接收单元,用于接收对方P2P叠加网节点发送保活响应消息/保活请求消息;其中,所述保活消息中携带有所述P2P叠加网节点的路由表信息,所述保活响应消息中携带有所述需保活的P2P叠加网节点的路由表信息;
所述确认单元进一步确认自身所属P2P叠加网节点及对方P2P叠加网节点的路由表信息是否一致。
其中,所述确认单元进一步确认自身所属的P2P叠加网节点与对方P2P叠加网节点的路由表中不一致的P2P叠加网节点,并触发所述发送单元向所述不一致的P2P叠加网节点发送探测消息,所述修复单元根据探测结果在自身所属的P2P叠加网节点的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
或者,所述P2P叠加网节点还包括:
发送单元,用于向对方P2P叠加网节点发送保活请求消息/保活响应消息;
接收单元,用于接收对方P2P叠加网节点发送的保活响应消息/保活请求消息;其中,所述保活请求消息及所述保活响应消息至少一个中携带有消息发送方P2P叠加网节点的路由表的hash信息;
所述确认单元进一步确认自身所属P2P叠加网节点与对方P2P叠加网节点的路由表信息是否一致。
进而,所述确认单元进一步确认自身所属P2P叠加网节点与对方P2P叠加网节点的路由表不一致时,触发发送单元向对方P2P叠加网节点发送路由表更新请求消息/路由表更新响应消息;
所述接收单元进一步接收对方P2P叠加网节点发送的路由表更新响应消息/路由表更新请求消息;其中,所述路由表更新请求消息中携带有消息发送方P2P叠加网节点的路由表的信息;所述路由表更新响应消息中携带有消息发送方P2P叠加网节点的路由表的信息;
所述确认单元进一步确认自身所属的P2P叠加网节点与对方P2P叠加网节点的路由表中不一致的P2P叠加网节点,并触发所述发送单元向所述不一致的P2P叠加网节点发送探测消息,所述修复单元根据探测结果在自身所属的P2P叠加网节点的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
本发明中,当P2P叠加网节点之间进行保活时,P2P叠加网节点确认自身路由表是否与对方一致,不一致时确定是否已获取对方P2P叠加网节点的路由表信息,未获取时获取对方路由表;最后根据获取的对方路由表和自身路由表确定出不一致的P2P叠加网节点,并分别对该不一致的P2P叠加网节点进行检测,当确定该不一致的P2P叠加网节点存在时,在未包含该不一致的P2P叠加网节点的路由表中添加该不一致的P2P叠加网节点信息,当确定该不一致的P2P叠加网节点不存在时,在包含有该不一致的P2P叠加网节点信息的路由表中删除该不一致的P2P叠加网节点信息。本发明利用P2P叠加网节点之间进行保活流程,实现了P2P叠加网节点间的路由修复,利用较少的代价完成了P2P叠加网中P2P叠加网节点的发现及删除,以及P2P叠加网节点路由表的修复。
附图说明
图1为现有P2P核心网架构示意图;
图2为现有技术中P2P叠加网节点加入P2P叠加网的流程图;
图3为使用一跳DHT技术的多个P2P叠加网节点同时加入P2P叠加网的流程图;
图4为本发明实施例P2P叠加网中路由表修复方法的流程图;
图5为本发明实施例另一P2P叠加网中路由表修复方法的流程图;
图6为本发明实施例P2P叠加网节点的组成结构示意图。
具体实施方式
本发明的基本思想为:当P2P叠加网节点之间进行保活时,P2P叠加网节点确认自身路由表是否与对方一致,不一致时确定是否已获取对方P2P叠加网节点的路由表信息,未获取时获取对方路由表;最后根据获取的对方路由表和自身路由表确定出不一致的P2P叠加网节点,并分别对该不一致的P2P叠加网节点进行检测,当确定该不一致的P2P叠加网节点存在时,在未包含该不一致的P2P叠加网节点的路由表中添加该不一致的P2P叠加网节点信息,当确定该不一致的P2P叠加网节点不存在时,在包含有该不一致的P2P叠加网节点信息的路由表中删除该不一致的P2P叠加网节点信息。
以下结合具体示例,对本发明技术方案作进一步详细阐述。
图4为本发明实施例P2P叠加网中路由表修复方法的流程图,如图4所示,本示例P2P叠加网中路由表修复方法具体包括以下步骤:
S401,P2P叠加网节点C向叠加网中需要保活的P2P叠加网节点E发送保活请求消息,在保活消息中携带本P2P叠加网节点C的路由表信息。
当确定有需要保活的P2P叠加网节点如P2P叠加网节点E时,向其发送保活请求消息。本发明中,对保活消息进行相应扩展,使其携带有P2P叠加网节点的路由表信息或路由表hash值信息,以使接收到保活消息的对方P2P叠加网节点确定两P2P叠加网节点之间的路由表是否一致,并在不一致时进行路由表修复。
S402,P2P叠加网节点E收到保活请求后,向P2P叠加网节点C返回保活响应消息,同时在保活响应消息中携带本P2P叠加网节点E的路由表信息;
S403,P2P叠加网节点C接收到P2P叠加网节点E发送的路由表信息,与本地路由表信息进行比对,发现并不完全一致,P2P叠加网节点E的路由表信息中多出了的P2P叠加网节点D;
S404,P2P叠加网节点C发起对P2P叠加网节点D的探测消息,探测P2P叠加网节点D是否存在;
S405,P2P叠加网节点D收到探测消息后,向P2P叠加网节点C返回探测响应消息;
S406,P2P叠加网节点C接收到探测响应消息后,确定本地路由表中缺失了P2P叠加网节点D,于是将P2P叠加网节点D的信息也添加到本地路由表中,从而修复了本地缺失的路由表信息;
S407,与此同时(与步骤403同时),P2P叠加网节点E将P2P叠加网节点C发送的路由表信息与本地路由表进行比对,发现本地路由表中多出一个P2P叠加网节点D;
S408,P2P叠加网节点E对P2P叠加网节点D发起探测消息,探测P2P叠加网节点D是否存在;
S409,P2P叠加网节点D收到探测消息后,向P2P叠加网节点E返回探测响应消息;
S410,P2P叠加网节点E接收到响应消息后,可以确定本地路由表是正确的,于是不对本地路由表进行修复。
需要说明的是,当P2P叠加网节点C探测到上述的P2P叠加网节点D不存在时,将不必修复自身本地路由表信息;而P2P叠加网节点E探测到上述的P2P叠加网节点D不存在时,确定自身的本地路由表信息多出了P2P叠加网节点D信息,将在本地路由表中删除该P2P叠加网节点D信息。
P2P叠加网节点C与P2P叠加网节点E向P2P叠加网节点D发送的探测消息,可以通过叠加网中的其它P2P叠加网节点进行路由,由于该技术属于现有技术,且与本发明的技术方案实现关联不大,这里不作详细阐述。
当P2P叠加网达到一定规模之后,特别对于一跳DHT算法,其每个P2P叠加网节点的路由表都相当大,如果保活消息(保活请求消息及保活响应消息)中携带完整的路由表,会对P2P叠加网造成较高的数据传输负担,因此本发明提出了一种改进的路由表修复流程。图5为本发明实施例另一P2P叠加网中路由表修复方法的流程图,如图5所示,本示例P2P叠加网中路由表修复方法具体包括以下步骤:
S501,P2P叠加网节点C向叠加网中需要保活的P2P叠加网节点E发送保活请求消息,在该保活消息中携带本P2P叠加网节点路由表的hash信息;
S502,P2P叠加网节点E收到保活请求后,返回保活响应消息,同时也在消息中携带本P2P叠加网节点的路由表hash信息;
S503,P2P叠加网节点C对比接收到的P2P叠加网节点E的路由表hash值以及本地路由表的hash值,发现两者并不相同;
S504,P2P叠加网节点C向叠加网中需要保活的P2P叠加网节点E发送路由表更新请求消息,该路由表更新请求消息中携带P2P叠加网节点C的本地路由表信息;
S505,P2P叠加网节点E收到路由表更新请求消息后,返回路由表更新更新响应消息,同时也在该路由表更新更新响应消息中也携带本P2P叠加网节点的路由表信息;
S506,P2P叠加网节点C接收到P2P叠加网节点E发送的路由表信息后,与本地路由表信息进行比对,发现P2P叠加网节点E的路由表信息中多出了的P2P叠加网节点D;
S507,P2P叠加网节点C发起对P2P叠加网节点D的探测消息,探测P2P叠加网节点D是否存在;
S508,P2P叠加网节点D接收到探测消息后,向P2P叠加网节点C返回探测响应消息;
S509,P2P叠加网节点C接收到探测响应消息后,可以确定本地路由表中缺失了P2P叠加网节点D,于是将P2P叠加网节点D的信息也添加到本地路由表中,从而修复了本地缺失的路由表信息;
S510,与此同时(与步骤S505同时),P2P叠加网节点E将P2P叠加网节点C发过来的路由表信息与本地进行比对,发现本地路由表中多出一个P2P叠加网节点D;
S511,P2P叠加网节点E向P2P叠加网节点D发送探测消息,探测P2P叠加网节点D是否存在;
S512,P2P叠加网节点D收到探测消息后,向P2P叠加网节点E返回探测响应消息;
S513,P2P叠加网节点E接收到探测响应消息后,可以确定本地路由表是正确的,于是不对本地路由表进行修复。
需要说明的是,当P2P叠加网节点C探测到上述的P2P叠加网节点D不存在时,将不必修复自身本地路由表信息;而P2P叠加网节点E探测到上述的P2P叠加网节点D不存在时,确定自身的本地路由表信息多出了P2P叠加网节点D信息,将在本地路由表中删除该P2P叠加网节点D信息。
图5中,P2P叠加网节点C发送的保活请求消息中可以不携带本地路由表hash值,而P2P叠加网节点E向P2P叠加网节点C发送的保活响应消息中携带有本地路由表hash值,这样,由P2P叠加网节点C确定P2P叠加网节点C和P2P叠加网节点E之间的路由表信息是否一致,不一致时向P2P叠加网节点E发送路由表更新请求消息;本发明中,当P2P叠加网节点C发送的保活请求中携带本地路由表hash值时,也可以由P2P叠加网节点E判断两P2P叠加网节点路由表是否一致,如不一致,P2P叠加网节点E向P2P叠加网节点C发送路由表更新请求消息,从而交换各自的路由表信息,之后的流程实现方式与图5所示的流程基本一致,这里不再一一赘述。
由于一般P2P叠加网的路由算法的保活频度都是根据P2P叠加网具体应用需要设定的,本发明的技术方案可以设定路由表的修复速度,从而可以满足各种P2P叠加网应用需求。本发明的技术方案,P2P叠加网中P2P叠加网节点利用较少的代价完成了P2P叠加网中不完整路由表P2P叠加网节点的发现以及其路由表修复。
图6为本发明实施例P2P叠加网节点的组成结构示意图,如图6所示,本发明实施例的P2P叠加网节点包括确认单元60和修复单元61,其中:
确认单元60,用于在P2P叠加网节点之间进行保活时,确认自身所属的P2P叠加网节点的路由表是否与对方P2P叠加网节点的路由表一致,不一致时触发修复单元61;
修复单元61,用于对自身所属的P2P叠加网节点的路由表进行修复。
在图6所示P2P叠加网节点的基础上,本发明实施例的P2P叠加网节点还包括发送单元(图6中未示出)和接收单元(图6中未示出),其中:
发送单元,用于向对方P2P叠加网节点发送保活请求消息/保活响应消息;
接收单元,用于接收对方P2P叠加网节点发送保活响应消息/保活请求消息;其中,所述保活消息中携带有所述P2P叠加网节点的路由表信息,所述保活响应消息中携带有所述需保活的P2P叠加网节点的路由表信息;
所述确认单元进一步确认自身所属P2P叠加网节点及对方P2P叠加网节点的路由表信息是否一致。
其中,所述确认单元进一步确认自身所属的P2P叠加网节点与对方P2P叠加网节点的路由表中不一致的P2P叠加网节点,并触发所述发送单元向所述不一致的P2P叠加网节点发送探测消息,所述修复单元根据探测结果在自身所属的P2P叠加网节点的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
或者,所述P2P叠加网节点还包括:
发送单元,用于向对方P2P叠加网节点发送保活请求消息/保活响应消息;
接收单元,用于接收对方P2P叠加网节点发送的保活响应消息/保活请求消息;其中,所述保活请求消息及所述保活响应消息至少一个中携带有消息发送方P2P叠加网节点的路由表的hash信息;
所述确认单元进一步确认自身所属P2P叠加网节点与对方P2P叠加网节点的路由表信息是否一致。
进而,所述确认单元进一步确认自身所属P2P叠加网节点与对方P2P叠加网节点的路由表不一致时,触发发送单元向对方P2P叠加网节点发送路由表更新请求消息/路由表更新响应消息;
所述接收单元进一步接收对方P2P叠加网节点发送的路由表更新响应消息/路由表更新请求消息;其中,所述路由表更新请求消息中携带有消息发送方P2P叠加网节点的路由表的信息;所述路由表更新响应消息中携带有消息发送方P2P叠加网节点的路由表的信息;
所述确认单元进一步确认自身所属的P2P叠加网节点与对方P2P叠加网节点的路由表中不一致的P2P叠加网节点,并触发所述发送单元向所述不一致的P2P叠加网节点发送探测消息,所述修复单元根据探测结果在自身所属的P2P叠加网节点的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
本发明中,P2P叠加网节点即为P2P叠加网中的普通节点,即可以作为需保活的P2P叠加网节点,也可以作为向需保活的P2P叠加网节点发送保活请求消息的节点。
本领域技术人员应当理解,本发明图6所示的P2P叠加网节点中的上述处理单元的功能可通过相应的硬件电路,或处理器及相应的执行软件的方式而实现。上述各处理单元的相关功能,可参见前述P2P叠加网中路由表修复方法的实施例的相关描述而理解。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (8)
1.一种P2P叠加网中路由表修复方法,其特征在于,所述方法包括:
P2P叠加网节点之间进行保活时,P2P叠加网节点确认自身路由表是否与对方一致,不一致时分别进行路由表修复;
所述分别进行路由表修复为:
所述P2P叠加网节点及需保活的P2P叠加网节点各自根据对方的路由表信息确定出路由表中不一致的P2P叠加网节点,分别向所述不一致的P2P叠加网节点发送探测消息,根据探测结果在自身的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
2.根据权利要求1所述的方法,其特征在于,所述P2P叠加网节点确认自身路由表是否与对方一致,为:
所述P2P叠加网节点向所述需保活的P2P叠加网节点发送保活请求消息,所述保活消息中携带有所述P2P叠加网节点的路由表信息;
所述需保活的P2P叠加网节点向所述P2P叠加网节点发送保活响应消息,所述保活响应消息中携带有所述需保活的P2P叠加网节点的路由表信息;
所述P2P叠加网节点及所述需保活的P2P叠加网节点各自根据对方的路由表信息确认双方路由表是否一致。
3.根据权利要求1所述的方法,其特征在于,所述P2P叠加网节点确认自身路由表是否与对方一致,为:
P2P叠加网节点向需保活的P2P叠加网节点发送保活请求消息;
所述需保活的P2P叠加网节点向所述P2P叠加网节点发送保活响应消息;其中,所述保活请求消息及所述保活响应消息至少一个中携带有消息发送方P2P叠加网节点的路由表的hash信息;
所述P2P叠加网节点和/或所述需保活的P2P叠加网节点根据对方的路由表的hash信息确认双方路由表是否一致。
4.根据权利要求3所述的方法,其特征在于,确认双方路由表不一致时,所述方法还包括:
所述P2P叠加网节点和/或所述需保活的P2P叠加网节点向对方发送路由表更新请求消息,所述路由表更新请求消息中携带有消息发送方P2P叠加网节点的路由表的信息;
所述需保活的P2P叠加网节点和/或所述P2P叠加网节点向对方发送路由表更新响应消息,所述路由表更新响应消息中携带有消息发送方P2P叠加网节点的路由表的信息。
5.一种P2P叠加网节点,其特征在于,所述P2P叠加网节点包括确认单元和修复单元,其中:
确认单元,用于在P2P叠加网节点之间进行保活时,确认自身所属的P2P叠加网节点的路由表是否与对方P2P叠加网节点的路由表一致,不一致时触发修复单元;
修复单元,用于对自身所属的P2P叠加网节点的路由表进行修复;
所述P2P叠加网节点还包括发送单元,所述发送单元,用于向对方P2P叠加网节点发送保活请求消息/保活响应消息;
所述不一致时触发修复单元为:所述确认单元进一步确认自身所属的P2P叠加网节点与对方P2P叠加网节点的路由表中不一致的P2P叠加网节点,并触发所述发送单元向所述不一致的P2P叠加网节点发送探测消息,所述修复单元根据探测结果在自身所属的P2P叠加网节点的路由表中添加和/或删除所述不一致的P2P叠加网节点信息,或不修改自身的路由表信息。
6.根据权利要求5所述的P2P叠加网节点,其特征在于,所述P2P叠加网节点还包括接收单元:
接收单元,用于接收对方P2P叠加网节点发送保活响应消息/保活请求消息;其中,所述保活消息中携带有所述P2P叠加网节点的路由表信息,所述保活响应消息中携带有需保活的P2P叠加网节点的路由表信息。
7.根据权利要求5所述的P2P叠加网节点,其特征在于,所述P2P叠加网节点还包括:
接收单元,用于接收对方P2P叠加网节点发送的保活响应消息/保活请求消息;其中,所述保活请求消息及所述保活响应消息至少一个中携带有消息发送方P2P叠加网节点的路由表的hash信息。
8.根据权利要求7所述的P2P叠加网节点,其特征在于,所述确认单元进一步确认自身所属P2P叠加网节点与对方P2P叠加网节点的路由表不一致时,触发发送单元向对方P2P叠加网节点发送路由表更新请求消息/路由表更新响应消息;
所述接收单元进一步接收对方P2P叠加网节点发送的路由表更新响应消息/路由表更新请求消息;其中,所述路由表更新请求消息中携带有消息发送方P2P叠加网节点的路由表的信息;所述路由表更新响应消息中携带有消息发送方P2P叠加网节点的路由表的信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110384869.7A CN103139079B (zh) | 2011-11-28 | 2011-11-28 | P2p叠加网中路由表修复方法及p2p叠加网节点 |
PCT/CN2012/080374 WO2013078887A1 (zh) | 2011-11-28 | 2012-08-20 | P2p叠加网中路由表修复方法及p2p叠加网节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110384869.7A CN103139079B (zh) | 2011-11-28 | 2011-11-28 | P2p叠加网中路由表修复方法及p2p叠加网节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103139079A CN103139079A (zh) | 2013-06-05 |
CN103139079B true CN103139079B (zh) | 2018-01-19 |
Family
ID=48498406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110384869.7A Active CN103139079B (zh) | 2011-11-28 | 2011-11-28 | P2p叠加网中路由表修复方法及p2p叠加网节点 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103139079B (zh) |
WO (1) | WO2013078887A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009039796A1 (fr) * | 2007-09-26 | 2009-04-02 | Huawei Technologies Co., Ltd. | Procédé, système et dispositif d'acheminement de messages et procédé et système de sélection de ressource de sauvegarde |
CN101753597A (zh) * | 2008-12-09 | 2010-06-23 | 华为技术有限公司 | 对等节点-客户端架构下对等节点与客户端间保活方法 |
CN102035861A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种单跳分布式哈希表叠加网络的负载均衡方法和系统 |
CN102057647A (zh) * | 2008-06-12 | 2011-05-11 | 爱立信电话股份有限公司 | 覆盖网络的维护 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996726B2 (en) * | 2008-06-19 | 2015-03-31 | Qualcomm Incorporated | Methods and apparatus for event distribution and routing in peer-to-peer overlay networks |
-
2011
- 2011-11-28 CN CN201110384869.7A patent/CN103139079B/zh active Active
-
2012
- 2012-08-20 WO PCT/CN2012/080374 patent/WO2013078887A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009039796A1 (fr) * | 2007-09-26 | 2009-04-02 | Huawei Technologies Co., Ltd. | Procédé, système et dispositif d'acheminement de messages et procédé et système de sélection de ressource de sauvegarde |
CN102057647A (zh) * | 2008-06-12 | 2011-05-11 | 爱立信电话股份有限公司 | 覆盖网络的维护 |
CN101753597A (zh) * | 2008-12-09 | 2010-06-23 | 华为技术有限公司 | 对等节点-客户端架构下对等节点与客户端间保活方法 |
CN102035861A (zh) * | 2009-09-24 | 2011-04-27 | 中兴通讯股份有限公司 | 一种单跳分布式哈希表叠加网络的负载均衡方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103139079A (zh) | 2013-06-05 |
WO2013078887A1 (zh) | 2013-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105024844B (zh) | 一种计算跨域路由的方法、服务器以及系统 | |
EP2501083A1 (en) | Relay node, distributed network of relay node and networking method thereof | |
US20090031415A1 (en) | Dynamic Network Tunnel Endpoint Selection | |
TW200941988A (en) | Mapless global traffic load balancing via anycast | |
CN107395686B (zh) | 切换长连接的方法、设备和系统 | |
CN105338511B (zh) | 网络拓扑隐藏方法和设备 | |
CN103634214B (zh) | 一种路由信息生成方法及装置 | |
Tyson et al. | Beyond content delivery: Can icns help emergency scenarios? | |
WO2013143360A1 (zh) | 一种业务数据下载方法和移动终端 | |
CN103841159A (zh) | 一种离线文件传输系统和方法 | |
CN103188144A (zh) | 一种实现分布式网关互通的系统及方法 | |
CN103139079B (zh) | P2p叠加网中路由表修复方法及p2p叠加网节点 | |
US20170013524A1 (en) | Methods and system in user service enhancement for roaming in wireless mesh networks | |
CN104869118B (zh) | 一种基于动态隧道技术实现DDoS防御的方法及系统 | |
CN104301221B (zh) | 一种路由消息的方法及装置 | |
CN107404438A (zh) | 网络路由方法和网络路由系统 | |
CN110336793A (zh) | 一种内网访问方法及相关装置 | |
JP5726302B2 (ja) | トポロジサーバを用いた、通信アーキテクチャにわたって分散されたノードのネットワークに対する秘密または保護されたアクセス | |
EP2852189B1 (en) | Method and system for releasing and obtaining information | |
Seddiki et al. | An adaptive P2P overlay for MANETs | |
JP2005136739A (ja) | データ中継方法、データ中継装置、データ中継システム | |
CN105847458A (zh) | 基于dns的p2p缓存引导系统及方法 | |
KR100704834B1 (ko) | 동등 계층 통신을 이용한 채팅 서비스 제공 방법 및 시스템 | |
CN110324826A (zh) | 一种内网访问方法及相关装置 | |
Perez Aruni | Applying named data networking in mobile ad hoc networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |