Requisito previo: dispositivos de red
Un enrutador es un dispositivo de red que reenvía paquetes de datos entre redes informáticas.
Entendamos esto con un ejemplo muy general, supongamos que busca www.google.com en su navegador web, entonces esta será una solicitud que se enviará desde su sistema al servidor de Google para servir esa página web, ahora su solicitud que no es más que un flujo de paquetes, no solo van al servidor de Google de inmediato, sino que pasan por una serie de dispositivos de red conocidos como enrutadores que aceptan estos paquetes y los reenvían a la ruta correcta y, por lo tanto, llegan al servidor de destino.
Un enrutador tiene una serie de interfaces mediante las cuales puede conectarse a una serie de sistemas host.
Funciones de un enrutador:
el enrutador básicamente realiza dos funciones principales:
- Reenvío:
el enrutador recibe los paquetes de sus puertos de entrada, verifica su encabezado, realiza algunas funciones básicas como verificar la suma de verificación y luego busca en la tabla de enrutamiento para encontrar el puerto de salida apropiado para volcar los paquetes y reenvía los paquetes a ese Puerto de salida. - Enrutamiento:
el enrutamiento es el proceso mediante el cual el enrutador determina cuál es la mejor ruta para que el paquete llegue al destino. Mantiene una tabla de enrutamiento que se realiza utilizando diferentes algoritmos solo por el enrutador.
La arquitectura de un enrutador:
un enrutador genérico consta de los siguientes componentes:
- Puerto de entrada:
esta es la interfaz por la cual los paquetes se admiten en el enrutador, realiza varias funciones clave como terminar el enlace físico en el enrutador, esto se realiza en la parte más a la izquierda en el diagrama a continuación, la parte central hace el trabajo de interoperabilidad Con la desencapsulación similar a la capa de enlace, en la última parte del puerto de entrada, se busca la tabla de reenvío y se utiliza para determinar el puerto de salida adecuado en función de la dirección de destino. - Tejido de conmutación:
este es el corazón del enrutador, conecta los puertos de entrada con los puertos de salida. Es una especie de red dentro de un dispositivo de red. El tejido de conmutación se puede implementar de varias maneras, algunas de las más destacadas son:- Conmutación vía memoria: En esta tenemos un procesador que copia el paquete de los puertos de entrada y lo envía al puerto de salida correspondiente. Funciona como una CPU tradicional con puertos de entrada y salida que actúan como dispositivos de entrada y salida.
- Conmutación vía bus: En esta implementación tenemos un bus que conecta todos los puertos de entrada con todos los puertos de salida. Al recibir un paquete y determinar a qué puerto de salida debe entregarse, el puerto de entrada coloca un token particular en el paquete y lo transfiere al bus. Todos los puertos de salida pueden ver los paquetes, pero se enviarán al puerto de salida cuyo token se haya ingresado, ese puerto de salida eliminará el token y el paquete se reenviará.
- Conmutación a través de la red de interconexión: esta es una red más sofisticada, aquí en lugar de un solo bus, usamos un bus 2N para conectar n puertos de entrada a n puertos de salida.
- Puerto de salida:
este es el segmento desde el cual se transmiten los paquetes fuera del enrutador. El puerto de salida analiza sus búferes de cola (cuando se deben transmitir más de un paquete a través del mismo puerto de salida, se forman búfer de cola) y toma paquetes, realiza funciones de capa de enlace y finalmente transmite los paquetes a un enlace saliente. - Procesador de enrutamiento:
ejecuta los protocolos de enrutamiento, funciona como una CPU tradicional. Emplea varios algoritmos de enrutamiento como el algoritmo de estado de enlace, el algoritmo de vector de distancia, etc. para preparar la tabla de reenvío, que se busca para determinar la ruta y el puerto de salida.