Tema 5 : El nivel de Red (Comunicaciones de datos en redes LAN)
5.1 Introducción
El nivel de red gestiona la interconexion de redes de forma transparente para el usuario creando una única red virtual.
Un conjunto de redes (internet) consta de multiples redes interconectadas (internetworking) entre si mediante mecanismos de encaminamiento (routing).
La interconexión de redes se define en base a sistemas intermedios:
- puentes (nivel de enlace)
- encaminador o router (nivel de red)
Un router acepta datagramas y se responsabiliza de establecer la ruta más adecuada para que este llegue a su destino.
El protocolo en la interconexión de redes es el protocolo IP (internet protocol) versión 4, IPv4. Su evolución: la versión 6 del mismo protocolo, IPv6.
5.2 Funciones del nivel de red
El nivel de red es el responsable de la entrega host a host y del encaminamiento de los paquetes a través de los encaminadores (routers).

En el origen:
- Crear un paquete a partir de los datos que llegan de otro protocolo.
- Añadir a la cabecera, entre otra información, direcciones lógicas (ip) del origen y destino.
- Comprobar su tabla de encaminamiento para encontrar la información de encaminamiento.
- Si el paquete es demasiado grande, se fragmenta.
En el router:
- Encaminar el paquete.
- El router consulta su tabla de encaminamiento y encuentra la interfaz por la que debe ser enviado.
En el destino:
- Verificación de la dirección, la dirección de destino del paquete es la misma que la dirección de red del host.
- Si el paquete es un fragmento, espera a que lleguen el resto de fragmentos.
- Llegados todos los fragmentos los reensambla y los entrega al nivel de transporte.
5.3 Protocolo Internet: IPv4
Forma parte de la familia de protocolos TCP/IP:
- Diseñados al objeto de habilitar la compartición de recursos entre equipos terminales a través de una red
- TCP implica transporte fiable, IP encamina paquetes.

Caracterísitcas:
- Estandar de facto (sustenta a internet)
- Protocolo de datagramas.
- No orientado a conexión
- Cada datagrama se trata de forma independiente, pueden seguir caminos distintos
- Pueden llegar desordenados
- Pueden dañarse o perderse.
- Depende de un protocolo de nivel superior que se ocupe de esto
- Cada datagrama se trata de forma independiente, pueden seguir caminos distintos
- No fiable
- Servicio de mejor entrega posible
- No ofrece control de errores ni control de flujo
- Asume la no fiabilidad de los niveles inferiores y hace lo mejor que puede para conseguir la transmisión al destino, pero sin garantías.
- Debe emparejarse con un protocolo fiable como TCP.
- Servicio de mejor entrega posible
Responsabilidades:
- Encaminamiento: mediante tablas de rutas estáticas y dinámicas
- Tiempo de vida de los paquetes: sistemas de descartes, para evitar un tránsito infinito, basado en un contador de saltos.
- Segmentación y reensamblado: adaptarse a los tamaños máximos de las distintas redes segmentado el datagrama y generando fragmentos, los cuales se reensamblaran mediante el uso de memorias temporales (reensamblaje intermedio) e información implícita en la cabecera IP (reensamblado en destino).
- Control de errores: mecanismos que notifiquen descartes (timeouts, congestión, pérdidas, etc.) para informar a las capas superiores.
- Control de flujo: mediante paquetes de control que solicitan reducir el tráfico a ciertos destinos.
Datagrama IPv4:
Paquete de longitud variable que consta de 2 partes:
- Cabecera: 20 Bytes (fijos) y una parte variable y opcional (hasta 60 Bytes). Contiene información esencial para el encaminamiento y la entrega
- Datos: Su tamaño ha de ser múltiplo de 8 bits.
La longitud máxima es de 65.535 Bytes.

