基于优化直径网络的按度值对目的节点分段迭代的路由法的制作方法

文档序号:7612499阅读:144来源:国知局
专利名称:基于优化直径网络的按度值对目的节点分段迭代的路由法的制作方法
技术领域
本发明属于互联网技术领域。
背景技术
P2P网络的性能很大程度上取决于网络的最大传输时延和路由方法。分组是指具有一定格式的数据包;网络的最大传输时延是指从网络的任意两点之间发送分组到接收分组之间的最大时间差。基于以下原因我们认为最人传输时延的控制对于网络的拥塞控制以及网络的服务质量都十分重要首先,某些应用会因端到端时延过大而不能很好地执行,甚至不能执行;其次,最大传输时延不确定的变化使得网络对很多交互式实时应用的支持变得很困难;最后,最大传输时延值越大传输层协议对于高带宽应用的支持就越困难。
网络直径直接决定了网络的最大传输时延,路由机制则决定了分组的转发效率。一个性能良好的P2P网络应该具有相对较小的网络直径和高效的路由机制。目前已有一些比较好的方法(如Chord,Pastry,Tapestry),但是,这些方法的共同弱点是网络直径不够小,分组转发效率较低,一台主机需要维护较多的其他主机信息。这就不适用于大规模网络环境中对于最大传输时延等指标要求较高的应用,比如,病毒预警、布丁数据分发、病毒特征码下载等应用。
优化直径网络具有严格的拓扑结构,我们用图论的方法来描述该结构,首先需要定义一些用到的图论术语。有向图是指所有边都为有向边的图,用符号G=(V,E),V是点集,E是边集;如果点u和点v之间存在一条有向边(u,v),则点v和点u互称为邻居点;图G的阶定义为图G中点的个数;点v的入度是指图G中以点v作为终点的边的条数,记为dG-(v);点u的出度是指图G中以点u作为起点的边的条数,记为dG+(v);点的入度和出度通称为点的度;图G的直径定义为图G的两个顶点之间的最大距离,记为d(G);若图G的所有点的度都为d,则称图G为d正则图。我们下面提到的图均指有向图,把网络的拓扑图中的点称为节点。
因为一条有向边可由它的两个邻居节点唯一确定,所以我们通过构造邻居节点的方法来构造有向图的边。设图G是一个阶为n度为d直径为k的有向正则图(n>0,d>1),记为G=(V,E),设图G的点集为V={0,1,2,...,n-1},对于任意节点i∈V,我们定义如下公式
d×i+s+t (modn)(1≤s≤d,t∈
)(1)以这个公式计算得到的数字作为节点i的邻居节点的节点号。这样构造出的总路由表具有模n周期回归的特点(见图1),并且其直径可以达到 (logdn向上取整),这一结构具有比上述其他结构都小的网络直径,并且非常接近理论最小值。
本发明基于上述优化直径网络拓扑结构设计出按度值对目的节点分段迭代的路由法,该方法通过对目的节点进行分段迭代归类,在每一次数据转发时都能使数据沿着趋向于目的节点的正确方向进行转发,从而保证了数据在经过最多 次转发后到达目的节点。按度值对目的节点分段迭代的路由法在具有较小直径的同时还具有较小的计算开销,其计算复杂度为 (见图5),该方法可以满足大规模网络中许多对于传输时延要求苛刻的应用。

