barra de menu

viernes, 6 de noviembre de 2015

Capítulo 1: Layer 2 Switching

En un entorno de switching podemos encontrarnos dos tipos de redes: Shared Lan o Switched Lan

SHARED LAN (Medio Compartido)




En un entorno Ethernet compartido los equipos se comunican a través de un medio compartido. Todos los equipos que participan en un medio compartido pertenecen al mismo dominio de colisión. Ethernet usa (CSMA/CD) para evitar las colisiones. Esta implementación solo permite un tráfico de datos a la vez. Todos los equipos están escuchando para saber cuando la línea está en estado "IDLE". Solo cuando está en IDLE se puede transmitir. Si varios equipos detectan la línea en IDLE y empiezan a transmitir, se darán colisiones. Cuando hay colisiones se envía una señal "JAM" para notificar que existe una colisión en el segmento. Cuando un equipo detecta una colisión, para de transmitir y espera un tiempo aleatorio para volver a comprobar si está la línea en IDLE y, si lo está, vuelve a transmitir.

Cuando en el entorno compartido tenemos un HUB para conectar los equipos, entonces tenemos un único dominio de colisión: la información de un puerto sale por todos los demás.

Cuando los entornos compartidos empiezan a crecer se dan demasiadas colisiones haciendo ineficaz la red. Para solucionar este problema, instalamos un switch.


Cada puerto del switch crea un dominio de colisión. Convierte un dominio de colisión grande (HUB) en múltiples dominios pequeños (switch). Incrementa el rendimiento y minimiza los riesgos de seguridad. Los switches crean y mantienen una tabla forwarding/bridge que usa para enviar las tramas a los destinos. A este proceso se le llama "bridging". En esta tabla se almacenan todos los destinos basados en la dirección mac que entra por el puerto del switch. Esto reduce el tráfico innecesario.

Para construir y mantener la tabla, el switch ejecuta 5 pasos: learning, forwarding, flooding, filtering y aging. Vamos a verlos individualmente.



Cuando un switch arranca, no tiene información de los dispositivos que tiene conectados. Learning es el proceso de aprender todas las direcciones mac de los dispositivos conectados y las almacena en la "bridge table". El switch inspecciona las tramas y en la cabecera (header) viene la dirección mac que se guarda en la tabla. 

El aprendizaje o learning se puede deshabilitar en los switches Juniper EX:

   #set ethernet-switching-options interfaces ge-0/0/0.0 no-mac-learning



Si el switch encuentra una entrada en la tabla bridge, enviará el tráfico de destino por ese interfaz.
Si no encuentra una entrada, enviará la trama por todos los puertos (flooding) que pertenezcan a la misma VLAN (que en realidad también es el mismo dominio de broadcast) excepto por el puerto de donde viene el tráfico de origen.



El flooding (inundación) se usa cuando el switch tiene una dirección mac de destino que no está en su tabla bridge o si el paquete recibido es un paquete de broadcast/multicast. El switch inundará por todos los puertos excepto por el puerto donde se recibe (si se origina en el propio switch igualemente inunda por todos los puertos). Cuando esa dirección mac no conocida responde, el switch aprenderá y almacenará el puerto por donde ha entrado y lo asociará en la tabla bridge.


El switch tiene un filtro propio que hace que si en la tabla bridge, la mac del puerto de origen coincide con el puerto de destino, no se enviará. Un ejemplo claro es cuando tenemos un HUB, ya que estos no diferencian por VLAN.



El "aging" es un recurso usado por el switch y otros dispositivos de comunicaciones que hace que mantengan las direcciones mac en la tabla de bridge, pero únicamente las activas. Cuando recibe tráfico de esa mac, establece un tiempo de espera (que se renueva cada vez que recibe tráfico). Si pasa el tiempo y no ha recibido más tráfico, el switch elimina la mac de la tabla. El tiempo por defecto es de 300 segundos. Se puede configurar en global o incluso por VLAN:

user@switch# set ethernet-switching-options mac-table-aging-time XXX

user@switch# set vlans vlan-name mac-table-aging-time XXX



JERARQUIZACIÓN DE LAS REDES DE COMUNICACIONES

Los beneficios del diseño de una red jerarquizada son la modularidad y la facilidad para aislar problemas.

Las típicas capas de la estructura son: acceso, distribución/agregación y núcleo.

Cada una de estas capas cumple una función específica

Las funciones básicas de estas capas serían:

Todas las capas soportan CoS


CONSOLIDACIÓN DE LAS CAPAS

Debido al rápido crecimiento y complejidad de las redes hoy en día, Juniper ha desarrollado una simplificación de la arquitectura para DATA CENTER llamada "3-2-1".  Esta arquitectura elimina capas quedándose la estructura en 2 capas o incluso en 1: Muchos dispositivos físicos se convierten en un único equipo lógico. 

Juniper  ha desarrollado para esto dos tecnologías: Virtual Chassis y Qfabric.

Virtual Chassis crea un único switch administrable a partir de diferentes switches conectados entre sí.

Qfabric habilita administrar todo la capa de switching de un data center como un único equipo.




EQUIPAMIENTO DE SWITCHING DE JUNIPER

J Series y SRX Series no soportan todas las capacidades de switching

Parque de Switches de Juniper. Actualmente tienen uno nuevo: EX4300

Switches modulares


¿Donde ubicar los switches Juniper?

EL CORAZÓN DE JUNIPER

Todas las plataformas de Junos OS usan el mismo código fuente de software que está basado en el sistema operativo FREEBSD de UNIX.

Una de las claves del buen rendimiento de los equipos que usan Junos OS es que el software está dividido en módulos. Cada proceso tiene su propio espacio de memoria protegido y el fallo de un proceso no hace que falle todo el sistema.



Otro de los aspectos importantes de esta estructura es la separación tanto de software como de hardware entre el panel de control (control plane) y la tabla de datos y envío (forwarding plane).

El Internal Link también es conocido como SFID.

Routing Engine (RE): es el cerebro del equipo.
Packet Forwarding Engine (PFE): basada en arquitectura ASICS.


CARACTERÍSTICAS DE LA RE Y LA PFE


ROUTING ENGINE (RE)
PACKET FORWADING ENGINE
Basado en arquitectura x86
Basado en arquitectura ASICS
Mantiene Routing Table y Bridging Table
Recibe copia  L2-L3 de la Forwdarding Table de la RE
Mantiene Primary Forwarding Table
Envía las tramas y paquetes
Conecta con la PFE internamente
Implementa Policy y Filters
Provee la administración cli o web
Implementa CoS
Gestiona los problemas del chassis
Imlementa  Stateless Firewall
Gestiona el “EXCEPTION TRAFFIC”
Gestiona el “TRANSIT TRAFFIC”


Para establecer la comunicación entre ellos utiliza una tarjeta interna (internal link) que suele ser la fpx1/bme0, dependiendo del modelo de Juniper. Estas tarjetas tienen un límite de tráfico configurado por defecto para evitar ataques DoS que puedan dejar sin gestión al equipo.

Esta arquitectura también provee a los equipos la posibilidad de tener más de una Routing Engine y a través de GRES (Graceful Routing Engine Switchover), NSR (Nonstop Active Routing) y ISSUs (Unified In-Service Sofware Upgrades) podemos actualizar el software y tener redundancia de fallos sin perder servicio.

PROCESAMIENTO DE TRAMAS

Hay un PFE de entrada y otra de salida

La trama no se replica por el puerto que ha entrado



EJEMPLO DE CONFIGURACIÓN DE SWITCHING

Lo primero que hay que comentar es que con GNS3 no se puede emular el switching con los comandos de los equipos EX, es decir, el comando "family ethernet-switching". En el módulo de routing podremos configurar TRUNKS y VLANS con otro comando sin problemas. (2016)

Ahora tenemos la posibilidad de usar QFX que nos permite usar la estructura de "family ethernet-switching" aunque con algunas limitaciones. (2019)




El objetivo es configurar el switching y comprobar que los usuarios tienen conectividad.

Para configurar las interfaces y hacerlas operativas en capa 2, tenemos 2 opciones:

    - Definir las interfaces individualmente

               
Habilitamos la capa 2 de en las interfaces
             
    - Definir un rango de interfaces

Opción "Member" para incluir individualmente.
Member-range para definir una lista 

También podemos combinar ambas opciones en una misma configuración:




El proceso de Ethernet-Switching que se ejecuta por defecto en todos los EX es: ESWD.

Podemos ver este proceso en la consola de comandos:



Para revisar nuestra configuración de las interfaces, Juniper nos enseña dos comandos:

   - show interfaces terse



   - show interfaces extensive

En rojo vemos la configuración que viene por defecto: auto-auto

Si necesitamos cambiar la configuración para forzar la negociación a full duplex y a una velocidad concreta, lo hacemos de la siguiente manera:

Forzamos a full duplex y a 1 giga de velocidad

Para comprobar la tabla "bridge" del switch escribimos: show ethernet-switching table

Info: VLAN a la que pertenece, Type (Learn o Static)
Age es el tiempo que queda para borrarla de la tabla
Modo "extensive" para ver más información

Si queremos ver la tabla de envío: show route forwarding-table family ethernet-switching


Para limpiar la tabla bridge:

Vemos que el switch está en el proceso de aprender todas las direcciones mac

También podemos asociar direcciones mac a puertos manualmente.

Añadimos manualmente las direcciones mac y vemos en la tabla como "static"


Capítulo 2: Virtual Networks

2 comentarios: