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 。
ReliableSite怎么样?ReliableSite好不好。ReliableSite是一家成立于2006年的老牌美国商家,主要经营美国独立服务器租赁,数据中心位于:洛杉矶、迈阿密、纽约,带宽1Gbps起步,花19美元/月即可升级到10Gbps带宽,月流量150T足够各种业务场景使用,且免费提供20Gbps DDoS防护。当前商家有几款大硬盘美国独服,地点位于美国洛杉矶或纽约机房,机器配置很具有...
轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。官方网站:点击进入广州轻云网络科技有限公司活动规则:用户购买任...
有在六月份的时候也有分享过新网域名注册商发布的域名促销活动(这里)。这不在九月份发布秋季域名促销活动,有提供年付16元的.COM域名,同时还有5个+的特殊后缀的域名是免费的。对于新网服务商是曾经非常老牌的域名注册商,早年也是有在他们家注册域名的。我们可以看到,如果有针对新用户的可以领到16元的.COM域名。包括还有首年免费的.XYZ、.SHOP、Space等等后缀的域名。除了.COM域名之外的其他...