Agregando enlaces de switch

Cisco ofrece un método de escalar el ancho de banda agregando enlaces paralelos, lo que se llama EtherChannels. Desde 2 hasta 8 FastEthernet que crean un Fast EtherChannel (FEC de hasta 1600 Mbps) o desde 2 hasta 8 Gigabit Ethernet que crean un Giga EtherChannel (GEC de hasta 16 Gbps) o desde 2 hasta 8 10-Gigabit Ethernet que crean un 10-Gigabit EtherChannel (10GEC de hasta 160 Gbps).

El tener varios enlaces entre switches crea la posibilidad de producir bucles pero EtherChannel evita esa situación agregando  los enlaces en un solo enlace lógico que puede actuar en modo acceso o trunk.

EtherChannel también ofrece redundancia agrupando varios enlaces físicos, si uno de los enlaces falla, el tráfico de dicho enlace se mueve a otro enlace correcto y cuando se recupera la carga de tráfico se vuelve a repartir entre los enlaces activo. Este proceso ocurre en mili segundos y es transparente para el usuario final.

En el caso de tener switches en Stack o VSS, podemos e incluso debemos usar interfaces en multiples swithes y/o slots que ofrece aún mayor redundacia, a esto se le conoce como Multichasis EtherChannel (MEC).

Distribuyendo tráfico en EtherChannel

El tráfico en un EtherChannel se distribuye según unos métodos entre los enlaces individuales, aunque la carga no es necesariamente repartida uniformemente entre todos los enlaces. Las tramas se envían en un enlace concreto dependiendo del resultado de un algoritmo (hash). El algoritmo puede usar la dirección IP origen, dirección Ip destino, combinación de ambas, origen y destino de las direcciones MAC o número de puertos TCP/UDP. El algoritmo calcula un patrón binario que selecciona el número de enlace dentro del Etherchannel al cual enviar las tramas.

Configurando la distribución de carga de un EtherChannel

La distribución de carga se configura globalmente para todo el switch y todos los sus EtherChannel, no se puede configurar diferentes métodos por EtherChannel o por puerto. Para configurar la distribución de carga usaremos el comando:

Switch(config)# port-channel load-balance method
Método Entrada Hash Operación Hash Modelo Switch
src-ip Dirección IP origen bits todos los modelos
dst-ip Dirección IP destino bits todos los modelos
src-dst-ip direcciones IP origen y destino XOR todos los modelos
src-mac Dirección MAC origen bits todos los modelos
dst-mac Dirección MAC destino bits todos los modelos
src-dst-mac Dirección MAC origen y destino XOR todos los modelos
src-port Número de puerto origen bits 6500, 4500
dst-port Número de puerto destino bits 6500, 4500
src-dst-port Número de puerto origen y destino XOR 6500, 4500

Por defecto el método que se usa es dirección IP origen XOR dirección IP destino (en la tabla src-dst-ip) aunque algunos switches pueden usar src-mac. Por lo que es conveniente comprobar que método de balanceo usa el switch con el siguiente comando:

Switch# show etherchannel load-balance

También podemos comprobar cómo de efectivo es el método de balanceo, con el siguiente comando que nos indica la carga de cada enlace del EtherChannel:

Switch# show etherchannel port-channel

Port Aggregation Protocol (PAgP)

Es un protocolo propietario de Cisco para proveer configuración y negociación automáticas de EtherChannel entre switches. Los paquetes PAgP se intercambian entre switches por los puertos que soportan EtherChannel. Se identifican los vecinos y se aprenden las capacidades de los puertos que son comparados con las posibilidades del switch local. Los puertos que tiene el mismo ID de dispositivo de vecino y la posibilidad de agrupar puertos se agrupan juntos como un enlace EtherChannel punto a punto.

PAgP solo crean un EtherChannel en puertos que están configurados idénticamente, además si uno de los enlaces agregados se modifica, PAgP modifica los parámetros del EtherChannel (y el resto de puertos). Por defecto se configura en modo Auto en el cual solo establece el EtherCahnnel si el otro extremo lo inicia.

PAgP puede configurarse en modo desirable (modo activo) que activamente pregunta al switch vecino para negociar un EtherChannel, o en modo auto (modo pasivo, por defecto) que solo negocia si el otro extremo inicia la negociación.

Link Aggregation Control Protocol (LACP)

