了解物联网云服务之概貌,以进一步学习了解IoT

电子说

1.2w人已加入

描述

近年来,物联网(IoT,Internet of Things)已经从概念阶段走向大规模应用。据Gartner统计,全球物联设备总数量从2016年的60+亿增加到2017年的80+亿,预计2020年全球将达到至少300+亿物联设备。超大规模的设备联网必定离不开专业云计算服务的支持,诸多互联网及高科技公司都已推出自己的物联云平台,供终端设备厂商方便快捷地令其设备支持联网功能。我前段时间写过两篇文章(《MQTT协议例析》、《CoAP协议例析》)介绍了物联网主要的两个应用协议(MQTT、CoAP),自己搭建开发环境测试并基于Wireshark抓包,分析了该两协议的主要流程与功能要点。在本文中,我将介绍百度云IoT、阿里云IoT、腾讯云IoT三个物联云服务对IoT协议的支持情况,并分析抓包流量,对比差异,给出可能的DPI(Deep Packet Inspection)特征,以助读者更好了解。

百度云IoT

百度云IoT服务支持 MQTT、MQTT over TLS、MQTT over WSS (WSS即WebSocket Secure)三种物联网协议。百度云允许用户自定义实例名,并以该实例名作为用户独立DNS子域名,且形成三种协议的服务端URL。当设备端集成百度云IoT SDK时,需根据所选用的协议来填写对应的URL。对于DPI流量识别来说,百度云IoT的流量特征较为明显,可将 *.mqtt.iot.gz.baidubce.com 或其它同类域名用于识别百度云IoT流量。

云服务

阿里云IoT

阿里云IoT支持 MQTT over TLS、CoAP over DTLS、HTTPS 三种物联网协议。阿里云在用户自定义产品名时,会自动生成一个 ProductKey,并以该ProductKey作为用户独立DNS子域名。对于DPI流量识别来说,阿里云IoT的流量特征也较为明显,可将*.iot-as-mqtt.cn-shanghai.aliyuncs.com、*.iot-as-coap.cn-shanghai.aliyuncs.com 或其它同类域名用于识别阿里云IoT流量。

云服务

腾讯云IoT

腾讯云IoT支持 MQTT over TLS、CoAP over DTLS 两种物联网协议。与百度云IoT、阿里云IoT不同的是,腾讯云IoT的DNS域名并不是用户的独立子域名。腾讯云在用户自定义产品名/设备名时,会自动生成一个 productID,并将“productID+设备名称”在TLS的 ClientKeyExchange 消息、DTLS的 Client Certificate 消息中提供给云端。对于DPI流量识别来说,腾讯云IoT的流量特征也较为明显,可将 iotcloud-mqtt.gz.tencentdevices.com、iotcloud-coap.gz.tencentdevices.com 或其它同类域名用于识别腾讯云IoT流量。

云服务

云服务

物联云协议特征对比分析

每种物联云服务都可能提供给多个不同终端设备厂商使用,对于DPI流量识别来说,既应该支持识别不同物联云服务的流量,也应该支持某一种物联云服务内不同厂商终端设备的应用流量。

首先,按云服务识别:各物联云IoT服务,通常可根据DNS特征识别服务器IP地址,再根据IP地址识别相应流量。如因终端设备本地缓存DNS等情况而无法获取DNS的话,则可将SNI(Servcie Name Indication)或服务器证书CN(Common Name)作为补充特征。

云服务

其次,按终端应用业务细化识别:各物联云IoT服务,要么可通过DNS细化识别终端应用流量,要么可通过 Client Key Exchange 或 Client Certificate 消息细化识别终端应用流量。值得注意的是,百度云IoT较为特殊,支持明文方式MQTT协议,这时可通过 MQTT CONNECT 中 username 或 PUBLISH/SUBSCRIBE 消息中 Topic 作DPI特征,识别更加精细化的终端应用行为信息。

云服务

本文介绍了百度云IoT、阿里云IoT、腾讯云IoT三款国内主流物联网云服务的协议支持情况,通过流量对比分析,给出有效的DPI特征用于流量识别。希望可以帮助读者了解物联网云服务之概貌,以进一步学习了解IoT,了解万物互联。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分