论文部分内容阅读
数十年来,互联网在快速发展的同时,也暴露出许多问题。研究者们针对这些问题提出了很多解决方案。然而提出的解决方案需要在大规模真实网络或真实网络模拟环境中实验才能判断是否有效,但现有的真实网络环境即互联网无法全面支持这些大规模创新实验。因此,大多数解决方案只能采取在真实网络模拟环境中实验的方法。对于这种现状,构建有效的网络实验平台来验证这些解决方案就具有十分重要的意义。而软件定义网络针对这一问题被提出,而OpenFlow协议技术有被认为是其中最有价值的技术。OpenFlow的思想是分离控制平面和数据平面,二者之间使用标准的协议通信;数据平面采用基于流的方式进行转发。OpenFlow网络由OpenFlow交换机和控制器通过安全通道组成。该技术的本质是将交换机的控制功能集中起来,由控制器进行操控,而交换机只负责数据转发。本课题主要研究的内容为OpenFlow交换机中的流表设计和实现。流表是OpenFlow交换机进行转发策略控制的核心数据结构。本文设计并实现了基于OpenFlow协议的流表系统,主要目的就是驱动交换机实现对OpenFlow技术的支持。本文设计的系统纵向从上到下分为接口层、功能层、适配层和硬件解析层。接口层是平台和流表系统的接口。功能层实现了流表处理、组播处理、Miss规则处理、统计处理和状态设置功能。适配层实现访问控制列表操作和计数器功能,给予功能层功能的支持。硬件解析层是系统和硬件层的接口。四个层次合在一起驱动交换机实现了对OpenFlow协议白皮书给出的功能的支持。系统经过功能测试和性能测试,保证了可用性和健壮性,实现了对于支持OpenFlow技术的交换机的驱动。