diff --git a/SCOR/YANG_NETCONF_RESTCONF.md b/SCOR/YANG_NETCONF_RESTCONF.md new file mode 100644 index 0000000..14de2e7 --- /dev/null +++ b/SCOR/YANG_NETCONF_RESTCONF.md @@ -0,0 +1,35 @@ + +### YANG (Yet Another Next Generation) + +YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), the NETCONF Remote Procedure Call (RPC) protocols, and network management protocols such as RESTCONF. It provides a clear, hierarchical structure that can be easily understood both by humans and machines. + +Key Features of YANG: + +- **Hierarchical Data Models:** YANG models represent the structure of network configurations and state data in a tree-like hierarchy. +- **Modular:** YANG allows the creation of modular and reusable models. +- **Strong Typing:** YANG provides a rich set of built-in data types and supports the creation of new types. +- **Extensibility:** YANG models can be extended and augmented, allowing for customization and scalability. +- **Constraints and Validations:** YANG supports defining constraints and validations for data, ensuring consistency and correctness of configurations. + +### NETCONF (Network Configuration Protocol) + +NETCONF is a network management protocol developed and standardized by the IETF. It provides mechanisms to install, manipulate, and delete the configuration of network devices using a remote procedure call (RPC) approach. + +Key Features of NETCONF: + +- **Configuration Management:** NETCONF allows network administrators to query and modify the configuration of network devices. +- **Transactional Changes:** NETCONF supports making changes to the network configuration in a transactional manner, ensuring that a set of changes is applied atomically. +- **Error Handling:** NETCONF provides detailed error reporting, which is crucial for troubleshooting. +- **Extensible:** NETCONF can be extended to support additional capabilities. + +### RESTCONF + +RESTCONF is a protocol based on REST principles and designed as a lightweight alternative to NETCONF. It uses standard HTTP methods to provide a programmatic interface for accessing data defined in YANG models, allowing for the retrieval and modification of network configurations and state data. + +Key Features of RESTCONF: + +- **HTTP-Based:** RESTCONF uses standard HTTP methods (GET, POST, PUT, DELETE) for operations. +- **JSON and XML Support:** RESTCONF supports both JSON and XML encoding for data, making it flexible and easy to integrate with various systems. +- **Simpler than NETCONF:** RESTCONF is generally considered simpler and more web-friendly compared to NETCONF, due to its use of HTTP. + +Together, YANG, NETCONF, and RESTCONF form a powerful trio for network management and automation. They provide a standardized, programmatic approach to managing network configurations, which is particularly beneficial for large-scale and complex networks. As an expert in cybersecurity, learning these technologies can be valuable for understanding network configurations, implementing security policies programmatically, and ensuring compliance across network devices.