首页/网络/工控与物联网速查/OPC UA在TCP与HTTPS传输的差异
工业协议80 条

OPC UA在TCP与HTTPS传输的差异

OPC UA 消息可承载在多种传输上:二进制 TCP 效率最高,HTTPS 便于穿透只允许网页流量的边界,TLS 传输能低成本获得传输层加密;端口号是习惯约定而非强制。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌​​​​‌​​‌​‌‌​‌​‌‌‌​‌​​​‌‌‌​​‌​​‌‌​​​​‌​‌‌​‌‌‌​​‌‌‌​​‌‌​‌‌‌​​​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌‌​​​​​​‌​‌‌​‌​‌‌​‌​​​​‌‌‌​‌​​​‌‌‌​‌​​​‌‌‌​​​​​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

传输映射的选择

传输映射决定 OPC UA 消息以什么形式走网络。最常用的是二进制 TCP:帧结构紧凑、解析开销小,适合厂内网络,习惯使用 4840 端口。当网络只允许网页流量通过时,可以把同样的二进制消息承载在 HTTPS 上,换取更强的穿透能力,早期基于网页服务规范的旧式编码已被逐步淘汰。还有一类是在 TLS 之上承载二进制消息的传输方式,用来在不改动应用层安全配置的前提下获得传输层加密。三者可以并存,按网络可达性和安全要求选用。

基本信息

二进制 TCP效率最高,厂内网络默认选择
HTTPS穿透只放行网页流量的边界,适合跨网段与云侧接入
TLS 传输在加密通道上承载二进制消息,属于传输层保护
端口约定常用端口只是习惯,规范不强制,需按实际部署确认
保护层次传输层保护与应用层安全策略可叠加
选择顺序先看网络可达性,再看是否需要额外加密与开销承受能力

典型使用场景

  • 厂内采集:用二进制 TCP,追求低开销与高吞吐
  • 跨企业边界:只有网页流量被放行时改用 HTTPS 承载
  • 云平台接入:经反向代理转发,便于与现有域名和证书体系共用
  • 双重保护:传输层与应用层同时加密,用于穿透不可信网络
  • 移动网络接入:链路质量差、需要重连策略时评估超时与心跳配置
  • 性能敏感场景:加密带来的额外开销需要实测,而不是凭直觉判断

三种传输对照

传输默认端口习惯优势代价
二进制 TCP4840开销小、延迟低端口不常规,网络策略需单独放行
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 承载:穿越只放行网页流量的边界
#   以产品文档给出的地址格式为准,路径部分各实现不同
防火墙策略只按端口放行很容易漏掉非标准端口:部署前用发现服务确认端点实际使用的地址与端口,再据此出策略。
传输层与应用层同时启用强加密会带来两层加解密开销,在数百个监控项的高频场景下需要实测服务器处理器占用,避免因加密把发布周期拖长。

易错点

  • 把端口号当成规范强制值写进安全策略,设备改端口后全线不可达
  • 经反向代理转发时未保留必要头部信息,端点返回的地址客户端无法解析
  • 只启用传输层加密但应用层策略仍为无安全,误以为已完整加密
  • 在链路质量差的网络上未调整心跳与超时,连接频繁重建导致数据缺口

数据来源与参考

  • OPC 10000-6:Mappings(传输映射)
  • OPC 10000-2:Security Model
  • OPC 10000-7:Profiles(传输相关 Profile)

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/opc-ua-transport-tcp-https.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​‌‌​​‌​‌‌​‌​‌‌‌​‌​‌​‌‌​​​​‌​​‌​‌‌​‌​‌‌‌​‌​​​‌‌‌​​‌​​‌‌​​​​‌​‌‌​‌‌‌​​‌‌‌​​‌‌​‌‌‌​​​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​​​‌‌​‌‌‌​​​​​​‌​‌‌​‌​‌‌​‌​​​​‌‌‌​‌​​​‌‌‌​‌​​​‌‌‌​​​​​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​