1.语音数据包封装的实现与CODEC不论在呼叫控制信令上采用何种协议语音包的传输基本上都基于RTP real-time transport protocol RFC 1889RFC 3350协议在网络上传输。
这是一种为传输实时媒体流而由IETF制定的协议。
几乎所有的VoIP相关产品都利用RTP收发语音信息。语音包的结构如下所示在IP层上封装后被送出到网络上 Payload部分的信息量多少取决于所采用的编码方式。
一般说来在VoIP的世界里采用G.729编码的较多而在运营商提供的IP电话服务中则是G.71 1较多0G.71 1是在ISDN网中也被使用的CODE,音质较好但与G.729相比信息量较多。而G.729则是一种压缩率高且音质也较好的CODEC在传输一路语音信息时G.71 1所需的带宽是64kbps,而G.729只需要8kbps。两者一般都以20msec间隔这个间隔可变发送数据包因此我们可以推算出实际的包大小。
语音信息是一种模拟信号而将语音转换成数据包首先需要将模拟信号转换为数字信号数-模转换 。相信大家对此都有所了解将模拟式的语音信息用数字式传输的过程大致如下图所示。
现有的电话交换网中采用的编码方式是G.71 1 PCM在通话的两端必须采用同样的方式分别进行编码/解码操作才能实现语音通话 这里的编码/解码功能合称为CODECCOder/DECode0r
VoIP应用中常见的两种具有代表性的CODE如下
G.71 1 (PCM方式PCMk脉码调制Pulse Code Modulation )
@采样率 8kHz
@信息量 64kbpschannel
@理论延迟 0.125msec
@品质MOSS 4.10
G.729(CS-ACEL方式Conjugate Structure Algebraic CodeExcited Lin earPred iction )
@采样率 8kHz
@信息量 8kbpschannel
@帧长 10msec
@理论延迟 15msec
@品质MOSS 3.9
接下来就以这两种CODE为基础进行探讨。光使用CODE将语音信息数字化还不算是将语音数据包封装完成0
为了完成封包工作 VoIP终端内置了被称为DSP Digital Signal Processor 的芯片0简单地说就是对模拟信号编码后产生的大量数字信息进行实时处理的
丄
芯片0
实际的封包过程还需要使用RTP协议将语音数据包发送到网络上去。 RTP包中包括载荷类别CODE的类别 、序列号语音包的顺序 、时间戳语音包的发送间隔 等信息接受方就以这些信息为基础将收到的数字信息还原为模拟的
语音信号。
2.计算语音数据包的大小和所需带宽
实际的语音信息在IP层上封装后的数据包格式如下。
IP Header 20Byte +UDP Header 8Byte +RTP Header 12Byte +Payload 净载部分可变长
将语音信息封装为IP包在3层以上就必然产生40Byte的额外开销那么使用
G.71 1/G.729CODEC分别以20msec周期封装语音信息包的话所生成的包长度如下。
G.71 1时
每秒送出的包为 1000/ 20msec= 50pps
一路语音信息所需的带宽64kbps= 50ppsxPayload大小
Payload大小=64000/50= 1280bit= 160byte语音包的长度为200byte。
G.729时
每秒送出的包为 50pps
一路语音信息所需的带宽8kbps= 50ppsxPayload大小Payload大小= 800050=160bit=20byte语音包的长度为60byte。
在实际应用中具体应该使用哪种CODE呢仅从语音通话业务的角度来看是用哪一种CODE都没有问题的。
但是如果需要利用传真服务或是与VoIP运营商互联的话就必须使用G.71 1 。而拥有多处分支机构的企业用于分支间互联的往往不会是与 LAN等同的10/100Mbps的线路。多数分支甚至还在用128kbps的线路互联。
此时如果选择G.71 1的话光是语音信息就有可能把可用带宽消耗光。有些产品支持为不同的连接对象使用不同的CODEC利用这一功能就可以做到在窄带连接上使用G.729,而在宽带连接上使用G.71 1 。如果采用这类产品为了统一运用管理策略可以考虑使用“分支间采用 G.729;同一LAN内采用G.71 1 ”的设计。但如果有需要在分支间使用传真服务则必须在分支间也使用G.71 1 。
此外在进行带宽计算时还必须考虑二层上的开销。具体到采用以太网传输时必须加上以太帧的开销。
以太网传输所需的额外开销包括
@前同步Preamble : 7byte 为了通知帧发送开始而取同步的信号
@SFD 1 byte Start Frame Del imiter 数据帧开始部分
@对端MAC地址 6byte
@源MAC地址 6byte
@协议 2byte VLAN时包含于802.1 q
@802.1q 4byte 使用VLAN时
@FCS4byte
下面再举两个实例。
实例1 以太帧带VLAN Tag
@Preamble 7byte
@SFD 1 byte
@对端MAC地址 6byte
@源MACM址 6 b yte
@802.1 q 4byte 使用VLAN时
@FCS 4byte
根据实例1的计算可知在使用VLAN功能的以太网上每个三层的数据包需要加上28byte的开销。
实例2:不带VLAN Tag的以太帧
@Preamble 7byte
@SFD 1 byte
@对端MAC地址 6byte
@源M ACM址 6 b yte
@协议类别 2byte
@FCS 4byte
根据实例2的计算可知无VLAN环境下每个3层包在以太网上需要的额外开销是26byte。
最后来简单计算一下不同CODE下所需的实际带宽。
计算的前提是RTP包送出间隔为20msec且2层上不使用VLAN此时每个包需要附加还必须加上40Byte 3层以上的开销+26Byte 2层的开销=66Byte的额外开销。而每一秒钟共产生50个包50pps ,因此除了净载的语音信息64kbps 外开销部分所占用的带宽是66Byte x8X50=26.4kbps。
由此得出G.71 1在实际传输中需要占用90.4kbps的带宽而在实际的网络设计中一般都是按照每路通话100kbps来进行估算的。G.729所占的带宽是34.4kbps 虽然加上额外开销后它所需的带宽仍远低于 G.71 1 但考虑到消耗带宽中包头的开销和净载分别占用的比例不免令人觉得有些遗憾。
这样就需要采用包头压缩等技术来进一步提高带宽的利用效率了
Codec BR NEB
G.71 1 64 Kbps 87.2 Kbps G.7298 Kbps 31 .2 Kbps G.723.1 6.4 Kbps 21 .9 Kbps G.723.1 5.3 Kbps 20.8Kbps G.72632 Kbps 55.2 Kbps G.72624 Kbps 47.2 Kbps G.72816 Kbps 31 .5 Kbps iLBC 15 Kbps 27.7Kbps
BR=Bit rate
NEB=Nominal Ethernet Bandwidth(one direction)
根据我的使用经验
8K的G.729加上IP封装后达到32K,
为了防封杀还有的用户使用 IP Sec设备将语音做成VPN这样G.729加上IP封装再加
上VPN会达到60多K 。
Pia云这个商家的云服务器在前面也有介绍过几次,从价格上确实比较便宜。我们可以看到最低云服务器低至月付20元,服务器均采用KVM虚拟架构技术,数据中心包括美国洛杉矶、中国香港、俄罗斯和深圳地区,这次春节活动商家的活动力度比较大推出出全场6.66折,如果我们有需要可以体验。初次体验的记得月付方案,如果合适再续约。pia云春节活动优惠券:piayun-2022 Pia云服务商官方网站我们一起看看这次活...
无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,自营有国内雅安高防、洛阳BGP企业线路、香港CN2线路、国外服务器产品等,非常适合需要稳定的线路的用户,如游戏、企业建站业务需求和各种负载较高的项目,同时还有自营的高性能、高配置的BGP线路高防物理...
主机参考最新消息:JustHost怎么样?JustHost服务器好不好?JustHost好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯5个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!just...