RESTCONF JSONRPC NETCONF May17 Public
RESTCONF JSONRPC NETCONF May17 Public
Solution Architects
NETCONF, RESTCONF & JSON-RPC
RESTCONF is modeled after NETCONF. The goal with RESTCONF is to make a simplified version of NETCONF, so
RESTCONF functionality is a subset of NETCONF. One of the fundamental reasons for this is that the REST
architecture, by definition, does not have a session concept. The lack of sessions rule out certain types of NETCONF
operations, like network-wide transactions. RESTCONF will therefore never have all the functionality of NETCONF.
The RESTCONF functionality may well be sufficient for many use cases. Using RESTCONF, however, you will always
run the risk that in a future use case, you might need some NETCONF feature that isn't available in RESTCONF.
RESTCONF
Pros: Cons:
• Stateless communication – doesn’t maintain state • No security in protocol if over HTTP, so run near NSO or through
• Use standard HTTP methods. i.e. GET, POST, PUT, secure tunnel
PATCH, DELETE, OPTIONS & HEAD. • RESTCONF specification still young, so implementations and
• The REST API is always independent of the type of interoperability are still in build-up phase.
platform or languages. • PATCH operation very limited when compared to edit-config in
• Resources with multiple representations. Can receive NETCONF, so a new media type has been invented to handle
request and send response in XML and JSON edits which address more than one location in the data tree. This
format. media type may not be well supported by many of the traditional
REST toolchains.
• Industry standard for years so easy for programmers
to implement. • RESTful system is tied to uniform interface of the supporting
protocol HTTP.
• Need to perform multiple http requests for batch processing under
different transactions. Certain operations not possible due to this,
or will be difficult to roll back, or will have undesired effects on the
network.