Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es ÍNDICE CAPÍTULO 7: El nivel de red en Internet 1. Introducción 2. Conceptos de Interconexión de redes 3. Direccionamiento 4. Protocolos de Internet 5. Protocolo IP v6 Curso 2002-2003 - Redes (IS20) -Capítulo 7 1 1. Introducción 1. Introducción 1.1. Arquitectura y protocolos TCP/IP Curso 2002-2003 - Redes (IS20) -Capítulo 7 2 1 1.1. Arquitectura y protocolos TCP/IP 1. Introducción • Modelo de capas – – – – Capa de acceso a red Capa de Internet Capa de Transporte Capa de Aplicación • Protocolos de la arquitectura TCP/IP – Capa de red: IP, ICMP, ARP, RARP – Capa de transporte: TCP, UDP 2. Conceptos de interconexión de redes Curso 2002-2003 - Redes (IS20) -Capítulo 7 3 2. Conceptos de interconexión de redes 2.1. Interconexión de redes 2.2. Modelo de servicio 2.3. Formato de un paquete 2.4. Fragmentación y reensamblado Curso 2002-2003 - Redes (IS20) -Capítulo 7 4 2 2. Conceptos de interconexión de redes 2. Conceptos de interconexión de redes 2.1. Interconexión de redes • En la capa de red la Internet puede verse como una red virtual construida por interconexión física de redes diferentes mediante routers (agrupados en backbones). Los protocolos de internet tratan a todas las redes por igual. • Los requisitos para un sistemas de interconexión de redes son: – Proporcionar un enlace entre redes: conexión física y de control de enlace – Proporcionar encaminamiento y entrega de datos entre procesos de diferentes redes – Proporcionar servicio de control del estado de las redes y sus elementos – Proporcionar los servicios de forma que no se requiera modificación de la arquitectura de red de cualquiera de las redes interconectadas. El sistema debe acomodarse a las diferencias entre redes: direccionamiento, tamaño paquetes, etc. Curso 2002-2003 - Redes (IS20) -Capítulo 7 5 2.2. Modelo de servicio • Modo de operación, protocolo de interconexión: – Orientado a conexión • Se establece una conexión lógica de red • Los dispositivos de encaminamiento se ocupan de la retransmisión a otra red y el encaminamiento (secuencia de conexiones lógicas) – No orientado a conexión o sin conexión (enfoque más usado) • Cada unidad de datos del protocolo de red se trata independientemente • Se encamina a través de los dispositivos de encaminamiento y redes hasta alcanzar su destino (distintos caminos, puede haber pérdidas) • Los dispositivos de la Internet comparten un protocolo común de capa de red • IP proporciona servicio sin conexión de datagramas (no segura) • Facilita la labor de enrutamiento. El control de errores en capas superiores. Curso 2002-2003 - Redes (IS20) -Capítulo 7 6 3 2. Conceptos de interconexión de redes 2. Conceptos de interconexión de redes • IP (Protocolo Internet): – Proporciona un servicio de entrega de paquetes con las características: • No seguro: – El envío no esta garantizado. – El paquete puede ser perdido, duplicado, retrasado o enviado fuera de orden. – No detectará dichas situaciones. • No orientado a conexión: – Cada paquete es tratado independientemente. – Los distintos paquetes de una conexión pueden: » Viajar por diferentes caminos. » Algunos pueden ser perdidos y otros alcanzar el objetivo. – Proporciona la unidad básica de datos transmitida en Internet: El Datagrama – Realiza la función de rutado, escoge camino sobre el que se envían datos – Una serie de reglas: • Cómo debe procesar un host o router un paquete. • Cómo y cuando deben ser enviados mensajes de error. • Las condiciones bajo las cuales un paquete debe ser descartado. Curso 2002-2003 - Redes (IS20) -Capítulo 7 7 2.3. Formato de un paquete Capa de acceso a red (física+enlace) • Utiliza un esquema de direcciones con 48bit – Se denominan direcciones físicas o hardware – Los fabricantes garantizan que no hay dos interfaces con igual dirección (compran bloques de direcciones ethernet) • Una dirección Ethernet de 48 bits puede ser: – La dirección física de un interface de red. – La dirección de broadcast: • Está formada por unos. • Sirve para enviar un mensaje a todos los hosts de la red. – Una dirección multicast: • Sirve para hacer un broadcast a un número limitado de hosts (grupo multicast). • Formato de trama o paquete en Ethernet: Curso 2002-2003 - Redes (IS20) -Capítulo 7 8 4 2. Conceptos de interconexión de redes 2. Conceptos de interconexión de redes Capa de Internet • El Datagrama de Internet – Está compuesto por un encabezado y un área de datos (segmento de la capa de transporte): • Encapsulado del datagrama (paquete): – El campo tipo en el encabezado Ethernet indicará datagrama IP encapsulado (0800hex) Curso 2002-2003 - Redes (IS20) -Capítulo 7 9 Cuestiones de diseño • Encaminamiento – Se guarda una tabla en cada dispositivo de encaminamiento – Tabla estática o dinámica (se actualiza la tabla cuando hay alguna desconexión) • Tiempo de vida de los datagramas – Con encaminamiento tipo dinámico un datagrama puede viajar de forma indefinida (consume recursos innecesariamente) – Se fija un tiempo de vida tras el cual el datagrama sea descartado • Segmentación y reensamblado – Redes diferentes pueden especificar tamaños máximos de paquetes diferentes – Los dispositivos de encaminamiento fragmentan los datagramas si es necesario – El reensamblado se realiza en el destino usando los campos: identificador, longitud de datos, desplazamiento e indicador de más datos Curso 2002-2003 - Redes (IS20) -Capítulo 7 10 5 2. Conceptos de interconexión de redes 2. Conceptos de interconexión de redes Formato del datagrama • Formato de un datagrama IP: Cabecera del datagrama + datos – Cabecera: parte fija de 20 bytes y parte opcional de longitud variable Datos 11 Curso 2002-2003 - Redes (IS20) -Capítulo 7 • Versión (4bits): versión del protocolo al que pertenece el datagrama, permite la transmisión a otras versiones (IPv4, IPv6) • Longitud de la cabecera de Internet (IHL) (4bits): longitud de la cabecera expresada en palabras de 32 bits (mínimo 5=20bytes) • Tipo de servicio (8bits): Indica el tipo de servicio que el host espera de la subred. Se especifica según el siguiente esquema: Preferencias D T R No se usa –Los tres primeros bits codifican la prioridad del datagrama (000 mín, 111 máx) –el bit D puesto a 1, indica que se debe minimizar el retardo en su transmisión –el bit T, que hay que tratar de elegir las rutas de mayor capacidad –El bit R, que hay que buscar la máxima fiabilidad. –Los dos últimos bits están reservados. Estas opciones están contempladas por el protocolo IP, los protocolos usuarios no suelen hacer uso de ellas • Longitud total (16bits): longitud máxima (total = encabezado + datos) del datagrama (máx 65535bytes). Longitud mínima 576 bytes Curso 2002-2003 - Redes (IS20) -Capítulo 7 12 6 2. Conceptos de interconexión de redes 2. Conceptos de interconexión de redes Campos de control de la fragmentación • Identificación (16bits): entero que identifica fragmentos de un mismo datagrama • 1 bit sin uso: valor cero • DF (1bit): bit a 1 para indicar no fragmentar el datagramas en routers • MF (1bit): significa más fragmentos. En todos los fragmentos excepto el último está activo. Sirve para identificar el final de llegada de fragmentos. • Desplazamiento (offset) del fragmento (13bits): Posición relativa de un fragmento dentro del datagrama medido en unidades de 8 bytes – Todos los fragmentos excepto el último deben tener un múltiplo de 8 bytes (unidad de fragmento elemental) – Máximo 8192 fragmentos por datagrama Si un datagrama no puede fragmentarse: DF=1; MF=0; offset=0 Curso 2002-2003 - Redes (IS20) -Capítulo 7 13 • Tiempo de vida (8bit): contador que limita la vida de un datagrama – Cuenta en segundos. Vida máxima de 255seg – Se decrementa en cada salto (cada vez que encabezado procesado por router) – Al llegar a cero el paquete se descarta y se envía paquete de aviso a host emisor • Protocolo (8bit): indica protocolo de la capa de transporte a la que se entrega el datagrama en el host destino – TCP=6; UDP=17; ICMP=1; etc (numeración por estándar RFC 1700) • Suma de comprobación (Checksum) de la cabecera (16bits): verifica si hay errores en la transmisión de la cabecera (no actúa sobre datos) – Calcula la suma complemento a uno de todas las palabras de 16 bits en la cabecera. Se inicializa a cero. – Se recalcula en cada salto ya que hay campos que van variando • Dirección de origen (32bits): dirección IP de host origen del datagrama • Dirección destino (32bits): dirección IP de host destino del datagrama Curso 2002-2003 - Redes (IS20) -Capítulo 7 14 7 2. Conceptos de interconexión de redes 2. Conceptos de interconexión de redes • Opciones IP (variable): permite a nuevas versiones del protocolo IP, nuevos campos. Se rellena para completar múltiplos de 4 bytes. Actualmente 5 opciones: – – – – – Seguridad: evita enrutamiento por ciertos países Enrutamiento estricto: da ruta completa a seguir por datagrama Enrutamiento libre: da lista de router obligados pero se permite uso de más Registrar ruta: los router deben anotar su dirección IP en una lista Marca de tiempo: Hace que cada router agrege su IP y su marca de tiempo Curso 2002-2003 - Redes (IS20) -Capítulo 7 15 2.4. Fragmentación y reensamblado • El tamaño del datagrama (encabezado+datos) está limitado por la carga útil de IP: 65535 bytes • Para ser transmitido en una red normalmente hay que fragmentarlo en función de: – La unidad máxima de transferencia (MTU) de cada red: • Número de bytes máximo que se puede incluir en una trama. • Depende de la red (Ethernet=1500, FDDI=4470, etc) • Si tamaño de datagrama mayor que MTU (Maximun Transfer Unit) de la red, el enrutador o host debe fragmentarlo para poder enviarlo por ella. • División de un datagrama puede realizarse: – Al enviar el datagrama por primera vez (en el host) – Por un router al pasar de una red o otra de diferente tecnología Curso 2002-2003 - Redes (IS20) -Capítulo 7 16 8 2. Conceptos de interconexión de redes 2.4. Fragmentación y reensamblado • Ejemplo: Fragmentación de un datagrama por un router: – MTU en bytes – Porciones: cada fragmento de datagrama será de tamaño múltiplo de 8bytes – Cada fragmento de datagrama actualiza el campo longitud, el desplazamiento y MF=1 – El último datagrama diferente MF • Los fragmentos viajarán de forma independiente al host receptor • El datagrama se reensambla en destino – Debe haber suficiente memoria temporal en el instante de reensamblado – Usa nº identificación, offset fragmento, MF – Pone un contador para recibir todos los fragmentos, si vence antes se descartan. 17 Curso 2002-2003 - Redes (IS20) -Capítulo 7 3. Direccionamiento 3. Direccionamiento 3.1. Estructura de direcciones 3.2. Subredes y super-redes 3.3. Encaminamiento o rutado de paquetes IP Curso 2002-2003 - Redes (IS20) -Capítulo 7 18 9 3.1. Estructura de direcciones 3. Direccionamiento • Las direcciones físicas no tienen una estructura jerárquica • Solución: cada host y enrutador en Internet con una dirección IP – Número de 32 bits llamado dirección Internet o IP – Formada por 2 partes: • Identificación de la red a la que está unido el host • Identificador del host (estación) en la red • Formatos de direcciones y tipos de redes IP: Curso 2002-2003 - Redes (IS20) -Capítulo 7 19 • Notación punto decimal de la dirección (4 octetos separador por punto): 10000000 00001010 00000010 00011110 3. Direccionamiento se escribiría: (clase B) 128.10.2.30 • De esta forma las clases de redes anteriores: – Clase A: (pocas redes, muchos host) • • • • Primer octeto identifica la red, empieza por 0 2k redes, desde 0.. 2k -1 : 0.0.0.0 a 127.0.0.0 Reservadas 0.0.0.0 (host actual) y 127.0.0.0 (loopback), quedan 126 redes Tres octetos para el host. Permite identificar unos 1,6 billones de hosts – Clase B: (nº medio redes, nº medio host) • • • • Dos octetos para red. Empieza por 10 Redes desde 128.0.0.0 a 191.255.0.0 191-128=63->63.255 = 111111 11111111-> (214=16384 redes) Dos octetos para hosts. Permite identificar hasta 65024 hosts – Clase C: (muchas redes, pocos host) • Tres octetos para red. Empieza por 110 • Redes desde 192.0.0.0 hasta 223.255.255.0 (221=2.097.152 de redes) • Un octeto para hosts (256 hosts) Curso 2002-2003 - Redes (IS20) -Capítulo 7 20 10 3. Direccionamiento • Direcciones especiales: – – – – – 0.0.0.0 usada por los host al arrancar la máquina Si número de red es cero, se refieren a la red actual (hay que saber clase) Todo 1s permite difusión en red local (en general LAN) Si en campo de host todo unos, difusión de paquetes a LAN distantes 127.xx.yy.zz se reservan para pruebas de realimentación (loopback) ¿Cómo se garantiza que una dirección corresponda a un sólo host? – Direcciones asignadas por una autoridad central: • Internet Assigned Number Authority (IANA) • Internet Corporation for assigned names and numbers (ICANN) – Una organización que quiere conectar son computadores a Internet: • Solicita una red: Clase A, B, C …y distribuye sus direcciones entre sus hosts • Ejemplo: IBM Corporation: 9.0.0.0 AT&T Corporation: 12.0.0.0 ¿Cuantas direcciones IP tiene router o computador conectado a internet? ¿Qué ocurre con la dirección IP al cambiar un host de un red a otra? • Se pueden dar direcciones mediante nombres de máquinas: – Ejemplo: anubis.inf.uji.es Curso 2002-2003 - Redes (IS20) -Capítulo 7 21 • Ejemplo direcciones IP: 3. Direccionamiento – Departamento de Ciencias de la Computación de la Universidad de Purdue, mediados 1980: Curso 2002-2003 - Redes (IS20) -Capítulo 7 22 11 3. Direccionamiento 3.2. Subredes y super-redes • Todos los host de una red tienen el mismo nº de red, único • Una compañía puede tener varias redes locales independientes subredes pero una única red de cara al exterior. • La dirección de subredes nos permite: – Que una sola dirección de red se use para múltiples redes físicas. Técnica de subred: (obtiene dirección de red extendida) – Se divide la dirección de host en dos: subred y host local. – Se escoge una máscara de subred que identifica la red física concreta. El resto identificará al host. – Ejemplo máscara: • Clase A: por defecto 255.0.0.0 • Clase B: por defecto 255.255.0.0 • Clase C: por defecto 255.255.255.0 Ejemplo: 255.192.0.0 Ejemplo: 255.255.248.0 Ejemplo: 255.255.255.252 – Sólo el router asociado a la red física en cuestión usará la información que identifica al host dentro de la subred. • Ejemplo: 150.128.0.0 y máscara subred 255.255.248.0 Curso 2002-2003 - Redes (IS20) -Capítulo 7 23 3. Direccionamiento • Ejemplo: – Una organización tiene una única dirección de red de clase B, 128.10.0.0, donde subred (tercer byte) y host (cuarto byte), tendrá múltiples redes físicas – Los routers locales: saben rutar el tráfico de red. – Para escoger la red física local a la que enviar se usa el tercer octeto. – El cuarto bytes indicará el host Curso 2002-2003 - Redes (IS20) -Capítulo 7 24 12 • Ejemplo de algoritmo de rutado: 3. Direccionamiento Algorithm: Route_IP_Datagram (datagram , routing_table) Extract destination IP address, ID, from the datagram; Compute IP address of destination network, IN; if IN matches any directly connected network address send datagram to destination over that network (This involves resolving ID to a physical address, encapsulating the datagram, and sending the frame.) else for each entry in routing table do Let N be the bitwise-and of ID and the subnet mask if N equals the network address field of the entry then route the datagram to the specified next hot address endforloop if no matches were found, declare a routing error; Curso 2002-2003 - Redes (IS20) -Capítulo 7 25 Super-redes 3. Direccionamiento • Es justo el caso contrario de direcciones de subred: – Se le proporciona a una organización un conjunto de direcciones tipo C contiguas en lugar de una dirección tipo B. – (Las direcciones tipo C se usaban poco). – Para disminuir la información en los routers: • Se utiliza un máscara de super-red: Curso 2002-2003 - Redes (IS20) -Capítulo 7 26 13 3.3. Rutado de paquetes IP ¿Cómo en función de las tablas movemos un datagrama a la línea de salida? 3. Direccionamiento • Claves: – La Dirección Destino en cada datagrama – Dirección de red IP identifica una única red física – Las estaciones conectadas a una misma red física tiene igual dirección de red – Cada red física de Internet tiene un router conectado a otra red física • Rutado de paquetes IP: – ¿Cómo los routers y hosts envían paquetes a su destino final? – Dos formas: • Envío Directo: – Un host o router envía un paquete IP a una máquina conectada a su misma red física. • Envío Indirecto: – Un host o router envía un paquete IP a una máquina no conectada en su red física. 27 Curso 2002-2003 - Redes (IS20) -Capítulo 7 – Envío directo: 3. Direccionamiento • El host o router identifica si el destino está en la misma red física: direcciones IP identifican a la red • Si lo está, se encapsularía y se manda – Envío indirecto: • El host o router identifica si el destino IP está en la misma red física: – No lo está • Si es un host, se envía al router configurado • Si es un router, usa su tabla de rutado para elegir el siguiente router en función de la dirección IP destino Tabla del Router R TO REACH HOST ON NETWORK ROUTE TO THIS ADDRESS 20.0.0.0 DELIVER DIRECTLY 30.0.0.0 DELIVER DIRECTLY 10.0.0.0 20.0.0.5 40.0.0.0 30.0.0.7 Curso 2002-2003 - Redes (IS20) -Capítulo 7 28 14 • Rutas por defecto: 3. Direccionamiento – Los routers incluyen una entrada de red 0.0.0.0 asociada a un router que indica un rutado por defecto. Tabla de Router 1.4 Network 149.76.1.0 149.76.2.0 149.76.3.0 149.76.4.0 149.76.5.0 … 0.0.0.0 Gateway 149.76.1.2 149.76.1.3 149.76.1.5 … 149.76.1.2 Interface fddi0 fddi0 fddi0 eth0 fddi0 … fddi0 Curso 2002-2003 - Redes (IS20) -Capítulo 7 29 • Rutas específicas de host: 3. Direccionamiento – Una ruta específica en la tabla para un host destino. • Protocolo de rutado IP: Algorithm: RouteDatagram (Datagram , Routing Table) Extract destination IP address, D, from the datagram and compute the network prefix, N; if N matches any directly connected network address deliver datagram to destination D over that network (This involves resolving D to a physical address, encapsulating the datagram, and sending the frame.) else if the table contains a host-specific route for D send datagram to next-hop specified in table else if the table contains a route for network N send datagram to next-hop specified in table else if the table contains a default route send datagram to the default router specified in table else declare a routing error; ¿Cómo resolver las direcciones? Curso 2002-2003 - Redes (IS20) -Capítulo 7 30 15 4. Protocolos de Internet 4. Protocolos de Internet 4.1. Protocolo de resolución de direcciones 4.1.1. ARP 4.1.2. RARP 4.2. Protocolo de control de mensajes (ICMP) Curso 2002-2003 - Redes (IS20) -Capítulo 7 31 4. Protocolos de Internet 4.1. Protocolo de Resolución de Direcciones • Entrega de paquete a estación conectada a la misma red física. • Los hosts unidos a una red: • El adaptador de Red de un sistema tiene una dirección física de Red (Ethernet = 48 bits únicos para cada tarjeta). • Dichos hosts tendrán sus correspondientes direcciones Internet IP • Sin embargo, la comunicación debe llevarse a cabo utilizando las direcciones físicas (usadas por la capa de acceso a red) • Problema: Traducción de la dirección IP a dirección física – Una máquina A quiere enviar un paquete a otra B. – Conoce la dirección Internet de B, IPB (es lo que usan los programas de aplicación). ¿Cómo conocer su dirección física? ¿Cómo transformar la dirección Internet a una dirección física? Curso 2002-2003 - Redes (IS20) -Capítulo 7 32 16 4. Protocolos de Internet 4.1.1. ARP • Este problema se denomina Problema de Resolución de Direcciones. Se resuelve dinámicamente mediante ARP. • Funcionamiento básico: – El host A manda un paquete especial, pide al host B de la dirección IPB su dirección física. – Todos los host de la red reciben el paquete y lo leen. – Sólo el host B: • Recibe el paquete. • Reconoce su dirección IPB . • Manda otro paquete de respuesta, con su dirección física de red dirigido al host A. • Problema: – Planteado así, es un protocolo poco eficiente. • Cada vez que una máquina quiere enviar un paquete, debe enviar otro (ARP) que deben leer todas las máquinas de la red. Curso 2002-2003 - Redes (IS20) -Capítulo 7 33 4. Protocolos de Internet • Para solucionarlo ARP utiliza una cache (tabla de equivalencias) de direcciones físicas-Internet en cada host. – La cache se actualiza cuando un host recibe una petición ARP: • Guarda la traslación dirección física-Internet del peticionario en su cache (sea o no el destinatario) – La cache se actualiza cuando el host recibe la respuesta ARP: • También actualiza su cache – Si ARP tiene la dirección física del destinatario en su cache no envía una petición ARP – Una dirección en la cache se borra al cabo de un determinado periodo de tiempo – Cuando una máquina arranca envía un mensaje ARP a todas las demás informando de su dirección física • Las Tabla se rellena mediante mensajes de petición-respuesta de ARP Curso 2002-2003 - Redes (IS20) -Capítulo 7 34 17 4. Protocolos de Internet Implementación del protocolo ARP: • Está dividido en dos partes: – la primera para obtener direcciones físicas de red a partir de direcciones internet IP – la segunda para responder a peticiones de otras máquinas. – Primera: • El software recibe una dirección Internet. • Consulta su cache para saber si conoce la dirección física. – Si: – No: » » La devuelve. Envía una petición ARP y espera respuesta. La respuesta puede tardar o perderse: Volvería a enviar la petición. Si recibe mientras otra dirección IP: No es la misma la tramita. • Elimina entradas de la cache después de un periodo de tiempo. – Segunda: • • • • • Recibe un paquete ARP por la red. Extrae la dirección física-Internet del paquete. Crea una entrada en la cache o actualiza la existente para la dirección IP. Si la máquina es el objetivo del paquete ARP (está solicitando su dirección). Forma un paquete de respuesta en el que incluye su dirección física. 4. Protocolos de Internet Curso 2002-2003 - Redes (IS20) -Capítulo 7 35 Encapsulación y formato de paquetes ARP • Los mensajes ARP se introducen en el área de datos de la trama de Ethernet • El campo tipo de trama lleva el número 0806 en hexadecimal en el encabezado Ethernet para indicar ARP. • Los paquetes o tramas ARP no tienen un formato de encabezado fijo: Curso 2002-2003 - Redes (IS20) -Capítulo 7 36 18 • Tipo de Hardware (2 bytes): Especifica el tipo de Hardware para el que 4. Protocolos de Internet el emisor busca la respuesta (1 Ethernet) • Tipo de protocolo (2 bytes): Especifica el tipo de protocolo de direcciones de nivel superior que el emisor proporciona. 0800 hexadecimal para direcciones IP. • Longitud Hardware (1 byte):Tamaño de las direcciones Hardware en bytes, 6 en Ethernet (48 bits) • Longitud del Protocolo (1 byte): Tamaño de direcciones del protocolo nivel superior, 4 en IP (32 bits) • Tipo de Operación (2 bytes): Tipo de operación ARP: – (1) petición ARP (2) respuesta ARP (3) petición RARP (4) respuesta RARP. • Dirección Hardware del Emisor (6 bytes): Dirección Ethernet emisor • Dirección IP del Emisor (4 bytes): (0 para petición RARP) • Dirección Hardware del Receptor (6 bytes): 0 petición ARP y RARP • Dirección IP del Receptor (6 bytes): (0 para una petición RARP) Curso 2002-2003 - Redes (IS20) -Capítulo 7 37 4. Protocolos de Internet 4.1.2. RARP • Normalmente la dirección IP se conserva en almacenamiento secundario. • El S.O. la lee cuando arranca. • En un host sin disco (almacenamiento secundario): – Hay un código de arranque en la ROM. – Dicho código contacta con un servidor para obtener la dirección IP de la máquina. – Una vez obtenida cargará el S.O. desde el servidor, con transacciones de red normales. • El protocolo de resolución de direcciones inverso (RARP) es el protocolo que dada una dirección física obtiene la dirección IP correspondiente desde un servidor Curso 2002-2003 - Redes (IS20) -Capítulo 7 38 19 4. Protocolos de Internet • Funcionamiento: – Se usa el mismo formato de mensaje que vimos para ARP. – La máquina que quiere conocer su dirección IP: • Envía una petición RARP • Indica su dirección física tanto en los campos del emisor como receptor • Todas las máquinas en la red reciben la petición • Hay algunas configuradas como RARP servers: – Conocen la dirección IP de las máquinas sin disco. – Están autorizadas para responder y envían una respuesta RARP con la dirección • En estas comunicaciones iniciales se usan direcciones físicas, no direcciones IP: – Los servidores deben estar en la misma red Curso 2002-2003 - Redes (IS20) -Capítulo 7 39 4. Protocolos de Internet 4.2. Protocolo de control de mensajes (ICMP) • Control de errores IP, (ICMP, Internet Control Message Protocol): – En el proceso de envío indirecto pueden producirse errores: • Un router no puede enviar un datagrama: Errores en tablas rutado. • Una opción en datagrama IP que afecta a su envío. – Se utiliza un mecanismo de envío de mensajes , para informar sobre los errores producidos: ICMP (parte del protocolo IP). – Los mensajes ICMP se encapsulan como parte del área de datos del protocolo IP: Curso 2002-2003 - Redes (IS20) -Capítulo 7 40 20 Formato del mensaje ICMP 4. Protocolos de Internet • Formato del mensaje ICMP: – – – – Tipo (8 bits): Identifica el tipo de mensaje. Código (8 bits): Información adicional sobre el tipo de mensaje. Campo Cheksum (16 bits): Cubre el mensaje ICMP. ICMP Data: Encabezado y 64 bits de datos del datagrama IP que causa el problema. Type Field 0 3 4 5 8 11 12 13 14 15 16 17 18 ICMP Message Type Echo Reply Destination Unreachable Source Quench Redirect (change a route) Echo Request Time Exceeded for a Datagram Parameter Problem on a Datagram Timestamp Request Timestamp Reply Information Request (obsolete) Information Reply (obsolete) Address Masl Request Address Mask Reply Curso 2002-2003 - Redes (IS20) -Capítulo 7 41 4. Protocolos de Internet • Mensajes de petición y de respuesta de eco: – Cuando un host recibe una petición eco, envía una respuesta eco. – Se usan para testar si se puede alcanzar un host o responde. – ping: • Comando que envía y recibe ecos ICMP, realiza estadísticas etc. 0 8 16 31 TYPE(8 or 0) CODE(0) CHECKSUM IDENTIFIER SEQUENCE NUMBER OPTIONAL DATA … – El identificador y número de secuencia: Los usa el emisor para establecer una correspondencia entre peticiones y respuestas. Curso 2002-2003 - Redes (IS20) -Capítulo 7 42 21 4. Protocolos de Internet • Mensajes de destinos inalcanzables: – Un router no puede enviar un datagrama IP, envía este mensaje al emisor del datagrama IP. – No todos los errores de este tipo se detectan. 0 8 TYPE(3) 16 31 CODE(0-12) CHECKSUM UNUSED (MUST BE ZERO) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM … Code Value 0 1 2 3 4 5 6 7 8 9 10 11 12 Meating Network unreachable Host unreachable Protocol unreachable Port unreachable Fragmentation needed and DF set Source route failed Destination network unknown Destination host unknown Source host isolated Communication with destination network administratively prohibited Communication with destination host administratively prohibited Network unreachable for type of service Host unreachable for type of service 43 Curso 2002-2003 - Redes (IS20) -Capítulo 7 4. Protocolos de Internet • Mensajes de congestión: – Si un router recibe datagramas y no los puede enviar. – Los almacena en un buffer. – En el momento en que se desborda el buffer: • Se descarta el siguiente datagrama. • Se envía un mensaje de congestión a la fuente del datagrama. 0 8 TYPE(4) 16 CODE(0) 31 CHECKSUM UNUSED (MUST BE ZERO) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM … Curso 2002-2003 - Redes (IS20) -Capítulo 7 44 22 4. Protocolos de Internet • Petición de cambio de ruta por routers: – Si un router recibe un paquete y detecta una ruta no optima usada por otro router o host: • Envía el paquete. • Envía un mensaje al router o host del que recibió el paquete pidiéndole que redireccione la ruta. 0 8 TYPE(5) 16 31 CODE(0 to 3) CHECKSUM ROUTER INTERNET ADDRESS INTERNET HEADER + FIRST 64 BITS OF DATAGRAM … • Dirección internet del router: Indica la nueva dirección a la que hay que enviar paquetes. – Se envía a routers o host conectados a la misma red física. 45 Curso 2002-2003 - Redes (IS20) -Capítulo 7 4. Protocolos de Internet • Detección de rutas circulares o largas: – En los routers: • Se usa el campo tiempo de vida del datagrama IP. – En los hosts: • El contador que se inicia cuando llega un fragmento llega a cero y no han llegado todos los fragmentos. Code Value 0 1 0 Meating Time-to-live count exceeded Fragment reassembly time exceeded 8 TYPE(11) 16 CODE(0 or 1) 31 CHECKSUM UNUSED (MUST BE ZERO) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM … Curso 2002-2003 - Redes (IS20) -Capítulo 7 46 23 5. Protocolo IP v6 5. Protocolo IP v6 • Mediados de años 90 comienza el uso de Internet: Surge IPv4 Objetivos de diseño en IPv6 : – – – – – – – Espacio de direcciones inagotable Reducir tamaño de las tablas de encaminamiento Simplificar el protocolo para procesamiento más rápido de datagramas Mecanismos de seguridad: verificación de autenticidad y confidencialidad Mecanismos para manejar tipos de servicios: datos en tiempo real Soporte de IP móvil (posibilita host móvil sin cambiar su IP) Coexistencia con protocolo versión 4 Mejoras: – IPv6 tiene direcciones más grandes (16 bytes) que IPv4 (4 bytes) – Simplificación de la cabecera: solo 7 campos (IPv4 tiene 13) • Más velocidad de procesamiento de paquetes en las rutas – Apoyo a las opciones: dirigidas a ciertos enrutadores – Más seguridad con verificación, autenticidad y confidencialidad Curso 2002-2003 - Redes (IS20) -Capítulo 7 47 5. Protocolo IPv6 5. Protocolo IP v6 • Cabecera: longitud fija de 40 bytes Curso 2002-2003 - Redes (IS20) -Capítulo 7 48 24 • Versión (6bits): versión del protocolo al que pertenece el datagrama, permite la transmisión a otras versiones (IPv4, IPv6) • Prioridad(4 bits): distingue prioridad de paquetes para control de flujo 5. Protocolo IP v6 (números más bajos menos importancia) • Etiqueta de flujo (24 bits): experimental: permite a un origen y destino establecer seudoconexión con propiedades y requisitos particulares • Longitud de carga útil (16 bits): Indica cuantos bytes siguen a la cabecera. (en IPv4 se contaban también los 40 bytes de cabecera) • Siguiente cabecera (8 bits): Pueden haber cabeceras adicionales (opcionales) de extensión. – Si se añade cabecera opcional este campo indicará de que tipo. – Si es la última el campo indicará a que protocolo de transporte TCP o UDP se entregará el paquete • Siguiente cabecera (8 bits): cabeceras adicionales (opcionales) de extensión. – Proporcionan información extra codificada de manera eficiente – Van a continuación de la cabecera fija – 6 tipos de cabeceras de extensión con prioridades en orden de listado Curso 2002-2003 - Redes (IS20) -Capítulo 7 49 • Límite de saltos (8bits): Similar al campo tiempo de vida del IPv4 – Disminuye en cada salto • Direcciones de origen y destino (16 bytes cada una): a diferencia 5. Protocolo IP v6 de IPv4 las direcciones son de 16 bytes (en lugar de 4 bytes) • Diferencias con IPv4: – Campo IHL desaparece ya que ahora la cabecera es de longitud fija – Campo protocolo desaparece, el campo siguiente cabecera especifica lo que sigue a la última cabecera IP (p ej. Un segmento UDP o TCP) – Desaparecen todos los campos referentes a la fragmentación • Host y enrutadores deben reconocer paquetes de 576 bytes • En caso de que paquete muy grande se devuelve mensaje de error que indica al host el tamaño para ese destino. – Suma de comprobación (checksum) desaparece de la capa de red Curso 2002-2003 - Redes (IS20) -Capítulo 7 50 25