论文部分内容阅读
近年来,网络技术正得到飞速发展,与之同时得到快速发展的是网络试验床技术。由斯坦福大学提出的Openflow技术便是其中之一。Openflow是一种控制与转发相分离的网络结构,科研人员可以很方便的在Openflow网络上做实验来验证自己提出的方案是否正确。然而,由于Openflow网络从本质上讲是一种交换式的网络,它还不支持路由功能,所以现有的Openflow网络技术还无法满足对于规模更大的网络的需求和更加复杂的网络业务的需求。为了满足Openflow技术的进一步发展需求,必须解决Openflow网络中的路由问题。
为了在Openflow网络中实现路由功能,本文采取的思路是利用现有开源路由软件对动态路由协议进行处理,并开发控制器程序,将路由软件计算出的路由表转化为Openflow流表,如此便能实现对数据包的正确选路。本文引入了Click模块化路由器对路由做出支持,并且开发了一个用在Click模块化路由器内部的Openflow构件元素,该构件元素能够发挥与通用Openflow交换机一样的功能,其作用是根据流表转发数据包到下一跳。另外,为了实现对动态路由协议的支持,本文采用了XORP对路由协议进行处理并由该模块计算路由表。除了上述内容,作者在NOX控制器之上开发了一个路由控制应用,来对整个网络中的路由信息进行管理。该路由控制应用的主要作用为将XORP计算出的路由表内容转化为符合Openflow规范的流表,并将流表插入到Click模块化路由器中的0penflow构件元素中。
这种将Click模块化路由器与Openflow构件元素想结合的做法相当于让Openflow交换机具备了处理路由协议的功能,并且路由功能的最终体现方式是由路由控制应用下发到Openflow构件元素中的流表项。有了流表项,数据包便能根据流表项的规则得到正确的转发。
论文首先介绍了本课题的研究背景、意义及主要内容,概述与系统相关的技术背景,其中包括Openflow技术、IP路由技术以及现有的开源路由软件。之后,论文对Openflow网络中的路由功能进行了需求分析,并提出了“基于Click的Openflow路由机制”的概要设计,综述了该路由机制的整体架构及模块组成,详细阐述了该机制各组件的设计方案。之后对系统各组件的功能实现进行了详细的介绍,并利用实验网络对该路由机制进行了测试。论文最后提出了针对该路由机制的下一步的优化工作方案及工作计划。