CWMP工作流程如图4-2所示,通过ACS更改CPE的某参数的值为例,介绍CWMP的工作流程。
图4-2 CWMP工作流程

CWMP的工作流程如下:
- 会话连接初始化。CPE是会话的发起者。如果ACS需要主动发起会话的建立,ACS先给CPE发起Connection Request(这时CPE是作为HTTP Server)来触发CPE发起会话建立。
- SSL初始化,建立安全机制。
- CPE首先调用ACS的Inform RPC方法,通过向ACS发送Inform请求,上报设备信息,请求建立CWMP连接。
- 若CPE通过认证,ACS回应Inform response,Inform RPC方法处理结束,CWMP连接建立成功。
- CPE发送HTTP post(empty),表明CPE没有调用ACS支持的RPC方法。
- ACS通过向CPE调用GetParameterValues RPC方法,查询CPE的相关参数。
- CPE发送GetParameterValues response,告知ACS要查询的信息,GetParameterValues RPC方法调用结束。
- ACS通过向CPE调用SetParameterValues RPC方法,对CPE进行相关配置。
- CPE发送SetParameterValues response,告知参数配置情况,SetParameterValues RPC方法调用结束。
- ACS发送HTTP response(empty),表明ACS没有再调用CPE支持的RPC方法。
- CPE拆除连接,完成本次会话。
如图4-2所示,CWMP会话经历三个阶段。
会话发起
ACS和CPE发起会话连接有两种方式:
CWMP在CPE和ACS连接的过程中增加了安全机制,它防止了对CPE和ACS之间事务处理的篡改,保证这些事物处理的机密性。CWMP支持如下的安全机制:支持CPE和ACS之间通信时使用CPE和ACS鉴权。
支持CPE和ACS之间通信时使用SSL(Security Socket Layer)认证。
它保证了事物处理的机密性,数据的完整性,以及CPE跟ACS之间的基于证书的鉴权。
SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(例如:HTTP、FTP、Telnet等)能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
数字证书包含了个人、企业或设备的信息和公钥:
- 公钥:同时拥有一把公共密钥(公钥)对外开放,用于加密和验证签名。
- 私钥:每个用户拥有一把仅为本人所掌握的私有密钥(私钥),用于解密和签名。
- 签名:签字之后表示文件生成的作者,签名后其他人无权修改,所以也就保证了身份认证和文件的完整性。
会话通信
在会话已经成功发起,且在会话终止之前,CPE或ACS可以发送请求,另一方则接收请求,可进行查询/设置CPE的参数、上传/下载文件等操作。
会话终止
CPE是对ACS的连接的操纵方,由CPE来负责连接的终止。
在会话的过程中,ACS和CPE已经没有更多的请求发送给对方,都已经发送和接收了所有的响应消息时,CPE可终止会话。
CWMP操作方法ACS对CPE的管理和监控是通过一系列的操作来实现的,这些操作在CWMP协议里称为RPC(Remote Procedure Call)方法。
支持的标准RPC方法有: