思科IOS-XE的NETCONF网络管理协议
首先,我们从协议和数据编码语言开始讲起,有多种方式来配置网络设备,常见的实施方式有:

  1. CLI(大家熟悉的命令行),该实施方案由于是基于“字符串”的方式,所以易于“人类”来阅读,但相对而言可视化程度偏低,另外一个问题是计算机语言很难分析这些命令
    2.NETCONF(升级版的SNMP-简单网络管理协议,本质在于SNMP并不是面向配置的协议),不同于CLI,它使用XML的方式来构造数据结构,从而更加容易分析和处理。网络管理员可以利用这套机制在网管上增加、修改、删除网络设备的配置,获取网络设备的配置和状态信息。网络设备提供了规范的应用程序编程接口API(Application Programming Interface),网管可以通过NETCONF使用这些API管理网络设备。
    思科IOS-XE的NETCONF网络管理协议

  2. RESTCONF(通过HTTP协议传输的NETCONF),使用JSON来构造数据结构,计算机更加容易分析和处理
  3. REST API(各厂商私有的配置方式)

    2大类编码语言:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式)和XML(基于可扩展标记语言XML(Extensible Markup Language))

    思科开发了一个yang-explorer软件,可以用于查询网络设备管理节点的内容(安装在linux系统下,并不支持windows系统,但是可以在windows系统下使用yang-explorer)。关于YANG,它是一种支持NETCONF协议数据模块的一个数据模块语言,针对NETCONF的请求和相应,YANG会提供一个定义对象和数据的方式。下图是一个典型的YANG的XML例子
    思科IOS-XE的NETCONF网络管理协议