首頁(yè)>>>技術(shù)>>>即時(shí)通信

 

Jabber對即時(shí)訊息的統一構想

2002/06/03

  即時(shí)訊息面臨的主要問(wèn)題是幾種主流協(xié)議不統一,AOL、Yahoo和MSN在自己的網(wǎng)絡(luò )上使用各自的協(xié)議。為了解決這個(gè)問(wèn)題,Jabber Software Foundation提出自己的協(xié)議和實(shí)現這個(gè)協(xié)議的架構(architecture),所以當提到Jabber的時(shí)候,通常是指兩件事情,一是Jabber協(xié)議,二是Jabber系統。

  Jabber協(xié)議是一系列源代碼開(kāi)放的、以XML為基礎的協(xié)議。Jabber Software Foundation在幾個(gè)月以前將Jabber 1.2提交IETF(The Internet Engineering Task Force), 目的是想促使它成為通用的標準。需要說(shuō)明的是,由于Jabber開(kāi)放源代碼,目前Jabber協(xié)議有不止一種實(shí)現方式,而且協(xié)議本身也還在繼續發(fā)展。

  Jabber的主要構想有兩方面,一是讓Jabber訊息在不同網(wǎng)絡(luò )里傳輸(比如,Jabber訊息可以穿過(guò)防火墻,而且Jabber系統可以和其它即時(shí)訊息網(wǎng)絡(luò )連接在一起),二是Jabber協(xié)議提供一個(gè)橋梁,讓使用不同即時(shí)訊息協(xié)議的用戶(hù)可以自由地交流。

  Jabber的架構及特點(diǎn)

  現在,先來(lái)分析一下Jabber的架構。Jabber系統包括用戶(hù)端和服務(wù)器端,在Jabber里,用戶(hù)端叫做節點(diǎn),服務(wù)器端分三部分:主機(host),即我們常說(shuō)的服務(wù)器,服務(wù)端(service)和網(wǎng)關(guān)(gateway)。我們將在后面介紹每部分的具體功能。

  Jabber的用戶(hù)端軟件一般來(lái)說(shuō)非常簡(jiǎn)單,只要它能和服務(wù)器建立TCP通道,而且能夠理解Jabber訊息即可。由于Jabber開(kāi)放源代碼,任何人都可以改寫(xiě)用戶(hù)端軟件使之包含很多功能。Jabber的設計哲學(xué)是用戶(hù)端簡(jiǎn)單,服務(wù)器端復雜,這樣做的好處是,如果Jabber根據需要發(fā)展更多功能的話(huà),所有工作都在服務(wù)器端進(jìn)行,用戶(hù)不必去下載新的Jabber軟件。

  Jabber服務(wù)器端的架構具有以下幾個(gè)主要特點(diǎn):

  1.所有Jabber訊息都是以XML為基礎的。

  2.Jabber系統是一個(gè)分散系統(distributed system),即Jabber的服務(wù)器是分布在網(wǎng)絡(luò )各處的。

  3.Jabber協(xié)議是公開(kāi)的,程序則開(kāi)放源代碼。

  4.Jabber系統是模塊化的,而且Jabber的設計特別強調如何實(shí)現可伸縮性、安全性和可擴展性,這樣,更多的功能就可以在Jabber平臺上開(kāi)發(fā)出來(lái)。

  即時(shí)訊息系統的模式與架構

  即時(shí)訊息系統有兩種模式,一個(gè)是用戶(hù)/服務(wù)器模式,即發(fā)信端用戶(hù)和收信端用戶(hù)必須通過(guò)服務(wù)器來(lái)交流。另一個(gè)是用戶(hù)/用戶(hù)模式,即服務(wù)器給每對用戶(hù)建立一個(gè)TCP通道,他們的交流在這個(gè)TCP之上進(jìn)行而無(wú)需通過(guò)服務(wù)器。Jabber使用的是用戶(hù)/服務(wù)器的模式,所有Jabber訊息必須通過(guò)服務(wù)器(即host)才能從一個(gè)用戶(hù)端傳到另一個(gè)用戶(hù)端。需要說(shuō)明的是,任何Jabber用戶(hù)可以向服務(wù)器申請和另一個(gè)用戶(hù)建立直接聯(lián)系通道,但這個(gè)通道只能用來(lái)進(jìn)行特定的文件傳輸。

  在網(wǎng)絡(luò )架構設計方面,Jabber在很大程度上參照了電子郵件系統,因此每個(gè)用戶(hù)的Jabber地址就像他的電子郵件地址一樣。同時(shí),在Jabber系統里,每個(gè)服務(wù)器負責接收傳給本地用戶(hù)的所有訊息,服務(wù)器之間則實(shí)時(shí)交換需要發(fā)送的訊息。每個(gè)Jabber服務(wù)器都是獨立操作的,因此根據所在網(wǎng)絡(luò )對即時(shí)訊息速度的要求,Jabber系統可以增加或減少服務(wù)器的數目。

  Jabber的主機由若干個(gè)組件構成,它們分別實(shí)現Jabber系統所要求的一些基本功能。這些基本功能包括:Session管理、用戶(hù)和服務(wù)器之間的通訊、服務(wù)器之間的通訊、DNS轉換、存儲用戶(hù)的個(gè)人信息和朋友名單、保留用戶(hù)在下線(xiàn)時(shí)收到的訊息、用戶(hù)注冊、用戶(hù)的身份和權限認證、根據用戶(hù)的要求過(guò)濾訊息和系統記錄等。此外,即時(shí)訊息系統要實(shí)現接近實(shí)時(shí)的訊息傳輸,必須隨時(shí)知道訊息的主機是否在線(xiàn)(presence)。在服務(wù)器和服務(wù)器之間的通訊功能里,主機的一個(gè)模塊專(zhuān)門(mén)負責和其他服務(wù)器實(shí)時(shí)交換用戶(hù)是否在線(xiàn)的信息。

  由于Jabber服務(wù)器的模塊化,它們的功能可以根據需要擴展,這些功能在Jabber服務(wù)端(service)實(shí)現。擴展的簡(jiǎn)單功能包括多用戶(hù)會(huì )議(multi-user conferencing,即即時(shí)訊息里的多對多通訊),和其他安全檢測軟件的整合,以及和數據庫的連接等等。出于安全因素的考慮,Jabber服務(wù)端必須是主機所信賴(lài)的(trusted)。這個(gè)要求可以通過(guò)公鑰管理體系來(lái)實(shí)現。除了這個(gè)要求之外,Jabber對于它們之間如何交流沒(méi)有其他任何限制,Jabber的系統管理員可以根據需要,通過(guò)各種方式把它們連接在一起。

  此外,Jabber突出的特點(diǎn)是可以和其他即時(shí)訊息系統交換訊息和用戶(hù)在線(xiàn)狀況。由于協(xié)議不同,Jabber和其他系統交換訊息必須通過(guò)協(xié)議的轉換來(lái)實(shí)現,目前幾種主流即時(shí)訊息協(xié)議都沒(méi)有公開(kāi),所以Jabber服務(wù)器本身并沒(méi)有實(shí)現和其他協(xié)議的轉換,但它的架構允許轉換的實(shí)現。實(shí)現這個(gè)特殊功能的服務(wù)端在Jabber架構里叫做gateway。目前,有人為Jabber實(shí)現了和AIM、ICQ、IRC、MSN Messager、RSS(Rich Site Summary)0.9和Yahoo Messager的協(xié)議轉換。由于gateway的存在,Jabber架構事實(shí)上兼容所有其他即時(shí)訊息網(wǎng)絡(luò ),這無(wú)疑大大提高了Jabber的靈活性和可擴展性。

  Jabber協(xié)議分析

  前面提到,Jabber協(xié)議是以XML為基礎的,所以是Jabber訊息不僅可以是簡(jiǎn)單的文本(text),而且可以攜帶復雜的數據和各種格式的文件,這也就是說(shuō)Jabber不僅可以用在人與人之間的交流,而且可以實(shí)現軟件與軟件或軟件與人之間的交流。Jabber的這種功能大大擴展了即時(shí)訊息的應用范圍。

賽迪網(wǎng) 中國信息化


相關(guān)鏈接:
調查稱(chēng)企業(yè)越來(lái)越青睞即時(shí)通訊軟件 2002-06-03
即時(shí)通信服務(wù) Trillian增長(cháng)迅速 2002-05-30
騰訊QQ押注視頻阻擊掠食者 2002-05-29
雅虎堵塞即時(shí)消息漏洞 2002-05-29
雅虎即時(shí)通訊存在缺陷 黑客可能刪除文件 2002-05-29

分類(lèi)信息:     技術(shù)_即時(shí)通信_新聞   技術(shù)_即時(shí)通信_文摘
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 和平县| 海兴县| 长丰县| 榆林市| 穆棱市| 辽宁省| 台南县| 陆川县| 洪江市| 卢湾区| 新宾| 泰安市| 肥东县| 玉林市| 宣威市| 阿拉善盟| 赞皇县| 登封市| 宣化县| 平和县| 文昌市| 博白县| 英山县| 黔西县| 彰化县| 清原| 措勤县| 临洮县| 旺苍县| 黔江区| 汕尾市| 呼和浩特市| 钟山县| 左云县| 广平县| 灵宝市| 霍林郭勒市| 灵台县| 锡林郭勒盟| 漠河县| 长汀县| http://444 http://444 http://444 http://444 http://444 http://444