allwiki首页  
天下维客 你可以修改的网络知识库
首页最近更改优秀条目专题展示电脑科技词典软件学习网络知识电脑安全明星时尚天下百科
 

Jabber

天下维客,你可以修改的网络知识库

Jump to: navigation, search

Jabber是一个开放的、基于XML的通讯协定.它的用途在即时通讯及Presence资讯方面。

目录

历史

Jeremie Miller于1998年开始了这个项目。第一个公开版本于2000年5月发行。这个项目的主要产品是jabberd,Jabber的服务器端软件。它既可以创建私人的Jabber网络,也可以加入全球的公共Jabber网络。Jabber的关键特色是,分散式的即时通讯系统,以及使用XML串流。

Jabber协定目前由Jabber软体基金会管理,而Jabber协定的主要基础已经在RFC3920当中以XMPP之名被网际网路工程工作小组(IETF)接受为网际网路标准。Jabber和以SIP协定为基础的SIMPLE常被视为为即时通讯及Presence告知领域的竞争对手,然而XMPP的设计更倾向提供一个一般用途的、应用程式之间的中介软体设施。

2005年,Google发布了Google Talk,这是一个IP电话及即时通讯的服务,即时通讯功能采用了开放的Jabber/XMPP。预计这将对Jabber社区起很大的推动作用。初期此服务不支援伺服器到伺服器的通讯功能,所以未能完全发挥Jabber的分散式特色。2006年1月17日起,伺服器到伺服器的通讯启用了,Google Talk用户可与其他Jabber公共网路的用户对谈。

优点

开放— Jabber协定是自由、开放、公开的,并且易于了解。而且在客户端伺服器元件源码库等方面,都已经各自有多种实作。

标准— 网际网路工程工作小组(IETF)已经将Jabber的核心XML串流协定以XMPP之名,正式列为认可的即时通讯及Presence技术。而XMPP的技术规格已被出版为<a href="http://www.ietf.org/rfc/rfc3920.txt" class="external" target="_blank" title="http://www.ietf.org/rfc/rfc3920.txt">RFC 3920</a>及<a href="http://www.ietf.org/rfc/rfc3921.txt" class="external" target="_blank" title="http://www.ietf.org/rfc/rfc3921.txt">RFC 3921</a>。

证实可用— 第一个Jabber技术是Jeremie Miller在1998年开发的,现在已经相当稳定;数以百计的开发者为Jabber技术而努力。今日的网际网路上有数以万计的Jabber伺服器运作着,并有数以百万计的人们使用Jabber即时传讯软体。

分散式— Jabber网路的架构和电子邮件十分相像;因此任何人都可以运行自己的Jabber伺服器,使个人及组织能够掌控他们的即时传讯体验。

安全— 任何Jabber伺服器可以独立于公众Jabber网路(例如在企业内部网路中),而使用SASLTLS等技术的可靠安全性,已内建于核心XMPP技术规格中。

可扩展— XML命名空间的威力可使任何人在核心协定的基础上建造客制化的功能;为了维持通透性,常见的扩充套件由Jabber软体基金会管理。

弹性佳— Jabber除了可用在即时通讯的应用程式,还能用在网路管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

多样性— 用Jabber协定来建造及布署即时应用程式及服务的公司及开放源码计划分布在各种领域;用Jabber技术开发软体,资源及支援的来源是多样的,使得使你不会陷于被「绑架”的困境。

运作方式

Jabber网路是基于伺服器的(即客户端之间彼此不直接交谈),但是也是分散式的。不像AOL即时通或MSN Messenger等服务,Jabber没有中央官方伺服器。Jabber.org的公众伺服器上有大量的用户,所以有些人误解了,以为它是官方伺服器,不过事实上任何人都可以在自己的网域上运行Jabber伺服器。

