论文部分内容阅读
随着网络规模和复杂性不断增加,互联网体系结构正面临着重大理论挑战。路由器的处理能力逐渐难适应用户网络之间流量不断增大的要求,需要对路由器不断的进行升级才能满足这种日趋增大的流量。但是对于路由器而言,一般路由器的瓶颈在于转发引擎的处理速率而不在于端口速率。也就是说路由器的板卡接口速率往往大于路由器的转发引擎的处理能力,很有可能由于路由器的转发能力不够而引起路由器的端口拥塞。此时,可以利用现有的多台路由器组成一个分布式路由器系统,让多台路由器共享转发引擎资源,从而充分利用现有的设备资源。本文依次从软件平台、负载模型、负载均衡等方面展开研究。针对分布式路由系统之间的流量均衡问题,用排队论的理论分析了适合分布式路由器的负载均衡算法,提出一种基于各个子卡路由器空闲负载能力的动态负载均衡算法,使得各子卡路由器之间能够尽可能的分享自身的转发能力,使得参与分布式路由器系统的各个路由器能发挥最大的利用率。为了满足快速增长的网络需求,本文提出了一种分布式软件路由器的结构,该结构可以为异构平台上路由器管理和应用程序提供统一的抽象环境,将不同的路由器组合为有机的整体。本文从转发平台和应用程序接口两个方面对系统平台进行了详细的论述,并提出了设计和实现的方案。同时,在linux环境下搭建运行了基于Click的模块化分布式软件路由器原型系统,并获得了较好的转发性能。针对同一个子卡路由器转发到其它子卡路由器中的数据流量能够尽可能的延时一致,实现各个流量之间的延时公平性,论文采用了DRR调度算法与VOQ调度算法结合使用的方式。通过引入计次传递机制,避免分布式路由器系统中可能出现长期得不到服务的数据包占用过多的系统资源现象。