APP下载

SIMPLE和XMPP协议在即时通信产品中的应用研究

2017-09-30李俊艳王卿然

电信工程技术与标准化 2017年9期
关键词:短信客户端运营商

李俊艳,王卿然

(1 中国移动通信集团北京有限公司,北京 100007;2 国家电网新源控股有限公司,北京100761)

SIMPLE和XMPP协议在即时通信产品中的应用研究

李俊艳1,王卿然2

(1 中国移动通信集团北京有限公司,北京 100007;2 国家电网新源控股有限公司,北京100761)

从现行即时通信软件使用的协议、协议的扩展性、网络负荷、用户认证、与电信网络融合等方面进行了比较。为了进一步验证分析的结果,分别采用两种协议开发了即时通信产品。经过测试可以分析得出两种协议都可以实现即时通信功能,但是适用场景不同,电信运营商要根据自身的产品定位进行选择。

SIMPLE; XMPP; 即时通信

1 引言

即时通信(Instant Messaging,简称IM)系统是指允许两人或多人使用网络即时的传递文字信息、档案、语音与视频交流的一个即时通信系统。具备多人会话功能的即时通信产品在上世纪后期开始出现,后期随着需求的变化,即时通信产品具备了离线消息等非实时通信功能。目前即使通信产品发展比较迅速,如微信、QQ等即时通信产品。

即时通信产品与电信运营商的传统业务如短信、话音、视频电话等业务形成了竞争。电信运营商为了保持业务的持续稳定,开展了即时通信产品的设计和开发,向用户提供多样的服务。本文对SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions)和 XMPP(Extensible Messaging and Presence Protocol,可扩展消息与存在协议)两种国际协议在电信运营商即时通信产品中的应用进行了研究。

2 即时通信协议

2.1 SIMPLE协议

SIP/SIMPLE协议簇是对SIP协议进行了扩展,以使其支持IM服务。SIMPLE通过SIP协议实现分布式的信息表示,并且采用会话模式的操作,提高运行效率。SIP协议是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以好似Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(Multicast)、网状单播(Unicast)或两者的混合体进行通信。

SIP协议通常被用于语音通话,同时由于SIP协议可以建立、拆除、修改会话,它与建立会话的方法和种类无关,因此会话链路处可以传送实际语音,还可以传送视频以及SDP协议为载体的即时通信消息。

2.2 XMPP协议

XMPP是一个开放式的XML协议,用于准实时消息和出席信息以及请求-响应服务。

由于XML易于解析和阅读的特性,XMPP的协议得到了广泛的推广。XMPP没有指定的网络结构,通常是采用客户端——服务器架构进行实现,其中客户端通过TCP方式使用XMPP访问服务器,服务器之间也采用TCP方式进行通信。XMPP网络结构包括3个部分,分别是服务器、客户端和网关。

3 SIMPLE和XMPP协议对比

3.1 即时通信软件使用的协议分析

以下分析了在互联网上使用率比较高的几个即时通信软件所使用的协议:

(1)QQ,使用的基于SIP改造后的私有协议,支持UDP和TCP的传输模式。

(2)Google Talk,是基于XMPP,同时允许其它IM自由使用XMPP协议。任何IM供应商在遵循XMPP协议的前提下,都可以与Google Talk实现连接。

(3)飞信是由中国移动推出的即时通信产品,使用的通信协议是SIP-C,属于优化后的SIP协议。

SIMPLE协议最初用于实现多媒体通信功能,得到了大多数电信厂商的支持,具有与通信网络衔接好,音视频通话能力强的特征。SIMPLE协议与XMPP相比能够更好地支持多媒体传输,然而在实现融合语音和即时消息时的效率不高。

XMPP是由互联网开发者为主导推出的即时通信协议,由于协议简单、通用、灵活性强,因此得到了互联网企业和开发者的支持,发展速度较快。以下分别从不同角度分析两种即时通信协议的特点。

3.2 SIMPLE和XMPP协议详细对比

(1)SIMPLE和XMPP在标准组织力量、规范完备性、多域互通和全业务支撑成熟度的对比详见表1。

(2)SIMPLE和XMPP在网络的适应性、穿透能力和负荷方面的对比详见表2。

(3)SIMPLE和XMPP在用户认证、传输安全、可靠性、是和QoS保障方面的对比详见表3。

表1 SIMPLE和XMPP协议对比(1)

表2 SIMPLE和XMPP的对比(2)

表3 SIMPLE和XMPP的对比(3)

(4)SIMPLE和XMPP在即时通信功能实现方式的对比,详见表4。

4 电信运营商即时通信软件实施方案和测试结果分析

为了便于分析两种协议在真实网络环境中的差异,分别采用两种协议开发了即时通信产品。电信运营商即时通信软件,除需实现即时消息等基本功能外,还需实现与传统业务的融合如语音、短信等业务,与传统业务的融合本文选取是短信功能。

测试使用的移动终端客户端包括基于iPhone等智能终端的客户端,也包括基于Kjava等非智能手机的客户端。其次测试系统部署了与移动网络和互联网连接的链路满足电信运营商跨网络需求,软件测试部署在8台华为刀片服务器(2CPU,4核)。

