




已阅读5页,还剩56页未读, 继续免费阅读
(计算机软件与理论专业论文)基于dht算法的p2p+voip系统的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电大学硕士研究生学位论文 中文摘要 中文摘要 本文针对目前建立p 2 pv o l p 系统所存在的几大关键问题。包括n a t 问题,d h t 算法 问题,资源冗余同步问题,安全问题,路由方式问题,提出了一种解决上述问题的基于d h t 算法的p 2 pv 0 i p 系统。本文在n a t 穿越问题,d h t 算法问题,资源冗余同步问题,路由 方式问题上做了深入的研究和探讨并提出了自己的解决方案。由于涉及的问题比较多,本 文在介绍完整体架构以后将对d h t 算法,路由方式问题进行详细讨论,针对d h t 算法问 题和资源冗余同步问题本文将以p a s t r y 为例进行详细介绍,本文还对p a s t r y 做了相应 的改进,使该算法本身在迭代和递归两种路由方式下就具有n a t 穿越的能力。但是该方法 不具有通用性,和具体的算法结合比较紧密。针对路由方式问题本文提出一种路径域路由 方式,该路由方式结合了半递归路由和全递归路由的优点。关于n a t 穿越问题以及整体架 构详细介绍的部分将有本项目组另外两个同学的文章进行讨论。 关键词:对等网络,i p 电话,分布式哈希表 南京邮电大学硕士研究生学位论文 a b s t r a c t a b s t r a c t t h i sp a p e rp r e s e n t sap 2 p v o i p s y s t e mb a s e do nd h ta l g o r i t h m ,w h i c hs o l v e st h ec u r r e n t e x i s t e n c eo fs e v e r a lk e yi s s u e si np 2 pv o l ps y s t e m ,i n c l u d i n gn a t , d h t a l g o r i t h m ,r e d u n d a n c y a n d s y n c h r o n i z a t i o no fr e s o u r c e s t h i sp a p e rh a sd o n ei n - d e p t hr e s e a r c ha n ds t u d yo nn a t , d h t a l g o r i t h m ,r e s o u r c e sr e d u n d a n ts y n c h r o n i z a t i o n ,r o u t i n gm o d ea n dp u tf o r w a r dn e ws o l u t i o n s a sm a n yi s s u e si n v o l v e d ,t h i sp a p e rw i l ld i s c u s s ed h t a l g o r i t h ma n dr o u t i n ga p p r o a c ha t g r e a tl e n g t ha f t e ri n t r o d u c i n go v e r a l lf r a m e w o r k i s s u e so fd h ta l g o r i t h ma n dr e d u n d a n c ya n d s y n c h r o n i z a t i o no fr e s o u r c e sw i l lb ed i s s c u s s e di nd e t a i li nt h i sp a p e r , t a k i n gp a s t r ya sa i l e x a m p l e i nt h i sp a p e r , ac o r r e s p o n d i n gi m p r o v e m e n tt ot h ep a s t r ya l g o r i t h ma l s oh a sb e e n m a d et om a k ep a s t r yh a v en a tt r a v e r s a lc a p a b i l i t yi nr e c u r s i v ea n di t e r a t i v er o u t i n gm a n n e r h o w e v e r , t h em e t h o di sn o tu n i v e r s a l ,a n da s s o c i a t e dw i t hs p e c i f i ca l g o r i t h m t h i sp a p e rp r e s e n t sa p a t h - d o m a i nr o u t i n gt os o l v er o u t i n gm o d ep r o b l e m t h ep a t h d o m a i n r o u t i n gh a st h ea d v a n t a g e so fr e c u r s i v eo v e r l a yr e s p o n s er o u t i n ga n dr e c u r s i v ed i r e c t r e s p o n s er o u t i n g n a ti s s u e s ,a sw e l la st h ed e t a i l so ft h eo v e r a l lf r a m e w o r kw i l lb ep r e s e n t e d i nt h ea r t i c l ei nt w oo t h e rs t u d e n t so fo u r p r o j e c tt e a m k e yw o r d s :p 2 pn e t w o r k ,d i s t r i b u t e dh a s ht a b l e ,v i c eo v e ri p i i 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:日期:碱坂f 多 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生张弓弛导师始衅魄塑q 墓:芏:弓 南京部电大学硕士研究生学位论文第一章绪论 1 1 课题背景 第一章绪论 随着通信技术和互联网络的迅速发展,各种多媒体通信业务逐渐在i n t e m e t 应用中占 据主导地位。基于i p 的多媒体通信发展也日益成为世界关注的热点,以i p 为核心的分组 化已经成为电信网络演进的主流方向之一。其中v o l p 技术和i p 电话作为i n t e m e t 进入电 信服务领域的第一步,业已成为当前研究和市场中的一个热点。 i p 电话业务作为多媒体通信的典型业务,日前已经成为i n t e m e t 领域中增长最快的业 务。据国际数据公司统计,i p 电话市场业务量已经从1 9 9 5 年的3 5 0 万元增长到1 9 9 9 年的 5 6 0 0 0 万元,2 0 0 0 年营业额为3 0 亿元,并且全球有1 5 的用户使用i p 电话,预计2 0 0 5 年,使用i p 电话的用户数将增加到3 4 。在我国,伴随着宽带接入业务的高速发展,i p 电话正在对传统的语音通信市场尤其是长途电话市场产生强烈的竞争攻势。据信息产业部 最新统计:在长途业务的三种消费方式中,i p 电话的业务量增幅显著,三年内近乎增了两 倍,同时i p 电话所占的比重也从2 0 0 2 、2 0 0 3 年同期的3 6 3 、4 1 7 上升到4 5 9 1 1 。 由此可见,i p 电话以其灵活性和低廉的价格日益获得广泛的应用,与此同时,这种大 规模应用也为i p 电话系统架构带来了新的挑战。由于传统的i p 电话软件都是基于客户机 服务器架构的,随着用户群规模的迅速扩大,代理服务器负担过重,将会出现用户登陆和 服务器解析消息都非常困难的情形,而服务器的稳定性是为用户提供可靠服务的保障,一 旦服务器失败,用户将无法进行正常通讯。这种中心式的结构存在着单一失败点,在很大 程度上限制了用户群的规模,因此目前急需一种扩展性强、可行性强、能够支持大规模应 用的新的拓扑模型和系统架构。 p 2 p 作为对传统客户机朋艮务器架构的一种替代,具有动态性和自组织性特点。在这种 分布式结构中,节点之间通过相互协作共享资源向用户提供某种应用服务,降低了对中心 服务器的依赖,提高了系统的可靠性和可扩展性,能够更有效的支持大规模网络应用,这 为解决当前的客户机服务器架构的v o l p 系统中存在的问题提供了新的思路。但是目前研 究领域和工业界对p 2 p 应用的关注主要集中在文件共享和文件交换上面,因此将p 2 p 网络 模型和路由算法直接用于v o l p 中在可靠性和系统效率方面并不十分理想,另一方面,由 于p 2 p 网络行为比较复杂,在理论和应用中仍存在着一些问题。 第1 页 南京邮电大学硕士研究生学位论文 第一章绪论 1 2 课题来源与研究目标 本课题来源于华为科技基金项目_ p 2 p s i p 项目,该项目主要研究利用p 2 p 和s i p 技 术来实现v o i p 。该项目从四个大的方面进行研究: 1 p 2 pd h t 算法和n a t 问题研究,这个方向的主要工作首先是对几种常用的d h t 算法进行分析,由于目前p 2 p 应用的关注主要集中在文件共享和文件交换上面, 因此将p 2 p 网络模型和路由算法直接用于v o l p 中在可靠性和系统效率方面并不十 分理想,我们希望通过研究分析改进目前的算法,然后分别实现他们。其次是对 目前的存在n a t 穿越方案进行学习和分析,进而提出一种通用的适合p 2 p 的n a t 穿越方案。 2 s i p 协议研究,这个方向的研究工作是对s i p 协议进行深入的学习和分析,然后实 现利用s i p 协议进行会话的建立,连接,通话的功能。 3 p 2 p 的安全模型,这个方向的研究工作主要集中在安全模型上,即要提出一种适合 于p 2 p 的安全模型,让不同的类型的用户能够拥有不同的权限,完成不同的功能。 上述功能对于一个集中控制式的系统来说是容易做到的,但是由于p 2 p 的分布式 特点,形成该模型还是有巨大挑战的。 4 流媒体传输,这个方向的主要工作是对r t p 和r t c p 协议进行研究,然后利用这 两种协议实现语音和视频的实时传输。 本人长期从事于p 2 p 的研究工作,在本项目中本人主要从事第一个方向的研究工作, 在其他项目组成员的合作下,我们实现了p a s t r y 算法,并实现了对称和非对称情况下的 n a t 穿越。因此本人对于d h t 算法和n a t 穿越问题有着比较深入的了解。本文是在该项 目的基础上,本人对一些问题的进一步的研究和改进。 1 3 本文的章节安排 第一章绪论,在该章中主要描述课题背景,课题来源和研究目标,并给出了本文组 织: 第二章相关研究,在该章中主要描述和p 2 pv o l p 系统相关的几大关键技术,包括p 2 p 技术,s i p 技术,主要的d h t 算法等。同时还讨论了当前重要的几个p 2 pv o l p 项目的技 术特点和优势,以及目前还存在的问题和有待研究的方向; 第三章p 2 pv o l p 系统设计,在该章首先阐述了p 2 pv o l p 系统的设计目标,然后分别 第2 页 南京邮电大学硕士研究生学位论文第一章绪论 从系统的软件结构角度和系统的网络结构角度对系统工作流程以及各个模块之间的协作 情况对系统进行了阐述。软件结构角度主要从软件设计角度把本系统划分为v o l p 业务控 制层,v o l p 业务解析层,p 2 p 适配层,p 2 p 拓扑层。网络结构角度则侧重于对网络中的几 个重要的角色之间的交互; 第四章改进p a s t r y 算法,该章首先介绍了p a s t r y 算法,其次阐述了改进的 p a s t r y 算法的工作流程,通过对节点加入,资源存放,资源获取,资源删除,资源转移, 节点退出,保活等算法的关键过程的详细描述完成对改进p a s t r y 算法原理的阐述。最后 通过对系统中所用到的所有的消息以及其处理过程进行描述,实现了对改进p a s t r y 算法 实现阐述; 第五章路径域路由,在该章我们提出了在研究过程中的关于路由方式的创新一路径 域路由。该章首先介绍了目前存在的三种路由方式:迭代路由,全递归路由,半递归路由。 然后比较了各种路由方式的优缺点,最后提出了一种新的路由的方式:路径域路由。该方 式结合了全递归路由,半递归路由的优点; 第六章测试,主要讲述了系统的测试环境以及测试结果; 第七章总结和展望,该章总结了本文所做的工作,并对该课题进一步研究的方向进 行了展望。 第3 页 南京邮电大学硕士研究生学位论文 第二章相关研究 2 1p 2 p 技术 第二章相关研究 2 1 1p 2 p 的概念及其特点 p 2 p ( p e e r t o p e e r ) i p 对等网络,它可以简单地定义为通过直接交换信息,共享计算机资 源和服务,对等计算机兼有客户机和服务器的功能【3 】。p 2 p 网络中的每个p e e r 都可以独立 地或直接地和其他任何一个p e e r 进行资源共享或通讯,p 2 p 节点之间可以共享的资源可以 是文件信息、软件资源,也可以是硬件资源,如处理能力、存储能力、打印机等。p 2 p 另 一个重要特点是改变互联网现在的以大网站为中心的状态、重返“非中心化”。理想情况下 一个p 2 p 网络是没有中心服务器的。 与传统的分布式网络不同点在于,p 2 p 网络的目的是将频繁联接和离开p 2 p 网络的主 机整合起来。简单的说,p 2 p 网络其实是在当前的实际网络之上通过路由机制实现的一种 应用层上的覆盖网。对等网络有其显著的特点【2 】: ( 1 ) 分散化( d e c e n t r a l i z a t i o n ) 网络中的资源和服务分散在节点上,信息的传输和服务的实现都直接在节点之间进 行,无需服务器的介入,避免了可能的瓶颈。即使是在混合p 2 p 中,虽然在查找资源、定 位服务或安全检验等环节需要集中式服务器的参与,但主要的信息交换最终仍然在节点中 间直接完成,这样就大大降低了对集中式服务器的资源和性能要求。分散化是p 2 p 的基本 特点,由此带来了其在可扩展性、健壮性等方面的优势。 ( 2 ) 可扩展性( v a l u a b l ee x t e r n a l i t i e s ) 在传统的c s 架构中,系统能够容纳的用户数量和提供服务的能力主要受服务器的资 源限制。为支持互联网上的大量用户,需要在服务器端使用大量高性能的计算机,铺设大 带宽的网络。为此集群等技术纷纷上阵。在此结构下,集中式服务器之间的同步、协同等 处理产生了大量的开销,限制了系统规模的扩展。而在p 2 p 网络中,随着用户的加入,不 仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足 用户的需要。即使在诸如n a p s t e r 3 0 等混合型架构中,由于大部分处理直接在节点之间进 行,大大减少了对服务器的依赖,因而能够方便地扩展到数百万个以上的用户。而对于纯 第4 页 南京邮电大学硕士研究生学位论文第二章相关研究 p 2 p 来说,整个体系是全分布的,不存在瓶颈。理论上其可扩展性几乎可以认为是无限的。 p 2 p 可扩展性好这一优点已经在一些得到应用的实例中得以证明,如n a p s t e r ,g n u t e l l a 3 1 , 3 2 ,f r e e n e t 15 】 ( 3 ) 健壮性( r o b u s t n e s s ) 在互联网上随时可能出现异常情况,网络中断、网络拥塞、节点失效等各种异常事件 都会给系统的稳定性和服务持续性带来影响。在传统的集中式服务模式中,集中式服务器 成为整个系统的要害所在,一旦发生异常就会影响到所有用户的使用。而p 2 p 架构则天生 具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的,部分节点或网络遭 到破坏对其它部分的影响很小。而且p 2 p 模型一般在部分节点失效时能够自动调整整体拓 扑,保持其它节点的连通性。事实上,p 2 p 网络通常都是以自组织的方式建立起来的,并 允许节点自由地加入和离开。一些p 2 p 模型还能够根据网络带宽、节点数、负载等变化不 断地做自适应式的调整。 ( 4 ) 匿名性( a n o n y m i t y ) 随着互联网的普及和计算存储能力飞速增长,收集隐私信息正在变得越来越容易。隐 私的保护作为网络安全性的一个方面越来越被大家所关注。目前的i n t e m e t 通用协议不支 持隐藏通信端地址的功能。攻击者可以监控用户的流量特征,获得i p 地址。甚至可以使用 一些跟踪软件直接从i p 地址追踪到个人用户。在p 2 p 网络中,由于信息的传输分散在各 节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩 小。此外,目前解决i n t e m e t 隐私问题主要采用中继转发的技术方法,从而将通信的参与 者隐藏在众多的网络实体之中。在传统的一些匿名通信系统中,实现这一机制依赖于某些 中继服务器节点。而在p 2 p 中,所有参与者都可以提供中继转发的功能,因而大大提高了 匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护 3 】。 ( 5 ) 高性能( g o o dp e r f o r m a n c e ) 性能优势是p 2 p 被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计 算和存储能力以及网络带宽等性能依照摩尔定理高速增长。而在目前的互联网上,这些普 通用户拥有的节点只是以客户机的方式连接到网络中,仅仅作为信息和服务的消费者,游 离于互联网的边缘。对于这些边际节点的能力来说,存在极大的浪费。采用p 2 p 架构可以 有效地利用互联网中散布的大量普通节点,将计算任务或存储资料分布到所有节点上。利 用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。这与当前高性能 计算机中普遍采用的分布式计算的思想是一致的。但通过利用网络中的大量空闲资源,可 第5 页 南京邮电大学硕士研究生学位论文第二章相关研究 以用更低的成本提供更高的计算和存储能力【3 】。 2 1 2p 2 p 的研究现状 2 1 2 1 网络结构 对等网络中的计算机( 称为对等机) 通过直接交换共享计算机资源和服务的网络,网 络中所有的结点是对等的,具有相同的责任与能力并协同完成任务,对等机兼有客户机和 服务器的功能。对等点之间通过直接互连实现信息、处理器、存储甚至高速缓存等资源的 全面共享,无需依赖集中式服务器支持,消除了信息资源孤岛和c s 模型中的服务瓶颈问 题。随着像n a p s t e r 3 0 、g n u t e l l a 31 ,3 2 、f r e e n e t 15 ,k a z a a 3 3 ,3 4 】等对等计算信息共 享应用系统的流行,代表了对等计算系统的体系结构也发生了由n a p s t e r 的集中查询到早 期g n u t e l l a 的自由连接,再到当前g n u t e l l a 等的偏向于强结点的自由连接的逐步演变。 在结构上对等网络分为三种类型【4 】: ( 1 ) 非结构化p 2 p 系统: 系统的特点是文件的发布和网络拓扑松散相关。该类方法包括n a p s t e r 3 0 ,k a z a a 3 3 , 3 4 ,g n u t e l l a 3 1 ,3 2 。n a p s t e r 是包含有中心索引服务器的最早的p 2 p 文件共享系统,存 在扩展性和单点失败问题。g n u t e l l a 是纯p 2 p 文件共享系统,后者如今并入前者中;k a z a a 是包含有超级节点的混合型p 2 p 文件共享系统。k a z a a 、g n u t e l l a 等系统采用广播或者受 限广播来进行资源定位,具有较好的自组织性和扩展性,适用于互联网个人信息共享。缺 点是稀疏资源的召回率低。对于一个v o l p 系统来说这是个不容许存在错误,所以这种网 络结构对于一个p 2 p 的通信系统来说是不合适的。 ( 2 )结构化p 2 p 系统: 系统特点是文件的发布和网络拓扑紧密相关。文件按照p 2 p 拓扑中的逻辑地址精确的 分布在网络中。这类系统包括c a n 1 3 、t a p e s t r y 11 】、c h o r d 1 2 、p a s t r y 8 ,以 及基于这些系统的一些其它文件共享和检索方面的研究实验系统。在这类系统中每个节点 都具有虚拟的逻辑地址,并根据地址使所有节点构成一个相对稳定而紧致的拓扑结构。在 此拓扑上构造一个存储文件的分布式哈希表d h t ,文件根据自身的索引存储到哈希表中。 每次检索也是根据文件的索引在d h t 中搜索相应的文件。生成文件的索引的方法有三种: 根据文件的信息生成的哈希值( h a s h ) ,如c f s 2 8 ,o c e a n s t o r e 3 5 ,3 6 ,m n e m o s y n e 3 7 等;根据文件包含的关键字生成关键字索引;还有根据文件的内容向量索引,如p s e a r c h 3 8 , 第6 页 南京邮电大学硕士研究生学位论文第二章相关研究 该结构就是缺乏冗余机制,一旦一个节点非正常退出网络必然造成一部分资源的丢失。 ( 3 ) 松散结构化p 2 p 系统: 此类系统介乎结构化和菲结构化之间。系统中的每个节点都有分配有虚拟的逻辑地 址,但整个系统仍然是松散的网络结构。文件的分布根据文件的索引分配到相近地址的节 点上。随着系统的使用,文件被多个检索路径上的节点加以缓存。类似的系统包括 f r e e n e t 1 5 ,f r e e h a v e n 等。相关系统非常强调共享服务的健壮性( 安全性) 。对于v o l p 系统来说由于多个检索路径上的节点对数据加以缓存所以造成了数据的冗余,一旦有数据 要被修改,那么多份数据之间的同步很难实现。所以用该结构用于构建v o l p 系统必须要 解决好数据同步机制。 2 1 2 4d h t 算法 d h t 全称叫分布式哈希表( d i s t r i b u t e dh a s ht a b l 曲,是一种分布式存储方法。在不需要 服务器的情况下,每个客户端负责一个小范围的路由,并负责存储- d , 部分数据,从而实 现整个d h t 网络的寻址和存储【4 】。d h t 使用分布式哈希算法来解决结构化的分布式存储 问题。分布式哈希算法的核心思想是通过将存储对象的特征( 关键字) 经过哈希运算,得到 键值( h a s hk e y ) ,对象的分布存储依据键值来进行。具体来讲,大致有以下步骤: 对存储对象的关键字进行哈希运算,得到键值。这样就将所有的对象映射到了一个具 体的数值范围中。重叠网中的每个节点负责数值范围中的特定段落。例如,节点a 负责存 储键值从8 0 0 0 到8 9 9 9 的对象:而节点b 负责7 0 0 0 - - 7 9 9 9 的对象。这样就将对象集合分布 地存储在所有的节点中。节点可以直接存储对象本身,如文件中的一个片段;也可以存储 对象的索引,如该对象所在节点的i p 地址。结构化的分布式存储问题解决后,剩下的问题 就是用户如何才能找到存储着目标信息的节点。在有着大量节点( 如1 0 0 万个) 的p 2 p 系统 中,任何节点都不可能拥有全部的节点? 键值? 内容的对应关系;因此用户获得了键值之后, 如何找到该键值对应的节点就被称为d h t 的路由问题。d h t 协议必须定义优化的查找f 路 由) 算法来完成这一搜寻的工作。不同的d h t 协议之间区别很大程度上就在于定义了不同 的路由算法【5 】。 目前已有很多研究机构和组织致力于构建大规模可扩展的分布式的自组织网络,并在 此基础上开发出基于p 2 p 技术的应用。例如,u cb e a r k e l e y 大学提出的t a p e s t r y 1 1 1 算法, m i t 提出的c h o r d 算法,a t & ta c i r i 中心提出的c a n 1 3 算法,r i c e 大学和m i c r o s o f t 第7 页 南京邮电大学硕士研究生学位论文 第二章相关研究 研究中心提出的p a s 仃y 8 】算法,还有n e wy o r k 大学的k a d e m l i a 1 4 算法等,重点讨论了在 动态的自组织网络中如何实现资源发现和消息路由的问题。但是这些算法均假设已经存在 一个p 2 p 的对等网络,而对如何构建这样的网络却少有提及,因此绝大部分仍处于理论研 究和试验仿真阶段,除了k a d e m l i a 算法( 在电驴和b t 中有广泛的使用) 还没有大规模的 实际应用系统出现。 2 2s i p 技术 2 2 1 s i p 技术介绍 s i p 7 ,8 】( s e s s i o ni n i t i a t i o np r o t o c o l ,会话发起协议) 是由i e t f ( i n t e r n e 工程任务组) 提出的i p 电话信令协议。正如其名字所隐含的,s i p 用于发起会话,它能控制多个参与 者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、 传输的媒体类型( 语音、视频和数据等) 、媒体的编解码格式、对组播和单播的支持等。 2 2 2 s i p 的优越性及其存在问题 h 3 2 3 1 9 和s i p 7 ,8 】设计之初都是作为多媒体通信的应用层控制协议,目前一般用于 i p 电话。 它们能实现的信令功能基本相同,也都利用r t p 作为媒体传输的协议。但两者的设计 风格截然不同,这是由于其推出的两大阵营( 电信领域与i n t e m e t 领域) 都想沿袭自己的 传统。h 3 2 3 是由国际电联提出来的,它企图把i p 电话当作是众所周知的传统电话,只 是传输方式由电路交换变成了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变 成了光纤传输。而s i p 侧重于将i p 电话作为i n t e r a c t 上的一个应用,较其他应用( 如f t p , e m a i l 等) 增加了信令和q o s 的要求。h 3 2 3 推出较早,协议发展得比较成熟;由于其采 用的是传统的实现电话信令的模式,便于与现有的电话网互通,但相对复杂得多。s i p 借 鉴了其他i n t e m e t 标准和协议的设计思想,有其突出的优点: 首先,词法和语法。s i p 是基于文本的协议,而h 3 2 3 采用基于a s n 1 和压缩编码规 则的二进制方法表示其消息,因此s i p 对以文本形式表示的消息的词法和语法分析就比较 简单。其次,呼叫建立时间短。s i p 会话请求过程和媒体协商过程等是一起进行的,而在 h 3 2 3 中呼叫建立过程和进行媒体参数等协商的信令控制过程是分开进行的,因此s i p 呼 第8 页 南京邮电大学硕士研究生学位论文第二章相关研究 叫建立时间短。再次,扩展方便。h 3 2 3 为实现补充业务需要定义了专门的协议,如h 4 5 0 1 、 h 4 5 0 2 和h 4 5 0 3 等,而s i p 只要充分利用已定义的头域,必要时对头域进行简单扩展就 能很方便地支持补充业务或智能业务。最后,分布式方式不容易造成性能瓶颈。h 3 2 3 进 行集中、层次式控制。尽管集中控制便于管理( 如便于计费和带宽管理等) ,但是当用 其被于控制大型会议电话时,h 3 2 3 中执行会议控制功能的多点控制单元很可能成为瓶颈。 而s i p 类似于其他的i n t e r n e t 协议,设计上就为分布式的呼叫模型服务的,具有分布式的 组播功能。 在用户高速增长的同时,现有的s i p 服务器也普遍反映出一些不足:“单点失效”和“性 能瓶颈”问题。s i p 按域划分用户( 比如c c w e o m c i i 就是一个域,而就是该域内提供网页浏 览的一台w w v v 服务器) ,每个域有一台s i p 服务器,用户连上本域的服务器。如果用户 所在域的服务器宕机,用户就不能使用s i p 服务。这就是所谓的“单点失效”问题。当某个 域内的用户数目庞大时,单台服务器就会性能不足。如果使用多台服务器,为维护服务器 之间的一致性又会增加配置的复杂性和增大性能损耗,性能提升十分有限。这就是所谓的 “性能瓶颈 问题。 s i p 协议本身就是一种分布式模式的协议,它和目前流行p 2 p 技术都有分布式的特点。 然而p 2 p 技术更为彻底完全没有服务器的概念,所以p 2 p 和s i p 结合起来用于解决所谓的 “性能瓶颈”和”单点失效”问题就显得得心应手。 2 3p 2 ps i p 研究现状及待解决的问题 2 3 1 研究现状 目前从事p 2 ps i p 研究工作最有影响力的有如下的几个项目 1 7 ,1 8 ,1 9 ,2 0 ,2 1 ,2 2 】: s k y p e 2 1 ,2 2 使用p 2 p 机制解决了上述的两个问题。s k y p e 网络把节点分为超级和普 通两种节点。超级节点通过p 2 p 机制互联,为普通节点提供注册服务。当超级节点失效时, 它所管理的普通节点会注册到其他超级节点上,避免了“单点失效”。当网络处理能力不够 时,部分普通节点会转换成超级节点以增大网络容量,打破了“性能瓶颈”。靠这种结构, s k y p e 做到了全球注册用户超过1 亿,同时在线人数突破7 0 0 万。 可惜s k y p e 使用私有协议,无法接入市场上大量的v o l p 设备。 威廉玛丽学院进行了s o s i m p l e 【1 7 ,1 8 ,1 9 项目,d a v i da b r a y n 提出了扩展s i p 的r e g i s t e r 请求,将其用做p 2 p 的信令,也就是说用s i p 来承载p 2 p 信令。该方法的优点 第9 页 南京邮电大学硕士研究生学位论文 第二章相关研究 是不必要另外实现一个p 2 p 协议栈,减少了代码量,并且许多网络边界设备,比如防火墙, 都可以识别s i p 协议,但是p 2 p 协议却是被禁止通过的。 该方法的缺点是加入新的d h t 算法特性时需要对s i p 协议栈作相应的修改,比较困 难。 另外哥伦比亚大学也开展了s i p p e e r 2 0 研究项目,试图利用p 2 p 的优点来解决“单点 失效”和“性能瓶颈”的问题,它的早期研究是和s o s i m p l e 很类似的,是利用s i p 协议来 承载p 2 p 信令。目前该项目正转向另一个研究方向,其主要不同之处在于它采用了外部的 d h t 算法。该方法的缺点就是需要另外设计一个p 2 p 的协议栈,这对小型嵌入式设备来说 是不小的开销,并且p 2 p 协议容易被防火墙所过滤,而这却是s i p 的优点。 该方式的优点是对于原来的s i p 协议不需要做任何的修改和扩展,并且对于不同的 d h t 算法集成到该系统中也十分的容易。这两个特点对于研究来说是十分便利的,所以本 文在设计p 2 pv o l p 系统的时候也将以该构架作为基本的构架。 2 3 2 存在的问题 从上面几节的分析中可以看出p 2 pv o l p 系统还存在这样几个方面的问题:网络结构选 择的问题。网络结构的选择涉及到了p 2 p 三大网络结构的特点( 参考2 1 2 1 网络结构) , 从2 1 2 1 节的分析可以看出非结构化p 2 p 系统由于存在稀缺资源召回率低的问题,从而导 致一些不常在线用户信息难以联系上的问题,所以该机构不适合p 2 pv o l p 系统。对于结构 化p 2 p 系统,该结构缺乏冗余机制,一旦一个节点非正常退出网络必然造成一部分资源的 丢失,所以该结构要应用到p 2 pv o l p 系统中,那么设计一个好的冗余机制就显得相当的重 要。而对于松散结构化p 2 p 系统,该系统有良好的冗余机制,但是冗余却又会带来数据的 同步问题,该系统目前还没有良好的数据同步方案。该结构要应用到p 2 pv o l p 系统中必须 解决数同步的问题。 p 2 p 协议如何实现的问题。目前存在有两个方案:第一种是用s i p 协议承载p 2 p 信令, 该方案的优点是不必要另外实现一个p 2 p 协议栈,减少了代码量,并且许多网络边界设备, 比如防火墙,都可以识别s i p 协议,但是p 2 p 协议却是被禁止通过的,并且对于n a t 穿 越s i p 协议有现成的解决方案。但是该方案的缺点是对于新的d h t 算法的加入需要对s i p 协议栈做修改,相对困难。另一种方案是独立实现p 2 p 协议栈,该方法的优点是加入新的 d h t 算法不需要对s i p 协议做任何的修改,十分便利。该方法的缺点需要实现一个新的 p 2 p 协议,并且对于n a t 穿越问题需要提供新的,适合于p 2 p 的解决方案。 第1 0 页 南京邮电大学硕士研究生学位论文第二章相关研究 2 4 本章小节 本章首先介绍了p 2 p 技术的概念,以及其全分布,“高性能 的优势。然后介绍了s i p 技术的概念,以及目前存在的“性能瓶颈和“单点失效 问题,接着阐述了以p 2 p 技术 解决s i p 这两个问题的优势以及还需要解决的问题。最后介绍了目前在p 2 pv o i p 领域比 较著名的研究项目:1 ) s k y p e2 ) s i p p e e r3 ) s o s m p l e 以及他们的各自的优缺点。最后总 结p 2 pv o i p 还存在的需要解决的问题。 第1 l 页 南京邮电大学硕士研究生学位论文 第三章p 2 pv o l p 系统设计 第三章p 2 pv o l p 系统设计 上一章主要介绍了p 2 pv o l p 的主要优点以及目前还面对的几个问题,为了解决第二章 所提到构建p 2 pv o l p 系统目前还存在的问题,我们参考现有的几个著名项目( 参考第一章) 的解决方案,制定设计的我们的p 2 p v o l p 系统架构的目标,并根据该目标提出一种p 2 p v o l p 系统架构。该架构将基于外部d h t 算法,可以支持多种d h t 算法( p a s t r y ,c h o r d ) 以及支持非对称和对称等多种n a t 穿越。 3 1 设计目标 3 1 1 性能指标 实现基于p 2 p s i p 的v o l p ,并且支持非对称以及对称等多种n a t 穿越,用于验证 p 2 p s i p 研究中的各种新想法,提供研究所需的数据,后期考虑加入安全功能。可以使用公 开的源码,但必须保证所使用的公开源码不是g p l 源码。p 2 p 部分要求最少支持p a s t r y 、 c h o r d 两种算法,要考虑对于不同的d h t 算法如何向上层应用屏蔽具体算法的差异,对具 体d h t 算法要进行封装,提炼成抽象命令。s i p 部分要求在标准s i p 协议的基础上做较少 的扩展即实现p 2 p s i p 。 在本原型系统的测试中规定,在规模为1 0 0 0 的p 2 p s i p 系统中,0 1 e r l 每用户表示一 个小时中的任意时刻进行的呼叫数量的平均值为1 0 0 。如果,1 s 可以完成一次呼叫,每次 通话持续2 s ,我们以l s 为观察间隔,要求l h 的呼叫总数为1 2 0 0 0 0 次。 考虑到用户等待忍受程度,l a n 内呼叫总时延1 s ,出l a n 呼叫总时延3 s 。如何降低 跳数将是面临的主要问题。 p 2 p s i p 原型系统期望指标能够达到0 0 1 0 0 5e r l 每用户呼叫强度下连续运行4 8 h , 整个系统不崩溃,失效p e e r 不超过1 0 ,呼损不超过2 。 p e e r 上线、下线( 异常情况的一种) :单个p e e r 上线、下线,要求在2 个路由表更新 周期后( 不能超过3 个周期) ,p 2 po v e r l a y 达到稳定。p a s t r y 中 l 2 个邻接p e e r 上 线、下线,要求在3 个路由表更新周期后( 不能超过4 个周期) ,p 2 po v e r l a y 达到稳定。 ( l 是p a s t r y 中l e a fs e t 大小) c h o r d 中 周期) ,p 2 po v e r l a y 达到稳定。( n 是c h o r d 中节点 第i 2 页 南京邮电大学硕士研究生学位论文第三章p 2 pv o i p 系统设计 数量) 达到稳定指此时对任意被叫的查找在理论上都能够成功,此时,新的呼叫不能产生 超过0 1 的呼损。这方面需要从算法和备份的角度来考虑如何解决。 3 1 2 可维护性 文档齐备,达到华为公司的文档基本要求; 释。源码规范性要求源代码必须符合编码规范, 3 1 3 可测试性 文档与源码实现一致。源码中有充分的注 要求通过公司的源码规范性检查。 需要提供实现功能需求和性能指标的手段,比如,可以设定终端软件定时发起呼叫。 考虑到要模拟规模测试的情况,要能够在单台p c 机上实现多个( 1 0 个及以上) 终端软件、 ( 1 0 0 个以上) p e e r 的同时运行。提供信令跟踪功能,以观察每次呼叫进行情况,要求能 够在每个p e e r 上观察到达该p e e r 的信令的详细内容,同时提供一台服务器,可以按照p e e r 来观察信令,也可以按照呼叫来观察信令。 运行数据收集能力:能够提供系统运行情况的原始数据,包括:p 2 p 方面的加入退出、 查找成功失败,s i p 的信令跟踪、呼叫的成功失败 3 1 4 可移植性 系统要求具有很好的可移植性,对操作系统提供的原语进行封装,屏蔽具体指令。达 到将来只需要做非常少的修改,甚至不修改就可以移植到的l i n u x 、v x w o r k s 等平台。模 块清晰,模块之间松耦合,要求某些模块从原型系统中提取出来做少量修改就可以应用于 网络仿真。 3 2 系统软件结构 根据上节所提出的4 个设计目标,p 2 pv o i p 原型系统软件结构设计如图3 1 所示。 第1 3 页 南京邮电大学硕士研究生学位论文第三章p 2 p v o 护系统设计 g 豳纽i 磁 i i ;酝癌谊涵;女。渤滋鳓涵涵i 自蔷赫耧;琏i 盎i 自磊凝施么i 施鲞 区翌置囝n 瑟酝i 盈翰缎毖缬缸么缸自i 翻缓l 施施醯酝辘i j 丞激;l 蕊涵蕴施i 缓彰荔 獭夥秽互声遭琶搪一饕一鼍隐孽 魄t 么幽赫越磁黜豳叠蠢如渤 蘑1 霪 f 第丽淫一2 蛩鼍l 奄囊 凰一磊;幺i 量副凼 支撑层( 操作系统原语适配) , , p 2 pv o l pc l i e n t 层次结构 歹一:蹬甲p 一2 p 蕹孬善? 一鼍 爹拓扑层4 麓 罾。凰。倒 。支撑层( 操作系统原语适配) ? 1 图3 1 软件结构 对于客户端系统,分为v o i p 业务控制层、v o i p 业务解析层、p 2 p 适配层、p 2 p 拓扑 层、以及r t p 瓜t c p 媒体处理部分。 对于p e e r 端系统,由p 2 p 拓扑层构成,要实现的功能包括n a t 穿越、路由、以及安 全。 v o i p 业务控制层处于整个原型系统的最上层,它响应用户的操作请求,将根据用户的 不用请求调用v o i p 业务解析子系统以及媒体处理子系统,最终完成用户的注册、登录、 注销、会话请求。 v o i p 业务解析层是将v o i p 业务控制层的操作请求转化为p 2 p 适配层能够理解的操作, 它包含资源注册、资源获取、资源注销、资源更新四个模块。 p 2 p 适配层响应v o i p 业务解析层的调用,它是对d h t 具体算法层的抽象,为v o i p 业务解析层提供统一的p 2 p 操作接口,包括i n i t i a l 、d e l e t e 、p u t 、g e t 、u p d a t e 、r e m o v e 、f i n d 、 j o i n 、l e a v e 操作。 对于c l i e n t 端的p 2 p 拓扑层,实现c l i e n t 的p 2 p 实现,该层是对具体d h t 算法的实现 并且支持上层的d h t 适配层。该层的功能管理1 ) 节点加入o v e r l a y 。2 ) 节点退出o v e r l a y 。 3 ) 数据的分布式存储。4 ) 存储数据的获取。5 ) 数据的删除。6 ) o v e r l a y 维持所必需要的更新 操作。 第1 4 页 南京邮电大学硕士研究生学位论文第三牵p 2 p v o p 系统设计 基于p 2 p 的v o i p 原型系统用户注册、用户查找、建立会话以及会话和各层的子系统 之间的关系的示意图如图3 2 所示。 - - - - - - 。- - - _ - - 1 c l i e n t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论