Cabecera:
- Versión (4 bits): versión del protocolo IPv4.
- HLEN (4 bits): longitud de la cabecera expresada en múltiplos de 32 bits, el mínimo es 5 =20 octetos (sin opciones)
- Servicio (8 bits): servicios diferenciados (prioridades, rendimiento,...)
- Codepoint (6 bits).
- 2 últimos no se utilizan
- Longitud (16 bits): longitud del datagrama = cabecera + datos.
- Identificador (16 bits): se utiliza en la fragmentación. Número de secuencia que junto a la dirección origen, la dirección destino y el protocolo utilizado conforman un identificativo único por datagrama.
- Indicadores (3 bits): se utiliza en fragmentación:
- MF: 1 --> Más fragmentos, 0 --> es el último fragmento
- DF: 1 -->Prohibido fragmentar.
- El primer bit no se utiliza.
- Offset (13 bits): desplazamiento del fragmento, se utiliza en fragmentación. Lugar del fragmento dentro del datagrama original expresado en unidades de 8 Bytes. Si el datagrama no está fragmentado su valor es 0.
- TTL (8 bits): tiempo de vida del datagrama en la red.
- Número máximo de saltos (encaminadores) permitidos.
- Cada encaminador por el que pasa resta 1.
- Cuando llega a 0, el encaminador descarta el datagrama.
- Protocolo (8 bits): protocolo de nivel superior que usa los servicios de red. Especifica el protocolo de destino final al que entregar el datagrama
- 1 --> ICMP, 6--> TCP, etc
- Header Checksum (16 bits): suma de comprobación de la cabecera: suma complemento a1 de todas las palabras de 16 bits de la cabecera.
- Dirección origen (32 bits): dirección IPv4 origen
- Dirección destino (32 bits): dirección IPv4 destino.
- Opciones (variable): solicitadas por el usuario.
- Relleno (variable): asegura que la cabecera sea múltiplo de 32 bits.
Fragmentación:
Un datagrama puede viajar a través de diferentes redes.
El formato y el tamaño de la trama depende del protocolo utilizado en el nivel físico de la red por la que se va enviar la trama.
Cada protocolo de nivel de enlace de datos tiene su propio formato de trama en la mayoría de los protocolos.
Los datagramas IPv4 se transportan en el campo de datos de las tramas físicas:
- MTU (unidad de transferencia máxima): máximo tamaño del campo de datos de una trama física.
- El valor de la MTU depende del protocolo de red físico
- En ethernet estándar la MTU es de 1500 Bytes.
- El tamaño máximo datagrama IPv4 es 65.535 Bytes.
Se debe dividir el datagrama en función de la MTU de las redes que atraviesan.
Fragmentación
- Un datagrama puede ser fragmentado por el host origen o por un encaminador
- El reensamblado del datagrama se hace en el host destino (cada fragmento puede seguir distintos caminos).
- Todos los fragmentos deben llevar copia de las partes necesarias de la cabecera.
- El host o encaminador que fragmenta el datagrama debe variar tres campos:
- Indicadores
- DF=1 --> No se puede fragmentar --> descarta el datagrama.
- MF=0 --> Último fragmento, MF=1--> Hay más fragmentos
- Desplazamiento del fragmento: posición relativa de este fragmento respecto al datagrama completo( el valor del desplazamiento se mide en unidades de 8 Bytes)
- Offset=0 --> primer fragmento, Offset <> 0 --> No es el primer fragmento
- Longitud total
- Indicadores
- Mantiene el mismo identificador en cada fragmento (para poder ser reensamblado en el destino)
- El host o encaminador que fragmenta el datagrama debe variar tres campos:

5.4 Protocolo IPv6
Deficiencias IPv4:
- Rango de direcciones limitado
- Transmisión de audio y video en tiempo real (estrategias de minimización de retardo y que permitan reserva de recursos, no ofertado por IPv4)
- No proporciona autenticación ni cifrado de datos
Solución: IPv6
Cambios más significativos:
- Formato y longitud de las direcciones IP
- Formato del paquete
- Modificación de algunos protocolos.
Ventajas:
- Espacio de direcciones mayor: direcciones de 128 bits
- Mejor formato de cabecera: las opciones se separan de la cabecera base-->simplifica y acelera el encaminamiento.
- Sustituye el campo opciones por cabeceras de extensión (next header).
- Nuevas opciones que permiten funcionalidades adicionales.
- Capacidad de ampliación
- Soporte para la reserva de recursos
- Soporte para seguridad

