ZTP(Zero Touch Provisioning)开局是指新出厂或空配置设备上电启动时采用的一种自动加载开局文件(包括系统软件、配置文件、补丁文件等)的功能。
在部署网络设备时,设备安装完成后,需要软调工程师到安装现场,对设备进行软件调试。当设备数量较多、分布较广时,维护人员需要在每一台设备上进行手工配置,既影响了设备部署的效率,又大大增加了人力成本。
设备运行ZTP开局功能,可以从文件服务器获取开局文件并自动加载,实现设备的免现场配置、部署,从而降低人力成本,并提高了设备部署的效率。
如图1所示,设备作为DHCP客户端定时向DHCP服务器发送DHCP请求报文以获得配置信息,然后DHCP服务器向待配置设备响应DHCP应答报文,报文内容包括分配给待配置设备的IP地址、中间文件服务器的IP地址、中间文件服务器的登录方式,通过登录中间文件服务器获取开局文件的配置信息,最后设备根据获取的配置信息向指定的开局文件服务器自动获取开局文件并设置为下次启动加载的文件,待设备重启后,设备就实现了开局文件的自动加载。

设备支持多种ZTP开局方式,不同ZTP开局方式适用于不同场景,如表1所示。用户可以根据需要选择合适的开局方式。

DHCP方式的ZTP开局部署简单,用户只要部署DHCP服务器,就可以使用此开局方式。但DHCP方式的ZTP开局存在数据可能被泄露和截获问题,有一定的安全隐患。对于安全性要求较高的开局场景,用户可以通过部署专用的BootStrap服务器,通过双向认证和数据加密的方式,解决DHCP方式的ZTP开局数据的可信问题,相关内容请参见SZTP开局基本原理及配置DHCP方式的ZTP开局(无控制器场景)。
设备开局流程分为设备空配置开局和设备带配置开局。

设备空配置开局时,建议用户不要通过其他的配置方式对接口下发与ZTP开局执行的相同配置,如果开局失败会导致该配置被删除。
ZTP运行依赖OPS,可以通过执行ops stop process process-id 命令停止正在执行的ZTP流程,注意该方式可能会导致ZTP已经下发的配置保留在设备上。
SZTP又称安全ZTP,适用于安全要求高的场景。DHCP方式的ZTP开局部署简单,用户只要部署DHCP服务器,就可以使用此开局方式,但DHCP方式的ZTP存在数据被泄露和截获问题,有一定的安全隐患。用户通过部署DHCP服务器和专用的BootStrap服务器,通过双向认证和数据加密的方式,解决了DHCP方式的ZTP的数据可信问题。
如图1所示,设备作为DHCP客户端定时向DHCP服务器发送DHCP请求报文以获得配置信息,然后DHCP服务器向待配置设备响应DHCP应答报文,报文内容包括分配给待配置设备的IP地址、BootStrap服务器的IP地址或域名,设备利用预置证书与BootStrap服务器建立双向认证,并建立HTTPS连接,在信任连接的基础上,从BootStrap服务器获取开局文件信息,最后设备连接开局文件服务器,自动获取开局文件并设置为下次启动加载的文件,待设备重启后,设备就实现了版本开局文件动加载。

SZTP开局中,设备首先和BootStrap服务器进行双向认证,建立信任连接后,获取BootStrap中设置的开局文件信息,然后设备作为HTTPS客户端和开局文件服务器建立HTTPS链接,下载开局文件。SZTP信任连接建立依赖各类证书,涉及相关证书如表1。


实际使用中,用户可以根据安全性要求,部署一台或多台BootStrap服务器。此时BootStrap服务器中设置的可能是重定向的BootStrap服务器地址信息,发送设备时,重定向信息会被存储在Redirect Information中。设备和BootStrap建立不信任连接时,BootStrap服务器会将Redirect Information,所有权凭证和所有者证书,封装成BootStrap数据发送给设备,然后建立信任连接。信任连接建立后,设备从获取的是Redirect Information中解析出重定向BootStrap服务器的IP地址和其信任锚证书,安装信任锚证书后,继续和重定向后的BootStrap服务器建立信任连接,直到设备最终获取到Onboarding信息,即开局文件信息。
SZTP开局的流程如图3所示。

SZTP的实现流程分以下几个阶段:
1.设备上电启动
设备上电启动后,如果设备有配置文件,则退出ZTP开局流程,以该配置文件正常启动;如果是空配置设备,则进入ZTP开局流程。
2.DHCP信息获取
设备在管理网口、以太接口上广播发送DHCP请求报文。DHCP服务器向设备发送DHCP应答报文,设备解析应答报文,如应答报文中包含DHCP Option143字段,则设备进入SZTP开局流程。应答报文中不包含DHCP Option143字段,设备则进入DHCP方式的ZTP开局流程。进入SZTP开局流程后,从DHCP服务器获取设备的IP地址、缺省网关、Syslog服务器地址、BootStrap服务器地址等信息。同时设备根据DHCP应答报文中获取Syslog服务器的IPv4地址,启动Syslog服务器。当SZTP启动过程中的重要阶段信息记录到用户日志中,Syslog服务器将用户日志上传到网管侧。
3.获取开局文件信息
设备根据DHCP Option143字段解析出BootStrap服务器地址,与BootStrap服务器建立安全连接,获取开局文件信息。
4.重新启动阶段
设备将下载的开局文件设置为下次启动文件,然后重新启动,完成自动部署。
说明:
设备空配置开局时,建议用户不要通过其他的配置方式对接口下发与ZTP开局执行的相同配置,如果开局失败会导致该配置被删除。
SZTP运行依赖OPS,可以通过执行ops stop process process-id 命令停止正在执行的SZTP流程,注意该方式可能会导致SZTP已经下发的配置保留在设备上。