即时通讯协议简述

来源:互联网 发布:应用宝软件中心 编辑:程序博客网 时间:2024/05/21 16:44

即时通讯协议简述

                                      

即时通讯协议简述

一 概述

IM(Instant Messaging)正在被广泛地采用,特别是在公司与它们的客户互动联接方案上。为了解决即时通讯的标准问题,IETF成立了专门的工作小组,研究和开发与IM相关的协议。

目前IM有四种协议:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP。PRIM与XMPP、 SIMPLE类似,但已经不再使用了。

IMPP主要定义必要的协议和数据格式,用来构建一个具有空间接收、发布能力的即时信息系统。到目前为止,这个组织已经出版了三个草案RFC,但主要的有两个:一个是针对站点空间和即时通讯模型的(RFC 2778);另一个是针对即时通讯/空间协议需求条件的(RFC2779)。RFC2778是一个资料性质的草案,定义了所有presence和IM服务的原理。RFC2779定义了IMPP的最小需求条件。另外,这个草案还就presence服务定义了一些条款,如运行的命令、信息的格式,以及presence服务器如何把presence的状态变化通知给客户。

SIMPLE是目前为止制定的较为完善的一个。SIMPLE和XMPP两个协议,都符合RFC2778和RFC2779 。SIMPLE计划利用SIP来发送presence信息。SIP是IETF中为终端制定的协议。SIP一般考虑用在建立语音通话中,一旦连接以后,依*如实时协议(RTP)来进行实际上的语音发送。但SIP不仅仅能被用在语音中,也可以用于视频。SIMPLE被定义为建立一个IM进程的方法。SIMPLE在2002年夏季得到额外的信任,目前,微软和IBM都致力于在它们的即时通讯系统中实现这个协议。

SIMPLE小组致力于进程模式的操作,这将提升运行效率,使基于SIP的机制能够进行会议和三方电话交谈控制,也考虑到能和未来提供的许多新特性实现兼容并提升表现能力。有了进程模式,SIMPLE使用SIP来建立一次进程,再利用SDP(进程描述协议)来实际传输IM数据。

XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。这表明XMPP是可扩展的。可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

XMPP目前在免费源代码开放Jabber IM系统中被广泛采用。2002年,这个产品有超过5万的下载量。XMPP拥有成千的Jabber开发者,以及大约数万台配置的服务器和超过百万的终端用户。

在XMPP能够成为标准前,还需要努力克服它本身的缺点。对于网络协同工作者而言,需要加强安全性和互连性。
(二)介绍

    随着即时信息应用的普及,人们期待着产生相关的标准,否则就无法做到互通有无,阻碍即时信息应用的发展。这一工作仍旧由IETF来完成。他们的工作取得了一定进展,但是也有许多困难需要征服。正像有人比喻的那样,如果说标准是一种被推广的“普通话”,可以促进厂商产品的互操作性,那么,目前看来,IETF从事的即时信息的标准研究和制定,似乎更像修建巴比伦塔。因为可以使用的协议很多,但在互通方面却还有不少工作要做。

随着2002年秋季可扩展的信息和表示协议(eXtensible Message and Presence Protocol,XMPP)工作组的创立,目前在IETF内部已经有4个工作组授权开发与IM有关的协议。

当然,这就产生了一个问题:企业应该采用哪一种IM,才可以使得到服务的客户最多?针对这个问题的讨论,可以分为两部分:首先是网关的执行和提供;其次是了解有关的达成协作的协议。在IETF中,把IM划分为4个协议,即即时信息和表示协议(Instant Messaging and Presence Protocol,IMPP)、表示和即时信息协议(Presence and Instant Messaging Protocol,PRIP)、针对即时信息和表示扩展的会话发起协议(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions,SIMPLE),以及XMPP。

