1.2 物联网与IP

毫无疑问IP技术是当今互联网应用的基础,同时IP技术也是物联网应用的基础。本章中IP技术分为IPv4、IPv6和6LoWPAN三个部分进行介绍。

1.2.1 IPv4

IPv4即互联网协议版本4,又称互联网通信协议第4版。IPv4为标准化互联网络的核心部分,也是使用最广泛的互联网协议版本,其后继版本为IPv6,直到2011年IANA IPv4 pool地址已经完全用尽时,IPv6仍处在部署的初期。IPv4是一种无连接的协议,此协议会尽最大努力交付分组数据,IPv4不保证任何分组数据均能送达目的地,也不保证所有分组数据均按照正确的顺序无重复地到达。

IPv4使用32位(4字节)地址,因此地址空间中只有4 294 967 296个地址。不过,一些地址为特殊用途所保留,如专用网络(约1800万个地址)和多播地址(约2.7亿个地址),专用网络和多播地址也减少了可在互联网上路由的地址数量。随着地址不断被分配给最终用户,IPv4地址枯竭问题也随之产生。基于NAT(网络地址转换)等地址结构重构的技术显著地降低了IPv4地址枯竭的速度。

毫无疑问IPv4技术是物联网应用的基础。关于终端设备,具有网络连接能力的设备很有可能包含IPv4协议栈,这就意味着该设备可以很容易地访问网络中的任意一个IPv4应用;关于网关设备,对于那些尚没有网络连接能力的设备来说,也可以通过定制的网关设备转发有用内容,这些定制的网关设备往往把非IP数据包转换成IP数据包;关于服务器,绝大多数Web应用、数据库存储应用和搜索服务器均依赖于IPv4技术。对于终端设备、网关设备和服务器而言,当前IPv4技术支撑着整个物联网应用。

但是IPv4技术也不是万能的,随着物联网终端设备的爆发,IPv4地址枯竭的问题显得越来越严重,已经被长期依赖的IPv4技术并不一定是物联网应用未来发展的方向。

1.2.2 IPv6

IPv6即互联网通信协议第6版,是互联网协议的最新版本,旨在解决IPv4地址枯竭问题。在因特网中,数据以分组的形式传输。IPv6定义了一种全新的分组格式,目的是为了最小化路由器处理的报文首部。由于IPv4报文和IPv6报文首部存在很大不同,因此这两种协议无法互操作。IPv6具有比IPv4大得多的编码地址空间,IPv6采用了128位的地址,而IPv4使用的是32位。因此新增的地址空间支持2128(约3.4× 1038)个地址。从IPv4到IPv6最显著的变化就是网络地址的长度,RFC 2373https://datatracker.ietf.org/doc/rfc2373/。和RFC 2374https://datatracker.ietf.org/doc/rfc2374/。定义的IPv6地址有128位长,IPv6地址的表达形式一般采用32个十六进制数。如图1-2为IPv6 Ready认证标签。

图1-2 IPv6 Ready认证标签

IPv6技术摒除了IPv4技术的多数局限,是一种更加进步与优化的互联网协议,它具有以下优势:

1)强大的地址空间:正如上文所述IPv6的地址长度为128位,而IPv4的地址长度仅为32位,强大的地址空间可以满足物联网终端设备数量增长的需求。

2)即插即用:IPv6采用即插即用的机制实现与各种设备的网络连接,相关配置可以自动生成而并不需要向服务器申请。

3)更高的安全性:IPv6特性描述中要求通过加密有效载荷和通信源认证等方式增强网络的安全性。

4)更加灵活与完善的首部:IPv6中移除了IPv4中并不常用的字段,如分段与校验和等,采用了固定头加可选扩展头的组合方式。

1.2.3 6LoWPAN

虽然IPv6协议是更为高效和完善的互联网协议,但是对于大多数受限制的物联网设备来说,IPv6协议依然冗余而复杂。为了让IPv6技术能够适用于低功耗受限制物联网设备,6LoWPAN技术应运而生。

