欢迎user
CWMP(CPE WAN Management Protocol,CPE广域网管理协议)是由DSL(Digital Subscriber's Line,数字用户线路)论坛发起开发的技术规范之一,编号为TR-069,所以又被称为TR-069协议。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架、消息规范、管理方法和数据模型。
CWMP主要应用于DSL接入网络环境。在DSL接入网络中,由于用户设备数量繁多、部署分散,通常位于用户侧,不易进行设备的管理和维护,CWMP提出通过ACS(Auto-Configuration Server,自动配置服务器)对CPE(Customer Premises Equipment,用户侧设备)进行远程集中管理,解决CPE设备的管理困难,节约维护成本,提高问题解决效率。
CWMP网络的基本框架如图1所示:
图1 CWMP网络基本框架示意图
CWMP网络元素主要有:
l ACS:自动配置服务器,网络中的管理设备。
l CPE:用户端设备,网络中的被管理设备。
l DNS server:域名服务器。CWMP协议规定ACS和CPE使用URL地址来互相识别和访问,DNS用于帮助解析URL参数。
l DHCP server:动态主机配置协议服务器。给ACS和CPE分配IP地址,使用DHCP报文中的option字段给CPE配置参数。
H3C设备属于CPE,使用CWMP协议与ACS进行消息交互。
CPE可以通过发送Inform报文自动连接ACS。触发连接的方式有以下几种:
l CPE启动,根据获取的URL值找到相应的ACS,并自动发起连接。
l CPE使能了周期性发送Inform报文功能,当周期(比如1小时)到达时,CPE会自动发送Inform报文来建立连接。
l CPE使能了定时发送Inform报文功能,当时间点到达时,CPE会自动发送Inform报文来建立连接。
l 如果当前会话没有结束,但是连接异常中断,而且CPE自动重新连接的次数还没有达到上限,此时,CPE也会自动建立连接。
ACS可以在任何时候自动向CPE发起连接请求(Connect Request),通过CPE的认证(即匹配CPE URL、CPE用户名、CPE密码)后,可以与CPE建立连接。
当CPE上线时,ACS可以自动下发一些配置给CPE,完成对CPE的自动配置。设备支持的自动配置项参数主要包括(不仅限于此):
l 配置文件(ConfigFile)
l ACS地址(URL)
l ACS用户名(Username)
l ACS密码(Password)
l Inform报文自动发送使能标志(PeriodicInformEnable)
l Inform报文周期发送时间间隔(PeriodicInformInterval)
l Inform报文定期发送日期(PeriodicInformTime)
l CPE用户名(ConnectionRequestUsername)
l CPE密码(ConnectionRequestPassword)
网络管理员可以将系统启动文件、配置文件等重要文件保存在ACS上,当ACS发现某个文件的版本有更新,将会通知CPE进行下载。CPE收到ACS的下载请求后,能够根据ACS报文中提供的下载地址和文件名,自动到指定的文件服务器下载文件。下载完成后,对下载文件的合法性做相应的检查,并将下载结果(成功或失败)反馈给ACS。目前,设备不支持以数字签名的方式进行的文件下载。
目前,设备支持下载的文件类型有:系统启动文件和配置文件。
同样,为了实现对重要数据的备份,CPE将根据ACS的要求将当前的配置文件上传到指定的服务器。目前,设备支持上传的文件类型有:配置文件。
ACS可以监控与其相连的CPE的各种参数。由于不同的CPE具有不同的性能,可执行的功能也各异,因此ACS必须能识别不同类型CPE的性能,并监控到CPE的当前配置以及配置的变更。CWMP还允许网络管理人员自定义监控参数并通过ACS获取这些参数,以便了解CPE的状态和统计信息。
ACS能够监控的状态和性能有:厂商名称(Manufacturer)、厂商标识OUI(ManufacturerOUI)、序列号(SerialNumber)、硬件版本号(HardwareVersion)、软件版本号(SoftwareVersion)、设备状态(DeviceStatus)、启动时间(UpTime)、配置文件、ACS地址、ACS用户名、ACS密码、Inform报文自动发送使能标志、Inform报文周期发送时间间隔、Inform报文定期发送日期、CPE地址、CPE用户名、CPE密码等。
ACS对CPE的管理和监控是通过一系列的操作来实现的,这些操作在CWMP协议里称为RPC方法。主要方法的描述如下:
l Get:ACS使用该方法可以获取CPE上参数的值。
l Set:ACS使用该方法可以设置CPE上参数的值。
l Inform:当CPE与ACS建立连接时,或者底层配置发生改变时,或者CPE周期性发送本地信息到ACS时,CPE都要通过该方法向ACS发起通告信息。
l Download:为了保证CPE端硬件的升级以及厂商配置文件的自动下载,ACS使用该方法可以要求CPE到指定的URL下载指定的文件来更新CPE的本地文件。
l Upload:为了方便ACS对CPE端的管理,ACS使用该方法可以要求CPE将指定的文件上传到ACS指定的位置。
l Reboot:当CPE故障或者需要软件升级的时候,ACS使用该方法可以对CPE进行远程重启。
下面以一个具体的例子,结合CWMP方法来描述CWMP具体实现。场景如下:区域内有主、备两台ACS,主ACS系统升级,需要重启。为了连续监控,主ACS需要将区域内的CPE都连接到备用ACS上,处理流程如下:
图2 CWMP消息交互举例
(1) 建立TCP连接。
(2) SSL初始化,建立安全机制。
(3) CPE发送Inform报文,开始建立CWMP连接。Inform报文使用Eventcode字段描述发送Inform报文的原因,该举例为“6 CONNECTION REQUEST”,表示ACS要求建立连接。
(4) 如果CPE通过ACS的认证,ACS将返回Inform响应报文,连接建立。
(5) 如果CPE没有别的请求,就会发送一个空报文,以满足HTTP报文请求/响应报文交互规则(CWMP是基于HTTP协议的,CWMP报文作为HTTP报文的数据部分封装在HTTP报文中)。
(6) ACS查询CPE上设置的ACS URL的值。
(7) CPE把获取到的ACS URL的值回复给ACS。
(8) ACS发现CPE的ACS URL是本机URL的值,于是发起Set请求,要求将CPE的ACS URL设置为备用ACS的URL的值。
(9) 设置成功,CPE发送响应报文。
(10) ACS发送空报文通知CPE没有别的请求了。
(11) CPE关闭连接。
之后,CPE将向备用ACS发起连接。