Tema 0: El protocolo IP Redes de Computadores Interconexión n de redes Interconexión n de redes 2 Formato de un datagrama 2 Fragmentación n de datagramas 3 Encaminamiento 3 Tablas de encaminamiento Algoritmo de encaminamiento 4 Procesamiento de un datagrama IP 5 Problemas con el direccionamiento IP 6 IP versión n 6 (IPv6) Computadores (hosts) LA/WA R LA/WA R LA/WA redes IP pasarelas Bibliografía:[CO a:[co M 96](Temas 7,8,0 y 29) 2 Arquitectura de redes TCP/IP Funcionamiento de IP Tres tipos de servicios, con dependencias entre ellos: ervicios de aplicación ervicio de transporte fiable ervicio de entrega de paquetes sin conexión ervicio sin conexión (datagrama) o hay garantía de entrega Entrega desordenada IP realiza las funciones de encaminamiento IP establece: Unidad básica de transferencia de datos: datagrama Formato, reglas de procesamiento de paquetes, condiciones de error, etc 3 4
2 Formato de un datagrama IP Descripción n de los campos (I) El datagrama se envía encapsulado en el campo de datos de una trama: cabecera campo de datos del datagrama 6 6 2 46-500 4 destino fuente tipo (0x800) campo de datos de la trama CRC cabecera 0 4 8 6 9 24 3 vers longc tipo servicio longitud total identificación flags offset fragmento tiempo vida protocolo checksum de la cabecera dirección IP fuente dirección IP destino opciones IP (variable) relleno DATO 5 6 Descripción n de los campos (II) Tipo de servicio Primer campo (4 bits): versión del protocolo IP Longitud de la cabecera: tamaño de la cabecera del datagrama en palabras de bits (valor mínimo = 5) Longitud total del datagrama: se expresa en octetos, incluye tanto la cabecera como el área de datos Tamaño máximo = 65535 octetos Permite al usuario solicitar las condiciones deseadas de retardo, ancho de banda y fiabilidad bits 0,,2: prioridad del datagrama bit 3: bajo retardo bit 4: alta velocidad bit 5: elevada fiabilidad Estos valores pueden servir de ayuda en las decisiones de encaminamiento Pero no se garantiza el tipo de servicio requerido 7 8
2 Fragmentación n de datagramas (I) Fragmentación n de datagramas (II) Los datagramas IP deben ser transmitidos a través del servicio que proporciona la red física a la que está conectado el computador Todas las redes imponen limitaciones al tamaño máximo de los paquetes (MTU: Maximum transfer Unit) MTU en Ethernet: 500 bytes (campo de datos) i el datagrama cabe en una trama no hay segmentación (datagrama<=mtu) Los datagramas excesivamente grandes se dividen para su transmisión, dando lugar a fragmentos El problema se presentará en el tránsito entre dos redes físicas distintas fragmentarán los routers Al fragmentar un datagrama se copian la mayoría de los campos de la cabecera: El campo de identificación, distinto para cada datagrama, permite identificar todos los fragmentos de un mismo datagrama El desplazamiento del fragmento (en múltiplos de 8 bytes) indica la posición del fragmento dentro del datagrama original 9 0 Fragmentación n de datagramas (III) Reensamblado de datagramas El campo longitud en un fragmento indica la longitud de dicho fragmento Dos bits en el campo de flags: Do not fragment (DF): El datagrama no puede ser fragmentado More fragments (MF): El fragmento no es el último de la serie ólo se reensambla en el destino e tienen en cuenta los campos de dirección fuente, identificación, flags y desplazamiento de fragmento El destino activa un temporizador cuando se recibe el primer fragmento de un datagrama i llegan todos los fragmentos antes de que venza el temporizador el datagrama se ensambla y posteriormente se procesa En caso contrario, los fragmentos ya recibidos se descartan 2
Ejemplo Tiempo de vida Host A Red MTU=500 Red 2 MTU=620 Router Router 2 Red 3 MTU=500 Host B Fragmentación en el router al enviar datagramas superiores a 600, desde el host A hasta el host B lon total 420 lon total 620 lon total 620 identific identific identific DF=0 MF=0 DF=0 MF= DF=0 MF= datos (600 octetos) offset 0 offset 75 (600) datos 2 (600 octetos) datos datos 2 datos 3 (200 octetos) MTU = 500 octetos MTU = 620 octetos Los datagramas tienen un tiempo limitado de permanencia en la internet alidad: Evitar que, por un mal encaminamiento, estén dando vueltas en la Internet sin alcanzar el destino Cada retransmisión del datagrama (en cada pasarela) debe decrementar ese campo Al llegar a cero el datagrama se descarta y ya no es retransmitido lon total 220 identific DF=0 MF=0 offset 50 (200) datos 3 3 4 El campo protocolo Otros campos de la cabecera IP El campo protocolo indica el protocolo del nivel superior al que van destinados los datos e utiliza para demultiplexar los paquetes UDP TCP IP ICMP El checksum incluye sólo la cabecera El cálculo del checksum se obtiene Tomando los bytes de la cabecera como enteros de 6 bits umándolos con aritmética de complemento a uno Tomando el complemento a uno de la suma 5 6
El campo de opciones 3 Encaminamiento en IP (I) o siempre está presente y se incluye con propósitos de verificación del funcionamiento de la red Tiene longitud variable Determina el tamaño del campo de relleno Dependiendo del tipo de opción se replicará en uno o en todos los fragmentos de un datagrama Permiten al emisor de un datagrama: olicitar un registro de los diferentes routers por los que pasa el datagrama en su tránsito hacia el destino Especificar la ruta a seguir por el datagrama olicitar un registro del instante en que el router procesa el datagrama Dos hosts pueden comunicarse directamente mediante tramas sólo si comparten la misma red IP (diálogo directo) En ese caso, el emisor encapsula el datagrama en una trama, averigua la dirección física del destino (ARP) y le envía directamente la trama Cuando el destino no está en la misma red que el origen hay que enviar el datagrama al router (diálogo indirecto) El proceso es parecido pero ahora la dirección física destino es la del router Cómo sabemos en qué caso estamos? 7 8 Encaminamiento en IP (II): Ejemplo 3 Tablas de encaminamiento (I) 580 A B A C Host A 5802 cabecera tram a Red 5800 Router Hw dest B Hw orig A 0x800 Hw dest R Hw orig A 0x800 2500 Red 2 25000 Host B datagram a IP cabecera IP 5802 Host C IP dest B IP orig A datos IP dest C IP orig A datos 25003 Elemento primordial en el encaminamiento IP Contienen información sobre los posibles destinos y cómo llegar a ellos Dónde están? En routers y hosts Cómo deben ser? Compactas y pequeñas (en la medida de lo posible) para un funcionamiento más eficiente ólo con información sobre redes destino y sobre pasarelas que nos conducen a éstas Hw dest C Hw origr 0x800 IP dest C IP orig A datos 9 20
Tablas de encaminamiento (II) Tablas de encaminamiento (III): ejemplo Tipos de entradas en la tabla de encaminamiento: Parejas (dir red destino, router siguiente (next hop)) Todo el tráfico a la misma suele seguir el mismo camino La ruta de A a B puede diferir de la de B a A Rutas por defecto: o aparece la red destino explícitamente en la tabla Útil cuando la conexión al resto de la internet es única Ruta específica para alguno hosts determinados Responde a propósitos de control y seguridad 425802 Red 425800 Router 200 2 Host A Red 2 2000 Router 2 2003 Tabla de encaminamiento del host A destino router 2000 entrega directa 425800 200 default 2003 5003 Red 3 5000 5006 Tabla de encaminamiento del router 2 destino 5000 entrega directa 2000 entrega directa 425800 Router 3 9600 ruta 200 96000 5006 Red 4 96000 2 22 Encaminamiento de IP en los routers Algoritmo de encaminamiento IP (I) Es la función más importante de IP Los routers intercambian información para mantener actualizadas las tablas de encaminamiento o ningún protocolo obligatorio para actualizar las tablas de encaminamiento de IP Hay varios (se denominan IGP: Interior Gateway Protocol) Los más populares: RIP: Routing Information Protocol (protocolo de vector de distancias) OPF: Open hortest Path First (protocolo de estado del enlace) 2 Extraer prefijo de red R diálogo directo? Consultar tabla de encaminamiento Ruta específica datagrama? Ruta específica para R? 2 Ruta por defecto? Error Enviar los datos 23 24
4 Procesamiento de un datagrama IP Reensamblar Pasar a nivel superior Inicio Checksum IP datag = Host Es un fragmento Primero Todos Descartar datagrama Activar Temporizador Almacenar Procesamiento de un datagrama IP en un router Pasar a nivel superior Descartar datagrama Inicio Checksum IP dest = Router TTL=TTL - TTL = 0 Encaminar Datagrama (Consulta tabla) Tamaño >MTU Calcular Checksum Enviar datagrama Más fragmentos Fragmentar iguiente fragmento 25 26 Procesamiento de un datagrama IP 5 Problemas con el direccionamiento IP Es necesario tener en cuenta que: Un ordenador (host o router) con múltiples conexiones de red tendrá varias direcciones IP, y habrá que comprobarlas todas para ver si él es el destino Hay que considerar también las direcciones de difusión como direcciones destino propias Las direcciones de bucle (27***) también se consideran direcciones propias El crecimiento exponencial de Internet ha provocado serios problemas a la hora de asignar direcciones Los routers requieren tablas de encaminamiento excesivamente grandes El direccionamiento tradicional con clases de tipo A y B proporciona un uso ineficiente de las direcciones o es habitual conectar 2 24 ó2 6 hosts a una misma red local Cada vez quedan menos direcciones disponibles (sobre todo de tipo A y B) Con el fin de aliviar estos problemas se han propuesto algunas técnicas como subnetting y supernetting 27 28
ubredes (ubnetting( ubnetting) uperredes (upernetting( upernetting) Una de las soluciones que se proponen consiste en fragmentar una red IP en subredes (ubnetting) Para que esto no signifique modificar IPs se utilizan máscaras de red Máscara de red B estándar: 00000000 00000000 30700 Máscara de subred : 00000 00000000 30700 Hasta 8 subredes de 2 3 hosts Router Router 30700 LA LA LA 307280 LA 307640 3070 Agrupa direcciones consecutivas de redes de clase C para asignarlas a una red IP Esto permite asignar espacio de direcciones a organizaciones según sus necesidades Mejor uso del espacio de direcciones IP Ejemplo: 9340280 9340290 9340420 9340430 Máscara: 2552552400 ó 9340280 /20 00000 000000 0000000 00000000 00000 000000 000000 00000000 00000 000000 0000 00000000 00000 000000 000 00000000 Dirección red 9340280 º de Hosts 4094 29 30 CIDR (Classless( Inter-Domain Routing) 6 IPv6: Por qué una nueva versión? Permite reducir el tamaño de las tablas de encaminamiento de los routers Añade la información de máscara a las tablas de encaminamiento ITERET Router A 9340280 /22 Router B 2000 /8 Router C Omisión Internet 9340280 /22 Directa Omisión Router A Router B Router C 207640 /24 Directa 207650 /24 Directa 207660 /24 Directa Omisión Router A LA LA LA LA 9340280 /24 9340290 /24 9340300 /24 934030 /24 207640 /24 207650 /24 207660 /24 3 Internet está creciendo exponencialmente (su tamaño se dobla en menos de un año) Las direcciones se están agotando: e necesita un espacio de direcciones mucho más amplio Direcciones de 28 bits 6 0 23 direcciones por m 2 de la Tierra Formato de cabecera más flexible: Menos campos fijos que en IPv4 Cabeceras de extensión opcionales oporte de tráfico multimedia Permite definir flujos de tráfico con distintos niveles de prioridad Integración de servicios de seguridad Autentificación (MD5), cifrado (DE), etc
Direcciones IPv6 Direcciones IPv6: : otación Direcciones IP de 6 bytes o hay clases de direcciones La separación entre prefijo (red) y sufijo (host) puede estar en cualquier sitio o se deduce de la propia dirección, siempre hay que indicar la longitud del prefijo (máscara de red) Direcciones especiales Unicast: dirección de un computador Multicast: dirección de un grupo de computadores (todos) Anycast: dirección de un grupo de computadores (uno cualquiera del grupo) otación: Demasiado larga en decimal 04230400025525525525500728500255255 e utilizará representación hexadecimal 68E6:8C64:FFFF:FFFF:0:80:96A:FFFF Los campos consecutivos a 0 pueden comprimirse: FF05:0:0:0:0:0:0:B3 FF05::B3 El símbolo :: sólo puede aparecer una vez en una dirección Incorpora direcciones de IPv4: ::2802 El símbolo :: sólo puede aparecer una vez en una dirección Las direcciones pueden varios niveles de jerarquía 00 Id Proveed Id suscriptor Id subred Id nodo 33 34 IPv6: Cambios en las cabeceras IP Transición n de la v4 a la v6 Cabecera IPv4: Version IHL Type of ervice Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum ource Address Destination Address Options Padding Cabecera IPv6: Version Priority Flow Label Payload Length ext Header Hop Limit ource Address Destination Address Espacio de direcciones cuadriplicado Cabecera de tamaño fijo (extensiones de cabecera opcionales) o hay Checksum (Relegado al nivel de enlace) o hay fragmentación (Descubrimiento de mínimo MTU) Etiqueta de flujo/prioridad (Calidad de servicio) e ha previsto una fase de transición, durante la que puedan convivir ambos protocolos Durante el transitorio: Las direcciones antiguas pueden codificarse fácilmente como direcciones nuevas e permitirán dispositivos capaces de encaminar paquetes IPv6 e IPv4 Las estaciones podrán utilizar los dos protocolos El empleo de túneles permitirá encapsular tráfico IPv6 que tiene que atravesar zonas IPv4 36