论文部分内容阅读
随着因特网业务持续高速增长,新的用户不断接入因特网,用户要求有更高的带宽并具有一定的QoS保证。这种趋势对网络元素提出了新的要求。为了适应这些要求,必须提供尽可能多的输入输出端口以满足大量用户的连接,同时还要为这些连接提供一定的主要基于IP网络的QoS(Quality of Service)服务。分组队列调度算法作为保障这些目标的重要一环,特别是在QoS的实现上目前具有不可取代的重要作用,因此有着广泛的应用。在这类应用中,有很多采用了对目前通用的分组调度算法(如WFQ、PQ、MWRR等,本文中称为单级分组调度算法)进行组合,来满足用户或网络灵活的QoS要求,这就产生了复杂的多级分组调度算法(Multi-Stage Packet Scheduling),由于目前关于多级分组调度算法的理论模型还不成熟,因此多是采用单级分组调度算法的理论来确定多级中各级的调度算法,这样的结果是在每一级的调度中取得了相对最优,但在多级联合以后却不一定是性能最优的。所以分析多级分组调度算法的性能具有重要的工程意义,本文的主要工作都以此展开。我们在对因特网中QoS服务的一般方案进行分析的基础上,尝试设计了一种能较好满足因特网QoS要求的两级分组调度模型。然后通过仿真,具体测试此模型的性能,包括模型的分组时延(delay)、时延抖动(delay jitter)、缓存分组所需要的存储器大小(buffer capacity)以及同样大小的存储器时分组丢失情况(丢失率loss rate),从而通过仿真分析确定出优选的两级调度方案为DWRR/MWRR。为完成多级分组调度模型的仿真分析,我们编写了OPNet平台上的单级分组调度通用仿真程序。这是在分析各种常用的单级分组调度算法基础上,提取各个分组调度算法实现的共同点,然后通过数据结构的封装和不同算法函数的重载来实现。它是本文工作的一个重要组成部分,多级分组调度模型即以此通用模块为基础搭建。这个通用模块也为以后的分组调度算法研究,以及这方面的通信设计提供了一个快速的仿真测试实现工具。