NETCONF as defined in RFC 4741 and RFC 6241 is an IETF standard that uses the YANG data models to communicate with various devices on the network.
NETCONF can run over SSH, TLS and Simple Object Access Protocol (SOAP).
Some common use cases for NETCONF:
- Collecting status of specific fields
- Changing the configuration of specific fields
- Taking administrative actions
- Sending event notifications
- Backing up and restoring configuration
- Testing configurations before finalising transactions
Differences between SNMP and NETCONF
|Data Models||Defined in MIBs||YANG Core Models|
|Data Modelling Language||SMI||YANG|
Transactions are all or nothing. There is no order in operations or sequencing within a transaction.
No part of the configuration needs completed first, the configuration is deployed all at the same time.
Transactions are proceeded in the same order every time on every device.
Transactions when deployed run in a parallel state and do not impact on each other.
Parallel transactions touching different areas of the configuration on a device do not overwrite or interfere with each other.
They do not impact each other if the same transaction is run against multiple devices.
NETCONF exchanges information called capabilities when the TCP connection has been made.
Capabilities tell the client what the device it is connected too can do.
|<get>||Requests running configuration and state of device|
|<get-config>||Requests some or all of the configuration|
|<edit-config>||Edits the configuration datastore using CRUD operations|
|<copy-config>||Copies the configuration to a datastore|
|<delete-config>||Deletes the configuration|
Information and configurations are stored in datastores.
Datastores can be manipulated by using the NETCONF operations.
NETCONF uses Remote Procedure Call (RPC) messages in a XML format.