ISO/IEC 29341-26-16:UPnP WANDevice v2——根 WAN 设备架构

UPnP 互联网网关设备框架中 WANDevice v2 根设备的架构分析

WANDevice v2 引言

ISO/IEC 29341-26-16 定义了 WANDevice v2 根设备,这是互联网网关设备(IGD)WAN 侧的顶层 UPnP 设备模板。虽然各个 WAN 服务(WANIPConnection、WANPPPConnection、WANCommonInterfaceConfig 等)处理特定的控制功能,但 WANDevice v2 提供了将它们绑定在一起的组合框架。它定义了设备层次结构、必需和可选的嵌入设备,以及呈现给局域网上 UPnP 控制点的服务发现界面。

WANDevice v2 标准编号为 ISO/IEC 29341-26-16,但它在架构上是整个 29341-26 UPnP WAN 系列的基石。每个其他部分(26-11 至 26-15)定义嵌入在 WANDevice 或其子设备 WANConnectionDevice 中的服务。

WANDevice v2 从 v1 进行了多项架构改进:支持多个 WANConnectionDevice 实例(实现多 WAN 配置,如负载均衡和故障切换)、增强的设备描述元数据(包括制造商 URL 和型号描述)以及集成支持 IPv6 的服务变体。该设备模板明确规定了哪些服务是必需的,哪些是可选的,为实现者提供了最低合规要求的清晰指导。

设备层次结构与组成

WANDevice v2 模板定义了两层设备层次结构。在根级别,WANDevice 本身包含 WANCommonInterfaceConfig 服务(必需)和任意数量的厂商特定服务。在根设备之下,嵌入了一个或多个 WANConnectionDevice 子设备,每个子设备包含特定于连接的服务。每个 WANConnectionDevice 通常承载一个 WANIPConnection 或 WANPPPConnection 实例,并根据物理介质可选地包含 WANEthernetLinkConfig 或 WANDSLLinkConfig。

单个 WANDevice 内的多个 WANConnectionDevice 实例支持物理冗余和负载均衡。然而,每个 WANConnectionDevice 代表独立的连接上下文——端口映射和连接状态不会在实例之间共享。在 WANConnectionDevice 1 上创建的端口映射无法转发到达 WANConnectionDevice 2 外部接口的流量。

设备描述文档(XML 格式,通过 UPnP 的设备发现机制提供)声明了完整的层次结构。WANDevice v2 模板在描述中包含几个关键 设备属性friendlyName(用户可见的设备名称)、manufacturermanufacturerURLmodelDescriptionmodelNamemodelNumberserialNumberUDN(唯一设备名称)和 UPC(通用产品代码)。对于实现设备清单和固件管理的控制点来说,这些属性至关重要。

组件 类型 必需 服务/功能
WANDevice 根设备 承载 WANCommonInterfaceConfig
WANConnectionDevice 嵌入设备 是(至少 1 个) 承载连接特定服务
WANCommonInterfaceConfig 服务 物理接口监控
WANIPConnection 服务 每个 WANConnectionDevice 至少一个 IP 连接管理
WANPPPConnection 服务 可选 PPP 连接管理
WANEthernetLinkConfig 服务 如果是以太网 WAN 以太网链路配置
WANDSLLinkConfig 服务 如果是 DSL WAN DSL 链路配置

工程集成模式

在设计与 WANDevice v2 交互的 UPnP 控制点时,第一步是通过 UPnP 的 SSDP(简单服务发现协议)进行设备发现。WANDevice v2 必须使用设备描述 URL 响应 M-SEARCH 请求。控制点应解析设备描述,以发现 WANCommonInterfaceConfig 服务 URL(用于监控)和可用的 WANConnectionDevice 实例(用于连接管理)。

实现带有超时和重试机制的稳健设备发现。WANDevice v2 描述文档至关重要——没有它,控制点无法发现嵌入的服务。使用 3 秒 SSDP 搜索间隔,至少重试 3 次。缓存设备描述 URL 以最小化与同一网关后续交互时的多播流量。

对于多 WAN 网关实现(例如 LTE 故障切换 + DSL 主线路),WANDevice v2 包含多个 WANConnectionDevice 条目。控制点应遍历所有 WANConnectionDevice 实例以构建网关 WAN 连接性的完整视图。每个实例的 WANIPConnectionWANPPPConnection 服务公开连接状态,使控制点能够识别当前哪个 WAN 链路处于活动或优先状态。

WANDevice v2 模板没有规定在存在多个 WANConnectionDevice 时确定活动连接的标准化机制。控制点不应假设 WANConnectionDevice 1 始终是主设备。而是比较每个 WANIPConnection/WANPPPConnection 的 ConnectionStatus——处于 “Connected” 状态且具有最高 UpTime 值的连接通常是活动主链路。

v2 规范还改进了事件通知支持。当连接状态发生变化时(例如 WAN 链路中断),WANDevice v2 服务可以通过 GENA(通用事件通知架构)协议向订阅的控制点发出 UPnP 事件通知。这实现了无需轮询的实时监控。控制点应订阅所有可用 WAN 连接服务的 ConnectionStatus 变量,以接收链路状态转换的即时通知。

常见问题

问:WANDevice v2 与 IGD(互联网网关设备)根设备有何不同?
答:IGD 根设备(ISO/IEC 29341-24)包含 WANDevice 和 LANDevice 作为嵌入的子设备。WANDevice v2 特指 IGD 内的 WAN 侧子设备。IGD 根设备提供整体网关抽象,而 WANDevice v2 专注于 WAN 连接性。
问:单个网关中能否存在多个 WANDevice 实例?
答:该标准为每个 IGD 建模单个 WANDevice。但是,对于具有多个物理 WAN 接口的网关(例如独立的 DSL 和 LTE 模块),每个物理 WAN 可以在单个 WANDevice 中拥有自己的 WANConnectionDevice,或者实现可能使用多个 IGD 实例——这是该标准未完全解决的情况。
问:当 WANConnectionDevice 发生故障切换时,端口映射会怎样?
答:端口映射是每个连接设备独立的。如果活动 WAN 链路从 WANConnectionDevice 1 故障切换到 WANConnectionDevice 2,则 Device 1 上的端口映射保持不变但处于非活动状态。Device 2 上的映射必须单独创建。某些网关实现提供”复制端口映射”功能,但这属于厂商特定功能,未在 WANDevice v2 中标准化。
问:WANDevice v2 是否向后兼容 WANDevice v1 控制点?
答:通常是的。v2 规范通过保留所有 v1 服务和状态变量来保持向后兼容性。为 v1 设计的控制点可以发现 v2 设备并与之交互,但无法访问 v2 特定功能,如多个 WANConnectionDevice 实例或 IPv6 地址变量。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注