1 de 23 Tema 4. El Protocolo Interred IP Enrique Alba Torres Universidad de Málaga (UMA)
2 de 23 Resumen de Contexto. TCP/IP 1969. DARPA financió ARPANET (I+D, red S&F). Objetivos: estudio de técnicas robustas, fiables e independientes del fabricante. 1975. ARPANET es operativa. INTERNET = [ARPANET + CSNET + MILNET] (1983) + NSFNET (1986). La mezcla de usuarios, software y hardware hacen cambiar la filosofía de trabajo de los protocolos de comunicación: IP que puede ejecutarse con requisitos mínimos. TCP para conexiones duraderas y libres de errores. UDP para conexiones puntuales (posibles errores). <encaminamiento, control de la red, aplicaciones,...> 1983. TCP/IP se adopta como estándar militar (MIL STD). DARPA fundó BBN para incluir TCP/IP en el UNIX Berkeley.
3 de 23 Características de TCP/IP Conjunto de protocolos estándares, de libre disposición e independientes de la máquina y del S.O. Ideal para interconexión de sistemas distintos: internets intranets Direccionamiento estándar a nivel de red y de transporte: Direcciones IP Direcciones de Puerto Facilidad para trabajar como red dorsal. ETHERNET ROUTER IP TOKEN RING ROUTER IP X.25 Conjunto de estándares para aplicaciones: Terminal Virtual Gestión de una Red Correo Electrónico Servicio de Nombres Transferencia de Ficheros Tr. Páginas Hiper-Texto
4 de 23 Estándares de Protocolo La Naturaleza abierta de TCP/IP requiere de mecanismos flexibles y públicamente consensuados: Request For Comments (RFC s). RFC-768: RFC-791: RFC-792: RFC-793: RFC-821: RFC-826: RFC-854: RFC-959: RFC-1035: RFC-1058: RFC-1094: RFC-1360: User Datagram Protocol Internet Protocol Internet Control Message Protocol Transmission Control Protocol Simple Mail Transfer Protocol Ethernet Address Resolution Protocol Telnet Protocol Specification File Transfer Protocol Domain Name Service Routing Information Protocol Network File System Protocol IAB Official Protocol Standards
5 de 23 El Modelo de Referencia OSI Comunicación de Datos en TCP/IP Nivel de Aplicación Protocolos de aplicación que usan la red Nivel de Presentación Semántica, sintaxis, compresión, seguridad Nivel de Sesión Maneja sesiones entre las aplicaciones Nivel de Transporte Comunicación extremo-a-extremo Nivel de Red Encaminamiento, CdC, Interconexión de R. Nivel de Enlace Tr. de datos confiable por el enlace físico Nivel Físico Características físicas del medio de transm. Arquitectura TCP/IP Aplicación HTTP FTP telnet finger DNS POP3/MAP SMTP BGP time/ntp whois SSL DNS SNMP RIP traceroute tftp ping Transporte TCP UDP ICMP OSPF Interred IP ARP Acceso a la Red Ethernet/802.3 Token Ring/802.5 X.25 FDDI ISDN Frame Relay ATM Wireless (802.11) SONET/SDH PPP HDLC SLIP/CSLIP xdsl Cable Modem...
6 de 23 Introducción a IP El Protocolo Interred (IP, RFC-791) realiza el reparto básico de datagramas (intra/inter-red). IP porporciona un servicio sin conexión no fiable pero best effort. Todos los datos fluyen a través de IP. Debe estar implementado en los hosts y en los encaminadores (routers o gateways). RFC 894: IP over Ethernet Networks RFC 1088: IP over NETBIOS RFC 1188: IP over FDDI RFC 1331: Point to Point Protocol (PPP) RFC 1356: IP over X.25 Networks Las principales funciones de IP incluyen: Gestionar el envío/recepción de datagramas. Gestionar el esquema de direccionamiento. Gestionar el tráfico entre la capa de acceso a la red y la de transporte. Encaminar adecuadamente los datagramas a los hosts destino. Gestionar la fragmentación/reensamblado de datagramas.
7 de 23 Encaminamiento de Datagramas en IP Encaminamiento a través de gateways usando IP: Host A1 Host C1 Aplicación Aplicación Transporte Interred Gateway G1 Interred Gateway G2 Interred Transporte Interred Acceso a Red Acceso a Red Acceso a Red Acceso a Red Red A Red B Red C Interconexión de redes (conversión frente a tunneling): Token Ring G1 A1 X.25 Ethernet G2 C1
8 de 23 Algoritmo de Encaminamiento de Datagramas en IP Algoritmo de Encaminamiento básico de un router IP: 1. Extraer la dirección IP destino del datagrama. 2. Determinar el identificador de red (NET-ID). 3. Si NET-ID es una red alcanzable directamente: Enviar el datagrama al destino (ARP). 4. Si no, si hay una ruta específica en OPCIONES: Enviar según la ruta específica. 5. Si no, si NET-ID aparece en la tabla de encaminamiento: Enviar según la tabla de encaminamiento. 6. Si no, si hay un gateway por defecto: Enviar al gateway por defecto. 7. En otro caso Error de Encaminamiento (ICMP).
9 de 23 Fragmentación de Datagramas en IP Cada red tiene asociado un valor de unidad máxima de transmisión o MTU. Si un gateway necesita pasar un datagrama largo por una red de menor MTU debe fragmentar. Un bit controla si la fragmentación es posible o no: DF: Si DF está inactivo es posible fragmentar. Si DF está activo ICMP devolverá un error ( destino inalcanzable ). El reensamblado se realiza en el host destino. El reensamblado utiliza el campo de IDENTIFICACIÓN y de OFFSET de cada datagrama fragmento (entre otros campos).
10 de 23 Transferencia de Datagramas a la Capa de Transporte Cada datagrama debe ser entregado a un protocolo de transporte. El protocolo de transporte receptor viene codificado en el propio datagrama. Los protocolos de transporte típicamente son: TCP (#6) UDP (#17) Otros protocolos usan también a IP, tales como ICMP y OSPF. Nivel de Aplicación Datos Nivel de Transporte Cabecera Datos Nivel Interred Cabecera Cabecera Datos Nivel de Acceso a Red Cabecera Cabecera Cabecera Datos CABECERA DE LA CAPA DE ENLACE CABECERA IP CABECERA TCP INFORMACIÓN DE LA APLICAC.: FTP, SMTP, TELNET,... COLA DE LA CAPA DE ENLACE
11 de 23 VERSIÓN: Versión del protocolo a la que pertenece el datagrama (4). IHL: Longitud de la cabecera en palabras de 32 bits. El valor mínimo es 5. TIPO DE SERVICIO: Combinación de fiabilidad y velocidad (sugerido). LONGITUD TOTAL: Longitud de todo el datagrama. El máximo es 65.535 bytes. IDENTIFICACIÓN: Número del datagrama original al que pertenece. INDICADORES: Reservado + DF + MF. OFFSET DEL FRAGMENTO: Situación en el datagrama original (13 bits). TIEMPO DE VIDA: Contador (s) que cuando cae a 0 hace que se destruya el dat. PROTOCOLO: Protocolo de transporte receptor del datagrama (TCP, UDP,...). CHECKSUM DE LA CABECERA: Para verificar sólo la cabecera. DIRECCIONES FUENTE Y DESTINO: Direcciones IP de los extremos. OPCIONES: Seguridad, E.F., informe de errores, depuración, time stamping, etc.
12 de 23 Formato de Direcciones en IPv4 A (128 REDES CON 16 MILLONES DE HOSTS CADA UNA) 1 7 24 0 RED HOST 1.0.0.0 a 127.255.255.255 B (16.384 REDES CON HASTA 64 K HOSTS) 1 1 14 16 1 0 RED HOST C (2 MILLONES DE REDES CON 256 HOSTS) 1 1 1 21 8 1 1 0 RED HOST D (MULTICAST: UN DATAGRAMA PARA UN GRUPO DE HOSTS) 1 1 1 1 28 1 1 1 0 DIRECCIÓN DE MULTICAST 128.0.0.0 a 191.255.255.255 192.0.0.0 a 223.255.255.255 224.0.0.0 a 239.255.255.255 Clase E reservada para uso futuro (1111) 240.0.0.0 a 255.255.255.255
13 de 23 Direcciones Especiales en IPv4 ESTE ORDENADOR 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 UN ORDENADOR EN ESTA RED 0 0... 0 0 HOST DIFUSIÓN EN ESTA RED 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 DIFUSIÓN EN UNA RED REMOTA NETWORK 1 1 1 1... 1 1 1 1 LOOPBACK 127 (ANYTHING)
14 de 23 IPv4: Direcciones y Nombres Para facilitar el uso de direcciones IP: notación punto. DIRECCIÓN IP: 150.214.98.4 NOMBRE: tecma1.ctima.uma.es Nombres Direcciones Conversión nombre-dirección fáciles para las personas. adecuadas para el ordenador. DNS. Nombrado jerárquico basado en dominios (dominios USA) : COM - Compañías, con o sin ánimo de lucro. EDU - Instituciones educativas. GOV - Agencias no militares. MIL - Organizaciones Militares. ORG - Cualquier otra organización. Posteriormente se crearon nuevos dominios: DE (Alemania), ES (España), NET,... uma.es Subdominio (nivel 1) lcc.uma.es Subdominio (nivel 2) pepe@lcc.uma.es Usuario
15 de 23 Protocolo de Mensajes de Control de la Interred (ICMP) Hosts y gateways controlan la red. ICMP: tests y anomalías. Los mensajes ICMP viajan en datagramas IP: DESTINATION UNREACHABLE: Destino no localizable o fragmentación imposible. TIME EXCEEDED: Bucles, congestión o temporizadores demasiado breves. PARAMETER PROBLEM: Se ha detectado un valor ilegal en un campo de la cabecera. SOURCE QUENCH: El host que lo recibe debería calmar su tráfico. REDIRECT: Usado cuando un gateway detecta que un paquete está mal encaminado. ECHO REQUEST/REPLY: Usado para ver si el destino es alcanzable y está operativo ( vivo ). TIMESTAMP REQUEST/REPLY: Idem, pero se almacena el tiempo de recepción y el de partida. OTROS: direccionamiento entre subredes,...
16 de 23 Protocolo de Resolución de Direcciones (ARP) ARP traduce una dirección IP a una dirección física (RFC 826). Inicialmente funcionaba sólo sobre Ethernet (48 bits físicos). Es necesario porque el nivel IP usa direcciones de red, mientras que las tramas de enlace deben incluir la dirección física. A Z? Z! Z 111...1-A -ARPrequest(Z) A -Z -ARPreply(Z) Mensaje ARP directam. en trama LAN: ARP independiente de IP. Existen protocolos asociados de funcionamiento complementario: RARP: para que una estación sin disco traduzca su dirección MAC a dirección IP ATMARP y ATMInARP: para traducir direcciones IP en/desde identificadores de caminos/canales virtuales.
17 de 23 Protocolo de Encaminamiento para Redes: RIP, OSPF y BGP IP extrae de la dirección destino NET-ID para encaminar. Las tablas de encaminamiento las manejan protocolos específicos, no IP. Existen tres protocolos específicos relacionados con IP: RIP-2 (RFC 2453) usa UDP para ejecutar Bellman-Ford distribuido. Se utiliza el número de saltos como métrica. Es ineficiente en Internet, pero se usa en redes locales (NetWare, AppleTalk,...). OSPF-2 (RFC 1247) usa directamente a IP para encaminar usando el estado de los enlaces sólo cuando hay cambios (no tablas completas como hace siempre RIP): robusto, rápido, converge y escala bien. BGP-4 (RFC 1771) es un protocolo entre pasarelas exteriores que usa TCP para intercambiar información de encaminamiento entre dominios de Internet. Usa un algoritmo vector-distancias y almacena la ruta completa hasta el destino. Permite también usar políticas de administración para decisiones de encaminamiento. Se puede acceder a las tablas (podrían ser estáticas también): Windows: route print UNIX: netstat -r
18 de 23 Necesidad de IPv4 ha sido implementado con éxito en muchos SO s. IPv4 (RFC 791) fue publicado en 1981 y además de tener puntos débiles es incapaz de soportar el ritmo de crecimiento de Internet. Algunos de sus problemas son: Campo de direcciones de 32 bits (se está agotando). Pocas prestaciones en relación a la seguridad. Ausencia de soporte para flujos de tráfico en tiempo real y voz. La solución es adoptar un nuevo estándar: (o IPng), RFC 1726. IPv5 fue asignado a Internet Stream Protocol v2 (ST2), RFC 1819. ST2 fue desarrollado como una extensión adicional de IP para soportar el transporte de datos multimedia en tiempo real. Los criterios de diseño para han sido: Escalabilidad: identificar 10 12 estaciones y 10 9 redes. Flexibilidad topológica: nueva arquitectura y encaminamiento. Transición: debe contemplarse el paso de IPv4 a. Independencia del medio: LAN/MAN/WAN y AdB variados. Configuración automática de routers y hots. Operación segura: el nivel de red debe proveer seguridad. Movilidad: capacidad para evolucionar ante nuevos servicios.
19 de 23 1-32 33-64 65-193 194-322 Datagrama de Versión Prioridad Etiqueta de Flujo Longitud de la Carga Útil 32 bits Siguiente Cabecera Dirección Origen Dirección Destino Límite de Saltos VERSIÓN. (4 bits) Identifica al protocolo. Tiene valor 6. PRIORIDAD. (4 bits) La fuente asigna prioridad a sus datagramas. El tráfico más importante puede así ser entregado rápido (si congestión). ETIQUETA DE FLUJO. (24 bits) Flujos que necesitan tratamiento especial. LONGITUD DE LA CARGA ÚTIL. (16 bits) Tamaño neto: de 576 a 65.535 octetos. Pueden existir datagramas de más de 64 Kb (Jumbo Payload Option). SIGUIENTE CABECERA. (8 bits) Cabecera que sigue a la de. Puede tratarse de la cabecera de TCP, UDP, o una Cabecera de Extensión de. LÍMITE DE SALTOS. (8 bits) Tiempo de vida limitado en número de saltos. DIRECCIONES. (128 bits cada una). Identifican a la fuente y al destino.
20 de 23 Cabeceras Opcionales en Aunque la dirección es 4 veces más larga que en IPv4 la cabecera de es sólo dos veces mayor: 40 octetos frente a los 20 de IPv4. Muchas funciones se llevan a la parte opcional de próxima cabecera, permitiendo que los routers manejen datagramas más rápido; p. ej. la fragmentación causa sobrecarga sólo cuando se utiliza, no siempre. Un datagrama tiene 0 o más cabeceras opcionales encadenadas: Opciones Salto-a-Salto: Contiene información que debe examinar cada nodo hasta el destino, incluido éste. Opciones del Destino: Sólo el destino debe inspeccionar esta parte. Encaminamiento: Especifica el camino completo hasta el destino. Fragmentación: La fuente divide mensajes grandes en fragmentos que puedan manejar los nodos intermedios hasta el destino. Autentificación: Verifica el origen y proporciona integridad de datos mediante esquemas como el Message Digest 5 (MD5). Carga Segura: Información confidencial usando DES por ejemplo.
21 de 23 Direcciones en Direcciones de 128 bits (RFC 1884). Existen 3 tipos: Unicast: Comunicación punto a punto (tradicional). Anycast: Miembro más cercano de un grupo. Por ejemplo, un router (el más cercano) podría recibir un dato y encargarse él de repartirlo. Multicast: Comunicación uno a muchos del mismo grupo. Las transmisiones están limitadas por un campo interno (alcance). El tipo de dirección lo define un prefijo que tiene toda dirección. IPv4 usa la notación dotted decimal, mientras que no (RFC 1884): X:X:X:X:X:X:X:X donde X son cuatro dígitos hexadecimales (16 bits) IPv4: 11000000 00011000 00000000 00000000 192.24.0.0 : FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 Todavía queda mucho espacio vacío en direcciones con muchos ceros: 1080:0000:0000:0000:0008:0800:200C:417A puede simplificarse: 1080:0:0:0:8:800:200C:417A o bien a 1080::8:800:200C:417A
22 de 23 Migración Hacia Para migrar de IPv4 a se usarán túneles: el datagrama viaja DENTRO del datagrama IPv4 como si fuese cualquier otro protocolo que está usando a IPv4 para transmitir sus datos. No hay traducción! Los protocolos RIP, OSPF y DNS deben ser modificados para utilizar direcciones de 128 bits. Los estándares de programación como BSD socket deben modificarse para trabajar con las nuevas direcciones y campos como prioridad y etiqueta de flujo. Los sistemas operativos deben también modificarse para aprovechar las ventajas de : AIX, Netware, Solaris, Digital UNIX, Linux, NT,... Existen nuevos protocolos asociados a nuevas aplicaciones sobre todo de tipo plug-and-play. Hay una red mundial de pruebas denominada 6bone para experimentar con antes de comercializar aplicaciones finales. Más información sobre en http://www.ipv6.nas.nasa.gov
23 de 23 Redes de Computadoras (3ª edición) Tanenbaum, A.S. Prentice-Hall. 1997. Computer Networks and Internets (2 nd edition) Comer, D.G. Prentice-Hall. 1999 Internetworking with TCP/IP (Vol. 1) Comer, D.E. Prentice-Hall. 1991. A Guide to the TCP/IP Protocol Suite Wilder, F. Artech House. 1993.