您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 通信设备8561117287
淮阴工学院课程学期论文课程名称:通信设备(自学)选题名称:一种新型IPv6路由器系(院):计算机工程系专业:通信工程班级:通信1051姓名:张姆敏学号:1051302133指导教师:于永彦学年学期:2008~2009学年第1学期2008年12月19日摘要:传统路由器通常基于单个通用CPU,采用实时操作系统,CPU既要完成报文的转发还要运行路由协议和其他控制和管理协议。这种将控制和转发集成在一起的紧耦合结构导致对控制层面和转发层面的任何改动都会牵一发而动全身,致使路由器的扩展性和软件的移植性较差。转发与控制分离体系结构将路由器严格划分为控制和转发两个层面,具有开发成本低、系统可扩展性强、可靠性高等优点。文章介绍了一种基于转发与控制分离设计思想的互联网协议第六版(InternetProtocalVersion6,IPv6)路由器,给出了控制平面软件模块设计,包括路由子系统、内核协议栈、用户空间的应用级进程(OpenRouterMaster)、用户空间的代理级进程(OpenRouterAgent)等模块。关键词:IPv6路由器;控制与转发分离;体系结构目录1论文综述...............................................................................................................................12OPENROUTER总体框架...................................................................................................12.1系统体系结构...................................................................................................................12.2软件总体视图...................................................................................................................13路由子系统设计与实现.......................................................................................................24基于虚拟路由器模型的协议栈...........................................................................................34.1虚拟驱动程序...................................................................................................................34.2内核协议栈与用户进程的通信...........................................................................................45OPENROUTERMASTER....................................................................................................46OPENROUTERAGENT.......................................................................................................4总结...................................................................................................................................5参考文献.............................................................................................................................6《通信设备(自学)》课程学期论文11论文综述转发与控制分离体系结构(forwardingandcontrolelementseparating,ForCES)的关键思想是打破控制和转发紧耦合的集成方式,将路由器严格地划分为控制和转发两个层面。控制层面使用通用CPU负责路由的控制和计算,转发层面的每块转发板使用专用CPU(例如网络处理器)负责报文的转发,转发与控制各司其职,在提供高性能报文转发的同时保证了路由控制和计算的高可靠性。本文介绍一种基于ForCES思想的IPv6路由器——通用路由体系结构OpenRouter模型的设计与实现,着重介绍ForCES体系结构下OpenRouterIPv6路由器控制平面的设计与实现。2OpenRouter总体框架2.1系统体系结构OpenRouterIPv6路由器是国防科大计算机学院在自行研制的传统IPv4路由器结构基础上,开发研制的一款支持IPv6、采用转发与控制分离设计理念的新型路由器原型系统。系统继承了传统IPv4路由器的硬件与微码系统,修改微码,使其能够支持IPv6报文转发。所有有关IPv6的路由协议和控制报文的计算与处理不再由路由器内部的CPU完成,而是使用外接通用计算机处理,称之为路由服务器。整个OpenRouterIPv6路由器由路由服务器和传统路由器设备组成。作为转发平面的传统路由器设备功能包括:IPv6报文硬件转发;重定向目的报文到路由服务器;接收和响应来自路由服务器的控制报文,并转化为对被控路由器的操作执行;路由分离控制协议;主动向路由服务器报告异步事件。作为控制平面的路由服务器基于开源路由软件(GUIzebra),完成下列功能:IPv6控制协议(如路由协议、IPv6协议栈、邻居发现等);通用路由器抽象模型及控制接口;路由器分离控制协议;路由器用户界面。2.2软件总体视图所有和IPv6路由协议相关的处理,全部由外置的路由服务器IPv6系统完成,IPv6转发表同样由外部IPv6系统生成之后发送给设备的主控。在外置路由服务器和路由器的主控之间遵循标准的协议和接口。OpenRouter路由器控制软件划分为以下子系统:路由子系统;协议栈及路由设备《通信设备(自学)》课程学期论文2抽象;OpenRouterMaster;OpenRouterAgent和控制微码扩展;IPv6微码功能支持。3路由子系统设计与实现如图2-1所示,OpenRouter路由器的路由子系统在外置路由服务器上实现,系统采用开源的zebra软件为原型。有关IPv6协议栈功能借助了Linux操作系统现有的协议栈。Zebra是一个路由器的软件实现,如何实现软件控制、硬件转发,是OpenRouter路由器必须要解决的关键问题,也是集中体现转发与控制分离设计理念的地方。为实现路由器硬件转发,外置路由服务器系统必须为路由器设备提供:(1)接口地址添加、删除等更新信息;(2)转发表添加、删除等更新信息;(3)邻居表添加、删除等更新信息。图2-1OpenRouter路由子系统软件结构整个外置路由控制系统与硬件路由器设备的通信都是通过OpenRouter通信协议完成的。OpenRouter通信协议由外置主控方的OpenRouterMaster和硬件路由器设备方的OpenRouterAgent共同组成:二者之间分别建立数据通路和控制通路。数据通路用于重定向数据信息;控制通路用于重定向转发表、邻居表操作等控制信息。在zebra路由软件中,有关接口地址操作和转发表操作是在zebra进程中实现的。为把相关信息重定向到路由器硬件设备上,建立与OpenRouterMaster的通信连接,并由OpenRouterMaster把信息转发到硬件设备上。有关邻居表的维护是在Linux操作系统内核完成的。为获得邻居表的实时状态信息,笔者定时查询邻居表,监测其状态变化,并把邻居表的添加、删除、更新等信息通过OpernRouterMaster重定向到路由器硬件设备上。《通信设备(自学)》课程学期论文34基于虚拟路由器模型的协议栈内核协议栈需实现的功能包括:慢速路径的转发平面(TCP/IP协议栈);通用路由器的实现表示(如虚拟驱动程序);内核消息通信(内核与OpenRouter的接口规范)。4.1虚拟驱动程序外接的路由服务器负责IPv6路由协议和控制报文的处理,位于一台独立的PC上并通过以太网同路由器硬件平台连接。由于外接的控制服务器系统的协议栈之下没有具体的硬件设备,因此协议栈必须建立在一个虚拟的通用路由器设备之上。图3-1给出内核协议栈和虚拟通用路由器设备层次示意图。通过虚拟的通用路由器模型,可以使用户在外接路由服务器PC上的操作“感觉”就像真实作用在路由器硬件设备上一样。图3-1内核协议栈和虚拟通用路由器设备虚拟通用路由器设备的功能:1)动态反映真实路由器硬件设备的状态变化;2)把用户对虚拟设备的操作转化为对真实硬件设备的操作;3)通过与协议层和用户空间OpenRouterMaster的交互实现控制信息和IPv6报文的转发。虚拟通用路由器设备通过虚拟驱动程序在内核中为系统虚拟出真实路由器的硬件接口,虚拟接口通过内核消息通信模块与用户空间的OpenRouterMaster交互,获得真实硬件接口的状态以及转发报文和控制信息;通过与协议层的交互,接收控制信息的转发报文。本原型系统设计了5种类型的虚拟驱动程序,分别对应百兆以太网、千兆以太网、155兆POS、622兆POS和2.5吉POS接口。每种虚拟驱动程序各有14个驱动程序,编号为1~14,分别对应于路由器硬件设备相应槽口号的相应类型的网络接口板。这样通过动态加载、卸载驱动程序模块就可以满足对设备热插拔的要求。《通信设备(自学)》课程学期论文44.2内核协议栈与用户进程的通信路由服务器同路由器硬件平台之间的通信是通过在用户空间建立的TCP连接来实现的。为了实现协议栈报文到驱动程序的重定向就必须依靠内核协议栈和用户进程的通信。在本原型系统中,虚拟驱动程序位于Linux内核空间,与之交互的OpenRouterMaster位于用户空间。因此为了完成控制信息和IPv6报文的转发,就必须解决好内核空间与用户空间的通信问题。综合考虑了多种通信策略,结合本系统的实际情况,采用为内核增加一套新的系统调用的方式来满足内核与用户空间通信的需要。5OpenRouterMasterOpenRouterMaster负责实现基本的控制报文重定向、数据报文重定向、通用控制协议过程实现、协议报文的编码、IPv6控制配置分发(路由表分发,邻接表分发)、路由器异步事件报告。在现有程序设计中,OpenRouterMaster是zebra、neigh、OpenRouterAgent以及协议栈内核的通信枢纽。它负责如下功能:(1)zebra模块与OpenRouterAgentcontrol通路的双向数据通信;(2)邻居发现监测模块与OpenRouterAgentcontrol通路的双向数据通信;(3)从协议栈内核读取数据,写向OpenRouterAgentData通路,采用定时轮询方式读取协议栈内核数据;(4)从OpenRouterAgentData通路读取数据,写给协议栈内核。采用select调用方式读取OpenRouterAgentData通路的数据由于OpenRouterMaster在Linux系统中负责协调调度来自3方(zeb
本文标题:通信设备8561117287
链接地址:https://www.777doc.com/doc-323364 .html