Direccionamiento a Nivel de Enlace de Datos
Las direcciones MAC (ejemplo: 183E A064 F201) suelen ir grabadas de fábrica en el propio adaptador de red. Cuando un ordenador envía un mensaje a través de una red de difusión, este permanece en el medio compartido en espera de ser recogido por el destinatario. Puesto que todas las estaciones pueden ver ese mensaje enviado (a nivel físico), solamente el nivel de enlace del destinatario podrá tomarlo para sí. Por lo tanto, es necesario algún mecanismo que identifique unas estaciones de otras. A nivel de enlace, tenemos las direcciones MAC. Dependiendo del protocolo utilizado, pueden tener mayor o menor número de dígitos. Una dirección MAC FF.FF.FF.FF.FF.FF es una dirección especial que se utiliza cuando hay que enviar un mismo mensaje a todos los equipos de la red. Cuando un conmutador recibe un mensaje con esta dirección de destino, está obligado a enviarlo por todos sus puertos.
Direccionamiento a Nivel de Red
La capa de red define cómo transportar el tráfico de datos entre dispositivos que no están conectados localmente en el mismo dominio de difusión, que pertenecen a diferentes redes.
Las direcciones de capa 3, o direcciones lógicas, son direcciones jerárquicas. Definen primero las redes y luego a los dispositivos pertenecientes a esas redes. Con la suma o combinación de ambas partes se obtiene un identificador único para cada dispositivo. El router identifica dentro de la dirección lógica la porción perteneciente a la red con el fin de identificar la red a dónde enviar los paquetes (TCP/IP).
- Una dirección IP se identifica como una dirección de 32 bits, dividida en 4 octetos. Una porción de red y otra de host.
- A cada dirección IP le corresponde una máscara de red de 32 bits, dividida en 4 octetos. El router determina las porciones de red y host por medio de la máscara de red.
- Las direcciones IP generalmente se representan en forma decimal, para hacerlas más comprensibles. Se conoce como “decimal punteado” o “notación decimal de punto”.
2 Encaminamiento
Antes de hablar del encaminamiento, vamos a tratar el funcionamiento de los encaminadores. Cada uno de estos dispositivos dispone de una tabla con los posibles destinos en forma de direcciones IP. En cada fila de esa tabla se especifica la dirección de las redes a las que puede llegar (Destinos), la dirección IP del puerto del encaminador por el que debe salir el mensaje y el número de encaminadores intermedios que debe atravesar. Estas tablas se actualizan dinámicamente mediante el envío de información entre los encaminadores. Un ejemplo:
Cuando un encaminador recibe un paquete, toma la dirección IP de la estación destinataria, pone a cero todos los bits de número de estación y la compara con las entradas disponibles en su tabla. Así sabe si el destino está en la misma red o si es necesario enviar el paquete a otro encaminador.
Cuando un encaminador desea poner a cero todos los bits de número de estación para obtener una dirección de red, debe utilizar la máscara de red. Ésta se incluye como una columna en las tablas de encaminamiento, de forma que los routers saben en todo momento qué máscara deben aplicar para saber de qué red están hablando.
Si una IP en el encaminador es la dirección destino, aplicará la máscara y comparará el resultado con cada red de destino. Si coincide, utilizará esa entrada para establecer la ruta, y si no utilizará la última entrada (0.0.0.0) ya que cualquier dirección coincide con ella si se aplica la máscara. Estas tablas de encaminamiento suelen incluir cierta información:
- Protocolo de encaminamiento: un encaminador puede soportar el uso de varios protocolos a la vez.
- Red de destino: dirección IP de la red de destino a alcanzar.
- Máscara de red: es la aplicada a la dirección de la red de destino. Los protocolos modernos la incluyen en el prefijo de red de la IP de destino.
- Siguiente: dirección IP del siguiente equipo.
- Métrica: información sobre el coste de esa ruta.
- Interfaz: nombre del puerto del equipo local por donde enviar el mensaje al destino. Por ejemplo: «serial0/0».
Dispositivos de la Capa de Red
Los routers funcionan en la capa de red del modelo OSI, separando los segmentos en dominios de colisión y difusión únicos. Estos segmentos están identificados por una dirección de red que permitirá alcanzar las estaciones finales. Los routers cumplen dos funciones básicas que son la de enrutar y conmutar los paquetes. Para ello, registran en tablas de enrutamiento los datos necesarios para esta función.
Funciones de los routers:
- No envían difusiones de capa 2 ni tramas de multidifusión.
- Intentan determinar la ruta más óptima basándose en algoritmos de enrutamiento.
- Separan las tramas de capa 2 y envían paquetes basados en direcciones de destino de capa 3.
- Pueden limitar o asegurar el tráfico de la red.
- Pueden ser configurados para realizar funciones tanto de puenteado como de enrutamiento.
- Proporcionan conectividad entre diferentes LAN virtuales.
- Pueden ser usados para desplegar parámetros de calidad de servicio para tipos específicos de tráfico de red.
Dirección de red: Representa redes conocidas por el router. Si un router soporta varios protocolos, tendrá una tabla por cada uno de ellos.
Interfaz: Se refiere a la interfaz usada por el router para enviar los paquetes destinados a la red que figura en la lista.
Métrica: Se refiere al coste o distancia para llegar a la red de destino. Es el valor que facilita al router la elección de la mejor ruta. Esta métrica cambia en función de la forma en que el router elige las rutas. Entre las métricas más habituales figuran el número de redes que han de ser cruzadas para llegar al destino (saltos), el tiempo que se tarda en atravesar todas las interfaces (retraso), o un valor asociado con la velocidad de un enlace.
El NIC (Network Information Center o Centro de Información de la Red) es la entidad encargada de asignar las direcciones de Internet, para impedir duplicados.
4 IPv6
El motivo básico por el que surge IPv6 fue la necesidad de crear un protocolo nuevo, ante la evidencia de la falta de direcciones IPv4. Ésta tiene un espacio de direcciones de 32 bits, es decir, 232. En cambio, IPv6 nos ofrece un espacio de 2128. Además, tiene estas características:
- Mayor espacio de direcciones.
- Mayor velocidad de proceso en los nodos, ya que en IPv6 sólo hay 7 campos en su cabecera (IPv4 tenía 13).
- Autoconfiguración y compatibilidad con IPv4.
- Seguridad intrínseca.
- Multicast (envío de un mismo paquete a un grupo de receptores).
- Anycast (envío de un paquete a un receptor dentro de un grupo).
- Encaminado más eficiente.
- Calidad de servicio (QoS) y Clase de Servicio (CoS).
Aunque estas son las características básicas, el escalado de IPv6 es la baza más importante con respecto a IPv4, ya que permite que la estructura del protocolo crezca.
Un ejemplo de dirección IPv6 sería: 2001:0db8:85a3:08d3:1319:8a2e:0370:7334
Direccionamiento a Nivel de Transporte
Una función del nivel de transporte de una arquitectura de red consiste en compartir varias conexiones utilizando una única conexión de red (multiplexación). A nivel de transporte, es necesario especificar con qué proceso de aplicación se desea comunicar, mientras que a nivel de red las direcciones especifican máquinas distintas. En el caso de la arquitectura TCP/IP de Internet, los protocolos que gestionan este direccionamiento son TCP (Protocolo de Control de Transmisión) y UDP (Protocolo de Datagramas de Usuario).
TCP es orientado a conexiones y fiable, por lo que su diseño resulta bastante complejo, ya que funciona sobre IP. UDP es sin conexiones y no lleva a cabo control de errores, sólo añade una pequeña cabecera a los paquetes IP y su implementación es muy sencilla.
Cada origen y destino en TCP se identifica con un número de 16 bits llamado puerto. Se clasifican en 3 categorías:
- Puertos bien conocidos: rango [1, 1023] y su función está definida oficialmente por la ICANN. Estos puertos son utilizados por el sistema operativo o por programas con privilegios.
- Puertos registrados: utilizados de forma temporal por los programas para realizar comunicaciones. Su función ha sido registrada de forma no oficial.
- Puertos dinámicos o privados: utilizados de forma automática y temporal por las aplicaciones y no tienen significado fuera de ellas.
Al par formado por dirección IP y número de puerto (separados por dos puntos) se le llama conector o socket (ejemplo: 192.168.0.34:80 y especifica la dirección de un puerto dentro de una estación concreta).
Ejemplo de una conexión establecida a nivel de transporte entre un origen y un destino que utilizan IPv4: {192.168.0.44:1076, 192.168.0.99:1081}. Para IPv6: {2001:db8::1a68:5701}:443
Algunos de los servicios de aplicación son FTP (Protocolo de Transferencia de Ficheros) utilizado para copiar archivos de un equipo a otro. SMTP (Protocolo Simple de Transferencia de Correo) se usa para enviar el correo electrónico de unos equipos a otros. HTTP (Protocolo de Transferencia de Hipertexto) es el que utilizan los navegadores de Internet para descargar las páginas. NFS (Sistema de Ficheros de Red) lo usan las máquinas UNIX y Linux para transferir archivos.
Para establecer una comunicación es necesario indicar el conector de destino (dirección IP y puerto), así que los usuarios deben conocer ese puerto y no cambiar de un equipo a otro.
Un puerto de comunicación está abierto o a la escucha cuando existe un programa en ejecución que controla las comunicaciones que se envían o se reciben a través de ese puerto. Los puertos bien conocidos también se les llama puertos privilegiados.