论文部分内容阅读
物联网引起全世界的广泛关注以来,终端数量持续上升,逐渐成为上百亿个终端的市场,其丰富的应用和大量节点数给网络运营带来了技术上的挑战。而以IPv6为核心的下一代通信网络体系结构所带来的巨大的地址空间和端到端通信特性则为物联网的发展创造了良好的基础网络通信条件。 本文要在基于FPGA(Field Progammable Gate Array,现场可编程门阵列)的SOPC(System on Programmable Chip,可编程片上系统)开发平台上设计并实现轻量级的IPv6协议栈。 首先本文在深入分析IPv6技术的基础上,针对物联网中嵌入式设备联接IPv6网络的需求,对IPv6标准协议栈实施裁剪,在保证基本通信功能的前提下,使裁剪后得到的IPv6协议栈轻量简单。针对嵌入式系统存储空间有限,而嵌入式网络数据传输需要较多存储空间的矛盾,在分析当前开源嵌入式TCP/IP协议栈存储管理设计特点的基础上,为轻量级IPv6协议栈设计了一种独特的进程模型与高效的内存管理和数据包缓冲区管理机制,减少数据包在协议栈中层间传输时不必要的内存拷贝操作。同时为了便于移植到其他嵌入式操作系统平台上,为其设计了操作系统模拟层,移植时只需要修改操作系统模拟层即可。 接下来为了在基于FPGA的SOPC平台上实现轻量级IPv6协议栈,通过研究基于Xilinx MicroBlaze软处理器的可编程嵌入式系统设计技术,在EDK(EmbeddedDevelopment Kit,嵌入式开发套件)软件中构建了协议栈的硬件和软件系统,在嵌入式操作系统Xilkernel上开发轻量级IPv6协议栈,对构建的系统进行了存储器和外围设备及Xilkernel多线程程序测试。 最后,在构建的协议栈系统上实现精简优化处理后的轻量级IPv6协议栈,主要实现IPv6协议、ICMPv6协议、邻居发现协议和UDP协议,给出了各个协议报文的接收发送处理流程、主要数据结构设计和关键函数的实现。并构建了以太网测试环境对实现的轻量级IPv6协议栈进行网络连通性测试。 本文设计与实现的轻量级IPv6协议栈不仅满足了物联网中嵌入式设备接入IPv6网络的需求,而且具有代码容量小巧,运行时占用RAM空间少,功能精简,可移植性强等适合嵌入式系统网络通信的特性,助力IPv6技术在物联网中的应用。