Router vs. switch de capa 3
Uno de los primeros conceptos que se enseñan al aprender los aspectos básicos de las redes es que los switches funcionan en capa 2 y los routers lo hacen en capa 3. No obstante, muchos habrán escuchado en más de una oportunidad hablar de los switches de capa 3. ¿Switches de capa 3? Sí, así es. De hecho, son cada día más frecuentes sobre todo en un entorno de LAN donde es probable que encontremos más switches de capa 3 que routers.
La intención de este post es comparar los switches de capa 3 con los routers para entender mejor sus diferencias, aunque hoy en día son cada vez más parecidos.
| Switch L3 | Router |
| Mayor densidad de puertos LAN. | Existen módulos para agregar numerosos puertos de LAN, aunque la densidad es menor que en un switch L3. |
| Construido sobre hardware de switching. Por ello, la velocidad de switching es mayor. | En tareas de conmutación de tramas es más lento. |
| Es un dispositivo de LAN. Esto significa que en reglas generales, un switch de capa 3 es capaz de conectar redes con la misma tecnología de capa 2 y no funciona en redes WAN. Existen excepciones que permiten agregar módulos para WAN. | Es un dispositivo de WAN. Es ideal para conectar redes con diferentes tecnologías de capa 2. En general es el elegido para el borde de la red. |
Ahora bien, una vez realizada la comparación la pregunta sería: ¿Qué me conviene comprar entonces? La respuesta depende básicamente de qué tarea se necesite cubrir con el nuevo dispositivo. Un poco de sentido común nos dice que si el equipo hará tareas de ruteo la mayor parte del tiempo entonces conviene un router, de lo contrario un switch. No olvidarse que precisamente cada uno está optimizado para una función en particular, aunque pueda realizar varias.
Un criterio muy común a utilizar es elegir routers para el borde de una red, por ejemplo la conexión con el proveedor, sobre todo si necesitamos ejecutar BGP. Por su parte, elegir un switch de capa 3 cuando se desee hacer ruteo entre VLANs o cuando además del ruteo se necesiten protocolos típicos de capa 2 como Spanning Tree.
Seguridad de puerto en switches Cisco
Con el objetivo de incrementar la seguridad en una red LAN es posible implementar seguridad de puertos en los switches de capa de acceso, de manera de permitir que a cada puerto se conecte sólo la estación autorizada. Para ello, Cisco provee port security, un mecanismo bastante potente y sencillo que resumiré a continuación.
Dirección MAC segura estática
- Se configura manualmente.
- Se agrega a la tabla de direcciones MAC.
- Se guarda en la running-config.
- Se puede hacer permanente guardando la configuración.
SwA(config-if)# switchport port-security mac-address DIRECCION-MAC
Dirección MAC segura dinámica
- Se aprende del tráfico que atraviesa la interfaz.
- Se la guarda en la tabla de direcciones MAC.
- Se pierde cuando se reinicia el equipo.
SwA(config-if)# switchport port-security
Dirección MAC segura sticky
- Se la puede configurar de forma manual o dinámica.
- Se la guarda en la tabla de direcciones MAC.
- Se almacena en la running-config.
- Se puede hacer permanente guardando la configuración.
SwA(config-if)# switchport port-security mac-address sticky [DIRECCION-MAC]
La principal ventaja de las direcciones sticky en contraposición con las dinámicas es que éstas últimas se agregan a la running-config. Así nos evitamos escribir un montón de direcciones MAC de manera estática pero aún podemos guardarlas en el archivo de configuración de manera que se mantengan inclusive si el switch se reinicia.
Dos aspectos importantes a tener en cuenta:
- Si se habilitan las direcciones MAC sticky y ya había direcciones aprendidas de forma dinámica, éstas pasan a la running-config y todas las nuevas que se aprendan también se agregan allí.
- Si se deshabilitan las direcciones MAC sticky todas las que hubiera pasan a ser dinámicas y se borran de la running-config. Además, todas las que se aprendan también serán dinámicas.
Acciones a tomar si se produce una violación
Es importante tener en cuenta que por violación se entiende uno de los siguientes dos casos:
- Se alcanzó la cantidad máxima de direcciones MAC permitidas.
- Una dirección MAC que se aprendió en un puerto se aprende por otro puerto diferente.
Los modos en los que se puede establecer un puerto para decidir qué acción tomar en el caso de una violación son, entonces:
- Protect: una vez que se alcanzó el máximo de direcciones MAC en un puerto, todo el tráfico de orígenes desconocidos (es decir, de direcciones MAC que no sean válidas para ese puerto) es descartado. No obstante, se continúa enviando el tráfico legal normalmente. No se notifica al administrador de esta situación.
- Restrict: el mismo comportamiento que el caso anterior pero con la diferencia que se envía un aviso al administrador mediante SNMP, se registra el evento en el syslog y se incrementa el contador de violaciones.
- Shutdown: en este caso el puerto se da de baja dejándolo en estado err-disabled (deshabilitado por error). Además se envía un aviso al administrador mediante SNMP, se registra el evento en el syslog y se incrementa el contador de violaciones.
- Shutdown VLAN: la única diferencia con el caso anterior es que se deshabilita la VLAN en ese puerto en lugar de dar de baja el puerto completo. Es particularmente atractivo para los puertos de trunk.
Configuración
Para configurar port-security es importante saber que la interfaz debe estar en modo access o en modo trunk. Port-security no puede habilitarse en una interfaz que esté en modo dinámico.
- Habilitar port-security.
SwA(config-if)# switchport port-security
- Indicar que sólo se permite una MAC por interfaz.
SwA(config-if)# switchport port-security maximum 1
- Configurar el modo restrict para cuando ocurra una violación del puerto.
SwA(config-if)# switchport port-security violation restrict
- Configurar el aprendizaje de direcciones MAC sticky.
SwA(config-if)# switchport port-security mac-address sticky
- O bien especificar una MAC de forma estática.
SwA(config-if)# switchport port-security mac-address 5400.0000.0001
- Chequear el estado de port-security.
SwA# show port-security
Cheat sheet sobre Spanning Tree
Dado que hace muy poco escribí un post sobre Spanning Tree y que el mismo despertó bastante interés hoy quería compartir con ustedes un material que encontré en el sitio Packet Life. Se trata de una cheat sheet sobre STP, donde se resumen en tan sólo dos hojas su funcionamiento, el costo de los enlaces, comandos de configuración y verificación, entre otros.
Protocolo Spanning Tree
En una red LAN la redundancia se logra teniendo varios enlaces físicos entre los switches, de forma que queden varios caminos para llegar a un mismo destino. El resultado de esto es que la red LAN queda con ciclos o bucles. En la figura puede verse una red LAN redundante y cómo se forma un ciclo en ella.

