论文部分内容阅读
VoIP(Voice over Internet Protocol)是一种利用Internet网络协议提供IP电话业务和一些增值业务的技术。它可以在公共网络上实现较低成本的语音传输,并且能够同时提供语音、视频、数据、传真等多种业务。从某种意义上说,VoIP技术将从根本上改变人们传统的通话方式。尽管在理论上VoIP技术很早就被证明是可行的,但是,它在语音传输和商业的推广应用上还存在很多技术问题,这也是目前很多研究机构和公司进行VoIP研究的热点。缺乏服务质量(Quality of Service)保证是推广VoIP应用面临的一个难题。VoIP这种实时业务对于网络的服务质量要求和传统业务有相当大的不同,它对于网络的传输延迟、延迟抖动相当敏感,需要网络提供低延迟、低抖动、高优先级的传输服务。而目前的IP网络只能提供“尽力而为”的服务,并没有一个商业上可用的VoIP业务的QoS解决方案。本文提出了一种利用Linux平台下通用的流量控制工具TC实现区分服务,从而保证VoIP系统QoS的方法。该方法首先在数据进入VoIP网关时对数据进行分类(根据端口号进行分类),在分类后,利用TC的DSMARK队列规定,修改VoIP语音流等实时性数据的DS字段的值,使VoIP语音流等实时性数据在VoIP系统中具有最高的转发优先级,从而保证了在VoIP系统中语音通话的质量。论文首先阐述了VoIP技术的技术背景和发展前景,介绍了目前较为流行的用于VoIP系统中的一种信令协议SIP(Session Initial Protocol),分析了影响VoIP系统QoS的关键因素如时延、抖动和丢包率;讨论了改善VoIP系统QoS的策略和方法,重点分析了Diff-Serv(区分服务)的体系结构和基本原理,讨论了通过编写TC脚本实现区分服务的基本方法,提出了基于SIP的VoIP网关QoS模块的总体实现方案:包括QoS模块的实现框架和TC脚本的详细设计。最后给出了该QoS模块在局域网上的测试方案,分别对该模块在功能和性能两个方面进行了测试,结果证明该QoS模块工作效果较好,特别是在网络负载较重时,对VoIP系统的QoS有明显的改善。