关于IoT网络的一些特征的探讨

摘要: 网络是IoT设备非常关键的部分,本文和大家一起探讨IoT网络的几个重要特征,及AliOS Things尝试提供的一些解决方案。 IoT网络的特征包括IP网络,UDP网络,多种通信手段及拓扑。而AliOS Things也尝试提供包括CoAP,SAL,uMesh等技术方案来应对这些挑战。

网络是IoT设备非常关键的部分,本文和大家一起探讨IoT网络的几个重要特征,及AliOS Things尝试提供的一些解决方案。

IP网络
图片描述
今天是一个多样化的时代,不管什么技术都有多种标准存在,明争暗斗,每个人都有自己的小算盘,想要形成一个大一统的标准非常困难。从这个角度来说,IP网络的存在是个奇迹。IP网络真正做到了无种族,无国界,即插即用。IP网络可以为万物互联提供一个很好的基础。这种趋势也越来越明显,Zigbee推出了Zigbee IP,而谷歌也推出了同样基于802.15.4的Thread,Silicon Labs,TI等Zigbee核心厂商也纷纷支持(谷歌收购的Nest所使用的Thread是Silicon Labs开发的)。

IP网络还能给物联网带来几个明显的好处:

IP之上有大量成熟的软件栈,比如安全组件TLS/DTLS
IPv6能提供足够多的地址空间
大量熟悉socket的软件开发人员
当然IP只是提供了一个通道,还需要有上层的协议来做保证“彼此听得懂”,现在比较流行的有阿里云的ICA联盟,OCF,Google Weave,HomeKit的存在,这个话题在此不展开。

UDP网络
IP之上主要的两个传输层协议:TCP和UDP。应该说,目前为止,TCP都是碾压UDP的,一般听到的都是TCP/IP,几乎没听过UDP/IP。

TCP是一种面向连接的,可靠的,基于字节流的传输层协议。TCP的保活/重传/拥塞控制提供了一个很好的性能/健壮性折衷,对网络环境较好,实时性要求不高的应用来说,比如Web时代最流行的HTTP,TCP是非常好的选择。但是慢慢开始有人觉得TCP做得太多了,TCP的握手协议成为很多的Web API的性能的瓶颈,比如谷歌提出了QUIC(Quick UDP Internet Connection)试图通过UDP来进一步提高用户的网络体验。

在物联网,TCP的问题就更突出了,因为物联网环境经常面临网络信号不好,带宽有限,功耗苛刻。最近风头正劲的NB-IoT就是一个典型的例子。大多数NB-IOT的终端设备工作在电池环境下,传输速率较低,应用场景多种多样。TCP的面向连接,超时重传机制消耗更多的内存,同时也影响了功耗。

设想一下常见的传感器定时上传数据的场景:采集数据,上报数据,睡眠。因为定时上报,很多情况下,偶尔丢失数据是可以接受的。但是TCP为了提高数据到达率,其保活和重传机制会降低电池寿命,同时重传机制会消耗内存。

目前主流的云端通道协议还是基于TCP,主要是MQTT,包括阿里云IoT套件,Amazon,Azure。而阿里云IoT套件也支持CoAP,Google Weave也主要采用了UDP作为通信手段。

多种通信技术并存
不同的通信技术,其速率,覆盖范围,可靠性,功耗,部署,成本都是不同的,没有一种技术能包治百病。3G/4G网络在覆盖范围上优于WiFi,但是在速率,功耗,成本上又不如WiFi。WiFi在速率上秒杀BLE,但是功耗又被BLE秒杀。

物联网领域,LPWA(Low Power Wide Area)技术NB-IoT,LoRa,SigFox受到广泛关注,其低功耗广覆盖的特点,简化了各种复杂环境下的部署。基于802.15.4的WSN(Wireless Sensor Network)[3]技术Zigbee,Wi-Sun,在功耗和成本优势明显,适合大规模部署。

WiFi/BLE在消费电子类的普及度,其应用受到广泛关注。WiFi由于不需要网关,受到各种家电厂商的青睐(但是家里的智能设备越来越多时,AP的连接数将成为瓶颈)。同时,面向物联网WiFi联盟于2016年推出了WiFi的低功耗版本,802.11ah(Wi-Fi HaLow)[4]。BLE随着5.0的推出,更快的速率,更大的mtu,除了提高现有的点到点通信体验,基于BLE构建WSN也变得可能,对Zigbee等现有技术构成了威胁。

图片描述

