6WINDGate 5.0 Management Architecture – Management Plane Extension with Linux Networking Stacks
6WINDGate 5.0 Management Architecture – Management Plane Extension with Linux Networking Stacks
Blog Article
This blog post is the third in our series explaining the main improvements of 6WINDGate 5.0. Today, we will detail the 6WINDGate management architecture and how this architecture can be leveraged to quickly extend the management plane to integrate customer features in a consistent manner.
Management Architecture
6WINDGate Management Plane comprises three main building blocks:
Management Engine and Data Store: YAMS, a Python-based engine configuring and monitoring all network components. The YAMS engine uses a YANG model data store. The YAMS engine configures and monitors the Linux kernel and daemons and benefits from the Linux – Fast Path synchronization described in the two first posts of this series, here and here.
Configuration: A NETCONF server providing a standard API to interface with NETCONF-based configuration tools. 6WIND has developed its own CLI tool as a NETCONF client to configure 6WINDGate features.
Monitoring / Analytics: Traditional SNMP and sFlow monitoring services as well as advanced services through a KPI agent collecting all statistics ready for streaming.
Management Engine And Data Store
NETCONF is a network management protocol standardized by the IETF. It defines mechanisms to install, manipulate and delete the configuration of network devices. It uses Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. YANG is a language used to model data for the NETCONF protocol. A YANG module defines a hierarchy of data that can be used for NETCONF-based operations, including configuration, state data, Remote Procedure Calls (RPCs), and notifications for network management protocols.
The 6WINDGate management engine comprises a YANG-based datastore and a NETCONF server. It supports all the required protocol operations to read and write the configuration: and so on.
The management engine stores separate configuration and state data for each feature. The state part includes additional runtime information compared to the configuration part; typically, statistics.
Configuration
The CLI is the common user interface to interact with 6WINDGate. It can be used to configure, monitor and troubleshoot. The CLI provides help and completion, as well as the management of configuration files to save and restore a complete and consistent configuration in one command. The 6WINDGate CLI is a NETCONF client that communicates with 6WINDGate’s YANG-based configuration engine. Its command names and statements follow the syntax and the hierarchical organization of the 6WINDGate YANG models. Data consistency is checked against the YANG model, so that syntax errors are detected early. The configuration engine supports transactions and rollback on error.
The CLI comes with traditional features, such as completion, history and contextual help. Users can walk the configuration tree as they would browse a file system. Relative and absolute paths can be used to refer to configuration data, making browsing very efficient.
The NETCONF API can be used from any NETCONF client to configure and monitor the router remotely, therefore enabling automation and orchestration.
SNMP
SNMP (Simple Network Management Protocol) is an Internet-standard protocol for collecting and organizing information about managed devices on IP networks. It exposes management data in the form of variables on the managed systems organized in a MIB (Management Information Base) that describes the system status. These variables can then be remotely queried by management applications.
6WINDGate supports SNMPv1, SNMPv2c (basic authentication with community strings) and SNMPv3 (authentication with SNMP users). Supported MIBS include standard system and networking MIBs (interface, IP, IPv6, IP forward, etc.), routing MIBs (BGP, OSPF, RIP), VRRP MIBs and 6WIND-developed IPsec MIB.
Data Plane Analytics: sflow
sFlow is a technology for monitoring traffic in data networks containing switches and routers. In particular, it defines the traffic sampling mechanisms implemented in sFlow Agents and the format of the sFlow Datagram that carries traffic measurement data from sFlow Agents to an sFlow Collector.
Next Gen Monitoring
In addition to traditional monitoring, 6WINDGate provides an advanced monitoring solution based on time series collection and visualization of Key Performance Indicators (KPIs). With such a solution, it is much easier to understand problems that happened in the past and to correlate them to past events. And it may even be used to predict the future as the user directly visualizes the dynamics of the system.
6WINDGate KPIs are pre-integrated with the InfluxDB time-series database and the Grafana analytics frontend. Integration with other TSDB or analytics front-ends is possible. Telegraf is used to collect KPIs and export them to InfluxDB. KPIs are modelized using YANG and exposed using NETCONF or a local API.