(计算机应用技术专业论文)基于xmpp的即时多媒体通信系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于xmpp的即时多媒体通信系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于xmpp的即时多媒体通信系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于xmpp的即时多媒体通信系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于xmpp的即时多媒体通信系统的设计与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着耳联网应用的普及,人们希望能够使用更为丰富和先进的即时通信技术, 来改进通信效率,提高协作能力。其中将多媒体通信引a g i j 时通信足主要的应用之 一。本文主要探讨了基于x m p p 的即时多媒体通信系统的关键技术,并在此基础 上,设计并交现了一个原型系统。 本文先简单介绍了x m p p 的核,i l , 协议的主要内容和工作机制,说明其开发性 和可扩展性,这是研究和开发的基础。接着阐述x m p p 应用丁二即时通信领域的扩 展。并在此基础上,分析和探讨了x m p p 的主要研究热点和问题。 然后,本文分析了基于x m p p 进行即时多媒体通信需要解决的关键问题。首 先,为了进行端到端的多媒体传输,必须在x m p p 核- t l , 的基础上,加入信令控制的 扩展,以便进行即时多媒体通信的双发能够直接与对方进行通信。其次,为了进行 多媒体数据的即时传输,必须能够在双方之间建立端到端的传输途径。最后,需要 与客户机的多媒体系统进行集成,以便能够把本方产生的多媒体数据传输给对方, 同时,把对方的多媒体数据在本方表现。就这些问题,本文分析了基于x m p p 的 j i n g l e 解决方案。 接下来,基于j i n g l e 解决方案,本文提出了一个可以支持即时多媒体通信的框 架。设计并实现了以下一些关键组件和算法:基于s t u n 和i c e 的端到端传输建立 机制;基于x m p p 的信令控制机制。通过这些组件,客户机在进行即时多媒体通信 的时候,可以很方便的探测自身所处的网络环境,很容易的穿透n a t 与对方进行 网络连接和传输。并且可以在将来,很容易的进行扩展以支持多种会话方式。 该解决方案的设计与实现,证明了基于x m p p 的即时多媒体通信技术具有简 单,强大且扩展性极强的特性,具有很好的应用价值。 关键词:x m p p ,j i n g l e ,s t u n ,n a t ,i m ,m u l t i m e d i a a b s t r a c t 英文摘要i i w i c ht h ed e v e l o p m e n to fi n t e r n e tt e c h n o l o g y i n s t a n tm e s s a g i n ga p p l i c a t i o nb e - c o m e sm o r ea n dm o r ep o p u l a ri nb o t hc o n s u m i n ga n de n t e r p r i s em a r k e t m e a n w h i l e , p e o p l ew a n tm o r ec o l o r f u la n da d v a n c e di n s t a n tm e s s a g i n g ,e s p e c i a l l yi n c l u d i n gi n - s t a n tm t f l t i m e d i ac o m m u n i c a t i o n s ,t h j st h e s i sm a i n l yd i s c u s s e sk e yt e c h n o l o g i e sa n d i s s u e si ni n s t a n tm u l t i m e d i ac o m m u n i c a t i o n ,p r o p o s e sa n di m p l e m e n t sa ni n s t a n t m u l t i m e d i ac o m m u n i c a t i o ns y s t e mw h i c hi sb a s e do nx m p p ai e t fp r o p o s e dp r o - t o c o lf o ri n s t a n tm e s s a g i n ga n dp r e s e n c e t h i st h e s i sf i r s t l yg i v e saf o u n d a t i o n a li n t r o d u c t i o nt ox m p p ,i n c l u d i n gi t sc o r e p r o t o c o la n di me x t e n s i o n b s a r t h e rm o r e ,t h i st h e s i sd i s c u s s e sa n do u t l o o k sw h a ti s b e i n gs t u d i e da r o u n dx m p p ,w h a ta p p l i c a t i o ni tw i l lb r i n gm o r et ot h er e a lw o r l d i nt h ef o l l o w i n gc h a p t e r ,k e yi s s u e sa n dt e c h n o l o g i e sw i l lb ei n t r o d u c e di n t o t h em a i np a x ti no r d e rt od oi n s t a n tm u l t i m e d i ac o m m u n i c a t i o nu s i n gx m p pa si t s b a s e ,t h e s ei s s u e sa r ea sf o l l o w s :s i g n a l l i n gm e c h a n i s mt om a k eb o t hs i d e si nc o l m a n i c a t i o nt od i r e c t l yk n o wa n dc o n t a c te a c ho t h e r i ft h e yw a n tt od om u l t i m e d i a c o m m u n i c a t i o n ;p 2 pm e c h a n i s mt om a k eb o t hs i d e st os e tu pn e t w o r kc o n n e c t i o n a n dt r a n s f e ri np e e rt op e e rw a y ;t r a n s f e ra n dr e p r e s e n tt h em u l t i m e d i ad a t a b a s e d o nt h e s ei s s u e s ,j i n g l es c h e m au s i n gx m p pi sak i n do fa v a i l a b l ew a y u s i n gt h i ss c h e m a ,t h i st h e s i sd e s i g na n di m p l e m e n taf r a m e w o r kw h i c h c a l lb e e a s i l yi n t e g r a t e di n t oi n s t a n tm u l t i m e d i ae o m m l m i c a t i o ns t u d ya n dd e v e l o p m e n t a t t h es a m et i m e ,i tp r o v e st h a tt e c h n o l o g i e su s i n gx m p pi ni n s t a n tm u l t i m e d i ac o m m u n i c a t i o ni ss i m p l eb u te a s yt oe x t e n da n dw i t hm a n yf e a t u r e s k e y w o r d s :x m pp ,j i n g l e ,s t u n ,n a t ,i m ,m u l t i m e d i a 第一章绪论 1 1即时通信的出现与发展 随着时代的不断进步,人们希望除了传统的通信手段之外,能够借助于互联网 来缩小沟通的时限,同时使得人跟人之间的协作和互动变得更为通畅。在即时消息 传递( i n s t a n tm e s s a g i n g ,以下简称i m ) 服务出现之前,电子邮件的出现部分的解 决了这个问题。虽然电子邮件已经成为人们生活和工作的必要工具,但是其依然有 着不够快捷方便的缺点。人们希望自己在上网的同时,能够即时地看到联系人的列 表以及每个联系人的当前状态。其次,人们希望能够跟联系人中的任何人进行实时 的通信,如果他也在线的话。 i m 的出现改变了这个状况。利用i m ,人们可以方便的维护自己地联系人列 表,并可以随时的给在线的联系人传递消息。这种消息传递的方式包括实时聊天, 传送文件,播放语音文件或者流媒体,以及实时的语音视频聊天等。 这种即时通信方式在出现之后,迅速成为互联网上的一项最重要的应用之一。 它不但改变了人们的生活习惯,提升了沟通的效率,而且能够让工作效率得到显著 的提高。当前,人们对这种通信方式产生了更高的要求,归纳起来有如下几个特点: 第一,希望能够让i m 随时随地的发生,而不仅仅限于p c 终端,比如能够在移动 电话和一些娱乐终端上进行i m ;其次,希望能够加入语音视频等多媒体方式,让 各种方式无缝的融合到一起:再者,希望这种沟通方式能够跟其他的语音系统比如 p s t n ,i p 电话等集成起来,使得使用不同系统的用户都能够实时的感知对方并能 相互传递信息。这些要求对传统的i m 系统提出了很大的挑战,如何把v o i p 甚至是 视频技术引入i m ,满足人们的即时通信需求,这是i m 技术下一步发展的目标。 另外一个问题是,在满足以上这些要求的同时,各种不同i m 系统之间的互联 也逐渐提上议程。这是因为,随着宽带网络,数据压缩,对等网络,v o i p 等技术的 发展,将多媒体通信方式引入i m ,很多时候,在技术上往往不会存在太多的问题。 但是,随着即时多媒体通信技术的发展,有很多公司,团体组织都提出了各自的协 议和技术实现。这种局面,一方面使得用户和开发者无从适从,另一方面也让系统 之间的互操作无法正常进行。照此发展下去,对这项技术的市场推广和实施都会带 来了许多不良影响。因此,吸收各种不同协议和技术的长处,提出统一的技术标准, 兼容各种技术规范,将是这项技术来束发展的关键所在。 第一章绪论 2 1 2 即时多媒体通信:s i m p l ev sj a b b e r 为了将即时通信与多媒体通信更好的结合起来,需要标准化即时通信的相关 技术,并将多媒体通信标准更好的引入即时通信。互联网工程任务组( i n t e r n e t e n g i n e e r i n gt a s kf o r c e ,以下简称i e t ff 1 1 ) 专门成立了i m p p ( i n s t a n tm e s s a g i n g a n dp r e s e n c ep r o t o c 0 1 ) 工作组,研究制定相关的i m 标准和规范。到目前为止, i m p p 工作组主要提交了描述i m p p 基本框架与需求的r f c 2 7 7 8 【2 1 和r f c 2 7 7 9 【3 1 ,以及大量其他草案。因为这两个标准只是描述了i m 的框架和需求,并没有提 到如何实现,所以,一些厂商和研究机构也在积极开展具体的标准制定工作,并 向i e t f 提交了建议。在这其中,s i m p l e 和j a b b e r 软件基金会( j a b b e rs o f t w a r e f o u n d a t i o n ,以下简称j s f 【4 】4 ) 受到了最大的关注。两者有不同的历史来源,有不 同的技术规范和实现途径,各有优缺点且在短期内都获得了很大的发展。 s i m p l e 是s i pe x t e n s i o nf o ri n s t a n tm e s s a g i n ga n dp r e s e n c el e v e r a g i n g 工作 组的简称,其研究目标是将s i p 扩展应用于i m 。 s i p ( s e s s i o ni n i t i a t i o np r o t o c 0 1 ) 会话初始协议1 5 】是i e t f 制订的,用于多方 多媒体通信。按照i e t fr f c 2 5 4 3 的定义,s i p 是一个基于文本的应用层控制协 议,独立于底层传输协议,用于建立、修改和终止互联网上的双方或多方多媒体会 话。该协议利用支持代理,重定向及登记定位用户等功能,支持用户的移动。在应 用方面,它支持语音、视频、数据、e - m a i l 、游戏等。s i m p l e 的提出,使得s i p 不 但能够用于发起,建立和管理多媒体会话,而且还能够传输实时数据,比如文本聊 天消息,现场状态消息等。在s i m p l e 的理念里,i m 应用的数据传输,跟多媒体会 话的数据传输并无二样,它们应该统一起来。正是由于这一特性,s i m p l e 获得了 许多大公司的支持,这其中就有软件巨头m i c r o s o f t 。目前,s i m p l e 已经提交了 的草稿包括,s i p 用于在线检测的扩展( s i pe x t e n s i o nf o rp r e s e n c e ) 和用于即时消 息传递的扩展( s i pe x t e n s i o nf o ri n s t a n tm e s s a g i n g ) 【6 】。但是s i m p l e 还缺少i m 的一些核心功能,比如联系人列表管理功能,群组聊天功能等。 与s i m p l e 不一样的是,j s f 是一个非盈利的开放组织,它的目标在于开发 出一套可扩展性极强的基于x m l 的i m 标准,它的核心便是e x t e n s i b l em e s s a g i n g a n dp r e s e n c ep r o t o c o l ( 以下简称x m p p ) 。x m p p 定义了一套在互联网端到端之 一间以流的方式传输x m l 数据的规范,并在此基础上实现了i m 平台及其它应用。比 如,逐步加入对其他多媒体通信方式的扩展支持。x m p p 成为i e t f 标准之后,受 到了广大开发者团体的欢迎,并且得到了s u n ,h p 和g o o g l e 等公司的大力支持。 关于x m p p 的详细信息,包括它的历史来源,技术规范,主要应用以及当前的研究 和开发状况,未来的发展方向,将会在第二章予以论述。 1 3本文的主要工作及其意义 第一章绪论 3 由于除了x m p p 的核心协议已经成为i e t f 标准之外,其他支持即时多媒体 通信的许多协议仍在制定当中,本文力争抓住技术和标准发展的趋势,结合实际情 况,对基于x m p p 进行即时多媒体通信的核心问题进行深入的探讨。并在当前拟定 标准的范畴内,尝试用j a v a 语言实现了一个能够提供基于x m p p 的即时多媒体 通信基础的框架。具体内容如下: 本文提供了一个能够穿透大部分n a t 系统的p 2 p 传输框架,这其中包括对 s t u n 的部分实现,以及i c e 的部分实现。 本文提供了对j i n g l e 信令系统的原型实现,所有这些工作,相信可以对基于 x m p p 的即时多媒体通信机制提供一个验证和实践的良好例子。 1 4 论文的结构 本文的结构如下:首先,本章提供了对研究背景,研究内容和意义的介绍。介绍 了即时多媒体通信出现的应用背景和发展前景,以及当前的主要问题和解决方法。 第二章将会详细介绍x m p p 的核心工作机制,并着重于它的开放性和可扩展 性。首先会介绍了x m p p 的核心协议框架,这是所有应用的根基和起点。接着介绍 x m p p 用于i m 的扩展和规范。最后,还会提及x m p p 并不仅仅是一个i m 平台, 它还衍生出了许多其他的应用。 第三章分析基于x m p p 的多媒体通信支持协议,主要包括控制多媒体信令的 j i n g l e 协议,这是一个类似于s i p 的信令控制协议。 由于多媒体通信很多情况下需要提供端到端的穿透n a t 的传输支持,第三章 还探讨了实现这机制的几种可能方案,分别介绍了不同n a t 情况下的穿透机制, 并分析了基于不同传输层协议的工作方式。 第四章将会提供本文实现的框架的系统结构设计。介绍每一部分在即时多媒体 通信系统中的功能,原理以及和其他部分的交互。主要包括基于i c e 的p 2 p 传输 架构,基于x m p p 和j i n g l e 的多媒体信令控制系统。 第五章将会说明每一部分的代码实例以说明关键算法实现。最后一章是对该技 术框架的一个归纳和展望,并提出进一步研究和开发的方向。 第二章x m p p 简介 2 1x m p p 概况 2 1 1 t t z , 是x m 口p x m p p 是由j s f 提交并经过i e t f 批准的,用于实现开放的i m 平台的协议和 规范。它提出以x m l 流【见2 3 1 】的方式在互联网上两个端点之间实时的传输结构 化数据片段。x m l 流是在两个端点之间交换x m l 节【见2 3 1 】的容器,而不足单纯 的静态的x m l 文档【7 】。 2 ,1 2x m p p 的历史 x m p p 的研究和开发首先起源于j a b b e r 社区。1 9 9 9 年,j e r e m i em i l l e r 提出 要开发一种开放的叫做j a b b e r 的i m 平台。这种平台基于扩展性良好的x m l 技 术【8 】,同时又有所区别于传统的x m l 概念。其他的开发人员也迅速的加入到这 团体中来,基于开放和开源的原则,同步开发了基于x m l 流的服务器和客户。伴随 着开发活动的进行,相关的协议文档也在当年开始撰写。 2 0 0 1 年,j a b b e r 社区成立了j a b b e r 软件基金会。这一基金会虽然并不从事软 件开发工作,但是他们组织研究并开发了一系列的协议规范。j s f 不同于其他比如 i e t f ,w 3 c ,a p a c h e 软件基金会等组织的地方在于,他们的研究活动和过程是完 全公开化的,任何的研究和开发人员都可以参与他们的研究工作。正是由于这一特 点,使得j a b b e r 社区得到了很好的发展。 2 0 0 2 年,j s f 决定将他们的核心x m l 流协议作为草稿提交给i e t f 进行审 核。随后,i e t f 正式成立了x m p p 工作组,直接支持对x m p p 的标准化工作。在 j s f 和i e t f 的共同努力之下,终于在2 0 0 4 年,i e t f 通过了j s f 的最终工作草稿 并于当年发布了四个x m p p 相关的r f cf 9 - 1 2 。 2 2x m p p 的技术框架 2 2 1x m p p 通用的网络结构 虽然x m p p 标准并未约束用某种特定的网络结构来实现,但是x m p p 通用的 实现结构是客户机服务器架构。不过,跟传统的c s 结构不同的是,这种架构并不 第二章x m p p 简介 5 图2 1x m p p 通用的结构 只有一个中心服务器f 1 3 1 。 在这种架构里,客户机通过t c p 连接【1 4 】在5 2 2 2 端口访问服务器的x m p p 服 务。跟h t t p 协议【15 】的连接方式不同的是,这种连接是持久打开的,即从开始到 会话结束,客户和服务器之间的t c p 连接都是同一个。而服务器之间也同样通过 t c p 连接进行通信( 如图2 1 所示) 。 在这种结构里的各个实体的作用分别如下: 服务器 服务器作为通信的智能管理层,它主要负责: 管理不同端点之间的连接和会话,这种会话是以x m l 流的方式进行的f 2 3 1 1 。 在通信双方之间路由可寻址的x m l 节【2 3 1 】。 若通信双方跨越该服务器所管辖的域,则该服务器需要与其它服务器进行 x m p p 通信。 客户机 客户机通过一个t c p 连接服务器,而同一个经过验证和授权的用户则可以同 时和服务器维持多个不同的会话,这种会话以资源f 2 2 2 1 进行标识。这就意味着,同 第二章x m p p 简介 6 一个用户可以在不同的地方,以不同的方式同时获得服务。比如可以在p c 端连接 的同时,在移动电话上另起一个会话。而两者是可以区分的。 网关 网关是服务器上的一个特殊服务,它能够将正常的x m p p 数据转换成其他 消息传递系统的数据,并可以将传回的数据重新编码成x m p p 数据。通过网关, 使得x m p p 客户机可以跟非x m p p 客户机进行交互。这些例子包括,s m t p 系 统【1 6 ,i r c 系统【17 】,s i m p l e 系统,s m s 系统,以及其他i m 系统,比如m s n m e s s a g e r ,i c q 等。 x m p p 网络 每一个服务器将由一个网络地址来标识的,而不同服务器的标识通常并不一 样。每一个服务器和它所管理的用户形成一个x m p p 服务域。因此,整个x m p p 网络由许多不同的服务域组成的分布式网络。 2 2 2 寻址机制 x m p p 网络中的任意一个实体都足可寻址的。这种标识叫做j a b b e r 标识符或 者j i d 。一个有效的j i d 由三部分组成,包括域标识,节点标识和资源标识。 它的形式构成如下 j i d= 【n o d e ” 】d o m a i n 【”r e s o u r c e d o m a i n = f q d n a d d r e s s - 1 i ter a l f q d n= ( s u b - d o m a i n1 ( ”s u b d o m a i n ) ) s u b d o m a i n = ( i n t e r n a t i o n a l i z e dd o m a i nl a b e l ) a d d r e s s - 1 i t er a l = i p v 4 a d d r e s s i p v 6 a d d r e s s j i d 主要的标识对象包括普通的i m 用户,i m 用户所连接的服务器以及多用 户聊天的聊天室等。 2 2 3 基于x m l 的数据格式 x m l 流( x m l s t r e a m ) 和x m l 节( x m l s t a n z a ) 是x m p p 的核心概念 2 3 1 】,x m l 节可以包括任何结构化数据,而x m l 流则作为x m l 节的顶层容器,主要用于传输 控制信息。这种数据定义方式充分保证了x m p p 的可扩展性和强大的表达能力。 当一个客户机连接上服务器时,它打开一个单向x m l 流,而在该流里可以传 递由标准定义的或者自定义的x m l 节。服务器到客户机的传输依照同样的形式。 因此一个会话将会涉及到两个x m l 流,如图2 2 所示。 o 毒穗。 僦 。 o o 第二章x m p p 简介 7 。$ 镰制 图2 2 一个典型的聊天会话 2 2 4x m p p 的技术优势 x m p p 自从成为i e t f 的标准规范之后,获得了突飞猛进的发展。从技术上 看,主要是因为x m p p 具有以下一些技术优势 x m p p 是开放且可扩展的。 首先它的研究和开发过程是开放的。j a b b e r 社区由j s f 领导,并没有限制其 他人的参与。通过邮件列表和讨论组,任何人都可以对正在制定的标准提出自己的 建议。这样就有利于将业界最优秀的技术力量集中起来,制定出符合大多数开发者 要求的规范。 其次,基于x m l 的技术框架本身从开始就考虑到其开放和扩展性的。以 x m p p 作为出发点和根基,可以衍生出其他许多丰富多彩的应用【2 5 】。j s f 通过 j a b b e re n h a n c e m e n tp r o p o s a l ( 以下简称j e p ) 过程,已经并将会陆续推出x m p p 的扩展标准。让i m 应用更为成熟和稳定,也让其他需要即时传输的应用捧陈出新。 x m p p 既有利于集中管理,又不失灵活性。 , 由于基于c s 的网络架构,并且又有一定的分布式特点,使得所有的通信都能 得到很好的管理和控制,使得跨机构的互联成为可能。 x m p p 将更多的功能迁移到服务器端 脚 第二章x m p p 简介8 这种特点使得客户机端的开发变得尤其简单。这是j a b b e r 社区特别强调的设 计理念。正是由于这一特点,基于x m p p 的客户机端实现可以有非常多的选择。 不管是是类似w i n d o w s 的桌面系统,还是新兴的移动开发平台,都能很好的实现 x m p p ,这使得i m 随时随地发生的理念成为可能。开发者可以选择适合自己的开 发平台和开发语言,而结果是用户有了更多的选择。这对于j a b b e r 的技术推广和应 用是至关重要的。 2 3x m p p 的核心内容 本节将着重介绍x m p p 核心协议【9 】的主要内容,包括x m l 流和节的概念,如 何使用t l s 保证连接的安全,如何使用s a s l 保证对用户的验证和授权等。 2 3 1x m l 流和x m l 节 一个x m l 流作为x m p p 网络任意两个实体间交换x m l 数据的载体或者容 器。当会话开始的时候( 即两个实体之间的t c p 连接已经打开) ,会话的发起端( 一 般是客户机端或者两个服务器之中的一个) ,向接收方发出一个 的开始标 签。当会话结束的时候,向另一端发出一个 结束标签。在此之间,会 话发起者可以向另一方传输任意数量的x m l 元素。这些元素包括用于验证连接 的t l s ,用于验证用户的s a s l 或者普通的x m l 段数据。这是传输的一个方向,同 时,在另一个方向上,即从接收端到发起端,将遵循同样的流程进行数据的传输。 一个x m l 节是从会话的一端向另一端发送的具有语义的结构化数据单元。它 直接位于 的子层,从它的开始标签,一直到结束标签,作为一个语义单 元。 如图2 2 所示的会话过程,当一个客户机端需要连接到服务器的时候,它在打开 的t c p 连接上向服务器发出一个 标签,当然,同时可以选择加上关于版 本,编码等信息的属性。另外,还需要加上标识用户的f r o m 属性,标识会话的i d 属性 等。如果服务器如果允许该会话的发生,随即用同样的 标签予以应答。当 用户与服务器之间完成连接和授权验证之后,即可以根据上层应用的需要,在两 者之间传递任意具有语义的x m l 元素数据。如果会话发生错误,任意一方均可用 e r r o r 子元素予以应答。这些情况包括,数据格式不符合x m l 的形式定义,连接 超时,寻址地址错误,非授权错误等 以下足两个简单的会话例子。其中一个包括完全的会话过程,而另一个则显示 会话出现了错误。 第二章x m p p 简介 9 例1 正常的会话过程( c :代表客户机到服务器的数据流s :代表服务器到客 户机的数据流,以下类同) c : s : 加密认证等 c : a r tt h o un o tr o m e o a n dam o n t a g u e ? s : n e i t h e r ,f a i rs a i n t ,i fe i t h e rt h e ed i s l i k e c : s : 例2 一个产生错误的会话 c : s t r e a m :g t r e a m t o = e x a m p l e t o m x m l n s = j a b b e r :e i i e n t x m l n s :s t r e a m = h t t p :e t h e r x j a b b e r o r s s t r e a m s v e r s i o n f f i 1 0 s : s : d i g e s t - - b 6 p l a i n c : s : 谈判哪 为了认证会话的合法性,x m p p 采用了简单认证和安全层协议( s i m p l e a u t h e n t i c a t i o na n ds e c u r i t yl a y e r ,s a s l ) 【1 9 】。当成功进行t l s 谈判并已经发出新 的 s t r e a m 头之后,服务器发出信息指示客户机将会用到的认证机制。客户机端在 所列机制中选中一个并以 告知服务器端。接着就可以进行s a s l 了。 例4s a s l 过程 第二章x m p p 简介 1 2 c s : 2 4x m p p 的i m 扩展 在x m p p 核心所定义的x i v l l 数据即时传输机制的基础上,x m p p i m 【1 0 】定 义了x m p p 用于i m 平台的扩展。主要是适应i m 应用研究和开发的需求,使用三 种典型的x m l 节来表达能够实现i m 的语义单元。 第二章x m p p 简介 1 3 2 4 1x m l 节定义 节主要用于传递即时文本消息,细化的类型包括c h a t ,e r r o r ,g r o u p c h a t ,h e a d l i n e ,n o r m a l 等,而其子元素则主要包括 , , 等。 节主要用于联系人列表的管理,包括订阅,取消订阅,主动查 询联系人当前状态等功能。包括u n a v a i l a b l e ,s u b s c r i b e ,s u b s c r i b e d ,u n s u b c r i b e , u n s u b c r i b e d ,p r o b e ,e r r o r 等,其子元素包括 , , 等。 节则在i m 会话中用于动态信息的请求与应答等,主要包括s e t ,g e t ,r e s u l t 等 类型。 2 4 2 即时文本消息的交换 在会话建立后,任何一个实体均可与其联系人列表中的实体传送文本消息。当 服务器收到这种类型的x m l 节之后,将消息准确路由到接收方。如果接收方不在线 的话,服务器可以选择暂存该消息,并等待接收方再次登陆后再传递给它。 2 4 3 现场状态消息的交换 一般情况下,当会话建立之后,客户机端将首先向服务器通知本方的状态信息。 服务器在收到这个 节后,将之向联系人列表广播。接着,客户机端会发 出p r o b e 类型的 节,请求本方的联系人列表。服务器段会以r e s u l t 类型 的 节给出联系人列表。另外,s u b s c r i b e ,s u b s c r i b e d ,u n s u b c r i b e ,u n s u b c f i b e d 等 类型 拘 节用于动态增删本方的联系人列表。 以上所介绍的是对基本i m 功能的支持。通过j e p ,j s f 已经开发出了许多高 级的i m 应用。 2 5当前的主要研究和应用方向 i m 平台的扩展 使得基于x m p p 的i m 应用更为成熟和丰富。比如文件传输的应用【2 0 】多用 户聊天的应用1 2 1 1 ,聊天文本展示的多样化支持 2 2 1 等。 x m p r p co v e rx m p p 【2 3 ,2 4 s o a po v e rx m p p 【2 5 ,2 6 】 x m p p 的核心作为一个传输平台,能够即时传输任何结构化信息,用于其他 应用的研究和开发。首先,它的 , , 数据定义机制 并不仅仅限于承载i m 语义。通过x m p p 传输具有x m l - r p c 或者s o a p 语 第二章x m p p 简介 1 4 义的结构化数据足当前的一个重要的研究和应用方向。另外,它还可以应用 于其它需要即时传递数据的系统,比如虚拟在线会议应用,预警系统等。 x m p p 与s i m p l e 的互联 由于s i p 的广泛应用,s i m p l e 也得到了很好的发展。因此,在未来一段时 问之内,基于x m p p 和基于s i m p l e 的i m 系统将会共同存在。这也是j s f 目 前比较关注的一个研究方向,主要研究内容和结果可以参考i e t f 的工作草 稿【2 7 卜 x m p p 的即时多媒体扩展。 将音视频技术,流媒体技术,v o i p 等技术引入i m 系统,使得基于i m 的通信 更为丰富多彩,是未来一段时间内研究的热点问题之一,这也是本文的研究和 探讨的主题。具体内容可以参考下文。 第三章基于x m p p 的即时多媒体通信:系 统分析 虽然多媒体的编码与压缩技术研究取得了很大的进展,但是基于互联网的多媒 体通信领域依然有许多难题需要解决。而当前,应用与研究领域主要集中在以下几 个方面: 多媒体数据实时传输机制 这是多媒体通信的基础。基于互联网的多媒体传输主要是指在单播或者支持 多播的网络环境下实时传输音频视频数据的技术和规范。当前的研究成果主 要包括实时传输协议r t p 2 8 ,以及相关的负载定义。 多媒体会话控制机制 要建立端到端的多媒体传输,发起者必须首先知道对方的网络连接地址。而 在许多网络环境下,由于n a t 的存在,如果没有服务器的帮助,发起者是无 法直接获知对方的连接地址的,因此需要有一种机制能够帮助发起者获取对 方的网络地址。同样道理,必须提供一种机制能让双方协商所传输媒体的类 型和格式,这就需要一种会话控制协议。 首先,我们需要一种机制定义会话的属性,比如会话传输的媒体是什么,用 于传输多媒体数据的网络地址是什么等,这部分的研究成果主要集中在s d p ( s e s s i o nd e s c r i p t i o np r o t o c 0 1 ) 2 9 】o 在确定会话的属性之后,我们还需要一种机制来控制管理会话的建立,在会话 过程中根据需要调整会话的属性,以及最终要结束会话。这是信令系统研究 的内容。 当会话建立之后,就需要在会话参与者之间直接传输多媒体数据。不同于信 令消息传递的是,多媒体数据包的传输往往需要建立端到端的之间的连通性。 若参与者的一部分位n a t 【3 0 】或者防火墙的后面,这种端到端的连接将会被 割断。因此,需要一种机制,能够让多媒体数据包能够穿透n a t 。这方面的 研究主要集中在如何让多媒体传输能够穿越n a t 的s t u nf 3 1 1 ,t u r n 【3 2 1 ,i c e 3 3 1 等协议上。 第三章基于x m p p 的即时多媒体通信:系统分析 1 6 本章将分析与本文研究相关的若干主要问题。首先介绍基于x m p p 的会话定 义和控制机制,然后将讨论端到端传输的几种穿透机制以及它与信令系统的集成。 3 1信令控制 i e t f 相关工作组提出的s i p 及其支持协议作为多媒体会话的信令系统已经获 得很多的应用和推广。但足基于以下两个原因,j s f 并没有直接采用s i p 作为建立 即时多媒体通信的信令系统。 s i p 协议的设计一开始并没有考虑到i m 应用的需要,虽然后来加入对i m 的 支持,但是跟x m p p 的架构有着非常大的差异性; s i p 的设计与x m p p 的设计有很大的不同。比如,s i p 与x m p p 的设计理念 里尽量让客户端简单的理念背道而驰,所以若要在客户端加入对s i p 的直接 支持,必将使得原本简单的客户端变得臃肿无比。 基于上述原因,j s f 决定采取一个折中的设计方法,即在两个正常x m p p 实 体之间的多媒体会话采用基于x m p p 的会话控制机制j i n g l e ,而当需要在x m p p 实 体与非x m p p 实体之间进行多媒体会话时,在服务器端使用网关的方式进行协议 转换。这样,就可以在保持客户端简单和原有x m p p 网络架构的同时,加入对s i p 互联的支持。相关的研究工作目前也正在进行当中。 3 1 1j i n g l e 协议的提出 在j i n g l e 协议正式提出之前,j a b b e r 社区已经存在一些多媒体会话应用。其 中影响最大的是j i v e s o f t w a r e 的a s t e r i s k - i m 技术。它通过在x m p p 服务器上与 a s t e

温馨提示

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

评论

0/150

提交评论