martes, 26 de febrero de 2019

Fundamentos en Switching (L2) - Part 1 de 4 - Como funcionan los switches de red

Fundamentos en Switching (L2) - Part 1 de 4  

Como funcionan los switches de red



Hola amigos, en el post de hoy veremos como funcionan los switches.

Los switches son la parte fundamental de una red, ya que ellos mantienen interconectados a los dispositivos y sus principales funciones son:

  • Pasar tramas a través de el mismo (Forward frames).
  • Aprender Mac Address
  • Prevenir loops.


Algunas características de un switch son:
  • Es un dominio de broadcast con varios dominios de colisión (puertos)
  • Almacena las mac-address aprendidas en su cam-table (Durante 5 minutos)
  • Una Mac Adress desconocida se envía a través de todos los puertos, a excepción de por donde entro la trama (Se le conoce como inundación - flooded)
  • Utiliza un modelo de hardware ASIC - Hardware hecho a la medida.
  • El trabajo principal de un switch es conocer mac address, al iniciar el switch, su cam-table se encuentra vacía.

¿Cómo un switch aprende MAC Address?

El switch aprende las mac address con los siguientes pasos:

  • Ingreso de las tramas (Ethernet Frame)
  • CAM-Table
  • Examinando tramas (Frames)


Por poner un ejemplo:


La máquina envía un ping al servidor, al momento de enviar el ping, este llega al switch en forma de trama (frame - L2) en lugar de paquete (packet - L3) debido a que el switch es un dispositivo de capa 2(L2), al enviar el ping en la trama (Frame) se envía la mac address de destino y de origen.




Al llegar el frame al switch, este agrega en su Mac-table la mac address de origen (en este caso la PC):


*En el caso de este ejemplo el switch ya conoce ambas mac address.

El switch aun no conoce la mac-address de destino, lo que hace es "inundar" los puertos (es decir reenviar la trama a todos los puertos y de respuesta tendrá en que puerto se encuentra la mac address de destino), este flooding se hace en todos los puertos EXCEPTO el puerto desde donde se encuentra el origen de la trama:
*Suponiendo que no conoce la mac address del servidor.

*Esto lo hace para todos los puertos, a excepción del puerto desde donde se hizo la petición.



Cuando encuentra el puerto asignado a la mac-address que busca la agrega en la cam-table y entrega la trama a la computadora de origen:


Cabe decir que esta cam-table se vacía cada 5 minutos, esto con el fin de poder mantener actualizado el mapeo de los hosts en la red; si fuera estático y no se vaciara esta tabla, nos va a generar errores en el mapeo de puertos, ya que un hosts puede moverse a otro puerto u otro switch.

¿Que pasa si una PC no conoce la Mac-Address de destino?

Si tomamos el mismo ejemplo pero la PC no sabe la mac-address del servidor, lo que pasa es lo siguiente:

Desde el PC hacemos un ping al servidor, en este caso la PC revisa su tabla ARP para ver si conoce la mac-address de destino, en este caso no se conoce la mac-address de destino:


Lo que hace ahora la PC es hacer un ARP-request (Address Resolution Protocol) mandando un broadcast al switch con una direccion de mac address FF:FF:FF:FF:FF:FF, este broadcast al llegar al switch se inunda a todos los puertos como lo vimos anteriormente, al llegar al servidor de destino, este frame se regresa a la PC como unicast, esto quiere decir que se regresa solo al que hizo la petición y no a todos en forma de broadcast.



Al regresar el frame a la PC, esta lo guarda en su tabla de arp como podemos observar:


Con esto la PC puede tener de igual manera un mapeado de que IP esta relacionada a que Mac Address y la siguiente vez que necesite generar tráfico a la IP del servidor solo mandara el frame a la Mac Address de destino y no hará nuevamente broadcast innecesario.

*NOTA: Hay que tener cuidado con el tráfico broadcast en switches ya que pueden hacer que el equipo baje su rendimiento al procesar muchas tramas (frames), loops o algún virus pueden ser las principales causas de un deterioro en la red.

Dominios de colisión y Dominios de Broadcast

En un switch es muy simple saber cuantos dominios de colisión se tienen, ya que será el número de puertos que se tengan, esto es debido a que en los HUBs como recordaremos solo se enviaba o recibia tráfico por un puerto (half duplex), cuando dos máquinas enviaban al mismo tiempo se ocasionaba una colisión; esto en switching se mitiga con el uso de CSMA/CD (Carrier Sense Multiple Access with Collision Detection) que lo que hace es si detecta una colisión manda hacer un reset de la conexión y que se vuelva a enviar el paquete en un periodo random para los equipos involucrados, actualmente como sabemos los switches son full duplex esto quiere decir que podemos enviar y recibir sin problemas, en resumen el numero de dominios de collision de un switch va de la mano de cuantos puertos tiene.

Sobre el dominio de broadcast como hemos visto anteriormente el broadcast es tráfico que se envia a todos los puertos, en este caso el switch completo es un dominio de broadcast, en el caso que existan vlans en un switch cada vlan es un dominio de broadcast ya que el tráfico de broadcast solo será enviado a los puertos donde este configurada la vlan.



Mac-Address Table

Ahora veremos la mac-address table, para poder ver el contenido de la mac-address table entramos a modo privilegiado y usamos el comando:

show mac address-table




La primera columna nos muestra la vlan a la cual esta asignado el puerto:


La segunda columna nos muestra la Mac address que se agrego a la tabla:


La tercera columna nos muestra como conoce el switch esa Mac Address, de manera estática (asignada al equipo en este caso) o de manera dinámica (De la manera en como agrega mac address a la tabla):


La ultima columna nos muestra por que puerto se conoce la mac address:


Con esto terminamos el post, espero que haya sido informativo y educativo para ustedes, si tienen dudas o comentarios, los pueden dejar en la caja de abajo.



1 comentario:

  1. La tercera columna nos muestra como conoce el switch esa Mac Address, de manera estática (asignada al equipo en este caso) o de manera dinámica (De la manera en como agrega mac address a la tabla): https://tecniciencias.com/alternativas-a-wiseplay/

    ResponderBorrar