Cabecera:
Aunque tiene 40 Bytes frente a los 20 de IPv4, solo tiene 8 campos frente a los 12 de IPv6 --> Menos tiempo y más agilidad del proceso:
- Version (4 bits): número de versión.
- Prioridad (4 bits): define la prioridad del paquete respecto a la congestión de tráfico.
- Etiqueta de flujo (24 bits): etiquetas que indican como ha de tratarse el datagrama en los routers: retardo, jitter, QoS
- Longitud de carga util (16 bits): longitud del datagrama en Bytes (excluída la cabecera).
- Cabecera siguiente (8 bits): tipo de la cabecera que viene a continuación, una de extensión opcional o un paquete encapsulado de UDP o TCP
- Límite de saltos (8 bits): mismo objetivo que el campo TTL en IPv4
- dirección origen (128 bits)
- Dirección destino (128 bits)
Cabeceras de extensión:
- Puede haber hasta seis cabeceras de extensión
- Muchas son opciones de IPv4
- Tipos de cabeceras de extensión:
- Opcion salto a salto:
- Se usa cuando el emisor necesita pasar información a todos los routers visitados por el datagrama.
- Encaminamiento desde el origen
- Fragmentación:
- Mismo que en IPv4
- Autenticación
- Valida el mensaje y se asegura de la integridad de los datos
- Carga de seguridad cifrada:
- Ofrece confidencialidad y guarda contra la intercepción
- Opción destino:
- Se usa cuando el emisor necesita pasar información al destino
- Opcion salto a salto:
[/list]
Direcciones IPv6:
Formada por 16 Bytes; 128 bits de longitud.
Capacidad para 2128 direcciones, unos 3800 millones
Formato de direcciones:
- Notación hexadecimal con dos puntos
- Los 128 bits se dividen en ocho secciones de 2 Bytes
- 32 dígitos en hexadecimal
Ejemplo de dirección IPv6:

Tipos de direcciones:
- Unicast: define un único nodo
- Con base geográfica (definición futura)
- Con base en el proveedor.
- Anycast: el paquete se entrega a una interfaz identificada dentro de un grupo anycast -la más cercana-.
- Multicast: define un grupo de nodos, el paquete debe ser entregado a todos los miembros.

5.5 Protocolos Auxiliares
Protocolos para crear una asociación entre direcciones físicas y lógicas: ARP, RARP.
Protocolo de alertas, para suplir la falta de control de flujo y error en el IP: ICMP.
Protocolo que da a IP capacidad multicast: IGMP.
Asociación de direcciones lógicas a físicas: ARP (Address Resolution Protocol)
A nivel de red los pc's y los routers se reconocen por sus direcciones IP.
A nivel físico, se reconocen por sus direcciones físicas.
Dirección física:
- Dirección local, para red local
- Dirección MAC, 48 bits.
La entrega de un paquete necesita dos niveles de direcciónes: lógico y físico.
- ARP permite encontrar una dirección física a partir de una dirección lógica.
- R -ARP permite encontrar una dirección lógica a partir de una dirección física
- ARP y R -ARP trabajan con tablas:
- En equipos: referencias a la misma red
- En routers: referencias a redes físicas distintas
Funcionamiento:
- Un equipo (A) quieren enviar un paquete a otro (B) del que conoce su dirección IP.
- A necesita pasar el paquete al nivel de enlace, pero no conoce la dirección física del receptor.
- A envía un mensaje ARP Broadcast a todos los hotst de la red física preguntando por la IP destino.
- Sólo B responde con un paquete de respuesta ARP reply que incluye su dirección física.
- A almacena la respuesta ARP en una tabla para futuros envíos.

