学位论文 > 优秀研究生学位论文题录展示

基于FPGA技术的嵌入式双协议栈的设计与实现

作 者: 陈健
导 师: 贾智平
学 校: 山东大学
专 业: 计算机系统结构
关键词: IPv6 嵌入式 IPv4/IPv6双协议栈 FPGA加速
分类号: TP393.04
类 型: 硕士论文
年 份: 2012年
下 载: 70次
引 用: 0次
阅 读: 论文下载
 

内容摘要


随着嵌入式系统与网络的日益结合,具备网络通信能力的嵌入式设备已成为必不可少的需求。IPv4地址空间的严重不足,已不能满足数目庞大的嵌入式设备,能够支持下一代因特网的嵌入式设备已成为嵌入式领域重要的趋势之一。虽然IPv6必然会取代IPv4,但是IPv4互联网已具有相当规模和广泛的应用程序,因此从IPv4到IPv6仍需要一段过渡时期。而在这一段过渡时期,需要解决IPv4与IPv6网络互联的问题。互联网工程任务组提出了三大类解决方法:隧道技术、双协议栈技术、网络地址转换和协议转换技术,其中双协议栈技术是所有的主机和路由器同时运行IPv4和IPv6协议栈,这种技术被认为是过渡时期解决IPv4网络和IPv6网络互联最彻底、最简单有效的方法。随着嵌入式设备硬件性能的不断提升,以及应用程序对实时性要求的不断提升,可以对嵌入式设备的协议解析过程进行加速。在IPv6协议的解析过程中,会经常涉及字段检查、查表等操作,因此如果能将该些操作固化到硬件中,将能大幅度提高协议解析速度。直接将该系列操作固化并在协议解析过程中用来验证速度的提升存在一定的难度,但是可以通过FPGA来验证加速的效果。本文设计并实现了一个适用于嵌入式设备的精简嵌入式IPv6协议栈。该协议栈与流行的嵌入式协议栈--LwIP采用了相同的架构,根据RFC相关标准将协议栈分成应用层、传输层、网络层和链路层。在协议栈内容上,按照IETF制定的相关标准来实现,因此能够应用于现实的网络中。考虑到IPv6协议的复杂度和嵌入式设备的资源限制,本文在实现时,对IPv6功能进行了部分裁剪。裁剪后的协议栈实现了的IPv6协议的基本功能,如地址配置、数据包收发、路由器请求、错误处理等;另一方面,整个协议栈在代码量和运行消耗内存上,都能满足嵌入式设备的资源限制。考虑到对IPv4的支持,本文将自身实现的IPv6协议栈与LwIP融合成一个IPv4/IPv6双协议栈。融合后的双协议栈拥有共同的API层、TCP层以及网络接口层,而在网络层则存在有两套不同的协议。这种架构能够使融合后的双栈在代码量上保持精简。在融合过程中,充分考虑模块化和独立化,不仅能够使IPv4和IPv6互不干扰,而且可以通过关闭预编译的方式来退化成一个单协议栈。虽然针对协议的部分功能进行了裁剪,但是对资源有限的嵌入式设备来说,解析IPv6协议仍然需要花费大量系统时间。本文针对IPv6协议中的几个常用过程,用Verilog语言来描述成硬件可以识别的过程,并且采用FPGA技术来进行验证。实验证明单独模块或者过程的硬件加速是明显的,但是由于技术和时间的限制,没有将这些加速的模块连到整体的协议解析过程中,但相信这种硬件加速方式对提高嵌入式网络设备处理速度的效果是明显的。

全文目录


摘要  8-10
ABSTRACT  10-12
第1章 绪论  12-19
  1.1 课题研究背景和意义  12-13
  1.2 相关工作和研究现状  13-16
    1.2.1 IPv6协议  13-14
    1.2.2 嵌入式协议栈的现状  14-15
    1.2.3 基于FPGA的网络协议加速  15-16
  1.3 主要工作安排及章节安排  16-19
    1.3.1 本文的主要工作  16-17
    1.3.2 本文的章节安排  17-19
第2章 IPv6协议详解  19-30
  2.1 IPv6协议简介  19-20
    2.1.1 IPv6提出背景  19-20
  2.2 IPv6协议簇框架  20
  2.3 协议主要内容  20-29
    2.3.1 编址体系结构  20-22
    2.3.2 基本报头的格式  22-24
    2.3.3 地址选择过程  24-25
    2.3.4 邻居发现协议  25-28
    2.3.5 因特网控制报文协议—ICMPv6  28-29
  2.4 小结  29-30
第3章 嵌入式IPv6协议栈的设计与实现  30-45
  3.1 设计目标和假设  30-31
  3.2 协议栈的裁剪  31-32
  3.3 具体实现  32-42
    3.3.1 模块划分  32-33
    3.3.2 基本数据结构  33-36
    3.3.3 接口抽象  36-37
    3.3.4 协议栈主要流程  37-42
  3.4 实现结果  42-44
  3.5 本章小结  44-45
第4章 嵌入式IPv4/IPv6双协议栈的设计与实现  45-58
  4.1 双协议栈的设计目标  45-46
  4.2 双栈的实现过程  46-53
    4.2.1 双协议栈架构  47-49
    4.2.2 双栈地址  49-50
    4.2.3 统一的接口抽象  50-53
  4.3 实现结果  53-56
  4.4 本章小结  56-58
第5章 协议解析过程的硬件加速  58-67
  5.1 现有的网络硬件加速方案---NetFPGA  58-60
  5.2 协议栈的过程分析  60-63
  5.3 加速的过程  63-66
  5.4 本章小结  66-67
第6章 总结与未来工作  67-70
  6.1 全文总结  67-68
  6.2 课题展望  68-70
参考文献  70-73
致谢  73-74
攻读学位期间发表的学术论文目录  74-75
攻读学位期间参与科研项目及获奖情况  75-76
学位论文评阅及答辩情况表  76

相似论文

  1. 基于WinCE平台的故障分析仪应用程序设计与开发,TP311.52
  2. 汽车的电动助力转向系统,U463.4
  3. 卫星网络中移动IP路由选择的研究,TN929.5
  4. 面向软件的故障注入工具的研究与实现,TP311.52
  5. 基于ARM9的Windows CE系统移植,TP316.7
  6. 基于嵌入式图像处理单元的运动目标跟踪系统研究,TP391.41
  7. 面向嵌入式超声检测系统的图形接口设计与应用,TP274.53
  8. 多线阵CCD视觉测量系统的数据采集与处理,TP274.2
  9. LXI-VXI适配器研制,TP274
  10. 高性能恒温晶体振荡器温度控制系统的研究,TN752
  11. 扩招后全日制硕士研究生思想政治教育问题研究,G643.1
  12. 基于TCP/IP协议的嵌入式图像传输系统接收终端的设计,TP368.1
  13. 嵌入式中医经脉理疗仪的研究,R197.39
  14. 数字电视中间件中图形界面引擎的研究与应用,TP391.41
  15. 碳纳米管复合修饰物电极及其在电分析化学中的应用,O657.1
  16. 基于windows xp嵌入式系统的心电检测分析仪,R197.39
  17. 网络传输中的ROI图像编码算法研究,TN919.81
  18. 基于嵌入式系统钻孔成像装置的研究,P634.3
  19. 智能割草机嵌入式控制技术的研究,TU986.32
  20. 液冷源控制系统的研制,TP273
  21. 嵌入式透地通信系统平台设计,TN914

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机的应用 > 计算机网络 > 一般性问题 > 通信规程、通信协议
© 2012 www.xueweilunwen.com