基于全局Internet拓扑知识的P2P应用构建方法

文档序号:7621189阅读:189来源:国知局
专利名称:基于全局Internet拓扑知识的P2P应用构建方法
技术领域
本发明涉及边界网关协议(BGP)表、Internet自治系统层次的拓扑技术领域,特别是一种基于全局Internet拓扑知识的P2P应用构建方法。
背景技术
Peer-to-Peer(P2P对等)技术已经广泛地应用于各种网络应用中,如网格计算、文件共享和实时媒体流分发。终端能力的增强和网络带宽的增加使得P2P技术能充分利用网络终端的计算能力、存储能力以及传输能力。
P2P网络是建立在应用层的一个覆盖(Overlay)网络,纯P2P网络中的每个节点都是对等关系。传统的P2P应用并没有考虑底层物理网络的拓扑结构,这就很可能造成覆盖网络和底层的物理网络存在不匹配,如,同属于一个局域网的两个主机在覆盖网络中可能并不直接相邻,而是通过若干远程中继点连接起来,这样就造成了上层覆盖网络在信息传递时的低效率。同时,网络运营商和网络管理者希望尽量减少网络之间或ISP之间的P2P流量,使得P2P流量不过度消耗珍贵的域间带宽。
现有的考虑底层物理拓扑的P2P网络构建方法只考虑了节点的局部拓扑知识,同时利用TTL探测是根据路由器跳数来确定两个节点的相近程度,但这种方法没有考虑网络的管理特征,即应尽可能将P2P流量限制在尽量小的管理域中,最大限度减少管理域之间的P2P流量。
我们粗略地将P2P应用分为两类一类以文件共享系统为代表,其特征是P2P网络仅用于传递控制信息,而实际的数据传输则是点对点直接进行的,与P2P网络结构无关;另一类以实时媒体流组播为代表,其特征在于应用层组播树既是控制信息又是数据的传递路径。对于这两种类型的P2P应用,应用全局拓扑知识构建覆盖网络都能提高传输效率并减少域间流量。图1给出了一个基于P2P的文件共享系统,其中的两个平面分别表示底层物理网络的拓扑和覆盖网络的拓扑。其中A-J表示终端节点,实线表示实际存在的连接,资源r存在于B、E、H。假设采用Flood的资源搜索策略,并且将TTL跳数限制为3,则从F发出的对于资源r的搜索请求将返回B和H。不论F选择从B或H获取资源r,都是跨域的流量。而如果基于全局物理拓扑知识构建P2P网络,例如直接将E作为F的邻居,则F可以选择从E获取资源r,这样产生的就是域内流量,且在多数情况下,速率要相对较快。图2给出了同一个节点集合的应用层组播树构建方案,(a)没有考虑底层网络的拓扑结构,(b)考虑了底层网络的拓扑结构,可以看到,(a)中组播树的6条边中有4条是跨域的边,而(b)则仅有两条跨域的边。