发明内容
本发明的目的在于克服已有方法普遍较低的数据转发效率问题,提供一种新的在大规模P2P网络上进行快速数据传输的启发式路由机制。
本发明解决其技术问题所采用的技术方案是源节点反复迭代公式(1) 次,得到一个长度为dx的序列(令 ),再对该序列进行d等分,然后根据节点归属判定方法判断出目的节点所处位置,从而决定下一步转发的节点号并将分组转发给该节点,收到该分组的节点再根据上次序列划分的结果迭代上述操作,并进行相应的分组转发,直到分组被最终转发到目的节点为止。
本发明的特征在于所述方法是在任意规模的对等网络上依次按以下步骤实现的步骤1设n为所述对等网络的节点数,w0为源节点的节点号,j为目的节点的节点号,P为转发分组,d为节点的度,从源节点w0开始,对下列的计算结果模n后,得wk+1的值wk+1=d×wk+s+t,再反复按所述公式迭代x次,x为优化直径网络的直径, 符号 表示向上取整,求出wx,其中,s=1,t∈
任取;步骤2以首项wx开始,相邻两数差值为+1地顺序写出下一项,并判断该下一项的值是否等于n-1,当该项的值等于n-1时再下一项的值变为0,然后再继续顺序按照步骤2所述的方法写出下一项并进行同样的判断,直到写完dx项为止,得到数列a;步骤3用源节点的节点号w0对数列a进行d等分,得到d个子列记为a1,a2,...ad,并把源节点w0的d个邻居节点依节点号从小到大记为v1,v2,...vd;
步骤4用下述节点归属判定方法判断出目的节点的序号j所处的区间设子列ai的首项是p(1≤i≤d),ai的末项是q,当前待分割子列的长度为h,d为节点的度,n为节点数,第k次d分操作时h等于dx-k, 则q=p+(hd-1);]]>当p>g时,若j≥p或j≤q,则j∈ai;当p<q时,若p≤j≤q,则j∈ai;步骤5若目的节点序列号j属于子列ai,则源节点w0把分组P和数列ai转发给下标i相对应的那个邻居节点vi若目的节点序列号j在多个子列中都有出现,则从中任选一个子列ak,1<k<d,并把分组P和数列ak转发给下标k相对应的那个邻居节点vk;步骤6收到步骤5所述的分组的节点再根据步骤3划分的结果,对收到的序号为j的目的节点所属的数列按步骤3-步骤5进行同样的操作,直到收到分组P的节点就是目的节点j为止。
本发明所提出的基于优化直径网络的按度值对目的节点分段迭代的路由法,解决了已有方法由于网络直径限制所带来的分组转发效率低的问题,并且可以满足大量具有低时延转发需求的应用,提供了一种新的在P2P网络上以接近理论最小值进行低时延分组转发的技术方法,可以实现大规模P2P网络上任意节点之间的快速通信,图5中列出了本路由方法与几种经典路由方法Chord、Pastry和CAN的性能比较,Chord方法实现了 的网络直径和复杂度,Pastry方法实现了logbn的网络直径,CAN构造的网络直径可以达到1/2dn1/d,而本路由方法的网络直径和计算复杂度均仅为 这要小于其他几种方法,从而解决了传统方法中数据转发效率低的问题。目前清华大学已经将该项研究成果运用在“P2P蠕虫防御系统”中,是该系统的重要组成部分。