IETF组织于2004年11月正式成立了6LoWPAN工作组,着手制定基于IPv6的低速率无线个域网标准,即IPv6 over IEEE 802.15.4,该工作组将IPv6引入以IEEE 802.15.4为标准的无线个域网中。IEEE 802.15.4是无线个域网技术的典型代表,已经获得了广泛的应用。但IEEE 802.15.4标准只规定了物理层和媒体访问控制层两部分,并没有涉及网络层以上规范。

图1-3可以很好地说明6LoWPAN与IPv6、IEEE 802.15.4之间的关系。图1-3的左侧部分说明了那些非受限制设备如何与互联网建立连接,大多数Linux主机都属于非受限制设备,这些设备往往具备足够内存空间和很好的运算能力,如市面上常见的树莓派。对于树莓派这样的非受限制设备,可以使用IPv4层作为网络层协议,使用IEEE 802.3作为物理层和链路层协议。而对于那些具有IEEE 802.15.4无线连接能力的受限制低功耗设备来说,并不能直接使用IPv4协议,而需要使用IPv6加6LoWPAN方式,把IPv6首部经过6LoWPAN技术压缩之后再填充到IEEE 802.15.4协议中的有效载荷部分。

图1-3 6LoWPAN适配层作用

1. IEEE 802.15.4简介

IEEE 802.15.4标准定义了物理层(PHY层)和数据链路层(MAC层)。市面上有不少符合IEEE 802.15.4标准的SoC,这些SoC虽然资源(内部RAM和Flash)受限,功能较低,但是成本低廉。

IEEE 802.15.4标准的主要特征如下:

1)低速率:在2.4GHz频段最大速度为250Kbit/s。

2)地址短:支持16位短地址。

3)低功耗:可支持电池供电应用。

4)低成本:可适用于资源受限制设备。

5)短距离:节点信号覆盖范围一般为10~100米,覆盖范围有限。

6)低复杂度:相比于IEEE 802.11和IEEE 802.15.1, IEEE 802.15.4相对简单,容易实现。

7)短帧长:IEEE 802.15.4数据链路层的最大传输单元为127字节,只能为输出的数据提供较少的有效空间。

8)多种拓扑结构:IEEE 802.15.4标准支持点对点和星形网络。

2. 6LoWPAN简介

因为IPv6要求数据链路层支持的最小传输单元为1280字节,而IEEE 802.15.4链路的最大传输单元仅为127字节,所以需要在网络层之下定义一个适配层,负责IP数据包的压缩、分片和重组等工作。

6LoWPAN适配层之下采用IEEE 802.15.4规定的物理层和数据链路层,6LoWPAN适配层之上的网络层采用IPv6协议。由于在IPv6中数据链路层支持的载荷长度远大于IEEE 802.15.4所能提供的最大载荷长度,为了实现IEEE 802.15.4与网络层(IPv6)的无缝链接,6LoWPAN适配层被增加至网络层和IEEE 802.15.4之间,6LoWPAN适配层用来完成头压缩、分片与重组以及网状路由转发等工作。

6LoWPAN技术具有如下优势:

1)普及性:IP应用非常广泛,作为下一代互联网核心技术的IPv6也在加速其普及的步伐。

2)适用性:IP网络协议栈架构受到广泛的认可,低速率无线个域网完全可以基于此架构进行简单、有效的开发。

3)更多地址空间:IPv6应用于低功耗无线个域网的最大亮点就是庞大的地址空间。这恰恰满足了部署大规模、高密度设备的需要。

4)支持无状态自动地址配置:IPv6中当节点启动时,可以自动读取MAC地址,并根据相关规则配置好所需的IPv6地址。

5)易接入:低速率无线个域网使用IPv6技术,更易于接入其他基于IP技术的网络及下一代互联网,使其可以充分利用IP网络的技术进行快速发展。

图1-4可以很好地说明6LoWPAN头压缩技术如何与IEEE 802.15.4标准配合工作。IEEE 802.15.4标准的物理层部分一般包括先导码、同步字和物理层长度指示域和物理层有效载荷等部分;在数据链路层部分又可分为帧控制域、序列号域、地址域、数据链路层有效数据载荷与校验区域等部分;在数据链路层有效载荷部分又可分为IPv6压缩头部分和IPv6有效负载部分。

图1-4 6LoWPAN头压缩技术与IEEE 802.15.4之间的关系