论文部分内容阅读
电子科技大学新型网络实验室所提出的服务元网络体系结构是一种非层次的新型网络体系结构,它采用端到端的虚电路结构,从而可以预留资源,进而保证了网络服务质量,并且服务元只提供服务,不接受服务,所以避免了层间交互和服务传递的开销。美国麻省理工大学Eddie Kohler博士提出并由MIT计算机技术系并行与分布式操作系统实验室开发完成的Click路由系统根据数据报在路由器中受路由器各功能模块作用而引起的包内容或传输方向变化对路由器功能实施抽象,将各功能抽象成独立的组件即服务元。本文的设计正是在服务元网络体系结构的基础上,参考了Click路由系统完成的。论文主要论述了基于服务元网络体系结构的原型路由器(以下简称SU(Service Unit)路由器)及其实现。文中着重讨论了SU路由器中虚电路模块。在SU原型路由器的设计中,我们定义了包处理元,路由器由包处理元对象组织构成,其配置图是一个由包处理元对象沿数据包流向连接而成的有向图。路由器的软件架构分为配置程序和包处理元软件模块两部分,配置程序在初始化时将多个包处理元对象按配置图组织,从而可以根据不同的需要灵活构建各种类型的网络节点。虚电路模块实现的功能是创建虚电路表,处理虚电路管理包和数据包。包括虚电路管理包的转发和对虚电路表节点的建立、删除等;还有对于数据包的转发处理;同时实现对网络的流量控制。文中详述了虚电路模块的设计思想、类数据结构、函数流程、函数功能等。本文在linux 2.2.18内核下,采用面向对象的思想,用C++程序开发语言对SU原型路由器中虚电路模块进行了设计,进而用C++语言进行内核模块编程实现其功能。论文取材于电子科技大学纵向项目XXXX创新基金,由于编程实现基于服务元网络体系结构的SU路由器原型是前人没有做过的,我们在整个过程中不可避免的遇到了较多难题,但是通过我们对已有技术的借鉴,各位老师的悉心指导,项目成员的积极讨论,这些问题都得到了解决。测试结果证明了SU原型路由器能正确地进行数据转发,也能达到规定的转发速率、丢包率等性能指标。并且SU原型路由器的设计与实现通过了项目阶段性验收。文末对目前工作进行了总结并提出了下一步工作的建议。