TR-069第一期第六修正版-2

2 架构

2.1 协议模块

CWMP包括几项本协议特有的组件,也使用几项标准协议。CWMP定义的协议栈如图2所示。表1对协议各层进行了简单描述。请注意,除非另有规定,否则CPE和ACS必须遵守基本标准协议的要求。

图2 - 协议栈

CPE/ACS Management Application
RPC Methods
SOAP
HTTP
SSL/TLS
TCP/IP

表1 - 协议层介绍

Layer Description
CPE/ACS Management Application CPE和ACS上使用CWMP的应用。应用由本地定义,并且不作为CWMP的一部分进行说明。
RPC Methods CWMP定义的特定RPC方法。这些方法在附件A中 说明。
SOAP 基于XML的标准语法。用于编码远程过程调用。另外SOAP 1.1由[^12]定义。
HTTP HTTP 1.1 在[6]和[7]中定义。
TLS 标准的特网传输层安全协议。特别的TLS 1.2 (Transport Layer Security) 在[^14]定义。注意过往版本请参考SSL 3.0和TLS 1.0。
TCP/IP 标准TCP/IP

2.2 安全机制

CWMP被设计为允许在使用它的交互中具有高度的安全性。CWMP旨在防止篡改CPE和ACS之间发生的事务,为这些事务提供机密性,并允许不同级别的身份验证。

协议包含了下面的安全机制:

  • 协议支持在CPE和ACS的交互事务中使用TLS。这样保证了事务保密,数据完整,并且允许在CPE和ACS之间进行基于证书的身份认证。
  • HTTP层提供了一种基于共享密钥的CPE和ACS身份验证的替代方法。注意,协议没有指定CPE和ACS如何学习共享密钥。

2.3 架构组件

2.3.1 参数

RPC Method 规范定义了一个通用机制:ACS可以读 或者 写 参数 来配置一个CPE或监控一个CPE的状态和数据统计的。不同种类的CPE的参数定义在不同的文档中。目前包括下面这些标准参数模型。

文档 说明
1 TR-098 Internet Gateway Device Data Model for TR-069[^27]
2 TR-104 Provisioning Parameters for VoIP CPE[^28]
3 TR-135 Data Model for a TR-069 Enabled STB [^29]
4 TR-140 TR-069 Data Model for Storage Service Enabled Devices [^30]
5 TR-143 Enabling Network Throughput Performance Tests and Statistical Monitoring [^31]
6 TR-157 Component Objects for CWMP [^32]
7 TR-181 Device Data Model for TR-069 [^34] and [^35]
8 TR-196 Femto Access Point Service Data Model [^33]

每个参数包含一对名称和值。名称定义了参数,值可能是多种数据类型中的一数。

参数 可能 被定义成 只读 或 读写。只读参数可用于允许ACS确定特定CPE特征、观察CPE的当前状态或收集统计信息。可写参数允许ACS定制CPE操作的各个方面。

所有可写参数也必须可读,尽管那些包含机密用户信息(如密码)的参数在读取时可能返回空值。(这在相应的数据模型定义中有说明。)

一些可写参数的值可以通过本规范中定义的接口以外的方式独立地修改(例如,一些参数也可以通过LAN侧自动配置协议修改)。

由于其他协议(以及订户的操作)也可以另行修改设备配置,ACS不能假定它是唯一可以修改设备配置的实体。此外,LAN侧机制可能以某一种方式改变设备配置,这可能与ACS提供的配置相矛盾。在实现广域网和局域网端的自动配置机制以及面向用户的接口时,应注意限制这种矛盾情况的发生。

协议支持这样一种发现机制,这机制允许ACS去确认CPU所支持的参数,允许定义可选参数以及支持直接添加未来的标准参数。

协议也包含扩展机制,除协议的参数,还允许使用厂商定义的参数。即协议也允许自定义参数。

2.3.2 文件传输

RPC 方法规范(请参阅附件 A)定义了出于各种目的进行文件传输的机制,例如下载 固件文件 进行升级或下载供应商指定的配置文件,(可选)安装或更新软件模块,以及(可选)从设备上传配置或日志文件。

可以通过单播或(用于下载的)多播传输协议进行文件传输。单播协议包括HTTP / HTTPS,FTP,SFTP和TFTP。 多播协议包括FLUTE 和DSM-CC。必须支持HTTP/HTTPS ,并且可以支持此处列出的协议以外的协议。

当 ACS 通过某个可以触发文件传输的方法调用启动文件传输时,ACS 将向 CPE 提供要传输的某一个文件(在软件模块安装或更新的情况下可能是多个文件)的地址,或要加入的多播组的详细信息(用于多播下载)。然后,CPE 执行传输,并通知 ACS 成功或失败。

也可以由 CPE 启动下载(可选)。在这种情况下,CPE 首先从 ACS 请求下载特定文件类型。然后,ACS 可能会按照与 ACS 启动的下载相同的步骤启动下载(和上面一点相同),从而做出响应。

2.3.3 CPE建立会话

RPC 方法规范(见附件 A)定义了一种机制,该机制允许 CPE 将各种情况通知相应的 ACS,并确保 CPE 到 ACS 的通信将以某个最低频率进行。

这包括在初始 CPE 安装时建立通信的机制,以便将初始自定义参数"bootstrap"到 CPE 中。它还包括与 ACS 建立持续定期通信的机制,或者当发生必须向 ACS 报告的事件(Event)时(例如,当 CPE 的宽带 IP 地址更改时)。

在每种情况下,当建立通信时,CPE 通过制造商和序列号(SN)信息(以及可选的产品类别product class标识符)唯一地标识自己,以便 ACS 知道它正在与哪个 CPE 通信并可以以适当的方式响应。

Kevin - 小结:
  • 最低频率可能理解为CPE的心跳周期。因为除了定期的心跳周期,CPE还会由于其他原因尝试连接ACS。这样最低频率就是心跳周期。
  • 第二条可以理解为当在下面几种情况(Event)下,CPE与ACS会进行通信: 1,初始化 bootstrap 2,周期心跳 3,设备发生特殊事件,如重要参数改变4 Value Change。
  • ACS在区别CPE时,应该依靠OUI+SN+(可选 product class)的方式。
  • 2.3.4 ACS异步建义会话

    服务自动配置的一个重点是 ACS 能够异步通知 CPE 更改配置。这允许自动配置机制对 CPE 进行近似实时的重新配置。例如,这可以用于为最终用户提供对他们订阅的服务或功能的即时访问,而无需等待下一次定期联系。

    CPE WAN 管理协议包含一种机制,ACS 可以随时向 CPE 发出连接请求,使它与 ACS 建立通信会话。虽然 CWMP还允许 CPE 轮询代替 ACS 发起的连接,但 CWMP不能依靠 CPE 的轮询或建立持久连接来提供异步通知。

    CPE WAN 管理协议中定义的用于启用异步 ACS 发起的通信的基本机制假定 ACS 直接 IP 寻址连接到CPE。附件 K 中定义了一种替代机制,它适应 ACS 不能直接寻址的 CPE。

    Kevin - 小结:Notification
  • 本段落说明了ACS主动发起会话的概要。对应了ACS发送HTTP GET消息触发CPE发送Inform的功能。
  • 对于地址不可达的CPE,指明可以参考附件K XMPP 连接请求。
  • XMPP - Extensible Messaging and Presence Protocol,以Jabber协议为基础,是一种开放的互联网实时通讯协议。
  • 另外,TR111协议中还定义了STUN等其他方式。
  • posted @ 2022-10-17 16:32  Kevin4X  阅读(285)  评论(0编辑  收藏  举报