李俊艷,王卿然
(1 中國移動通信集團北京有限公司,北京 100007;2 國家電網(wǎng)新源控股有限公司,北京100761)
SIMPLE和XMPP協(xié)議在即時通信產(chǎn)品中的應(yīng)用研究
李俊艷1,王卿然2
(1 中國移動通信集團北京有限公司,北京 100007;2 國家電網(wǎng)新源控股有限公司,北京100761)
從現(xiàn)行即時通信軟件使用的協(xié)議、協(xié)議的擴展性、網(wǎng)絡(luò)負荷、用戶認證、與電信網(wǎng)絡(luò)融合等方面進行了比較。為了進一步驗證分析的結(jié)果,分別采用兩種協(xié)議開發(fā)了即時通信產(chǎn)品。經(jīng)過測試可以分析得出兩種協(xié)議都可以實現(xiàn)即時通信功能,但是適用場景不同,電信運營商要根據(jù)自身的產(chǎn)品定位進行選擇。
SIMPLE; XMPP; 即時通信
即時通信(Instant Messaging,簡稱IM)系統(tǒng)是指允許兩人或多人使用網(wǎng)絡(luò)即時的傳遞文字信息、檔案、語音與視頻交流的一個即時通信系統(tǒng)。具備多人會話功能的即時通信產(chǎn)品在上世紀后期開始出現(xiàn),后期隨著需求的變化,即時通信產(chǎn)品具備了離線消息等非實時通信功能。目前即使通信產(chǎn)品發(fā)展比較迅速,如微信、QQ等即時通信產(chǎn)品。
即時通信產(chǎn)品與電信運營商的傳統(tǒng)業(yè)務(wù)如短信、話音、視頻電話等業(yè)務(wù)形成了競爭。電信運營商為了保持業(yè)務(wù)的持續(xù)穩(wěn)定,開展了即時通信產(chǎn)品的設(shè)計和開發(fā),向用戶提供多樣的服務(wù)。本文對SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions)和 XMPP(Extensible Messaging and Presence Protocol,可擴展消息與存在協(xié)議)兩種國際協(xié)議在電信運營商即時通信產(chǎn)品中的應(yīng)用進行了研究。
SIP/SIMPLE協(xié)議簇是對SIP協(xié)議進行了擴展,以使其支持IM服務(wù)。SIMPLE通過SIP協(xié)議實現(xiàn)分布式的信息表示,并且采用會話模式的操作,提高運行效率。SIP協(xié)議是一個應(yīng)用層的信令控制協(xié)議。用于創(chuàng)建、修改和釋放一個或多個參與者的會話。這些會話可以好似Internet多媒體會議、IP電話或多媒體分發(fā)。會話的參與者可以通過組播(Multicast)、網(wǎng)狀單播(Unicast)或兩者的混合體進行通信。
SIP協(xié)議通常被用于語音通話,同時由于SIP協(xié)議可以建立、拆除、修改會話,它與建立會話的方法和種類無關(guān),因此會話鏈路處可以傳送實際語音,還可以傳送視頻以及SDP協(xié)議為載體的即時通信消息。
XMPP是一個開放式的XML協(xié)議,用于準實時消息和出席信息以及請求-響應(yīng)服務(wù)。
由于XML易于解析和閱讀的特性,XMPP的協(xié)議得到了廣泛的推廣。XMPP沒有指定的網(wǎng)絡(luò)結(jié)構(gòu),通常是采用客戶端——服務(wù)器架構(gòu)進行實現(xiàn),其中客戶端通過TCP方式使用XMPP訪問服務(wù)器,服務(wù)器之間也采用TCP方式進行通信。XMPP網(wǎng)絡(luò)結(jié)構(gòu)包括3個部分,分別是服務(wù)器、客戶端和網(wǎng)關(guān)。
以下分析了在互聯(lián)網(wǎng)上使用率比較高的幾個即時通信軟件所使用的協(xié)議:
(1)QQ,使用的基于SIP改造后的私有協(xié)議,支持UDP和TCP的傳輸模式。
(2)Google Talk,是基于XMPP,同時允許其它IM自由使用XMPP協(xié)議。任何IM供應(yīng)商在遵循XMPP協(xié)議的前提下,都可以與Google Talk實現(xiàn)連接。
(3)飛信是由中國移動推出的即時通信產(chǎn)品,使用的通信協(xié)議是SIP-C,屬于優(yōu)化后的SIP協(xié)議。
SIMPLE協(xié)議最初用于實現(xiàn)多媒體通信功能,得到了大多數(shù)電信廠商的支持,具有與通信網(wǎng)絡(luò)銜接好,音視頻通話能力強的特征。SIMPLE協(xié)議與XMPP相比能夠更好地支持多媒體傳輸,然而在實現(xiàn)融合語音和即時消息時的效率不高。
XMPP是由互聯(lián)網(wǎng)開發(fā)者為主導推出的即時通信協(xié)議,由于協(xié)議簡單、通用、靈活性強,因此得到了互聯(lián)網(wǎng)企業(yè)和開發(fā)者的支持,發(fā)展速度較快。以下分別從不同角度分析兩種即時通信協(xié)議的特點。
(1)SIMPLE和XMPP在標準組織力量、規(guī)范完備性、多域互通和全業(yè)務(wù)支撐成熟度的對比詳見表1。
(2)SIMPLE和XMPP在網(wǎng)絡(luò)的適應(yīng)性、穿透能力和負荷方面的對比詳見表2。
(3)SIMPLE和XMPP在用戶認證、傳輸安全、可靠性、是和QoS保障方面的對比詳見表3。
表1 SIMPLE和XMPP協(xié)議對比(1)
表2 SIMPLE和XMPP的對比(2)
表3 SIMPLE和XMPP的對比(3)
(4)SIMPLE和XMPP在即時通信功能實現(xiàn)方式的對比,詳見表4。
為了便于分析兩種協(xié)議在真實網(wǎng)絡(luò)環(huán)境中的差異,分別采用兩種協(xié)議開發(fā)了即時通信產(chǎn)品。電信運營商即時通信軟件,除需實現(xiàn)即時消息等基本功能外,還需實現(xiàn)與傳統(tǒng)業(yè)務(wù)的融合如語音、短信等業(yè)務(wù),與傳統(tǒng)業(yè)務(wù)的融合本文選取是短信功能。
測試使用的移動終端客戶端包括基于iPhone等智能終端的客戶端,也包括基于Kjava等非智能手機的客戶端。其次測試系統(tǒng)部署了與移動網(wǎng)絡(luò)和互聯(lián)網(wǎng)連接的鏈路滿足電信運營商跨網(wǎng)絡(luò)需求,軟件測試部署在8臺華為刀片服務(wù)器(2CPU,4核)。
SIMPLE使用的是UDP和TCP傳輸方式相結(jié)合實現(xiàn)客戶端和后臺服務(wù)器的數(shù)據(jù)連接。即時消息、狀態(tài)管理和群組管理模塊都是SIMPLE即時通信擴展的標準部件;SIMPLE網(wǎng)關(guān)用于控制SIMPLE會話進程;門戶服務(wù)器是實現(xiàn)即時通信門戶功能設(shè)置的服務(wù)器;用戶數(shù)據(jù)管理和系統(tǒng)管理模塊可實現(xiàn)用戶和系統(tǒng)的管理功能;短信處理器實現(xiàn)即時通信系統(tǒng)對短信的接收和發(fā)送。外部的其他即時通信或者業(yè)務(wù)系統(tǒng)可以通過協(xié)議轉(zhuǎn)化和接口管理模塊實現(xiàn)與SIMPLE系統(tǒng)的互通。
同時為了解決穿越防火墻等網(wǎng)絡(luò)需求即時通信系統(tǒng)使用了接入控制模塊,保證系統(tǒng)數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
表4 SIMPLE和XMPP的對比(4)
圖2 SIMPLE系統(tǒng)結(jié)構(gòu)圖
用戶通過XMPP客戶端訪問XMPP服務(wù)器,系統(tǒng)基于TCP連接實現(xiàn)數(shù)據(jù)訪問。
XMPP服務(wù)器基于XML負責處理所有與消息、狀態(tài)等相關(guān)的通信請求,XMPP服務(wù)器采用集群的方式保證通信可靠。
門戶服務(wù)器是實現(xiàn)即時通信門戶功能設(shè)置的服務(wù)器;用戶數(shù)據(jù)管理和系統(tǒng)管理模塊可實現(xiàn)用戶和系統(tǒng)的管理功能;短信處理器實現(xiàn)即時通信系統(tǒng)對短信的接收和發(fā)送。外部的其他即時通信或者業(yè)務(wù)系統(tǒng)可以通過協(xié)議轉(zhuǎn)化和接口管理模塊實現(xiàn)與XMPP系統(tǒng)的互通。
4.3.1 SIMPLE 協(xié)議方案
優(yōu)勢:通過接入控制以后,傳輸效果穩(wěn)定,用戶會話流暢。音視頻通信順暢,后期核心網(wǎng)絡(luò)具備條件后經(jīng)過簡單調(diào)整SIMPLE系統(tǒng)可以實現(xiàn)與通信網(wǎng)絡(luò)的統(tǒng)一通信。
劣勢:終端消耗的資源與XMPP方案相比較大,電量和內(nèi)存消耗較大。軟件開發(fā)難度大,由于協(xié)議需要具備一定通信網(wǎng)基礎(chǔ)的人員才能快速閱讀,因此不同終端客戶端廠家的開發(fā)進度差別較大。
帶寬消耗:在傳輸內(nèi)容和質(zhì)量相同的情況下,基本包框架在1K左右。
圖3 XMPP系統(tǒng)結(jié)構(gòu)圖
適用場景:根據(jù)協(xié)議的特點,該協(xié)議下的即時通信產(chǎn)品適用于內(nèi)存和電量充足的個人計算機等;帶寬資源豐富的有線或者WLAN網(wǎng)絡(luò);企業(yè)內(nèi)部的通信如群組內(nèi)會話、短信通知、視頻會議、文件傳輸?shù)取?/p>
改進方案:使用SIMPLE壓縮方案對標準協(xié)議進行壓縮后,資源消耗會降低。同時經(jīng)過一段時間與客戶端廠家的磨合之后和專業(yè)培訓后,客戶端廠家的開發(fā)進行可以得到有效的提高。
增加語音/視頻的速率和mos值,以及網(wǎng)絡(luò)帶寬場景和業(yè)務(wù)場景描述。
4.3.2 XMPP協(xié)議方案
優(yōu)勢:XMPP協(xié)議方案終端消耗的資源至少是標準SIMPLE協(xié)議的一半以下。協(xié)議相對SIMPLE來說簡單,客戶端廠家開發(fā)難度相對較易。由于XML語言具備互聯(lián)網(wǎng)的優(yōu)勢,因此在該系統(tǒng)上進行互聯(lián)網(wǎng)應(yīng)用擴展較快。
劣勢:協(xié)議比較簡單,會話的控制不如SIMPLE協(xié)議,在多媒體會話方面有不足,需要改進。其次協(xié)議沒有規(guī)定完整業(yè)務(wù)實現(xiàn)場景,需要軟件研發(fā)人員進行大量的場景規(guī)劃。
帶寬消耗:在傳輸內(nèi)容和質(zhì)量相同的情況下,基本包框架在200 byte左右,是SIMPLE協(xié)議的1/5。
適用場景:根據(jù)協(xié)議的特點,該協(xié)議下的即時通信產(chǎn)品適用于內(nèi)存和電量有限的手機等終端設(shè)備;帶寬較為有限的2G/3G等無線網(wǎng)絡(luò);基于互聯(lián)網(wǎng)的快速信息交互,如文本消息、短語音等。
改進方案:補充部分通信擴展協(xié)議如音視頻、短信補充通信協(xié)議后,文本和多媒體傳輸效果穩(wěn)定,用戶會話流暢。其次需要詳細規(guī)劃業(yè)務(wù)實現(xiàn)場景。
綜上所述,SIMPLE和XMPP協(xié)議都可以實現(xiàn)即時通信軟件功能。區(qū)別在于,SIMPLE協(xié)議相對與XMPP來說比較復雜,消耗的系統(tǒng)資源較大,但對多媒體會話的控制機制較好,業(yè)務(wù)場景規(guī)劃完整。XMPP協(xié)議開發(fā)的即時通信軟件消耗系統(tǒng)資源較小,同時由于XML在互聯(lián)網(wǎng)上的廣泛應(yīng)用和語言較為簡單,互聯(lián)網(wǎng)應(yīng)用擴展較快,但即時通信業(yè)務(wù)場景規(guī)劃不足,對多媒體會話的控制能力不足,與電信核心網(wǎng)對接需要借助協(xié)議轉(zhuǎn)化網(wǎng)關(guān)實現(xiàn)。
具體在協(xié)議的選擇上,要根據(jù)實際的情況選擇適合的協(xié)議。如果電信運營商的目標是構(gòu)建一個擴展現(xiàn)有電信運營商文本、音視頻通話能力,通信功能規(guī)劃完整,功能穩(wěn)定,以實現(xiàn)統(tǒng)一通信為目標的即時通信軟件的話,可以選擇SIMPLE協(xié)議;如果電信運營商的目標是構(gòu)建一個基于互聯(lián)網(wǎng)快速向用戶提供通信和其他綜合服務(wù),功能靈活性高,應(yīng)用開發(fā)快的即時通信軟件的話,可以選擇XMPP協(xié)議。當然兩者也不是完全對立的,在具體的功能模塊上兩者都可以相互借鑒。
[1] J Rosenberg. RFC3261, SIP: Session Initiation Protocol[S]. June 2002. http://www.eft.org/rfc/rfc3261, txt.
[2] J Rosenberg. RFC4353, A Framework for Conferencing with the SIP[S]. Feb 2006. http://www.etf.org/rfc/rfc4353, txt.
[3] P. Saint-Andre. RFC3920, Extensible Messaging and Presence Protocol(XMPP)[S]. October 2004. http://www.etf.org/rfc/rfc3920,txt.
Protocol application research of SIMPLE and XMPP in instant message products of telecom operators
LI Jun-yan1, WANG Qing-ran2
(1 China Mobile Group Beijing Co., Ltd., Beijing 100007, China; 2 State Grid Xinyuan Company Ltd., Beijing 100761, China)
This paper introduces the protocol contents from the current instant messaging software, protocol scalability,network load, user authentication, and telecommunications network integration were compared. To further verify the results of the analysis, two protocols were developed instant communications products. Been tested and can be analyzed to obtain two kinds of protocols can be achieved instant messaging features, but for a different scene, the operator to choose according to their own product positioning.
SIMPLE; XMPP; instant messaging
TN915
A
1008-5599(2017)09-0041-05
2017-06-27