对于我们这个世界,由于角度不同,不同人看同一事物会得出不同的看法。这些不同看法表面看上去大相径庭,实则都有其各自的道理。
一头大象,有人说是蛇,有人说是墙,有人说是树,还有人说是绳。
同样一个数字,有人说是9,有人说是6。
同样一个996,有人说是福报,有人说是为了腹饱。
他们都没错,他们只是站在各自的预设立场上,得出了这个立场下的正确回答而已。
物联网也是如此。大家对当前互联网的基石IP协议的看法导致了两种不同的观点:
I类物联网:我们要接入客户的高价值设备(中央空调、机器人、医疗设备等)卖网关卖物联网云平台赚钱。
- 那就用高主频的网关连接高价值物联网监控设备,然后通过高速稳定的4G网络或以太网连接云服务器。现有的IP协议用起来挺好,那就愉快地继续用下去。实现小目标要紧。
II类物联网:我们要实现万物互联。要万物互联,那就得用低成本单片机接入海量的廉价物联网设备。
- 但是单片机之类的微处理器性能弱鸡的很,微处理器的无线网络协议也是低速率不稳定的,跑IP协议开销太大跑不动,得重启炉灶重新设计更轻量级的协议。
从能否使用互联网协议来分类,有两种情况:
- IP-0: 无法使用互联网技术。
- IP-1: 可以使用互联网技术。
对于能够使用互联网技术IP-1来说,还可以细分三种情况:
- IP-1-1: 需要修改现有互联网协议才能使用。
- IP-1-2: 不需要修改现有互联网协议,可以直接使用。
- IP-1-3: 不光可以直接使用现有互联网协议,还能跑Linux。
根据长尾理论,从市场需求来说,实际上量最大的是IP-1-1这种情况。
I类物联网则只针对IP-1-2和IP-1-3这两种情况,赚企业物联网的小目标。
II类物联网则先天下之忧而忧,要解决IP-1-1这种情况下的问题,改造现有的互联网协议。
I类物联网公司(专注企业物联网开发的公司)认为,物联网就是用功耗较高的网关把一些贵重设备(如中央空调、机器人、ATM贩卖机、医疗设备等),通过现有的IPv4网络连接起来。
比如用一个主频800MHz的ARM A8处理器运行嵌入式Linux系统,在上面运行C语言或Java写的网关软件,通过现有的IPv4网络与云服务器进行通信。
由于这些贵重设备数量不会太多,因此用IPv4就足够了,不需要对现有协议进行修改。
持II类物联网观点的人(IETF IoT 工作组)则认为,要实现万物互联,把灯泡、开关、门锁各种各样的小东西,全都连起来。
但是由于这些物数量实在太庞大,超过了原来IP协议设计时的IP地址的数量,因此需要基于IPv6网络来传输。
同时这些物都是运行在毫瓦或微瓦级功耗的低成本的单片机上,无法使用完整的Wi-Fi之类的无线协议栈。
而是使用低速率无线个域网。
因此他们(IETF IoT 工作组)为了让互联网更好用,就开始设计受限设备的协议,比如6LowPAN、CoAP等协议,用于适应物联网的应用场景。
他们考虑的是如何让受限节点(定义见RFC7228)连接上现有的IPv6互联网。
受限节点就是数据存储和代码存储空间都很小的计算节点。
在这种受限节点上运行现有的网络协议栈很困难,相当于小牛拉大车:
下表就是这两种看法的分类总结:
这两种世界观,其实并没有高下之分,只是看待问题角度不同而已。