ZTP基本原理
自动部署的方式及典型组网环境
空配置的设备在上电后自动进入ZTP流程。设备首先尝试通过插入的U盘完成自动部署,如果U盘部署失败,再尝试通过DHCP方式完成自动部署。详细的工作流程请参见ZTP详细工作流程。
通过DHCP方式实现设备自动部署的典型组网环境如图2-1所示。
DHCP服务器:用来为执行ZTP的设备分配临时管理IP地址、缺省网关、DNS服务器地址、中间文件服务器地址等信息。
- Syslog服务器:用来将ZTP过程中记录的用户日志上传到网管侧。
DHCP中继:当执行ZTP的设备与DHCP服务器位于不同网段时,需要通过DHCP中继转发DHCP交互报文。
中间文件服务器:用来保存ZTP过程中设备需要的中间文件,中间文件的类型可以是ini文件格式或Python脚本文件格式。通过解析中间文件,执行ZTP的设备可以获取版本文件服务器地址、版本文件等信息。中间文件服务器可以是TFTP、FTP、SFTP类型的服务器。
版本文件服务器:用来保存设备需要的版本文件,如系统软件、配置文件、补丁文件。版本文件服务器可以和中间文件服务器部署在同一个文件服务器上,可以是TFTP、FTP、SFTP类型的服务器。
DNS服务器:用来提供域名和IP地址之间的映射关系。执行ZTP的设备可以通过DNS服务器将文件服务器的域名解析为IP地址,以便于从文件服务器获取需要的文件。
使用TFTP/FTP协议存在安全风险,建议使用SFTP进行文件传输。
ZTP详细工作流程
设备上电启动阶段。
设备上电启动后,如果设备有配置文件,则以该配置文件正常启动;如果是空配置设备,则进入ZTP流程。
空配置设备在上电启动时,如果用户已使用Console口登录设备,此时可以根据系统提示选择是否终止ZTP流程。如果用户选择终止ZTP流程,则设备以空配置正常启动。
从U盘获取中间文件和版本文件阶段。
空配置设备进入ZTP流程后,首先尝试通过从U盘获取中间文件。通过解析中间文件获取需要下载的版本文件信息,然后重新启动,完成自动部署。如果没有插入U盘、U盘中没有正确的中间文件或者获取版本文件失败,则进入阶段3。
DHCP信息获取阶段。
如果设备没有成功通过U盘完成自动部署,则开始尝试通过DHCP方式来完成自动部署。设备依次在管理网口、以太接口上广播发送DHCP请求报文(接口请求顺序依次为:管理网口->高带宽以太接口->低带宽以太接口)。DHCP服务器向设备发送DHCP应答报文,报文中的Option选项指明设备需要从DHCP服务器获得的信息,包括设备的IP地址、缺省网关、中间文件服务器的地址、Syslog服务器的地址、中间文件名等信息。
- 启动Syslog服务器。
设备根据DHCP应答报文中获取Syslog服务器的IPv4地址,即启动Syslog服务器。当ZTP启动过程中的重要阶段信息记录到用户日志中,Syslog服务器将用户日志上传到网管侧。
获取中间文件和版本文件阶段。
设备根据DHCP应答报文中获取的信息,从中间文件服务器上下载中间文件,然后再通过中间文件从版本文件服务器上下载版本文件。
如果中间文件是ini格式的中间文件,设备会根据文件中的版本文件服务器地址、版本文件名信息,从版本文件服务器上下载相应的版本文件;如果是Python格式的中间文件,设备会自动执行该脚本,通过运行脚本从版本文件服务器上下载相应的版本文件。
重新启动阶段。
设备将下载的版本文件设置为下次启动文件,然后重新启动,完成自动部署。
通过eSight网管实现ZTP开局
通过eSight网管实现ZTP开局,eSight网管的版本必须为V300R007C00SPC300或更高版本。若同时需要实现开局后堆叠功能,eSight网管的版本必须为V300R007C00SPC301或更高版本。
根设备:根设备是一台已与eSight完成对接的设备,用于连接开局设备。
eSight网管:用于部署ZTP开局,并在开局完成后完成与开局设备的对接。eSight网管同时充当版本文件服务器的角色,保存设备开局需要的版本文件,包括系统软件、配置文件、补丁文件或License文件。
在eSight上完成开局任务部署,包括拓扑规划、设置版本文件等。
设备上电启动,依次在管理网口、以太接口上广播发送DHCP请求报文。DHCP服务器向设备发送DHCP应答报文,报文中的Option选项指明设备需要从DHCP服务器获得的信息,包括设备的IP地址、缺省网关、中间文件服务器的地址、中间文件名等信息。
设备从中间文件服务器下载中间文件,然后运行该文件,通过运行中间文件从eSight下载相应的版本文件。中间文件为Python脚本,格式可参考Python格式的中间文件(与eSight对接)。
设备将下载的版本文件设置为下次启动文件,然后重新启动,完成自动部署。
通过AC-DCN控制器实现ZTP开局
通过AC-DCN控制器实现ZTP开局,AC-DCN控制器的版本必须为V300R002C10或更高版本。如果ZTP开局设备是CE6863、CE6863K、CE6881E、CE6881、CE6881K或者CE6820设备,且使用证书认证方式进行ZTP开局,则要求AC-DCN控制器版本为V300R019C00版本或更高版本。
根设备:根设备是一台已与AC-DCN控制器完成对接的设备,用于连接开局设备。对于CE6863、CE6863K、CE6881E、CE6881、CE6881K、CE6820,设备上已预置了认证证书,用来和AC-DCN控制器通过证书认证方式建立Netconf连接。
AC-DCN控制器:用于部署ZTP开局,并在开局完成后完成与开局设备的对接,控制器上预置了认证证书,用来和根设备通过证书认证方式建立Netconf连接。
管理员安装部署AC服务器、DHCP服务器、中间文件服务器和版本文件服务器,并将这些服务器与根设备进行物理连线。
设备上电启动,依次在管理网口、以太接口上广播发送DHCP请求报文。DHCP服务器向设备发送DHCP应答报文,报文中的Option选项指明设备需要从DHCP服务器获得的信息,包括设备临时IP地址、中间文件服务器的IP地址、boot.py文件存储目录的登录用户名及登录密码、boot.py脚本文件的路径和名称。
设备下载boot.py脚本文件并执行,使能LLDP功能,生成callhome配置并执行,用临时IP地址向AC-DCN控制器进行注册。
认证通过后,建立Netconf连接。设备从AC-DCN控制器获取拓扑文件,从版本文件服务器获取相应的版本文件。
设备将下载的版本文件设置为下次启动文件,然后重新启动,完成自动部署。
重启后,设备用管理IP向AC-DCN控制器进行注册,认证通过后,AC-DCN控制器将设备纳管。
对于CE6863、CE6863K、CE6881E、CE6881、CE6881K、CE6820,boot.py脚本内置在系统软件大包中,无需从中间文件服务器上下载,且设备和AC-DCN控制器上均预置认证证书。设备启动boot.py脚本文件后,通过证书完成认证,和AC-DCN控制器建立Netconf连接。