端点是什么
一个 OPC UA 服务器可以同时暴露多个端点:同一个端口上可以是不同安全策略与安全模式的组合,也可以是不同传输方式。端点信息里包含客户端应当连接的地址、可用的安全策略与模式、允许的用户令牌类型以及服务器证书。客户端连接前通常先访问发现端点(路径为 discovery)调用获取端点列表,这一步不需要会话,是纯查询。
基本信息
| 发现服务 | 获取端点、查找服务器、查找网络中的服务器、注册服务器 |
|---|---|
| 默认端口 | 二进制 TCP 传输通常使用 4840 |
| 发现路径 | 在地址后加 discovery,用于免会话查询 |
| 网络级发现 | 基于组播的服务发现,适合同网段自动识别 |
| 端点字段 | 地址、安全模式、安全策略、用户令牌策略、服务器证书 |
| 选择原则 | 先满足安全要求,再考虑性能与兼容性 |
典型使用场景
- 组态前先列端点,确认设备支持哪些安全策略与模式
- 多网卡或多主机名环境下挑选真正可达的端点地址
- 跨网段部署时用本地发现服务汇总服务器清单,省去逐台配置
- 安全策略升级期间核对旧策略是否仍然暴露在端点上
- 排查能发现却连不上的问题:地址、证书、策略三者逐一比对
- 资产梳理:扫描网段列出所有声明自己为服务器的设备
端点字段读法
| 字段 | 含义 | 注意点 |
|---|---|---|
| 端点地址 | 客户端应连接的地址 | 可能与发现地址不同,注意主机名解析 |
| 安全模式 | 无安全、仅签名、签名并加密 | 出现无安全即意味着明文可读写 |
| 安全策略 | 算法套件标识 | 旧策略可能已废弃,需按规范确认 |
| 用户令牌策略 | 匿名、用户名、证书、颁发令牌 | 用户名令牌在无加密端点下等于明文口令 |
| 服务器证书 | 用于校验与加密的公钥证书 | 需与信任列表配对使用 |
发现与选择的检查顺序
发现与选择的检查顺序
# 1 免会话获取端点列表
# 连接 opc.tcp://192.168.1.10:4840 并调用取端点服务
# 2 过滤:剔除无安全端点,剔除本端不支持的策略
# 3 检查端点地址能否解析、端口能否连通
# 4 校验证书:先信任再建立安全通道
# 5 选择签名并加密的端点,再进入会话与用户身份验证端点地址里常写的是服务器主机名而不是 IP,客户端解析不到该名称时会连接失败;用域名解析或本机名称映射解决,改代码硬编码 IP 会掩盖问题。
不少设备出厂默认同时开放无安全端点,方便调试却毫无防护;投产前应关闭无安全与仅匿名端点,只保留加密端点与必要身份方式。