网络API管理与自动化全解析
1. 数据模型驱动接口对比
在网络管理领域,NETCONF、RESTCONF和gNMI这三种数据模型驱动的接口各自有着独特的优势和应用场景。
NETCONF最早出现于2006年,旨在解决SNMP在网络配置管理方面的局限性。它引入了多数据存储、RPC操作、事务中的有效配置管理以及使用数据模型更新/检索配置数据和操作数据等新思想,主要用于网络配置管理。
2014年左右,OpenConfig联盟成立,推动了gNMI的发展。gNMI是一个开源项目,以实现流式遥测为主要驱动力,同时借鉴了NETCONF的思想并进行了简化实现。
2017年,IETF创建了RESTCONF接口,它结合了NETCONF方法和简单的RESTful API范式,在不需要满足NETCONF所有要求时,能促进数据模型驱动管理的更广泛应用。
这三种接口的主要差异如下表所示:
| 接口 | 编码 | 传输 | 事务范围 |
| — | — | — | — |
| NETCONF | XML | SSH | 网络范围 |
| RESTCONF | JSON或XML | HTTP/TLS | 单目标、单次 |
| gNMI | protobuf或JSON | gRPC over HTTP/2 | 单目标、单次、有序 |
1.1 编码差异
- NETCONF :采用当时最流行的XML编码方式。
- RESTCONF :虽然仍支持XML(可能是为了与NETCONF脚本