Asociación de direcciones físicas a lógicas: RARP / BOOTP / DHCP
Permite encontrar una dirección lógica a partir de una dirección física.
Casos:
- Máquinas sin disco, conocen su dirección física pero no su dirección IP
- Si no hay suficientes direcciones IP para cada máquina, asignación de direcciones IP bajo demanda.
RARP (Reverse address resolution protocol):
- Se crea una petición RARP y se envía a la red local (cliente RARP)
- La máquina que conoce las direcciones IP responde con un RARP (servidor RARP)
- Problema: es un protocolo de nivel de enlace, servidor y cliente tienen que estar en la misma red.
BOOTP (Bootstrap protocol):
- Protocolo cliente/servidor que asocia dirección física a dirección lógica.
- Es un protocolo de nivel de aplicación, cliente y servidor pueden estar en redes distintas.
- Protocolo de configuración estática.
DHCP (Dynamic host configuration protocol):
- Proporciona asignación estática y dinámica de direcciones de forma manual o automática
- Estática: actúa como BOOTP, tiene una bd (base de datos) que asocia direcciones físicas a direcciones IP (Se crea manualmente)
- Dinámica: una seguna bd tiene un conjunto de IP disponibles (se crea automáticamente), asigna una dirección IP durante un período de tiempo.
Protocolo de mensajes de control: ICMP (Internet Control Message Protocol)
Se diseñó para compensar dos deficiencas del protocolo IP:
- No tiene mecanismos de informe o correción de errores.
- Tampoco implementa mecanismos de consulta y gestión.
Sólo informa , no resuelve incidencias.
Los mensajes ICMP viajan en el campo datos de un datagrama IP.
Tipos de mensajes:
- Mensajes de informe de error
- Mensajes de consulta
Herramientas que usan ICMP: ping y traceroute.
Protocolo de gestión de grupos: IGMP (Internet Group Management Protocol)
Protocolo usado por los routers para intercambiar información de miembros de grupos de multidifusión.
Tipos de mensajes:
- Consulta: general y especial
- Informe de pertenencia a grupo
- Informe de abandonos.
Formato del mensaje:
- Versión del protocolo
- Tipo
- 1--> petición de un router
- 2--> Informe de un host
- Suma de comprobación: Igual que en IPv4
- Dirección de grupo:
- Si se trata de una petición contiene el valor 0
- Si se trata de un informe contiene la dirección

Funcionamiento:
- Funciona a nivel local
- Un router multienvío conectado a una red tiene una lista de direcciones multicast de los grupos que tienen al menos un miembro leal en la red
- Para cada grupo hay una ruta que tiene la obligación de distribuir los paquetes multienvío destinados para ese grupo.
En IPv6 va incluído en ICMPv6
5.6 Encaminamiento
Encaminar: Decidir la línea de salida por la que se transmitirá un paquete de entrada.
Un protocolo de encaminamiento se usa para intercambiar información sobre accesibilidad y retardos de tráfico.
Calcula el mejor camino entre emisor y receptor.
Cada dispositivo de encaminamiento (host y router):
- Construye su tabla de encaminamiento del siguiente salto para los caminos a través del conjunto de redes
- Decide el camino en base a su conocimiento de la topología y las condiciones del conjunto de redes mediante algoritmos de encaminamiento.
- Tiene una ruta por defecto
El camino se decide en:
- Datagramas: por cada paquete
- Circuitos virtuales: al establecer el circuito.
Técnicas:
Las técnicas de encaminamiento tratan de evitar redes que fallan y redes congestionadas:
- Estáticas:
- Por adelantado
- Las tablas de encaminamiento no varían a lo largo del tiempo.
- S usa en redes donde la topología y el tráfico no varían
- Utiliza un nodo central de control (con todas las tablas)
- Eficiente y sencillo pero poco tolerante a fallos.
- Dinámicas:
- Las tablas de encaminamiento de actualizan en función de los cambios de la red.
- La eficiencia genera mayor tráfico de información
- Las decisiones son más complejas en los nodos.
Protocolos de encaminamiento:
Deciden la ruta de salida de un paquete entrante. La decisión se basa en la optimización.
Funcinamiento de los nodos:
- Intercambian mensajes de control usando los distintos algoritmos.
- Crean sus propias tablas
- Toman decisiones en base a la información de sus tablas.
Inconvenientes:
- Coste de procesamiento
- Tráfico adicional en la red
Ventajas: Ayuda a controlar la congestión
Objetivos:
- Minimizar las tablas: proceso más rápido y menos tráfico en la red
- Robustez:
- Caminos óptimos
- Mínimos retardos
- Evitar agujeros negros y bucles
Sistemas autónomos:
- Internet se divide en sistemas autónomos.
- Grupo de redes y encaminadores bajo la autoridad de una única administración
- Encaminamiento dentro de un sistema autónomo: encaminamiento intradominio
- Protocolo de información de encaminamiento: RIP
- Protocolo abierto de primer camino más corto: OSPF
- Encaminamiento entre sistemas autónomos: encaminamiento interdominio:
- Protocolo de pasarela frotera: BGP

