本文对Internet中语音通信数据包的传输和服务质量进行了较详细的分析,给大家作为参考:{:3_49:}
互联网的一般特点:
考虑到internet的一般特点,它本身不是一个适合语音通信的网络:
1.数据应用
无音频和视频
2.自适应选路
分组到达的顺序可能会改变
3.无连接
无固定电路连接
4.best effort
如果发生问题,可能会导致信息丢失
针对以上internet作为一个数据网的基本特点,想要在其上实施语音分组交换业务,一般的性指导原则大致如下:
1. 减少分组时延,和时延抖动:
时延是指数据包从发送端到接受端的时间花费, 抖动则是花费时间的变化
2.带宽要求
因为传输语音信号除了本身语音信号,还包含l_2, ip报文,udp报文段,应用层协议的首部,此外包含语音编码器的首部。so, 可以看出skype的公司所使用的比较优化的语音编码方法可以使得它这个层面上占优。当然,这不是问题的关键。
3.减少计算量
这个指标在此比较中无较大的意义。
4.减少 rtt ( round-trip time ):
包括在两个方向上的传输的时间和节点处理的时间,研究表明语音通信最好的rtt要小于 300 ms
5. 跳距:
从发送端到接受端经过了多少跳。跳数越大,时延越大,时延的抖动越大。这和路由器对数据包的处理有关系(负载)。同时距离对时延的影响相对的很小了。但是一般来说又不需要固定的路由,因为“路由信息很少在通话的期间改变”,这是路由算法所决定的。
6.短包:
因为语音编码器在帧长为 10~30 ms 的时候所产生的 数据包的大小为10~30个字节。同时短包减少了丢包对语音信号的信号的影响。但是短包都增加了路由器的负荷和重组的时间,这之间是一个 trade-off 7. 使用udp作为传输层协议,因为udp的本质和语音通信比较接近。
从具体应用的层面研究性能
1.错误容限研究表明:当偶发性的丢包率不超过10%的时候,就不会严重影响通话的质量
2.时延容限语音分组的双向时延的必须是恒定的同时还要小于300ms 双向时延 = a 语音传递到 b + b 听到 a 的声音 + b开始讲话 + a 听到 b的声音
补充:
1. 电话网络的优点:
1/ 呼叫建立阶段说话方和受话方之间的传输的路径是固定的。
2/ 电话交换没有排队的问题。语音信号是在ds0(tdm时隙)时分复用。直接从交换机的输入接口传输到预先设定的输出接口相应ds0时隙中。因此电路交换所提供的是固定的路径和固定的时延。而分组交换网络则不提供固定的路径和固定的时延。
2.通过分析数据包的大小对voip提出的一般性解决措施:
1/ 使用较短的数据包来传输对语音业务非常重要
a.因为在短的包中包含重要的信息的概率比较小,发生丢包的现象对质量的影响不大具体的数据是: 10~30字节 而网络上其他的包所采取的大小主要是175~400字节
b.因为短包可以使得处理节点可以快速的检查,处理小单元信息
2/ 但是也不能使得包的长度过小,使得包的数量增加;产生问题的原理是路由器在解析大小不同的包负载是一样的。实际的解决方案是在一个数据包中实现 2~3个语音样本,大致是20~60字节。以上问题的解决方案:sonet(同步光纤网)和千兆未路由器
3/ 为什么不采取tcp传输层协议?因为tcp的全部传输层时延是400~500ms,超过了voip所需要的rtt 语音网络具有和数据网不同的设计理念,语音网络支持的同步的实时同步业务,而且要求发送端和接受端之间的时延为固定值:所必须要克服的困难:
1/ 减少时延
2/ 减少时延抖动
3/ 降低数据丢包率所以通常选择udp和ip协议来作为其传输层和网络层的协议。