LACP es un estándar de IEEE definido en 802.3ad. Los paquetes LACP se intercambian entre switches sobre puertos que soporten EtherChannel. Los vecinos son identificados y se aprenden las capacidades de los grupos de puertos y se comparan con las capacidades locales (al igual que en PAgP). Como distinción LACP asigna roles a los puntos finales de los EtherChannels.

El switch con la prioridad de sistema (system priority, un valor de prioridad de 2 bytes seguido de una dirección MAC de switch de 6 bytes) más baja toma las decisiones sobre que puertos participan activamente en el EtherChannel en un momento dado.

Los puertos se ponen activos de acuerdo a su prioridad de puerto (port priority, una prioridad de 2 bytes seguida de un número de puerto de 2 bytes) donde el valor más bajo es la prioridad más alta. Se pueden definir hasta un conjunto de 16 enlaces por cada EtherChannel aunque solo son seleccionados hasta 8 con las prioridades más altas (valores más bajos) como puertos activos del EtherChannel al mismo tiempo. El resto de puertos se ponen a la espera (standby) y se activarán si alguno de los puertos activos pierde el enlace (se pone down).

LACP puede configurarse en modo active (modo activo) que activamente pregunta al switch vecino para negociar un EtherChannel, o en modo passive (modo pasivo) que solo negocia si el otro extremo inicia la negociación.

Configurar un EtherChannel PAgP

Para configurar puertos para que negocien PAgP (que es el protocolo por defecto) podemos usar estos comandos:

Switch(config)# interface type mod/num
Switch(config-if)# channel-protocol pagp
Switch(config-if)# channel-group number mode {on | {{auto | desirable} [non-silent]}}

Configurar un EtherChannel LACP

Para configurar puertos para que negocien LACP podemos usar estos comandos:

Switch(config)# lacp system-priority priority
Switch(config)# interface type mod/num
Switch(config-if)# channel-protocol lacp
Switch(config-if)# channel-group number mode {on | passive | active}
Switch(config-if)# lacp port-priority priority

La prioridad de sistema por defecto es de 32768 y va desde 1 a 65535. En caso de que ambos switches tengan la misma prioridad el que tenga menor MAC será el que tome las decisiones. La prioridad de puerto también es por defecto 32768 y va también desde 1 a 65535. Cuanto menor sea el valor de la prioridad más prioridad tendrá el puerto de estar activo.

Por defecto los switches Catalyst tienen activada la característica de detectar configuraciones de EtherChannel erróneas que ponen los interfaces (incluido el EtherChannel) en errdisabled. Para controlar esta característica podemos usar el siguiente comando:

Switch(config)# [no] spanning-tree etherchannel guard misconfig

Para ver la razón de err-disabled podemos usar este comando que nos indicará interfaces y razones:

Switch# show interfaces status err-disabled
Modo de negociación ¿ Se envían paquete de negociación ? Características
PAgP LACP
On On No Todos los puertos forman el port-channel
Auto Passive SI Espera hasta que le preguntan formar un port-channel
Desirable Active SI Pregunta activamente formar un port-channel

Hay que tener en cuenta que Etherchannel consiste en que ambos extremos estén configurados iguales, mismas VLANs, mismo modo de trunk, misma velocidad y duplex. Además podemos seguir estos pasos:

  • EtherChannel en modo on no recibe ni envía paquetes LACP o PAgP. Ambos extremos debes estar en modo on para que se establezca el EtherChannel.
  • EtherChannel en modo desirable (PAgP) o active (LACP) intenta establecer el EtherChannel con el otro extremo. Por lo que el otro extremo debe estar configurado en modo desirable/auto (PAgP) o Passive/Active (LACP).
  • EtherChannel en modo auto (PAgP) o passive (LACP) solo establece el channel si el otro extremo inicia la petición. Por lo que ambos extremos en auto (PagP) o passive (LACP) no crearán un EtherChannel.
  • Los modos desirable y auto de PAgP por defecto se establecen en modo silencioso (silent submode) en el cual se espera recibir paquetes PAgP del otro extremo. Si los puertos están en modo no silencioso (non-silent submode) se deben recibir paquetes PAgP antes de poder establecer el EtherChannel.

Para verificar el estado de los EtherChannels de un switch podemos usar el comando "show etherchannel summary" que nos lista el estado de cada uno de los EtherChannels y los puertos asociados a cada uno de ellos.

Se establece Channel
PAgP LACP
On-On On-On
Desirable-Auto Active-Passive
Desirable-Desirable Active-Active

Retro

Lugares

Redes

Sistemas

Varios