With the rapid growth in technology, every day new developments are being made which are changing the way things work. Specially in IT. JunOS & Network automation were made for each other due to modular designe of Juniper OS & clear separation of control & forwarding plane. Automation is nowadays a hot topic and computer networks are changing and adopting new technologies to simplify the tasks.
Currently as most of the vendors are working towards in single control plane for centralized management of devices, juniper networks is having edge on other vendors as it has modular design since the very beginning.
Since its early days, Juniper networks has adopted one operating system across all of its products like SRX, MX or EX series devices which is JunOS. JunOS is modular operating system in the sense that every process runs in its own protected memory that is process like routing protocols runs in separate process call rpd, management of the operating system is run by management daemon called mgd and list goes on & on.
Currently we are managing devices using CLI but if you look at the JunOS management process you will be amazed at how XML API is carrying CLI commands to management daemon behind the scenes. Similarly, if we are using Other automation tools like NETCONF, RESTCONF, Python or PYEz, All of them are coordinating with management process via XML API.
So when we are executing commands via CLI over the network, it is going to be translated to XML under the hood by juniper. it forwards the request to mgd and take the response back to CLI. Like if typed the command “show interfaces terse” to check interfaces status it will forward the request under the hood to XML API to forward it to mgd in the form of XML script and take the response and converts it to human readable form to revert back to CLI.
To prove the aformentioned concept, i just logged into my SRX device are issued the command “show interfaces terse | display xml rpc”. It will display the actual command which will be in XML format to be forwarded to management daemon.
Now to get the reverse data received from management daemon to XML API, issued the command “show interfaces terse | display xml”.
A few words about RPC, RPC stands for Remote Procedure Call which is predefined / pre-built into JunOS to perform any given task for example to get configuration etc.
So if you are working with Juniper devices via CLI, Python or REST Applications, behind the scenes you are translating your requests to & responses from XML API.
So we can say that Juniper has planned its operating systems since the early days for automation in mind with clear separation of Control and Forwarding plane. In this lesson we learnt how JunOS & Network Automation is compatible with network automation procedure. In our next lecture we shall learn to enable netconf in Juniper operating system. That is all i have for now, i hope its been informative for you and i would like to thank your for visiting.