XMPP 简介

出处:多处,已难寻其源。

XMPP是目前主流的四种IM协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)

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

XMPPJabber软件基金会开发,最早在Jabber上实现。Jabber项目由Jeremie Miller1998年开始的一个免费、开源的项目,用于提供给MSNYahoo!的IM服务。由于XMPP是一种基于XML架构的开放式协议,在 IM通讯中被广泛采用,已经得到了互联网工程任务组(IETF)的批准。

但是,由于XML数据透明的缺陷,XMPP在使用的过程中,还需要努力克服它本身诸如安全方面的缺点。对于网络协同工作者而言,需要加强安全性和互连性。

主流的四种IM通讯协议简介

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

SIMPLESIMPLE是目前为止制定的较为完善的一个。SIMPLEXMPP两个协议,都符合RFC2778RFC2779 SIMPLE计划利用SIP来发送presence信息。SIPIETF中为终端制定的协议。SIP一般考虑用在建立语音通话中,一旦连接以后,依靠 如实时协议(RTP)来进行实际上的语音发送。但SIP不仅仅能被用在语音中,也可以用于视频。SIMPLE被定义为建立一个IM进程的方法。 SIMPLE2002年夏季得到额外的信任,目前,微软和IBM都致力于在它们的即时通讯系统中实现这个协议。 SIMPLE小组致力于进程模式的操作,这将提升运行效率,使基于SIP的机制能够进行会议和三方电话交谈控制,也考虑到能和未来提供的许多新特性实现兼 容并提升表现能力。有了进程模式,SIMPLE使用SIP来建立一次进程,再利用SDP(进程描述协议)来实际传输IM数据。

PRIMPRIMXMPP SIMPLE类似,但已经不再使用了。

XMPP即时传输数据

即时通信息呼唤统一标准;
  目前已形成基于SIPSIMPLE和基于开放源码的XMPP两大阵营;
  最近传来消息,XMPP已被确立为IETF标准。
   现代商务处理进程越来越离不开实时信息交互,包括人与人之间、应用系统之间以及分布于多网络的设备之间。可扩展消息处理现场协议(eXtensible Messaging and Presence ProtocolXMPP)能提供最佳路由优化处理方案,保证大量敏感数据在复杂的交互节点中即时传输。
  XMPP成为IETF标准
  XMPP为用于现场的消息路由处理的XML数据流协议,最近被确立为IETF标准。它是急促即时消息处理(Jabber IM)系统的基准协议技术,能为多网络间连接提供安全和易于实现的编程语言环境。
   XMPP路由处理的内核采用国际惯常的逻辑寻址机制,代表格式为:节点@/请求源。在Jabber IM系统中,这种模式被称为Jabber IDJID)。其中,域可在DNS中查找,类似于电子邮件地址(如SMTP中与用户通信相关联的服务器);节点可表示某IM用户、一类应用或某项服务; 请求源为一类连接标识,能让某单一用户多次重复登录连接。
  节点连接到服务器,服务器利用本地地址目录系统中的证书对其进行认证;节点 指定请求源,并让服务器告知某用户(例如,用户通讯录中的某位朋友)是否在场。服务器查找、连接并进行相互认证,让连接到会话社区的任何节点能够与任何其 它节点进行交互,而与本地服务器(域)无关,只要不违反数据加密或商务处理规则。
  XMPP数据分节,即XML结构化数据中的数据块,它被标识为JID,同时还可扩展为XML结构化数据。Jabber软件基础(JSF)为这类扩展处理的标准主体,类似于WWW协会对Web格式的标准化处理,但允许对格式进行修改。
  XMPP提高数据路由效率
  XMPPXML结构化数据中扮演通用传输层的角色,它在传输数据中嵌入现场和敏感信息标识,能使数据高效路由至最合适的请求源。
   这种协议处理方式大大简化了客户端通信应用方案实现。因为JSF提供的一类扩展即为其它IM系统的一种网关规范,利用这种网关,客户端可运用XMPP 现与任何IM应用系统间的会话。这种简化实现方案使得构建大型开放请求源会话社区成为可能,同时能实现各类商务应用的互操作。
  XMPP提高实时信息处理
   IM的互操作问题一直是业界探讨的热门话题,XMPP另一重大用途是能通过各类应用实现现场实时信息处理。例如,CRM或其它企业应用系统可作为 XMPP服务器的客户端,服务器将所有应用视作同一实体,所有实体对XMPP服务器来说都是透明的,实体中的任何用户都可知晓其他用户是否在场并进行信息 传输。
  运用XMPP作为通用传输层机制,驻留于某机构的所有应用程序,只要不突破使用规则(如加密),都能高效实现与其它应用程序间,或机构以外人员的通信。CRM实际运用中,XMPP能动态地将数据传输至最适宜的请求源,如某个经认证的用户向手机发送短信息。
  XMPP目前已获得广泛配置,预计将有着极好的市场应用前景,因为它本身是开放和透明的。XMPP具备的XML设计环境能为开发者及系统架构设计人员提供更多的选择方案来构建接口、商务应用规则和逻辑处理进程,使各类传统和新浮现的应用实现即时通信传输。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值