论文部分内容阅读
RIP (Routing Information Protocol,路由信息协议)协议作为简单实用的路由协议,具有较低的带宽消耗,易于管理和维护等优点,广泛应用于中小型网络中。目前,众多网络设备供应商基于VxWorks系统对RIP协议进行了分析和支持,而VxWorks系统任务之间共享内存和其它资源,容易造成数据的安全性和可靠性面临威胁。同时VxWorks系统是收费系统,增加了设备供应商和网络运营商的成本。而Linux系统内存独立,线程间数据共享,可靠性高,而且具有开源性和免费性,因此在Linux平台上对RIP路由协议进行开发成为发展趋势。同时,为了提高RIP协议的可靠性,在分布式交换系统下实现RIP协议也势在必行。本课题在某通信公司的预研项目“RIP路由协议的多线程分析和实现”基础上开展。笔者参与该项目研发的整个过程,从总体方案设计、详细设计文档撰写、部分模块代码编写、系统测试到预研报告撰写。通过项目研发,对RIP路由协议进行了深入研究,结合分布式交换系统和多线程机制,完成了RIP路由协议的设计、实现、测试与分析。通过分析RIP路由协议目前的实现方案,阐明了在Linux下采用多线程机制实现RIP路由协议的优点。同时在分布式交换系统下,给出了一种支持分布式的RIP路由协议的多线程实现方案。本文首先以RFC1058和RFC2453为基础,对RIP路由协议进行了分析,介绍了RIP路由协议的工作算法、报文格式和运行机制。其次,结合分布式交换系统架构的特点,研究了协议对分布式的支持,提出了RIP协议的功能需求,对RIP协议进行总体设计和模块划分,并结合多线程技术,给出多线程实现方案和其运行机制。然后,在总体设计和模块划分的前提下,将RIP协议分为两大模块进行详细分析,通过流程图形式予以实现,并给出动态运行的交互信息。最后对设计系统的功能需求进行了理论分析,并在实际环境中对系统功能进行了测试与验证,同时进行了压力测试。分析测试结果表明,本论文设计的基于C语言的分布式交换系统中的RIP协议多线程实现方案可以有效的在高端分布式交换机上可靠的动态学习路由和处理外部事件。