Jabber对即时通讯的统一趋势

转载 2006年05月17日 13:43:00

即时通讯面临的主要问题是几种主流协议不统一,AOL、Yahoo和MSN在自己的网络上使用各自的协议。为了解决这个问题,Jabber Software Foundation提出自己的协议和实现这个协议的架构(architecture),所以当提到Jabber的时候,通常是指两件事情,一是Jabber协议,二是Jabber系统。

   Jabber协议是一系列源代码开放的、以XML为基础的协议。Jabber Software Foundation在几个月以前将Jabber 1.2提交IETF(The Internet Engineering Task Force), 目的是想促使它成为通用的标准。需要说明的是,由于Jabber开放源代码,目前Jabber协议有不止一种实现方式,而且协议本身也还在继续发展。

  Jabber的主要构想有两方面,一是让Jabber讯息在不同网络里传输(比如,Jabber讯息可以穿过防火墙,而且Jabber系统可以和其它即时通讯网络连接在一起),二是Jabber协议提供一个桥梁,让使用不同即时通讯协议的用户可以自由地交流。

Jabber的架构及特点

   现在,先来分析一下Jabber的架构。Jabber系统包括用户端和服务器端,在Jabber里,用户端叫做节点,服务器端分三部分:主机(host),即我们常说的服务器,服务端(service)和网关(gateway)。我们将在后面介绍每部分的具体功能。

   Jabber的用户端软件一般来说非常简单,只要它能和服务器建立TCP通道,而且能够理解Jabber讯息即可。由于Jabber开放源代码,任何人都可以改写用户端软件使之包含很多功能。Jabber的设计哲学是用户端简单,服务器端复杂,这样做的好处是,如果Jabber根据需要发展更多功能的话,所有工作都在服务器端进行,用户不必去下载新的Jabber软件。

   Jabber服务器端的架构具有以下几个主要特点:
   1.所有Jabber讯息都是以XML为基础的。
   2.Jabber系统是一个分散系统(distributed system),即Jabber的服务器是分布在网络各处的。
   3.Jabber协议是公开的,程序则开放源代码。
   4.Jabber系统是模块化的,而且Jabber的设计特别强调如何实现可伸缩性、安全性和可扩展性,这样,更多的功能就可以在Jabber平台上开发出来。

