论文部分内容阅读
随着网络技术和嵌入式技术的发展,传统TCP/IP协议栈不能很好的适应嵌入式设备接入Internet的需求。一方面,传统TCP/IP协议栈对处理器的运算能力和存储能力要求比较高;另一方面,IPv4的地址空间即将要被耗尽,没有足够的地址分配给大量的嵌入式设备。为了解决上述问题,本文参照现有主流的TCP/IP协议栈的设计方法设计了一个精简的TCP/IPv6协议栈。该协议栈具有较低的复杂性、较快的运行效率以及较高的可移植性。 论文一共分为四个部分。 第一部分概括介绍了IPv4协议技术的不足、IPv6协议技术的新特性及IPv6协议技术在国内外的发展现状。在介绍了IPv6协议基础知识的基础上,重点阐述了IPv6的编址和IPv6基本报文的格式,重点阐述了ICMPv6协议和邻居发现协议技术。 第二部分介绍了ARM开发平台MC2410E-A的硬件组成,重点分析了它的Flash接口、SDRAM接口、以太网接口、实时时钟的特点。在此基础上,根据MC2410E-A的特点,通过修改uC/OS-Ⅱ中与操作系统相关部分的代码,设计了系统初始化程序,移植了uC/OS-Ⅱ实时操作系统。 第三部分提出了精简型IPv6协议栈的设计思想,根据这个思想设计了固定长度的缓冲区实现方案,在IPv6模块和TCP模块中精简协议栈的实施方案和I/O模式下的CS8900A驱动程序实现方案。详细设计了IPv6协议报头、ICMPv6协议报头和TCP协议报头。详细设计了CS8900A驱动程序模块,以太网的输入和输出处理模块、IPv6协议的输入和输出处理模块、ICMPv6协议回应应答和目的不可达报文处理模块、邻居发现协议模块、TCP协议的输入和输出处理模块。 第四部分设计并实现了一个小型的IPv6实验网,测试了协议栈的各个模块。