张丽霞老师写的NDN+IoT领域必看的两篇综述之一
一、NDN的特性及应用到IoT场景的好处
1.Basic Protocol: Named Data Retrieval
例如:命名为"/LivingRoom/Lighting/OFF"的Interest包,可以使得livingroom中的灯关闭,回复的Data包作为对这个命令执行的确认
问题:livingroom中的每一个IoT设备都要对这个Interest包进行处理,以确定目标是不是自己,这会带来很大功耗?
2.Data-centric Security
相比于IP网络中基于通道或者会话的安全机制,基于data的安全机制使得NDN能够支持网内缓存、IoT环境网络的异构性。
NDN中用到的加密机制:asymmetric RSA、ECDSA signatures、HMACs(轻量级)、hash chain(轻量级)。
3.Name -based Forwarding
NDN基于名称的有状态转发机制有利于实现IoT的以下功能:
- 不需要为每个设备的每个接口分配和配置地址
- 节点从网络层发现应用层命名,不需要应用层命名到接口地址的映射
- 有状态的转发机制使得可以根据网络状况更细粒度地控制转发决策
- 在IoT网络连接不不稳定、异构的场景下,利用到网内缓存可以有利于内容分发。
4.In-network Storage
NDN的网内缓存分为长期存储(repository)和短期存储。
可能的场景:
- 传感器将传感数据送到reposity中存储,控制器从repository中取传感数据。
- 在无线mesh网络中,网内缓存可以有效应对重传的请求;生产者和消费者之间没有直接网络连接时,带有缓存的移动节点可以使得它们之间仍然能够传输数据。
二、相关工作
1.IP下的IoT协议栈:(IETF standards)
- 6LoWPAN: IEEE 802.15.4与IPv6之间的适配层
- RPL:路由协议
- CoAP:运行在UDP和6LoWPAN之上的一个应用层协议,提供类似于HTTP的通信接口
- DTLS:提供基于通道的安全
2.AIIJoyn
一个应用层框架,提供一个通用的软件接口,屏蔽底层网络技术(TCP/IP、Bluetooth等)和异构系统的细节。通过抽象出来的“message bus”进行设备及应用之间的通信,通过"bus name”区分不同应用,保留了会话的概念以及基于会话的安全机制。和NDN有本质区别。
3.ZigBee
ZigBee运行在链路层IEEE 802.15.4之上,但是不使用IP,而是定义了自己的网络层。ZigBee还提供了一个应用层框架,允许开发者将相同的应用层行为定义为一个profile,通过包含profile ID的请求发现临近设备和服务(Bluetooth和Bluetooth LE类似)。
ZigBee技术提供了面向连接的网络层服务和带命名的网络层服务,这与NDN基于命名的网络层是不同的。