多种连接方式及网络拓扑并存
下图是常见的网络拓扑:
图片描述

图1 互联网全球连接快照图,可以隐约看出一棵棵树的存在。在以太网中,Tree和Bus较为常见,有线局域网内部是一个Bus拓扑,但是从访问互联网的角度,需要经过网关,网关就成为了树的根节点,所以也是一种Tree拓扑。而在无线局域网中,WiFi是Star拓扑,WSN以Tree/Mesh为主。在广域网包括LPWA,可以看作以基站为主的Star拓扑,基站之间则是Mesh拓扑。

在现有的以太网构成的骨干网基础上,在物联网中相信WSN/LPWA会有越来越多的应用。WSN的低成本低功耗,配合LPWA的低功耗广覆盖,可以覆盖非常广的物联网场景。

AliOS Things的网络特性
针对上述的特点,AliOS Things从多个纬度提供相应的组件以更好的支持IoT设备的网络需求。除了基于LwIP2.0高度优化的协议栈外,还提供了以下丰富的组件:

基于CoAP的全链路优化
AliOS Things支持基于CoAP的上云通道(比如阿里云IoT套件),同时支持基于CoAP的FOTA,使得构建一个全UDP的系统成为可能。关于AliOS Things上的CoAP支持的进一步信息可以参考:AliOS Things全链路优化-CoAP FOTA。

图片描述

SAL网络适配层
在IoT设备上MCU外挂通信模块非常常见,而MCU和通信模块之间的通信方式也多种多样,为了降低复杂度,经常是通信模块上跑了完整的TCP/IP协议栈,而MCU通过AT或者私有协议去控制。针对这种情况,AliOS Things通过SAL组件,对上层提供标准socket接口,对下则可以基于SAL device适配私有协议。对于常见的AT模块,AT Parser进一步降低了对接的复杂度。进一步信息参考:AliOS Things网络适配框架 - SAL。

uMesh
uMesh是无线协议无关的,IP之下,MAC之上的自组织网络协议栈。uMesh是一种Routing Mesh,支持树状拓扑和网状拓扑,树状拓扑下采用结构化地址路由,极大的减少了路由表大小。uMesh可以无缝和TCPIP协议栈对接,从而使得各类资源受限的无线设备可以简单的接入IP网络。uMesh是AliOS Things为复杂网络设计的,解决最后一公里通信问题的技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字典 学生成绩等级_python-列表及字典进阶

# -*- coding: utf-8 -*-l list(python) print(l) l[2:] zza print(l)numbers [1, 5] print(numbers)numbers[1:1] [2, 3, 4] print(numbers)numbers[1:4] [] print(numbers)d {lilei: 98, hanmeimei: 99} # 写字典的方法 print(d)message [(lilei, 98), (hanmeimei, 9…

highcharts ajax 数据格式,Highcharts ajax获取json对象动态生成报表生成 .