Si bien la red anterior es redundante los ciclos son altamente perjudiciales para la misma dado que producen una serie de problemas que acabarán por dejarla inutilizada. Dentro de dichos problemas podemos encontrarnos con:
- Tormentas de broadcast: los broadcast en la red son reenviados una y otra vez y permanecen circulando en la misma sin fin, dado que en Ethernet no existe como en IP un campo de TTL. Lógicamente, al no eliminarse la situación se agrava con cada nuevo broadcast.
- Múltiples copias de una trama: con la redundancia es muy probable que un host reciba una trama repetida, dado que la misma podría llegar por dos enlaces diferentes.
- Tabla CAM inconsitente: una trama que proviene de una MAC en particular podría llegar desde enlaces diferentes.
- Bucles recursivos: un bucle puede generar un nuevo bucle y estos crecer de forma exponencial. En una situación así la red quedará inusable en pocos segundos.
Ante la necesidad de tener una red LAN redundante y dinámica libre de los problemas asociados a la redundancia resulta evidente que es imperioso un protocolo que sea capaz de resolver estas cuestiones. Es aquí donde entra en acción el Protocolo de Spanning Tree (STP).
Terminología básica
Para comprender el funcionamiento del STP es necesario conocer alguna terminología indispensable asociada al mismo.
- Bridge ID: es el identificador de cada bridge. Es el resultado de combinar la prioridad del bridge con su dirección MAC base.
- Root bridge (puente raíz): es el punto focal de la red y el que se toma como referencia para las decisiones del STP. El RB será aquel switch que tenga el menor bridge ID.
- BPDU (Bridge Protocol Data Unit): son pequeñas unidades de datos que transportan información de control del STP. Se las utiliza en primera instancia para escoger el RB y luego para detectar posibles fallos en la red.
- Bridges no raíz: son todos los demás bridges de la topología. Participan en el intercambio de BPDUs y actualizan a su vez su base de datos del STP.
- Costo de un puerto: se determina en base al ancho de banda del enlace y será el valor que se utilice para decidir el camino más corto al RB.
- Costo del camino al RB: el costo de un camino al RB es la suma de los costos de cada enlace por el que pasa. El camino elegido por el STP al RB será aquel cuyo costo sea más bajo.
- Puerto raíz (designado): es el puerto de cada bridge que se encuentra en el camino mínimo al RB. Sólo hay uno por bridge que siempre estará en estado de forwarding.
- Puerto no designado: todo puerto en un bridge con mayor costo que el puerto designado. Será puesto en estado de bloqueo.
Estado de los puertos
Cada puerto que participa del STP puede estar en uno de cinco estados. Estos son:
- Bloqueado (BLK): no reenvía tramas de datos, aunque sí recibe y envía BPDUs. Es el estado por defecto de los puertos cuando un switch se enciende y su función es la de prevenir ciclos.
- Escuchando (LST): recibe, analiza y envía BPDUs para asegurarse que no existen bucles.
- Aprendiendo (LRN): al igual que el estado LST, recibe, analiza y envía BPDUs, aunque aquí también comienza a armar la tabla CAM. En este estado aún no se reenvían tramas de datos.
- Reenviando (FWD): envía y recibe todas las tramas de datos. Los puertos designados al final del estado de LRN serán marcados como FWD.
- Deshabilitado: es un puerto deshabilitado administrativamente y que no participará en el STP. Para el STP un puerto en este estado es como si no existiera.
Operación del STP
El protocolo de STP cumple con una serie de pasos antes de alcanzar el estado estable y comenzar a enviar tramas de datos. Los mismos son los que se listan a continuación.
- Escoger el RB:
- Se elige el bridge con prioridad más baja.
- Si uno o más switches tienen la prioridad más baja se elige entre ellos el que posea la MAC base más baja.
- Se eligen los puertos raíz: cada bridge encuentra el menor camino hasta el RB y, con él, su puerto designado.
- Cada uno de los bridges escucha BPDUs en todos sus puertos y, si detecta algún bucle en un puerto, lo bloquea. De lo contrario lo pone en estado FWD. El criterio para decidir qué puerto bloquear en un switch es el siguiente:
- Si debe escogerse un puerto entre dos switches diferentes se elige para bloquear el de aquel switch con el mayor bridge ID.
- Si debe escogerse un puerto dentro del mismo switch entonces se escoge aquel que tenga el mayor costo. En caso de coincidir el costo, el puerto que se bloquea es aquel que tenga el identificador más alto.
A continuación se lista el costo de cada tipo de enlace para el STP (según IEEE):
Ahora bien, para ver lo aprendido hasta aquí vamos a analizar un ejemplo. Se plantea entonces la siguiente topología:

Se asume que todos los bridges tienen en la topología anterior la misma prioridad. Entonces, sabemos que el primer paso es escoger el RB. Para ello, al tener todos la misma prioridad vamos a escoger el que tenga menor dirección MAC, que resulta ser el SWA.
El próximo paso es encontrar el camino mínimo desde cada switch hasta el RB. Empezando por el SWB vemos que tiene tres puertos que nos permiten alcanzar el RB. Por el puerto 1 el costo total es de 27, resultado de sumar 19 del enlace de 100 mbps y 4 de cada enlace de 1 gbps. Luego, tanto por el puerto 2 como por el puerto 3 el costo total es de 19. En este caso, se escoge el puerto con identificador más pequeño, que es el 2. De esta manera, el puerto 2 será el puerto raíz y pasará a estado de FWD y el 3 quedará bloqueado. Dejaremos el análisis del puerto 1 para un poco más adelante.
Para el caso del SWC, el puerto raíz es el 1, ya que el costo por allí es de 4. Nuevamente dejaremos el análisis del puerto 2 para más adelante.
Finalmente, el SWD tiene dos posibles caminos al RB. Uno de ellos con costo 8 a través del puerto 2 y el otro con costo 38 por el puerto 1. Lógicamente será puerto raíz el puerto 2.
El último paso es decidir, de los puertos que quedaron sin determinar, cuál pasará a estado BLK para romper el bucle. Veamos las posibilidades:
- Puerto 1 de SWB.
- Puerto 2 de SWC.
- Puerto 1 de SWD.
De lo anterior, el puerto 2 de SWC no podrá ser dado que está en el camino mínimo del SWD al RB. Así que ese pasará a estado FWD. La decisión se reduce entonces entre el puerto 1 del SWB y el 1 del SWD. Ante esta situación se resolvía bloqueando el puerto del bridge con mayor MAC, lo que implica que el puerto 1 del SWD quedará en BLK y el puerto 1 del SWB en FWD.
Extensiones de Cisco
- Portfast: un puerto marcado como portfast será puesto en estado de FWD desde el inicio. Es especialmente útil para aquellos puertos donde estemos seguros que va a haber un único host. Asociado a portfast existen dos técnicas que permiten impedir un bucle en un puerto en este modo.
- BPDU guard: su objetivo es el de evitar que se conecte un switch a un puerto de este tipo. Por ello, al recibir una BPDU el puerto se pone en estado de deshabilitado por error.
- BPDU filter: es menos restrictivo que el anterior y lo que hace es detectar BPDUs en el puerto. Si se recibe alguna se saca al puerto de modo portfast y pasa al estado de bloqueo para cumplir con todos los pasos requeridos por el protocolo.
- Uplink fast: debería ser habilitado en aquellos switches en donde existe algún puerto en estado de bloqueo. En ese caso, si se detecta una caída en el puerto que está como FWD se habilita rápidamente el puerto bloqueado, sin el delay habitual. Permite una reacción más rápida ante un inconveniente en la red.
- Backbone fast: en este caso, se detecta el fallo en algún otro switch de la red y su objetivo es acelerar la convergencia ante dicho fallo.
Rapid Spanning Tree
El protocolo RSTP es un estándar que incorpora muchas características que aceleran el proceso de convergencia inicial y ante un fallo, valiéndose de varias de las ideas anteriores de Cisco. Es totalmente compatible con STP y de hecho un bridge ejecutando STP y otro RSTP pueden convivir perfectamente en la misma red, aunque utilizando el protocolo STP. Por ello, para que RSTP funcione, todos los switches deben soportarlo.
Etherchannel
Cuando existen dos enlaces entre dos switches una alternativa es utilizar Etherchannel. Esta tecnología lo que hace es combinar dos o más puertos como si fueran uno solo, agregando el ancho de banda a ese único canal lógico.
Un etherchannel provee también redundancia, dado que si uno de los links se cae sigue funcionando perfectamente, con un ancho de banda reducido. La ventaja entonces en comparación con STP es que etherchannel hace uso activo de todos los enlaces, en contraste con STP que de un conjunto utilizaría sólo uno.
| Tipo enlace | Costo |
| 10 Gbps | 2 |
| 1 Gbps | 4 |
| 100 Mbps | 19 |
| 10 Mbps | 100 |
Configurar un Etherchannel en Cisco
Un Etherchannel es un tipo especial de interfaz que agrupa varios puertos físicos en un único puerto lógico. De esta manera es posible armar uplinks con mayor capacidad que la provista por los puertos individuales. Por ejemplo, en la siguiente topología:

Podría aprovecharse allí la redundancia para en lugar de tener dos enlaces a 1 gigabit (de los cuáles sólo uno funcionará si utilizamos STP) tengamos un único enlace lógico a 2 gigabits. En este punto es preciso saber que un etherchannel puede configurarse de modo estático o de modo dinámico. El segundo caso nos provee además redundancia, ya que si uno de los enlaces se cae el etherchannel continúa funcionando con un ancho de banda menor. Para configurarlo de esta manera:
SWA(config)#interface range gigabitEthernet 0/1 -gigabitEthernet 0/2
SWA(config-if-range)#channel-group 1 mode desirable
SWA(config-if-range)#end
SWB(config)#interface range gigabitEthernet 0/1 -gigabitEthernet 0/2
SWB(config-if-range)#channel-group 1 mode desirable
SWB(config-if-range)#end
SWA#show etherchannel
Channel-group listing:
----------------------
Group: 1
----------
Group state = L2
Ports: 2 Maxports = 8
Port-channels: 1 Max Portchannels = 1
Protocol: PAGP
SWA#show etherchannel 1 summary
Flags: D - down P - 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
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) PAgP Gi0/1(D) Gi0/2(D)