4.1 SIMPLE协议实现方案

SIMPLE使用的是UDP和TCP传输方式相结合实现客户端和后台服务器的数据连接。即时消息、状态管理和群组管理模块都是SIMPLE即时通信扩展的标准部件;SIMPLE网关用于控制SIMPLE会话进程;门户服务器是实现即时通信门户功能设置的服务器;用户数据管理和系统管理模块可实现用户和系统的管理功能;短信处理器实现即时通信系统对短信的接收和发送。外部的其他即时通信或者业务系统可以通过协议转化和接口管理模块实现与SIMPLE系统的互通。

同时为了解决穿越防火墙等网络需求即时通信系统使用了接入控制模块,保证系统数据传输的可靠性。

表4 SIMPLE和XMPP的对比(4)

图2 SIMPLE系统结构图

4.2 XMPP协议实现方案

用户通过XMPP客户端访问XMPP服务器,系统基于TCP连接实现数据访问。

XMPP服务器基于XML负责处理所有与消息、状态等相关的通信请求,XMPP服务器采用集群的方式保证通信可靠。

门户服务器是实现即时通信门户功能设置的服务器;用户数据管理和系统管理模块可实现用户和系统的管理功能;短信处理器实现即时通信系统对短信的接收和发送。外部的其他即时通信或者业务系统可以通过协议转化和接口管理模块实现与XMPP系统的互通。

4.3 测试结果分析

4.3.1 SIMPLE 协议方案

优势:通过接入控制以后,传输效果稳定,用户会话流畅。音视频通信顺畅,后期核心网络具备条件后经过简单调整SIMPLE系统可以实现与通信网络的统一通信。

劣势:终端消耗的资源与XMPP方案相比较大,电量和内存消耗较大。软件开发难度大,由于协议需要具备一定通信网基础的人员才能快速阅读,因此不同终端客户端厂家的开发进度差别较大。

带宽消耗:在传输内容和质量相同的情况下,基本包框架在1K左右。

图3 XMPP系统结构图

适用场景:根据协议的特点,该协议下的即时通信产品适用于内存和电量充足的个人计算机等;带宽资源丰富的有线或者WLAN网络;企业内部的通信如群组内会话、短信通知、视频会议、文件传输等。

改进方案:使用SIMPLE压缩方案对标准协议进行压缩后,资源消耗会降低。同时经过一段时间与客户端厂家的磨合之后和专业培训后,客户端厂家的开发进行可以得到有效的提高。

增加语音/视频的速率和mos值,以及网络带宽场景和业务场景描述。

4.3.2 XMPP协议方案

优势:XMPP协议方案终端消耗的资源至少是标准SIMPLE协议的一半以下。协议相对SIMPLE来说简单,客户端厂家开发难度相对较易。由于XML语言具备互联网的优势,因此在该系统上进行互联网应用扩展较快。

劣势:协议比较简单,会话的控制不如SIMPLE协议,在多媒体会话方面有不足,需要改进。其次协议没有规定完整业务实现场景,需要软件研发人员进行大量的场景规划。

带宽消耗:在传输内容和质量相同的情况下,基本包框架在200 byte左右,是SIMPLE协议的1/5。

适用场景:根据协议的特点,该协议下的即时通信产品适用于内存和电量有限的手机等终端设备;带宽较为有限的2G/3G等无线网络;基于互联网的快速信息交互,如文本消息、短语音等。

改进方案:补充部分通信扩展协议如音视频、短信补充通信协议后,文本和多媒体传输效果稳定,用户会话流畅。其次需要详细规划业务实现场景。

5 结论

综上所述,SIMPLE和XMPP协议都可以实现即时通信软件功能。区别在于,SIMPLE协议相对与XMPP来说比较复杂,消耗的系统资源较大,但对多媒体会话的控制机制较好,业务场景规划完整。XMPP协议开发的即时通信软件消耗系统资源较小,同时由于XML在互联网上的广泛应用和语言较为简单,互联网应用扩展较快,但即时通信业务场景规划不足,对多媒体会话的控制能力不足,与电信核心网对接需要借助协议转化网关实现。

具体在协议的选择上,要根据实际的情况选择适合的协议。如果电信运营商的目标是构建一个扩展现有电信运营商文本、音视频通话能力,通信功能规划完整,功能稳定,以实现统一通信为目标的即时通信软件的话,可以选择SIMPLE协议;如果电信运营商的目标是构建一个基于互联网快速向用户提供通信和其他综合服务,功能灵活性高,应用开发快的即时通信软件的话,可以选择XMPP协议。当然两者也不是完全对立的,在具体的功能模块上两者都可以相互借鉴。

[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

猜你喜欢

短信客户端运营商
如何看待传统媒体新闻客户端的“断舍离”?
道歉短信
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
代发短信
取消“漫游费”只能等运营商“良心发现”?
第一章 在腐败火上烤的三大运营商
三大运营商换帅不是一个简单的巧合
三大运营商换帅
客户端空间数据缓存策略