即时通讯系统的模式与架构

   即时通讯系统有两种模式,一个是用户/服务器模式,即发信端用户和收信端用户必须通过服务器来交流。另一个是用户/用户模式,即服务器给每对用户建立一个TCP通道,他们的交流在这个TCP之上进行而无需通过服务器。Jabber使用的是用户/服务器的模式,所有Jabber讯息必须通过服务器(即host)才能从一个用户端传到另一个用户端。需要说明的是,任何Jabber用户可以向服务器申请和另一个用户建立直接联系通道,但这个通道只能用来进行特定的文件传输。

   在网络架构设计方面,Jabber在很大程度上参照了电子邮件系统,因此每个用户的Jabber地址就像他的电子邮件地址一样。同时,在Jabber系统里,每个服务器负责接收传给本地用户的所有讯息,服务器之间则实时交换需要发送的讯息。每个Jabber服务器都是独立操作的,因此根据所在网络对即时通讯速度的要求,Jabber系统可以增加或减少服务器的数目。

   Jabber的主机由若干个组件构成,它们分别实现Jabber系统所要求的一些基本功能。这些基本功能包括:Session管理、用户和服务器之间的通讯、服务器之间的通讯、DNS转换、存储用户的个人信息和朋友名单、保留用户在下线时收到的讯息、用户注册、用户的身份和权限认证、根据用户的要求过滤讯息和系统记录等。此外,即时通讯系统要实现接近实时的讯息传输,必须随时知道讯息的主机是否在线(presence)。在服务器和服务器之间的通讯功能里,主机的一个模块专门负责和其他服务器实时交换用户是否在线的信息。

   由于Jabber服务器的模块化,它们的功能可以根据需要扩展,这些功能在Jabber服务端(service)实现。扩展的简单功能包括多用户会议(multi-user conferencing,即即时通讯里的多对多通讯),和其他安全检测软件的整合,以及和数据库的连接等等。出于安全因素的考虑,Jabber服务端必须是主机所信赖的(trusted)。这个要求可以通过公钥管理体系来实现。除了这个要求之外,Jabber对于它们之间如何交流没有其他任何限制,Jabber的系统管理员可以根据需要,通过各种方式把它们连接在一起。

   此外,Jabber突出的特点是可以和其他即时通讯系统交换讯息和用户在线状况。由于协议不同,Jabber和其他系统交换讯息必须通过协议的转换来实现,目前几种主流即时通讯协议都没有公开,所以Jabber服务器本身并没有实现和其他协议的转换,但它的架构允许转换的实现。实现这个特殊功能的服务端在Jabber架构里叫做gateway。目前,有人为Jabber实现了和AIM、ICQ、IRC、MSN Messager、RSS(Rich Site Summary)0.9和Yahoo Messager的协议转换。由于gateway的存在,Jabber架构事实上兼容所有其他即时通讯网络,这无疑大大提高了Jabber的灵活性和可扩展性。

   Jabber协议分析

   前面提到,Jabber协议是以XML为基础的,所以是Jabber讯息不仅可以是简单的文本(text),而且可以携带复杂的数据和各种格式的文件,这也就是说Jabber不仅可以用在人与人之间的交流,而且可以实现软件与软件或软件与人之间的交流。Jabber的这种功能大大扩展了即时通讯的应用范围。

基于jabber(XMPP)架设内部即时通讯服务- 转载

Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。     XMPP(可扩展消息处理现场协议)是基于可...

四大即时通讯协议之XMPP(Jabber)背景介绍(一)

四大即时通讯(IM)协议背景知识介绍 四大通讯协议分别为XMPP 协议、即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。...

基于开源jabber(XMPP)/Openfire架设企业内部即时通讯服务方案

Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。    XMPP(可扩展消息处理现场协议)是基于可扩...

百万并发电信级统一即时通讯(im+voip+多人语音)系统源码

产品开发地点:广州  团队人数:7人,产品开发时间:3年7个月    产品模块:          完全自主研发的im客户端(没有使用任何第三方控件,完全自主开发)   ...

音视频即时通讯的发展趋势

作为现在最快捷方便的沟通工具,即时通讯已经被广泛的应用到了工作和学习中,即时通讯用户都从网络上获取大量新闻、资料、讯息等!自从苹果iPhone和ipad问世之后,传统的通讯终端在不断丰富,无论从终端还...
  • CCY115
  • CCY115
  • 2014年11月06日 14:06
  • 13

即时通讯中音频编码标准发展现状及发展趋势

一、概述     音频信号数字化之后所面临的一个问题是巨大的数据量,这为存储和传输带来了压力。例如,对于CD音质的数字音频,所用的采样频率为44.1 kHz,量化精度为16bit;采用双声道立体声时...

建立企业统一即时通讯平台

建立企业统一即时通讯平台   项目背景        笔者在一家特大型工程建设集团工作,为了保密我们没有采用QQ,MSN国内最流行的两款即时通讯工具.而是即使通讯平台.   需求分析 对...
  • lcgweb
  • lcgweb
  • 2014年05月19日 19:09
  • 620

稳定商用视频会议/即时通讯 监控voip统一通讯平台转让

产品为公司正在运营推广的版本,经过多年开发,35人的开发团队,可对接客户的ip进行演示和浏览测试,产品成熟性和稳定性能国内属于一流 目前为止已有上百家大型国企和银行使用该系统,目前版本升至7...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jabber对即时通讯的统一趋势
举报原因:
原因补充:

(最多只允许输入30个字)