1. 介绍

需要标准机制来允许Web应用程序以模块化和可扩展的方式访问网络设备内的配置数据,状态数据,特定于数据模型的远程过程调用(RPC)操作和事件通知。

本文档定义了一个基于HTTP [RFC7230]的协议,称为“RESTCONF”,用于使用网络配置协议(NETCONF)中定义的数据存储概念(RFC6241])配置在YANG版本1 [RFC6020]或者YANG版本1.1 [RFC7950]。

NETCONF定义了配置数据存储和一组可用于访问这些数据存储的创建,读取,更新,删除(CRUD)操作。 NETCONF也定义了一个调用这些操作的协议。 YANG语言定义数据存储内容,配置,状态数据,RPC操作和事件通知的语法和语义。

RESTCONF使用HTTP方法在包含YANG定义数据的概念数据存储上提供CRUD操作,这与实现NETCONF数据存储的服务器兼容。

如果RESTCONF服务器与NETCONF服务器位于同一位置,则与NETCONF协议​​存在协议交互;这些交互在1.4节中描述。 RESTCONF服务器可以使用操作资源提供对特定数据存储的访问,如3.6节所述。 RESTCONF协议​​不指定任何强制操作资源。每个操作资源的语义确定是否以及如何访问数据存储。

配置数据和状态数据公开为可以使用GET方法检索的资源。表示配置数据的资源可以使用DELETEPATCHPOSTPUT方法进行修改。数据使用XML [W3C.REC-xml-20081126]或JSON [RFC7159]进行编码。

可以使用POST方法调用使用YANG的“rpc”或“action”语句定义的特定于数据模型的RPC操作。可以访问使用YANGnotification”语句定义的特定于数据模型的事件通知。