0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是RESTCONF?

汽车电子技术 来源:码农与软件时代 作者:码农与软件时代 2023-02-14 14:59 次阅读

1. 为什么存在RESTCONF?

Web应用程序可以通过集成NETCONF协议库,构建NETCONF客户端并向NETCONF服务端发送RPC消息,其结构图如下所示:

图片

既然NETCONF可以集成在Web应用程序中完成网络设备的配置,那为何又要制定RESTCONF协议呢?Web应用程序是构建在HTTP协议之上的,而NETCONF不满足这一点。所以,Web应用程序如何以一种原生的方式访问网络设备内的配置数据、状态数据、RPC操作和事件通知,就需要一种标准机制来实现。

RESTCONF(https://tools.ietf.org/html/rfc8040)正是这种标准机制,它是一种基于HTTP [RFC7230]的协议,用于配置YANG版本1[RFC6020]中定义的数据或YANG版本1.1[RFC7950],使用网络配置协议(NETCONF)[RFC6241]的数据存储概念。因此,其以HTTP作为传输协议,使用 YANG语言来定义数据结构,并使用NETCONF定义数据存储。

简单地说,RESTCONF是RESTFUL风格的协议,采用统一接口的方式实现网络数据的操作,也就是可以使用GET、DELETE、PATCH、POST和PUT方法来查询和修改资源。消息放在Body体中,格式可以是XML或JSON,具体是XML还是JSON,通过以下方式指定:

图片

一个简单的流表:

table=1,tun_id=100,dl_dst=00:00:00:00:aa:01,actions=output:1对应的北向接口RESTCONF的流表请求下发实例:

①URL地址:

图片

②请求方法:POST。

③请求BODY体:

图片

2. NETCONF和RESTCONF的关系

RESTCONF是一种RESTFUL风格的协议,使用GET、POST、PUT、DELETE等方法实现与NETCONF同等的操作。

RESTCONF不是NETCONF的替代品。RESTCONF提供了Web应用层级的抽象,便于Web应用开发人员实现网络资源的配置。

RESTCONF可以使用JSON和XML两种数据格式,NETCONF完全基于XML的格式,但开发人员更喜欢的是JSON而不是XML。

RESTCONF不提供数据库的加锁操作和数据库备份等功能。NETCONF在复杂功能的场景下,仍发挥重要价值。

3. RESTCONF的应用

在NETCONF和RESTCONF的协议栈下,其网络配置应用程序的粗略图大致上如下图所示:

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1239

    浏览量

    68528
  • RPC
    RPC
    +关注

    关注

    0

    文章

    101

    浏览量

    11428
  • 应用程序
    +关注

    关注

    37

    文章

    3141

    浏览量

    56489
收藏 人收藏

    评论