物联网的思考

       我们每天都离不开的传统互联网尽管使用了只承诺“尽力而为”的IP技术,但实际上非常的稳定可靠。在容量和骨干路由等方面的超规格配置使得用户总是预期互联网能够提供高等级的业务。“云”架构和现代商业组织的结构就是建立在这种对互联网的质量和稳定性的预期之上。



       但是在传统互联网中,资源超规格配置不是雨露均沾的。越是靠近网络的中心,资源配置的超规格程度就越高;越是靠近网络的边缘,资源配置的超规格程度就越低,甚至得不到超规格配置。如果说互联网的骨干网是“头等舱”,那么汇聚网就是“公务舱”,接入网(特别是无线接入网)则是“经济舱”。而绝大多数物联网都属于接入网络的极端边缘部分,只能享受“货物舱”待遇,忍受着通信连接的时断时续和通信质量的时好时坏。物联网终端设备依靠自带的电池或者不稳定的太阳能供电,必须经常进入休眠状态以便降低功耗,延长工作时间。无线连接的带宽非常有限,有时候需要被几个设备轮流使用。



       传统的互联网协议,比如TCP/IP,应对数据包丢失和通信连接不稳定的方法是重新发送数据包。尽管任何一个IoT设备发出或者接收的数据流量都非常小,但是由于IoT设备的数量非常多,汇总起来的流量仍然非常大。由于绝大多数IoT设备产生的数据如果单独拿出来,都没有什么重要性,因此不加区别地重发所有丢失的IoT数据包是非常低效的。而且,绝大多数IoT设备在一段时间内发送的数据都变化不大,甚至基本重复,因此丢失一次或者连续几次数据包不会造成什么不利影响。当然,如果是类似远程手术或者自动化车间这样的mission-critical物联网业务,情况就完全两样了。Mission-critical物联网业务对数据速率、时延、丢包率、抖动等指标都有苛刻的要求,使用传统互联网协议甚至加强版的互联网协议是非常有必要的。



       我们很容易被这样的想法所诱惑,即把现在被广泛使用的、成熟的协议,比如TCP/IP,照搬到物联网上。这不仅能为通信行业节约大量的人力物力,而且这些协议已经因为被无数的开发者和工程师用在了全球数十亿个PC和智能手机的协议栈,而被证明绝对可靠。但是,还是那句话,这些协议中的绝大多数不适合用在绝大多数的物联网设备上。



       最基本的麻烦就在于,这些协议太健壮了。它们占空比高、数据速率大、稳定可靠,就像一位体格健壮的篮球中锋,任凭对手如何推搡,始终能够在攻防两端控制篮筐,收割分数和篮板。但是,这些在PC和智能手机上非常受欢迎的优点,反而成为IoT设备的累赘和麻烦。有人也许会问:“会有什么坏处呢?更多的能力难道不是件好事吗?”对于物联网来说,更多的能力还真就不是件好事。



       物联网不需要健壮的协议的关键理由在于,这些协议需要很多额外的数据开销用于管理,而绝大多数简单的物联网设备的处理能力、内存和数据收发能力又都非常有限。对一些最初打算为每一个路灯杆、每一个冰箱、每一个停车计时表、每一个液流阀配置IP协议栈的人来说,这是一个令人震惊的发现——一旦他们开始从“望远镜的正确的一头”,即从网络的边缘处,观察物联网。反过来,为这些视IP协议能力为非必需物甚至是负担的物联网设备提供一个新的解决方案,高效率地替它们管理产生的海量数据,并且与现存的配置了IP协议栈的设备共存并且互联,将是一个明智的选择。我们必须放弃因为长期沉浸于由PC、智能手机以及迎合人类习惯的接口组成的互联网环境而产生的根深蒂固的个人体验和概念,为处于互联网最边缘的物联网的简单得多的需求设计出新的简单的解决方案。对于绝大多数IoT设备来说,基本的需求仅仅是发出和接收极少量的数据包,需要的硬件设备也非常简单:包含了最精简的接口和数据收发能力的集成芯片。而传统的网络协议栈的运行需要高性能CPU、操作系统、内存和其它硬件配置。即便这些硬件能够集成在单片芯片上,其复杂性、功耗和成本对于IoT设备来说,依然是一个没有必要和不可承受之重。


猜你喜欢

转载自blog.csdn.net/wangyongtao1240/article/details/80666110