最初研发IMPP也是为了创建一种标准化的协议,但是今天,IMPP已经发展成为基本协议单元,定义所有IM协议应该支持的核心功能集。XMPP和SIMPLE是架构,有助于实现IMPP描述的规范。PRIM最初是基于IM的协议,与XMPP和SIMPLE类似,但是后来有了一些变化。以上只是粗略的介绍,下面将详细讨论常用的3个协议的具体内容。

1.IMPP定义基本模型

IMPP协议组定义了协议和数据格式,以满足Internet规模的终端用户所需要的信息表示、告知,以及即时信息系统。这组协议最初的任务就是为了实现这一服务,定义明确的设计目标和需求。

即使在Internet初期,信息表示和即时信息系统也不是特别新的事物。多用户系统上的用户已经可以在本地和其他用户进行实时交流。但是,随着计算结构向分布式系统发展,实现这种功能显得更加困难。IMPP的目标就是通过定义协议的基本元素来解决这一难题。

到目前为止,IETF的IMPP工作小组已经出版了3个RFC文档,其中最重要的两个是“表示和即时信息模型”(RFC 2778)和“即时信息/表示协议的需求”(RFC 2779)。RFC 2778是一篇报告性的RFC,定义了所有的表示和即时信息服务。表示服务用于接收、存储和分发信息,包括用户跨越一组设备进行通信的能力和主动性。总之,一个即时信息服务负责即时邮箱接收和传递即时信息。

RFC 2779定义了实现IMPP的最小需求,后来在它的基础上形成了通用表示和即时信息(Common Presence and Instant Messaging,CPIM)Internet草案。CPIM提供了在即时信息和表示服务之间的互操作所需要的细节。

2.SIMPLE融合多媒体

IETF正在制定以下两种协议:SIMPLE和XMPP协议,它们都遵守RFC2778和RFC2779,并且实现CPIM协议。到目前为止,SIMPLE协议已经取得了很大进展。正如其协议名所指示的那样,SIMPLE的目的是通过SIP协议实现分布式的信息表示。SIP也是IETF制定的协议,主要是称为代理的端点用于创建、修改和结束它们之间的会话。这个协议对于事先约定好的通信极为有效。一般认为,SIP协议可以用在建立语音呼叫方面,一旦通信双方建立起联系,就依*实时协议(Real Time Protocol,RTP)完成实际的语音传送。

但是,这并不意味着SIP协议只限制在用于语音方面。实际上,正如这个标准所指出的那样,它与建立会话的方法和种类无关。而且SIP协议在其结构中包含了表示信息的结构。人们将看到,基于文本的即时信息可以同语音和视频呼叫融合在一种单独的结构中。

目前,SIMPLE协议已经被定义为一种建立即时信息会话的方法。Microsoft和IBM在其即时信息系统中都采用了该协议。对于SIMPLE协议指责较多的是其融合语音和即时信息的效率不高。

3.XMPP基于XML

面对SIMPLE协议的不足,开放源代码社团已经提出接纳XMPP。基于XML的协议XMPP正在自由开放源代码的Jabber即时信息系统中得到广泛开发。在2002年,就有超过5万个产品可以下载。在个人应用方面,AOL和Yahoo已经发展了大量用户,他们的产品都基于XMPP协议。

为什么会出现另一个标准的即时信息结构呢?对于新手来说,因为XMPP是一个基于XML的协议,因此它继承了在XML环境中开发的灵活性。这意味着XMPP是可扩展的,可以方便地创建定制的应用和增加功能。由于XML可以轻易地通过防火墙,所以基于XMPP的应用和即时信息服务不受防火墙的限制。XMPP的主要缺点是安全性不高。

结语

可以看出,企业中的即时信息应用具有广泛的市场,目前可以选用的产品也比较丰富,各种标准的制定日趋成熟。目前,在XMPP标准的开发方面,也正在考虑和SIP的结合。随着标准和技术的不断更新,企业的即时信息系统将越来越完善。

原创粉丝点击