图1.优化直径网络原理示意图a.优化直径网络的邻居表;b.节点4、13的路由树;图2.基于优化直径网络的按度值对目的节点分段迭代的路由法流程图;图3.基于优化直径网络的按度值对目的节点分段迭代的路由法应用示例图;图4.按度值对目的节点分段迭代的路由法在“P2P蠕虫防御系统”中的具体实施方法示例图d=2,s=1,t=2,n=14,w0=4,j=5图5.不同方法的比较示意图。
具体实施例方式
步骤1.记源节点的节点号为w0,目的节点的节点号为j,转发分组为P,节点的度为d,令公式(1)中的i为wk,根据公式(1)我们可得公式(2)wk+1=d×wk+s+t (mod n)(s=1,t∈
)(2)从源节点w0开始,反复迭代计算该公式x次( ),求出wx;步骤2.以wx作为数列的首项,写出长度为dx,相邻两项差值为1的等差数列,并对每一项模n,最后我们得到数列a。
实际上,这一步也可以如下操作从首项wx开始,相邻两数差值为1地顺序写出数列的每一项,并判断该项是否等于n-1,当它等于n-1时下一个元素变为0,然后继续顺序写出下一项并进行同样的判断,直到写完dx个元素为止;步骤3.节点w0对数列a进行d等分,(因为a的长度是dx,所以d等分操作总可以进行,分出的每一个子列长度为dx-1),将数列a进行d等分后得到的d个子列记为al、a2、...ad;并将w0的d个邻居节点依节点号从小到大记为v1、v2、...vd;步骤4.用步骤6中节点归属判定方法判断出数字j所处的区间,如果j属于子列ai(1≤i≤d),则节点w0将分组P和数列ai转发给下标相对应的那个邻居节点vi;如果数字j在多个子列中都有出现,则从中任选一个子列ak(1≤k≤d),并将分组P和数列ak转发给下标相对应的那个邻居节点vk;步骤5.收到分组P的节点再根据上次划分的结果,对收到的目的节点j所属的数列进行步骤3和步骤4中同样的操作,反复迭代上述操作,直到收到分组P的节点就是目的节点j为止;步骤6.节点归属判定方法设子列ai的首项是p,ai的末项是q,h是当前待分割子列的长度,d为节点的度,n为节点数,在第k次d分操作时h等于dx-k(其中 ),则q=p+(h/d-1),那么(1)当p>q时若j≥p或j≤q,则j∈ai(2)当P<q时若p≤j≤q,则j∈ai也就是说,目的节点j在上述两种情形时属于子列ai(1≤i≤d)。
本路由方法所适用的硬件平台为任意规模的对等网络,图2为按度值对目的节点分段迭代的路由法的程序流程图,图4为按度值对目的节点分段迭代的路由法在“P2P蠕虫防御系统”中的具体实施示例,我们以d=3,1≤s≤d,t=6,n=27为参数,用周期回归法构造出网络拓扑,其直径为3(见图3)。假设“P2P蠕虫防御系统”中的节点8要给节点17发送分组P,
按如下步骤进行路由(1)以节点8为起点迭代计算公式(2)(d=3,t=6,n=27,w0=8),共迭代3次,求出w3等于10;(2)以10为首项,写出长度为27,相邻两项差值为1的等差数列,并对每一项模27,我们得到数列aa10111213141516171819202122232425260123456789;(3)节点8对数列a进行3等分,得到如下3个子列a1101112131415161718a219202122232425260a3 12 3 4 5 6 7 8 9节点8的3个邻居节点是4,5,6,分别记为v1,v2,v3;(4)节点8判断出目的节点17属于子列a1,据此,节点8将分组P和子列a1一起发送给其邻居节点v1,即节点4;(5)节点4收到分组P和数列a1后,令a=a1,再对数列a进行3等分,得到如下3个子列a1101112a2131415a3161718节点4的3个邻居节点是19,20,21,分别记为v1,v2,v3;(6)节点4判断出目的节点17属于子列a3,据此,节点4将分组P和子列a3一起发送给其邻居节点v3,即节点21;(7)节点21收到分组P和子列a3后,令a=a3,再对数列a进行3等分,得到3个子列a116a217a318节点21的3个邻居节点是16,17,18,分别记为v1,v2,v3;(8)节点21判断出目的节点17属于子列a2,据此,节点21将分组P发送给其邻居节点v2,即节点17,这就是目的节点。
至此,路由过程结束。整个转发路径就是8→4→21→17。
由此可见,本发明达到了预期目的。
权利要求
1.基于优化直径网络的按度值对目的节点分段迭代的路由法,其特征在于,所述方法是在任意规模的对等网络上依次按以下步骤实现的步骤1设n为所述对等网络的节点数,w0为源节点的节点号,j为目的节点的节点号,P为转发分组,d为节点的度,从源节点w0开始,对下列的计算结果模n后,得wk+1的值wk+1=d×wk+s+t,再反复按所述公式迭代x次,x为优化直径网络的直径, 符号 表示向上取整,求出wx,其中,s=1,t∈
任取;步骤2以首项wx开始,相邻两数差值为+1地顺序写出下一项,并判断该下一项的值是否等于n-1,当该项的值等于n-1时再下一项的值变为0,然后再继续顺序按照步骤2所述的方法写出下一项并进行同样的判断,直到写完dx项为止,得到数列a;步骤3用源节点的节点号w0对数列a进行d等分,得到d个子列记为a1,a2,...ad,并把源节点w0的d个邻居节点依节点号从小到大记为v1,v2,...vd;步骤4用下述节点归属判定方法判断出目的节点的序号j所处的区间设子列ai的首项是p(1≤i≤d),ai的末项是q,当前待分割子列的长度为h,d为节点的度,n为节点数,第k次d分操作时h等于dx-k, 则q=p+(hd-1);]]>当p>q时,若j≥p或j≤q,则j∈ai;当p<q时,若p≤j≤q,则j∈ai;步骤5若目的节点序列号j属于子列ai,则源节点w0把分组P和数列ai转发给下标i相对应的那个邻居节点vi;若目的节点序列号j在多个子列中都有出现,则从中任选一个子列ak,1≤k≤d,并把分组P和数列ak转发给下标k相对应的那个邻居节点vk;步骤6收到步骤5所述的分组的节点再根据步骤3划分的结果,对收到的序号为j的目的节点所属的数列按步骤3-步骤5进行同样的操作,直到收到分组P的节点就是目的节点j为止。
全文摘要
基于优化直径网络的按度值对目的节点分段迭代的路由法属于互联网技术领域,其特征在于使源节点按优化直径网络的迭代公式反复迭代[log
文档编号H04L12/56GK1710882SQ20051001200
公开日2005年12月21日 申请日期2005年6月24日 优先权日2005年6月24日
发明者徐恪, 丁强, 崔勇 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1