论文部分内容阅读
随着网络业务的增多,某些交换节点经常发生拥塞,造成分组丢失和时延过大。这些现象引起了人们对网络服务质量QoS(Quality of Service)的关注。本文对网络服务质量进行了研究,分析了它的三种服务模型。尽力而为服务模型没有任何服务质量保证,不适合实时性要求高的业务;综合服务模型对实时性业务有一定的适应性,但是其扩展性差而有一定的局限;区分服务模型扩展性好,但是网络资源利用率稍有欠缺。分组调度算法是QoS研究的一个重要课题,目前的分组调度算法各有其优势与不足。基于时延的EDF(Earliest Deadline First)算法有一定的公平性,但是重要业务在调度时没有优势;静态优先级调度算法PQ(Priority Queueing)保证了重要业务的执行,但是过于僵化,不能顺时而变;结合时延的优先级队列调度算法如PQBEDF(Priority Queue Based on EDF)、PQBEDF_R(PQBEDF_Return)算法综合了以上两种算法的优点,具有较好的性能,但是分组丢失率和时延方面还是没有根本的改善。通过以上的研究,提出了CPI (Conditional Priority Increase)分组调度算法,CPI算法在PQBEDF_R算法的基础上做了修改,使分组丢失率和时延有所改善。针对以往的动态优先级调度算法总是将队列最高初始优先级作为各队列的最高优先级,在网络负载重的时候,系统往往忙于服务初始优先级高的队列而使初始优先级低的队列丢失率高、时延大。CPI算法将各队列的最高优先级调高,使他大于最高初始优先级,这样初始优先级低的队列的实时优先级也可大于初始优先级队列高的队列的实时优先级,这样降低丢失率、减少时延。另外,添加了一个超级优先级参数(大于最高优先级),当队列出现分组丢失时,立刻调整该队列优先级为超级优先级,这样避免了连续丢失分组。为了服务公平,在一个队列达到最高优先级时,其他队列不提升优先级,这样避免了同时出现多个最高优先级队列。本文结尾使用OPNET仿真工具,建立进程模型和节点模型,编写算法代码运行了PQBEDF_R和CPI算法。在同一网络环境下比较两种算法的结果,分组丢失率方面,CPI算法比PQBEDF_R算法降低了很多;时延性能方面,CPI算法比PQBEDF_R算法也有所改善。所以,验证了以上理论是有效的。