Beruflich Dokumente
Kultur Dokumente
1. Introducción
árbol. Las dependencias entre estos parámetros se expresan entonces como auto-reglas
En un formalismo especial llamado Configuración lógica (CL) [22].
A partir de la fórmula CL que define cada regla, mostramos cómo una acción puede ser
automáticamente asociado; Esta acción consiste en una serie de operaciones de configuración
Cuyo resultado final garantiza que se cumpla la norma. Un motor de validación de CL puede
Comprobar si un determinado conjunto de auto-reglas se respetan en una red
Y desencadenar las acciones apropiadas asociadas con las reglas que son violadas.
El sistema utiliza una prueba de satisfacción booleana estándar para generar una
Planifica correctamente la instancia de valores de parámetros y elige entre conflictos
comportamiento; En caso de que sea posible más de un plan, la elección final puede
Luego se pasará a un administrador de políticas de nivel superior. Este método puede usarse
Para la integración de funcionalidades de auto-configuración y auto-sanación en cualquier
Donde las configuraciones de los dispositivos están representadas por árboles. Lo ilustraremos
Por un simple ejemplo en Virtual LANs en el que se conecta un nuevo switch y
Descubre su configuración de forma plug-and-play basada en los datos obtenidos
Desde otros dispositivos de la red.
El resto del documento está estructurado de la siguiente manera. La sección 2 presenta el
trabajo relacionado.
La sección 3 presenta el caso de uso de VLAN que ilustra nuestro método y elicita
Una serie de auto-reglas de configuración de VLAN. La sección 4 presenta la estructura de
árbol Se utiliza para describir las configuraciones y formalice las reglas de configuración usando
Lógica de configuración. La Sección 5 extiende el escenario VLAN original para permitir
Autoconfiguración y muestra cómo las reglas VLAN violadas activan las operaciones de
configuración.
Finalmente, la sección 6 concluye e indica posibles trabajos futuros.
2. Trabajo relacionado
Los conmutadores permiten dividir una red en segmentos lógicos a través del uso
De redes de área local virtuales (VLAN). Esta segmentación es independiente de la
Localización física de los usuarios en la red. Los puertos de un conmutador
A la misma VLAN pueden comunicarse en la capa 2 mientras que los puertos no asignados
A la misma VLAN requieren comunicación de capa 3. Todos los conmutadores que
Share La comunicación intra-VLAN de la capa 2 necesita ser conectada por un tronco. IEEE
802.1Q [4] y VTP [1] son dos protocolos populares para troncales VLAN.
En principio, para que una VLAN exista en un conmutador, debe crearse manualmente
El ingeniero de red en dicho conmutador. El Virtual Trunking Protocol (VTP)
[1] ha sido desarrollado en dispositivos Cisco para centralizar la creación y eliminación
De VLAN en una red en un servidor VTP. Este servidor se encarga de crear,
Borrar y actualizar el estado de las VLAN existentes a los otros conmutadores que comparten
El mismo dominio VTP.
Nuestro ejemplo de configuración implica VTP. Considere una red de conmutadores tales
Como el que se muestra en la Figura 1, donde varias VLAN están disponibles. Expresamos un
número de auto-reglas VTP que deben ser verdaderas en esta red.
fig. 1. Un cluster simple de switches en la misma VLAN. Los enlaces son troncales VLAN.
En primer lugar, para tener una configuración VTP activa, la red necesita un Servidor VTP
único; Todos los demás conmutadores deben ser clientes VTP. Esto requiere una primera
Conjunto de dos auto-reglas:
Imponemos que todos los switches estén en el mismo dominio VTP, y que si dos switches
Están conectados por un tronco, entonces este tronco debe estar encapsulado en el mismo
modo. En ambas interfaces. Esto nos da dos restricciones más que deberían ser verdaderas en
todas veces:
VTP Self-Rule 3. Todos los conmutadores deben estar en el mismo dominio VTP.
VTP Self-Rule 4. Las interfaces en ambos extremos de un tronco deben ser definidas como
Tales y encapsulados en el mismo modo.
4 Configuraciones y reglas
En esta sección, ofrecemos un breve resumen de la lógica de configuración (CL), una lógica
Formalismo sobre estructuras de árbol desarrolladas para expresar propiedades de
configuraciones. Mostramos cómo las Reglas de Auto-VTP descritas en la sección anterior
pueden Ser reescrito en CL para convertirse en Formal VTP Self-Rules.
Este predicado indica que bajo el nodo S pasado como un argumento, existe
Un nodo cuyo nombre es "modo vtp" y cuyo valor es x, y donde x es igual a
"cliente". En otras palabras, este predicado es verdadero siempre que S tenga un niño
etiquetado "Vtp mode = client", lo que significa que el dispositivo es de hecho un cliente VTP.
Del mismo modo, los predicados IsVTPServer e IsTrunk respectivamente indican que
El dispositivo es un servidor VTP y que una interfaz específica está conectada a un tronco.
Se definen como los siguientes:
IsVTPServer (S): -
S; Vtp modo = x? X = servidor
IsTrunk (I): -
{YO ; Modo switchport = x } X = tronco
El predicado siguiente afirma que dos conmutadores están en el mismo dominio VTP. Esta
Se realiza comprobando que para dos nodos S y T que representan la raíz de la
Árbol de configuración de dos dispositivos, también aparecerá todo dominio VTP
Bajo T.
SwitchesInSameVTPDominio (S, T): -
Equipado con los predicados anteriores, las auto-reglas VTP mencionadas en la sección
3 ahora se puede expresar en la lógica de la configuración. La primera regla comprueba si
El VTP está activado en todos los interruptores.
Esto se hace indicando que para cada dispositivo s1, s1 es un servidor VTP, o s1
Es un cliente VTP. Tenga en cuenta que esta regla utiliza los predicados definidos
anteriormente para simplificar
Su expresión; Sin embargo, los predicados no son necesarios, y su definición
Simplemente podría haber sido copiado en la regla.
La segunda regla asegura que hay una, y sólo un servidor en la
red. Primero se indica que existe un dispositivo s1 que es un servidor VTP, y
Entonces que cada dispositivo s2 diferente de s1 es un cliente VTP. Observar que este
Regla subsume la anterior, que todavía se ha incluido para ilustrar más adelante
conceptos.
La tercera regla comprueba que todos los conmutadores de la red tengan el mismo VTP
Dominio.
[Device = s1]
[Device = s2]
SwitchesInSameVTPDomain (s1, s2)
5 Un escenario de autoconfiguración
En esta sección, mostramos cómo usar la lógica de configuración para activar la configuración
Cambios en los dispositivos. La figura 3 presenta una posible arquitectura utilizando este
método. Muestra cómo una herramienta existente llamada ValidMaker [8] que descarga y
carga Árboles de configuración del archivo de configuración almacenado en enrutadores y
conmutadores, Se pueden utilizar de forma gratuita para proporcionar un comportamiento
autónomo a los dispositivos. Un CL El motor de validación se implementa dentro de
ValidMaker. Por lo tanto, se puede cargar Configuraciones, definir auto-reglas en estas
configuraciones y verificar automáticamente ellos. Si una o varias reglas resultan ser falsas, un
generador de configuración adicional Puede ajustar los árboles de configuración y generar las
nuevas configuraciones Que luego se puede volver a colocar en los dispositivos.
Para ello, revisamos el escenario original de VLAN descrito en la sección 3 de
Un punto de vista autonómico de la red. En lugar de validar las reglas de configuración
Estático, completamente formado de interruptores, suponemos que un interruptor está
conectado a El clúster con una configuración en blanco, como se muestra en la figura 4. Más
La interfaz fe04 del conmutador-4 está conectada a la interfaz fe06 del conmutador-3. los
El árbol de configuración inicial de switch-4 es un árbol con un solo nodo raíz etiquetado
"Device = switch-4".
Basándonos en este caso de uso, describimos un método que permite Descubrirá
automáticamente su configuración.
Las reglas de red mostradas en la sección 3.2 se han interpretado hasta ahora en
Una forma estática: su validación nos permitió determinar si una configuración
Satisfecho o no. Sin embargo, es posible ir más lejos y automáticamente
Asociar con cada regla una acción, convirtiéndola así en una "auto-regla". Esta acción,
En línea con la semántica de los operadores utilizados en la regla, se genera tal
Que la ejecución cambia la configuración de una manera que cumple la regla que
Fue originalmente falsa.
Como ejemplo, considere una regla de la forma? P = x? Φ (x). Tal regla impone
La existencia de un nodo p = x en la configuración del dispositivo. Si se viola,
Esto significa que no existe tal tupla p = x; Para hacer esta regla verdad, el nodo
Debe añadirse a la configuración. Esta adición de un nuevo nodo
A una operación de configuración equivalente a escribir un comando (o una secuencia de
Comandos) a la CLI del dispositivo. Además, el valor x de este parámetro
Debe ser tal que φ (x) sea verdadera.
Para que tal procedimiento sea posible, las fórmulas que intenta
Expresarse en una lógica en la que la existencia de un modelo es un problema decidible.
De lo contrario, no siempre es posible encontrar y construir una configuración que satisfaga
Una fórmula dada. Por lo tanto, la elección de CL como formalismo lógico de
Las reglas formales no son arbitrarias: se ha demostrado en [23] que bajo razonable
Condiciones, CL es una lógica decidible. Utilizar una lógica más rica como XPath o TQL
Llevaría a la indecidibilidad, como se ha demostrado en [6].
Por lo tanto, al descender recursivamente a través de los subformulas anidados de CL, es
Posible crear una serie de operaciones de configuración y restricciones
En sus parámetros que hacen que toda autonomía sea verdadera. Con este fin, definimos un
Llamado PlanT que recursivamente crea los planes para cada regla dada una
Árbol de configuración global T. La notación especial ⊕ (p = x; p = x) indica que
Un nodo de parámetro p y valor x debe ser agregado al árbol en la punta de la
Rama p = x. Este procedimiento se define en la Tabla 1
PlanT (φ) = 1 si T | = φ
PlanT (¬φ) = ¬PlanT (φ)
PlanT (φ ∧ ψ) = PlanT (φ) ∧ PlanT (ψ)
PlanT (φ ∨ ψ) = PlanT (φ) ∨ PlanT (ψ)
PlanT (? P = x; p = x? Φ (x)) = ⊕ (p = x; p = x) ∧ PlanT (φ)
PlanT ([p = x; p = x] φ (x)) =
x
PlanT (φ)
La auto-regla 3 de VTP formal también es violada. Esta regla impone que todos los
En el mismo dominio. La aplicación de Plan en esta regla produce esta acción:
⊕ (dispositivo = switch-4; dominio vtp = contabilidad) (3)
Por último, las acciones producidas por la Auto-Regla VTP Formal 4 son las siguientes:
⊕ (dispositivo = conmutador-3; interfaz = fe06)
∧ ⊕ (dispositivo = conmutador-4; interfaz = fe04)
∧ ⊕ (dispositivo = conmutador-3, interfaz = fe06; modo switchport = tronco)
∧ ⊕ (dispositivo = conmutador-4, interfaz = fe04; modo switchport = tronco)
∧
(⊕ (dispositivo = switch-3, interfaz = fe06; switchport encapsulation = dot1q) ∧
⊕ |! (Device = switch-4, interface = fe04; switchport encapsulation = dot1q)) ∨
(⊕ (dispositivo = conmutador-3, interfaz = fe06; encapsulación switchport = isl) ∧
⊕ (dispositivo = conmutador-4, interfaz = fe04; switchport encapsulation = isl))
)
(4)
Existe una solución global. Por último, hay que asegurarse de que la ejecución de los
Sólo hace que las reglas violadas sean verdaderas, pero a su vez no produce efectos
secundarios que
Podría falsificar otras reglas que eran anteriormente verdaderas.
Para ello, se realizan dos pasos adicionales antes de comprometer cualquier configuración
Al dispositivo. Primero, se debe encontrar una asignación satisfactoria del plan global.
Esto puede obtenerse fácilmente aplicando una satisfacibilidad booleana estándar (SAT)
Solver como zChaff [17] o SATO [24]. Esta asignación designa las acciones
Que son elegidos de entre las muchas alternativas sugeridas por el plan para
Hacer las fórmulas verdaderas.
Una vez que se ha encontrado esta asignación, el plan se ejecuta provisionalmente
Configuración, y todo el conjunto de auto-reglas es entonces revalidado contra este
Configuración modificada. Si una de las reglas es violada, la asignación satisfactoria
Se descarta y el procedimiento retrocede para encontrar una nueva asignación. Esto es
Caso de que se elijan las siguientes operaciones como la acción a ejecutar en el
Configuración (para mayor claridad, se omitieron las acciones en el switch-3):
Sin embargo, una segunda posible asignación de verdad al plan global es la siguiente:
La configuración resultante de estas operaciones valida todas las auto-reglas formales VTP
Por lo tanto, es admisible. En tal caso, la configuración tentativa es
Cometido como la configuración de ejecución del conmutador. La configuración resultante
Árbol obtenido de estos pasos de configuración autonómica se muestra en la Figura 5.
Se puede observar que este método también puede funcionar en un contexto de auto-
curación donde
Una red de trabajo es perturbada; El método de generación de planes recursivos
Aquí asegura que las configuraciones de los dispositivos pueden ser pero volver a un estado
Donde cumplen todas las reglas que deben aplicarse en la red.