最近做个项目,项目经理想做一个统计报表,在网上查看些资料就选用Highchars 这里和大家分享下使用心得。重点说明此代码是针对一个报表显示多个项对比显示。直接贴代码:web端$(document).ready(function() {var options {chart: {renderTo: c…

5G承载网,到底有哪些关键技术?

戳蓝字“CSDN云计算”关注我们哦!作者 | 小枣君来源 | 鲜枣课堂之前小枣君给大家介绍了5G承载网的基本知识(链接:5G承载网到底有什么不同?)。今天,我们再来看看5G承载网中的常见关键技术。首先&#xff0c…

SpringBoot2整合Activiti6工作流框架 源码

git clone gitgithub.com:gb-heima/Activiti.git 创建分支 cd Activiti git checkout -b study6 activiti-6.0.0编译项目 mvn clean test-compilercd modules/activiti-ui//activiti-appmvn clean tomca7:rundemo开始 流程图绘制 首先创建一个基本的maven工程 初步流程图效果…

一个智能运维算法测试方法

摘要: 质量是企业长远生存的根基,是企业竞争的免死金牌。作为质量控制团队的一员,保障和提高所负责系统的质量,是工作的核心。而完善的测试覆盖,是保证质量的有效手段。 写在前面 质量是企业长远生存的根基&#xff0…

阿里巴巴1682亿背后的“企业级”高效持续交付

摘要: 在2017北京云栖大会上,阿里巴巴高级技术专家陈鑫(花名神秀),给大家带来了《1682亿背后的企业级高效持续交付》,引起强烈共鸣。神秀从技术负责人关心的研发流程混乱、质量无法保障、环境管理低效、资源…

星形和雪花模型_数据仓库多维数据模型设计

建设数据模型既然是整个数据仓库建设中一个非常重要的关键部分,那么,怎么建设我们的数据仓库模型就是我们需要解决的一个问题。这里我们将要详细介绍如何创建适合自己的数据模型。数据仓库建模方法大千世界,表面看五彩缤纷,实质上…

可视化流程设计器 Activiti Designer

插件安装地址:http://activiti.org/designer/update 插件使用手册:http://www.activiti.org/userguide/index.html#activitiDesigner Intellij IDEA版本: http://plugins.jetbrains.com/plugin/7429?pridea (或在插件中心搜索actiBPM)

FreeWheel是一家怎样的公司?| 人物志

戳蓝字“CSDN云计算”关注我们哦!人物志:观云、盘点、对话英雄。以云计算风云人物为核心,聚焦个人成长、技术创新、产业发展,还原真实与鲜活!作者 | 孙浩峰在知乎上有一个帖子,题目就是“FreeWheel是一家怎…

2017双11技术揭秘—千亿级流量来袭,如何用硬件加速技术为CPU减负?

摘要: 在刚过去的2017年双11零点流量高峰的考验下,主站接入层Tengine Gzip硬件加速机器运行平稳、同等条件下相比于未开启QAT加速的机器性能提升21%左右。 作者:王发康(毅松) 主站接入层是阿里2015年全站HTTPS项目诞生…

STS安装 activiti-designer-5.18.0插件

方式一:在有网络的情况下,安装流程设计器步骤如下: 1、点击eclipse上方工具栏的Help,选择Install New Software 2、弹出如下窗口,然后填写插件名称和安装地址 Name: Activiti BPMN 2.0 designer Location: http://a…

2017双11技术揭秘—分布式缓存服务Tair的热点数据散列机制

摘要: Tair是阿里巴巴集团自研的弹性缓存/存储平台,在内部有着大量的部署和使用。Tair的核心组件是一个高性能、可扩展、高可靠的NoSQL存储系统。目前支持MDB、LDB、RDB等存储引擎。本文基于Tair的存储和访问原理,对缓存的读写热点问题进行讨…

5G精华问答 | 5G与LTE有什么关系?

1G时我们用手机打电话,2G时我们能互发短信、看文字信息,3G时上网看图片,而4G时我们看视频和直播,从1G到4G,不仅信号越来越好,安全性越来越高,上网也越来越快了。1Q:5G关键指标A&…

2017双11技术揭秘—双十一海量数据下EagleEye的使命和挑战

摘要: EagleEye作为阿里集团老牌的链路跟踪系统,其自身业务虽不在交易链路上,但却监控着全集团的链路状态,特别是在中间件的远程调用上,覆盖了集团绝大部分的场景,在问题排查和定位上发挥着巨大的作用&…

2017双11技术揭秘—TDDL/DRDS 的类 KV 查询优化实践

摘要: 性能优化是企业级应用永恒的话题,关系型数据库查询优化更是如此。在前台核心业务场景中,类 KeyValue 查询(以下简称类 KV 查询)是非常常见的,并且在应用总 SQL 流量占比很高,如果仅在SQL层面进行进一步优化会非常困难&#…

揭密|淘宝服务端千万级高并发架构的演进之路

戳蓝字“CSDN云计算”关注我们哦!作者 | huashiou来源 | https://segmentfault.com/a/11900000186261631、概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术&#…

VMware安装Centos7超详细过程(图文)

软件版本链接VM14后续补充CentOS7http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso参考链接https://blog.csdn.net/babyxue/article/details/80970526文章目录一、虚拟机准备① 打开VMwear选择新建虚拟机② 典型安装与自定义安装③ 虚拟机兼容…

2017双11技术揭秘—X-DB支撑双11进入分布式数据库时代

摘要: 今年双11是X-DB的第一次大考,本次双11X-DB服务于天猫/淘宝核心交易系统、核心物流系统、核心IM系统,经受了零点业务32.5万笔/秒峰值的性能考验,同时X-DB支撑起了新一代单元化架构. 作者:章颖强(江疑)…

ifix虚拟服务器,ifix的客户端和服务器

ifix的客户端和服务器 内容精选换一换介绍使用同一VPC内弹性云服务器ECS上的C# Redis客户端连接Redis实例的方法。更多的客户端的使用方法请参考Redis客户端。已成功申请Redis实例,且状态为“运行中”。已创建弹性云服务器,创建弹性云服务器的方法&#…