您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

SIP系列讲座-SIP和QoS-2

2017-10-27 09:02:08   作者:james.zhu    来源:Asterisk微信公众号   评论:0  点击:


  在上一讲中,我们介绍了VOIP和SIP的一些相关技术要点和影响QOS的网络环境等问题。今天,我们继续讨论一些关于SIP 网络中QoS的一些相关要素,它们包括Delay,Jitter, VLANs和Packet Loss等等相关因素。
  首先需要说明的是,在网络环境中,到处都有可能产生QoS问题。从ITSP到LAN和终端。从实际生产环境测试中,可能有很多原因会影响QoS。以下图例概括了影响QoS的原因。
  一般情况下,用户根据以下几个方面的数据可以判定什么是“最好的语音质量”:
  • 根据ITU的建议,端对端的单向的Delay应该在150ms之内。
  • Jitter(抖动) 应该在30ms之内。
  • 使用Ping -l 命令测试真正的时延和抖动。
  下面,我们针对几个影响QoS的重要参数进行讨论。
  1、Delay对QoS的影响。在正常的网络内网环境中,一般不会存在Delay的问题。大部分情况下是介入了多个路由器,路由器会产生Delay的问题,这样就会对VOIP造成影响。现实环境中,大部分的厂家的都建议Delay时长在200ms 业内。根据上面所述,ITU建议的标准应该在150ms之内。在200ms的范围内,所花费的时间处理过程包括几个环节:
  80ms delay用来支持IP端连接IPPBX。
  40ms delay用于PSTN网络的接续。当然,如果PSTN增加了回声抑制的处理的话,可能时间会更产一些。
  其余80ms用来支持客户端网络的连接delay。
  因为我们今天所讨论的技术基本上涉及了太多网络节点的处理,所以Delay产生的原因也很多。基本上产生Delay的原因大致包括:
  因为不同的网络环境和地理位置所产生的Delay,例如,卫星传输,光线传输,更加和国家之间的传输,每个洲之间的传输。这些都会产生Delay。
  网络设备处理数据时所产生的Delay,例如,路由器发送数据的队列等待时间,发送数据所花费的时间,硬件本身性能导致的时间。
  终端设备处理所需要的时间,例如回声处理时间,编码压缩时间等都会导致Delay。如果Delay太长的话,就可能导致QoS问题。以下是一个PSTN到终端之间的Delay处理过程。
  随着网络越来越普及,网络办公的需求也非常普及。网络设备会根据实际的数据要求做相应的调整。在一般的办公环境中,很多公司的员工不一定在上班时间完全做和工作相关的事情,有时也可能开一个小差。工作需要的邮件,电话等工具所占据的网络带宽可能不是最大的。为了保证电话语音质量,路由设备应该设置支持VOIP优先等服务(VLAN),以便保证办公电话的正常工作。以下图例说明了公司网络带宽中一些和工作不完全相关的通信工具也同时占用公司的网络带宽,这些应用也会影响着QoS。
  2、Jitter和Packet Loss对QoS的影响。Jitter是一种Delay的表现形式。简单来说就是传输的数据不稳定,速度一会快,一会慢。在VOIP网络中,导致Jitter的原因有很多,这些原因可能是:路由器的队列处理不及时,设备过载,或连接线质量差,这些因素都可能引起抖动的问题。关于Jitter的介绍,我们在以前的Asterisk系列讲座中有过专门的介绍,用户可以查看历史讲座来了解Jitter和如何调整Jitter buffer 来改善语音质量。
  如果系统存在非常大的Jitter 值,这样会导致非常严重的packet loss(丢包)问题。packet loss 会导致对端收不到数据,最终导致语音包丢失。一般情况下丢包率在5%以下不会影响语音质量。如果超过这个值,语音质量会变得非常差。因为微信每篇文章只能添加一个语音文件,我仅上传了一个附件(还有丢包率5%和10%两种不能共享)。附件是一个25%丢包率的语音文件,大家可以试听一下。
  虽然,我们讨论了Delay,Jitter和packet loss,它们在不同网络环境都存在着很多不确定的因素。在VoIP环境中,如果这些值那个控制在一定的范围内,语音质量还是可以被用户接受的。如果超过这个红线,服务商需要对环境进行优化或排查。以下是一个测试标准,这个标准可以应用在用户的语音环境中帮助技术人员来排查问题:
  • 1类表示语音质量正常。
  • 2类表示语音质量可能存在问题。
  • 3类表示语音质量存在严重问题。
  为了保证用户有足够的网络环境来部署VOIP,运营商也必须提供相应的网络保证。以下是美国Verizon运营商提供的服务数据,包括QoS和Jitter的统计数据:
  以上数据仅是美国运营商的一个举例,运营商在每个月都会发布网络环境的数据,这些数据也大概可以反映出运营商的网络质量。我们中国的运营商也可能有类似的数据报告,读者自行查阅。
  3、大部分情况下,用户缺乏对WAN网络的控制,所以如果需要优化网络环境支持好的VOIP语音质量,只能通过自己公司内部网络的管理来保证QoS的正常。当然,如果运营商可以提供更多的带宽和MPLS服务的话,VOIP的稳定性会更好。
  根据以上图例,用户可以通过设置内网设备来实现对QoS的保证,客户可以通过公司内部的交换机(Layer 2 Classification)或者路由器(Layer 3 Classification)。在交换机层面,使用VLAN来实现对VOIP的管理控制是一个比较常用的手段,这样就可以实现公司内部语音网络的优化。
  默认环境下,如果没有设置VLNA的话(关于VLAN的定义用户可以自己学习),内部网络各种设备都会switch发送各种消息,SIP终端,办公电脑,笔记本电脑等设备都混合在一起,这样保证不了VOIP的正常工作,而且对VOIP的业务造成干扰。
  如果网络通过VLAN 重新划分以后,把SIP终端,VOIP网关重新划分,这样的话,就可以保证语音和其他数据服务各自独立。VLAN 1 包括了办公电脑和其他设备,LAN 2 包括了SIP终端和VOIP网关等设备。
  简单总结,使用VLAN有以下几个好处:
  独立分离了数据流量安全性。
  数据传输的流量控制和广播策略。
  独立分离了数据和语音的各种特性。
  如果网络管理员需要设置VLAN支持的话,自己首先确认内网交换机本身支持的VLAN技术细节。
  对VLAN打(查看802.1Q/P)进行标签处理,管理员设置比较高的优先级来保证语音的优先执行或者传输。我们简单描述一下标签处理。以下是一个基本的标签管理过程。在电脑传输之前,本身自己没有对数据设置任何优先级,switch 对发出的数据打印稿标签,指示它的优先级。
  经过switch以后,switch其添加一个Priority-VLAN ID(P)。其他交换机马上知道此数据具有非常高的优先级,优先传输。
  经过switch以后,到达内网另外终端电脑时,移除Priority ID。
  以上是通过标签802.1Q/P打标签的管理方式来优化传输。这样,可以实现交换机对终端数据的优先处理。
  另外,网络管理员也可以通过switch的layer 2 classification 通过队列的方式来优先处理RTP语音。这里的RTP优先级设置是最高的(High),FTP则为正常水平。
  Ingress和Egress 队列策略管理是一个非常复杂的技术话题,这里不做进一步讨论。如果读者有兴趣的话,大家可以参考Catalyst 2975 管理文档来做进一步的研究。
  前面,我们讨论了如何通过设置switch来保证QoS。接下来,我们继续讨论一下如何通过设置路由器来保证QoS。在IP头中,可以通过Tos和DSCP 码对QoS进行管理。默认的IP Datagram DSCP 是0,但是,为了保证DSCP的优先级,很多设备厂家IP话机设置DSCP voice Datagram默认值是46。这样也可以优先保证QoS的正常。
  在同样的网络环境中,如果是DSCP=46的,路由器会优先处理。
  如果对终端话机抓包以后,可以看到消息中的DSCP值46(16进制0x2e):
  再次说明,这里,我们不对DSCP做深入探讨,关于DSCP的策略机制和优缺点我们不做深入探讨。思科在这方面有非常详细的技术文档,用户可以参考。
  本章节,我们介绍了Delay产生的原因,也介绍了Jitter对QoS的影响。另外,我们针对交换机层面对QoS的处理做了一些介绍,最后讨论了Layer 3中路由器对DSCP的设置。这些要素都会影响QoS。笔者希望通过本章节的介绍,读者对以上四个方面的技术要求有一个比较完整的认识,通过实际工作来进一步优化QoS。
  参考资料:
  http://www.voiptroubleshooter.com/indepth/jittersources.html
  https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2975
  关注公众微信号:asterisk-cn 获得有价值的行业技术分享,访问技术论坛获得技术支持:www.issabel.cn/forum
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

相关热词搜索: asterisk SIP

上一篇:Radware荣获2017年云计算安全卓越奖

下一篇:最后一页

专题