物联网协议之CoAP协议开发学习笔记之节点网络中的术语解释

概述

严重受制于电源,内存和处理器资源的小型设备所组成的网络我们叫做“受限节点网络”。受限节点网络(constrained-node networks)越来越多的开始使用互联网协议簇(Internet Protocol Suite)。这个文档提供了一些基本术语,可以用在”受限节点网络“的标准化制定过程中。

介绍


所谓的"受限设备",就是指只有有限的CPU,内存和电源资源的小型设备(通常用做传感器/驱动器,Smart Objects,或者智能设备)。
它们可以组成一个网络,在这个网络中它们被称做"受限节点"。
由“受限设备”组成的这个网络本身可能也是受限的,比如,使用不稳定或容易丢包的信道、有限的和无法预测的带宽,和高度动态的网络拓扑。

受限设备可能负责在多种环境下收集信息,包括自然环境、楼宇和工厂。它们将这些信息发送到一个或多个服务器站点。
它们也可能需要对某些信息做出响应,比如执行一些物理动作,包括显示这些信息。
受限设备可能工作在严重的受限资源下,比如有限的电池和计算能力,小内存和无线带宽的不足。
网络中的其他实体,比如,一个基站或者控制服务器,可能有更多计算和通讯资源,可以帮助受限设备与传统网络上的应用程序直接进行交互。

当今,各种有着不同资源和能力的受限设备正在逐渐连接起来。
移动个人配件,办公自动化设备,蜂窝手机,设备到设备(M2M)装置等设备开始与附近或互联网上的"things”的交互中受益。因此,IoT开始成为现实,并通过唯一ID和可以被寻址到的对象(things)来构建的。连接互联网的受限设备在下个10年会增长为非常大的数量[FIFTY-BILLION],这将会极大增加互联网的大小和范围。

这个文档提供一系列在受限网络的标准化工作中的常用基本术语。文档的目标并不是彻底覆盖这些领域,而是要保证在不同的组织和公司中对核心术语的使用是一致的。

在这篇文档中,1byte即8bit,"KB"代表1024bytes。

在计算机行业中,术语"power"被经常使用在"计算能力"或者"处理能力",用作CPU性能。在本文中,除非有特别声明,”power”指电源。 “主电源(Main-powered)”是永久连接到稳定电源网络的缩写。

核心术语

IoT有两个重要扩展方向:

使用不昂贵的节点将传统互联网的技术向上扩展到一个很大的量级,同时

向下扩展这些节点的能力和网络,让它们向上扩张更加经济和物理上更加可行。

向下扩展所需要的特性构成了所谓的”受限节点"。

受限节点

对比一些常见的传统互联网节点可以得到“受限节点”的术语定义。

受限节点:一些对于网络节点来说很正常的一些特性,由于成本或者物理受限(包括尺寸、质量、电源、功耗),导致存储,代码大小和处理能力有限,从而无法实现。这使得在所有的设计需求中,电源优化和网络带宽使用都是主要考虑的目标。同时,“受限节点”可能缺乏一些二层服务,比如完全连接和广播/多播。

虽然这个定义不严格,甚至比较模糊,但它清楚地区分了“受限节点”与服务器系统、桌面或笔记本电脑、强大的移动设备如智能手机等设备。这些限制可能有很多是在设计时引入的,包括售价,尺寸,重量和其他扩展因素。

导致节点受限的因素很多。这些因素通常会同时出现,比如:

  • 受限于最大代码大小(ROM/Flash),
  • 受限于内存大小和缓存(RAM),
  • 受限于CPU处理能力,
  • 受限于可用电源,
  • 受限于用户界面和部署(有能力去设置keys,更新软件等)。

第三节用前两个因素作为标准将”受限节点“进行了一个分类("class-N",N=0,1,2)。在可用电源方面,[RFC6606]区分了”供电充足"节点(主电源或者常规充电)与”供电受限"节点。“供电充足”节点,它们可以从主电池或者使用能源收集器来获得能源;更多有关电源的术语在第四节中会仔细介绍。

使用受限节点组成网络通常会导致网络也是受限的。但是,网络受限原因可能与这些节点是没有关系的。我们随后将会辨别“受限网络”和“受限节点的网络”。

受限网络

我们也使用同样的方法来定义“受限网络”:

受限网络:它的一些特性与传统互联网的链路层是一样的。但是,在一定时间里面是不能写入的。

可能包括下面的受限因素:

可以达到的比特率/吞吐量低(包括周期性循环的限制),

包丢失率高和包丢失的可能性高(到达率),

高的不对称的链接特性,

使用比较大的数据包会有严重后果(例如,因为链路层分片而导致高的包丢失率),

数据到达率可能会受时间影响(一些设备会关闭电源,但是定期可以会唤醒,然后进行一段时间通讯),

缺乏(或者严重受限于)一些高级服务,比如IP多播。

我们说“受限网络”的时候,通常在网络中的受限节点展现出这样的特性: 另外,可能有一些原因是针对这个:

在网络中的投入有限,

节点是受限的,

物理受限(比如,电源受限,环境受限,媒介受限比如在水下操作,用在非常高的分辨率的有限频谱,电磁兼容性),

监管受限。比如有非常有限的频谱可用性(比如在辐射能力和周期性循环)或者防爆,

技术受限,比如依然在使用更老的和更低速技术,可能需要用很长时间。

有缺陷的网络

受限网络并不一定是“缺陷网络”[FALL]:

缺陷网络:应用程序希望使用端对端的IP传输模型,但是网络有很难去完成。举例来说:

不能提供一个端对端IP链接,

在端对端IP链接显示出严重中断的特点,

严重延迟,并超出TCP定义的最大段生存时间(MSL)[RFC0793]

某种意义上,所有缺陷网络是受限网络。但是不是所有的受限网络是缺陷网络。在这两个网络中没有一个非常明确的边界。针对缺陷网络已经有了处理方法:延迟容忍网络(DTN)[RFC4838]。

受限节点的网络

受限节点网络:这个网络的特点会主要被“受限节点”的特性影响。

一个受限节点网络通常是一个受限网络。因为节点受限导致网络也受限和堵塞。另外,“受限节点网络”也可能有其他方面的受限。

在本章的其他段中描述在受限节点网络使用中的两个额外术语。不需要额外去定义它们:LLN和(6)LoWPAN。

LLN

术语LLN已经被描述成IETF ROLL工作小组的目标,它指“低功耗和有损网络”(LLN:Low-Power and Lossy Network)。ROLL(Routing over Low-Power and Lossy)术语文档[RFC7102]中对LLNs做出了如下定义:

LLN:低功耗和有损网络。通常很多嵌入式设备使用有限电源,内存和处理资源组成了一个连接,比如IEEE 802.15.4或者低功耗Wi-Fi。很多大范围的应用程序用作LLN,包括工业监控,建筑自动化(加热,空气流通和空调,灯光,访问控制,或灾报警),连接家庭,健康,环境健康,城市传感网络,能源管理,资产追踪,冷链。

在这些之上,LLN通常表现出在物理层上的一些丢失,传递速率变化大,有时出现短时间不可达,长时间稳定存在问题,因此可以构建有向无环图来确保中等的稳定,用作路由,和做测量,比如ETX[RFC6551],并不是所有的LLN都由低功耗节点组成。LLN通常由受限节点组成:这导致设计出如“无存储模式”(由RPL设计(IPV6路由协议用作低功耗和丢失网络[RFC6550]))的操作模式。因此,在这个文档的术语中,LLN是一个受限节点网络,使用一定网络特性,包括在网络上受限。

LoWPAN,6LoWPAN

一个受限网络的有趣的类型被用作受限节点网络是"LoWPAN"[RFC4919],该术语由IEEE802.15.4工作小组所定义的(LR-WPANs)。LoWPAN的解释是,“低功耗无线个人区域局域网”,包含了一个很难去界定的词“个人”,因为IEEE 802工作小组在定义的时候有一个目标是定义LoWPAN是围绕个人设计的。准确的说,LoWPANs已经被建议用于城市监控,大楼控制和工业控制程序,所以”个人“这个词可以被认为是过时了。偶尔,术语又被称为低功耗无线网络[WEI]。通常关注于IEEE 802.15.4,“LoWPAN”指在受限网络下的链路层网络技术V6-BTLE[V6-G9959]。

受限设备种类

尽管,绝大部分与互联网连接的设备都能够被预计到,但对不同类型的受限设备有一些简洁的术语定义也很必要。在这个文档中,表1中的文章,可能会用在一个相对开放的设备能力定义:

Namedata size (e.g., RAM)code size (e.g., Flash)
Class 0, C0<< 10 KiB<< 100 KiB
Class 1, C1~ 10 KiB~ 100 KiB
Class 2, C2~ 50 KiB~ 250 KiB

表1:受限设备类型(KiB = 1024字节)
在本文档中,芯片可以分为通用芯片和受限设备芯片。这几类的边界(如RAM/Flash大小)会随着时间的推移而更改,但摩尔定律在嵌入式中不太有效:对晶体管数量增加的需求往往会屈服于成本限制和电源限制。

0类设备是非常受限的传感器。他们的存储和处理能力严重受限,以至于没有与互联网直接、安全的沟通的能力。0类设备与互联网通信需要更大的设备来帮忙,比如代理,网关,或服务器。0类设备通常很难考虑安全性或者进行复杂的管理。它们最可能是已经被预先配置(然后很少再配置)。为了达到管理,他们可以响应keepalive信号,发送 开启/关闭或基本健康信息(如心跳)。

1类设备在代码空间和处理能力上也有相当的限制,使得它们不能很容易地与其他网络节点沟通,如采用完整的协议栈,使用HTTP,传输层安全(TLS),及相关的安全协议和基于XML的数据表示。然而,他们有足够的能力来使用专为受限节点设计的协议(如使用UDP的受限的应用协议CoAP),在没有网关节点的帮助下进行一定的通讯。特别是,他们可以提供一个大型网络所要求的安全功能的支持。因此,他们可以集成到IP网络,但他们需要简单的状态存储,代码空间,较大的功耗,供协议和应用程序使用。

2类设备的限制较少,基本上能够支持大多数相同的协议栈,如同使用笔记本电脑或服务器。然而,即使这些设备也可以使用简单、节省能耗的协议来减少带宽的消耗。此外,使用较少的网络资源可以给应用留下更多的可用资源。因此,利用受限的设备专用协议栈,对2类设备来说可能会降低开发成本和提高互操作性。

也存在超越2类设备标准的受限的设备。他们可以在很大程度上利用现有的协议不变。因此本文档不定义超过2类的设备。当然,这些设备仍然可能会存在能源受限。

电源术语

设备不只可以从它们的计算能力上进行区分,也可以在可用电源和(或)能量上进行区分。在可用电源和能量这个层面上很难去找到可量化的分类方法,但引入一些通用术语还是非常有用的。

度量单位

一个设备可用电源或可用能量的计量单位可能是不同的,从千瓦到毫瓦,从基本无限制到上百微焦耳。

我们使用国际标准单位(SI单位)简单陈述下可用电源或可用能量,而不是定义一个类和簇。在表2中定义了一个或两个相似值。

NameDefinitionSI Unit
Ps当被调用时,设备的平均功率W
(Watt)
Et在电源被耗尽之前能够使用的总能量J
(Joule)

表 2: 有关电源和能量的度量
Et可能需要结合时间周期来解释;见4.2节。

一些设备在可用能量耗尽之前循环进入“low-power”模式。对于这些设备,Ps需要为每个给定的modes/steps。

能源限制的分类

正如上面所讨论的,一些设备由于功率限制,在能耗有限。如果对此没有限制,则为E9。如果某个设备的总能量有限制(例如,采用不可替换的电池),为E2。如果能源限制是在特定的时期,该装置为为E1,例如,太阳能装置(在夜间的能量有限),或者手机充完电到插上充电器之间的间隔,或有一个周期性的装置(电池)更换间隔。最后,有可能是用于特定的事件的装置,只有有限的能量,例如,为能量收集开关按下按钮;这样的设备为E0。需要注意的是,在某种意义上,许多E1设备也为E2,如充电次数有限的可再充电电池。

表3提供上述分类的总结。

名称能量限制的类型电源来源示例
E0事件能量受限定期收集能量
E1定期能量受限电池,需要定期充电或更换
E2生命周期能量受限一次性,无需更换电源
E9对可用能量没有直接的配额限制主电源

表 3: 能量限制的级别

通讯使用能量的策略

当使用无线传输时,射频功耗通常会占到设备总功耗的大部分。不同的设计参数,比如使用频段,覆盖范围和传输比特率,都影响收发的电量消耗;收发的间隔(包括潜在的接收)也会影响总能耗。

基于不同的能源来源(比如电池和主电源供电)和设备通讯的频率,可能会采用不同的电源和网络连接策略。

通常电源使用的策略可以描述如下:

Always-on:如果没有节能的要求,这种策略是最适用的。设备可以在所有的时间都以正常状态工作。为了节能可能会使用更省电的硬件、限制无线传输速率,限制CPU主频或其他常用的省电和散热手段,但是设备能够永久连接网络。

Normally-off:在这个策略下,设备一次会休眠很长时间。一旦它醒来,它不会假装它已经连接到网络中:设备会在它被唤醒的时候重新连接网络。主要优化目标是最小化重连的步骤和由此产生的应用层通信。

如果设备休眠很长一段时间,且不需要频繁的沟通,对于重连过程中能量消耗的增加,可能也是可以接受的。

Low-power:这种策略通常适用于需要低功耗,但仍需进行一个相对频繁通讯的设备。这意味着,在这些硬件上需要使用超低功耗的解决方案,和链路层选择机制等等。通常情况下,相比它们的休眠时间,传输使用的时间很短,这些设备仍然在某种形式上保持和网络的连接。用于减少网络通信功耗所使用的技术包括:唤醒后减少重新建立连接的能耗、调整通信频率(包括“周期性循环”,即在一个循环周期中,组件循环处于开关状态)和其他适当的参数。

下表4提供使用电源进行通讯的策略

名称策略通讯时机
P0Normally-off当需求的时候连接
P1Low-power看似连接
P9Always-on始终连接

表4 电源通信策略
请注意,上述讨论的是在设备层面;类似的考虑也适用于通信接口层。这个文档没有定义后面的术语。

一个经常使用的术语来描述的省电方法是“周期性循环(Duty Cycle)”。这即采用各种形式周期性开关一些功能。

[RFC7102]只能区分两个级别,定义一个非休眠的节点始终保持在在完全供电状态(一直醒着),它有能力执行通信(P9)和一个休眠的节点,有时可能会进入睡眠模式(低功耗状态,以节省电力)和暂时中止协议通信(P0);没有明确提及P1。

安全考虑

本文档介绍了常见的术语,不会增加任何新的安全问题。因为受限所产生的安全方面的考虑需要在特定的协议下进行讨论。例如,[COAP]的11.6节,“受限节点的考虑”,探讨了在受限情况下对使用安全机制的影响。[ROLL-SEC-THREATS]为RPL路由协议提供了安全威胁分析。在[IKEV2-MINIMAL]和[TLS-MINIMAL]有讨论受限节点的安全协议的实现问题。在[IOT-SECURITY]提供如何使受限节点网络更安全的观点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值