El Protocolo de configuración de red ( NETCONF ) es un protocolo de gestión de red desarrollado y estandarizado por IETF . Fue desarrollado en el grupo de trabajo NETCONF [1] y publicado en diciembre de 2006 como RFC 4741 [2] y posteriormente revisado en junio de 2011 y publicado como RFC 6241. [3] La especificación del protocolo NETCONF es un documento de Internet Standards Track.
NETCONF proporciona mecanismos para instalar, manipular y eliminar la configuración de dispositivos de red. Sus operaciones se realizan sobre una simple capa de llamada a procedimiento remoto (RPC). El protocolo NETCONF utiliza una codificación de datos basada en XML ( Extensible Markup Language ) para los datos de configuración y los mensajes del protocolo. Los mensajes de protocolo se intercambian sobre un protocolo de transporte seguro.
El protocolo NETCONF se puede dividir conceptualmente en cuatro capas:
- La capa de contenido consta de datos de configuración y datos de notificación.
- La capa de operaciones define un conjunto de operaciones de protocolo base para recuperar y editar los datos de configuración.
- La capa de mensajes proporciona un mecanismo para codificar las llamadas a procedimientos remotos (RPC) y las notificaciones.
- La capa de transporte seguro proporciona un transporte seguro y confiable de mensajes entre un cliente y un servidor.
El protocolo NETCONF ha sido implementado en dispositivos de red como enrutadores y conmutadores por algunos de los principales proveedores de equipos. Una fortaleza particular de NETCONF es su soporte para cambios de configuración robustos mediante transacciones que involucran varios dispositivos.
Historia
El IETF desarrolló el Protocolo simple de administración de redes (SNMP) a fines de la década de 1980 y resultó ser un protocolo de administración de redes muy popular . A principios del siglo XXI se hizo evidente que, a pesar de lo que se pretendía originalmente, SNMP no se estaba utilizando para configurar equipos de red, sino que se utilizaba principalmente para el monitoreo de redes . En junio de 2002, la Junta de Arquitectura de Internet y miembros clave de la comunidad de gestión de redes de la IETF se reunieron con los operadores de redes para discutir la situación. Los resultados de esta reunión están documentados en RFC 3535. Resultó que cada operador de red estaba utilizando principalmente una interfaz de línea de comandos (CLI) propietaria diferente para configurar sus dispositivos. Esto tenía una serie de características que gustaban a los operadores, incluido el hecho de que estaba basado en texto, a diferencia del SNMP codificado en BER . Además, muchos proveedores de equipos no brindaron la opción de configurar completamente sus dispositivos a través de SNMP. Como a los operadores generalmente les gustaba escribir scripts para ayudar a administrar sus cajas, encontraron que la CLI de SNMP faltaba de varias maneras. Lo más notable fue la naturaleza impredecible de la salida. El contenido y el formato de la salida eran propensos a cambiar de manera impredecible.
Por esta misma época, Juniper Networks había estado utilizando un enfoque de gestión de red basado en XML. Esto se trajo al IETF y se compartió con la comunidad en general. En conjunto, estos dos eventos llevaron al IETF en mayo de 2003 a la creación del grupo de trabajo NETCONF. Este grupo de trabajo se creó para trabajar en un protocolo de configuración de red, que se alinearía mejor con las necesidades de los operadores de red y los proveedores de equipos. La primera versión del protocolo NETCONF base se publicó como RFC 4741 en diciembre de 2006. Se publicaron varias extensiones en años posteriores (notificaciones en RFC 5277 en julio de 2008, bloqueos parciales en RFC 5717 en diciembre de 2009, con valores predeterminados en RFC 6243 en junio 2011, notificaciones del sistema en RFC 6470 en febrero de 2012, control de acceso en RFC 6536 en marzo de 2012). Una versión revisada del protocolo NETCONF base se publicó como RFC 6241 en junio de 2011.
Capas de protocolo
Contenido
El contenido de las operaciones NETCONF es XML bien formado. La mayor parte del contenido está relacionado con la gestión de redes . Posteriormente, también se agregó soporte para la codificación en JavaScript Object Notation (JSON).
El grupo de trabajo NETMOD ha completado el trabajo para definir un lenguaje de modelado "amigable para los humanos" para definir la semántica de los datos operativos, los datos de configuración, las notificaciones y las operaciones, llamado YANG . YANG se define en RFC 6020 (versión 1) y RFC 7950 (versión 1.1), y se acompaña de los "Tipos de datos comunes de YANG" que se encuentran en RFC 6991.
Durante el verano de 2010, el grupo de trabajo NETMOD se reorganizó para trabajar en los modelos de configuración centrales (sistema, interfaz y enrutamiento), así como en la compatibilidad con el lenguaje de modelado SNMP .
Operaciones
El protocolo base define las siguientes operaciones de protocolo:
Operación | Descripción |
---|---|
Recuperar la configuración en ejecución y la información del estado del dispositivo | |
Recuperar todo o parte de un almacén de datos de configuración especificado | |
Edite un almacén de datos de configuración creando, eliminando, fusionando o reemplazando contenido | |
Copie un almacén de datos de configuración completo en otro almacén de datos de configuración | |
Eliminar un almacén de datos de configuración | |
Bloquear un almacén de datos de configuración completo de un dispositivo | |
Liberar un bloqueo del almacén de datos de configuración obtenido previamente con la operación | |
Solicitar la finalización ordenada de una sesión NETCONF | |
Forzar la terminación de una sesión NETCONF |
La funcionalidad básica de NETCONF se puede ampliar mediante la definición de las capacidades de NETCONF. El conjunto de características de protocolo adicionales que admite una implementación se comunica entre el servidor y el cliente durante la parte de intercambio de capacidades de la configuración de la sesión. Las características de protocolo obligatorias no se incluyen en el intercambio de capacidad ya que se asumen. RFC 4741 define una serie de capacidades opcionales que incluyen: xpath y: validate. Tenga en cuenta que RFC 6241 obsoleta RFC 4741.
En RFC 5277 se publica una capacidad para admitir la suscripción y la recepción de notificaciones de eventos asincrónicas. Este documento define la operación
La capacidad para admitir el bloqueo parcial de la configuración en ejecución se define en RFC 5717. Esto permite que varias sesiones editen subárboles que no se superponen dentro de la configuración en ejecución. Sin esta capacidad, el único bloqueo disponible es para toda la configuración.
La capacidad para monitorear el protocolo NETCONF se define en RFC 6022. Este documento contiene un modelo de datos que incluye información sobre los almacenes de datos NETCONF, sesiones, bloqueos y estadísticas que facilitan la administración de un servidor NETCONF. También define métodos para que los clientes NETCONF descubran modelos de datos compatibles con un servidor NETCONF y define la operación
Mensajes
La capa de mensajes NETCONF proporciona un mecanismo de encuadre simple e independiente del transporte para codificar
- Invocaciones de RPC (mensajes
), - Resultados de RPC (mensajes
) y - notificaciones de eventos (mensajes de
). ón>
Cada mensaje NETCONF es un documento XML bien formado. Un resultado de RPC está vinculado a una invocación de RPC mediante un atributo de id de mensaje. Los mensajes NETCONF se pueden canalizar, es decir, un cliente puede invocar múltiples RPC sin tener que esperar primero los mensajes de resultado RPC. Los mensajes RPC se definen en RFC 6241 y los mensajes de notificación se definen en RFC 5277.
Transporte
- Protocolo NETCONF sobre Secure Shell (SSH): rfc: 6242
- Protocolo NETCONF sobre seguridad de la capa de transporte (TLS) con autenticación mutua X.509: rfc: 7589
Ver también
- YANG
- Stefan Wallin (18 de octubre de 2014). Tutorial de NETCONF (YouTube). Estocolmo: tail-f.
- Administración de redes
- Gestión de la configuración
- Monitoreo de la red
- Esquema XML
Referencias
- ^ "Grupo de trabajo de configuración de red" . IETF.
- ^ Enns, Rob (2006). Protocolo de configuración NETCONF (informe técnico). IETF. doi : 10.17487 / RFC4741 . RFC4741.
- ^ Enns, Rob; Björklund, Martin; Schönwälder, Jürgen; Bierman, Andy (2011). Protocolo de configuración de red (NETCONF) (Informe técnico). IETF. doi : 10.17487 / RFC6241 . RFC6241.