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的主要内容,如果未能解决你的问题,请参考以下文章

NetDevOps — PyEZ

NetDevOps — NAPALM

NetDevOps — NETCONF/YANG 协议

NetDevOps — netmiko

NetDevOps — YANG 协议 — Junos YANG Modules

NetDevOps — YANG 协议 — 模型文件