20-CWMP配置
本章节下载: 20-CWMP配置 (381.12 KB)
目 录
CWMP(CPE广域网管理协议,CPE WAN Management Protocol)是由DSL(Digital Subscriber Line,数字用户线路)论坛发起开发的技术规范之一,编号为TR-069,所以又被称为TR-069协议。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架、消息规范、管理方法和数据模型。
CWMP主要应用于DSL接入网络环境。在DSL接入网络中,由于用户设备数量繁多、部署分散,通常位于用户侧,不易进行设备的管理和维护,CWMP提出通过ACS(Auto-Configuration Server,自动配置服务器)对CPE(Customer Premises Equipment,用户侧设备)进行远程集中管理,解决CPE设备的管理困难,节约维护成本,提高问题解决效率。
大型数据中心的网络环境与DSL环境具有类似的特征,即接入设备数量众多,而且随着规模的扩张,会经常出现在网络的某个层级大量增加新设备的情况。这些新设备的业务功能基本相同,如果能够利用CWMP协议的特点进行远程集中管理和配置,便可以快速完成部署,并且后期的维护和管理也将变得更加便捷。
设备提供了对CWMP协议的支持,在空配置接入网络时可以作为CPE设备,自动从ACS下载配置文件。相对于传统的手工配置方式,利用CWMP进行远程统一配置具有以下优点:
· 对于业务相同的新设备统一下发配置,减少重复工作,提高部署效率
· 设备开箱后即可直接接入网络,不需要工程师现场配置,降低人力成本
· 配置文件预先生成,降低人工配置错误几率
CWMP网络的基本框架如图1-1所示:
图1-1 CWMP网络基本框架示意图
CWMP网络元素主要有:
· ACS:自动配置服务器,网络中的管理设备。用于向CPE设备下发配置并提供CPE设备的管理服务。
· CPE:用户端设备,网络中的被管理设备。可以向ACS上报自身信息并获取相应的配置。
· DNS server:域名服务器。CWMP协议规定ACS和CPE使用URL(Uniform Resource Locator,统一资源定位符)地址来互相识别和访问,DNS用于帮助解析URL参数。
· DHCP server:动态主机配置协议服务器。给CPE分配IP地址,使用DHCP报文中的option字段给CPE配置参数。该网络元素可以根据实际网络需要选择部署,一般用于设备第一次上电接入CWMP环境。
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设备与ACS建立连接后,ACS可以判断CPE设备所属类别,并将对应该类设备的配置文件下发给CPE设备,从而可以使相同类型的大量CPE设备获得相同的业务配置。目前ACS可以通过产品型号和序列号等将CPE划分为不同的类别。
ACS向CPE下发配置文件时,可以通过以下两种方式进行:
· 部署为启动配置:ACS向CPE发送配置文件,覆盖CPE本地的缺省配置文件,当CPE重启之后,便可以使用新的配置运行。
· 部署为运行配置:ACS将配置内容直接发给CPE,并写入到CPE的当前配置中,配置内容即时生效,但是需要再执行保存配置的操作,以保证重启后配置不会丢失。
网络管理员可以将CPE设备的应用程序文件和配置文件等重要文件保存在ACS上,当ACS发现某个文件的版本有更新,将会通知CPE进行下载。CPE收到ACS的下载请求后,能够根据ACS报文中提供的下载地址和文件名,自动到指定的文件服务器下载文件。下载完成后,对下载文件的合法性做相应的检查,并将下载结果(成功或失败)反馈给ACS。目前,设备支持应用程序文件和配置文件的下载,不支持以数字签名的方式进行文件下载。
同样,为了实现对重要数据的备份,CPE将根据ACS的要求将当前的配置文件和日志文件上传到指定的服务器。
当CPE有事件需要向ACS报告时,会自动向ACS发起连接请求。常见有如下事件:
· CPE连接ACS的URL值改变。CPE会自动使用新的URL值向ACS发起连接请求。
· CPE上电启动。CPE启动后,会自动向ACS发起连接请求。
· 配置了周期性发送Inform报文功能。CPE会周期性向ACS服务器发起连接请求。
· 配置了定时发送Inform报文功能。CPE会在指定时间向ACS服务器发起连接请求。
CPE与ACS建立连接之后,ACS可以自动下发一些配置给CPE,完成对CPE的自动配置。CPE可以从ACS获取的自动配置项参数如表1-1所示:
表1-1 CPE可以从ACS获取的配置项
配置项 |
用途 |
配置文件(ConfigFile) |
用于更新CPE的本地配置文件,ACS可以使用文件形式和当前配置形式向CPE下发配置文件 |
ACS地址(URL) |
更新CPE记录的ACS地址,可用于主备ACS服务器之间的切换 |
ACS用户名(Username) |
当ACS上连接用户名和密码发生变更时,可以自动同步到CPE设备,也可用于主备ACS服务器切换时向CPE通告备用ACS服务器的验证信息 |
ACS密码(Password) |
|
Inform报文自动发送使能标志(PeriodicInformEnable) |
开启CPE设备发送Inform报文的功能 |
Inform报文周期发送时间间隔(PeriodicInformInterval) |
配置CPE周期性向ACS发送Inform报文建立连接,用于定期查询更新和信息备份 |
Inform报文定期发送日期(PeriodicInformTime) |
配置CPE在指定时间点向ACS发送Inform报文建立连接,用于在指定时间查询更新和信息备份 |
CPE用户名(ConnectionRequestUsername) |
配置CPE在接受ACS发起的连接时所需要的验证信息 |
CPE密码(ConnectionRequestPassword) |
ACS对CPE的管理和监控是通过一系列的操作来实现的,这些操作在CWMP协议里称为RPC(Remote Procedure Call,远程调用)方法。主要方法的描述如下:
· Get:ACS使用该方法可以获取CPE上参数的值。
· Set:ACS使用该方法可以设置CPE上参数的值。
· Inform:当CPE与ACS建立连接时、各应用模块具有主动通知属性的配置发生改变时和CPE周期性发送本地信息到ACS时,CPE都要通过该方法向ACS发起通告信息。ACS通过跟CPE报文的交互可以设置哪些具有主动通知属性。
· Download:为了保证CPE端硬件的升级以及厂商配置文件的自动下载,ACS使用该方法可以要求CPE到指定的URL下载指定的文件来更新CPE的本地文件。
· Upload:为了方便ACS对CPE端的管理,ACS使用该方法可以要求CPE将指定的文件上传到ACS指定的位置。
· Reboot:当CPE故障或者需要软件升级的时候,ACS使用该方法可以对CPE进行远程重启。
下面以一个具体的例子,结合CWMP方法来描述CWMP具体实现。场景如下:区域内有主、备两台ACS,主ACS系统升级,需要重启。为了连续监控,主ACS需要将区域内的CPE都连接到备用ACS上,处理流程如下:
图1-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/HTTPS报文请求/响应报文交互规则(CWMP是基于HTTP/HTTPS协议的,CWMP报文作为HTTP/HTTPS报文的数据部分封装在HTTP/HTTPS报文中)。
(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发起连接。
ACS属性可以通过ACS、DHCP和命令行三种方式来配置,CPE的部分属性可以通过ACS和命令行方式配置。当某参数支持多种配置方式时,DHCP配置的优先级最低,ACS配置和命令行配置的优先级相同。高优先级配置方式可以修改低优先级配置方式配置的参数,配置方式优先级相同时,以最新的配置为准。
在CWMP网络中,DHCP服务器主要用于向CPE通告ACS的位置和验证信息,因此DHCP服务器上的配置主要包含以下内容:
· 配置地址池,为CPE设备分配IP地址
· 配置DNS服务器
· 配置option 43选项,向CPE通告ACS信息
ACS属性可以通过在DHCP server上配置option 43参数来实现。当CPE访问DHCP server时,DHCP server会将ACS参数发送给CPE。这里主要介绍option 43选项的配置方法,关于地址池和DNS服务器的配置请参见“三层技术-IP业务配置指导”中的“域名解析”。
当使用H3C设备作为DHCP server时,可以使用命令行配置ACS参数,命令格式为:option 43 hex 01length URL username password。
· length:表示关键字option 43 hex 01后面参数的总长度,用十六进制数表示。
· URL:ACS的地址。
· username:ACS的用户名。
· password:ACS的密码。
ACS的URL、用户名和密码参数的格式必须为字符对应的ASCII码的十六进制值格式。假设将ACS地址配置为http://169.254.76.31:7547、用户名配置为1234、密码配置为5678,(URL+1个空格+username+1个空格+password)一共为35个字符,如表1-2所示:
表1-2 ACS参数的十六进制值格式
参数 |
参数值 |
十六进制值 |
字符长度 |
35字符 |
23 |
ACS的URL |
http://169.254.76.31:7547 |
687474703A2F2F3136392E3235342E37362E33313A3735343720 空格对应的ASCII码的十六进制值为20 |
ACS的用户名 |
1234 |
3132333420 空格对应的ASCII码的十六进制值为20 |
ACS的密码 |
5678 |
35363738 |
可使用以下配置步骤:
<Sysname> system-view
[Sysname] dhcp server ip-pool 0
[Sysname-dhcp-pool-0] option 43 hex 0123687474703A2F2F3136392E3235342E37362E33313A3735343720313233342035363738
有关DHCP、option 43参数以及option命令的详细介绍,请参见“三层技术-IP业务配置指导”中的“DHCP”。
由ACS远程管理,对CPE进行自动配置。可配置的主要参数请参见1.1.3 2. ACS向CPE下发配置项参数。ACS服务器上的配置请参见您所选ACS服务器的软件使用说明。
即通过命令行手工指定CWMP参数,可配置的内容如表1-3所示。
表1-3 CWMP配置任务简介
配置任务 |
说明 |
详细配置 |
|
开启CWMP功能 |
必选 |
||
配置ACS属性 |
配置CPE连接ACS的URL值 |
必选 |
|
配置CPE连接ACS的用户名和密码 |
可选 |
||
配置CPE设备属性 |
配置CPE的用户名和密码 |
可选 |
|
配置CWMP接口 |
可选 |
||
配置发送Inform报文属性 |
可选 |
||
配置CPE自动重新连接的次数 |
可选 |
||
配置CPE的NAT穿越功能 |
可选 |
||
配置CPE的业务代码信息 |
可选 |
||
配置CPE无数据传输的超时时间 |
可选 |
||
绑定SSL客户端策略 |
可选 |
开启CWMP后,CWMP的其它配置才能生效。
表1-4 开启CWMP功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
开启CWMP功能 |
cwmp enable |
缺省情况下,CWMP功能处于关闭状态 |
ACS属性包括ACS的URL、用户名和密码。当CPE发起连接请求时,连接请求报文里会携带CPE连接ACS的URL、用户名和密码。当ACS收到该报文后,如果这些参数的值和本地配置的值一致,则验证成功,允许建立连接;如果不一致,则验证失败,禁止建立连接。
表1-5 配置CPE连接ACS的URL值
命令 |
说明 |
||
进入系统视图 |
system-view |
- |
|
进入CWMP视图 |
cwmp |
- |
|
配置ACS的URL值 |
配置CPE连接ACS的URL值 |
cwmp acs url url |
二者选其一 缺省情况下,没有配置CPE连接ACS的URL和缺省URL 一个CPE只能配置一个连接ACS的URL和缺省URL,多次配置不同URL时,最新的配置生效 当用户没有为ACS配置URL地址,也没有通过DHCP服务器获取到ACS的URL地址时,设备会尝试和ACS的缺省URL建立CWMP连接 |
配置CPE连接ACS的缺省URL值 |
cwmp acs default url url |
表1-6 配置CPE连接ACS的用户名和密码
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入CWMP视图 |
cwmp |
- |
|
配置连接ACS的用户名 |
配置CPE连接ACS的用户名 |
cwmp acs username username |
二者选其一 缺省情况下,没有配置CPE连接ACS的用户名和缺省用户名 |
配置CPE连接ACS的缺省用户名 |
cwmp acs default username username |
||
(可选)配置连接ACS的密码 |
配置CPE连接ACS的密码 |
cwmp acs password { cipher | simple } string |
二者选其一 缺省情况下,没有配置CPE连接ACS的密码和缺省密码 可以只使用用户名进行认证,不使用密码认证 |
配置CPE连接ACS的缺省密码 |
cwmp acs default password { cipher | simple } string |
CPE的用户名和密码,用于CPE对ACS的合法性进行验证。当连接由ACS发起时,会话请求报文里会携带CPE用户名和密码。设备收到该报文后,会与本地设置的CPE用户名和密码比较,如果相同则通过认证,进入连接建立的下一阶段,否则,认证失败,退出连接建立过程。
表1-7 配置CPE用户名和密码
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
配置ACS连接CPE的认证用户名 |
cwmp cpe username username |
缺省情况下,没有配置ACS连接CPE的认证用户名 |
(可选)配置ACS连接CPE的认证密码 |
cwmp cpe password { cipher | simple } string |
缺省情况下,没有配置ACS连接CPE的认证密码 可以只使用用户名进行认证,不使用密码认证 |
CWMP连接接口指的是CPE上用于连接ACS的接口。CPE会在Inform报文中携带CWMP连接接口的IP地址,要求ACS通过此IP地址和自己建立连接;相应的,ACS会向该IP地址回复Inform响应报文。
缺省情况下,系统会会采用一定的机制去获取一个CWMP连接接口,但如果获取的CWMP连接接口不是CPE和ACS相连的接口时,就会导致CWMP连接建立失败。因此,在这种情况下需要手工指定CWMP连接接口。
表1-8 配置CWMP连接接口
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
设置CPE上用于连接ACS的接口 |
cwmp cpe connect interface interface-type interface-number |
未设置CPE上用于连接ACS的接口 |
CPE与ACS之间连接的建立过程需要发送Inform报文。通过设置Inform报文发送参数,可以触发CPE向ACS自动发起连接。
表1-9 配置周期性发送Inform报文
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
开启CPE周期发送Inform报文功能 |
cwmp cpe inform interval enable |
缺省情况下,CPE周期发送Inform报文功能处于关闭状态 |
配置CPE发送Inform报文的周期 |
cwmp cpe inform interval interval |
缺省情况下,CPE每隔600秒发送一次Inform报文 |
表1-10 配置定时发送Inform报文
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
配置CPE在指定时刻发送一次Inform报文 |
cwmp cpe inform time time |
缺省情况下,没有配置CPE定时发送Inform报文的时间 |
当CPE向ACS请求建立连接失败,或者在会话过程中连接异常中止(CPE没有收到表示会话正常结束的报文)时,设备可以自动重新发起连接。
表1-11 配置CPE自动重新连接的次数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
配置当创建连接失败时自动重新连接的次数 |
cwmp cpe connect retry retries |
缺省情况下,自动重新连接的次数为无限次,即设备会一直按照一定周期给ACS发送连接请求 |
无论CPE与ACS之间是否存在NAT网关,CPE的主动连接请求都能到达ACS。而当CPE与ACS之间存在NAT网关时,ACS主动发起的连接请求不能到达CPE。此时,可以在设备上开启NAT穿越功能,使ACS的请求可以穿越网关。本特性的实现遵循RFC 3489定义的STUN(Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs),NAT的UDP简单穿越)。
表1-12 配置CPE的NAT穿越功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
开启CPE的NAT穿越功能 |
cwmp cpe stun enable |
缺省情况下,CPE的NAT穿越功能处于关闭状态 |
当CPE与ACS之间建立连接时,CPE需要在Inform报文中携带provision-code信息,ACS根据此信息可以识别设备定制的业务以及相应的参数,以便更好地管理CPE设备。关于ACS对provision-code的支持情况,请参见ACS手册。
表1-13 配置CPE业务代码信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
配置CPE的业务代码 |
cwmp cpe provision-code provision-code |
缺省情况下,CPE的业务代码为PROVISIONINGCODE |
无数据传输超时时间主要用于以下两种情况:
· 在连接建立过程中,CPE向ACS发送连接请求,但是经过无数据传输超时时间还没有收到响应报文,CPE将认为连接失败。
· 连接建立后,如果CPE与ACS在无数据传输超时时间内没有报文交互,CPE将认为连接失效,并断开连接。
表1-14 配置CPE无数据传输超时的时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
配置CPE无数据传输超时的时间 |
cwmp cpe wait timeout seconds |
缺省情况下,无数据传输超时的时间为30秒 |
CWMP是基于HTTP/HTTPS协议的,CWMP报文作为HTTP/HTTPS报文的数据部分封装在HTTP/HTTPS报文中。如果ACS的URL以“http://”开头,则使用HTTP协议;如果ACS的URL以“https://”开头,则使用HTTPS协议。使用HTTPS协议时,ACS作为HTTPS服务器端,CPE作为HTTPS客户端。
在CPE上需要绑定SSL客户端策略,以便从该策略中获取SSL客户端运行时需要的参数(如加密算法、SSL协议版本等)。关于SSL客户端策略的详细介绍和配置请参见“安全配置指导”中的“SSL”。
表1-15 绑定SSL客户端策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入CWMP视图 |
cwmp |
- |
绑定SSL客户端策略 |
ssl client-policy policy-name |
缺省情况下,CWMP没有绑定SSL客户端策略 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后CWMP的运行情况,通过查看显示信息验证配置的效果。
表1-16 cwmp显示和维护
操作 |
命令 |
显示CWMP的当前配置信息 |
display cwmp configuration |
显示CWMP的当前状态信息 |
display cwmp status |
某数据中心有两个机房(A和B)需要部署大量的设备,目前网络中已存在ACS服务器/DHCP服务器/DNS服务器,为提高部署效率,要求利用CWMP功能为两个机房中的CPE设备分别自动下发不同的配置文件。下面以每个机房内的三台设备为例介绍CWMP功能的配置方法。
图1-3 CWMP典型配置案例组网图
其中部署到两个机房的设备及序列号如表1-17所示。
机房 |
设备 |
序列号 |
A |
DeviceA |
210231A95YH10C0000045 |
DeviceB |
210235AOLNH12000010 |
|
DeviceC |
210235AOLNH12000015 |
|
B |
DeviceD |
210235AOLNH12000017 |
DeviceE |
210235AOLNH12000020 |
|
DeviceF |
210235AOLNH12000022 |
网络管理员已经为机房A和机房B的设备分别创建了配置文件configure1.cfg和configure2.cfg,ACS服务器的访问用户名和密码分别为“admin”和“12345”,URL地址为http://10.185.10.41:9090。
不同ACS服务器,配置方式不同,具体配置请参考ACS服务器的相关手册。
(1) 配置地址池,为CPE设备分配IP地址和DNS服务器,此处以分配10.185.10.0/24网段的地址为例。
# 开启DHCP服务。
<DHCP_server> system-view
[DHCP_server] dhcp enable
# 配置VLAN接口1工作在DHCP服务器模式。
[DHCP_server] interface vlan-interface 1
[DHCP_server-Vlan-interface1] dhcp select server
[DHCP_server-Vlan-interface1] quit
# 配置不参与自动分配的IP地址(此处包括DNS服务器、ACS服务器)。
[DHCP_server] dhcp server forbidden-ip 10.185.10.41
[DHCP_server] dhcp server forbidden-ip 10.185.10.60
# 配置DHCP地址池0的共有属性(网段、DNS服务器地址)。
[DHCP_server] dhcp server ip-pool 0
[DHCP_server-dhcp-pool-0] network 10.185.10.0 mask 255.255.255.0
[DHCP_server-dhcp-pool-0] dns-list 10.185.10.60
(2) 配置option 43选项。选项内容包括ACS的地址、用户名和密码。
# 将ACS的地址、用户名和密码转换成ASCII码。其中URL地址对应的ASCII码为68 74 74 70 3A 2F 2F 61 63 73 2E 64 61 74 61 62 61 73 65 3A 39 30 39 30 2F 61 63 73。用户名admin对应的ASCII码为76 69 63 6B 79,密码12345对应的ASCII码为31 32 33 34 35。
[DHCP_server-dhcp-pool-0] option 43 hex 013B687474703A2F2F6163732E64617461626173653A393039302F616373207669636B79203132333435
在DNS服务器上需要配置域名和地址的映射,将http://acs.database:9090地址映射为http://10.185.1.41:9090。具体配置方法请参见您使用的DNS服务器软件手册。
将CPE上电并连接网线后,CPE会先通过DHCP server获取IP地址和连接ACS所需的信息,再按照CWMP协议的流程自动从ACS处获取配置文件。
在ACS服务器上可以看到与序列号对应的设备已经完成部署配置的操作。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!