¿Qué es un router?

por Antonio Gallego de Torres, autor del libro "Enrutadores Cisco ". © 2003. Se autoriza la difusión total o parcial siempre que se cite procedencia.


¿Qué es un router?

Un router es un dispositivo que conecta redes de comunicaciones. Dicho de otra forma, un router es un ordenador especializado que resuelve problemas muy concretos de comunicaciones.


¿Para qué hace falta un ordenador de comunicaciones?

Los ficheros de datos que mandamos por las redes de comunicaciones no se mueven como un sólo bloque sino que son fragmentados en paquetes. Este tipo de comunicación se le llama conmutación de paquetes. El problema fundamental que el router resuelve es el de encontrar un camino entre el origen y el destino para cada uno de los paquetes de datos que atraviesan las redes de comunicaciones.


¿Qué es eso de los niveles?

El problema de construir un sistema de comunicaciones es tan complejo que no resulta práctico intentar resolverlo todo a la vez. Es mejor descomponer el sistema en componentes más sencillos, que resuelvan cada uno parte del problema. Un sistema de comunicaciones debe manejar elementos tan distintos como las especificaciones eléctricas del medio (nivel 1, físico), proporcionar control de errores y flujo (nivel 2, enlace), fragmentar y reensamblar los paquetes así como direccionarlos (nivel 3, red), seguir la pista de los paquetes y garantizar que lleguen todos a su destino (nivel 4, transporte), etc... Cada uno de los componentes que se ocupa de una de estas tareas pertenece a un nivel o capa de la pila de protocolos.


¿Cómo funciona lo de los niveles en la práctica?

Las aplicaciones (web, ftp, email...) no hablan directamente unas con otras, sino que lo hacen con el componente correspondiente de la capa directamente inferior del protocolo usado para comunicarse. Por ejemplo, un usuario que quiera hacer descargar una página web usará una aplicación Web (el navegador) para conectarse con el servidor Web (httpd). Para ello la petición baja por la pila de protocolos del cliente (Navegador->TCP->IP->driver->Ethernet) y sube por la pila del servidor (Ethernet->driver->IP->TCP->httpd). La respuesta del servidor sigue el camino contrario.
   Navegador Web                      httpd         Aplicación
       |                                |
      TCP                              TCP          Transporte
       |                                |
      IP                                IP             Red
       |                                |
driver de la tarjeta           driver de la tarjeta   Enlace
       |                                |
    Ethernet-------------------------Ethernet         Físico

Desde un punto de vista lógico cada módulo de una 'pila' habla con el módulo correspondiente de la otra 'pila' (navegador con servidor, módulo IP con módulo IP, etc...), pero desde un punto de vista real cada módulo sólo puede hablar directamente con los contiguos (por ejemplo IP->driver o IP->TCP)

A este moverse por las distintas capas se le llama subir (y bajar) por la pila de protocolos. Cada capa o nivel añade información adicional, lo que se conoce como encapsulamiento, porque cada módulo encapsula o envuelve los datos de la capa anterior dentro un nuevo paquete con información adicional correspondiente al nivel que está manipulando la información. A esta información adicional se le llama cabecera (header). En la cabecera se almacena información correspondiente a la capa como direcciones, corrección de errores, tipo de protocolo transportado, etc... Podemos pensar en el encapsulamiento como el acto de meter una carta en un sobre (y etiquetarlo convenientemente), luego los sobres se agrupan en sacas (que también van etiquetadas) y finalmente las sacas se montan en vagones de tren (que entiendo que irán numerados de alguna forma, pero que me aspen si sé como...)

              +-------+
Telnet        | datos |
              +-------+

              +--------+-------+
TCP           |cabecera| datos |
              +--------+-------+

              +--------+----------------+
IP            |cabecera|     datos      |
              +--------+----------------+

              +--------+-------------------------+
NIC driver    |cabecera|        datos            |
              +--------+-------------------------+




¿Qué diferencia hay entre un router, un hub y un switch?

Se trata de tres dispositivos de red que trabajan en niveles distintos. Un hub (concentrador) conecta dispositivos a un mismo nivel físico (compartición de medio). Cuando el número de dispositivos conectados a un único medio crece, estos compiten por acceder al nivel físico (colisionan). Una solución consiste en usar switches (conmutadores), que usan información adicional (conocida como de enlace) para separar los dispositivos en distintos dominios de colisión (separa los medios físicos). No obstante ciertos paquetes con muchos destinatarios (paquetes de difusión o broadcast) no son controlables a través de dominios de colisión. os routers (enrutadores) usan información adicional (de la capa o nivel de red) para separar nuevamente las redes en dominios de difusión.


¿Cada dispositivo de red trabaja en una capa?

Cada dispositivo usa fundamentalmente la información de una capa para realizar su función de distribución de tráfico. Un hub es básicamente un repetidor, ampliando el medio físico:
Telnet   Telnetd
|         |
TCP       TCP
|         |
IP        IP
|         |
driver    driver
|         |
----HUB----

Un switch usa la información contenida en las cabeceras de los paquetes correspondientes al nivel de enlace para separar el tráfico:
Telnet                 Telnetd
|                      |
TCP                    TCP
|                      |
IP                     IP
|                      |
driver    driver       driver
|           |          |
----------SWITCH--------

Un router es un dispositivo de red, de forma que los paquetes suben hasta la capa de red de la pila de protocolos del router para decidir como se deben distribuir:
Telnet                 Telnetd
|                      |
TCP                    TCP
|                      |
IP         IP          IP
|           |          |
driver    driver       driver
|           |          |
----------ROUTER--------

Estos dispositivos no necesitan implementar las capas superiores para realizar su función.

¿Qué ventajas se obtienen al separar los sistemas en subsistemas?

Al separar el problema en subsistemas cuyas funciones se han negociado previamente se consigue (1) que estos módulos sean especializados y eficientes y (2) que puedan estar construidos por distintos fabricantes (o que es lo mismo, que dispositivos de distintos fabricantes se puedan entender). Además ayuda a localizar los puntos dónde hay que realizar los cambios a medida que las tecnologías avanzan (la aparición de nuevos medios físicos no obliga a cambiar todo el sistema. Desde un punto de vista lógica cada módulo de un sistema responsable de manejar una capa habla con la capa homóloga en el otro sistema, aunque desde un punto de vista real es preciso que los datos bajen (encapsulándose) por toda la pila de protocolos de un sistema y suban (desencapsulandose) por toda la pila de protocolos del sistema destino para que la información llegue a la capa correspondiente en el sistema destinatario.


¿Es exclusiva esta técnica de las telecomunicaciones?

Esta técnica de descomponer problemas complejos en otros más simples es fundamental en la informática y en la ciencia en general. Ejemplos de sistemas que se benefician de la descomposición en módulos especializados son las bases de datos (nivel físico, lógico, ), sistemas operativos (núcleo o kernel, API, aplicaciones), programación, etc...

¿En qué se diferencian unos routers de otros?
- Facilidad de uso
- Tipos de conectores
- Protocolos que conoce
- Velocidad de conmutación<

¿Qué otros problemas resuelve un router?
- Seguridad (ver artículo ssobre listas de acceso)
- NAT (ver artículo sobre NNetwork Address Traslation)

¿Dónde puedo aprender más?

Los fabricantes de routers ofrecen en sus webs información completa de sus productos y de los problemas que resuelven. Cisco, uno de los más importantes, tiene la suya aquí;.
El recurso definitivo para comprender Internet son los RFCs (Request For Comments). Puede buscar en Yahoo o Google el 'RFC 1180', que describe el conjunto de protocolos TCP/IP.


REGRESAR