物联网设备的专属域名是一种独立注册的域名, 这种域名的注册目的是为了面向一些特定的场景, 比如设备管理的场景, 再比如远程通信的场景, 还有固件的OTA升级等场景。
它专门用于标识设备的集群, 并且用来构建一个安全的设备身份体系。和那些通用的域名相比不一样的是, 它通常绑定的是特定的协议, 这些协议包括MQTT、CoAP和HTTPS。这样做的目的在于服务于设备与云平台之间的双向通信。
物联网设备专属域名的核心作用
针对设备身份标识, 这一操作是要给每一台具体的设备, 以及每一个生产的设备批次, 都去分配一个唯一的、可以被解析出来的地址, 这样做就是为了让后续的集中管理工作变得更加容易实现, 也是为了让对相关状态进行监控这件事变得具有可行性。
通信入口统一是这样的, 也就是所有的设备都是通过同一个域名来接入到云平台里面的。这样做呢, 就可以降低因为IP地址发生变动而带来的那些维护成本。
加强安全层次, 通过搭配使用 TLS证书来做到设备之间的相互认证, 从而挡住那些没有权限的设备连接到系统。
固件包是通过域名所对应的那个CDN节点来下发的, 并且这个过程还支持灰度发布, 也支持回滚。
注册申请流程(以gname.xin等域名注册平台为例)
1. 确定域名名称, 要把品牌的缩写、设备的类型, 还有区域的这个前缀给结合起来进行组合, 举一个例子, 比如“mqtt-iot-sz.example.com”这样的格式, 建议要保留两个到三个作为备选的域名名字, 需要到提前在那个注册商的平台上查询一下这些名字的使用状态怎么样。
2. 选择注册周期: IoT项目往往需要很长一段时间来完成, 所以大家最好一下子就把两到五年的服务期给定了, 这样做的话, 就不会因为老是去续费, 从而出现解析中断那样的麻烦事情了。
3. 完成实名认证这句话的意思是, 企业类用户这个群体, 是需要去提交公司的营业执照以及具体的负责办理人的身份信息的。如果是个人开发者这个类型的话, 是能够直接使用自己的身份证件来进行操作的关于审核这个工作过程, 通常大概需要一到两个工作日的时间来完成。
4. 等支付与开通的事情搞定, 注册成功以后, 你的这个域名会默认待在注册商提供的那个默认DNS里面。这时候需要手动把它切换到你自己的DNS服务器上面去。
DNS解析与设备端配置
在 dns 管理面板里面添加那条 a 记录, 把指向内容设为边缘网关的 ip 地址, 或者, 去添加那条 cname 记录, 让它的名字指向云厂商这边的设备接入点。
当涉及到MQTT协议和CoAP协议的时候, 我们的建议是去同时配置一下SRV记录。这样做主要是为了让设备端能够通过那个标准的服务发现机制, 从而顺利地定位到具体的接入节点。
在设备固件之中写入域名的方式而不是采用硬编码的IP地址这种方式, 以此来确保在网络拓扑发生变更之后, 对应的设备确实是不需要再次进行重新编译操作。
在进行多区域部署的时候, 大家可以利用GeoDNS这个办法, 根据设备所在的地理位置, 来返回最近的那个边缘节点地址。
关键注意事项
常见疑难
设备端无法解析新域名: 需要去查看设备的本地 DNS 缓存, 或者查找一下是不是有没有硬编码的旧 IP 地址在里头, 可以去重启一下设备, 也可以把 TTL 的值缩短一点, 然后再进行重试操作。
跨大陆访问延迟高的情况, 可以通过将域名接入全球CDN的方式来解决, 并且可以在解析层按照区域来进行分流处理。
注册名称被抢注的情况需要处理, 方法是提前在多个顶级域里面做好防御性的注册工作, 这些顶级域包括.com、.iot和.device等这样的组合, 或者也可以找商标代理来负责监测的事情。
注册物联网设备专属域名并不是一回子的事情, 它不是一个简单的技术操作, 而是一个关系到设备从开始到结束的所有阶段的基础设施决定。要把域名选好, 要弄好解析设置, 要保护好安全, 只有这样, 才能保证在设备大量加入后, 它们的通信过程是稳定的, 是可靠的。