Jabber识别符(JID)是用户登入时所使用的帐号,看起来通常像一个电子邮件地址,如someone@example.com;前半部分为用户名,后半部分为Jabber服务器域名,两个栏位以@符号区隔。

假设朱丽叶(juliet@capulet.com)想和罗密欧(romeo@montague.net)通话,他们两人的帐号分别在 Capulet.com 及 Montague.net 的伺服器上。当朱丽叶输入讯息并按下传送钮之后,一连串的事件就发生了:

  1. 朱丽叶的Jabber客户端将她的讯息传送到Capulet.com Jabber伺服器。
  2. Capulet.com Jabber伺服器开启与Montague.net Jabber伺服器的连接。
  3. Montague.net Jabber伺服器将讯息寄送给罗密欧。如果他目前不在线上,那么储存讯息以待稍后寄送。


Juliet
<math>\leftrightarrow</math>
Capulet.com
<math>\leftrightarrow</math>
Montague.net
<math>\leftrightarrow</math>
Romeo

罗密欧与朱丽叶两人的Jabber服务是由两家不同的业者所提供的,而他们彼此传讯时,不须拥有对方伺服器的帐号,也不须成为对方业者的会员。

连接其他协定

Jabber系统有一个独特的网关(也称作传送器)功能,该功能允许用户可以使用其他协议,如AOL, ICQ, MSN, Yahoo, SMS或者E-mail。和TrillianGaim等其他多协议客户端不同的是,Jabber在服务器级别提供这个功能,任何Jabber用户都可以注册一个这样的网关来登录其他网络。也就是说任何支持Jabber协议的客户端都可以访问一个存在的网关,来与其他网络上的用户联系。

Jabber客户端软件列表

仅支持Jabber协议的客户端软件

开放源码

免费软体

商业软体

支持Jabber的多协议客户端软件

开放源码

免费软体

商业软体

Jabber服务器端软件

使用Jabber协议的客户端与服务器端对话的例子

客户端(kuusipuu)连接到一个Jabber服务器(amessage.de:5222/TCP),发送一条消息(主题和内容均为“test 1449”)到另一个客户端(tero),然后登出。

kuusipuu:

<?xml version="1.0"?>
<stream:stream xmlns:stream="http://etherx.jabber.org/streams"
xmlns="jabber:client" to="amessage.de">

amessage.de:

<stream:stream xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
from='amessage.de' id='1461777714'>

kuusipuu:

<iq type="set" id="auth_2" to="amessage.de" >
  <query xmlns="jabber:iq:auth">
    <username>kuusipuu</username>
    <password>mypassword</password>
    <resource>Work</resource>
   </query>
</iq>

amessage.de:

<iq from="amessage.de" id='auth_2' type='result'/>

kuusipuu:

<message to="tero@example.com" >
  <subject>test 1449</subject>
  <body>test 1449</body>
</message>
<presence type="unavailable" >
  <status>Logged out</status>
</presence>
</stream:stream>

amessage.de:

</stream:stream>

参见

外部链接

网络图标

网络是在20世纪60年代末开始发展起来的,最初是美国专门用于军事研究的专用计算机网,后建立军用网。90年代中期专用计算机网技术的迅速发展,使它变成了一个普及全球的信息网络。

互联网的英文名字是Internet ,汉译音为因特网。它是一个具体的网络实体,没有一个特定的网络疆界,泛指通过网关连接起来的网络集合,即是一个由各种不同类型和规模的独立运行与管理的计算机网络组成的全球范围的计算机网络。组成Internet的计算机网络,包括局域网(LAN)、城域网(MAN)以及大规模的广域网(WAN)等。

网络分类

相关概念

应用服务

网络设备

技术和协议

  更多...

相关专题:服务器 数据库 网页制作 聊天工具 QQ群:22134343 / 3680101-wiki建站与应用 5903157-电脑使用

Personal tools
工具
金银币拍卖 金币拍卖预展  金银币网店 熊猫金银币 生肖金银币