欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

嵌入式IPv6协议栈的设计与实现

时间:2011-04-23  作者:秩名

论文导读:由于嵌入式系统的广泛使用和网络互联的需要,嵌入式Internet是当前研究的热点。IPv6属于IPng(下一代网络协议)技术,IPv6解决了IPv4耗竭的问题,与之相比还有扩展性好,安全性高,更好地支持QoS,支持移动性等优点。本文实现了一个裁剪于LwIP协议栈的可运行于嵌入式实时系统μC/OS-Ⅱ上的嵌入式IPv6协议栈。
关键词:嵌入式系统,IPv6,IPng,μC/OS-Ⅱ
 

0 引 言

由于嵌入式系统的广泛使用和网络互联的需要,嵌入式Internet是当前研究的热点。采用嵌入式协议栈的直接连接方式是解决嵌入式Internet问题的一个比较好的方案。IPv6属于IPng(下一代网络协议)技术,IPv6解决了IPv4耗竭的问题,与之相比还有扩展性好,安全性高,更好地支持QoS,支持移动性等优点。现在的Internet也处在由IPv4向IPv6过渡的时期。因此在嵌入式系统中实现IPv6功能具有重要的现实意义。虽然目前在商用系统和Linux操作系统中已经有了对IPv6功能的支持,但由于系统成本或代码体积的原因,并不能满足所有嵌入式应用的要求。本文实现了一个裁剪于LwIP协议栈的可运行于嵌入式实时系统μC/OS-Ⅱ上的嵌入式IPv6协议栈。

1嵌入式协议栈的特点

由于嵌入式系统的硬件和软件资源有限,因此需要对通用的TCP/IP协议栈进行必要的修改以满足嵌入式应用的特殊需求。一般说来,嵌入式协议栈具有以下几个特点[1]:

1.1可裁剪性

由于嵌入式应用的要求不同,其对网络功能的要求也各不相同,而且嵌入式系统对产品的成本、功耗等比较敏感,因此嵌入式协议栈应该是可裁剪的,能根据嵌入式系统的功能要求选择所需的协议部分。

1.2实时性

传统的TCP/IP协议栈的层次特性非常明显,每个协议层都有相应的数据格式。在用户数据从本地主机传送至目标主机的过程中,需要不断地打包和拆包,增加了系统开销,降低了系统性能。在嵌入式TCP/IP网络系统中,普遍采用共享内存方式解决这个问题。这是指协议栈没有用于各层数据传递的缓冲区,各层间传递的都是数据指针。只有当数据最终要被驱动程序发送出去(最低层)或是被应用程序取走时(最高层)时,才进行真正的数据传递移出。

1.3可扩展性

由于嵌入式系统的多样性,使得网络接口和应用多样化,这就要求嵌入式TCP/IP协议栈提供便于扩展有网络接口,方便不同驱动程序和网络应用的开发;并且根据实际的需要,可以添加新的协议模块到嵌入式TCP/IP协议栈中。

1.4使用静态分配技术

如果在网络发送或接收的过程中,某一次传送的数据超过了一个物理网络上能够传送的最大数据量(MTU),则处理该数据的任务往往会阻塞,直到上层重新调整需要处理的数据量的大小,它才会继续执行。嵌入式TCP/IP协议栈通常采用静态分配技术,在网络初始化时就静态分配通信缓冲区,设置了专门的发送和接收缓冲区,并硬性规定这个区的大小一般小于或等于物理网络上的MTU值,从而确保每次发送或接收时处理的数据不会超过MTU值,避免阻塞等待,提高网络效率。

2嵌入式协议栈的裁剪

相对于IPv4而言,IPv6协议栈最大的变化在网络层,网络层包括IPv6和ICMPv6两个协议。网络层协议的变化必然会影响到TCP/IP层次结构的其他层协议,因此在设计嵌入式IPv6协议栈时,不光要对网络层的协议重点研究,对其下层和上层协议的影响也不容忽视。如图1所示[2]。

图1 嵌入式IPv6协议与传统TCP/IP协议各层比较

LwIP是瑞典计算机科学院(Swedish Instituteof Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LwIP的主要目的是减少存储器利用量和代码尺寸,使LwIP适合应用于小的、资源有限的处理器,如嵌入式系统。当前最新的LwIP版本是1.3.0,可以经由Internet自由下载。该版本提供了对IPv6格式帧的简单支持,即可以使用IPv4和IPv6的两种帧结构,但对IPv6其他功能的支持有限。因为本文以LwIP协议栈为基础,针对IPv6协议的标准和原理,对其功能和结构进行裁剪,实现一个嵌入式IPv6协议栈[3]。

对IPv6的要求和嵌入式系统的特点,对LwIP协议栈中各个协议进行源代码的修改,开发的精简的嵌入式IPv6协议栈结构如图2所示。

图2 嵌入式IPv6协议栈实现结构图

嵌入式IPv6协议栈与IPv4协议栈最大的变化在IP层,由于IP报头的变化,影响到ICMP、ND、TCP、UDP等协议,都需要进行相应修改[4]。

2.1 IP层

协议栈实现了IP层的基本功能,对数据包的发送,接收和转发,不发送或接收分割的IP碎片,也不处理带IP选项的包。这是因为嵌入式系统中数据量比较小,可以规定在网络中发送的数据包的大小,这样就可以尽量的减少IP碎片的产生,也不需要进行分片和重组。

(1)IPv6报头

IPv6报头的结构体定义如下:

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:浅议医院网络安全的隐患及其防治策略(图文)
下一篇论文:嵌入式系统开发平台化浅析
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文