我了解路由器如何使用 NAT/NAPT 使我的家庭网络上的客户端能够从外部服务器请求数据包,以及路由器如何知道将外部服务器返回的数据包发送给哪个客户端。
但是,如果我在手机上打开应用程序(出门在外时),它如何连接到我家网络上的空调控制器(以及什么会停止任何事物通过互联网与我的空调控制器 - 或者实际上是我家庭网络上的任何其他设备建立连接?
答案1
许多智能家居设备都会与供应商运行的服务器建立自己的传出连接,并且供应商的智能手机应用程序也会登录到供应商服务器上的帐户,服务器负责在应用程序与服务器的连接以及智能家居设备与服务器之间预先建立的连接之间中继通信。
应用程序对您进行身份验证以登录服务器,希望能阻止任何人连接到您的智能家居设备。
确实存在允许设备(例如智能家居设备)告诉其网络的 NA[P]T 网关打开端口映射(端口转发规则)以允许从公共互联网进入该设备的连接的协议。端口控制协议、其前身 NAT 端口映射协议 (NATPMP) 和通用即插即用“互联网网关设备”配置文件 (UPnP IGD) 的某些规定就是几个例子。但是,设备不能依赖每个 NAT 网关来支持这一点,因此智能家居设备供应商始终必须设置某种可公开访问的服务器来执行我之前描述的操作,以便构建可靠的产品。
答案2
不谈技术细节 —— a)我不太擅长 & b)可能会因应用程序和物联网设备的不同而有所不同……
两者都连接到互联网上的“中央服务器”,该服务器会转发您的命令和设备的响应。每个连接都是出站的,因此您的防火墙或 NAT 不会妨碍,并且 NAT 可以将响应定向到建筑物内的正确设备。
这与 TeamViewer 的工作方式非常相似。你不必尝试通过路由器进入设备,它很有帮助地与该设备之外的某个地方联系 每个人可以到达。
当然,通信是加密的,因此随机的恶意行为者无法加入。