(通信与信息系统专业论文)基于xmpp协议的服务器关键技术研究.pdf_第1页
(通信与信息系统专业论文)基于xmpp协议的服务器关键技术研究.pdf_第2页
(通信与信息系统专业论文)基于xmpp协议的服务器关键技术研究.pdf_第3页
(通信与信息系统专业论文)基于xmpp协议的服务器关键技术研究.pdf_第4页
(通信与信息系统专业论文)基于xmpp协议的服务器关键技术研究.pdf_第5页
已阅读5页,还剩45页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 ) 【l 以p p 协议是新一代的即时通信协议,具有很好的扩展性,能够很好的解决 不同网络问互联互通问题。 论文首先阐述了) 0 帅p 协议产生的背景以及) 。仰p 协议所具有的优点,对 1 p 的研究方向和发展前景作了一些详细的介绍,并对x l 旧p 中的j i n g l e 协议 作了深入的研究。论文在f r e e p p 服务器的框架上加入了心p 协议模块,) 丑咿p 协议模块完成了x m p p 客户端的注册认证,在线信息,获得好友列表,p 2 p 语音 通信等基本功能。论文最后完成了x m p p 协议模块源代码的开发和优化,同时给 出了x l p p 协议模块总框图和p 2 p 语音通信协商流程图,并且详细分析了p 2 p 语 音通信协商信令。 关键词:x m p p 协议服务器语音通信 a b s 仃a c t e x t c i l s i b l em e s s a g i n g 勰dp r e s e n c ep r o t o c o l ( x m p p ) ,t h en e x tg e n e m t i o no f i i l s t a n tc 0 蚴t l l l i c a t i o np r o t o c o l ,h a v i n ga9 0 0 ds c a l a b i l i t ) r ,i sd e s i 印e dt os 0 1 v e i n t e r o p e r a b i l i t yb e t w e e nd i 丑b r e n tn e “帕r i 【sv e r yw e l l t h eb a c k 鲫u n da n dm e r i t s0 fx m p pp f o o l 眦i 咖o d u c e da i 妇b e 醇l l i l i n go f t l l i sp a p e r m o 旭o v t 1 1 i sp 印c rd e s c m e st l l ed e v e l o p m e n ta i l d 劬m eo ft h ex m p pi n d e t a i l s ,e s p e c i a l l ym e 豇g l ep r o t o c o lo f 订p p ) 0 订p pp r o t o c o lm o d u l ei sa d d c d m t o t h e 妇n e w o r ko f 也cf r e e p p e r t h ex m p pm o d u l ec 鲫砷l e t et l l er e g i 咖t i o no f x m p pc l i e l l t s ,o n l i r l ei i 哟姗撕o n ,a c c e s s i n gt o 伍e n d sl i s t ,p 2 pv o i c ec o m m u l l i c a t i o i l s 孤l do m e rb a s i c 向n c t i o i l s a t l a s t ,t l l i sp a p e rf i i l i s l l st l l ed e v e l o p m e n ta n do p t i i i l i z a t i o n o f 订p pp r o t o c o lm o d u l es o u r c cc o d e x m p pp r o t o c o lm o d u l ec h a n 卸dp 2 p n e g o t a l i o nc h 硪a r ec 蕊e do u t a d e 诅i l e d 越“y s i s i s m a d eo n t h es i 印a l so f 也ep 2 p v o i c ec o n u n u n i c a t i o n k e y w o r d s :x m p pp r o t o c o i s e r v e rv o i c ec o m m u n i c a t i o n 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:至童堕 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在年解密后适用本授权书。 本人签名:垂鸯堕 导师签名: 日期乒盛f 鱼鱼 第一章绪论 第一章绪论 1 1 研究的背景和意义 随着i n t e 兀1 e t 技术的高速发展,即时通信已经成为一种广泛使用的通信方式。 1 9 9 6 年,以色列m i r a b i l i s 公司推出了世界上第一个即时通信系统i c q ,不到l o 年时间,即时通信( h 塔t 锄t m e s s a 百n g ,简称i m ) 已发展成为最流行的网络应用之一。 腾讯公司的q q 、微软公司的m s nm e s 鸵n g e r 等即时通信客户端已成为许多计算 机上的必备软件。特别是近几年的迅速发展,即时通信的功能日益丰富,逐渐集 成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通信不再是一 个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公 协作和企业客户服务等为一体的综合化信息平台。 目前,由于网络技术的发展和互联网用户数目迅速增加,出现了许多热门的 即时通信软件,例如a o l 、m s n 、q q 、s k y p e 等。这些系统互相竞争有益于提升 技术和应用水平,但它们之间不能互联互通也阻碍了即时通信用户群的继续扩张。 对用户而言,在面对现有的各种即时通信服务,没有统一标准,无法实现互联互 通的局面下,v i p p ( e 艏e i l s i b l em e s s a g e 拍dp r e s e n c ep r o t o c o i ) 协议川的出现,实现 了整个即时通信服务协议的互通。有了这个协议之后,使用任何一个组织或者个 人提供的即时通信服务,都能够无障碍地与其他的即时通信服务的用户进行交流。 目前,即时通信领域正在掀起一股新的潮流,世界最大的搜索引擎公司g o o g l e 推 出的g o o 百e t a l k 就是一款基于x m p p 协议的即时通信软件。x m p p 所获得的支持 还有其他公司包括苹果、j i v e 等公司。随着溜p 的发展,旧p 的应用领域也 在逐渐扩大。另外,) 口p p 已获得i e t f ( i n t 涨t e n 百n e e 血g 亿k f o r c e ) 的正式认可。 在正t f 中,把d v i 划分为四种协议,即即时信息和出席协议( h s 协m m e s s a g i n g a n d p r e s e n c e p r o t o c o l ,i m p p ) 、出席和即时信息协议( p r e s e n c e 锄d i n s t a n t m e s s 哂n g p r 酏o c o l 。p i u m ) 、针对即时信息和出席扩展的会话发起协议( s e s s i i n i t i 撕o n p r o t o c o lf o ri n s t a n tm e s s a g i i l ga 1 1 dp r e 辩n c el e v e m g i n ge x t e i l s i o l l s ,s i m p l e ) , 以及 可扩展的消息出席协议( x m p p ) 。最初研发m p p 也是为了创建一种标准化的协议, 但是今天,i m p p 已经发展成为基本协议单元,定义所有即时通信协议应该支持的 核心功能集。旧p 和s m 癣l e 是架构,有助于实现i m p p 描述的规范。p m 聂 初是基于即时通信的协议,与) p 和s 订p l e 类似,但是己经不再使用了。 p p 协议最初是由j a b b c r 开源社区开发维护的,称为j a b b e r 协议,可以称 之为“x m p p o 9 ”。由于这段历史渊源,佃p 和j a b b e r 协议的大部分是相同的, 但是也存在一定的差异。考虑到一些符合“x 1 p po 9 ”标准的应用的存在,现在 2 基于x m p p 协议的服务器关键技术研究 的旧p 服务器大多都兼容这些应用,帅p 协议作为匝t f 的标准已经比较完善 了,但是在活跃的j s f ( j a b b e r s o 脚a r e f o u n d a t i o n ) 社区中,关注j a b b e 们( m p p 的开 发者或是用户以x e p ( ) ( m p pe x t e i l s i o np r o t o c 0 1 ) 的形式提出了很多建议,对 j a b b e 哟蹦”协议进行改进或扩展。 在x l “p p 协议提出之前,已经存在很多私有的即时通信协议,与这些协议相 比,帅p 协议具有以下几个优点: 一、p p 协议是公开的,由j s f 开源社区组织开发的。订p p 协议并不属 于任何的机构和个人,而是属于整个社区,这一点从根本上保证了其开放性。 二、) a p p 协议具有良好的扩展性。在) a p p 中,即时消息和到场信息都是 基于x m l 的结构化信息,这些信息以) 几节( ) ( 1 “ls t m z a ) 的形式在通信实体间 交换。) 口旧p 发挥了x m l 结构化数据的通用传输层的作用,它将出席和上下文敏 感信息嵌入到,结构化数据中,从而使数据以极高的效率传送给最合适的资 源。基于l 建立起来的应用具有良好的语义完整性和扩展性。 三、分布式的网络架构。胛p 协议都是基于c l i e 州s e r v e r 架构,但是讧p p 协议本身并没有这样的限制。网络的架构和电子邮件十分相似,但没有结合任何 特定的网络架构,适用范围非常广泛。 四、x m p p 具有很好的弹性。旧p 除了可用在即时通信的应用程序,还能 用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。 五、安全性。x m p p 在c l i e i i t - t 0 s e n ,e r 通信,和s e n r 盯- t 0 s e n ,e r 通信中都使 用t l s ( 1 h n s p o r tl a y e rs e c 嘶t ) r ) 协议作为通信通道的加密方法,保证通信的安全。 任何x m p p 服务器可以独立于公众旧p 网络( 例如在企业内部网络中) ,而使用 s a s l 【2 1 及t l s 【3 】等技术更加增强了通信的安全性。 正是由于x m p p 协议的这些优点,使得皿p 在很多应用领域有了很大的发 展,比较典型的就是,x m p p 已经作为公共操作环境的一部分,在美军的f b s ( f u t u r e c o 玎1 b a ts y s t e m s ) 系统中提供服务,用于提供c h a l 服务和接受来自传感器的战场信 息。 1 2 研究现状 众多拥有新技术新概念的增值服务提供商和运营商的强势介入,使得跨网通 信强力崛起并全面进入企业应用领域。艾瑞市场调查咨询机构近日发布的2 0 0 6 年中国即时通信研究报告显示,截至2 0 0 6 年底使用即时通信的用户数量已经达 到1 1 4 亿人,跨网即时通信正在给个人及企业用户带来更多的沟通便利与娱乐享 受。 目前即时通信已经从第一代以互联网文本和语音通信为主发展到第四代的跨 第一章绪论 3 网通信为主,即可以实现互联网、手机移动网、固定电话网之间的跨网文本、语 音、视频通信等互联互通应用。继中国卫通和易联通信推出国内首款跨网即时通 信软件一群英会后,中国移动和中国联通也先后推出基于移动通信的飞信和超 信,中国电信也推出名为“个人传媒”的小灵通即时通信软件。众多拥有新技术 新概念的增值服务提供商和运营商的分入,把跨网通信带到前所未有的崭新时代。 由于跨网即时通信软件拥有强大的跨网语音功能,再加上其低廉的通话成本 以及更多的增值服务,可以大大的降低公司运作和管理成本,使得越来越多的企 业已经开始倾向于选择跨网通信软件作为其工作通话的首选对象。 皿p 作为一个统一协议标准,能够更容易和其他网络互通。由于这个特性 受到越来越多的企业尤其是国际大型企业的重视。2 0 0 5 年,g 0 0 出e 发布了g o o 百e 诅l l ( ,这是一个口电话及即时通信的服务,即时通信功能采用了开放的订p p 。 2 0 0 6 年1 月1 7 日起,服务器到服务器的通信启用,g o o 出t a u ( 用户可与其他 x m p p 公共网络的用户对谈,这些对) 0 旧p 社区起了很大的推动作用。尤其在2 0 0 7 年,g o o 四e 公布了语音,视频通信协商协议j i n 出e 协议【4 】,并把它作为唧p 的 扩展协议草案,这对订p p 的应用领域有了更大的扩展。随着x m p p 的不断成熟, 一些重要的特性正在逐步开发整合,以适应市场的发展和满足客户的需求。包括 无线移动终端,电话软交换系统,远端系统监控,r s s ( m c hs i t cs u m m a r y ) 的订阅 和管理等。国内的企业对“p p 的研究主要还是集中在即时消息方面,也有一些 企业己经在开发多媒体通信、订阅,分发平台等应用项目。 目前旧p 的研究主要分为以下几个研究方向: 1 2 1 互联互通的研究 目前,解决互联互通问题主要有两种方案:一是基于网关的;二是基于多协 议客户端的。 ( 1 ) 基于网关的解决方案 由网关实现不同协议报文之问的转换,从而在两个服务域内的用户之间可以 实现互通。但是,这个方案也存在着缺陷: 1 ) 只能处理通用的服务功能集合,网关一般只对不同协议中功能相似的通用 服务进行转换,而针对特定协议的特定服务往往被网关所忽略。 2 ) 存在安全隐患。为了便于实现协议间不同格式或报文的转换,报文中的一 些信息需要以明文方式通过网关。这阻碍了一些安全策略特别是端到端安全策略 的有效实施。 ( 2 ) 基于多协议客户端的解决方案 该方案并没有真正实现协议间的互通,它只是从用户角度来说减少了同时运 4 基于x 瑚p p 协议的服务器关键技术研究 行的客户端的数量。对于服务提供商,该方案可能会破坏他们提出的特定运营模 型,损害了他们的利益。另外,当某个即时通信协议变化时,客户端需要做出相 应的更新。这增加了客户端维护的负担。 1 2 2 移动通信的研究 目前移动即时通信相关的研究方向主要包括:体系结构的研究和在线性服务 研究。体系结构的研究有了一些成果,其中主要划分出两个流派:一是移动开放 联盟组织( o m a ,o p e nm o b i l ea l l i a i l c e ) 的i m p s ( 肼p 陀s e n c es e r v i c e ) 工作组提出 的w 汝l e s sv i l l a g c 体系框架;二个是i e t f 组织提出的s i p ( s e s s i o ni 血i a t i o n p r o t o c 0 1 ) s i m p l e 体系框架吼在线性服务研究主要是适应移动通信的在线性服务 的研究和适应移动通信的在线性信息数据建模方法的研究。 1 2 3 安全性的研究 目前即时通信垃圾信息已经成为了应用与研究领域普遍关心的闯题。现有的 不少即时通信系统仍然沿用传统的反垃圾邮件所采取的防范措施,如黑白名单机 制、内容过滤机制等,其效果不很显著。对于传输信道安全性差的问题,不少第 三方开发商设计了更可靠的信道加密机制,但由于计算复杂性高,这些方案往往 需要利用更多的计算资源,使得方案更适合于企业环境。另外,针对企业级即时 通信用户的安全需要,目前出现了一些企业级系统( e n t e r p r i s e i m ,e i m ) 。不同于 m s n 等公共即时通信系统( c d l l s 岫e ri m ) ,企业级用户可以在企业内部搭建自己的 e i m 服务器,运行特定的即时通信服务,并对即时通信流量与即时通信用户的操 作进行监控与记录,保证即时通信服务的安全性。 1 3 论文的主要工作 课题背景是普罗公司的f r e e p p 服务器研究项目。目标是在服务器中加入 ) ( 1 p p 模块,实现x m p p 与s i p ,l a x ( h n e h s t 耐s ke x c h 锄g e ) 等客户端的语音通 信,并能对其进行有效的管理。本文的主要研究工作有: 深入研究了旧p 的核心协议,对唧p 系统中的三个主要部分:客户端, 服务器,网关作了详细的讲述。分析了p p 的语音通信支持协议,主要是控制 多媒体信令的陋m e 协议。 分析了f r e e p p 服务器的系统架构和语音通信的具体流程,以此为基础,提出 了在f r e e p p 服务器框架中扩展旧p 模块的方案,使扩展模块维持f r e e p p 服务 器结构的统一性,模块间协作方式的一致性,实现了认证注册,获得好友列表, 即时消息,) a 口p 客户端p 2 p 语音通信等功能。 第一章绪论 1 4 论文内容安排 本文主要研究了x m p p 协议和f r e e p p 服务器,并在f r e e p p 服务器的系统架 构上设计并实现x m p p 模块,实现艘p 客户端与其他协议客户端的语音通信。 论文主要包括五章内容。 第一章介绍了即时通信的产生与发展,分析当前即时通信所存在的问题以及 x m p p 产生的原因。介绍x m p p 的优点和国内外的研究现状,最后给出了本论文 的内容安排。 第二章介绍x m p p 的核心协议,研究了“p p 的系统架构和通信类型,给出 了一个x m p p 的通信示例。 第三章研究了x m p p 的多媒体通信支持协议j i n 鲥e 协议,详细讲述了x m p p 的多媒体传输机制。 第四章分析f r e e p p 服务器系统架构,对仰p 模块的其他模块接口作了详细 的介绍。最后完成了x m p p 源代码的开发和优化。 第五章对f r e e p p 服务器中的呻p 模块进行测试并给出了旧p 客户端p 2 p 语音通信的协商信令。 第六章进行全文总结,指出还未解决的问题,提出下一步的工作计划。 第二章x m p p 即时通信系统 7 第二章旧p 即时通信系统 2 1 旧p 协议概述 第一个ja _ b b 舀技术在1 9 9 8 由j e r e i n i e m i l l e r 开发,到目前为止,i n t e m e t 上已 经有数以万计的j a b b e r 服务器和数以百万的j a b b e r 用户。i e t f 已经将j a b b e r 定为 即时通信和现场技术的标准协议,并改名为x m p p ,相关的规范是r f c 3 9 2 0 和 i 强c 3 9 2 1 ,并且,j s f 也在它的p 中制定了更多扩展协议( 例如g r o u p c h a t 和文 件传输等1 ,这些扩展协议目前有些还没有成为标准,但是将来有成为标准的可能 性。 下面给出了主要的) ( 1 旧p 协议范本及当今应用很广的旧p 扩展: r f c3 9 2 0 ) 【1 p 恍核心。定义了订p p 协议框架下应用的网络架构,引入了 订ls 仃e 锄( ) m l 流) 与帆s t 趾z a ( l 节) ,并规定p p 协议在通信过程中 使用的“l 标签。使用帆标签从根本上说是协议开放性与扩展性的需要。此 外,在通信的安全方面,把t l s 安全传输机制与s a s l 认证机制引入到内核,与 咿p 进行无缝的连接,为协议的安全性、可靠性奠定了基础。c o r e 文档还规定 了错误的定义及处理、l 的使用规范、j i d ( j a b b c ri d e l l t i f i e r ,j a b b c r 标识符) 的 定义、命名规范等等。所以这是所有基于“p p 协议的应用都必需支持的文档。 r f c3 9 2 1 :用户成功登陆到服务器之后,发布更新自己的在线好友管理、发 送即时聊天消息等业务。所有的这些业务都是通过三种基本的x m l 节来完成的: i qs t a l 也a ( i q 节) ,p r e s e n c es t a n z a ( p r e s e n c e 节) ,m e s s a g es t a n z a ( m e s s a g e 节) 。 r f c 3 9 2 1 还对阻塞策略进行了定义,定义是多种阻塞方式。可以说,r f c 3 9 2 1 是 r f c 3 9 2 0 的充分补充。两个文档结合起来,就形成了一个基本的即时通信协议平 台,在这个平台上可以开发出各种各样的应用。 ) ( e p 一0 0 3 0 服务搜索。一个强大的用来测定x m p p 网络中的其它实体所支持特 性的协议。 x e p o l l 5 实体性能。p 0 0 3 0 的一个通过即时出席的定制,可以实时改变交 变广告功能。 ) a 三p 0 0 4 5 多入聊天。一组定义参与和管理多用户聊天室的协议,类似于 i l l t e m e t 的r e l a vc h a t ,具有很高的安全性。 p 0 0 9 6 文件传输。定义了从一个) a v i p p 实体到另一个的文件传输。 p 0 1 2 4h 1 v r p 绑定。将) 0 “p p 绑定到h r r p 而不是t c p ,主要用于不能够 持久的维持与服务器t c p 连接的设备。 p 0 1 6 6 地班e 。规定了多媒体通信协商的整体架构。 x e p 0 1 6 7j i n 百ea u d i oc o n t e n td e s c r i 埘o nf o n n a t 。定义了从一个旧p 实体 8 基于x 干协议的服务器关键技术研究 到另一个的语音传输过程。 p 一0 1 7 6j i n g l ei c e ( i n t e r a n i v ec o 衄e c t i v i t ) re s t a b l i s h m e m ) t r a r l s p o r t 。i c e 传输 机制,文件解决了如何让防火墙或是n 附e 咖出a d d r e s st r a l l s l 蒯o n ) 保护下的实 体建立连接的问题。 p 0 1 7 7j i n g i e r a w u d pt r 岬r t 。纯u d p 传输机制,文件讲述了如何在没 有防火墙且在同一网络下建立连接的。 x e p 0 1 8 0j i r i g l e d e 0c o m e n td e s c 邱t i o nf o 肌a t 。定义了从一个v i p p 实体 到另一个的视频传输过程。 ) 【e p 0 1 8 l j i n g l ed n 诬( d u a l t o n em u l t i - f r e q u e n c y ) 。 p o l8 3m g l e t e 】印a t i l yt r a l l s p o r tm e t l l o d 如果说核心协议规定了旧p 的骨架,那么这些扩展就是x m p p 骨架上的肉。 所有的扩展协议都得符合核心协议中的规定。 2 2 x m p p 系统架构 即时通信系统有两种模式,一个是用户服务器模式,即发信端用户和收信端 用户必须通过服务器来交流。另一个是用户用户模式,即服务器给每对用户建立 个t c p 通道,他们的交流在这个t c p 之上进行而无需通过服务器。胛p 没有 结合任何特定的网络结构,通常认为它是客户端服务器架构的一种实现,在这里 客户端用x m p p 的方式访问服务器采用的是t c p 连接,服务器之间的通信也是 t c p 连接。除了一些特殊的服务外,从一个客户端发给另一个客户端的) 口岫p 消 息和数据都必须通过服务端。在网络架构设计方面,旧p 在很大程度上参照了 电子邮件系统,每一个用户都有自己的本地服务器,并从该服务器上接收信息, 服务器之间则实时交换需要发送的信息。每个卿p 服务器都是独立操作的,因 此根据所在网络对即时通信速度的要求,灯p 系统可以增加或减少服务器的数 目。系统主要包含三部分:客户端,服务器,网关。图2 1 描述了x m p p 的系统 架构。 图2 1 x m p p 架构图 第二章x m p p 即时通信系统 9 2 2 1 心p 客户端 x i “p p 系统的一个设计标准是必须支持简单的客户端。事实上,x m p p 系统 架构对客户端只有很少的几个限制。一个旧p 客户端必须支持的功能有: 1 通过t c p 套接字与p p 服务器进行通信; 2 ,解析组织好的) 。订l 信息包; 3 理解消息数据类型。 x m p p 将复杂性从客户端转移到服务器端。这使得客户端编写交得非常容易, 更新系统功能也同样变得容易。p p 客户端与服务端通过x m l 在t c p 套接字 的5 2 2 2 端口进行通信,而不需要客户端之间直接进行通信。在实际应用中,许多 低阶的客户端功能已经包含在订p p 客户端类库中,这样可以让客户端的开发人 员更多的注重用户界面的开发。 基本的“p p 客户端必须实现以下标准协议( x e p 0 2 1 1 ) : r f c 3 9 2 0 核心协议c o r e r f c 3 9 2 1 即时消息和出席协议i n s t a l l tm e s s a 舀n ga n dp 诧s e n c e x e p - 0 0 3 0服务发现s e r v i c ed i s c o 唧 ) 【e p 0 1 15 实体能力e m 毋c 印a b i l i 石器 2 2 2 ) ( i 旧p 服务器 ) 【l p p 服务器遵循两个主要法则: 监听客户端连接,并直接与客户端应用程序通信: 与其他“p p 服务器通信; x m p p 开源服务器一般被设计成模块化1 6 】,由各个不同的代码包构成,这些代 码包分别处理s e s s i o n 管理、用户和服务器之间的通信、服务器之间的通信、 d n s ( d o m a 协n a 1 e s y s l 锄) 转换、存储用户的个人信息和朋友名单、保留用户在下 线时收到的信息、用户注册、用户的身份和权限认证、根据用户的要求过滤信息 和系统记录等。另外,服务器可以通过附加服务来进行扩展,如完整的安全策略, 允许服务器组件的连接或客户端选择,通向其他消息系统的网关。 基本的仰p 服务器必须实现以下标准协议 i 疆c 3 9 2 0 核心协议e o r e r _ f c 3 9 2 l 即时消息和出席协议i n s t a m m e s s a g i n g a i l d p r e s e i l c c ) 匝p 0 0 3 0 服务发现s e r v i c ed i s c o v e r y 下表显示了流行的呻p 服务器的特性集对: 1 0 基于x m p p 协议的服务器关键技术研究 表2 1流行的) a ) p 服务器 s e r v e rf e a t i l r el i c e n s ep l a f f o r m s s c o r ei x m p p dp y 1 9 g p ll i n u x o p e r d m 4 5 b s d a i x ,h p - u x ,l i 丁i u km a c o sx , s 0 1 a s w i n d o w s n g m 4 7 g p l a i x ,h p - u x ,l i n u km a c o s ) ( , s o 】撕s w i n d o w s p s ”e d 5 5 g p l a ,+ b s d ,h p u x ,l i n u ) 【 m a c o s x s 0 1 a “s w i n d o w s c o m m u n i g a t ep r o6 0 p r o p r i e t a r y a i x ,b s d ,h p - u x ,l j n u km a | c o s x s 0 1 a r i s w i n d o w s s u nj a v as y s t e mi n s t a i l t6 3 p r o p r i e t a r y h p - u x ,l i n u 】,s 0 1 a r i s ,w _ m d o w s m e s s a g j n g t i mp n e t 7 】 p r o p n e t a r y w i n d o w s m e r a k 7 1 p t o p r j e t a r y l i n u xw j n d o w s j a b b e r d2 x 7 1 g p l a i x ,+ b s d ,h p - u x ,l i n u 】m a c o s x s 0 1 a r i s w j n d o w s j a b b c r d l x 7 3 g p la ,+ b s d ,h p u x l j 力u ) ,m a c o s x s o i a r i s w i n d o w s a n t e p oo p n 8 2 p r o p r i e t a 】了a i x ,h p - u ) ( , l i n u ) 【, s o 】撕s , w i n d o w s s o a d b o xs e r v e r8 5 p r d p r j e t a r y 、m n d o w s e j a b b e r d 8 5 g p l a l x ,b s d ,h p - u xl m u xm a c o s x s o i a r i s 、v i n d o w s j a b b e rx c p9 0 p r o p r i e t a r y l i n u xs o l a s w j n d o w s o p e n f i 佗 9 7 g p lo ra i x ,h p u x ,l i n u ) 【,m a c o sx , p f o p r i e t a l y s o l 撕s 、n d o w s 2 2 3 ) a ,p 网关 ) 0 “p p 突出的特点是可以和其他即时通信系统交换信息和用户在线状况。由 于协议不同,p p 和其他系统交换信息必须通过协议的转换来实现,目前几种 主流即时通信协议都没有公开,所以蛆p p 服务器本身并没有实现和其他协议的 转换,但它的架构允许转换的实现。实现这个特殊功能的服务端在旧p 架构里 叫做网关( g a t e w a y ) 。目前,x m p p 实现了和a m 、i c q 、i r c 、m s nm e s s a g e r 、 r s s o 9 和y 曲o om e s s a g c r 的协议转换。由于网关的存在,x p 架构事实上兼容 所有其他即时通信网络,这无疑大大提高了旧p 的灵活性和可扩展性。 2 3 旧p 通信类型 皿p 协议是以x m l 为基础的,在网络上分片断发送l 的流协议,所以 旧p 信息不仅可以是简单的文本,而且可以携带复杂的数据和各种格式的文件, 这也就是说旧p 不仅可以用在人与人之间的交流,而且可以实现软件与软件或 软件与人之间的交流。旧p 的这种功能大大扩展了即时通信的应用范围。 第二章x m p p 即时通信系统 ) ( i “l 流:一个“l 流是一个容器,包含了两个实体之间通过网络交换的“l 元素。一个l 流是由一个订l 打开标签 ( 包含适当的属性和名字空 间声明) 开始的,流的结尾则是一个咀,关闭标签s 雠锄1 。在流的整个生命周 期,初始化它的实体可以通过流发送大量的x m l 元素,使接收实体和初始实体交 换信息,接收实体必须发起一个反向的握手( 应答流) 。 x m l 节:一个x m l 节是从会话的一端向另一端发送的具有语义的结构化数 据单元。它直接位于 s 仃e a i i 咖的子层,从它的开始标签,一直到结束标签,作为 一个语义单元。协议定义了仅有的三个“l 节:q n e s s a g e 胁节、 p r e s e n c 咖节、 i i i s h o w 1 ( ,p r e s e n c e i l i i i ,m e s s a g e i i i q u e r y 卢 i i i i 图2 2x m p p 协议x m l 流 一个即时消息系统最基本的功能就是能够在两个用户之间实时交换消息, 元素就提供了这个功能。每条消息都有一个或多个属性和子元素。属性 “丘d m ”和“t 0 ”分别表示了消息发送者和接收者的地址。 m e s s a g e 卢也可以包含 一个。t y p e ”属性,这给接收者一个提示,这个消息是什么样的消息。表2 2 给出 基于x m p p 协议的服务器关键技术研究 了“t y p e ”属性的可能取值。 中也可以包含“i d ”属性,用来唯一的标 识一个输出消息的响应。 值描述 d e f a u l c 消息类型为普通消息 c h a l 消息内容需要在用户聊天界面上显示 f o u p c h a l消息内容需要在聊天室的界面上显示 e n d r 消息被描述成一个错误条件 1 e s 韶g 咖也包含一些子元素,表2 3 给出了 l c s s a g e 胁元素的子元素。 元素描述 b o d 咖 包含消息的主要文本( 只能是明文) 为一个消息提供一个交替的名字空间 s u b j e c 伽包含消息的标题( 可选) ( h r c a d , 客户端发送c h a t 类型消息时,生成唯一的线程i d 作为扩展机制使用,必须指明相关的x m l 名字空间 包含一个错误的文本描述 2 3 2 p r e s e n c e 胁类型 p r e s e n c e 胁元素提供关于一个x m p p 实体的可用性信息。任何一个通过一个 j i d 确认的实体可以与另一个实体进行在线状态信息的通信,这种通信大多以订阅 在线状态信息的方式进行。 所有实体表现出的在线状态不是。可用”就是“不可用”。可用”状态表示 发送者可以立即收到消息。不可用”状态表示发送者不能在当前时间收到任何数 据。默认情况下,所有 p r e s e n c e 肛元素除非包含咿“u n a v a i l a b l e ”属性外,都 表示“可用”。“可用”的更多特殊形势通过 和 显示“a w a y ”的时候,奄t a t u s 可以是“我吃饭去了”,“去开会了” 等等。如果 s h o w 今元素不在 元素中,邶p 接收客户端将指明该用户 处于“普通”状态。表2 4 给出了该客户在线,但刚刚离开( 如吃午饭,开会) x a 该客户在线,但已经处于非活动状态很长时间了。 d n d 该用户处于谢绝打扰的模式 p r e s e i l c e 也包含一些子元素,表2 5 给出了 p r e s e n c 咖元素的子元素。 元素描述 p r j 硎t ) 伽 给每个资源赋予一个数字优先级 s h o w 显示用户在线状态 用户在线状态的描述 作为扩展机制使用,必须指明相关的x m l 名字空间 2 3 3 类型 信息,查询( m 3 ) 在两个实体间构建一个请求和响应会话,并且允许实体问来回 传送x m l 格式的请求和响应。信息查询主要的用处是取得或设置公共的用户信 息,比如名字,电子邮件,地址等等。但它的灵活设计使得任何种类的会话都可 以发生。任何通过一个儿d 标识的实体都能通过一个i q 与其它实体进行会话。表 2 6 描述了i ,q 元素的四种状态。 状态描述 g e t请求信息 s e t 设置信息 r e s u l t 如果“g c t ”或“s e t ”成功,显示结果 e n w 如果。g e t ”或“s e t ”不成功,指出错误 元素的子元素。 兀素描述 q u e r y 肛执行的查询类型 k e v , 为客户端一服务器之间交互提供一层安全保护 错误的文本描述 1 4 釜三茎坐! 塑鲨塑璺箜墨茎堡垫查旦塑 2 4 旧p 通信流程 2 4 1 寻址机制 在x m p p 里,有许多不同的实体需要互相通信,这些实体可以是一个消息系 统的客户端,聊天室或一个x m p p 用户。实体都有一个唯一性的地址,地址被称 为j a b b 盯i d e m i 石e r 或j i d 。一个合法的皿包括一组排列好的元素,包括域名( d o m a i l l i d e n t i f i e r ) ,节点名( n o d ei d e n t i f i e r ) 和资源名( r e s o u r c ei d e n t i f i e r ) 。j a b b l c r 标识符 ( i d e m i f i 砷是内外结合的表示用户身份或路由信息。所有皿都是基于下述的结构: j i d= 【n o d e ” ”】d o m a i l l 。少r e s o u d c e 】 d o m a i l l = f q d i l a d d r e s s l “e r a l f q d n= ( s u b - d o m a i nl + ( ”s u b - d o m a i n ) ) s 出d o m a i n = ( 遗l e m a t i 龇i a l i z e dd o m a bl a b e l ) a d d r e s s l i t e f a l= i p v 4 a d d r e s s i p v 6 a d d s s 域名:必须是唯一的,通常代表网关或主服务器。域名必须是定义在 i d n a ( i n i e m a t i o m d i z i r i gd o m a i nn 锄e s 妯a p p l i c a t i o n s ) 的国际化域名,域名能被 d 咐s 解析并能查找出) p 服务器的具体位置。 节点名:它是一个可选的以 分割放在域名之前。它通常是一个使用网络服 务的实体( 例如一个客户端,此时用来标志一个用户,相当一个用户名) ,或其他类 型的实体f 提供多个用户服务的聊天室) 。 资源名:它是一个可选的标识符,放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论