首页> 中文学位 >基于NetFPGA的可编程路由器数据平面的设计与实现
【6h】

基于NetFPGA的可编程路由器数据平面的设计与实现

代理获取

目录

声明

摘要

插图和附表清单

第一章 绪论

1.1 研究背景及意义

1.2 国内外研究现状

1.3 主要工作和贡献

1.4 论文组织结构

第二章 可编程路由器技术现状分析

2.1 可编程路由器体系结构

2.2 NetFPGA开发平台

2.2.1 NetFPGA核心通路

2.2.2 模块添加方法

2.3 虚拟化技术

2.3.1 虚拟化技术概述

2.3.2 OpenVZ

2.4 Linux系统编程技术

2.4.1内核中的网络编程

2.4.2 OpenVZ内核构建方法

2.4.3 网络过滤器NetFilter

2.4.4 虚拟网卡技术TUN/TAP

2.4.5 可编程路由器实现技术

2.5 本章小结

第三章 基于NetFPGA的可编程路由器总体设计

3.1 系统需求分析

3.2 可编程路由器系统结构

3.3 可编程路由器功能结构

3.3.1 数据平面

3.3.2 控制平面

3.3.3 管理平面

3.4 要解决的关键问题

3.5 本章小结

第四章 可编程路由器数据平面的设计与实现

4.1 数据平面整体设计

4.2 硬件部分的设计与实现

4.2.1 用户数据通路UDP虚拟化设计

4.2.2 dispatcher模块的实现

4.2.3 flow_monitor模块的设计

4.2.4 flow_monitor模块的实现

4.3 软件部分的设计与实现

4.3.1 设计思路

4.3.2 NF2捕获与封装模块

4.3.3 NF2转发模块

4.3.4 网卡虚拟模块

4.3.5 数据包分发模块

4.3.6 数据包发送模块

4.3.7 上层信息接收模块

4.4 本章小结

第五章 测试与验证

5.1 测试环境

5.1.1 主机硬件配置

5.1.2 网络参数配置

5.2 测试内容及结果分析

5.2.1 模块测试

5.2.2 功能测试

5.2.3 性能测试

5.3 本章小结

第六章 总结与展望

6.1 工作总结

6.2 下一步工作

致谢

参考文献

附录A:攻硕期间从事的科研工作及取得的研究成果

展开▼

摘要

互联网经过四十多年的发展,已经从面向学术的科研网络演变为推动社会经济发展的基础设施,但互联网在移动性、可扩展性、安全性上都逐渐暴露出了问题,由此引发了未来网络研究的热潮。未来互联网的体系结构、算法协议、关键技术是否可行,必须进行大量的实验来验证,但由于当前基于IP的网络设备的封闭性,无法承担这项任务。目前可编程路由器是主流的面向未来网络的网络设备概念,但还没有成熟的可编程路由器产品,因此必须研发可编程路由器,并据此构建未来网络试验床。
   本文参与开发的可编程路由器,整体上划分为控制平面和数据平面,本文负责数据平面的设计与实现,主要完成了以下工作:
   (1)设计并实现了一种数据平面与控制平面的通信方法。传统路由器的路由计算和数据包转发是在同一个硬件系统里完成,由于采用了控制平面与数据平面相分离的思想,这样为两个平面间的通信带来困难,本文设计并实现了一种隧道方式的传输子系统,将NetFPGA与控制平面交互的数据包进行IP封装,并且不考虑这些需要传输数据包的内容,在Linux内核中开辟了一条NetFPGA与虚拟路由器进行通信的通道,保证数据包传输的高效性,提供了对未来多种协议的支持,并减低了延迟时间。
   (2)设计了一种在NetFPGA中添加新协议的方法。本文设计的可编程路由器的硬件部分基于NetFPGA,具有良好的可编程性,但目前只支持一种协议,本文设计了一种对NetFPGA中用户数据通路进行虚拟化的方法,可以根据不同的数据包类型选择不同的处理流水线,从而使得一块NetFPGA板卡可以支持多种协议的处理,板卡的资源也得到了充分的利用。当前斯坦福参考例程功能过于简单,本文实现了流量统计功能,能够统计当前中数据包网络层和传输层的信息,增强了IPv4路由器的功能。
   通过测试可以得出,本文设计的数据平面可以正确的完成转发任务,同时可以与控制平面正常通信,在充分保证转发性能的情况下,增加了整个系统的灵活性。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号