Acelera la negociación del link en los switches Cisco
¿ Os habéis encontrado con un switch cisco al que cada vez que os conectáis en una boca tarda 30s en daros link ? En muchos casos no le damos importancia pues normalmente es un pc conectado o incluso un servidor, mientras arranca el sistema operativo la tarjeta ya tiene link y no hay ningún problema. Pero…¿ Que pasa cuando hablamos del reinicio de un equipo en modo bridge ? El modo bridge de un dispositivo (normalmente suelen hacer funciones de firewall, webfilter/proxy, un ips, etc.) es el que hace funcionar al equipo en modo transparente, el tráfico pasa a través de él sin ser un hop de nivel 2, permitiendo al equipo analizar el tráfico y actuar sobre él. Normalmente estos equipos si se reinician o fallan, las tarjetas tienen un relé de seguridad que unen por hardware las tarjetas IN y OUT de forma que no provoque un corte de red. Cuando vuelve a estar online, se desactiva este relé y el tráfico vuelve a ser analizado. Normalmente estos equipos se configuran en partes importantes de la red, como entre la LAN y el firewall. Si tenéis este equipo conectado a un switch cisco y lo reiniciáis, aunque exista el sistema de bypass, tendréis 30s de corte debido al spaning tree hasta que sea efectiva la conectividad. Este es un ejemplo, pero pueden existir otros por los que interese que las bocas den inmediatamente link cuando un equipo se le conecta.
El motivo de que tarde este tiempo en dar conectividad es el Spanning Tree. Se trata de un protocolo de nivel 2 que se utiliza para evitar que existan bucles en la red. Si existiese un bucle, la red se degradaría de forma progresiva hasta perder totalmente la conectividad. En caso de redes pequeñas, con topologías sencillas de estrella, no es necesario este protocolo. Todos los switches Cisco, y de otros fabricantes, traen activado este protocolo por defecto. Una de las funciones del Spanning Tree es calcular continuamente los costes de los caminos cada vez que hay un cambio de topología en la red, y en caso de encontrar dos caminos bloquear uno de ellos. Este tiempo es aproximadamente los 30s que tenemos de ausencia de link cuando nos conectamos a cualquier puerto. Pero si sabemos que en un puerto hay conectado un servidor, o el dispositivo bridge, y sabemos que no se va a provocar un bucle; existe en Spaning Tree una opción que configura el puerto de tipo Host. En ese caso, no se lanzará el recalculo ante los cambios de estado del puerto, ahorrando el tiempo de espera de recálculo, siendo prácticamente inmediata la activación del link del puerto. En Cisco se llama: portfast en otros fabricantes, como Force10 se les conoce como Edge Port.
Estos serían los comandos a ejecutar en Cisco (en modo enable):
switch# conf t
switch(config)#interface g0/17
switch(config-if)#switchport mode access
switch(config-if)#spanning-tree portfast
%Warning: Only enable PortFast on ports connected to a single host.
Connecting hubs, concentrators, switches, bridges, etc. to this
interface when you've PortFast can cause temporary bridging loops.
Use with CAUTION.
switch(config-if)#exit
switch(config)exit
switch#
En resumen, se entra en la configuración del interfaz deseada, y se ejecuta el comando: spanning-tree portfast. Esto mismo que lo hemos hecho para la boca 17, se puede hacer para un rango de puertos con el comando interface range:
switch# conf t
switch(config)#interface range g0/17 - 24
switch(config-if-range)#switchport mode access
switch(config-if-range)#spanning-tree portfast
%Warning: Only enable PortFast on ports connected to a single host.
Connecting hubs, concentrators, switches, bridges, etc. to this
interface when you've PortFast can cause temporary bridging loops.
Use with CAUTION.
switch(config-if-range)#exit
switch(config)exit
switch#
Si aún hay dispositivos FastEthernet conectados a nuestros switches, es recomendable que forcemos las bocas del switch a 100 full, para ahorrar problemas de negociación y tiempo. Estos serían los comandos:
switch# conf t
switch(config)#interface g0/17
switch(config-if)#speed 100
switch(config-if)#duplex full
switch(config-if)#exit
switch(config)exit
switch#
En el caso de GigabitEthernet o Ten GigabitEthernet lo recomendable es dejar la autonegociación activada, indicado así en la definición del protocolo.
Con estos cambios aplicados, se acelera la negociación del link, ahorrándonos esos preciosos segundos de cálculo.