IPv6协议栈在ARM平台的设计与移植

IPv6协议栈在ARM平台的设计与移植

ID:36849627

大小:257.97 KB

页数:4页

时间:2019-05-16

IPv6协议栈在ARM平台的设计与移植_第1页
IPv6协议栈在ARM平台的设计与移植_第2页
IPv6协议栈在ARM平台的设计与移植_第3页
IPv6协议栈在ARM平台的设计与移植_第4页
资源描述:

《IPv6协议栈在ARM平台的设计与移植》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·网络通讯及安全······本栏目责任编辑:冯■IPv6协议栈在ARM平台的设计与移植谢锡锋(广西水利电力职业技术学院电力工程系,广西南宁530023)摘要:首先介绍了嵌入式lPv6协议的数据处理流程.接着重点阐述了llh,'6的核心协议:IPv6协议,ICMPv6协议和邻居发现协议的设计。最后.介绍了嵌入式IPv6协议的移植方法。关键词:IPv6;ICMPv6;邻居发现协议中圈分类号:TP393文献标识码:A文章编号:1009-3044(2008)16--2121伽2TheDesignandTransplantationofIPv6BasedOilARMXIEXi·’feng(Depa

2、rtmentofPowerErlgineefillg,G啪gxiHydraulicand日ecmcPolytechnic,Nanning530023,CIlilna)Abstract:InthispapertheauthorfirstlyIntroducedthedatatechnologicalprocessofIPv6,andthendesignedthecoreProtocolofIPv6:IPv6,ICMPv6,Neighbordiscovery,finallytheauthorillmwatedthetramplantofIPv6.Keywords:IPv6;ICMPv6;Ne

3、ighbordiscovery随着网络的发展,在嵌入式操作系统中集成TCWIP协议栈,与系统相应的硬件配合,为嵌入式系统提供联网功能,己经成为嵌入式系统发展的重要方向。IPv6协议的新特性可以更好地满足嵌入式系统对联网功能的需求。在嵌入式系统中实现IPv6协议有着良好的应,fI前景。因此。研究嵌入式IPv6协议栈的设计与实现,具有重要的现实意义。1数据处理流程实现协议栈重要的一点是正确的处理数据流程。根据不同的条件进行协议栈状态的转换。图1显示了对收到IPv6数据包和发送IPv6数据包的处理流程。接收数据时,网络接口层将从网卡接收到的数据存到缓冲区.根据以太帧报头的类型字段判断以太类型.

4、若以太类型等于0x86DD.则为IPv6数据包,把IPv6数据包发送给协议栈输入处理模块。输入处理模块先做合法性检测(包括检查IP包的版本号是否为6。判断是否是本机的单播地址,是否是相应的组播地址,计算校验和是否为O,检查IPv6头部中的下一头部是否为ICMPv6或UDP)。若不合法就抛弃。同时向源地址发送的差错报文,若合法的话,那么根据IPv6报文中下头部的值。调用不同的处理函数。发送数据时,应用程序用UDP方式发送。按UDP报文格式封装数据包。然后把数据包传输到IP层.选择下一跳IP地址f下一个目的地址,在有路由的情况下,可能是路由的地址,本文不处理路由问题,所以下一跳IP地址即为目

5、标IP地址),然后,调用IPv6输出函数发送数据包。2n6模块的设计图1IPv6数据包处理流程IPv6模块主要包括两部分的功能,一是负责从网络接口层收取IPv6数据包.对数据包进行一定的处理后将数据包发送给不同的处理模块(UDP或ICMPv6)。二是从上层接收数据,进行报文的选路,封装IPv6报头后将数据包发送给网络接口层。IPv6功能主要由三个函数完成:初始化函数、输入函数和输出函数。2.1初始化函数初始化函数IPv6_init0的主要工作是初始化IPv6协议中各字段的参数,以及可能包含的协议的数目.例如:协议中的版本号、优先级、流标记、源IP地址、跳数限制等。该函数在应用初始化时被函

6、数网络底层函数lnitNic0调用。2.2接收函数接收函数LPv6_inputO通常要实现三个功能:对到达的分组进行验证;分组重装和向上层协议传递数据包。但是在本设计中只是实现了主要有两个功能:报文的合法性检测和向上层协议传递数据包。报文的合法性检测,包括检查版本号是否正确,收到的报文长度是否短于应有的长度,报文的目的地址是否本地地址等。向上层协议传递数据包,就是根据IPv6头部的下一头部字段,对报文进行分发,若下一头部长段为17时,则是UDP数据包,若下一头部长段为58时,则是ICMPv6数据包。如果是UDP数据包,则调用上层的UDP接收函数udp6.inputo:如果是ICMPv6报

7、文,则调用ICMPv6协议实现中的接收处理函数ICMPv6_input0。收稿日期:2008-03—15作者简介:谢锡锋(1979-),男,广西南宁人,助教,乓士研究生,研究方向为嵌入式技术。本栏目责任编辑:冯■······网络通讯及安全·2.3发送函数在发送数据时.函数IPv6_output0通常要从两处接收传送报文:IP转发模块和IP层之上的协议。由于系统没有考虑实现IP路由转发模块,所以,IPv6_output0只实现了被IC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。