当前位置:
文档之家› 标准化的即时通信协议SIMPLE和XMPP的对比研究
标准化的即时通信协议SIMPLE和XMPP的对比研究
Live Communications Server 2005将使用户能够与
雅虎,AOL的即时通信服务的用户互联互通,进
一步增强了SIMPLE作为标准化IM协议的强势
地位。
XMPP的优势在于灵活和开放。它具有XML
带来的弓生俱来的扩展性,任何人都可以用扩展
的XML信息来处理客户的特殊要求并在XMPP
第28卷第4期 2005年12月
武议科技大学学报(I;;_{然科学版) J.of Wuhan Uni.of Sei.&Tech.(Natural Science Edition)
V01.28,No.4 Dec.2005
标准化的即时通信协议
——SIMPLE和XMPP的对比研究
张云J
(武汉科技大学管理学院,湖北武汉430081)
为推动IM协议的标准化进程,IEqT成立了 IMPP(即时消息和出席协议,Instant Messaging and Presence Protocal)工作组,并于2000年2月发布 了RFC 2778和RFC 2779 L 2,3 J。IMPP最初的目标 是构建一套标准化的IM协议,但后来实际上制 定的是标准化的协议所应遵循的一组规范,如丁 作组制定,公共出席和即时消息规范(Common Presence and Instant Messaging。CPIM)c目前在 IM PP基础上形成的标准协议主要有SIMPLE体 系和XMPP体系。
Key words:IM;interoperability;SIMPLE;XMPP
1996年,以色列Mirabilis公司推出了世界上 第一个即时通信系统ICQ,不到10年时阆,即时 通信(Instant Messaging,简称IM)已发展成为最流 行的网络应片j之一,腾讯公司的QQ、微软公司的 MSN Messenger等IM客户端已成为许多计算机 上的必备软件。需要指出,即时通信并不只是青 少年用于休闲聊天的玩具,它在商务中的应用也 在迅速升温。据美国在线(AOL)2004年8月24 日公布的一项调查结果表明,工作场所和移动设 备即时信息传送【IM)的使用正在不断增长”+。
基础上构建新的应用。例如,CRM或别的企业应
用系统可以作为一个XMPP的客户端注册到服务
器上,在管理员许可的前提下,用户或另Ⅱ的应用能
发现CRM的状态并向其发送数据、对其进行操
Βιβλιοθήκη Baidu
作。利用XMPP作为通IHj的传输机制,不同组织
内的不同应用都可以进行有效的通信。由于
XMI.很易穿过防火墙,所以用XMPP构建的应用
SIMPLE will be widel)r adopted while XMPP will develop rapidly,and gateway is needed to provide intercon—
nection for systems utilizing different architectures for a period of time.
2005年第4期
张云川:标准化的即时通信协议
377
接到XMPP社区中的任意其他节点…f。 每个XMPP节(stanza)都是标有JID地址的
XML结构化数据块,节的类型可以通过恰当的命 名空间XML结构化数据加以扩展。正如W3C是 Web格式的标准化主体,Jabber软件基金(JSF)是 XMPP节类型扩展的标准化主体,不过,任何其他 组织都可以按需确定事实上的标准格式。XMPP 将出席(Presence)和相关的消息嵌人XML结构 化数据之中,使之能有效地路由至最合适的资源, 起到n瓦Hj的XML结构化数据传输层的作用,这 种层次结构最大程度地简化r客户端的实现。 JSF提供了到其他IM系统的网关规范,只要网关 支持,客户端就可以与其他IM系统交流。
3两种协议的优势对比
综合考虑功能、扩展能力和成熟度等各方面 特征,两种协议各有特色,其对比如表1所示。
表1 SIMPLE和XMPP的对比
成熟度 功能
甘 展能力
主流厂商的支持 煎墨
较为戚熟
新兴拄术
支持各种即时消息通信 支持各种1111时消息通信
一般 微软.IBM
租强
SUN,Orade,‰出(可能)
些垒点[焦堕垣
万方数据
叫过程巾的呼叫特征。例如,某次呼叫开始时被 置为“voice-o-rly”,但用户可以在呼叫过程中按需 开启视频功能,新加入呼叫的第=三方也可以开启 不同的特征。
多数即时消息和出席检测架构町以不加修改 地利用SIP中已有的特性。例如,一个IM客户机 向SIP注册服务器发送REGISTER消息,通知它 可以接收IM,注册服务器采用与SIP系统中其他 规则相同的方法来处理登录请求。不过,SIP缺 乏消息路由机制,不完全符合TMPP,还需x寸其进 行一定的扩展o“,目前SIMPLE工作组已经提交 了3项RFC和17项草案。SIMPLE在本质上与 SIP相同,没有采用GET和POST等数据存取方 法,而采片j INVITE和BYE等信令方法来启动和 结束一次呼叫或会话。SIMPLE增加了一种称为 MESSAGE的新的请求方法来发送一次性的短消 息,即寻呼机模式的IM;用SUBSCKIBE发送对出 席消息的淘问,用NOTIFY传输出席消息。在持 续较长的IM会话中,参与者在一段时间内交换 多条消息,这时就要用到INVITE信令和一种称 为“消息会话中继协议”(MSRP)的传输西议;文 本通过MSRP传输,话音和视频数据则和其他SIP 应用一样用RTP来传输”J。 2.2基于XML的XMPP
2 sIMPLE体系和xMPP体系
2.1 SIP的SIMPLE SIMPLE是SIP for Instant Messaging and Pres-
ence Leveraging Extensions的缩写,其目标是将 SIP协议应用于IM和出席检测业务。因为SIP 和IMPP所提出的RFC2779中的要求有许多共同 之处,加上SIP已受到较广泛的支持而且相对较 成熟,故采用SIP实现IMPP是很自然的选择‘4 o。
(3)方案3。各种IM系统使用标准化的网络 协议,在服务端解决不同系统互操作性的问题。 这种方案才是解决不同IM系统豆联的根本途 径,但需要寻求…种能被广泛接受的标准化协议。 例如,今天用任何一台计算机访问某个Web站点 时,并不需要考虑网站服务器的硬件或软件架构, 因为客户机和服务器都采用了相同的HTrP协 议。
摘要:提出实现一个用户同时访问多个IM系统的3种方案。指出各种IM系统都采用标准化的协议才是达到 互操作性的根本途径。对SIMP[。E和XMPP这两种协议体系进行对比分析,认为前者将率先广泛应用而后者 会迅速发展,共存期间需要用网关实现两者的互联。 关键词:即时通信;互操作性;SIMPLE协议;XMPP协议 中图分类号:TP391 文献标志码:A 文章编号:1672—3090(2005)04—0375—03
Abstract:3 approaches are proposed for a client to access different instant messaging(IM)systems at the
same time.It is held that the deployment of standard protocol is the key to interoperability of discrete IM sys— tenls,‘fwo protocol architectures,SIMPLE and XMPP,are comparatively analyzed,followed by the opinion that
Standardized Instant Messaging Protocols: Comparative Analysis of SIMPLE and XMPP
ZHANG Yun—chuan
(College of Management,Wuhan University of Science and Technology,Wuhnn 430081,China)
垣圭旦圭
SIP已经在网络电话等领域得到了较广泛的
应用,出现了人量的产品和方案,对现有SIP系统
进行一定的修改后就能支持SIMPLE,这是
SIMPLE最大的优势。从产业上看,微软已经选择
SIP作为其实时通信策略并在WindowsXP,
Pocket PC和MSN Messenger中进行了部署,IBM
也在大力地推进SIP的应用。微软公司宣布其
XMPP(Extensible Messaging and Presence Pro—
Iocol,可扩展的消息和出席协议)是一种基于 XML的传递出席信息(Presence)和消息路由的协 议,它为不同的网络之间互联提供了一种安全而 简单的编程语言,是Jabber系统(一种开放源代 码的IM系统)的基础,IETF成立了XMPP丁作组 并已发布了著十项草案Lg]。XMPP路由的核心是 一种类似于电子邮件的逻辑编址方案,在Jabber 系统中,这一地址被称为Jabber ID,其形式为 node@domain/resource。XMPP的工作方式也与 简单邮件传输协议(SMTP)相似,地址中的域(有 相应的服务器)可以用普通的DNS系统来解析, 由服务器来转发用户的消息。与SMTP不同的 是,节点(node)部分既可以表示用户,也可以表 示应用或服务;FeSOLlrce是连接识别标记,允许同 一个客户在同~个时刻多次登录服务器。当节点 连接到一台服务器时,它们利用来自本地目录系 统的证书进行鉴权、指定资源并通知服务器向订 阅者(比如说列在好友名单J二的用户)发出出席 公告。服务器之间能相互发现、连接和认证,不管 某节点的本地服务器(域)是什么,只要不违反保 密或业务规则,它都可以通过服务器的转接而连
南于IM巨大的商业价值,仅国内就出现了 QQ,网易泡泡,新浪UC等多种即时通信系统,这 些系统互相竞争有益于提升技术和应用水平,但 它们之间不能互联互通也阻碍r IM用户群的继 续扩张。本文将探讨即时通信协议标准化的必要
性,并对影响最大的两种标准化协议进行对比研 究。
1协议的标准化
一个用户的多个潜在的通信对象可能使用不 同的IM系统。我们认为,以下3种方案都能使其 同时接人多个IM系统:
(1)方案1。同一台计算机上安装和使用多 个不同的IM客户端软件。这种做法最容易实 现,但增加了对系统资源的占用,还使操作变得更 加复杂。
(2)方案2。使用MylM,Trillian等号称同时 支持多个现有IM系统的“兼容”客户端软件,也 就是用一个客户端软件来代替多种其他软件。由 于多数现有IM系统采用的是私有的通信协议,
收稿日期:2004一12一06
作者简介:张云川I(1972一),男,武议科技大学|井帅,华中科技大学博士生
万方数据
376
武汉科技大学学报(自然科学版)
2005年第4期
并未授权给这些“兼容”系统使用,其兼容性得不 到保障。用户要使用这些“兼容”系统需要申请 新的TM识别码并安装新的客户端软件,不但没 有从本质上解决多系统兼容的问题,反而带来了 新的麻烦。
不易受到防火墙的阻碍。从产业上看,XMPP起
源于开放源代码的Jabber系统,现在已有了大跫 使用该协议的IM系统,目前SUN和Oracle已经 在它们的IM系统巾使用XMPP,而Google也n,能 在其IM系统中使用这一协议。
SIP(Session Initiation Protoc01)协议是由IETF 提出的一种用于IP网络多媒体通信的应用层控 制协议,其主要功能是创建、修改、终结和管理多 媒体会话或呼叫,SIP协议的语法和语义在很大 程度上借鉴了SMTP和HTllP的机制,使用c/s 通信模式以及文本形式的消息编码”1。本质L, SiP提供以下功能”j:①名字翻译和用户定位:无 论被呼叫方在哪里都确保呼叫达到被叫方;执行 所有描述信息到定位信息的映射;确保呼叫(会 话)的本质细节被支持。②特征协商:它允许与 呼叫有关的组在支持的特征上达成一致。③呼叫 参与者管理:呼叫中参与者能够引入其他用户加 入呼叫或取消到其他用户的连接,支持呼叫转移 和呼叫保持。④呼叫特征改变:用户能够改变呼