论文部分内容阅读
伴随Internet网络的快速成长,网络上承载的应用的也在急剧增加,新业务种类不停地出现。但是IP协议的特点是无连接、尽力服务、每报文路由,在支撑需要服务质量的业务的时候,这些特点反而成了最大的阻碍。所以,如果IP网络要想更进一步发展,就需要加强IP网络服务质量(Quality of Service,QoS)的研究以解决以上描述的问题[1]。因此,IP网络有两个问题需要一起解决:一个是路由交换的数据要越来越快,二个是服务质量保障要越来越好。现在,各个网络设备制造商、标准化组织、科研单位、中高级院校、网络运营商等等IP网络相关的组织都在围绕着电信级IP Qo S开展积极研究,已经产生了很多研究成果、技术实现方案、标准草案等等[2]。但是一直以来将QoS算法理论转化为实际芯片时都存在理论与实现脱节、实现代价大和验证困难等缺点。本文设计了一个路由器线卡上的QoS芯片ESL模型,应用System C语言编写建立了一个QoS芯片的软件模型。因为采用了ESL方法,使得理论设计很容易转化为RTL芯片架构设计和仿真验证模型。整套模型包含一个QoS芯片顶层模型和配置管理、发包器、队列管理、队列调度等4个子模块模型。芯片顶层模型设计包括:顶层时钟信号引入、子模块间通信接口互连、公共数据存储(类似TOP层数据寄存器、memory等)。发包器激励模块根据用户配置的带宽、包长、优先级、目的端口、目的板号等信息模拟路由器交换机经过网络处理器处理后发到QoS芯片的入口流量。队列管理模块和队列调度模块是芯片的主体部分,采用新的多层次的QoS调度算法,各个层级调度分别对应Internet网络边缘路由器的业务层级。传统分组公平排队算法需要路由器采取集中共享内存或者输出排队,为了避免这些问题,本文设计了一套队列调度速度档位计算、更新和调度机制。队列管理模块可以根据每个队列预设的队列credit和透支credit,让报文提前出队。同时,当队列长度和队列credit改变时,队列管理模块使用本文设计的算法计算队列调度档位状态。队列调度模块根据队列的映射关系、优先级以及队列调度档位状态等信息,给队列管理模块添加credit和提供出队机会。特别是队列调度算法中的队列调度速度档位的设计有利于ESL模型和RTL实现简便、队列管理与队列调度模块间解耦和算法移植容易。模型建立后,通过xml文件配置,构造了一系列模拟现网对路由器交换机的攻击流量,运行模型仿真实验后,分析仿真实验结果表明论文设计是成功的。本文最终目的是设计的QoS芯片在交换机、路由器上应用的时候,能够使网络有正确、有效的QoS保障。