Main features

MG-SOFT NETCONF Simulator software application can simulate numerous NETCONF-enabled network devices (servers) on one machine, where each simulated server listens on a different IP address or port and supports its own set of YANG modules and NETCONF access parameters.

The following is a brief list of the main features in NETCONF Simulator:

Effectively simulating numerous NETCONF devices
MG-SOFT NETCONF Simulator can simulate thousands of NETCONF-capable network devices (servers) on one machine. Each simulated NETCONF server binds to a specified IP address, port and network interface and can support its own set of access parameters (SSH or TLS transport, user credentials, certificates). Furthermore, each simulated server instance can support a distinct set of YANG modules, features, and datastores (configuration and state data). Network management systems can establish a number of concurrent NETCONF sessions with simulated NETCONF servers to manipulate their configurations and retrieve their state data. In other words, the software lets you simulate arbitrary NETCONF networks that appear to NMS as a multitude of real NETCONF devices, without using the bulky and costly equipment (screen shot).
Supporting a wide range of NETCONF capabilities
Besides the base NETCONF capabilities, the simulated servers support a number of optional protocol capabilities, like the writable-running, candidate and startup datastore, xpath, validate, rollback-on-error, yang-library, with-defaults (RFC 6243), etc., as well as all standard NETCONF v1.1 (RFC 6241), and NETCONF v1.0 (RFC 4741) operations, like <get>, <get-config>, <edit-config>, <copy-config>, <delete-config>, <commit>, <validate>, etc. All this makes the NETCONF simulations even more realistic and provides room for many use cases and test scenarios, for example, a NMS can connect to a simulated server and lock its running and candidate datastores (using the <lock> operation), write a configuration change to the candidate datastore by means of the <edit-config> operation, validate the new configuration on the server using the <validate> request, then apply the changes to the running datastore by performing the <commit> operation, then copy the configuration from running datastore to the startup datastore (<copy-config> RPC), so the server will boot up from it on the next restart, then unlock the running and candidate datastores (<unlock> operation), then fetch the new configuration by means of the <get-config> request, etc.
The software provides full support for the NETCONF v1.1 over SSH (RFC 6242), as well as for NETCONF v1.0 over SSH (RFC 4742) for backward compatibility reasons. It can simulate NETCONF servers supporting both versions of the protocol over secure SSH2 transport.
NETCONF Simulator can simulate servers that support NETCONF over TLS (Transport Layer Security) protocol employing the public key authentication mechanism. Both, NETCONF v1.1 over TLS (RFC 7589) and NETCONF 1.0 over TLS (for backward compatibility) (RFC 5539) are supported.
YANG profiles define NETCONF server data model and actual data
The data model (YANG files, features) and the content of the running datastore (configuration and state data) can be configured in YANG profiles. A YANG profile can be assigned to one or more simulated servers to exhibit the data model and return the configuration and state data written in the profile. This way, one can create different types of NETCONF devices that "implement" different data models and associated data. The software can use data models defined by any set of valid YANG 1.1 (RFC 7950) and YANG 1.0 (RFC 6020) modules - standard and proprietary (screen shot).
Creating YANG profiles by taking snapshots of real NETCONF devices
MG-SOFT NETCONF Simulator can take a "snapshot" of any NETCONF server on the network and then simulate such server. In addition to the configuration and/or state data retrieved from a real NETCONF device, the software can download also the YANG modules from it and discover the features it supports. All this information is stored in a YANG profile that can be easily assigned to one or more simulated NETCONF servers (screen shot).
Access profiles define NETCONF server connection parameters
The software lets you configure access profiles containing NETCONF connection parameters, including the transport protocol (SSH or TLS), user credentials and X.509 certificates/keys. An access profiles can be assigned to one or more simulated NETCONF servers in order to use the specified parameters while establishing NETCONF connections with clients (screen shot).
Built-in X.509 certificate management tool
The software incorporates a tool that lets you generate and manage digital certificates and public-private key pairs used for securing NETCONF over TLS and NETCONF over SSH sessions. This easy-to-use tool allows you to generate new public and private key pairs wrapped in X.509 certificates in a wizard-driven fashion, quickly import certificates from external keystore files, generate certificate signing requests, export certificates, manage trusted CA certificates, etc. (screen shot).
Implementing the ietf-yang-library and ietf-netconf-monitoring YANG modules
NETCONF Simulator "implements" the standard ietf-yang-library (RFC 7895) and ietf-netconf-monitoring (RFC 6022) YANG modules, meaning that all YANG modules you assign to a simulated server will be automatically announced as supported in these two modules. This also means that NETCONF clients will be able to downlaod the supported YANG modules directly from the simulated servers by means of the HTTP Get method or the NETCONF <get-schema> operation.
Simulator engine (service) and management console (GUI)
The main components of the software are the simulator engine and the management console. Simulator engine continuously runs as a system service and simulates NETCONF servers. An easy-to-use management console (GUI) is provided for configuring and managing simulated NETCONF server instances (screen shot).
Bulk commands and IP Address Manager tool for greater productivity
NETCONF Simulator management console offers commands that let you create, configure, start and stop simulating multiple NETCONF servers at a time (screen shot). It also features a built-in IP address manager utility that lets you easily add multiple IP addresses to the local network interfaces in order for simulated servers to listen on these addresses (screen shot).
Logging important operations and NETCONF messages exchanged between servers and clients
The software logs all major user actions performed on the simulated servers, like creating new servers, starting servers, stopping servers, deleting servers, etc. and the status of these actions. In addition to this general log, the software lets you open a dedicated log for each simulated server instance. Such a dedicated log contains records of actual NETCONF RPC requests and responses exchanged between the given NETCONF server and NETCONF clients. The latter can be valuable for analyzing the NETCONF traffic and for debugging incorrect behavior of NETCONF clients that communicate with simulated servers (screen shot).
Saving and loading simulation configurations
Once you have configured everything in the NETCONF Simulator management console, you can save the entire simulation configuration to disk for later use. This functionality allows you to save several fully configured groups of NETCONF servers (e.g., where servers use different IP addresses, ports, YANG profiles, etc.) and then quickly switch between any of the configured simulations (screen shot).
Runs on Windows operating systems with Java(TM) 8+
MG-SOFT NETCONF Simulator runs on 64-bit Microsoft Windows operating systems with Java(TM) Runtime Environment 8 or later installed. AdoptOpenJDK 11 or later Java distribution is also supported. For detailed system requirements please consult the section 2.1 of the User Manual.