第5章6LoWPAN技术.ppt
- 文档编号:18756052
- 上传时间:2023-10-30
- 格式:PPT
- 页数:78
- 大小:7.49MB
第5章6LoWPAN技术.ppt
《第5章6LoWPAN技术.ppt》由会员分享,可在线阅读,更多相关《第5章6LoWPAN技术.ppt(78页珍藏版)》请在冰点文库上搜索。
无线传感器网络技术及应用,第5章6LoWPAN技术,主要内容6LoWPAN技术的发展6LoWPAN网络核心协议轻量级IPv6无线传感网协议栈6LoWPAN传感网设备开发平台6LoWPAN无线传感网系统实验,5.16LoWPAN技术的发展,IETF在2005年成立了6LoWPAN工作组制定适用于IPv6的低功耗、无线Mesh网络标准。
6LoWPAN旨在IEEE802.15.4的网络中传输IPv6报文,但是底层标准并不局限于IEEE802.15.4标准,也支持其他的链路层标准。
与6LoWPAN相关的IETF工作组的主要研究内容,5.16LoWPAN技术的发展,6LoWPAN具有以下技术优势:
地址空间方面,6LoWPAN网络基于IPv6地址,拥有广阔的地址空间,可以满足海量节点的部署需要。
网络互联方面,6LoWPAN网络为每个设备配置了IP地址,可以方便地与其他基于IP的网络互联,构建异构网络,实现互相通信。
重用和基础验证方面,IP网络可以保证6LoWPAN重用其他IP网络的设施和IP调试、诊断工具,并且IP技术已经稳定运行多年,为6LoWPAN标准提供了基础验证。
标准开放性方面,6LoWPAN是IETF制定的开放标准,应用广泛,全世界的开发人员都可以为其改进和完善而努力,为其快速发展、完善提供了保障。
5.26LoWPAN网络核心协议,适配层协议为了在基于IEEE802.15.4底层的无线传感器网络中实现IPv6数据的有效传输,解决两种技术的差异性,6LoWPAN适配层协议主要定义了分片重组、IPv6报头压缩以及路由转发三种机制。
适配层还具备子网组建与管理、地址分配、组播支持等功能。
5.26LoWPAN网络核心协议,报文格式典型的LoWPAN封装头栈,5.26LoWPAN网络核心协议,适配层头部封装共定义了四种类型的LoWPAN头部:
Mesh寻址头部:
用于支持数据在适配层进行路由转发广播头部:
用于对广播数据或者多播数据提供支持分片头部:
用于数据的分片和重组IPv6压缩头部:
用于IPv6报文头部压缩使用头部的首字节作为头部类型说明字段(Dispatch值)以区分标识不同的LoWPAN头。
5.26LoWPAN网络核心协议,分片和重组IPv6标准RFC2460规定所使用底层链路的最大传输单元MTU至少为1280字节。
IEEE802.15.4标准报文的最大长度仅为127字节,其最大MAC报头长度为25字节,MAC层所提供的payload可能只有102字节。
若MAC帧使用安全机制,将进一步减小负载长度。
必须在适配层中引入分片重组机制,将超过MAC层payload长度的IPv6报文分割成多个较小的报文,再递交给IEEE802.15.4MAC层传输,并在接收端重组恢复为完整的IPv6报文。
5.26LoWPAN网络核心协议,6LoWPAN分片重组流程图适配层对分片报文的格式进行了定义,包括数据报大小、数据报标签和数据报偏移量三个域。
5.26LoWPAN网络核心协议,标准IPv6报文头部格式,5.26LoWPAN网络核心协议,IPv6报头压缩数据报头部过长会造成大量分片的产生,将导致传输的效率非常低,增加了通信的负担和节点的能量消耗。
有必要在适配层对IPv6报文的固定头部进行适当压缩,从而提高数据的传输效率。
RFC6282提出了压缩效率更高的LOWPAN_IPHC压缩算法,来弥补和代替LOWPAN_HC1的不足之处。
LOWPAN_IPHC可以支持有状态和无状态压缩。
5.26LoWPAN网络核心协议,LOWPAN_IPHC基本的帧格式如图IPHC格式的前三位“011”用于表示为IPHC压缩算法TF域表示IPv6头部中优先级和流标签的压缩NH位用于判断下一头部是否压缩,如果NH位值为1,则采用NHC压缩算法对下一头部进行压缩。
HLIM域用于压缩IPv6头部的跳数限制字段CID位用于表示IPv6地址是否适用基于环境的压缩方法,如果该位为1,IPv6压缩头部后需带有SCI和DCI字段SAC和DAC位表示源地址以及目的地址是否使用基于状态的压缩。
SAM和DAM表示源地址和目的地址的模式。
M位表示目的地址是否为多播地址,5.26LoWPAN网络核心协议,TF的压缩方式HLIM的压缩方式,5.26LoWPAN网络核心协议,路由协议6LoWPAN路由分为两大类:
Mesh-under:
依靠Mesh头在适配层进行路由转发工作Route-over:
依靠IPv6头在网络层进行路由转发工作。
5.26LoWPAN网络核心协议,Router-over路由方式在网络层进行路由选择和转发,适配层不参与。
中间节点对转发数据的IPv6报头进行解析。
节点的每一跳对应一跳IP链路,因此分片数据每转发一次就要重组一次。
Router-over是全IP化网络,因此可以较为容易地使用IPv6技术保障数据的安全性和服务质量。
5.26LoWPAN网络核心协议,RPL路由协议RPL专为低功耗有损网络设计,目标对象是使用了IP技术的智能物件,由IETFROLL工作组负责制定。
LLN特点:
低带宽、有损耗、低功耗RPL工作在IP层,遵循IP架构,但其并未限定特定的链路层,可以工作在多种链路层上。
5.26LoWPAN网络核心协议,RPL传输模式RPL支持三种基本的数据传输模式:
多点到点,Multipoint-to-Point(MP2P)点到多点,Point-to-Multipoint(P2MP)点到点,Point-to-Point(P2P)方法:
通过节点间构造DODAG来实现为MP2P构造上行到DAG根节点的路径为P2MP构造从DAG根节点出发的下行路径通过DAG检查和避免路由环路通过上行、下行之间的转换支持P2P,5.26LoWPAN网络核心协议,DODAGRPL指定了如何在一个LLN中构造DODAG的过程。
DODAG在构造时需确定一个目标函数,使用一系列的度量和约束(metrics/constraints)中的一个节点在同一时刻能够参与和加入多个graph,每个graph称为一个RPL实例DODAG的构造过程由根节点或LoWPAN边界路由器发起。
为了实现DODAG的构造,RPL基于ICMPv6,新增加了如下三条控制消息:
DIS:
(DODAGInformationSolicitation)DIO:
(DODAGInformationObject)DAO:
(DODAGDestinationAdvertisementObject),5.26LoWPAN网络核心协议,DODAG拓扑建立的过程,5.26LoWPAN网络核心协议,DODAG上行构造过程根节点利用DIO消息广播DODAG的信息;根节点的邻居节点收到DIO后,根据一定的准则,决定是否加入这个DODAG,这些准则包括:
目标函数、DAG特性、各种自定义的本地策略等当某个邻居节点加入所广播的DODAG后,它就建立了一条到达DODAG根节点的路径。
根节点被称为该节点的“父节点”,这种通信模式称为MP2P,也称为上行路由。
如果新加入图的节点类型是路由器,它将向自己的邻居节点继续广播包含DODAG信息的DIO消息。
如果新加入图的节点是“叶子节点”,则只是完成入网动作,不广播DIO消息。
邻居节点不断重复上述广播和加入动作,直至到达网络的所有叶子节点。
5.26LoWPAN网络核心协议,DIS的用法DIS消息用于节点主动向邻居节点中的路由器请求DODAG图的信息。
路由器收到DIS后,会回复DIO消息。
DIS主要在稳定的环境中使用,例如DODAG已基本形成后,节点由于某种原因想再次获取图信息时,可主动发送DIS消息。
5.26LoWPAN网络核心协议,DODAG下行构造过程下行路由与上行路由相反,由根节点到达叶子节点或上级节点到达下级节点下行路由的构造通过DAO消息来完成。
每个节点加入DODAG后,在网络发起上行路径构造指令后,将发送DAO消息到它的父节点。
DAO消息中含有前缀、前缀的有效时间等信息,用于表征节点所在前缀的可达性。
当一个节点收到DAO消息后,将对前缀信息进行处理,并在路由表中添加路由表项。
然后将该前缀信息进一步通过DAO上传给自己的父节点。
一个节点也可以将收到的前缀可达性信息进行汇集后,再发给自己的父节点前缀上传过程一直进行,直至前缀信息到达父节点。
每个节点都完成前缀上传后,整个网络将建立起一个从根节点到达所有叶子节点的下行路由图。
下行路由也称为P2MP,5.26LoWPAN网络核心协议,点到点通信RPL也支持DODAG中的P2P通信模式。
当LLN中的一个源节点发送数据包到目标节点时,该数据包将首先沿着“上行”路由到达源节点与目标节点共同的祖先节点,然后再从祖先节点处转为向下传输,通过“下行”路由到达目标节点。
IETFROLL工作组设计了专门的标准对P2P通信进行优化。
5.26LoWPAN网络核心协议,路由中的环路问题在路由协议中,需要尽量避免在MESH图中生成环路。
如果生成了环路,则应该能够有效检测到环路并及时进行处理。
传统路由协议中,环路的产生一般是由于网络拓扑发生变化,或节点之间发生了同步问题。
环路出现后,需要尽快的检测处理,否则会导致数据包拥塞和超时丢弃,同时需采用各种优化机制来避免环路的出现。
在LLN中,环路的发生经常是临时的,而且由于LLN一般速率较低,环的影响比传统网络要小,所以网络对环路应该适当反应。
如果过度反应,可能会引起路由的振荡,浪费额外的能量来进行控制报文交互。
5.26LoWPAN网络核心协议,Rank每个新加入图的节点需根据Metric和目标函数,用一定方法计算与该图根节点之间的Rank值。
Rank用于表示DODAG中某个节点的相对位置,即该节点与根节点之间相对距离的值。
Rank主要用于环避免。
RPL并没有指定Rank的计算方法,其具体计算由目标函数及相应的策略决定,但需要满足相对位置的性质。
5.26LoWPAN网络核心协议,环路的避免策略RPL采用两种策略避免环的出现,这些方法都用到rank值。
策略1:
最大深度策略策略2:
一个节点在邻居中选择父节点时,不能选择rank值比它自己的rank值大一定程度的节点,即rank值超过node-rank+max_depth的节点,不能选择作为父节点。
至于超过多少深度才不能选择(max_depth的大小),由根节点确定。
这种策略主要是防止选比自己还深的节点作为父节点,一个节点不能过度贪婪(greedy),不能为了增加父节点数,而移动自己在图中的深度,使深度值加大。
5.26LoWPAN网络核心协议,路由的修复路由的修复是任何路由协议都需关注的核心特性。
在RPL中,当节点或链路失效时,需要对图进行修复。
RPL需避免由于临时短暂的失效而导致过大的修复开销。
RPL中定义了两种修复方法:
局部修复:
当一个节点发现其链路或邻居节点失效,并且在上行路径上没有其它路由器可供中转时,将启动局部修复过程。
该节点会快速寻找一个备用的父节点。
全局修复:
对图进行整体的重建,全局修复只能由根节点发起,开销比较大。
每个节点都会参与到修复过程中。
5.26LoWPAN网络核心协议,Mesh-under路由适配层是基于MAC地址进行路由转发,需要知道数据路由的最终目的地址以及源地址,由于IEEE802.15.4MAC帧头部的目的地址仅能表示下一跳节点的地址,无法表示路由最终节点的目的地址,因此6LoWPAN适配层引入Mesh寻址头部,以支持适配层的多跳路由工作。
Mesh-under方式的路由协议主要包括按需路由协议和分层路由协议两大类,5.26LoWPAN网络核心协议,Mesh寻址头消息格式如下Mesh寻址头中每个字段的含义:
1,0:
Mesh寻址头部的Dispatch类型值V:
表示Originatoraddress的类型,值为0代表使用EUI-64地址,值为1代表使用16位短地址。
F:
表示Finaladdress的类型,值为0代表使用EUI-64地址,值为1代表使用16位短地址。
HopsLeft:
剩余跳数。
表示Mesh数据在子网内所能经过的最大跳数,每转发一次该值减1。
Originatoraddress:
Mesh路由源地址。
为64位MAC长地址或者16位短地址。
Finaladdress:
Mesh路由最终目的地址。
为64位MAC长地址或者16位短地址。
5.26LoWPAN网络核心协议,路由机制比较,5.26LoWPAN网络核心协议,邻居发现协议标准的IPv6邻居发现协议不适用于无线传感器网络。
6LoWPAN改进与优化:
取消基于组播的地址解析机制取消重定向机制;采用节点主动更新RA消息中信息的机制,去除了路由器周期性发送RA消息允许节点休眠增加了三种分别用于地址注册机制、头部压缩信息传递机制、前缀和头部压缩信息多跳分配机制的新选项两个用于重复地址检测的ICMPv6报文类型,5.26LoWPAN网络核心协议,6LoWPAN新增选项和消息,5.26LoWPAN网络核心协议,地址注册机制6LoWPAN的地址解析过程不再采用多播NS报文实现,而是利用邻居缓存表实现。
在注册生存期到期前,单播发送带有ARO的NS消息给默认路由器。
地址注册过程如下:
5.26LoWPAN网络核心协议,邻居不可达检测当节点上邻居不可达检测指出一个或者多个默认路由器变为不可达时,节点删除路由器在默认路由器缓存中的对应表项,使用组播RS消息发现一个新的默认路由器集合;当邻居不可达检测指出一个节点变为不可达时,路由器保留节点在邻居缓存中对应表项直至注册生存期到期。
5.26LoWPAN网络核心协议,无状态地址自动配置如果RA的M标志位为0,则表示节点自动配置地址,并执行重复地址检测。
重复地址检测在节点向路由器进行地址注册过程中NS消息和NA消息的交互期间,通过路由器与边界路由器交互DAR消息和DAC消息实现。
6LoWPAN邻居发现的无状态地址自动配置过程如图示。
5.26LoWPAN网络核心协议,CoAP协议基于REST架构的面向受限IP网络设计的应用层标准传输层采用UDP协议,位于应用层之下。
应用层逻辑结构,CoAP协议从逻辑上把应用层划分为:
报文控制层:
负责数据的异步传输控制。
请求/响应交互层:
为应用程序提供功能支持,为报文控制层提供数据服务。
应用程序是为了满足用户需求而设计并实现的功能程序的集合,位于应用层之上。
5.26LoWPAN网络核心协议,统一资源标识符CoAP使用“coap”和“coaps”URI机制来指示和定位资源。
资源存放在COAP服务器上,按层次进行组织。
Coaps是带安全机制的URI方案。
CoAPURI的语法符合统一资源定位符的通用语法格式。
coap-URI:
coap:
/host:
portpath-abempty?
query例如,coap:
/aaaa:
1147:
00ff:
fe00:
169a:
61619/.well-known/coreCOAP默认端口号:
5683,5.26LoWPAN网络核心协议,报文类型CoAP协议定义了可靠报文(CON)、非可靠报文(NON)、确认报文(ACK)和重置报文(RST)四种类型的报文。
下述交互过程的交互模型为“普通请求/响应交互模型”:
当CON类型的报文作为请求时,客户端要求服务器返回响应。
当NON类型的报文作为请求时,客户端不要求服务器返回响应当服务器收到NON类型的请求但是操作失败时,可以根据失败原因发送ACK类型的响应描述失败的原因,也可以发送CON类型或RST类型的空报文要求客户端重新发送。
5.26LoWPAN网络核心协议,报文代号CoAP协议定义了GET、POST、PUT、DELETE四种操作方法,以及一系列操作结果的描述代号,被填充在报文代号域。
报文代号域的填充形式为无符号整型,在浏览器中显示时需要转换为代号形式,以增强可读性。
报文代号域的前3个比特的值等于代号表示形式的整数位,后5个比特的值等于代号表示形式的小数位。
5.26LoWPAN网络核心协议,报文格式CoAP协议规定的报文格式如图,5.26LoWPAN网络核心协议,功能介绍
(1)GET功能GET方法用于资源发现、资源读取和资源观察。
(2)POST功能POST方法用于资源创建与资源更新。
(3)PUT功能PUT方法用于资源创建或资源更新。
(4)DELETE功能DELETE方法用于资源删除,,5.3轻量级IPv6无线传感网协议栈,协议栈体系结构,5.3轻量级IPv6无线传感网协议栈,应用层实现面向具体应用的应用协议。
在本层可采用CoAP、XMPP等适用于传感网的应用层协议。
传输层实现无连接占用资源少的UDP协议。
完成UDP报文的封装解析、UDP连接的建立和销毁。
网络层功能为IPv6报文的封装解析、邻居发现、路由器发现和地址解析等。
适配层的功能包括IPv6报文的分片重组、报文的压缩解压缩和无状态地址配置等。
MAC层和物理采用802.15.4规范,负责节点的入网、获取16位段地址和数据的收发等功能。
5.3轻量级IPv6无线传感网协议栈,协议栈设计要求要求设计的IPv6协议栈实现IPv6所有核心协议中所规定的全部功能要求实现的IPv6协议栈通过国际认可的IPv6ReadyPhase-2阶段的测试认证要求设计的传感网IPv6协议栈实现适配层协议所规定的全部功能。
要求协议栈运行过程中占用的RAM和ROM等资源尽可能地少要求协议栈在设计上独立于特定的硬件平台为了满足上述设计要求,需重点突破如下关键技术:
协议栈的标准化问题协议栈的小型化问题协议栈的模块化问题,5.3轻量级IPv6无线传感网协议栈,协议栈整体方案设计,IPv6协议栈的每层都具有独立的主状态机和接收状态机。
每层当中除具备主状态机和接收状态机外,还分别向上层协议和下层协议提供独立的交互接口:
DoService和RxHandoff。
无线传感器网络IPv6协议栈总体设计方案如图所示,5.3轻量级IPv6无线传感网协议栈,协议栈应用层设计应用层状态机分为应用层主状态机、应用层接收状态机、应用层发送状态机。
应用层主状态机之间的状态转换图,5.3轻量级IPv6无线传感网协议栈,协议栈传输层设计传输层状态机的状态转移图,5.3轻量级IPv6无线传感网协议栈,协议栈网络层设计网络层发送数据流程,5.3轻量级IPv6无线传感网协议栈,网络层主状态机网络层接收状态机负责网络层数据的接收,网络层主状态机设定六个状态,分别为:
(1)空闲状态(NWK_STATE_IDLE);
(2)命令态(NWK_STATE_CMD_START);(3)下一跳确定态(NWK_STATE_NEXT_HOP_START);(4)地址解析态(NWK_STATE_ADDR_RESOL_START);(5)通用发送等待态(NWK_START_GENERIC_TX_WAIT);(6)分片发送等待态(NWK_START_FRAG_TX_WAIT)。
适配层接收状态机适配层接收状态机负责适配层数据的接收、数据的解压缩及分片数据的重组操作,网络层接收状态机设定五个状态,分别为:
(1)空闲状态(ADAPT_RXSTATE_IDLE);
(2)开始接收态(ADAPT_RXSTATE_START);(3)递交态(ADAPT_RXSTATE_IPV6_HANDOFF);(4)重组态(ADAPT_RXSTATE_REASS);(5)解压缩态(ADAPT_RXSTATE_UNCOMPRESS),5.3轻量级IPv6无线传感网协议栈,5.46LoWPAN传感网设备开发平台,6LoWPAN传感网设备开发平台总体设计功能设计基于IPv6协议的便携式多功能传感网设备开发平台同时具有IEEE802.15.4网关、边界路由设备和Sniffer抓包器三种功能,具体功能可根据不同的应用场景进行选择。
基于IPv6协议的便携式多功能传感网设备开发平台双栈结构图如下:
5.46LoWPAN传感网设备开发平台,把6LoWPAN协议栈设计在一个具备USB接口的便携式物联网(IoT)设备上,而IPv6网络接口设计在Linux主机上,这样,边界路由设备既能作为物联网网关在本地使用,也能够与任意Linux主机结合,同时实现三种功能,如下图:
5.46LoWPAN传感网设备开发平台,6LoWPAN传感网设备开发平台硬件设计硬件总体结构主控制器模块需要具有标准USB接口来支持即插即用的功能,射频芯片一般通过SPI接口与主控制器模块连接。
主控制器模块获取无线模块传送过来的数据,通过USB接口上传给上位机。
5.46LoWPAN传感网设备开发平台,硬件电路设计电源电路设计调试电路电路设计最小系统电路设计USB接口射频模块接口,5.46LoWPAN传感网设备开发平台,6LoWPAN传感网设备开发平台软件设计基于IPv6协议的便携式多功能传感网设备开发平台主要选择IAREmbeddedWorkbenchforARM、SourceInsight、协议分析仪以及串口调试助手等软件作为软件开发环境。
Contiki操作系统开发平台Contiki平台是专门面向无线传感器网络的嵌入式操作系统开源,免费,可移植到多种平台C51,TIMSP430,AtmelAVR,CC2430,ARM支持多任务,采用低功耗设计具有TCP/IP等多种网络协议栈,支持ipv4和ipv6协议,5.46LoWPAN传感网设备开发平台,边界路由设备软件实现架构边界路由设备节点与6LoWPAN子网节点具备不同的功能。
因此,在Contiki协议栈中需要设计不同功能的进程来完成相应的功能。
协议栈架构如图所示:
5.46LoWPAN传感网设备开发平台,协议栈数据处理流程设计RPL路由协议工作实现流程6LoWPAN子网节点数据处理边界路由设备数据处理网络管理命令设计,管理命令实现流程如右图所示,5.46LoWPAN传感网设备开发平台,传感器节点应用程序设计本平台设计了两种传感器数据获取机制:
周期性汇报机制和查询机制在Contiki操作系统中,通过类似于UDP套接字的API函数来实现应用层数据的收发。
传感器节点的两种数据获取机制通过两个进程来实现:
udp_client_process和udp_cmd_process,这两个进程都设置为自启动方式运行。
5.46LoWPAN传感网设备开发平台,周期性汇报机制应用程序设计流程图,查询机制应用程序设计流程图,5.46LoWPAN传感网设备开发平台,LoWPAN传感网网络管理程序设计基于IPv6WSN边界路由设备需要与一台Linux主机配合以完成路由转发和远程数据服务功能,因此需要设计一个在Linux系统上运行的后台守护程序以完成USB设备驱动、数据中转、路由以及命令下发和上传等工作。
IoT设备的守护程序在Linux上开发,既能独立运行,也能配合上层界面完成IoT设备的驱动,工作模式的设定数据转发等功能;上层界面和Sniffer协议分析仪通过网络套接字能够远程登录守护程序,获取数据或者是对设备进行管理控制。
IoT设备在Linux内体现为虚拟串口(e.g./dev/ttyACM0)。
通过Linux内的tun内核模块创建一个虚拟的网络接口(e.g.tun0)。
利用tun0网络接口和USB虚拟的串行接口实现Linux与IoT之间通过SLIP协议传输网络数据。
5.46LoWPAN传感网设备开发平台,边界路由设备守护程序的设计框图如下,5.46LoWPAN传感网设备开发平台,上位机GUI软件设计后台界面基于Qt架构进行开发,具有跨平台、易移植的特点,并且后台界面能与IOT所连接的主机进行分离,支持远程管理功能。
GUI软件详细设计:
首页面数据显示页面实时曲线页面MAC层配置页面6LoWPAN配置页面RPL路由配置页面拓扑管理页面日志页面版本信息页面,5.46LoWPAN传感网设备开发平台,人机交互界面设计框架结构如图所示,5.56LoWPAN无线传感网系统实验,传感器节点实物图,5.5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LoWPAN 技术