(07BJ) (05BR) (09BM) Redes Redes de Computadores Redes y Sistemas Distribuidos Tema 6 Funciones y protocolos del nivel de red Tema 6 Funciones y protocolos del nivel de red Índice 1. Introducción 2. Protocolo IP 3. Funciones del nivel de red 3.1. Algoritmos de encaminamiento 3.2. Control de la congestión 4. Frame Relay 5. ATM 2 Tema 6 Funciones y protocolos del nivel de red Índice 1. Introducción ([TAN03] Capítulo 5.1) 2. Protocolo IP 3. Funciones del nivel de red 3.1. Algoritmos de encaminamiento 3.2. Control de la congestión 4. Frame Relay 5. ATM 3 Tema 6 Funciones y protocolos del nivel de red 1. Introducción Modelo OSI • El nivel de red se encarga de transportar bloques de datos (paquetes) desde un host origen hasta un host destino a través de la subred Objetivos: • • • • Determinar la trayectoria más apropiada para los paquetes • Necesidad de conocer la topología de la subred • Necesidad de un esquema de direccionamiento lógico uniforme Evitar la congestión de líneas y equipos intermedios Interconectar subredes tecnológicamente distintas Aislar el nivel de transporte de la tecnología de la subred • Por ejemplo, fragmentación y reemsamblaje de PDUs del nivel de transporte en paquetes Servicios proporcionados por el nivel de red al nivel de transporte: • • Sin conexión no fiable (subred de datagramas) Servicio orientado a la conexión (subred de circuitos virtuales) 4 Tema 6 Funciones y protocolos del nivel de red 1. Introducción 5 Tema 6 Funciones y protocolos del nivel de red 1. Introducción Datagramas (subredes que ofrecen un servicio no orientado a conexión) • Cada paquete se encamina de forma independiente • Los paquetes se numeran (entrega fuera de orden) • Cada paquete contiene la dirección del origen y del destino • Los routers tienen tablas de encaminamiento que • asocian líneas de salida a cada posible destino Los paquetes no se modifican durante el trayecto 6 Tema 6 Funciones y protocolos del nivel de red 1. Introducción Circuitos virtuales (subredes que ofrecen un servicio orientado a conexión) • Se establece una ruta fija entre el origen y el destino para todos los paquetes (establecimiento del circuito virtual) • El encaminamiento se realiza sólo una vez • Todos los paquetes siguen la misma ruta • Cada paquete contiene un identificador de circuito virtual • Los routers tienen tablas de encaminamiento que asocian puertos de entrada y circuitos virtuales a puertos de salida • Los identificadores de circuito virtual tienen significado local • Los paquetes son modificados durante el trayecto • Se eliminan todas las entradas de encaminamiento en los routers correspondientes (liberación del circuito virtual) 7 Tema 6 Funciones y protocolos del nivel de red 1. Introducción Circuitos virtuales (subredes que ofrecen un servicio orientado a conexión) 8 Tema 6 Funciones y protocolos del nivel de red 1. Introducción Comparación de las subredes de datagramas y de circuitos virtuales Función Establecimiento CV Direccionamiento Datagramas Innecesario Dirección origen y destino en cada paquete Cada paquete se encamina de forma independiente Circuitos virtuales Requerido Identificador de CV en cada paquete Paquete de establecimiento de CV, todos los demás siguen la misma ruta Cada CV requiere una entrada en Información estado Innecesaria la tabla de encaminamiento Liberación CV Innecesario Requerido de retransmisión de paquetes Control de errores Los paquetes erróneos se descartan Solicitud erróneos al nodo anterior Fácil (preasignación de buffers a cada Control de congestión Difícil CV) Fácil (preasignación de ancho de banda Calidad de servicio Difícil a cada CV) Existencia de rutas alternativas Ninguna porque caen todos los CVs Tolerancia a fallos para el envío de los paquetes que atraviesan el router afectado Encaminamiento 9 Tema 6 Funciones y protocolos del nivel de red Índice 1. Introducción 2. Protocolo IP ([TAN03] Capítulo 5.6) 3. Funciones del nivel de red 3.1. Algoritmos de encaminamiento 3.2. Control de la congestión 4. Frame Relay 5. ATM 10 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Protocolo IP (Internet Protocol) • Definido en el RFC 791 • Diseñado para la interconexión de LANs, subredes o • sistemas autónomos mediante la retransmisión de datagramas desde el host origen hasta el host destino No es compatible con el protocolo del nivel de red de OSI (CLNP) 11 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Protocolos asociados a IP: ARP, RARP, ICMP, IGMP 12 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Encaminamiento en IP • Si dos hosts se encuentran en la misma (sub)red, pueden comunicarse directamente • Se puede determinar si dos hosts se encuentran en la misma (sub)red comparando el netid(+subnetid) de sus direcciones IP • Si el host origen no conoce la dirección MAC del host destino, la obtiene mediante el uso del protocolo ARP • Si dos hosts no se encuentran en la misma (sub)red, el host origen envía el paquete al router por defecto • Todos los equipos deben saber la dirección IP del router por defecto al que envían todos los paquetes destinados a una (sub)red diferente • Si el host origen no conoce la dirección MAC del router, la obtiene mediante el uso del protocolo ARP • La dirección IP del paquete es la del host destino 13 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Encaminamiento en IP • Cuando un router recibe una trama, extrae el paquete IP y lo procesa: • Si la dirección IP destino del paquete es distinta a la suya, reenviará el paquete en base a sus tablas de encaminamiento • Los paquetes pasan de un router a otro hasta llegar al • que está conectado directamente a la (sub)red destino Un router sabe a qué redes está conectado porque tiene una interfaz de red con una dirección IP válida para cada una de ellas 14 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Problema 1. Un router tiene las siguientes entradas en su tabla de encaminamiento: Destino Gateway Máscara Interfaz 135.46.56.0 * /22 eth0 135.46.60.0 * /22 eth1 192.53.40.0 R1 /23 eth2 default R2 /0 eth3 Para cada una de las siguientes direcciones IP, ¿qué haría el router con un paquete con esa dirección IP como dirección IP de destino? a) b) c) d) e) 135.46.63.10 135.46.57.14 135.46.52.2 192.53.40.7 192.53.56.7 15 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Problema 2. Un router tiene cuatro entradas para las siguientes subredes IP con la misma línea de salida: 57.6.96.0/21, 57.6.104.0/21, 57.6.112.0/21 y 57.6.120.0/21. ¿Pueden agregarse? 16 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Resolución de direcciones • Las direcciones IP no pueden usarse para enviar • • paquetes porque el nivel de enlace requiere direcciones MAC ¿Cómo consigue el host que envía el paquete la dirección MAC del destino a partir de la dirección IP? Protocolo ARP (Address Resolution Protocol) • Definido en RFC 826 • Permite a un equipo obtener la dirección MAC de otro a partir de su dirección IP • Existen diversas optimizaciones para evitar tener que recurrir al protocolo ARP continuamente • El protocolo RARP (Reverse ARP) definido en el RFC 903 realiza la tarea inversa 17 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Protocolo ARP • Formato del paquete 18 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Protocolo ARP • Ejemplo 19 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Protocolo ARP • Escenarios posibles de resolución de direcciones 20 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Formato del paquete IP • VER: versión (0100) • HLEN: longitud cabecera • • en múltiplos de 32 bits (0101 sin opciones) DS: Differentiated Services Total Length: longitud total del paquete (máximo de 65535 bytes) 21 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Formato del paquete IP • Identification: entero para identificar cada paquete • • (todos sus fragmentos lo comparten) Fragmentation Offset: desplazamiento de un fragmento respecto al paquete original en múltiplos de 64 bits Flags: • MF (More Fragments): toma el valor 1 para todos los fragmentos de un datagrama excepto para el último • DF (Don’t Fragment): indica que el datagrama no se puede fragmentar 22 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Fragmentación de paquetes IP • Las redes que atraviesa un paquete pueden tener un tamaño máximo de paquete menor que su tamaño • Limitar el tamaño del paquete en función del menor tamaño máximo sería muy ineficiente • IP permite elegir un tamaño de paquete determinado y, si es necesario, fragmentarlo • No obstante, todos los routers y todos los hosts deben aceptar paquetes de 576 bytes como mínimo • La fragmentación no es transparente en IP, es decir, el nodo destino debe ser capaz de reensamblar los paquetes • Si un fragmento se pierde, el destino no puede reconstruir el paquete original y tiene que descartar todos los fragmentos restantes (temporizador de reensamblaje) 23 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Formato del paquete IP • Time To Live (TTL): tiempo de vida máximo del paquete en segundos • Cada router que procesa el paquete decrementa su valor y, por tanto, se trata de un contador de saltos • Cuando el campo TTL llega a 0, el paquete se descarta y se informa al origen mediante un paquete ICMP Time Exceeded • Protocol: especifica protocolo de más alto nivel que se • • • está utilizando Header Checksum: suma de comprobación de la cabecera que debe recalcularse en cada router Direcciones IP de origen y de destino Opciones 24 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP Problema 3. El host A está conectado a un router R1, el router R1 está conectado a un router R2, y el router R2 está conectado al host B. En el host A, la capa TCP entrega un segmento, que contiene 900 bytes de datos y 20 bytes de cabecera, a la capa IP para su entrega al host B. Muestra los campos Total Length, Identification, Fragmentation Offset y Flags (MF y DF) del encabezado del paquete IP de cada paquete transmitido a través de los tres enlaces. El enlace HA-R1 soporta un tamaño de trama máximo de 1024 bytes, con 14 bytes de cabecera; el enlace R1-R2 soporta un tamaño de trama máximo de 512 bytes, con 8 bytes de cabecera; y el enlace R2-HB soporta un tamaño de trama máximo de 512 bytes, con 12 bytes de cabecera. 25 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP ICMP (Internet Control Message Protocol) • IP puede fallar al intentar entregar un paquete: • El host destino no existe o está desconectado • El campo TTL toma el valor 0 y el router descarta el paquete • Sin embargo, IP no permite al emisor detectar estos • • problemas o simplemente conocer el estado de la red ICMP es un protocolo diseñado para informar a un host de posibles errores o del estado de la red Los paquetes ICMP viajan dentro de paquetes IP pero su destino es la capa de red del host origen • El identificador de protocolo para el paquete IP es 1 • El nivel de red del receptor puede informar a los niveles superiores para que tomen las medidas correctivas oportunas 26 Tema 6 Funciones y protocolos del nivel de red 2. Protocolo IP ICMP (Internet Control Message Protocol) • Destination Unreachable (Type=3) • • • • • • Source Quench (Type=4) • • Pointer indica el octeto donde ha ocurrido el error Redirect (Type=5) • • TTL exceeded in transit (Code=0) Fragment reassembly time exceeded (Code=1) Parameter problem (Type=12) • • El router o host que lo envía indica que ha agotado sus buffers o está a punto de hacerlo Time exceeded (Type=11) • • • Net unreachable (Code=0) Host unreachable (Code=1) Protocol unreachable (Code=2) Port unreachable (Code=3) Fragmentation needed and DF set (Code=4) El router que lo envía indica que se redirijan los paquetes para la red destino al router especificado (Gateway Internet address) Echo Request (Type=8) / Reply (Type = 0) • • Identifier: identificador para determinar correspondencia entre preguntas y respuestas Sequence Number: contador 27