论文部分内容阅读
高端路由器作为骨干网络节点的核心设备之一,其软件系统的开放性与通用性已成为设计的普遍需求。本文结合国家863项目“高性能IPv6路由器基础平台及实验系统”,分析了高性能路由器支撑软件体系结构的发展动向,深入研究了支撑软件的设计原理与实现方案,提出了支撑软件体系结构设计方案——硬件抽象层,研究了其在IPv6路由器中实现的关键技术,并设计了测试方案。功能分析结果表明,硬件抽象层的实现,解决了高性能路由器分布式体系结构的通用性、开放性和扩展性问题,其测试结果满足IPv6路由器的性能需求。 本文主要包括以下几方面内容: 1.回顾了高性能路由器体系结构的演进过程,总结出高性能路由器具有分布式体系结构、多种服务功能、多样化的实现方式以及通用的基础平台等特点。指出设计一种可扩展的且不依赖于硬件具体实现方式的软件体系结构,构建开放通用性强的路由器软件平台,是高性能路由器支撑软件的设计目标。 2.提出了硬件抽象层的概念和设计思想,这是对高性能路由器支撑软件体系结构的解决方案。硬件抽象层共分为内部通信模块、虚拟驱动模块和设备管理模块三部分。其中,内部通信模块位于硬件抽象层的底部,用于屏蔽路由器在硬件上的分布式结构;虚拟驱动模块和设备管理模块都在内部通信模块上层,前者抽象线路接口单元的收发包动作及接口状态,后者管理控制从处理单元的工作状态。 3.研究了硬件抽象层在Linux系统下实现过程中的关键技术,主要分为整体运行机制、实时性保证、可用性保证和可靠性保证几个方面。硬件抽象层的整体运行机制以阻塞式建链、轮询式查表为突出特点。实时性保证通过“基于分隔符的TCP实时传输方法”、“基于地址映射的内核态与用户态间的阻塞式数据交换机制”两个关键技术来实现。可用性保证包括“内部通信具备良好的流量控制机制”、“基于Keepalive探测的异常情况通告”和“虚拟驱动的动态加载模式”几个机制。可靠性保证主要体现在内部通信模块的可靠性上。 4.针对我们在高性能IPv6路由器中设计实现的硬件抽象层进行了性能测试和功能分析。从测试结果可以看出,在不同网络负载下,包的平均传输延迟和丢包率都处于很低的水平,完全可以满足高性能路由器在效率、可靠性方面的需求。