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 通信并可以以适当的方式响应。
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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)