论文部分内容阅读
现有网络体系结构的弊端使得网络虚拟化将会成为未来网络的主要发展方向,所以网络虚拟化也是当前网络研究的重点内容。网络虚拟化以路由器虚拟化为基础,路由器虚拟化中对于虚拟链路资源的隔离技术又尤为重要。而网络QoS的目的就是为了对不同数据流进行带宽资源分配,因此可以利用QoS的手段来实现虚拟链路资源的隔离。本文的研究内容就是基于QoS的虚拟链路资源隔离技术。在对上述技术进行深入研究之后,本文提出了一种支持虚拟链路资源隔离的QoS并行处理机制。为了获取更高的处理能力,路由器会使用多核网络处理器,本文中的QoS机制就是针对这一情况进行了特别优化。这一机制应用在一个控制核心与多个数据包处理核心并行工作的架构下,能够有效进行虚拟链路间带宽资源的分配与隔离,同时能够保证各条虚拟链路内的普通QoS需求,还可以在多核网络处理器上高效并行执行。对于QoS机制内部的关键算法,本文提出了应用于QoS入口阶段的基于多令牌缓冲区的令牌桶算法,以及应用于QoS出口阶段的基于优先级扩展的排队算法。基于多令牌缓冲区的令牌桶算法,其基本思想继承自传统令牌桶算法,但是又对传统令牌桶算法进行了大规模的改进创新。由于多核网络处理器的使用,如果采用传统令牌桶算法,多个核心同时访问令牌资源将产生互斥问题。这就造成每次访问令牌资源都要进行加解锁操作,限制了系统性能,降低了处理器利用率。而基于多令牌缓冲区的令牌桶算法采用令牌生成集中式控制、令牌资源分布式缓存的方法,将令牌资源分发到每个数据包处理核心的私有存储空间中,有效降低了令牌资源访问互斥情况发生的概率。因此,它能够在保证虚拟链路资源分配隔离的同时保证系统的高性能。基于优先级扩展的排队算法是针对传统路由器中仅8个优先级的排队算法的改进。为了支持虚拟链路的资源隔离,同时为了保证每条虚拟链路内的普通QoS需求,如果采用传统排队算法,受限于优先级数量,必须采用两级8优先级队列的排队结构。这就造成了排队结构复杂,优先级调度次数增加,系统时空效率很低。而基于优先级扩展的排队算法通过将优先级数目从8个扩展到多个,可以使优先级排队结构简化为一级多优先级队列,从而使优先级队列数量减少一半以上,调度次数降低为一次,在保证虚拟链路资源分配隔离的同时,节省了系统的内存空间和处理器资源。