你知道IP电话的工作原理,知道语音是怎样通过IP(VoIP)网络的:声音信号被转换成数字信号,然后被分割成一个个的小数据包,通过Internet
或者TCP/IP网络进行传输。但是你可能对那些听到的VoIP连接协议倍感迷糊。它们之间有什么区别?它们之间如何相互影响?为什么它们种类这么多?我
们今天就来看看VoIP通讯中常见的一些公用协议。
呼叫信号协议
最频繁被引用的VoIP协议非“呼叫信号协议”莫属。VoIP网络使用这些协议定位通讯另一端的设备,然后在发送方和接收方之间协商交流。
最常用到的呼叫信号协议有两种:
# SIP协议(会话初始化协议,Session Initiation Protocol,简称SIP),由Internet工程任务组定义(IETF,Internet Engineering Task Force)
# H.323,由国际电信联盟定义(ITU,International Telecommunications Union)
这两个协议基本上做的是同样的事情,绝大多数设备都会使用两者中的一种。不过,他们实现VoIP连接的工作模式却完全不同;SIP是基于ASCII
码,而H.323却是基于二进制代码的。虽然H.323一开始更为流行,而且许多人因为它具有协同普通公众电话网(PSTN)工作以及传输视频的能力而感
觉它很高级,SIP却因为许多VoIP制造商的支持而日益流行起来。许多用户也发现SIP更容易配置。
SIP
SIP是一种应用程序层面的协议,提供了一种类似呼叫及呼叫号码的识别方式,呼叫者和接收者的授权,以及对于呼叫的转移。在识别呼叫者和接收方时,SIP
的地址非常类似于PSTN(公众电话网)的电话号码,只不过SIP的地址看起来更像是email地址;具体格式
是:sip:userID@getway.com。用户注册他们的地址到SIP服务器(被叫做“注册者”)上,然后呼叫者向服务器发送一次SIP请求。用
户可以通过TCP或UDP协议发送SIP信息。
你也可以在网页或者HTML文档中加入SIP地址,以便他人点击后和你语音联络。
H.323
H.323是一系列不同种类、完成不同任务的协议组合而成。这套协议中的一些成员有:
# H.225.0,用于建立连接
# H.332,用于大型会议
# H.235,用于提供安全和认证
# H.245,用于协商频道使用
# RAS,用于处理注册,管理和状态信息
想查看H.323协议的全部列表,并了解每个协议的作用,可以参看:
网关协议
一个网关,在它的普通意义上,是一个在两种网络间提供接口的设备。一个VoIP网关则将一个基于IP的网络连到普通公众电话网上,或者连到一个正常模拟电话上。VoIP网关有两个部分:
# 媒体网关控制器(MGC,media gateway controller);也被称作软交换机。
# 媒体网关(MG,media gateway)
另一套协议,叫做设备控制协议,将VoIP网关中的电话控制逻辑和媒体处理逻辑分开。这些协议包括有:
# 媒体网关控制协议(MGCP,Media Gateway Control Protocol)
# H.248(也被称作媒体网关控制器,或者Megaco,Media Gateway Controller)
请求注释协议(RFC)3435定义了MGCP。它使用一个呼叫代理指挥和控制MG以及信号网关。多重呼叫代理建立了容错机制。MGC使用MGCP来查找VoIP终端的位置和性能。
IETF和ITU对同一标准使用不同的名字,前者用Megaco,后者使用H.248。两个组织通过联合工作发展了协议。MGCP是副产品,是设计被用于
提供VoIP网关的远程控制,以及其他会话-意识的设备。MGCP和Megaco很相似,但是Megaco支持的网络类型更多,包括ATM网络。
VoIP网络一般使用Megaco和MGCP这样的中央架构;MGC/呼叫代理是中央设备,和媒体网关通讯。而网络则依赖于使用SIP和H.323的分布式结构.
实时传输协议(RTP)以及相关协议
一旦MG从公共电话网回路中取得声音信号,RTP就负载着它穿过TCP/IP网络。RTP是一个用于通过IP网络传输声音和视频的标准。RFC 3550定义了它,它和SIP以及H.323一起协同工作。一个VoIP通话使用两个RTP流,一个方向一个。
RTP一般使用高位端口号(16384-32767),但是对于RTP通讯来说却没有固定的标准端口。RTP自己也不提供质量控制服务
(QoS,Quality of Service)。RTP和RTP控制协议(RTCP,RTP control
protocol)一起工作,后者提供了对于RTP通讯的控制信息。RTP自行掌握对数据的传输。RTP能够收集相关信息(发送包数,丢包数,等等)以报
告QoS结果。
安全实时传输协议(SRTP,Secure Real Time Transport
Protocol)保证了RTP数据的安全,认证,以及完整性。SRTCP(安全RTCP,Secure
RTCP)则为RTPC提供了同样的安全服务。SRTP和SRTCP使用高级加密标准(以前被称作Rijndael),该标准已被美国政府采用以取代数据
加密标准(DEC,Data Encryption Standard)。
专有协议
并不是所有的VoIP部署都使用标准协议。Skype和其他VoIP设备使用专有协议。Skype的协议使用点对点的操作模式,而不是绝大多数VoIP客
户使用的C/S(客户端/服务器)模式。因为它的编码是不公开源代码的,所以想了解它的协议以及具体工作方式就非常困难。
你可能也听说过SCCP(信令连接控制协议,Skinny Client Control Protocol),这是一个Cisco用于在呼叫管理(一个H.323代理)和他们的VoIP电话之间通讯的专有协议。H.323代理使用SCCP和Skinny客户端进行通讯。
总结
当试图弄清楚VoIP的通讯协议时,很容易会被弄得头昏脑胀,但是要想弄明白VoIP是如何工作的——以及何种部署能工作的最好,了解协议还只是第一步。
阅读(1077) | 评论(0) | 转发(1) |