IM協定

IM協定

即時通訊協定(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協定有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流。

相關詞條

相關搜尋

熱門詞條

聯絡我們