将嵌入式IPv6协议栈模块化(1)


手机大家都不陌生,其中,它的芯片并不是真正的计算机芯片,但是却是可以理解为是一种计算机芯片的裁剪版。这也就是嵌入式思想的简单认识。那么加入IPv6协议栈的技术,将两者有效结合起来的设计就是我们几天讨论的话题。

嵌入式IPv6协议栈的设计思想

嵌入式系统的IPv6微型协议栈,直接面对硬件,没有一个多任务操作系统平台;MCU中的程序结构一般是顺序执行和硬件中断相配合的方式,与高级操作系统中多线程并发执行的方式截然不同。因为单片机上系统的各种资源是有限的,例如CPU的处理速度、字长,RAM、ROM存储器的容量以及接口的数量等与通用计算机相比有很大差距,所以如何使协议栈做到精细、通信可靠、功能相对完善,而且又能发挥单片机的特点成为IPv6微型协议栈设计的关键问题。“微型化”思想主要体现在设计方案核心应着眼于设计体积小,但又不影响运行的协议栈,所以要对协议栈的裁剪方面进行深入研究,去掉不必要的组件、传统的复杂调度机制和额外的扩展功能,甚至可以去除操作系统等。

综合研究以上多方面因素,提出了能够适用于无线传感器网络的嵌入式IPv6微型协议栈的设计要求。

①协议栈运行于单片机系统上,具有较强的兼容性。可以在以太网上正确运行,同时在此基础上可以借助IEEE802.15.4 MAC的无线数据传输功能来传送数据包。

②实现IPv6基本协议栈核心协议的最基本功能、包括IPv6基本描述协议、ND(邻居发现)协议、ICMPv6(因特网控制报文)协议和IPv6地址的自动配置协议等。

IPv6基本描述协议:IPv6数据包的发送、接收、处理等基本功能。

ND(邻居发现)协议:邻居发现的地址解析功能,实现邻居请求和邻居通告。

ICMPv6(因特网控制报文)协议:主要实现控制报文的消息处理,以及对网络诊断功能的回应请求和回应答复。

IPv6地址自动配置协议:根据IPv6地址格式的要求,主要实现IPv6链路本地地址的配置和请求节点多播地址的配置。

③利用对校验和字段的汁算与处理来提高ICMPv6、TCP等协议运行的正确性。

④实现简单的应用层协议(如TELNET/SNMP协议),利用远程终端可以登录到运行嵌入式IPv6协议栈的单片机系统,以及进行简单的控制和管理操作。


相关内容