IPv6的物联网技术解决方案
1.IPv6地址技术
IPv6拥有巨大的地址空间,同时128 bit的IPv6的地址被划分成两部分,即地址前缀和接口地址。与IPv4地址划分不同的是,IPv6地址的划分严格按照地址的位数来进行,而不采用IPv4中的子网掩码来区分网络号和主机号。IPv6地址的前64位被定义为地址前缀。地址前缀用来表示该地址所属的子网络,即地址前缀用来在整个IPv6网中进行路由。而地址的后64位被定义为接口地址,接口地址用来在子网络中标识节点。在物联网应用中可以使用IPv6地址中的接口地址来标识节点。在同一子网络下。可以标识264个节点。这个标识空间约有185亿亿个地址空间.这样的地址空间完全可以满足节点标识的需要。面,IPv6采用了无状态地址分配的方案来解决高效率海量地址分配的问题。其基本思想是网络侧不管理IPv6地址的状态,包括节点应该使用什么样的地址、地址的有效期有多长.且基本不参与地址的分配过程。节点设备连接到网络中后。将自动选择接口地址(通过算法生成IPv6地址的后64位),并加上FE80的前缀地址,作为节点的本地链路地址,本地链路地址只在节点与邻居之间的通信中有效,路由器设备将不路由以该地址为源地址的数据包。在生成本地链路地址后,节点将进行DAD(地址冲突检测),检测该接El地址是否有邻居节点已经使用,如果节点发现地址冲突,则无状态地址分配过程将终止,节点将等待手工配置IPv6地址。如果在检测定时器超时后仍没有发现地址冲突,则节点认为该接13地址可以使用,此时终端将发送路由器前缀通告请求.寻找网络中的路由设备。当网络中配置的路由设备接收到该请求.则将发送地址前缀通告响应.将节点应该配置的IPv6地址前64位的地址前缀通告给网络节点.网络节点将地址前缀与接口地址组合,构成节点自身的全球IPv6地址。
另一方采用无状态地址分配之后,网络侧不再需要保存节点的地址状态,维护地址的更新周期,这大大简化了地址分配的过程.网络可以以很低的资源消耗来达到海量地址分配的目的。
2.IPv6的移动性技术
IPv6协议设计之初就充分考虑了对移动性的支持。针对移动IPv4网络中的三角路由问题.移动IPv6提出了相应的解决方案。
首先.从终端角度IPv6提出了IP地址绑定缓冲的概念,即IPv6协议栈在转发数据包之前需要查询IPv6数据包目的地址的绑定地址。如果查询到绑定缓冲中目的IPv6地址存在绑定的转交地址,则直接使用这个转交地址为数据包的目的地址。这样发送的数据流量就不会再经过移动节点的家乡代理,而直接转发到移动节点本身。
其次。MIPv6引入了探测节点移动的特殊方法,即某一区域的接入路由器以一定时间进行路由器接口的前缀地址通告.当移动节点发现路由器前缀通告发生变化,则表明节点已经移动到新的接人区域。与此同时根据移动节点获得的通告,节点又可以生成新的转交地址,并将其注册到家乡代理上。
MIPv6的数据流量可以直接发送到移动节点,而MIPv4流量必须经过家乡代理的转发。在物联网应用中。传感器有可能密集地部署在一个移动物体上。例如为了监控地铁的运行参数等,需要在地铁车厢内部署许多传感器.从整体上来看,地铁的移动就等同于一群传感器的移动,在移动过程中必然发生传感器的群体切换,在MIPv4的情况下,每个传感器都需要建立到家乡代理的隧道连接,这样对网络资源的消耗非常大,很容易导致网络资源耗尽而瘫痪。在MIPv6的网络中,传感器进行群切换时只需要向家乡代理注册。之后的通信完全由传感器和数据采集的设备之间直接进行,这样就可以使网络资源消耗的压力大大下降。因此。在大规模部署物联网应用,特别是移动物联网应用时,MIPv6是一项关键性的技术。
3.IPv6的服务质量技术
在网络服务质量保障方面,IPv6在其数据包结构中定义了流量类别字段和流标签字段。流量类别字段有8位,和IPv4的服务类型(ToS)字段功能相同,用于对报文的业务类别进行标识;流标签字段有20位,用于标识属于同一业务流的包。流标签和源、目的地址一起.惟一标识了一个业务流。同一个流中的所有包具有相同的流标签,以便对有同样QoS要求的流进行快速、相同的处理。
目前,IPv6的流标签定义还未完善。但从其定义的规范框架来看,IPv6流标签提出的支持服务质量保证的最低要求是标记流,即给流打标签。流标签应该由流的发起者信源节点赋予一个流,同时要求在通信的路径上的节点都能够识别该流的标签.并根据流标签来调度流的转发优先级算法。这样的定义可以使物联网节点上的特定应用有更大的调整自身数据流的自由度,节点可以只在必要的时候选择符合应用需要的服务质量等级.并为该数据流打上一致的标记。在重要数据转发完成后。即使通信没有结束节点也可以释放该流标记,这样的机制再结合动态服务质量申请和认证、计费的机制,就可以做到使网络按应用的需要来分配服务质量。同时。为了防止节点在释放流标签后又误用该流标签.造成计费上的问题。信源节点必须保证在120 s内不再使用释放了的流标签。
在物联网应用中普遍存在节点数量多.通信流量突发性强的特点。与IPv4相比,由于IPv6的流标签有20 bit,足够标记大量节点的数据流。同时与IPv4中通过五元组(源、目的IP地址,源、目的端口、协议号)不同,IPv6可以在一个通信过程中(五元组没有变化),只在必要的时候数据包才携带流标签,即在节点发送重要数据时,动态提高应用的服务质量等级,做到对服务质量的精细化控制。
当然IPv6的QoS特性并不完善,由于使用的流标签位于IPv6包头,容易被伪造,产生服务盗用的安全问题。因此.在IPv6中流标签的应用需要开发相应的认证加密机制。同时为了避免流标签使用过程中发生冲突,还要增加源节点的流标签使用控制的机制,保证在流标签使用过程中不会被误用。
4.IPv6的安全性与可靠性技术