预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.语音数据包封装的实现与CODEC不论在呼叫控制信令上采用何种协议,语音包的传输基本上都基于RTP(real-timetransportprotocolRFC1889/RFC3350)协议在网络上传输。这是一种为传输实时媒体流而由IETF制定的协议。几乎所有的VoIP相关产品,都利用RTP收发语音信息。语音包的结构如下所示,在IP层上封装后被送出到网络上,Payload部分的信息量多少取决于所采用的编码方式。一般说来,在VoIP的世界里采用G.729编码的较多,而在运营商提供的IP电话服务中则是G.711较多。G.711是在ISDN网中也被使用的CODEC,音质较好,但与G.729相比信息量较多。而G.729则是一种压缩率高且音质也较好的CODEC。在传输一路语音信息时,G.711所需的带宽是64kbps,而G.729只需要8kbps。两者一般都以20msec间隔(这个间隔可变)发送数据包,因此我们可以推算出实际的包大小。语音信息是一种模拟信号,而将语音转换成数据包首先需要将模拟信号转换为数字信号(数-模转换)。相信大家对此都有所了解,将模拟式的语音信息用数字式传输的过程大致如下图所示。 现有的电话交换网中采用的编码方式是G.711(PCM),在通话的两端必须采用同样的方式分别进行编码/解码操作才能实现语音通话,这里的编码/解码功能合称为CODEC(COder/DECoder)。 VoIP应用中常见的两种具有代表性的CODEC如下:G.711(PCM方式:PCM=脉码调制:PulseCodeModulation)@采样率:8kHz@信息量:64kbps/channel@理论延迟:0.125msec@品质:MOS值4.10G.729(CS-ACELP方式:ConjugateStructureAlgebraicCodeExcitedLinearPrediction)@采样率:8kHz@信息量:8kbps/channel@帧长:10msec@理论延迟:15msec@品质:MOS值3.9 接下来就以这两种CODEC为基础进行探讨。光使用CODEC将语音信息数字化还不算是将语音数据包封装完成。为了完成封包工作,VoIP终端内置了被称为DSP(DigitalSignalProcessor)的芯片。简单地说,就是对模拟信号编码后产生的大量数字信息进行实时处理的芯片。实际的封包过程,还需要使用RTP协议将语音数据包发送到网络上去。RTP包中,包括载荷类别(CODEC的类别)、序列号(语音包的顺序)、时间戳(语音包的发送间隔)等信息,接受方就以这些信息为基础将收到的数字信息还原为模拟的语音信号。 2.计算语音数据包的大小和所需带宽 实际的语音信息在IP层上封装后的数据包格式如下。IPHeader(20Byte)+UDPHeader(8Byte)+RTPHeader(12Byte)+Payload(净载部分,可变长) 将语音信息封装为IP包在3层以上就必然产生40Byte的额外开销,那么使用G.711/G.729CODEC分别以20msec周期封装语音信息包的话,所生成的包长度如下。 G.711时每秒送出的包为:1000/20msec=50pps一路语音信息所需的带宽64kbps=50pps×Payload大小Payload大小=64000/50=1280bit=160byte语音包的长度为200byte。 G.729时每秒送出的包为:50pps一路语音信息所需的带宽8kbps=50pps×Payload大小Payload大小=8000/50=160bit=20byte语音包的长度为60byte。 在实际应用中具体应该使用哪种CODEC呢?仅从语音通话业务的角度来看是用哪一种CODEC都没有问题的。但是,如果需要利用传真服务或是与VoIP运营商互联的话,就必须使用G.711。而拥有多处分支机构的企业,用于分支间互联的往往不会是与LAN等同的10/100Mbps的线路。多数分支甚至还在用128kbps的线路互联。此时如果选择G.711的话,光是语音信息就有可能把可用带宽消耗光。有些产品支持为不同的连接对象使用不同的CODEC。利用这一功能,就可以做到在窄带连接上使用G.729,而在宽带连接上使用G.711。如果采用这类产品,为了统一运用管理策略,可以考虑使用“分支间采用G.729;同一LAN内采用G.711”的设计。但如果有需要在分支间使用传真服务,则必须在分支间也使用G.711。此外,在进行带宽计算时,还必须考虑二层上的开销。具体到采用以太网传输时,必须加上以太帧的开销。以太网传输所需的额外开销包括@前同步(Preamble):7byte(为了通知帧发送开始而取同步的信号)@SFD:1byte(StartFrameDelimiter:数据帧开