Netshot路由算法的分析测试与模拟.docx
- 文档编号:30146316
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:17
- 大小:190.94KB
Netshot路由算法的分析测试与模拟.docx
《Netshot路由算法的分析测试与模拟.docx》由会员分享,可在线阅读,更多相关《Netshot路由算法的分析测试与模拟.docx(17页珍藏版)》请在冰豆网上搜索。
Netshot路由算法的分析测试与模拟
Netshot路由算法的分析测试与模拟
计算机系2000级祁益峰
摘要
本文对于P2P路由模型NetShot的性能进行分析和测定。
在基于对等网络(P2P)方式的Netshot路由模型的基本构架下,选用不同的方式来组织网络中结点,形成不同的具体形态,然后对这些网络结构中节点的加入、删除、消息通讯等一系列基本操作的开销进行推导并进行模拟验证。
从而对在P2P方式下,节点不同的连接方式带来的性能差异有一个较全面的总结。
关键字
Peer-To-Peer、Netshot、路由模型
Abstract
ThispaperanalyzesandteststheperformanceofthePeer-To-PeernetworkRootingModelNetshot.AccordingtothebasicstructureoftheNetshot,weorganizethenodesofthenetworkindifferentwaystoformseveralvariationsofthenetwork.Thenweformulateandsimulatethecostsofsomebasicoperationstohaveageneralidea.
Keywords
Peer-To-Peer、Netshot、RoutingModel
1.引言
网络技术的飞速发展与迅速普及使其成为现代社会传承文明的重要手段。
现代经济蕴含着实物流、资金流和信息流三大要素,而网络正是信息传递和流转的最佳媒介和平台,其应用领域日益拓展,发挥效用也逐步凸显,可以说,网络化是信息领域发展的必然之选和必由之路。
网络本身具有规模效益递增的特性,随着加入网络的个体越来越多,每一个成员的效用水平也不断增加,因此各种网络日趋大型化。
网络的规模越来越大,连入的设备、计算单元的数量和种类也越来越多,聚集的资源总量十分可观,如计算资源,信息资源等。
然而其中一部分信息资源在互联网中存在相当数量的复本,这些冗余的资料占用了有限的空间,降低了网络成员整体的效用水平。
如何组织、定位和传输这些信息,有效整合整个网络资源,合理有效的利用它们为人们提供信息服务成为人们所关注的焦点问题。
伴随着网络技术的发展,网络计算模型正逐步取代传统的单机计算模型成为主流方式。
目前的网络计算模型主要是C/S、B/S计算模型,这两种计算模型在海量信息的组织、访问等方面都不同程度存在着如单点服务瓶颈、无法抵抗Dos攻击等问题。
Peer-To-Peer(P2P)计算模型正是在此情况下为了解决海量计算单元及其信息资源的合理利用问题而提出的分布式计算模型。
在P2P计算模型中系统的所有节点是对等的,各节点具有相同的责任,系统中的各个节点互相协同来共同完成计算任务。
本文所涉及的工作是对于P2P路由模型NetShot的性能进行分析和测定。
在基于对等网络(P2P)方式的Netshot路由模型的基本构架下,选用不同的方式来组织网络中结点,形成不同的具体形态,然后对这些网络结构中节点的加入、删除、消息通讯等一系列基本操作的开销进行推导并进行模拟验证。
从而对在P2P方式下,节点不同的连接方式带来的性能差异有一个较全面的梳理。
本文在接下来的第二部分介绍了P2P路由模型NetShot,第三部分对不同条件下,节点的消息通讯操作的开销进行数学推导,第四部分分析用程序模拟得到的结果,最后部分是一个小结。
2.NetShot路由模型
NetShot路由模型针对P2P网络的动态特性,提供了一个可扩放的动态无冲突节点命名方式,以此为基础,明确的表达节点间邻接关系、形成节点定位以及查找模型。
系统为每一个节点指定唯一的逻辑标识,并通过路由表、引入表来确定节点之间的邻接关系,节点利用这种邻接关系向其它节点传递消息,一个消息通过多个节点的协同传递后到达目标节点从而实现任意节点之间的通信。
在该路由模型中,对于一个具有n个节点规模的网络,只需要维护O(logN)大小的路由表,节点之间的逻辑路径长度也是O(logN)大小,该路由模型在开销和性能之间取得了较好的结合。
接下来简单的介绍NetShot路由算法的基本设计:
节点命名、加入、离开方式以及节点之间的邻接关系,在[1]对Netahot路由模型的性能进行了详细分析。
2.1节点的命名
要实现系统中任意节点之间的互相通信,必须为系统中的每一个节点指定一个全局唯一的逻辑标识,实现从逻辑节点到物理节点之间的映射。
在NetShot路由模型中节点的全局命名空间GNS(GlobalNameSpace)是大小为1的
数值空间。
系统中的每一个节点都将GNS的子空间作为自己的私有命名空间PNS(PrivateNameSpace),PNS可以表示为
,其中UCB称为该节点的不变界,VCB称为变界。
在NetShot中UCB、VCB是采用0或者首位是0末位字符是1的0、1字符串来表示的,各个节点的PNS所对应的逻辑空间是互不相同的,并将PNS定义为该节点的唯一逻辑标识。
对于一个字符串总长度为K+1的xCB(UCB或VCB),其所对应的数值xCBV为:
对于一个具有m个节点的系统其各个节点的子空间PNSi之间满足下面的关系:
2.2节点的加入
当一个新节点要加入NetShot时,系统通过将系统中某一个节点的PNS分割来为该节点分配一个新的PNS。
新节点首先在
之间随机均匀产生一个固定长度(例如:
128位)的0,1字符串,将这个字符串所对应的数值作为该节点的目标地址,接下来这个新加入的节点至少找到系统中的一个节点作为其引导节点(BootstrapNode),并向这个节点发出一个加入请求消息,引导节点根据情况将加入节点请求消息前递(Forward)直到目标地址所在的节点。
目标地址所在的节点将自己的PNS均匀的划分为两个部分,自己保留不变界所在的那一部分,并将另一部分作为新加入节点的PNS。
2.3节点的离开
当一个节点要离开NetShot时,它首先向与其不变界相邻的节点发送一个离开请求消息,相邻的节点接收到消息后,将离开节点的PNS加入自己的PNS中,系统中剩余节点的子空间仍然满足关系式
(2),(3)。
2.1某一稳定状态2.2G加入后的系统状态2.3D离开后的系统状态
图3节点的加入及离开
图3.1是系统所处的某一状态,系统中包含了A、B、C、D、E、F,各自占有其PNS,图3.2是节点G加入后的系统状态,点B是它的引导节点(BootstrapNode),图3.3是节点D离开后的系统状态,它的PNS被归并入了点C的部分。
采用这种节点的命名、加入、离开策略可以带来一些好处:
1)节点不存在固定的逻辑标识,采用加入时确定逻辑标识PNS的方式,可以避免由先确定逻辑标识再加入节点的方式所产生的命名冲突问题。
2)节点的PNS采用非确定长度的0,1字符串标识使系统命名比较灵活,具有可扩放性。
3)当节点加入所采用的随机函数所产生的随机数分布足够均匀时(当节点数量比较多时,一般可以保证),节点可以根据它的PNS大小来估计系统中节点的总数目,其PNS大小与系统中总的节点数目成线性反比。
2.4节点之间的邻接关系
由于在系统中存在着大量的节点,因为开销和可扩放性的需要任何节点都不可能与所有节点保持邻接关系(即全连接),而只能与一部分节点保持邻接关系,在消息通信中,必须依靠其他节点的传递来完成不同节点之间大量的通信任务。
在NetShot中每个节点的PNS都和另两个节点的PNS邻接,进而每个节点都和相应的两个那节点保持邻接关系。
与其它节点之间的邻接关系是通过路由表RT(RoutingTable)、引入表IT(IngoingTable)来维护的。
在一个具有N个节点的NetShot系统中一个节点所维护的路由表大小是O(logN)量级的,由于没有节点记录着系统中节点的总数目,对于某个节点Q其路由表的大小RTsizeQ是通过其节点的PNSQ大小进行估算的:
一个路由表项(RTEntry)对应一个与之邻接的节点,对于一个UCB为ucb的节点,其路由表项C所对应的节点RTEntryC是(R代表所采用的进制):
节点的引入表记录了哪些节点的路由表指向了该节点,一个引入表项(ITEntry)记录着路由表项指向该节点的源节点以及其所指向的目标地址。
图4是一个节点不变界UCB为0001,变界VCB为001的节点G所对应的路由表和引入表结构(本例中R=2)。
节点G的路由表结构
编号
目标节点地址
目标节点
1
0001+01=0101
E=[01,011)
2
0001+001=0011
D=[0011,01)
3
0001+0001=001
C=[001,0011]
0
节点G的引入表结构
编号
源节点
目标地址
1
B=[0,0001)
0+0001=0001∈[0001,001)
2
A=[0111,0)
0111+001=0001∈[0001,001]
A
001
D
01
0011
0001
C
B
F
G
E
0111
011
图4节点G的路由表和引入表结构
采取大小可以动态变化的路由表与采取固定大小的路由表相比有一些好处。
对于采取固定大小的路由表,如果路由表规模选择的比较小,当系统中的节点数目增多时则不能够实现系统的可扩放性,如果比较大就会有一些重复的路由表项。
2.5消息前递模型
根据2.4所述的节点之间的邻接关系,Netshot中的节点与系统中一部分节点保持邻接关系,节点之间的通信基于这种邻接关系采用消息前递的方式进行。
当节点需要向某一目标节点发送消息的时候,节点首先检查其路由表以及引入表中是否有目标节点,如果有就直接发送给目标节点,否则,在路由表项和引入表项中选择与目标数值最接近的路由表项所对应的节点,并将消息发送给该节点,该节点接收到消息后同样根据上述规则继续进行前递,节点间不断接力,直到消息传递到目标节点。
3.消息通信开销的理论推导
为了对在不同进位制R下,节点间消息通信的开销有更细致的认识,从而能对进一步的研究和实际应用有所裨益,就这个问题进行理论推导。
下面按照2.5的消息传递模型,对节点之间通信的开销进行分析。
首先进行一个空间映射,将GNS从
映射到
,(
=N)
那么,节点之间判定邻接的步长应该从R-k变为Rk,对于最坏情况和平均情况分别进行讨论:
3.1最坏情况下的开销
对于单向路由表的情形,设两个节点的不变界UCB之差为Dif,若Dif第I位的数值是k,则需经过k次距离为RI-1的消息传递,当整个Dif各个数位取值全是R-1时,消息通信开销最大,为(R-1)*logRN;
对于双向路由表的情形,由于消除了边的有向性,最大距离不会超过单向路由表情况下的一半,即
。
3.2平均情况下的开销
在模型中,是否采用双向路由表对消息通信的开销影响很大,同时,使用的进位制R是否为2的情况也有一定的差异,因此下面将对四种不同情况进行讨论,考察消息通信的开销。
a.使用单向路由表。
为了考察各点间的距离,不妨以标度为0的点O(UCB=0)为基准,所有节点与点O通信的平均开销就是整个网络中任意两点间通信的平均开销。
(1)若R=2,
不妨设N=2n,节点B到点A的距离等于点B对应的二进制序列中1的个数(若第I位是1,则A到B的路径上有一条长度为RI-1的边)。
转而考虑全体n位长的二进制序列中,有多少个1。
在n位中有k个1的序列有
个,所有序列中共有
个1,根据组合公式
=
,得平均开销为
=
=
。
(2)若R>2,
不妨设N=Rn,节点C到节点A的距离等于点C应的二进制序列中1的个数(若第I位是k,则A到B的路径上有k条长度为RI-1的边)。
转而考虑全体n位长的m进制序列的数码之和,在n位序列中任意考察第j位,第j位的值取p的序列共有Rn-1个,那么易得第j位的之和是
,那么长度为n的序列的所有的数码和是
,平均开销是
=
。
b.使用双向路由表。
仍以标度为0的点O为基准,与a中情形相似,所有节点与点O通信的平均开销就是整个网络中任意两点间通信的平均开销。
(1)若R>2,
对m进行讨论:
①R=2k.(k>=2)。
对任意给定的n位R进制序列进行分析,对于第I位数字p,在最终分拆中,或者包含p条长度为
的边,或者包含(R-p)条长度为
的边和1条额外的长度为
,因此,对所有的数字做分类,定义函数f(t),(0≤t≤R-1),f(t)=
,函数F(A),A为一个给定的R进制序列,
,F(A)的值是序列A所代表的点到点O开销的近似解。
事实上,由于第I-1位的值可能对第I位的值产生影响(如当第I位的值是k,而第I-1位的值大于k),所以得出的只是近似解,下面进行修正。
若第I位的取值是k,且后一位的值大于k,此时应将值从k+1修正为k;
若第I位的取值是2k-1,且后一位的值大于k,应将值减去2k。
遍取所有的序列Ai,求得F(Ai)的平均值再减去修正项即为所求距离。
在n位序列中任意考察第j位,第j位的值取p的序列共有Rn-1个,那么第j位的之和是
=
≈
,所有n位之和是
,平均距离是
。
2R=2k-1。
可以完全平行的做出推导,易知,结论同上,平均距离约为
。
(2).若R=2,
定义函数g(A)=2x+y,其中x是序列A中长度大于1的全1串,y是序列中单独的1的个数。
对于在第I位的单独的1,那么在最短路径中必定存在长度为2i-1的边;相应的,对于第j位到第k位的全1串,可以通过2j-1-2k来得到,即在最短路径中只占了两条边,综上所述,函数g(A)的值就是序列A所对应的点到点O的距离。
定义函数G(n),G(n)=
,即G(n)是所有长度为n的二进制序列A对应f(A)值的总和,
就是平均水平下二点的距离,下转求F(n)。
按照序列中第1个“10”子串的位置进行分类。
二进制串具有的形式
在F(n)中对应的值
10+(n-2位)
(2*2-3)*2n-2+F(n-2)
010+(n-3位)
110+(n-3位)
(2*3-3)*2n-3+F(n-3)
0010+(n-4位)
0110+(n-4位)
1110+(n-4位)
(2*4-3)*2n-4+F(n-4)
------
(2*I-3)*2n-i+F(n-I)
表3.1
除了表中各项外,还有整个序列中不含“10”子串的情况,它们具有0….01..1的形式,共n个,在F(n)中对应值有2n-1。
根据分类讨论得到了递推公式:
=
=
得:
F(n)=
=2F(n-1)+3*
(n>=3时)
F(n)=
,
=
,
即当R=2且使用双向路由表时,平均开销是
。
4.程序模拟得到的结果
4.1程序模拟方法的描述
下面是程序模拟的结果。
具体方法是按照Netshot路由算法,实现节点的静态加入,形成一个有多个节点参与的网络结构,然后随机选择两点进行消息通信,统计其路由开销,重复进行多次,消除由于节点选取过于特殊带来的干扰,得到一个平均意义上消息通信的路由开销。
4.2模拟结果的图形表示
选择不同的进位制R,在单向路由表的连接方式下,得到如下结果(采用SAS统计软件得到各图):
图4.1Radix=2
(X轴取模拟的实际开销,Y轴取推导得到的理论值,节点数取100到3000,下同)
图4.2Radix=3
图4.3Radix=4
图4.4Radix=5
图4.5Radix=6
4.3模拟结果的综述
当进位制R不断改变时,节点间通信的开销(图中由X轴表示)与理论值
(图中由Y轴表示)基本吻合,在图形中表现为,模拟结果对应的点(x,y)分布在
线附近。
5小结
随着信息技术应用的日渐普及与深入,网络不断地渗透到经济领域和社会生活中,网络的大型化是当今信息领域发展的一大趋势。
在大型网络中,沉淀着大量未被有效利用的资源,引入对等网络的结构是为了适应网络发展新特点,充分利用资源的重要尝试。
本文基于对等网络Netshot路由算法,在不同条件下就其通信开销进行了推导和模拟测试,对该路由算法的性能有了进一步认识。
致谢
感谢代亚非教授在“政”项目过程中给予我悉心的指导和细致的帮助,感谢北京大学网络实验室的各位师兄师姐,在学业上、生活上使我得到充分的关心和照顾。
最后特别感谢学校和李政道先生为我们提供这样的见习进修机会,让我能够参与到整个科研活动中,体验到科研工作的艰辛,也分享到取得成果的喜悦,这份经历是我今后从事科研活动的一笔宝贵财富。
参考文献
[1]WangQingbo,DaiYafei.NetShot-AnInfrastructureForScalableWide-AreaLocationAndRouting.
[2]T.Berners-Lee,L.Masinter,andM.McCahill.RFC1738-UniformResourceLocators(URL),December1994.
[3]Patterson,D.A.,Gibson,G.andKatz,R.H.,ACaseforRedundantArraysofInexpensiveDisks(RAID),ACh4SIGMODConference(Chicago,Illinois,June1988).
[4]MichaelO.Rabin.EfficientDispersalofInformationforSecurity,LoadBalancing,andFaultTolerance,JournaloftheAssociationforComputingMachinery,Vol.36,No.2,April1989,Page(s):
335–348
[5]PabloRodriguez,AndreasKirpal,ErnstW.Biersack.Parallel-AccessforMirrorSitesintheInternet
[6]WebGather.
[7]google.
[8]GlobalGridForum.http:
//www.gridforum.org/
作者简介:
祁益峰,男,1982年1月出生于上海,2000年从上海市上海中学保送进入北京大学计算机系。
在校期间尊敬师长,友爱同学,积极参与学生工作,先后担任系团校秘书长、校常代会常代表等职务,获得优秀团干、社会活动单项奖等荣誉和奖励。
学习成绩优秀,勤于思考,曾获得摩托罗拉特等奖学金、叔苹奖学金等奖励。
2003年获得北京大学“三好学生标兵”称号。
感悟与寄语:
感谢“政基金”给了我一个这样好的机会,能够直接参与到科研实践中,体验各种的酸甜苦辣。
一年多的学习工作,让我对科研活动有了感性的认识,科研不是拍脑门的空想,而是无数耐心细致工作的累计。
每一点滴成果中,都蕴含着无数辛劳与汗水。
老师们辛勤钻研和努力攻关的精神是我今后学习和从事科研活动强大的动力和极好的鞭策。
愿有更多有志于科研工作的学弟学妹们加入到“政”大家庭中,分享科学带来的快乐。
指导教师简介:
代亚非,女,北京大学计算机系教授,1958年2月生于哈尔滨。
1993年在哈尔滨工业大学计算机系获得博士学位。
主要的研究方向是计算机网络与分布式系统、海量网络信息的特性及其分布式存储、分布式检索与分布式管理技术。
目前主要的科研工作包括:
面向Internet的海量信息存储系统的研究,分布系索引机制的研究,计算机支持的远程协作学习系统的研究。
参加过包括973,863,自然科学基金等多项课题的研究。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Netshot 路由 算法 分析 测试 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)