数据信息的采集和传输是物联网的重要内容。从目前的应用来看,大部分数据传输依赖于无线网络。无线网络具有架设便利维护方便的优势。同时,无线网络也会受到外界条件的限制。本文通过对新型无线网络结构以及路由协议的研究和学习,提出一种改进的网络构建方案。通过将IPv6引入基于IEEE802.15.4的传感网,再结合基于IEEE 802.11s的承载网结合使用,一方面旨在解决当前物联网应用中遇到的覆盖范围不能扩展的问题;另一方面这种网络结构具有很大的灵活性,可以根据实际应用场景灵活调整。
1 IPv6的优势
IPv6是Internet Protocol Version 6的缩写,它是IETF(Internet Engineering Task Force,互联网工程任务组)设计的用于替代现行IPv4的下一代IP协议。到目前为止,IPv4已经使用了30多年。随着电子技术以及网络技术的发展,计算机网络已经遍布人们的日常生活,人们身边的每个设备都需要接入互联网,包括家用电器、传感器、汽车等。IPv4面临着越来越不容忽视的危机,地址匮乏是其中比较显著的一个。虽然目前有网络地址转换和无类别域间路由等技术可以有效延缓网络IP匮乏的问题,但是为了从根本上解决问题,互联网工程研究团队通过公布互联网标准规范(RFC 2640)的方式定义出台了IPv6。与IPv4相比,IPv6具有明显的优势:
⑴IPv6具有更大的地址空间。IPv6 地址长度为128位,地址空间是IPv4的296倍。
⑵IPv6使用更小的路由表;这大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
⑶IPv6增加了增强的组播(Multicast)支持以及对流的控制(Flow Control)。
⑷IPv6加入了对自动配置(Auto Configuration)的支持,使得管理更加方便和快捷。
⑸IPv6具有更高的安全性。在使用IPv6的网络中用户可以对网络层的数据进行加密并对IP报文进行校验。极大的增强了网络的安全性。
⑹IPv6允许协议进行扩充。
⑺更好的头部格式,简化和加速了路由选择过程。
⑻增加了一些新的选项来实现附加的功能。
2 无线自组网网络
基于IPv6的无线自组网分为传感网和承载网。
传感网由一些基于IEEE 802.15.4的低功耗无线自组网节点组成。802.15.4定义了物理层(PHY)和媒体接入控制层(MAC)标准,网络节点主要特征如下:
⑴低速率,对于2.4GHz、828MHz、915MHz3个频段分别对应250Kb/s、20Kb/s、40Kb/s 3种速率。
⑵低功耗,在待机模式下可使用2节干电池驱动6个月以上。
⑶低成本,一般采用硬件资源非常有限的低端嵌入式设备或者更小的特殊设备。
⑷短帧长,最大帧程度为127字节。
传感网节点携带各种传感器,最终目的是把传感器的数据发送到承载网络。如果这个节点能够直接和承载网的接入节点进行直接通信,就把数据直接发送给承载网的接入节点;如果这个节点没有在承载网接入节点的覆盖范围,就需要其他的节点进行数据转发,通过节点接力的方式发送给承载网的接入节点。这就要求传感网络中的每个节点既可以发送数据,又可以作为路由转发其他节点的数据。在构建网络的时候,节点与节点之间要相互覆盖,保证节点在承载网的传输方向上传输路径有合适的冗余,避免在某个节点出现故障的时候导致网络瘫痪。传感网的节点具有数据传输速率低、传输距离近、传输功耗低等特点。
承载网基于IEEE 802.11s协议规范。802.11s定义了无线设备通过互联而创建无线Mesh网络。在传统无线接入技术中,以接入点(AP)为中心,移动终端(STA)在AP的控制下通信。802.11s定义了媒体介入控制(MAC)层和物理层协议以实现WLAN在多个AP之间通过自配置多条的方式组网,提高WLAN的覆盖范围。802.11s在物理层依赖于现有的802.11a/bg/n。
单信道无线自组网节点传输带宽能达到150Mbps。802.11n协议定义了双频道通信标准,意味着将传输带宽提高到了300Mbps。承载网高速的数据传输速率不仅能够满足感知网的传输要求,同时也能满足其他对带宽要求比较高的业务。承载网络的主要任务是传输感知网络的数据,保证数据能够正确实时的传输到数据中心。
承载网的节点应该具有如下特点:
⑴节点带宽比较大,抗干扰和穿透能力比较大,传输距离远。承载网的节点采用直流电源供电,可以具有较大的发射功率,能够容忍较大的无线干扰和具有较强的穿透障碍物的能力,具有很大的传输带宽。较大的传输距离可以减少节点的数量,从而减少承载网络中数据包的传输延迟和丢包率。
⑵造价相对较高。考虑到承载网节点的功能比较全面,并且整个网络对承载网的依赖性比较大。因此,单个承载网节点的稳定性要比较好,导致造价比较高。
基于IPv6的无线自组网系统架构如图1所示:
无线网络虽然摆脱了对实物铜线布线的依赖,但是依然会受到无线传输特性的限制,包括障碍物对无线电波的阻挡作用、其他系统无线电波的干扰等。在我们的新型网络结构中,我们采取传感网和承载网相结合的方式。一方面,承载网可以弥补传感网在带宽和传输距离上的缺陷;另一方面,传感网是承载网的“触角”,可以充分发挥传感网收集数据的优势。
3 6LoWPAN
由于标准的IPv6协议不能直接构建在IEEE 802.15.4 MAC层之上。IETF组织在2004年11月正式成立了6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)工作组,着手制定基于IPv6的低速无线个域网标准。6LoWPAN工作组建议在网络层和MAC层之间增加一个网络适配层以实现屏蔽底层硬件对IPv6网络层的限制。6LoWPAN的参考模型如图2所示。
6LoWPAN适配层向上提供IPv6网络层对IEEE 802.15.4媒体访问支持,向下控制LoWPAN网络的构建、拓扑以及MAC路由。6LoWPAN适配层的基本功能如下:
(1)链路层的分片和重组。IPv6规定数据链路层最小MTU为1280字节,而IEEE802.15.4最大102字节MAC帧长度显然不能满足这个要求。因此,适配层需要通过对IP报文进行分片和重组来传输超过IEEE 802.15.4 MAC层最大帧长的报文。
(2)组播支持。IPv6的很多功能都依赖于IP层组播。此外,WSN(Wireless Sensor Network)的一些应用也需要MAC层广播的功能。IEEE 802.15.4 MAC层仅提供有限的广播功能,适配层利用可控广播共泛的方式来在整个WSN中传播IP组
播报文。
(3)头部压缩。在不使用安全功能的前提下,IEEE 802.15.4 MAC层的最大最大载荷为102字节,而IPv6报文头部为40字节,再除去适配层和传输层(如UDP)头部,将只有50字节左右的应用数据空间。为了满足IPv6在IEEE 802.15.4传输的MTU,一方面可以通过分片和重组来传输大于102字节的IPv6报文,另一方面也需要对IPv6报文进行压缩来提高传输效率和节省节点能量。为了实现压缩,需要在适配层头部后增加一个头部压缩编码字段,该字段将指出IPv6头部哪些可压缩字段将被压缩,除了对IPv6头部以外,还可以对上层协议(UDP、TCP及ICMPv6)头部进行进一步压缩。
(4)网络拓扑构建和地址分配。IEEE 802.15.4标准对物理层物和MAC层做了详尽地描述,其中MAC层提供了功能丰富的各种原语,包括信道扫描、网络维护等。但MAC层并不负责调用这些原语来形成网络拓扑并对拓扑进行维护,因此调用原语进行拓扑维护的工作将由适配层来完成。另外,6LoWPAN中每个节点都是使用EUI-64地址标识符,但是一般的LoWPAN网络节点能力非常有限,而且通常会有大量的部署节点,若采用64-bits地址将占用大量的存储空间并增加报文长度,因此,更适合的方案是在PAN内部采用16-bits短地址来标识一个节点,这就需要在适配层来实现动态的16-bits短地址分配机制。
(5)MAC层路由。IEEE 802.15.4标准并没有定义MAC层的多跳路由。适配层将在地址分配方案的基础上提供两种基本的路由机制——树状路由和网状路由。
4 传感网络RPL路由协议
由于传感网络节点内存大小、处理能力和电源资源有限,导致传感网通信可靠程度低,链路容易失效。因此,网络需要有效的技术建立和保持有效的数据传输路径。IETF RoLL工作组评估过目前已经存在的路由协议,如OS-PF,IS-IS,AODV,OLSR,由于低功耗有损网络(Low Power and Lossy Networks, LLN)的上述特点,导致目前已经存在的路由协议不适合LLN。因此,该工作组制定了RPL(Routing Protocol for LLN)协议。该协议是一个距离矢量路由协议,节点通过交换距离矢量构造一个有向无环图(Directed Acyclic Graph,DAG),节点与节点之间的链路有方向,DAG中有一个节点是根节点,因此每个节点。其根节点通过广播方式与其余节点交互信息,然后节点通过路由度量来选择最佳路径。
RPL协议位于OSI结构中的网络层。如图3所示。链路层和物理层使用IEEE 802.15.4协议。
5 RPL路由协议拓扑结构
低功耗易丢失网络一般没有预先定义好的拓扑结构,因此RPL路由协议需要去寻找节点并建立网络拓扑。RPL使用四个值来创建和维护一个网络拓扑:
(1)RPLInstanceID。一个网络可能有多个RPLInstanceID,一个RPLInstanceID指定了一个或多个DODAG(Destination Oriented DAG)。相同RPLInstanceID的DODAG被称为一个RPL 实例,这些节点使用相同的目标函数。如图4所示,一个DODAG,其中R1是DODAG根节点。
(2)DODAGID。DODAG的作用范围是一个RPL实例。一个RPLInstanceID和一个DODAGID在网络中唯一的确定了一个DODAG。一个RPL实例可能有多个DODAG,每个DODAG只有一个唯一的DODAGID。
(3)DODAGVersionNumber。DODAGVersionNumber的使用范围是一个DODAG。有时候由于网络中节点的变化导致DODAG从DODAG根节点进行重建,此时DODAG就变成另外一个拓扑结构,此时DODAGVersionNumber会加1。如图5所示。
(4)节点的Rank值。Rank值的作用范围是一个DODAG拓扑结构。Rank值代表了节点距离DODAG根节点的距离,当DODAG变化的时候,节点会重新计算Rank值。
6 RPL路由协议建立过程
⑴向上路由和DODAG的建立。一些节点被指定为DODAG根节点,有相应的DODAG配置。这些节点向外广播DIO消息,DIO消息中包含RPLInstanceID、DODAGVersionNumber、DODAGID、根节点RANK值、RPL路由协议工作的模式、DODAG的配置信息、路由代价以及通过根节点可以达到的地址等,其他节点接收到DIO消息,根据目标函数和他们邻居的RANK值来决定是加入一个新的DODAG(选择一个新的父节点)还是保留在自己当前的DODAG。不管是离开这个DODAG还是继续保留在当前的DODAG,该节点都会修改DIO中的路由信息和重新计算自己的RANK值向外发送DIO数据包。这样通过DIO消息,所有的节点都找到自己的父节点,DODAG就建成了。
⑵向下路由表的建立。RPL使用DAO(Destination Advertisement Object)消息建立向下路由。RPL支持两种向下路由模式:Storing Mode和Non-Storing Mode。
在Storing Mode下,所有节点都会保存向下的路由表。一个节点收到父节点发来的DIO消息并选择这个节点作为父节点时,会向父节点发送DAO消息。父节点收到DAO消息后在路由表中加入相应的路由项。如此重复向下建立网络。
在Non-Storing Mode,一个节点收到DIO消息并选择这个节点作为父节点后,通过父节点的中转向DODAG根节点发送DAO消息。如此重复建立网络。
7 结束语
通过对基于IPv6无线传感网和无线承载网的研究,两种网络可以无缝对接,分工合作,可以更好的发挥各自的优势,同时避免每种网络自身的不足。
[参考文献]
.Proceedings of the 1st International Conference on Embedded Networked Sensor Systems (SenSys '03),Nov 5-7,2003,Los Angeles,CA,USA. New York,NY,USA:ACM,2003:1-13.
.Proceedings of IEEE Global Telecommunications Conference (GLOBECOM '04):Vo1 1,Nov 29-Dec 3,2004,Dallas,TX,USA.New York,NY,USA:IEEE,2004:27-32.
[3]陈琳琳,刘乃安.无线Mesh网络与IEEE802系列标准[J].中兴通信技术,第2期.
[4]孙雨耕,张静,孙永进,等.无线自组传感器网络[J].传感技术学报, 2004(2):331-335.