将嵌入式IPv6协议栈模块化

网络 网络管理
本文主要介绍了嵌入式IPv6协议栈的基本内容。首先我们了解一下有关于它的设计思想,之后对它的模块化设计进行了深入的讲解。

手机大家都不陌生,其中,它的芯片并不是真正的计算机芯片,但是却是可以理解为是一种计算机芯片的裁剪版。这也就是嵌入式思想的简单认识。那么加入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协议栈的单片机系统,以及进行简单的控制和管理操作。#p#

嵌入式IPv6协议栈的分层与模块化设计

嵌入式IPv6协议栈采用分层结构进行没计,将整个协议栈(包括TCP及上层应用)分为4个层次:事件触发接口层、TCP/IP网络协议层、NIC网络接口核心层和网络设备驱动接口层。

各层的功能简述如下:

①事件触发接口层。该层对应于TCP/IP模型的应用层协议(OSI模型的高层协议),主要功能是定义网络数据的格式以及网络的应用。

②TCP/IP网络协议层。该层对应于TCP/IP模型的传输层协议和网络层协议(OSI模型的3、4两层),主要功能是定义数据如何传输到目的地的。使用TCP协议在两台主机之间建立端到端的连接,保证可靠的传输;IP协议进行路由选择和基于IP的寻址。

③NIC网络接口核心层。该层是整个网络接口的关键部位,其上层是具体的网络协议,下层是驱动程序。它为上层提供统一的发送接口,屏蔽各种各样的物理介质;同时负责把来自下层的包向合适的协议发送。

④网络设备驱动接口层。该层是分层结构的最底层,其主要功能是控制具体物理介质,从物理介质接收和发送数据,并对物理介质进行诸如最大数据包之类的各种设置。

结合对嵌入式IPv6协议栈设计要求和分层结构的全面分析,将设计实现划分为4个模块。
各模块的功能简述如下:

①网络接口核心模块。该模块为网络协议提供统一的发送接口,屏蔽各种各样的物理介质;同时负责把来自下层的包向合适的协议配送。

②事件接口模块。嵌入式IPv6协议栈没有采用BSD套接口,而是采用了事件驱动接口。当特定TCP/IP事件发生时,将调用应用程序;而当应用程序产生输出数据时,也通过此接口发送出去。

③SNMP网管模块。该模块负责获取IPv6无线传感器网络节点的相关MIB信息。

④配置最示调试命令模块。该模块用于提供用户配置和调试的界面,包括配置IP地址、子网掩码、默认网关和MAC地址等。在程序正常运行前,由超级终端进入配置模式,由用户进行配置管理。

基于IPv6 over IEEE802.15.4的无线传感器网络是一门新兴的网络技术,人们对它的研究尚处于起步阶段。本文针对基于IPv6 over IEEE802.15.4无线传感器网络自身特点,对其关键技术嵌入式IPv6协议栈进行了分析。笔者认为,现有的IPv6协议栈虽然在功能、性能等方面具有很大优势,但由于代码体积较大(几MB~几百MB),而无线传感器网络节点的存储资源只有不到200KB,因而无法运行在计算能力和存储资源受限的无线传感器网络节点中。所以在设计适合传感器节点的嵌入式IPv6协议栈时,应充分分析和研究无线传感器网络对IPv6提出的新要求,考虑在性能和资源之间寻找一个折中的方案,充分运用协议工程学理论和软件工程的方法,设计一种合理、高效的嵌入式IPv6微型协议栈。这对推动无线传感器网络和IPv6的发展,以及改变人们的生活和上作方式,具有十分重要的意义。

责任编辑:佟健 来源: hi.baidu
相关推荐

2010-09-09 16:42:18

嵌入式IPv6协议栈

2010-06-09 11:20:15

嵌入式IPv6协议栈

2010-05-26 13:57:22

IPv6协议

2010-05-26 13:58:58

IPv6协议栈

2010-06-21 15:18:19

IPv6协议栈

2010-05-26 14:06:22

IPv6协议栈

2010-06-02 10:34:47

IPv6协议栈

2010-05-26 14:12:06

IPv6协议

2010-06-02 10:57:40

IPv6协议网络

2010-06-08 17:30:56

IPv6协议栈

2010-05-26 14:56:05

IPv6协议栈

2010-05-26 15:06:44

IPv6协议栈

2011-11-08 15:40:47

LwIP协议栈嵌入式

2019-06-05 15:43:34

IPV6IPV4网站

2020-10-15 10:54:31

安全漏洞微软

2010-05-26 14:49:06

IPv6协议栈

2010-05-26 15:23:00

IPv6协议栈

2010-06-07 16:58:51

linuxIPv6协议栈

2019-01-04 11:27:26

IPv6双协议栈组播

2010-05-26 14:02:02

Mobile IPv6
点赞
收藏

51CTO技术栈公众号