Algoritmo de encaminamiento IP
Cuando un router recibe un paquete:

Encaminamiento basado en el vector distancia
El camino de menor coste entre los nodos es el camino de mínima distancia.
Cada nodo mantiene una tabla de las distancias mínimas a cada nodo.
Cada nodo comparte su tabla de encaminamiento con sus vecinos inmediatos de forma periódica y ante algún cambio.
Dinámico y distribuído (cada nodo tiene su propia tabla).
Problema: inestabilidad, contador infinito por caídas de enlace.


Protocolo de información de encaminamiento: RIP
Protocolo de encaminamiento intradominio.
Se apoya en el algoritmo de vector distancia.
- Métrica: número de saltos entre emisor y receptor
Características:
- Encaminamiento estable (sin bucles)
- Rápida respuesta a los cambios de topología en la red
- Bajo uso del ancho de banda disponible
- Reparto del tráfico entre rutas paralelos cuando la red lo demanda
- Capacidad de manejar distintas clases de servicio
- Registro de tasa de error y de disponobilidad de red
Encaminamiento basado en el estado de enlace
Cada nodo en el dominio tiene la topología entera del dominio (lista nodos, enlaces, cómo se conectan, coste y estado de enlaces).
El nodo usa el algoritmo de Dijkstra para construir una tabla de encaminamiento.
Distribuído y dinámico.
Se basa en:
- Descubrir a los vecinos y aprender su dirección de red (hello)
- Mide la distancia con cada vecino.
- Construye un paquete de estado de enlace (LSP) con todo lo que ha aprendido
- Envía el paquete a todos los routers (inundación)
- Calcula trayectoria más corta a cada router (árbol camino más corto)
- Calcula la tabla de encaminamiento basado en el árbol de camino más corto.
Algoritmo de Dijkstra:
- Estático
- Basado en el cálculo de la distancia más corta
- Cada nodo se etiqueta con la distancia y el origen: D (10,A)

Algoritmo de inundación:
Estático.
Cada paquete recibido se envía por todas las líneas de salida, excepto por la que llegó
Problema: genera muchos paquetes duplicados
- Solución:
- Registro de paquetes difundidos
- Inundación selectiva: envío de paquetes solo a aquellas salidas que van aproximadamente en la dirección correcta.


Protocolo abierto de primer camino más corto: OSPF
Protocolo de encaminamiento interno basado en el algoritmo de estado del enlace.
RIP envía su tabla de rutas entera: en una red amplia el tráfico es abundante--> la red se ralentiza y se consume mucho ancho de banda.
OSPF mantiene una descripción sus enlaces con las redes y periódicamente envía mensajes de actualización a los nodos que conoce--> tráfico escaso ya que la información es mínima y raramente cambia.
Características:
- Encaminamiento en función del tipo de servicio
- Balanceo de carga: establece varias rutas con el mismo coste, RIP solo una
- Soporto áreas: subconjunto de redes que funcionan de forma autónoma
- Autenticación de información que fluye entre los nodos
- Encaminamiento específico
- Soporta intercambio de información con protocolos interdominio.
Encaminamiento basado en el vector camino
El encaminamiento basado en vector distancia y estado de enlace son intradominio.
El encaminamiento basado en el vector camino es útil entre dominios.
Funcionamiento:
- Basado en vector distancia
- Asume que hay un nodo en cada sistema autónomo que actúe en nombre de todo el sistema (nodo speaker)
- Este nodo crea en un sistema autónomo una tabla de encaminamiento y la publica a todos los nodos speaker en los sistemas autónomos vecinos.
- Un nodo speaker publica el camino, no la métrica de los nodos, en su sistema autónomo a otros sistemas autónomos.
Protocolo de pasarela frontera: BGP
Protocolo de encaminamiento externo más utilizado en el intercambio de información entre sistemas autónomos.
Se basa en la transmisión de mensajes a través de conexiones TCP.

Procedimientos funcionales:
- Adquisición de vecinos: mensaje Open y respuesta Keepalive
- Accesibilidad de vecinos: intercambio de mensajes Keepalive.
- Accesibilidad de red: Cada nodo mantiene una tabla de las redes adyacentes y las rutas ideales. Si esta información varía se envía un mensaje Update.










Autor


En línea
