在流入以及流出的物联网中,其中关于“物”的数据流向的这些服务位于服务器中,也可以位于“云”中、分布式或者集中式的位置内。然后用专用的程序在虚拟机或者传统的服务器系统中的网络边缘平台上运行,用这些轻量级的应用程序与数据中心进行服务通信。
因此,将各式各样物理层的数据收集回来并进行集中处理需要一套体系化的结构方法,其必须包含有独立于底层与高层的公共层,在这种大环境下互联网协议(IP)由此而生,并在20世纪末开始在关键架构角色部分扮演重要角色。直到现在IP不仅是市场的首选,也是OT中的环境搭建的首选。
虽然目前物联网协议成功的关键主要看IP,但是因受限于网络规则的问题,IP在结构体系的各个层面上还需要对各协议进行优化。下面笔者将介绍目前市场已经出现的或者针对IETF进行开发的优化方式。如下图展示了优化后的TCP/IP层。
01
从6LoWPAN到6Lo
在IP体系结构中,必须要定义和记录给定的协议上的IP(PHY、MAC)才能进行数据传输。将IP进行封装并归为较低的协议层的模型通常将这种称为适配层。
除非该技术是特定专有的,否则IP适配层通常由IETF工作组进行定义,并作为RFC(征求意见进行发布)。RFC通常来自于关于IETF的书籍以及其他出版物,通过正式的文字进行对Internet的标准、规范、协议、过程和事件进行记录。比如RFC 864中描述了IPv4包是怎样封装到以太网的帧上面。
物联网中的相关协议普遍默认遵守类似的过程。其主要区别在于:物联网中的适配层设计会针对设备来进行相对的优化,以处理受限节点和设备网络的问题。
当前为受限节点或者物联网中的“物”进行优化,主要在适配层进行。其主要实例就是6LoWPAN工作组以及继承了其工作的6Lo工作组之下的适配层。6LoWPAN工作组最初的工作主要集中在IPv6的传输协议优化,其重点主要集中在对IEEE 802.15.4等受限的网络传输上。如下图展示了使用6LoWPAN是如何进行对物联网协议栈进行适配,适配的层面位于著名的IP协议栈边。
6LoWPAN工作组发布了几个RFC,但是因为它定义了帧头,导致其RFC 4994是基础性的,只能用于头压缩、分片和网络寻址等功能。这些头可以在适配层中堆叠,以保持概念的独立性,同时强制使用结构化的概念来表示每个功能。根据实现的不同方式,可以对任何有着该功能及其相应的包头文件进行任意组合。如下图就展示了部分相对典型的6LoWPAN包头堆栈示例。
包头压缩
6LoWPAN的IPv6的包头最初是在RFC 4944中进行定义的,之后的更新由RFC 6282进行更新。该功能将IPv6的包头由原来的40个字节大小变更为8字节,甚至在特定的情况下能缩短到6个字节。
在高级层上,6LoWPAN的工作是通过利用所有的可用节并让其参与到与本地网路的信息共享中来,从而完成设备之间的信息传递与共享。此外,它还能通过对常用值进行假设来对部分的标准头来做一些省略操作。如下图展示了使用6LoWPAN包头压缩所实现的压缩量。
如上图所示,可以看到一个没有启用任何包头压缩的6LoWPAN帧,可以看到完整的40个字节IPv6的包头和UDP包头。在本例中,6LoWPAN头的文件仅为1个字节。
分片
因为IPv6网络传输的最大传送单元(MTU)必须至少为1280字节。其中最大单元定义了可以传递的最大协议数据单元的大小。对于IEEE 802.15.4帧中所传输的MTU要小得多。对于这个问题,必须在第二层的多个802.15.4帧上进行大型的IPv6数据包分片。
6LoWPAN的分片片头主要由三个字段组成:数据报大小、数据报标记和数据报的偏移量,如下图。1个字节的数据报会根据字节大小指定负荷。
02
6LoWPAN网状寻址
目前网状寻址的功能目的是为了在多个跳数上来转发数据包。由此,发送数据包的包头定义了3个字段:跳数限制、源地址、目标地址。与IPv6的跳数限制相似,网状寻址也提供了跳数的限制和帧次数的转发上限。
网状寻址的源头地址和目标地址字段一般是IEEE 802.15.4地址,表示了一个IP跳数的端点。如下图详细说明了6LoWPAN网状寻址头字段。
针对物联网网路和传输的优化还有6TiSCH、RPL、在受约束的节点上进行身份验证和加密等。物联网安全是一个永恒且复杂的话题,常常会引发整个行业的讨论。因此需要一些专注于安全物联网安全的工作组。
全部0条评论
快来发表一下你的评论吧 !