传输映射的选择
传输映射决定 OPC UA 消息以什么形式走网络。最常用的是二进制 TCP:帧结构紧凑、解析开销小,适合厂内网络,习惯使用 4840 端口。当网络只允许网页流量通过时,可以把同样的二进制消息承载在 HTTPS 上,换取更强的穿透能力,早期基于网页服务规范的旧式编码已被逐步淘汰。还有一类是在 TLS 之上承载二进制消息的传输方式,用来在不改动应用层安全配置的前提下获得传输层加密。三者可以并存,按网络可达性和安全要求选用。
基本信息
| 二进制 TCP | 效率最高,厂内网络默认选择 |
|---|---|
| HTTPS | 穿透只放行网页流量的边界,适合跨网段与云侧接入 |
| TLS 传输 | 在加密通道上承载二进制消息,属于传输层保护 |
| 端口约定 | 常用端口只是习惯,规范不强制,需按实际部署确认 |
| 保护层次 | 传输层保护与应用层安全策略可叠加 |
| 选择顺序 | 先看网络可达性,再看是否需要额外加密与开销承受能力 |
典型使用场景
- 厂内采集:用二进制 TCP,追求低开销与高吞吐
- 跨企业边界:只有网页流量被放行时改用 HTTPS 承载
- 云平台接入:经反向代理转发,便于与现有域名和证书体系共用
- 双重保护:传输层与应用层同时加密,用于穿透不可信网络
- 移动网络接入:链路质量差、需要重连策略时评估超时与心跳配置
- 性能敏感场景:加密带来的额外开销需要实测,而不是凭直觉判断
三种传输对照
| 传输 | 默认端口习惯 | 优势 | 代价 |
|---|---|---|---|
| 二进制 TCP | 4840 | 开销小、延迟低 | 端口不常规,网络策略需单独放行 |
| HTTPS 承载 | 443 | 穿透力强、易与现有证书体系集成 | 额外封装开销,错误排查链路更长 |
| TLS 承载 | 4843 等 | 不改应用层配置即获得传输加密 | 与应用层策略叠加时重复加解密 |
| 旧式网页服务编码 | 443 等 | 兼容早期实现 | 已被逐步淘汰,不建议新部署 |
连接地址示例
连接地址示例
# 二进制 TCP:厂内标准接法
# opc.tcp://192.168.10.20:4840
# 加 discovery 后缀可免会话获取端点列表
# opc.tcp://192.168.10.20:4840/discovery
# TLS 承载:传输层已加密,应用层策略可另行选择
# opc.tcp://plc01.example.com:4843
# HTTPS 承载:穿越只放行网页流量的边界
# 以产品文档给出的地址格式为准,路径部分各实现不同防火墙策略只按端口放行很容易漏掉非标准端口:部署前用发现服务确认端点实际使用的地址与端口,再据此出策略。
传输层与应用层同时启用强加密会带来两层加解密开销,在数百个监控项的高频场景下需要实测服务器处理器占用,避免因加密把发布周期拖长。