论文部分内容阅读
路由器是数据通信网络的核心,路由协议的好坏直接影响到通信的可靠性和稳定性。在路由器的实际开发过程中,每个路由器应遵照路由协议规范要求去实现,但在实际生产过程中,生产厂商是否遵循了协议规范要求需要通过具体测试去验证其协议实现一致性;当然也需要通过测试系统去验证其标称性能和真实性能是否一致。
要进行测试就必须有高效的测试系统支持,在研究生的学习期间,作者有幸参与了实验室与美国思博伦通信公司(Spirent)的合作项目,主要参与并负责路由协议测试系统的调研、分析、设计开发到最后的系统测试等工作。调研中发现,目前已有的路由协议测试系统大都是基于TTCN或者Tcl等过程性描述语言或者编译型的面向对象编程语言的,其造成的不足之处是整个测试系统的“动态扩展性”和“通用性”会受到一定程度的影响。针对这一问题,本文提出、设计并实现了一种基于Ruby语言的路由协议测试系统,其设计中采用了类似插件机制的思想,方便模块的动态扩充;在实现过程中,采用了大量模块化编程的思想。围绕这一主题,本文主要完成了如下工作:
(1)阅读路由协议相关的RFC文档,分析并归纳出路由协议的基本特点。
(2)分析和研究路由协议一致性测试,研究UIO一致性测试序列生成算法。
(3)分析和研究RFC2544中描述的路由性能测试指标,针对规范中的吞吐量测试和丢包率测试,设计并实现了一个时间复杂度为0(logn)的算法,提高了测试的执行效率。
(4)研究基于Ruby语言的路由协议测试系统应具有的通用特性,并且给出其系统框架和组织层次结构。
(5)设计并实现了基于Ruby语言的路由协议测试系统。
(6)将测试系统用于OSPFv3的一致性测试和性能测试,证明系统的可靠性和有效性。