(本文基于华为ZTP)

一、概述

ZTP——Zero Touch Provisioning,中文零接触开局又称零配置开局,指新出厂或空配置网络设备上电启动时采用的一种自动加载版本文件(包括系统软件、配置文件、License文件、补丁文件、自定义文件)的功能。

二、原理

1、传统开局与ZTP开局

传统设备开局配置通常是调试工程师逐个设备登录配置,不适用于云数据中心新增大量的设备的场景,相比之下去ZTP方式更适用于数据中心的自动化趋势。

网络设备开局主要是依赖配置文件和软件版本信息,前者用于加载规划好的各种配置,后者用于更新设备系统至统一版本,ZTP正是通过设备自动加载这两个文件来实现零接触开局。

2、ZTP开局原理

设备加点后作为DHCP客户端定时发送DHCP请求报文,然后DHCP服务器向待配置设备响应DHCP应答报文,通过option67分配给中间文件所在服务器的IP地址,中间文件指定了不同的设备加载不同的版本、配置文件及文件服务器地址。最后设备向指定的文件服务器自动获取版本文件并设置为下次启动加载的文件,待设备重启后,设备就实现了版本文件的自动加载。

3、中间文件

中间文件用于指定设备如何加载配置文件及系统软件版本,中间件文件既可以使用.ini格式的索引文件,也可以采用.py格式的python文件,但命名都必须以ztp开头。
例如:ztpswtich.ini 或者是 ztprouter.py

ini格式中间文件参考样例:

#sha256=“676a306a0c22d46ed975633de9d05af4b1ebb94879ed1dd1d1e34de2a72c4e7e”
;BEGIN ZTP CONFIG
[GLOBAL CONFIG]
*FILESERVER=sftp://sftp_user:Pwd123@10.1.3.2
*SN=20200526120159
*DEVICE_TYPE_NUM=2

[DEVICE_TYPE_1 DESCRIPTION]
DEVICE_TYPE=CloudEngine 16800
ESN=2102311LDL0000000918
MAC=00e0-fc12-3443
SYSLOG_INFO=TCP
SPACE_CLEAR=0
DIRECTORY=folder/
ACTIVE_DELAYTIME=2020-06-01 20:05:59
*FILETYPENUM=2
*FILENAME_1=CE16800-V300R020C00.cc
*TYPE_1=SOFTWARE
*EFFECTIVE_MODE_1=0
ISBATCHPROCESS_1=0
SHA256_1=a7638ea0a69933ac20df66ea9bf6ea301de8155684d81fbcdf00f6ca07261d7c
*FILENAME_2=conf_CE16800.cfg
*TYPE_2=CFG
*EFFECTIVE_MODE_2=0
ISBATCHPROCESS_2=0
SHA256_2=a7638ea0a69933ac20df66ea9bf6ea301de8155684d81fbcdf00f6ca07261d7c

;END ZTP CONFIG

py格式中间文件参考样例:

https://support.huawei.com/hedex/hdx.do?docid=EDOC1100156551&id=ZH-CN_TOPIC_0232979526&lang=zh

三、流程图

四、其他开局方式

除了通过DHCP获取版本文件,也可以通过将版本文件放在U盘中并在U盘中配置ini格式的索引文件指定需要加载的版本文件,另外在SDN场景下还支持邮件开局、即插即用开局模式。

