首页>>>技术>>>VoIP

专用VoIP协议上获得Skinny

2007/01/11

  以前的关于IP协议的文章涉及到:H.323,会话初始协议(SIP,Session Initiation Protocol),Megaco (H.248),媒体网关控制协议(MGCP,Media Gateway Control Protocol),以及RTP。我们没有涉及的是专有VoIP协议,比如Skype使用的点对点VoIP协议,瘦客户端控制协议(SCCP,也称作“Skinny”,就是Skinny Client Control Protocol),以及Asterisk使用的IAX(内部Asterisk交换,Inter-Asterisk Exchange)协议。这里我们将关注这些专用协议以及其他多家制造商在VoIP上所使用的专用协议。

Skype

  Skype是一家非常流行的,在Windows、Macintosh OS X,以及Linux上运行的“软电话”。这个产品是由当初带给我们极为流行的Kazaa文件分享工具(现归eBay所有)的那批人所开发的。因为它电脑到电脑的基本服务是免费的,所以它提供给了消费者一个体验IP电话的机会,而无需太多的争论或义务。除了语音之外,用户们也可以使用Skype进行视频会话。

  不幸的是,Skype的协议和软件是资源封闭的,所以我们不能像了解H.323和SIP那样,了解它的工作方式;广为人知的国际通讯联盟(ITU,International Telecommunication Union)以及互联网工程任务组(IETF,Internet Engineering Task Force)定义了这两个协议。我们只知道Skype和绝大多数的VoIP技术不同,因为它使用一个点对点模式,而不像其他更标准的VoIP程序所采用的中央呼叫服务器模式。

  不过,要说Skype的运作没有任何服务器,却并不正确。用户会登录到Skype的一台服务器上以验证他们的公共密钥;这个连接使用256位的高强度密码标准(AES,Advanced Encryption Standard)进行加密,而对付费用户来说,则可使用1536位-2048位的密钥进行加密。用户通过“超级节点(Supernodes)”连接到他们的目标,或通过公共IP地址连到其他Skype用户——使用点对点模式。不是用中央服务器来处理带宽任务,而是用节点来进行处理。每个数据包均使用加密处理,以保护穿越各个节点的呼叫保密性。

  要用Skype拨打电话到一个公共电话交换网(PSTN,public switched telephone network)上的电话时(不包括那些免费号码),你必须使用他们名为SkypeOut的付费服务,付费标准按分钟计算。另外还有个同等服务,叫做SkypeIn,则是允许Skype用户接收来自PSTN电话的呼叫。SkypeIn对拨打PSTN号码的通话进行加密,直到它们到达PSTN网关。

Skinny

  SCCP是Cisco的专有VoIP协议,用于连接Cisco VoIP电话到Cisco呼叫管理服务器。Cisco呼叫管理服务器是一个H.323代理,和Skinny客户端进行通讯(Cisco电话机),造成的负载比H.323小的多。正如其名,SCCP是一个很“清瘦”的客户,对硬件处理的负载要求很低。

  当呼叫一个非skinny的客户时,该客户端通过呼叫管理器,使用TCP建立一个连接,而后两者之间使用UDP进行通讯。当skinny电话彼此相连时,他们使用RTP来取代UDP。

  除Cisco之外,还有一些制造商也支持SCCP,并且Cisco呼叫管理器4.0支持一个SCCP的加密版本,使用传输层安全(TLS,Transport Layer Security)来加密通讯,从而提供语音通讯的机密性。

IAX

  IAX是内部Asterisk交换协议,可以在客户端和Asterisk服务器之间建立连接,或在Asterisk的两个PBX单元之间建立连接。当前的版本是IAX2。Asterisk是一个免费的开源呼叫服务器(IP PBX),使用GNU通用公众授权许可(GNU GPL)。用户可以在Linux,Solaris,FreeBSD,以及Windows上运行Asterisk。你需要特别的硬件(一块PCI扩展卡)来连接电话线和T1线路。Asterisk也支持SIP和H.323,并可以和SIP硬电话一同工作。

  IAX工作方式很像SIP,不过它是设计以解决SIP在网络地址解析(NAT)上的难题,通过单一的UDP(User Datagram Protocol)数据流同时发送会话setup/teardown和语音信息。它同样占用带宽较少,因为它将多个通话数据组合成了一组数据包。

  IAX2通常使用4569端口(IAX的第一个版本使用5036端口),并可以像处理语音流一样的处理流视频。它同样也支持认证用户的RSA公共密钥加密。

其他私有协议

  其他制造商已经开发了他们自己的协议。Nortel建立了UNIStim来处理他们自己IP电话和Nortel呼叫服务器之间的通讯。Nortel有一些适用于小型企业的低价格PBX(500美金以下),这些PBX使用UNIStim协议。Mitel使用一个叫做MiNet的私有协议(它的产品同样支持SIP)进行通话信号。Mitel协议提供了额外的安全性,对进入Mitel控制器的通讯都使用SSL以及Secure Shell加密。

总结

  尽管SIP和H.323是已知的最好VoIP协议,但这不意味着它们是唯一的好协议。对于如今已然被广泛采用的VoIP来说,最大的挑战之一是标准的缺乏。许多VoIP制造商使用专有协议的事实,导致了大量彼此不能相互协作的系列产品,以及一堆实施VoIP部署时难以选择的协议,正反映了标准的缺乏。

  专有协议的确有一些好处:不开放代码可以提供一种“模糊安全”,这是开放标准的协议所不具有的。制造商可以针对解决特定问题而开发功能,比如IAX就是用于VoIP能更易于穿越防火墙,并解决其和NAT设备的不兼容性。制造商可以因此提升性能,正如Cisco的Skinny所做的那样,或使用非传统的模式,比如Skype已使用的点对点概念。

  另一方面,行业内的许多人都赞同标准化,虽然SIP看起来正在成为VoIP协议赛跑的胜利者,但依旧有很多的专有协议正在被使用。熟悉它们,了解它们,你才能为自己的VoIP部署作出最好的选择。

ZDnet (www.zdnet.com.cn)



相关链接:
NGN、VoIP、IPTV迎来市场雪崩 2007-01-11
移动IP PBX实现企业分机移动通信 2007-01-09
Skype应准备面对企业市场 2007-01-09
不要成为滥用VoIP的牺牲品 2007-01-09
部署VoIP的法律问题 2007-01-08

分类信息: