严重受制于电源,内存和处理器资源的小型设备所组成的网络咱们叫作“受限节点网络”。受限节点网络(constrained-node networks)愈来愈多的开始使用互联网协议簇(Internet Protocol Suite)。这个文档提供了一些基本术语,能够用在”受限节点网络“的标准化制定过程当中。node
所谓的"受限设备",就是指只有有限的CPU,内存和电源资源的小型设备(一般用作传感器/驱动器,Smart Objects,或者智能设备)。
它们能够组成一个网络,在这个网络中它们被称作"受限节点"。
由“受限设备”组成的这个网络自己可能也是受限的,好比,使用不稳定或容易丢包的信道、有限的和没法预测的带宽,和高度动态的网络拓扑。缓存
受限设备可能负责在多种环境下收集信息,包括天然环境、楼宇和工厂。它们将这些信息发送到一个或多个服务器站点。
它们也可能须要对某些信息作出响应,好比执行一些物理动做,包括显示这些信息。
受限设备可能工做在严重的受限资源下,好比有限的电池和计算能力,小内存和无线带宽的不足。
网络中的其余实体,好比,一个基站或者控制服务器,可能有更多计算和通信资源,能够帮助受限设备与传统网络上的应用程序直接进行交互。安全
当今,各类有着不一样资源和能力的受限设备正在逐渐链接起来。
移动我的配件,办公自动化设备,蜂窝手机,设备到设备(M2M)装置等设备开始与附近或互联网上的"things”的交互中受益。所以,IoT开始成为现实,并经过惟一ID和能够被寻址到的对象(things)来构建的。链接互联网的受限设备在下个10年会增加为很是大的数量[FIFTY-BILLION],这将会极大增长互联网的大小和范围。服务器
这个文档提供一系列在受限网络的标准化工做中的经常使用基本术语。文档的目标并非完全覆盖这些领域,而是要保证在不一样的组织和公司中对核心术语的使用是一致的。网络
在这篇文档中,1byte即8bit,"KB"表明1024bytes。
在计算机行业中,术语"power"被常用在"计算能力"或者"处理能力",用做CPU性能。在本文中,除非有特别声明,”power”指电源。 “主电源(Main-powered)”是永久链接到稳定电源网络的缩写。性能
IoT有两个重要扩展方向:优化
使用不昂贵的节点将传统互联网的技术向上扩展到一个很大的量级,同时ui
向下扩展这些节点的能力和网络,让它们向上扩张更加经济和物理上更加可行。设计
向下扩展所须要的特性构成了所谓的”受限节点"。代理
对比一些常见的传统互联网节点能够获得“受限节点”的术语定义。
受限节点:一些对于网络节点来讲很正常的一些特性,因为成本或者物理受限(包括尺寸、质量、电源、功耗),致使存储,代码大小和处理能力有限,从而没法实现。这使得在全部的设计需求中,电源优化和网络带宽使用都是主要考虑的目标。同时,“受限节点”可能缺少一些二层服务,好比彻底链接和广播/多播。
虽然这个定义不严格,甚至比较模糊,但它清楚地区分了“受限节点”与服务器系统、桌面或笔记本电脑、强大的移动设备如智能手机等设备。这些限制可能有不少是在设计时引入的,包括售价,尺寸,重量和其余扩展因素。
致使节点受限的因素不少。这些因素一般会同时出现,好比:
第三节用前两个因素做为标准将”受限节点“进行了一个分类("class-N",N=0,1,2)。在可用电源方面,[RFC6606]区分了”供电充足"节点(主电源或者常规充电)与”供电受限"节点。“供电充足”节点,它们能够从主电池或者使用能源收集器来得到能源;更多有关电源的术语在第四节中会仔细介绍。
使用受限节点组成网络一般会致使网络也是受限的。可是,网络受限缘由可能与这些节点是没有关系的。咱们随后将会辨别“受限网络”和“受限节点的网络”。
咱们也使用一样的方法来定义“受限网络”:
受限网络:它的一些特性与传统互联网的链路层是同样的。可是,在必定时间里面是不能写入的。
可能包括下面的受限因素:
能够达到的比特率/吞吐量低(包括周期性循环的限制),
包丢失率高和包丢失的可能性高(到达率),
高的不对称的连接特性,
使用比较大的数据包会有严重后果(例如,由于链路层分片而致使高的包丢失率),
数据到达率可能会受时间影响(一些设备会关闭电源,可是按期能够会唤醒,而后进行一段时间通信),
缺少(或者严重受限于)一些高级服务,好比IP多播。
咱们说“受限网络”的时候,一般在网络中的受限节点展示出这样的特性: 另外,可能有一些缘由是针对这个:
在网络中的投入有限,
节点是受限的,
物理受限(好比,电源受限,环境受限,媒介受限好比在水下操做,用在很是高的分辨率的有限频谱,电磁兼容性),
监管受限。好比有很是有限的频谱可用性(好比在辐射能力和周期性循环)或者防爆,
技术受限,好比依然在使用更老的和更低速技术,可能须要用很长时间。
受限网络并不必定是“缺陷网络”[FALL]:
缺陷网络:应用程序但愿使用端对端的IP传输模型,可是网络有很难去完成。举例来讲:
不能提供一个端对端IP连接,
在端对端IP连接显示出严重中断的特色,
严重延迟,并超出TCP定义的最大段生存时间(MSL)[RFC0793]
某种意义上,全部缺陷网络是受限网络。可是不是全部的受限网络是缺陷网络。在这两个网络中没有一个很是明确的边界。针对缺陷网络已经有了处理方法:延迟容忍网络(DTN)[RFC4838]。
受限节点网络:这个网络的特色会主要被“受限节点”的特性影响。
一个受限节点网络一般是一个受限网络。由于节点受限致使网络也受限和堵塞。另外,“受限节点网络”也可能有其余方面的受限。
在本章的其余段中描述在受限节点网络使用中的两个额外术语。不须要额外去定义它们:LLN和(6)LoWPAN。
术语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"[RFC4919],该术语由IEEE802.15.4工做小组所定义的(LR-WPANs)。LoWPAN的解释是,“低功耗无线我的区域局域网”,包含了一个很难去界定的词“我的”,由于IEEE 802工做小组在定义的时候有一个目标是定义LoWPAN是围绕我的设计的。准确的说,LoWPANs已经被建议用于城市监控,大楼控制和工业控制程序,因此”我的“这个词能够被认为是过期了。偶尔,术语又被称为低功耗无线网络[WEI]。一般关注于IEEE 802.15.4,“LoWPAN”指在受限网络下的链路层网络技术V6-BTLE[V6-G9959]。
尽管,绝大部分与互联网链接的设备都可以被预计到,但对不一样类型的受限设备有一些简洁的术语定义也很必要。在这个文档中,表1中的文章,可能会用在一个相对开放的设备能力定义:
Name | data 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中定义了一个或两个类似值。
Name | Definition | SI 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提供使用电源进行通信的策略
名称 | 策略 | 通信时机 |
---|---|---|
P0 | Normally-off | 当需求的时候链接 |
P1 | Low-power | 看似链接 |
P9 | Always-on | 始终链接 |
表4 电源通讯策略
请注意,上述讨论的是在设备层面;相似的考虑也适用于通讯接口层。这个文档没有定义后面的术语。
一个常用的术语来描述的省电方法是“周期性循环(Duty Cycle)”。这即采用各类形式周期性开关一些功能。
[RFC7102]只能区分两个级别,定义一个非休眠的节点始终保持在在彻底供电状态(一直醒着),它有能力执行通讯(P9)和一个休眠的节点,有时可能会进入睡眠模式(低功耗状态,以节省电力)和暂时停止协议通讯(P0);没有明确说起P1。
本文档介绍了常见的术语,不会增长任何新的安全问题。由于受限所产生的安全方面的考虑须要在特定的协议下进行讨论。例如,[COAP]的11.6节,“受限节点的考虑”,探讨了在受限状况下对使用安全机制的影响。[ROLL-SEC-THREATS]为RPL路由协议提供了安全威胁分析。在[IKEV2-MINIMAL]和[TLS-MINIMAL]有讨论受限节点的安全协议的实现问题。在[IOT-SECURITY]提供如何使受限节点网络更安全的观点。