发明内容
为了解决覆盖网络和物理网络拓扑的不一致性以及减少管理域之间的P2P流量,本发明提出了一种基于全局Internet网络拓扑知识的P2P网络构建、网络动态维护和下载点决策方法,它使得覆盖网络和底层物理网络拓扑基本一致,更重要的是,它极大地减小了管理域之间的P2P流量。
P2P应用构建方法,P2P应用中新节点的加入、网络动态维护和下载点决策过程是基于全局网络拓扑信息而不是局部的拓扑信息,构建出的P2P覆盖网络同时具备物理相近性和管理域相近性。
该方法首先基于以下假设(1)具有相同IP地址前缀的主机比具有不同IP地址前缀的主机更相近,并且其传输速度普遍更快。
(2)属于同一个AS的主机相比于属于不同AS的主机来说,更相近且传输速度普遍更快。
(3)网络运营商和网络管理者希望跨域的P2P流量越少越好。上述假设在某些情况下并不总是成立,但大多数情况下,它还是满足物理相近性的,更重要的是,该发明首次考虑了覆盖网络构建时的管理域相近性。另外,该发明需要有全局的网络拓扑知识作为基础,新节点加入、网络动态维护和内容下载时,利用了以下三方面的全局网络拓扑信息(1)给定一个IP地址,可以得到与之最长匹配的IP地址前缀。这可以通过与BGP表的所有路由前缀进行比较获得(RouteViews发布BGP表信息)。例如,对于IP地址202.119.35.4,如果BGP表的路由前缀中存在两项202.119.0.0/16和202.119.32.0/20都匹配202.119.35.4,则取后者作为该IP地址的最长匹配。
(2)给定一个IP地址,可以得到它对应的AS号。这可以通过查找该IP地址对应的最长IP地址前缀的源AS得到。
(3)全球AS层次的拓扑连接图可以从CAIDA(www.caida.org)组织获得,也可以自己进行测量或根据BGP表推测获得。
在以上基础上,P2P网络演化过程中的一个IP地址为X的新节点加入过程如下(1)新节点向bootstrap发送一个加入请求;(2)bootstrap根据该节点的IP地址计算出与之对应的最长IP前缀匹配和AS号,并发送给该节点;(3)bootstrap根据以下规则该新节点选取一组邻居,并将邻居集合发送给该新节点。
新节点的加入由以下步骤组成S.1若系统中存在Y使得X和Y具有相同的最长IP地址前缀匹配,则选取这样的Y作为X的邻居;S.2若系统中不存在步骤S.1中所说的Y,而系统中存在Z,使得Z与X具有相同的AS号,则选取这样的Z作为X的邻居;S.3若系统中不存在步骤S.1,S.2中所说类型的节点,则利用AS的拓扑连接图,选取与X具有最小AS跳数的节点W作为X的邻居。
(4)新节点建立到这些邻居的逻辑连接,完成节点的加入同时,在运行过程中,一个节点需要(1)根据全局拓扑信息,动态地选取一些查询请求包的发出者,并将它们纪录在临时列表中;(2)定期检测当前邻居列表的状态;(3)若当前邻居列表中某些邻居已经离开网络或不响应,则从临时列表中选取若干节点作为当前节点的新邻居。
当请求的响应消息到达时,节点优先推荐那些和本节点具有相同IP地址前缀的节点作为下载点,如果不存在这样的响应点,再推荐那些和本节点处于同一个AS的下载点,如果仍然没有这种响应点,则推荐那些与本节点具有最短AS跳数的节点作为下载点。
在网络的动态运行过程中,每个节点按照新节点加入、网络动态维护和内容下载时,利用了以下三方面的全局网络拓扑信息(1)IP地址的最长地址前缀匹配;(2)IP地址对应的AS号;(3)AS层次的拓扑连接图。
拓扑信息动态地选择一些其它节点的IP地址记录下来,等到有邻居离开时,再从记录下来的IP地址列表中选取若干个作为自己的新邻居。
在请求响应消息到达后,不是由用户任意选择下载点,而是由节点智能地根据全局拓扑信息推荐给用户邻近的下载点。
本发明的方法解决了应用层覆盖网络和底层网络拓扑的不一致性,同时考虑了底层网络的管理特性,最大程度地减少了不同网络管理域之间的P2P流量,包括查询流量和下载流量。


