09-CWMP配置
本章节下载: 09-CWMP配置 (1.01 MB)
CWMP(CPE WAN Management Protocol,CPE广域网管理协议),又称为TR-069协议,是由DSL(Digital Subscriber Line,数字用户线路)论坛发起开发的远程网络设备管理协议。CWMP协议可通过服务器对数量众多、分布较广的设备进行远程自动部署、配置和管理,可用于包括以太网在内的不同网络中。
CWMP网络的基本框架如图1-1所示:
图1-1 CWMP网络基本框架示意图
CWMP网络元素主要有:
· ACS:自动配置服务器,网络中的管理设备。
· CPE:用户端设备,网络中的被管理设备。
· DNS server:域名服务器。CWMP协议规定ACS和CPE使用URL(Uniform Resource Locator,统一资源定位符)地址来互相识别和访问,DNS用于帮助解析URL参数。
· DHCP server:动态主机配置协议服务器。用来为CPE分配IP地址,并下发ACS相关信息。该网络元素可以根据实际网络需要选择部署,一般用于设备第一次上电接入CWMP环境。
在CWMP网络框架中,设备作为CPE设备。
为了便于对提供相同业务功能的新设备进行快速配置,网络管理员可以在ACS上创建针对该类设备的配置文件。当CPE设备与ACS建立连接后,ACS可以判断CPE设备所属类别,并将对应该类设备的配置文件下发给CPE设备,从而可以使相同类型的大量CPE设备获得相同的业务配置。目前ACS可以通过产品型号和序列号等将CPE划分为不同的类别。
ACS向CPE下发配置文件时,可以通过以下两种方式进行:
· 部署为启动配置:ACS向CPE发送配置文件,并设置为下次启动配置文件,当CPE重启之后,便可以使用新的配置运行。
· 部署为运行配置:ACS将配置内容直接发给CPE,并写入到CPE的当前配置中,配置内容即时生效,但是需要再执行保存配置的操作,以保证重启后配置不会丢失。
网络管理员可以将CPE设备的软件保存在ACS上,当ACS发现软件版本有更新,将会通知CPE进行下载。CPE收到ACS的下载请求后,能够根据ACS报文中提供的下载地址和文件名,自动到ACS或指定的文件服务器下载软件文件。下载完成后,对下载文件的合法性做相应的检查,并将下载结果(成功或失败)反馈给ACS。
ACS可以要求CPE上传配置文件或日志文件到ACS或文件服务器上,并保存到指定的位置。
ACS可以监控与其相连的CPE的各种参数。由于不同的CPE具有不同的性能,可执行的功能也各异,因此ACS必须能识别不同类型CPE的性能,并监控到CPE的当前配置以及配置的变更。
ACS能够监控的状态和性能有:
· 厂商名称(Manufacturer)
· 厂商标识OUI(ManufacturerOUI)
· 序列号(SerialNumber)
· 硬件版本号(HardwareVersion)
· 软件版本号(SoftwareVersion)
· 设备状态(DeviceStatus)
· 启动时间(UpTime)
· 配置文件(ConfigFile),用于更新CPE的本地配置文件,ACS可以使用文件形式和当前配置形式向CPE下发配置文件
· ACS地址(URL),更新CPE记录的ACS地址,可用于主备ACS服务器之间的切换
· ACS用户名(Username)/密码(Password),当ACS上连接用户名和密码发生变更时,可以自动同步到CPE设备,也可用于主备ACS服务器切换时向CPE通告备用ACS服务器的验证信息
· Inform报文自动发送使能标志(PeriodicInformEnable),开启CPE设备发送Inform报文的功能
· Inform报文周期发送时间间隔(PeriodicInformInterval),配置CPE周期性向ACS发送Inform报文建立连接,用于定期查询更新和备份信息
· Inform报文定期发送日期(PeriodicInformTime),配置CPE在指定时间点向ACS发送Inform报文建立连接,用于在指定时间查询更新和备份信息
· CPE地址
· CPE用户名(ConnectionRequestUsername)/密码(ConnectionRequestPassword),配置CPE在接受ACS发起的连接时所需要的验证信息
CWMP通过RPC(Remote Procedure Call,远程调用)方法来完成ACS对CPE的管理和监控。RPC方法封装于HTTP或HTTPS协议中。主要操作方法描述如下:
· Get:ACS使用该方法可以获取CPE上参数的值。
· Set:ACS使用该方法可以设置CPE上参数的值。
· Inform:当CPE与ACS建立连接时、各应用模块具有主动通知属性的配置发生改变时和CPE周期性发送本地信息到ACS时,CPE都要通过该方法向ACS发起通告信息。
· Download:为了保证CPE端硬件的升级以及厂商配置文件的自动下载,ACS使用该方法可以要求CPE到指定的URL下载指定的文件来更新CPE的本地文件。
· Upload:为了方便ACS对CPE端的管理,ACS使用该方法可以要求CPE将指定的文件上传到ACS指定的位置。
· Reboot:当CPE故障或者需要软件升级的时候,ACS使用该方法可以对CPE进行远程重启。
当CPE有事件需要向ACS报告时,会自动向ACS发起连接请求。常见有如下事件:
· CPE连接ACS的URL值改变。CPE会自动使用新的URL值向ACS发起连接请求。
· CPE上电启动。CPE启动后,会自动向ACS发起连接请求。
· 配置了周期性发送Inform报文功能。CPE会周期性向ACS服务器发起连接请求。
· 配置了定时发送Inform报文功能。CPE会在指定时间向ACS服务器发起连接请求。
CWMP连接建立的过程如下:
(1) 建立TCP连接。
(2) 若使用HTTPS协议,进行SSL初始化,建立安全机制。
(3) CPE发送Inform报文,开始建立CWMP连接。Inform报文使用Eventcode字段描述发送Inform报文的原因,该举例为“6 CONNECTION REQUEST”,表示ACS要求建立连接。
(4) 如果CPE通过ACS的认证,ACS将返回Inform响应报文,连接建立。
(5) 如果CPE没有别的请求,就会发送一个空报文,以满足HTTP/HTTPS报文请求/响应报文交互规则。
如图1-2的步骤(1)~(5)所示。
图1-2 CWMP消息交互举例
为了保证可靠性,网络中通常会有主、备两台ACS,在CWMP连接建立的基础上,当主ACS需要升级重启时,CWMP可以完成主备切换,步骤如下:
(1) 主用ACS查询CPE上设置的ACS URL的值。
(2) CPE把获取到的ACS URL的值回复给主用ACS。
(3) 主用ACS发现CPE的ACS URL是本机URL的值,于是发起Set请求,要求将CPE的ACS URL设置为备用ACS的URL的值。
(4) 设置成功,CPE发送响应报文。
(5) ACS发送空报文通知CPE没有别的请求。
(6) CPE关闭连接。
如图1-3的步骤(6)~(11)所示。之后,CPE将向备用ACS发起连接。
图1-3 CWMP消息交互举例
ACS和CPE属性参数可以通过CPE命令行、DHCP服务器或者是ACS来进行配置。各个属性支持的配置方式不同。
当某参数支持多种配置方式时,DHCP配置的优先级最低,ACS配置和命令行配置的优先级相同。高优先级配置方式可以修改低优先级配置方式配置的参数,配置方式优先级相同时,以最新的配置为准。
本文档仅描述通过命令行和DHCP方式的配置。通过ACS进行ACS和CPE属性配置的信息,请参见ACS的手册。
CWMP配置任务如下:
(1) 通过命令行方式开启CWMP功能
通过DHCP服务器也可以开启设备上的CWMP功能。
(2) 配置ACS属性
a. 配置首选的ACS属性
b. (可选)通过命令行配置缺省的ACS属性
(3) 配置CPE属性
a. 绑定SSL客户端策略
使用HTTPS时必选。
b. (可选)配置CPE的用户名和密码
c. (可选)配置CPE的业务代码信息
d. (可选)配置CWMP连接接口
e. (可选)配置自动连接参数
f. (可选)配置CPE无数据传输超时的时间
g. (可选)配置CPE的NAT穿越功能
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 开启CWMP功能。
cwmp enable
缺省情况下,CWMP功能处于关闭状态。
CPE上的ACS属性包括首选和缺省两种类型。CPE优先使用首选ACS属性参数与ACS建立连接,只有当没有首选ACS属性参数时,才会通过缺省ACS属性参数与ACS建立连接。
首选和缺省的ACS属性支持的配置方式如下:
· 首选的ACS属性可以通过三种方式配置:命令行配置、DHCP服务器或ACS下发。
· 缺省的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业务配置指导”中的“DHCP”和“域名解析”。
当使用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-1所示:
表1-1 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”。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 配置CPE连接ACS的URL值。
cwmp acs url url
缺省情况下,没有配置CPE连接ACS的URL。
(4) 配置CPE连接ACS的用户名。
cwmp acs username username
缺省情况下,没有配置CPE连接ACS的用户名。
(5) (可选)配置CPE连接ACS的密码。
cwmp acs password { cipher | simple } string
缺省情况下,没有配置CPE连接ACS的密码。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 配置CPE连接ACS的缺省URL值。
cwmp acs default url url
缺省情况下,未配置CPE连接ACS的缺省URL。
(4) 配置CPE连接ACS的缺省用户名。
cwmp acs default username username
缺省情况下,未配置CPE连接ACS的缺省用户名。
(5) (可选)配置CPE连接ACS的缺省密码。
cwmp acs default password { cipher | simple } string
缺省情况下,未配置CPE连接ACS的缺省密码。
除了下列CPE属性仅能通过命令行配置外,其他所有的CPE属性均可通过命令行或ACS进行配置:
· CWMP连接接口
· NAT穿越
· CPE自动重新连接的次数
· 用于HTTPS的SSL客户端策略
CWMP使用HTTPS协议时,CPE作为HTTPS客户端,需要在CPE上执行本配置。在使用HTTPS协议时,ACS作为HTTPS服务器端,CPE作为HTTPS客户端。
执行本配置前,需要先创建SSL客户端策略。关于SSL客户端策略的详细介绍和配置请参见“安全配置指导”中的“SSL”。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 绑定SSL客户端策略。
ssl client-policy policy-name
缺省情况下,CWMP未绑定SSL客户端策略。
CPE的用户名和密码用于CPE对ACS的合法性进行验证。当连接由ACS发起时,会话请求报文里会携带CPE用户名和密码。设备收到该报文后,会与本地设置的CPE用户名和密码比较,如果相同则通过认证,进入连接建立的下一阶段,否则,认证失败,退出连接建立过程。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 配置ACS连接CPE的认证用户名。
cwmp cpe username username
缺省情况下,未配置ACS连接CPE的认证用户名。
(4) (可选)配置ACS连接CPE的认证密码。
cwmp cpe password { cipher | simple } string
缺省情况下,未配置ACS连接CPE的认证密码。
可以只使用用户名进行认证,不使用密码认证。
当CPE与ACS之间建立连接时,CPE需要在Inform报文中携带provision-code信息,ACS根据此信息可以识别设备定制的业务以及相应的参数,以便更好地管理CPE设备。关于ACS对provision-code的支持情况,请参见ACS手册。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 配置CPE的业务代码。
cwmp cpe provision-code provision-code
缺省情况下,CPE的业务代码为PROVISIONINGCODE。
CWMP连接接口指的是CPE上用于连接ACS的接口。CPE会在Inform报文中携带CWMP连接接口的IP地址,要求ACS通过此IP地址和自己建立连接;相应的,ACS会向该IP地址回复Inform响应报文。
缺省情况下,系统会会采用一定的机制去获取一个CWMP连接接口,但如果获取的CWMP连接接口不是CPE和ACS相连的接口时,就会导致CWMP连接建立失败。因此,在这种情况下需要手工指定CWMP连接接口。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 设置CPE上用于连接ACS的接口。
cwmp cpe connect interface interface-type interface-number
缺省情况下,未设置CPE上用于连接ACS的接口。
用户可配置CPE周期性地发送Inform报文,向ACS自动发起连接,或者是在特定的时间点发起连接。为避免系统资源浪费,请对CPE连接失败时的重连次数进行限制。
当CPE向ACS请求建立连接失败,或者在会话过程中连接异常中止(CPE没有收到表示会话正常结束的报文)时,设备可以自动重新发起连接。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 开启CPE周期发送Inform报文功能。
cwmp cpe inform interval enable
缺省情况下,CPE周期发送Inform报文功能处于关闭状态。
(4) 配置CPE发送Inform报文的周期。
cwmp cpe inform interval interval
缺省情况下,CPE每隔600秒发送一次Inform报文。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 配置CPE在指定时刻发送一次Inform报文。
cwmp cpe inform time time
缺省情况下,未配置CPE定时发送Inform报文的时间。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 配置当创建连接失败时自动重新连接的次数。
cwmp cpe connect retry retries
缺省情况下,自动重新连接的次数为无限次,即设备会一直按照一定周期给ACS发送连接请求。
无数据传输超时时间主要用于以下两种情况:
· 在连接建立过程中,CPE向ACS发送连接请求,但是经过无数据传输超时时间还没有收到响应报文,CPE将认为连接失败。
· 连接建立后,如果CPE与ACS在无数据传输超时时间内没有报文交互,CPE将认为连接失效,并断开连接。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 配置CPE无数据传输超时的时间。
cwmp cpe wait timeout seconds
缺省情况下,无数据传输超时的时间为30秒。
无论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简单穿越)。有关NAT的详细描述,请参见“三层技术-IP业务配置指导”中的“NAT”。
(1) 进入系统视图。
system-view
(2) 进入CWMP视图。
cwmp
(3) 开启CPE的NAT穿越功能。
cwmp cpe stun enable
缺省情况下,CPE的NAT穿越功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后CWMP的运行情况,通过查看显示信息验证配置的效果。
表1-2 cwmp显示和维护
操作 |
命令 |
显示CWMP的当前配置信息 |
display cwmp configuration |
显示CWMP的当前状态信息 |
display cwmp status |
本举例使用安装了H3C iMC BIMS软件的服务器作为ACS。随着软件版本的更新,BIMS的功能和界面可能会有变化,如您所使用的软件界面与本例中不同,请参阅对应您使用版本的软件用户手册进行配置。
某数据中心有两个机房(A和B)需要部署大量的设备,目前网络中已存在ACS服务器/DHCP服务器/DNS服务器,为提高部署效率,要求利用CWMP功能为两个机房中的CPE设备分别自动下发不同的配置文件和软件版本。CPE访问ACS服务器的用户名和密码分别为“admin”和“12345”,URL地址为http://10.185.10.41:9090。下面以每个机房内的三台设备为例介绍CWMP功能的配置方法。
图1-4 CWMP典型配置案例组网图
其中部署到两个机房的设备及序列号如表1-3所示。
机房 |
设备 |
序列号 |
A |
CPE1 |
210231A95YH10C0000045 |
CPE2 |
210235AOLNH12000010 |
|
CPE3 |
210235AOLNH12000015 |
|
B |
CPE4 |
210235AOLNH12000017 |
CPE5 |
210235AOLNH12000020 |
|
CPE6 |
210235AOLNH12000022 |
为机房A和机房B的设备分别创建了配置文件configure1.cfg和configure2.cfg。
(1) 登录ACS服务器(iMC)。
在ACS服务器上直接运行Web浏览器,在地址栏中输入http://10.185.10.41:8080/imc(即ACS服务器的IP地址和端口号),并输入用户名和密码成功登录iMC界面。
(2) 在ACS服务器上增加CPE分组。
# 在导航栏中选择“业务>分支网点管理>CPE分组”,进入图1-5所示页面。
图1-5 CPE分组页面
# 单击<增加>按钮,进入图1-6所示页面,以增加“DB_1”组为例。
图1-6 增加CPE分组页面
# 设置分组名称后,单击<确定>按钮完成增加操作。
(3) 在CPE分组中增加CPE,以增加“CPE1”为例。
# 选择认证方式为“ACS用户名”,配置CPE名称为CPE1,配置ACS用户名为admin;选择ACS认证密码生成方式为“手工输入”,将密码和确认密码都配置为12345;选择CPE设备的型号;选择CPE分组为DB_1。单击<确定>按钮完成增加操作。
# 在导航栏中选择“业务>分支网点管理>资源管理>增加CPE”,进入图1-7所示页面。
图1-8 增加CPE成功页面
重复以上步骤,将CPE2和CPE3设备的信息输入,完成机房A中的设备添加任务。
(4) 在ACS上配置模板库和CPE软件库类型。
# 在导航栏中选择“业务>分支网点管理>配置管理>配置模板库”,进入图1-9所示页面。
# 单击<导入>按钮,进入图1-10所示页面。
若导入的配置内容中第一条命令为system-view,则该命令前面不能有“#”号或其他内容。
# 选择文件和模板类型后,显示导入配置模板成功页面。
图1-11 导入配置模板库成功页面
# 在导航栏中选择“业务>分支网点管理>配置管理>CPE软件库”,进入图1-12所示页面。
图1-12 CPE软件库配置页面
# 单击<导入>按钮,进入图1-13所示页面,选择CPE对应的软件版本。
图1-13 导入CPE软件库页面
(5) 在ACS上将配置文件与不同组别的CPE设备绑定,实现自动部署。
# 在导航栏中选择“业务>分支网点管理>配置管理>部署向导”,进入图1-14所示页面。
# 在导航栏中选择“业务>分支网点管理>配置管理>部署向导>自动部署CPE配置>按CPE型号”,并将部署文件类型选择为“启动配置”,进入图1-15所示页面。
# 单击[选取CPE]按钮,进入选取CPE型号页面,选取之前创建的WB2320X-AGE型号(当CPE数量太多时,可以根据CPE分组进行查询),单击<确定>按钮完成选择操作。
# 完成选择页面后将返回自动部署设备配置页面,单击<确定>按钮完成部署任务的创建。
图1-16 部署任务创建成功页面
请参照以上步骤在ACS上完成机房B中三台设备的部署,配置机房A中设备的步骤基本类似,不再赘述。
(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服务器软件手册。
# 将CPE1上电并连接网线。
# 登录CPE1并开启CPE1设备的接口通过DHCP协议获取IP地址功能。
<CPE1> system-view
[CPE1] interface interface-type ten-gigabitethernet 1/0/1
[CPE1] ip address dhcp-alloc
CPE1会先通过DHCP server获取IP地址和连接ACS所需的信息,再按照CWMP协议的流程自动从ACS处获取配置文件。
请参照以上步骤完成另外5台CPE设备的配置,配置步骤基本类似,不再赘述。
# 在CPE上使用display current-configuration命令查看CPE上当前运行的配置是否和ACS下发的配置文件中的配置相同。如果相同,则表示CWMP下发配置成功。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!