NetDevOps — NAPALM
Posted 范桂飓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NetDevOps — NAPALM相关的知识,希望对你有一定的参考价值。
目录
NAPALM
NAPALM(Network Automation and Programmability Abstraction Layer with Multivendor support,多厂商支持的网络自动化和可编程抽象层)是一个 Python 库,顾名思义,NAPALM 解决的是异构厂商兼容性的问题,旨在通过统一的接口控制多个厂商产品。
从网络设备取出原始配置数据或状态数据之后,可以使用 NAPALM 将其翻译成标准格式的 NAPALM 数据。反之,也可以将标准格式的 NAPALM 数据翻译成网络设备原始配置数据,并 Push 到网络设备里面,以修改其配置内容。
因为各厂商 NETCONF 的数据表达存在很多差异,所以 NAPALM 必须要依赖第三方的 Modules 来完成原始数据的解析和翻译。即:如果要解析厂商 A 的某个 OS 系统的配置,就需要一个 OSA_Module;如果要解析厂商 B 的某个 OS 系统的配置,则需要 OSB_Module。
NAPALM 采用了 multi-driver(多驱动类型)的机制。目前各大厂商都有自己的网络自动化模块,例如:Juniper 的 PyEZ 库,Cisco ios/IOSXR 的 netmiko/pyIOSXR 库,Cisco Nexus 的 NX-API,以及 Fortgate 的 pyFortiAPI
以上是关于NetDevOps — NAPALM的主要内容,如果未能解决你的问题,请参考以下文章