基于区分服务的分组标记及队列调度策略研究
摘 要:本文针对区分服务技术的原理和实现,对其体系结构进行分析,包括区分服务的基本原理、体系结构及其支持的服务,研究其实现IPQoS的各种控制策略,通过对分组标记算法的带宽分配公平性分析,提出相应的解决方案,分析SRTCM标记器的工作原理以及标记算法带宽分配公平性问题,通过仿真测试得到WRR调度各业务时,其带宽分配公平性问题。
关键词:区分服务;标记策略;队列调度;网络仿真 中图分类号:TN915 1 介绍
因特网业务的多样化、信息量迅速增长和网络规模的不断扩大,要求因特网能提供一定服务质量的保证。国际工程任务小组IETF曾经针对这个问题,多次提出解决方案。但是只有区分服务体系结构能够在提供一定粒度的QoS保证的同时,还能保证较好的可扩展性和简单性,因而被认定是下一阶段IP骨干网的首选实现方案。 2 区分服务的概述
区分服务,英文简写做DiffServ,定义如下:“各个数据流在区分服务域的边界在调节和整形之前,被分类,继而被
划分成各不相同的行为聚流,而在标识这些行为聚流时,是使用不相同的服务码点,即DSCP来进行的,之后路由器会按照DSCP标识的情况,针对每个行为聚流的每跳行为进行不同的实施,以此作为依据,区分行为聚流服务的等级。同时,由于数据流存在隶属一个行为聚流的情,这种数据流被称作是微流,各个微流之间共同使用路由器,以使用分配给聚流的宽带和资源。同时因为微流存在特性和要求之间的不同,这些不同主要表现在回路响应时间、包长度、是否有拥塞控制机制问题上,使得在争用带宽时会产生不同的竞争能力。”
DiffServ体系结构如图1所示。 图1 区分服务体系结构框架图
区分服务是按照层次结构的体系进行构建的,分为DS区、DS域。
DiffServ中功能模块的构成情况边缘路由器和核心路由器的功能组成,边缘路由器由分类器、业务调节器、调度器构成。核心路由器的功能较简单,只包括DSCP分类器和调度器。
3 系统设计与完成 3.1 系统设计
针对在网络发生拥塞的时候,UDP流会占用比TCP流多的带宽,导致造成带宽分配不平等的问题,本文提出对标
记策略进行修改来解决,在标记丢弃优先级时,将UDP流标记为较高的,而将TCP流标记为较低的。
另外,在对DiffServ域的边缘路由器标记器的标记策略进行修改时,如果是TCP流,则把应该标识成黄色和红色的信息包,全部标记为黄色,如果是绿色的,那么就保持不变;如果是UDP流,则把应该标记成绿色的信息包,标记成黄色,而把应该标记成红色或者黄色的信息包,全部标记上红色。
本文在分析了DiffServ中每个PHB的特点之后,提出并设计出一类适合DiffServ的两级多业务调度方案,即PRI/DWRR+。
本文在上述对DiffServ的研究改进中,对改进后的方案仿真测试都是在NS(Network Simulator V2)中进行的,由于在NS2的DiffServ模块中,并不具备改进方案的测试环境,因此有必要对NS2进行相应的改进与完善。主要对NS2中DiffServ的分组标记、队列管理、队列调度进行改进与扩展:对NS2中区分服务dsRED模块的改进;修改标记算法SRTCM的标记策略模块;将改进后的标记策略加入到NS2中的DiffServ实现模块。
目前在NS2中已经提供了一些支持区分服务的C++类模块如边界路由器、核心路由器、调节器、RED算法等,通过调用这些模块,可以实现区分服务的一系列控制策略如分组
标记、队列调度、拥塞控制机制等来提供QoS保证。 在Linux环境下安装ns-allinone-2.26,其中ns-2.26目录下提供的DiffServ模块的框架结构。 3.2 系统仿真测试 3.2.1 标记策略的仿真测试
为简化讨论且能够体现一般情况,本文只对聚流的以下构成情况进行仿真,使用的聚流由两个UDP流和两个TCP流组成。仿真过程中,使用拓扑结构。其中,边缘路由器中的标记器采用SRTCM单速率三色标记器。
设由节点Si发送到节点Di的IP包形成信息流i(i=1,2,3,4),用Fi来表示。并设各Fi(i=1,2,3,4)在经过如图2-3所示的边缘路由器E1后,形成同一聚流C,用同一个DSCP码点来表示。一个Fi流为一个TCP流或一个UDP流,用li和vi分别表示其包长度和发送速率。当Fi为TCP流时,分别用wndi和rtti来表示其窗口最大值和回路往返时间。并假设组成TCP流的为长度恒定的FTP包,组成UDP流的为速率和长度均恒定的CBR包。
仿真时间30s,CIR=3Mbps,CBS=2KB,EBS=3KB。队列管理策略均采用“丢尾”策略。 3.2.2 DWRR+仿真测试
关于AF业务DWRR+算法的仿真拓扑图如图2所示。 图2DWRR+调度AF流仿真网络拓扑图
相关推荐: