即时通讯协定(Instant Messaging),即时讯息和表示协定IMPP(Instant Messaging And PresenceProtocol),表示和即时讯息协定PRIM(Presence and Instant Messaging Protocol),SIP即时讯息和表示扩展协定SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions),可扩展讯息与表示协定XMPP(Extensible Messaging and Presence Protocol).
基本介绍
- 中文名:即时通讯协定
- 外文名:Instant Messaging
- 简称:IM
即时通讯协定(Instant Messaging),主流的IM协定有4种,即时讯息和存在协定IMPP(Instant Messaging And PresenceProtocol),存在和即时讯息协定PRIM(Presence and Instant Messageing Protocol),SIP即时讯息和存在扩展协定SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions),可扩展讯息与存在协定XMPP(Extensible Messageing and Presence Protocol.
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能够成为标準前,还需要努力克服它本身的缺点。对于网路协同工作者而言,需要加强安全性和互连性。
其实, 现在主要是SIP/SIMPLE 和 XMPP了. 原来还有一个OMA IMPS WV, 慢慢将被SIP/SIMPLE代替了. 现在OMA, 3GPP感觉都已经接受SIP/SIMPLE了. 估计, 将来都会採用这幺一个标準进行互连, 由servers解决各种标準的互通问题.
这样, 对应operator也是很好的了, 他们可以基于开放的标準进行实施, 同时, 把事实的各种private的用户很多的标準的用户包含进他们的用户里面.
就象现在世界上的各种各样的语言存在一样, 由English可以完成互通, servers/翻译完成语言之间的转换.
XMPP(Extensible Messageing and Presence Protocol:可扩展讯息与存在协定)是目前主流的四种IM(IM:instant messaging,即时讯息)协定之一,其他三种分别为:即时信息和空间协定(IMPP)、空间和即时信息协定(PRIM)、针对即时通讯和空间平衡扩充的进程开始协定SIP(SIMPLE)。
在这四种协定中,XMPP是最灵活的。XMPP是一种基于XML的协定,它继承了在XML环境中灵活的发展性。因此,基于XMPP的套用具有超强的可扩展性。经过扩展以后的XMPP可以通过传送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等套用程 序。而且,XMPP包含了针对伺服器端的软体协定,使之能与另一个进行通话,这使得开发者更容易建立客户应用程式或给一个配好系统添加功能。
1、什幺是XMPP ?
XMPP的前身是Jabber,一个开源形式组织产生的网路即时通信协定。XMPP目前被IETF国际标準组织完成了标準化工作。标準化的核心结果分为两部分:
(1)核心的XML流传输协定
(2)基于XML流传输的即时通讯扩展套用
XMPP的核心XML流传输协定的定义使得XMPP能够在一个比以往网路通信协定更规範的平台上。藉助于XML易于解析和阅读的特性,使得XMPP的协定能够非常漂亮。
XMPP的即时通讯扩展套用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协定,诸如AIM,QQ等有功能完整,完善等先进性。
2、XMPP的基本网路结构是怎样的?
XMPP中定义了三个角色,客户端,伺服器,网关。通信能够在这三者的任意两个之间双向发生。伺服器同时承担了客户端信息记录,连线管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(简讯),MSN,ICQ等。基本的网路形式是单客户端通过TCP/IP连线到单伺服器,然后在之上传输XML。
3、XMPP通过TCP传什幺了?
传输的是与即时通讯相关的指令。在以前这些命令要幺用2进制的形式传送(比如QQ),要幺用纯文本指令加空格加参数加换行苻的方式传送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协定的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。而XMPP的核心部分就是一个在网路上分片断髮送XML的流协定。这个流协定是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网路基础协定。所以可以说,XMPP用TCP传的是XML流。