各层各自寻址的问题
局域网络用设备号,广域网络用 IP,卫星链路往往还有一层自己的终端标识。数据每跨一层就要做一次映射,映射表放在哪里、谁来维护、冲突了怎么办,全是项目现场的隐性成本。
统一地址空间
我们的做法是给每台设备一个与网络层无关的稳定标识,各层只负责把这个标识路由到当前位置,而不是重新编址。
device_id = { 厂商码 : 设备类型 : 序列号 }
route = { 当前接入层 | 接入点 | 有效期 }
设备换层、换接入点,device_id 不变,只更新 route。上层应用引用的一直是同一个标识。
连锁影响一:鉴权
地址稳定之后,鉴权可以从「按网络位置授权」改成按设备身份授权。证书绑定的是 device_id,设备移动不需要重新签发。
连锁影响二:时钟同步
跨层时钟同步必须解决链路抖动。我们采用分层时间基准:每层维护自己的时间源,层间只同步偏移量与抖动范围,不做逐跳的紧耦合同步。代价是跨层时间精度低于层内,收益是任何一层链路波动都不会污染整网时钟。
代价
统一寻址不是免费的:它需要一套全局的设备注册与路由分发机制,也就意味着云平台成为强依赖。我们接受的取舍是——把复杂性收到平台侧,换取现场侧的稳定。