图1为一个P2P覆盖网络的拓扑和底层物理拓扑不符合导致覆盖网络信息传递的低效性的例子。
图2为相同顶点集合的不同应用层组播树构建方法图。
图3是本发明的基于全局Internet拓扑知识的P2P应用构建方法的流具体实施方式
图1为一个P2P覆盖网络拓扑和底层物理网络拓扑不符合的例子,底层平面为物理层的拓扑,上层平面为覆盖网络的拓扑结构,3个椭圆表示3个不同的管理域,A-J表示终端机器,实线表示实际存在的连接,资源r存在于节点B,E,H。系统采用Flood的搜索策略,并且限制其TTL为3。箭头表示从F出发搜索资源r的查询消息路径,结果B,H将响应该查询请求,而同处一个域的E则由于P2P覆盖网络的构建方式不符合底层拓扑而无法接受到查询请求。
图2为相同顶点集合的不同应用层组播树构建方法,其中A-F为终端机器,3个椭圆表示3个不同的管理域。(a)为没有考虑底层拓扑的组播树构建方案,(b)为考虑了全局拓扑信息的组播树构建方案。可以看到,基于全局拓扑信息构建的应用层组播树具有更少的跨域连接,从而可以尽可能减少域间的流量。
图3为本发明的基于全局Internet拓扑知识的P2P应用构建方法的流程图。
其主要步骤如下步骤S1,新节点加入步骤S1.1,待加入节点A向bootstrap服务器发送加入请求;步骤S1.2,bootstrap根据待加入节点的IP地址计算出该节点的最长IP地址前缀和AS号,并发送给待加入节点;步骤S1.3,bootstrap根据全局拓扑知识为待加入节点选择一个初始邻居集合,并发送给待加入节点;步骤S1.4,待加入节点与初始邻居集合中的每一个建立逻辑连接,完成节点加入过程;步骤S2,网络的动态维护步骤S2.1节点在处理请求的同时,检测该请求携带的IP地址、IP地址前缀和AS号,选择一些非当前邻居但却相近的节点,并记录在临时列表步骤S2.2节点定期检测当前邻居列表的状态;步骤S2.3如果当前邻居列表中存在某些邻居离开网络或不响应,则从临时列表中选取若干个做为该节点的新邻居;步骤S3在请求的响应消息到达时,根据响应消息携带的IP地址、IP地址前缀和AS号,确定哪些节点是比较邻近的下载点,并以适当的方式推荐给用户。
Bootstrap需要存储一个IP地址前缀的二叉查找树、一个IP地址前缀和AS号的映射表和一个全球AS的拓扑图。每个Peer需要维护一个全球AS的拓扑图。所有的查询消息和响应消息必须包含消息发出者的IP最长前缀匹配和AS号码。
一个节点从要求加入网络开始的执行流程见图3。
权利要求
1.基于全局底层Internet网络拓扑信息的P2P应用构建方法,其特征在于,P2P应用中新节点的加入、网络动态维护和下载点决策过程是基于全局网络拓扑信息而不是局部的拓扑信息,构建出的P2P覆盖网络同时具备物理相近性和管理域相近性。
2.如权利要求1所述的基于全局底层Internet网络拓扑信息的P2P应用构建方法,其特征在于,新节点加入、网络动态维护和内容下载时,利用了以下三方面的全局网络拓扑信息(1)IP地址的最长地址前缀匹配;(2)IP地址对应的AS号;(3)AS层次的拓扑连接图。
3.如权利要求1所述的基于全局底层Internet网络拓扑信息的P2P应用构建方法,其特征在于,新节点的加入由以下步骤组成S.1若系统中存在Y使得X和Y具有相同的最长IP地址前缀匹配,则选取这样的Y作为X的邻居;S.2若系统中不存在步骤S.1中所说的Y,而系统中存在Z,使得Z与X具有相同的AS号,则选取这样的Z作为X的邻居;S.3若系统中不存在步骤S.1,S.2中所说类型的节点,则利用AS的拓扑连接图,选取与X具有最小AS跳数的节点W作为X的邻居。
4.如权利要求1所述的基于全局底层Internet网络拓扑信息的P2P应用构建方法,其特征在于,在网络的动态运行过程中,每个节点按照权利要求2所述的拓扑信息动态地选择一些其它节点的IP地址记录下来,等到有邻居离开时,再从记录下来的IP地址列表中选取若干个作为自己的新邻居。
5.如权利要求书1所述的基于全局底层Internet网络拓扑信息的P2P应用构建方法,其特征在于,在请求响应消息到达后,不是由用户任意选择下载点,而是由节点智能地根据全局拓扑信息推荐给用户邻近的下载点。
6.一种基于全局Internet网络拓扑信息的P2P应用构建方法,其步骤如下步骤S1,新节点加入S1.1新节点向bootstrap发送一个加入请求;S1.2bootstrap根据该节点的IP地址计算出与之对应的最长IP前缀匹配和AS号,并发送给该节点;S1.3bootstrap根据权利要求3所说的方法为该新节点选取一组邻居,并将邻居集合发送给该新节点;S1.4新节点建立到这些邻居的逻辑连接,完成节点的加入;步骤S2,网络的动态维护S2.1每个节点在处理请求的同时,检测该请求携带的IP地址,IP地址前缀和AS号,按照权利要求4所述的规则记录一个临时列表;S2.2每个节点定时检测当前邻居列表的状态;S2.3如果当前邻居列表中存在某些邻居离开网络或不响应,则从临时列表中选取若干个做为该节点的新邻居;步骤S3,在请求的响应消息到达时,节点根据权利要求5所说的方法,根据响应消息携带的IP地址、IP地址前缀和AS号,确定哪些节点是比较邻近的下载点,并以适当的方式推荐给用户。
全文摘要
本发明涉及P2P应用的构建方法,一种基于全局Internet网络拓扑信息的P2P应用构建方法。该方法在节点加入、网络动态维护和下载点决策过程中依次考虑了以下拓扑信息IP最长地址前缀匹配、IP地址和AS号的对应关系以及全球AS的拓扑连接图。方法包括步骤S1,新节点加入网络时,bootstrap服务器依次根据IP地址最长匹配、IP地址对应的AS号以及AS拓扑图来为该新节点选择邻居,步骤S2,在节点加入网络后,当有邻居退出网络时,节点利用上述信息来动态地选取替代邻居,步骤S3,利用上述拓扑信息在所有查询响应消息中帮助选择邻近的请求文件下载点,从而降低跨管理域的下载流量。
文档编号H04L29/06GK1968164SQ20051008690
公开日2007年5月23日 申请日期2005年11月17日 优先权日2005年11月17日
发明者张国强, 张国清 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1