6、协议标准与技术优势
6.1、通讯协议介绍
1)信令协议IETF XMPP
IETF XMPP的全称是Extensible Messaging & Presence Protocol,即可扩展消息及在线协议。XMPP最初起源Jabber技术是作为一种即时通信系统解决方案由Internet上的开放源码团体开发并推广开来,相对于其它即时通信系统而言,XMPP协议具有四大特色:
- 基于XML的协议格式
- 分布式的网络体系
- 开放的协议
- 高度模块化和可扩展结构
由于XMPP在设计中广泛采用了E-mail技术的特点,因此,与Internet上最成功的通信系统:电子邮件系统一样,各种不同的XMPP系统通过XMPP协议,可以自发的组成一个分布式的系统,通过这个系统,各种不同的用户端程序能够自由地给其他用户端传送消息,而不需要关心双方是否属于同一个服务器。
然而,与电子邮件系统的存储/转发模式不同的是,XMPP能以一种近乎实时的方式传递消息,这是由于服务器能够知道某一个用户是否在线,这在XMPP系统中称为(Presence)。XMPP还有两个独一无二的特性,从而使它领先与其他的通信系统协议。首先是它的基于开放协议,从而使它能够成为各种不同的通信系统的互连桥梁;其次是XMPP严格遵守XML规范,从而使得高度结构化,智能化的信息传递不仅实现了用户之间的沟通,而且使得不同应用程序之间的信息传递成为可能。
C/S的结构
XMPP采用用户端/服务器的架构。所有XMPP数据和消息必须通过服务器才能到达其他用户端。尽管用户端程序之间可以直接建立某些数据传输通道,但是,这些方案都是与具体的应用相关的,况且这些连接的协商过程最初也是通过XMPP服务器完成的。
分布式的网络
XMPP的网络拓扑结构与电子邮件系统类似,每一个用户都需要有一个本地服务器用来接收发送消息。而服务器之间则可以互相传递信息和在线信息。因此,在互联网上,可以同时存在任意多个服务器,而各个服务器独立工作,并且拥有自己的用户列表。任意两个服务器只要能够互相访问到,就能够互相通信。同时,由于用户帐号是与服务器相关的,因此,用户的ID的形式与电子邮件地址类似,比如:stpeter@v2tech.com。

模块化的服务器
XMPP服务器有两个主要的作用:
- 接受用户端的连接请求并且直接与用户端程序通信
- 与其它XMPP服务器通信
XMPP服务器的设计充分利用了模块化的思想:不同的代码库分别处理各种不同的功能,比如(用户验证,数据存储等)。同时,服务器可以通过添加服务的方式进行功能扩展,比如集成的安全管理,服务器端外部模块的动态加载等。
以互通模块为例,XMPP系统于其它系统的互通是通过传输(Transport)模块完成的。该模块负责将XMPP的XML消息转换为其他相应系统的协议。这些模块不是XMPP核心模块的一部分,而是服务器的外挂模块,通过动态加载的方式为用户提供额外的功能。
XML数据格式
由于XML的强大的灵活性和可扩展性,使它能够表示任何的结构化的信息,因此它也成为XMPP系统的核心。事实上,在XMPP系统中,无论是用户端到服务器的连接,还是服务器之间的连接,以及服务器的配置文件,XML无处不在。
协议举例:
<message from='juliet@capulet.com' to='romeo@montague.net'>
<body>Wherefore art thou, Romeo?</body>
</message>
2)音视频传输协议RTP
为了保证多媒体传输的实时性,V2 Conference 采用了实时传输协议(RTP)来传输音视频实时数据,从而最大限度的减少了因为网络的不稳定而产生的延时。V2的消抖动算法可以处理数据包的抖动和错序问题。另外,系统采用了先进的丢包恢复机制,大幅度的提高了对网络丢包的抗御能力,即使在网络状况相对恶劣,丢包率相对较高的情况下,仍能提供高质量的语音服务。此外,系统还采用了静音抑制、舒适噪声、语音增强、自动增益控制等技术,在节省带宽的同时提高了语音质量。
3)音视频传输协议HTTP
随着用户对网络安全越来越重视,已经有越来越多的用户在网络上实施了防火墙或者NAT等安全机制。这些安全机制在保障企业网络正常工作的同时,也会视频会议系统的实施带来了很多麻烦。标准的H.323或SIP系统在音视频通信时都采用了RTP协议,但是RTP协议却与防火墙/NAT格格不入。
当标准的H.323或SIP视频会议系统要在有防火墙/NAT的环境下实施时,一般采取以下几种方法:
- 说服客户不使用防火墙/NAT。这个方法听起来很可笑,但是确实有很多客户最终因为种种原因接受了这种建议;
- 将系统放在非军事化区(Demilitarized Zone)。即将视频会议系统放在企业外网没有防火墙/NAT等保护的地方,这样,即使受到攻击,对公司内网的安全性也不会产生影响;
- 采用隧道、应用层网关或代理服务器等解决方案。这些方案都不是视频会议的标准组件,但是如果需要安全的解决视频会议与防火墙的共存,只能采用这些方案。
以上三种方案,有的是以牺牲系统安全性为代价的,有的则是以增加系统复杂度,增加客户投资为代价的。应该说,对用户而言,这些都不是最好的解决方案。
这就是为什么V2选择在支持RTP协议的同时,也可以通过标准的HTTP协议实现音视频的传输。因为无论多么严格的防火墙,都会将HTTP协议作为一个基本的通信协议而打开,否则就几乎相当于将网络与外界完全断开。所以,当V2Conference可以通过HTTP对音视频进行传输时,就相当于用户只要上网就可以使用视频会议。用户可以在不增加投资,不牺牲网络安全性的条件下使用视频会议,应该说,这才是用户的最理想选择。
|