Nowadays, computer networks are getting increasingly complex. Often they include a large number of devices, and they support many different services. Because it's hard to manage such networks manually, through the Command Line Interface (CLI) on each device, the industry has begun to look for solutions that enable automation. This thesis discussed the automation of network device management through application programming interfaces, which various vendors have recently implemented on their devices. In a desire for a unified way to manage devices, the industry has standardized a protocol called NETCONF, which allows control of devices through application programming interfaces. Due to the growing popularity of interfaces that follow the REST principles, the RESTCONF protocol has also been standardized, enabling NETCONF functionalities but working according to REST principles. Both protocols can be used to automate device management, as they can be used in different programming languages. In this paper, I used and compared both protocols and discussed the benefits compared to managing devices through Command Line Interface. First, I used both protocols in the Python programming language. In addition to writing our own scripts, I also looked at tools that make it easier for us to use application programming interfaces. I focused on the Cisco NSO tool, which provides a centralized view of all devices on the network and simplifies the configuration of complex services. In this paper, I tested the benefits of using this tool, in the case of the OSPF configuration, in a network consisting of four routers.
|