版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于树型拓扑的ipv6协议的研究
0ipv6与无线传感网络的结合无线传感器网络(wsd)是集成信息采集、处理、控制和传输于一体的智能信息系统。它以小型传感器和无线低能耗通信设备为中心,结合了信息采集、处理、控制和传输等功能。其中的节点是一种微型嵌入式系统设备,集成了传感器和无线通信器件,可以完成上述功能。其中,数据的传输是最基本最重要的功能之一。IEEE802.15.4-2003标准定义了低速率数据传输的物理层和媒体访问控制层,具有复杂度低、成本低、功耗低的特点,特别适用于嵌入式系统和微处理器等领域,大量用于无线传感器网络节点中,是众多无线传感器网络的基础。将IPv6和无线传感网络技术结合是目前国内外一个较为热门的研究方向。IETF在2004年设立了6LowPAN协议工作组,专门对IPv6协议在IEEE802.15.4上的实现进行研究,其协议参考模型如图1所示。无线传感器网络节点的硬件资源极其稀少,并且要求功耗很低。所以在设计和实现节点上的IPv6协议栈时,需要在IP层和MAC之间加入一个适配层,提供合理的功能,以屏蔽底层硬件对于IP层的限制。同时,还需要根据无线传感网络的特点,对IPv6协议做适当的裁剪,优化IP层的实现,尽可能减少代码量和降低协议自身的通信流量。针对上述情况,本文合理地裁剪了IPv6协议,并且根据硬件资源的特点在代码的实现上做了有针对性的优化。1基于合适层的热设计无线传感器网络的拓扑结构直接影响适配层功能的设计和实现。综合各种因素,本文的无线传感器网络使用树形的拓扑结构,并采用特定动态地址分配方案为节点分配16位短MAC地址,如图2所示。其中的节点主要分为三种类型:PANcoordinator,commoncoordinator和enddevice。PANcoordinator是整棵树的根节点,是整个PAN的发起者,在启动时选择PAN的工作信道,设置好PAN的相关参数,接受子节点的加入并为其分配16位MAC地址。Commoncoordinator是树的中间节点,在启动时加入PAN,得到父节点分配的16位MAC地址,也能够接受子节点的加入并为其分配16位MAC地址。这两种节点都可以在适配层转发MAC层的报文。Enddevice是树的叶子节点,在启动时加入PAN,得到父节点分配的16位MAC地址,只能与父节点直接通信。任何节点在加入PAN时,尽可能选择通信时信道上能量消耗最小的父节点。随着子节点不停地加入PAN,通信连接逐渐形成一棵逻辑树。逻辑上相邻的节点可以直接通信,否则需要由共同的父节点转发。这种结构的主要优点在于节点的16位短MAC地址能够反映节点在拓扑中的位置,只要给定目的地址便可以计算出下一跳节点的地址,有效地简化了MAC层的路由,特别适用于无线传感器网络中。适配层是IPv6网络层和IEEE802.15.4MAC层间的一个中间层,向上提供网络协议栈对IEEE802.15.4媒体的访问支持,向下则控制LowPAN网络构建、拓扑及MAC层路由。主要功能有:1)网络拓扑管理。包括信道扫描、信道选择、启动PAN、加入或退出PAN以及为子节点分配16位短MAC地址等。2)MAC地址管理。使用自己管理并分配的16位短地址进行通信,可提高物理帧的有效负荷,可简化MAC层路由,可确保节点MAC地址的唯一性,避免重复地址探测的消耗。3)MAC层的路由。由于采用树形的拓扑结构和特定的地址分配算法,节点的16位短地址能够反映节点在拓扑中的位置,给出目的地址就能计算出下一跳节点的地址,有效地简化了地址解析和MAC路由。4)对IPv6报文的分片和重组。IEEE802.15.4的物理帧最长为127字节,需要在源节点对IPv6报文分片,并在目的节点或网关节点进行重组。5)对IPv6头部或上层头部的压缩和解压缩。无线发送一个字节与微处理器计算1000个字节所消耗的能量相当,对头部的压缩可以有效提高物理帧的有效负荷,降低收发器的能耗。6)支持组播。组播在IPv6协议中起着至关重要的作用,必不可少。有了上述的适配层功能,在一个树形拓扑的无线传感器网络中,从IP层来看,所有的节点在逻辑上都是“一跳”可达的,可以看作是一个IPv6的局域网络。网络中的通信节点可以分为两类,根节点是网关,其他的节点暂且称之为内部节点,因为在IP层上,MAC层的路由功能屏蔽了物理上不直接相连的差别。2ipv6协议剪切通过上面的分析,IPv6协议是可以架设在IEEE802.15.4MAC层之上的,中间由适配层来提供需要的服务接口。但是,如果完整实现IPv6协议,无线传感器网络中的节点很难满足代码空间和协议行为功耗的需求。下面通过对无线传感器网络的应用特点、节点的硬件特点以及具体协议行为的分析,对IPv6协议的裁剪提出合理的建议。这样做的主要原因是内部节点的硬件资源和能量非常有限,只要能保证协议行为能与正常的外部节点正常通信就行了。并且选择了树型的拓扑结构和合理的地址管理机制,为超轻量化的IP协议栈的设计和实现奠定了基础。由于根节点是网关,其硬件资源相对丰富,需要根据内网与外网的接口来设计,这里超轻量化的IPv6协议栈只适用于内部节点。2.1基于主机的地址存储方式RFC2461及RFC2462中的邻居发现协议定义了路由器发现、前缀与参数发现、地址解析、邻居不可达探测、重复地址探测和重定向等功能。这些功能主要是为了获取邻居的信息,以实现IP层的正确配置,并正确处理收到的或要发送的IP报文。通常,邻居发现协议为每个接口维护的信息有:1)邻居缓存表,存放一定数量的最近有流量的邻居记录,每条记录以一个邻居的在线单播地址为主键,并包含其链路层地址、是主机还是路由器的标志、一个等待完成地址解析的报文队列和用于邻居不可达探测的信息等,根据接收到的邻居通告报文创建或更新相应的记录。主要用于地址解析和邻居不可达探测。2)目的地址缓存表,存放一定数量的最近有流量的目的地址的记录,每条记录以目的地址为主键,包含要到达该目的地址节点的下一跳邻居的IP地址,并根据重定向信息来更新该记录。主要用于发送报文时,提高选择下一跳IP地址的效率。3)前缀列表,不通过路由器在链路上直接可达的IP地址范围的记录,从路由通告报文中得到,并包含一个表示该地址生命期的时钟值。主要用于地址自动配置和选择下一跳IP地址。4)默认路由器列表,可以转发报文的邻居路由器的记录,用于选择最优默认路由器。邻居发现协议在设计时优先考虑效率,需要维护完整的上述信息,邻居状态相当复杂,需要较多的代码空间和内存空间,并且不必担心能耗问题。而且,大部分功能的实现都需要IP组播的支持,当链路使用IEEE802.15.4时,需要依靠适配层进行广播泛洪来传递IPv6组播报文,这样在整个无线传感网络中传播的广播报文会造成节点大量的能量消耗。为了解决这些问题,需要根据实际情况对原协议的功能和协议行为进行选择和修改。根据无线传感器网络的特点,在保证协议行为能够正常实现的前提下,删除邻居表中的链路层地址信息,将邻居状态修改为可达和抑制两种状态,删除目的地址缓存表,删除重复地址探测和重定向功能,简化邻居不可达探测和地址解析。这样可以有效减少内存空间和代码空间,大幅度减少邻居协议的通信流量,达到有效降低能耗的效果。2.1.1目的节点的不可达探测保护通常,在IP层发送报文时,需要得到目的节点IP地址对应的MAC地址。如果在邻居表中没有目的节点相应的记录,或者有相应的记录但没有其MAC地址,就需要先缓存发送的报文,再调用地址解析程序,得到目的节点的MAC地址,同时更新邻居表。如果目的节点的不可达探测信息表明该邻居确实可达,发送报文。为了提高效率,不可达探测算法根据邻居的不可达探测信息来确定什么时间进行不可达探测,而不是在发送报文时才进行不可达探测。邻居状态的复杂性主要是由地址解析和提高其效率而造成的。1地址解析的一般过程内部节点发送报文时选择的下一跳对应的节点肯定是内部节点或网关节点的IEEE802.15.4接口。由内部节点的地址配置方法可知,IP地址的低16位与16位短MAC地址一致,不再需要通过通常的地址解析过程来获取目的节点的MAC地址,不再需要发送邻居恳求和邻居通告报文来进行通常的地址解析,可以避免地址解析时产生的大量组播流量和能耗。并且可以删除邻居表中的链路层地址信息。2抑制了现报的文献总量如果还采用邻居发现协议的邻居不可达探测,不仅要处理复杂的邻居状态,需要较多的代码空间和内存空间;而且当内部节点数量比较多时,用于邻居不可达探测的报文总量是很可观的,需要消耗节点大量的能耗。这对无线传感器网络的内部节点来说是无法承受的。将邻居的不可达探测信息中的可达性状态改为可达和抑制两种状态,并且默认邻居是可达的。将不可达探测算法修改为:在报文发送到目的地的过程中,如果发生MAC层路由失败,由MAC产生路由错误报文,发回源地址节点,源地址收到后将对应的邻居的可达性状态改为抑制,之后如果收到有该邻居的报文或在规定时间之后将该邻居的可达性状态改为可达。2.1.2传播完全自主的依据—前缀列表和默认路由器列表内部节点在成功加入网络后,如果收到路由器通告报文,从中获取前缀和参数信息,并配置IP地址,得到前缀列表和默认路由器表。内部节点在正常启动后不必马上发送组播的路由器恳求报文,而是延迟一定的时间。如果在这段时间内收到了路由器按一定规律发送的路由器通告报文,就能减少一个会洪泛到整个网络的组播路由器恳求报文的通信流量,降低相当可观的能耗。否则发送组播路由恳求报文,由于在地址解析时不再发送NS报文,所以不必携带源链路层地址(SLLA)选项,可减少报文长度,降低无线收发器的功耗。在无线传感器网络中,通常只有一个路由器,即用作网关的根节点,由它发送路由通告报文。内部节点收到路由通告报文后,得到默认路由器、前缀和参数等信息。这种情况下,全球范围地址的前缀通常只有一条,默认路由器也只有一个,不存在最优路由器的选择,也不需要重定向功能。在配置IP地址时,MAC地址采用父节点分配的16位短地址,将其映射为EUI-64地址和接口标识,这样接口标识在网络内部肯定不会重复,所以可以裁去重复地址探测的功能。2.1.3地址存储的选择目的地址缓存表的目的是提高下一跳的选择的效率。在内部节点上,由于只有一个默认路由器,实际也只有一项前缀,如果还使用目的地址缓存,不仅消耗内存空间和代码空间,而且选择下一跳的实际效率也得不到有效提高。所以可以考虑删除目的地址缓存表及其处理程序。2.2ipv6主要分类ICMPv6处理的报文有差错报文和信息报文两大类。根据对邻居发现协议的分析,实际上只需要路由器发现和前缀与参数发现功能对应的路由恳求报文和路由通告报文。另外为方便测试,响应收到的回显请求报文,但是不需要发送回显请求报文。所以内部节点实际需要处理的信息报文就只有三种:路由恳求报文、路由通告报文和响应回显请求报文。对差错报文的裁剪分析如下:1)目的地址不可达。有四种,第一种是无路由可达目的地址,由路由器的IP层产生,表示没有可达目的地址的路由表项。内部节点是IP层的主机类节点,不需要相关的处理。第二种是与管理上禁止的目的地址通信,内部节点是数据源,允许任何的节点来访问,不做相关处理。第三种是地址不可达,在不能解决IPv6目的地址与链路层地址的映射或某些类型的链路上的特定问题时,产生该类型的差错报文,地址解析已做简化处理,链路由适配层维护,也不需要相关的处理。第四种是端口号不可达,为简化实现,不做处理,由应用的实现来保证端口号的正确可达性。2)报文太大。与内部节点的通信报文长度都很小,一般地从几十个字节到几百个字节,比IPv6最小的最大传输单元1280字节小,不需要做相关处理。3)超时。有两种,第一种是报文在传输中超过跳数限制,由路由器产生,内部节点没有IP层上的路由器,不需要处理。第二种是IP层上重组分片超时未成功,与内部节点的通信报文长度都很小,不存在IP层上的分片和重组,不需要作处理。4)参数错误。如果节点处理一个报文时,在头部发现一个问题,不能完成报文的处理,必须丢弃该报文,并且发送一个这种类型的差错报文。这种错误发生的概率极少,通常是协议栈有问题才出现这种错误。为精简协议栈,不做处理,在发生上述错误时,直接丢弃该报文。2.3实现节点ip层分片IP层主要功能有:获取邻居信息,配置IP地址;分析处理接收到的报文的头部,并激活相应模块进一步处理;根据上层交来的IP报文的目的地址选择下一跳,交给数据链路层发送;对超过IPv6的最大传输单元的IP报文在源节点的IP层分片,在目的节点的IP层重组;实现认证加密等安全功能。通过上面对邻居发现协议和选择ICMPv6报文的分析及裁剪,在考虑到传输层的实现,IP层分析收到的IP报文,如果是支持的ICMPv6报文或上层协议(TCP或UDP)报文,调用相应的处理模块,否则丢弃该报文。无线传感器的应用中,与内部节点通信的应用主要目的是取得传感器上实际测试的应用数据,数据量通常很少,不会超过IPv6最小的最大传输单元1280字节,不存在分片和重组的可能,因而不需要实现分片和重组。安全功能的实现需要消耗较多的CPU和内存资源,在内部节点上的实现还需要进一步改进,而且IEEE802.15.4在MAC提供了可选的安全机制,所以不再在IP层实现安全功能。2.3.1伪单播地址的配置为节约代码空间和内存空间,根据需要对内部节点支持的地址作如下选择:需要用一个链路本地地址与网络内部节点之间进行通信,用一个全球地址与任意的支持IPv6的节点通信;邻居发现协议需要用到单播地址对应的恳求节点组播地址和链路本地范围所有节点的组播地址。单播地址对应的恳求节点地址由FF02:0:0:0:0:1:FF00::/104组播前缀和该单播地址的低24位构成,实质上是一个伪单播地址,用它来代替广播,就只有很少的邻居节点才会处理这种功能的邻居发现报文,与IPv4相比,减少了对邻居节点的干扰,提高了效率。其他地址不必支持,如环回地址通常是本机上的应用相互之间的通信,内部节点主要的应用是收集、发送数据,因而可以删去。不支持非邻居发现协议用的组播地址。这样内部节点支持的地址总数为5个。节点在正确加入某一个无线传感器网络后,初始化IP层,采用无状态地址自动配置方式配置地址。MAC地址采用父节点分配的16位短地址,将之映射为接口标识,与链路本地前缀合并,构成该节点的链路本地地址,并生成相应的恳求节点地址。因为16位短MAC地址是自己分配管理的,能够保证在网内是唯一的,不用进行重复地址探测。再配置上链路本地范围所有节点的组播地址。然后发送路由恳求报文,一旦收到相应的路由通告报文,根据其中的前缀配置信息,设置好全球地址。至此,无状态地址自动配置完成,并且除链路本地范围所有节点的组播地址外,所有地址的低16位与分配的16位短地址一致。2.3.2地址编码解析通常的路由算法是:首先在目的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62541-13:2025 EN-FR OPC Unified Architecture - Part 13: Aggregates
- 【正版授权】 IEC 62541-13:2025 RLV EN OPC Unified Architecture - Part 13: Aggregates
- 2025年大学植物生理(实操应用)试题及答案
- 蓝扁平风格演示
- 蓝天草地绿茵儿童踢足球培训班训练营
- 科技商务风探索元宇宙内容介绍
- 制药工艺用水培训
- 制胶安全培训课件
- 制定培训课件的目的
- 【初中 生物】营养器官的生长课件-2025-2026学年北师大版生物七年级上册
- 中华人民共和国农村集体经济组织法
- 药房与线上医疗服务平台协议书
- 河道水质提升治理施工方案
- 汽车配件供货协议书(2篇)
- 2024版强弱电安装合同范本
- 【案例】智慧旅游信息化建设方案
- 《数据库设计》课件
- 牵引供电计算专题(面向交流)
- 新员工入职背景调查表 (职员)
- 云计算环境下中小企业会计信息化建设问题
- 《材料性能学》课件-第四章 材料的断裂韧性
评论
0/150
提交评论