Etherchannel
EtherChannel es el término de Cisco para agrupar dos o más enlaces Ethernet físicos con el
propósito de agregar el ancho de banda disponible y, en menor medida, proporcionar una medida
de redundancia física. En condiciones normales, todos los enlaces físicos redundantes, excepto
uno, se desactivarán mediante STP en un extremo.
Con EtherChannel configurado, varios enlaces se agrupan en un canal de puerto, al que se le
asigna su propia interfaz virtual configurable. El paquete se trata como un solo enlace.
Un máximo de 8 puertos Fast Ethernet, Giga Ethernet o 10Gigabit Ethernet pueden ser agrupados
juntos para formar un EtherChannel. Con esta última agrupación es posible conseguir un máximo
de 80 Gbps de ancho de banda. Las conexiones EtherChannel pueden interconectar switches,
routers, servidores o clientes.
Ventajas
• La tecnología EtherChannel se basa en el estándar IEEE 802.3ad compatible con Ethernet
mediante la agrupación múltiple, enlaces full-duplex punto a punto.
• Permite el uso en cualquier lugar de la red donde puedan ocurrir cuellos de botella.
• Permite un crecimiento escalable y a medida. Es posible agregar el ancho de banda de
cualquiera de los enlaces que tenemos en el EtherChannel, aunque los enlaces no tengan
la misma velocidad.
• El incremento de la capacidad no requiere una actualización del hardware.
• Permite reparto de carga. Como el enlace está compuesto por varios enlaces Ethernet, se
puede hacer reparto de carga entre estos enlaces. Así se obtiene mayor rendimiento y
caminos paralelos redundantes.
• Robustez y convergencia rápida. Cuando un enlace falla, la tecnología EtherChannel
redirige el tráfico del enlace fallido a los otros enlaces proporcionando una recuperación
automática mediante la redistribución de la carga entre los enlaces restantes. La
convergencia es completamente transparente para los usuarios y las aplicaciones de red.
• La tecnología EtherChannel está disponible para todas las velocidades de los enlaces
Ethernet. Permite a los administradores de red desplegar redes escalables sin problemas.
Configuración
La configuración de un EtherChannel se puede hacer de dos formas diferentes: negociación o
manual. En negociación se pueden identificar también dos formas, Port Aggregation Protocol
(PAgP) o Link Aggregation Control Protocol (LACP).
Ambos extremos se deben de configurar en el mismo modo.
PAgP es un protocolo propietario de Cisco. El switch negocia con el otro extremo cuales son los
puertos que deben ponerse activos. El propio protocolo se encarga de agrupar puertos con
características similares (por velocidad, troncales, por pertenecer a una misma VLAN,…). Se puede
configurar de dos modos:
• Auto. Pone el puerto en modo pasivo, solo responderá paquetes PAgP cuando los reciba y
nunca iniciará una negociación.Dos puertos auto nunca podrán formar grupo, ya que
ninguno puede iniciar una negociación.
• Desirable. Establece el puerto en modo activo, negociará el estado cuando reciba
paquetes PAgP y puede iniciar negociaciones con otros puertos.
LACP es muy similar a PAgP ya que también puede agrupar puertos con características similares. Es
un protocolo definido en el estándar 802.3ad.
Los modos de configuración de LACP son:
• Activo. Está habilitado para iniciar negociaciones con otros puertos.
• Pasivo. No puede iniciar negociaciones, pero si responde a las negociaciones generadas
por otros puertos.
Dos puertos pasivos tampoco podrán nunca formar grupo. Es necesario que al menos uno de los
dos puertos sea activo.
En el modo manual toda la configuración del puerto se realiza de forma manual, no existe ningún
tipo de negociación entre los puertos.
Ejemplo:
S1(config)# interface range f0/13 -15
S1(config-if-range)# channel-group 1 mode ?
active Enable LACP unconditionally
auto Enable PAgP only if a PAgP device is detected
desirable Enable PAgP unconditionally
on Enable Etherchannel only
passive Enable LACP only if a LACP device is detected
S1(config-if-range)# channel-group 1 mode active
Creating a port-channel interface Port-channel 1
Verificacion:
S1# show etherchannel summary
Flags: D - down P - bundled in port-channel
I - stand-alone s - suspended
H - Hot-standby (LACP only)
R - Layer3 S - Layer2
U - in use f - failed to allocate aggregator
M - not in use, minimum links not met
u - unsuitable for bundling
w - waiting to be aggregated
d - default port
Number of channel-groups in use: 1
Number of aggregators: 1
Group Port-channel Protocol Ports
------+-------------+-----------+---------------------------------------
1 Po1(SD) LACP Fa0/13(D) Fa0/14(D) Fa0/15(D)
Para comparar, reconfigurar el EtherChannel para que funcione sin un protocolo de negotiation
(modo "on"):
S1(config)# no interface po1
S1(config)# interface range f0/13 -15
S1(config-if-range)# channel-group 1 mode on
Creating a port-channel interface Port-channel 1
S1(config-if-range)# no shutdown
EtherChannel Balanceo de Carga
Otra consideración a tener en cuenta al implementar EtherChannels es el tipo de equilibrio de
carga en efecto. EtherChannel proporciona equilibrio de carga sólo por datagrama, no por bit. Un
conmutador decide qué enlace de miembro un cuadro recorrerá el resultado de una función de
hash realizada contra uno o más campos de cada trama. Los campos que se consideran dependen
de la plataforma de conmutación y la configuración. Por ejemplo, un Catalyst 3550 sólo puede
coincidir con la dirección MAC de destino o fuente de un marco:
S1(config)# port-channel load-balance ?
dst-mac Dst Mac Addr
src-mac Src Mac Addr
Las plataformas más potentes pueden coincidir con las direcciones IP o con los puertos de la capa
cuatro. En general, los campos de capas superiores son más favorables, ya que tienden a ser más
dinámicos, lo que resulta en una distribución más granular del tráfico a través de los enlaces
miembros.
Ancho de banda y costes de EtherChannel
Spanning Tree Protocol (STP) se puede utilizar con EtherChannel. STP trata a todos los enlaces
como uno solo y únicamente se envían las BPDU por uno de los enlaces. Sin el uso de un
EtherChannel, STP efectivamente bloquearía los enlaces redundantes entre switches y solo se
utilizarían ante la caída de una conexión. Es por esta razón por la que EtherChannel es aconsejable
ya que permite el uso completo de todos los enlaces disponibles entre dos dispositivos. Con
EtherChannel la capacidad sería el doble en funcionamiento normal y ante una caída no es
necesario esperar a la convergencia del STP porque sigue funcionando con el otro enlace.
El ancho de banda percibido de una interfaz de canal de puerto es igual a la suma de sus enlaces
de miembros activos. Por ejemplo, un EtherChannel con tres miembros activos de 100 Mbps
mostrará un ancho de banda de 300 Mbps. Como los miembros aún pueden fallar
individualmente, el ancho de banda de una interfaz de canal de puerto puede fluctuar y afectar el
costo de spanning-tree.
En la topología, se han configurado tres Etherchannels entre los tres switches, cada uno
compuesto de tres enlaces de miembros de 100 Mbps. S1 es la raíz del STP. Los Etherchannels se
desplegaron con dos objetivos de diseño en mente:
• Soportar hasta 200 Mbps de tráfico entre dos switches.
• Proporcione redundancia n + 1 (el Etherchannel permanecerá con un solo enlace fallido).
Podemos ver que cada Etherchannel, que tiene un ancho de banda agregado de 300 Mbps, se le
asigna un costo de 9:
S1# show spanning-tree vlan 1
VLAN0001
Spanning tree enabled protocol rstp
Root ID Priority 1
Address 0013.c412.0f00
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 1 (priority 0 sys-id-ext 1)
Address 0013.c412.0f00
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- -------------------------
-------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/3 Desg FWD 19 128.3 P2p
Fa0/5 Desg FWD 19 128.5 P2p
Fa0/9 Desg FWD 19 128.9 P2p
Fa0/19 Desg FWD 19 128.19 P2p Peer(STP)
Fa0/20 Desg FWD 19 128.20 P2p Peer(STP)
Fa0/21 Desg FWD 19 128.21 P2p Peer(STP)
Po13 Desg FWD 9 128.65 P2p
Po12 Desg FWD 9 128.66 P2p
¿Qué sucede si falla uno de los enlaces de miembro entre S1 y S2? El ancho de banda agregado del
Etherchannel se recalcula como 200 Mbps, y el coste STP sube de 9 a 12:
S2# show spanning-tree vlan 1
...
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- -------------------------
-------
...
Po23 Altn BLK 9 128.65 P2p
Po12 Root FWD 12 128.66 P2p
Si falla un segundo enlace en el Etherchannel, dejando sólo un solo enlace de 100 Mbps, su ancho
de banda se reduce a 100 Mbps y su coste se eleva a 19. En este punto, la ruta alternativa a raíz a
través de S3 tiene un costo menor. La topología del árbol de expansión se reconverge para reflejar
esto:
S2# show spanning-tree vlan 1
...
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- -------------------------
-------
...
Po23 Root FWD 9 128.65 P2p
Po12 Altn BLK 19 128.66 P2p
Comandos IOS
Configuración en modo manual:
Switch1# configure terminal
Switch1(config)# interface range gigabitethernet 0/1 - 4
Switch1(config-if-range)# channel-group 1 mode on
Switch1(config-if-range)# exit
Switch1(config)# exit
Podemos configurar el EtherChannel como un enlace trunk, y así conseguimos multiplexación
estadística del tráfico de las VLANs y que ante la caída de un enlace sigue funcionando el otro con
ambas VLANs.
Switch# configure terminal
Switch1(config)# interface range gigabitethernet 0/1 - 4
Switch1(config-if-range)# channel-group 1 mode on
Switch1(config-if-range)# exit
Switch1(config)# interface port-channel 1
Switch1(config-if)# switchport mode trunk
Switch1(config-if)# switchport trunk allowed vlan 1-2
Switch1(config-if)# exit
Switch1(config)# exit
Configuración con LACP:
Switch# configure terminal
Switch1(config)# interface range gigabitethernet 0/1 - 4
Switch1(config-if-range)# channel-protocol lacp
Switch1(config-if-range)# channel-group 1 mode active
Switch1(config-if-range)# exit
Switch1(config)# exit
Configuración con PAgP:
Switch# configure terminal
Switch1(config)# interface range gigabitethernet0/1 - 4
Switch1(config-if-range)# channel-protocol pagp
Switch1(config-if-range)# channel-group 1 mode desirable
Switch1(config-if-range)# exit
Switch1(config)# exit