零配置自动开局——Zero Touch Provisioning相关推荐

  1. 【新华三】DHCP+TFTP+ZTP自动开局实战

    ZTP 零配置部署(Zero Touch Provisioning,ZTP)是指新出厂或空配置设备上电启动时采用的一种自动加载开局文件(包括系统软件.补丁文件.配置文件等)的功能.设备运行ZTP功能, ...

  2. 开发板给电脑自动分配IP?手把手教部署零配置网络实现电脑与开发板直连

    关注.星标嵌入式客栈,精彩及时送达 [导读] 在做一个ZYNQ项目时,需要实现嵌入式Linux与Windows电脑直连.可能会有盆友会遇到类似的需求,所以整理分享一下. 问题描述 基于ZYNQ芯片设计 ...

  3. 详解Parcel:快速,零配置web应用打包工具

    Parcel有什么特别的,我为什么要关心它? 虽然webpack提供了非常多灵活的配置,但是与之带来的是复杂度的提升,而Parcel却非常的简洁.Parcel自己的口号也是非常直白:零配置. 为什么这 ...

  4. python 自动化运维 读取交换机数据_技术干货|数据中心自动化运维技术探索之交换机零配置上线...

    近几年来,互联网行业处于一个快速发展的快车道,一个又一个风口不断地涌向周边行业.共享单车的出现解决了人们出行***一公里的问题:新零售概念的提出,无人货柜的出现,更是将线上和线下的数据打通,优化了人们 ...

  5. Spring解析,加载及实例化Bean的顺序(零配置)

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 作者:jb_hz blog.csdn.net/qq_2752 ...

  6. 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置

    经过<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(1) - 数据源与事务管理>和<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(2) - ...

  7. Struts2零配置 Zero Config+CodeBehind

    Zero Config能根据web.xml中配置的actionPackages自动扫描所有Action类,并猜测其NameSpace. 再利用CodeBehind猜测Result指向的jsp,实现了s ...

  8. Struts2零配置介绍(约定访问)

    从struts2.1开始,struts2 引入了Convention插件来支持零配置,使用约定无需struts.xml或者Annotation配置 需要 如下四个JAR包 插件会自动搜索如下类 act ...

  9. react 引用本地js_从零配置webpack 4+react脚手架(二)

    前言: 你可能也注意到了,html文件中的关于js的引用是我们手动写的,那假如我们改了输出路径或打包编译之后的文件名,那我们岂不是还要手动去修改html文件中的引用?我们怎么做到,像create-re ...

最新文章

  1. A100 GPU硬件架构
  2. HDU2594 KMP next数组的应用
  3. mysql function加速_MySQL - 函数(FUNCTION)
  4. 在GridView里使用上下箭头(小键盘旁边)来选择记录
  5. java调用类中的静态变量时类中静态代码块什么情况会执行以及类的初始化问题?
  6. PostgreSQL 优化器代码概览 1
  7. jira7.12.1安装与破解
  8. python编程入门指南-《中小学生Python编程入门指南》3.4 字典
  9. 如何取消html5微信页面授权,微信授权登录网页管理在哪里看?如何取消授权
  10. 第九届蓝桥杯国赛 调手表
  11. Android NFC开发(二)——Android世界里的NFC所具备的条件以及使用方法
  12. java中设置环境变量时,bin和lib的作用是什么?
  13. 解决oracle异常ORA-01012: not logged on
  14. [数据可视化] 环形图(Donut Chart)
  15. c语言响铃编程,C语言C加加编程新手快速入门基础学习
  16. [GO]学习新语言之卡塔练习--猜数字
  17. 敏捷云数据分析能力获权威认可,一举获得两项亚马逊云科技资质认证
  18. Linux 查看usb设备信息
  19. 计算机编程入门课件,PPT课件大学计算机基础编程入门.ppt
  20. 传奇sf高防服务器,g口大流量,稳定安全

热门文章

  1. 中国串灯市场现状研究分析与发展前景预测报告(2022)
  2. 蓝牙解锁(AutoLock) for mac--蓝牙WiFi解锁工具
  3. 分不清带有方向的格助词?可以归纳成一张图(に、へ、と)
  4. docker解决permission denied
  5. SDN实验---RYU介绍
  6. 离线打包maven设置
  7. AlertDialog自定义界面圆角显示
  8. Nginx——Keepalived的原理与配置
  9. 深入理解linux下write()和read()函数
  10. explorer exe 服务器运行失败,win10系统提示explorer.exe服务器运行失败