Informática Técnica de Gestión Redes de ordenadores IP Grupo de sistemas y comunicaciones jjmunoz@gsyc.inf.uc3m.es Redes de ordenadores, 1998-1999 Página 1 Informática Técnica de Gestión 3 2. IP: Nivel de red Internet Protocol es un protocolo no orientado a conexión, no fiable y sin corrección de errores. Cada máquina tiene uno o varios interfaces, cada uno con su dirección única en todas las redes interconectadas. Los mensajes viajan en trozos llamados datagramas, cada uno con las direcciones de las máquinas origen y destino, que se encapsulan en la tecnología de red subyacente. Cuando no hay conexión directa, se envía el datagrama con la dirección IP destino pero en una trama con la dirección de enlace del router (el definido en esa máquina para esa dirección destino o uno por defecto). El datagrama atravesará las redes necesarias: El camino seguido puede ser diferente en función del tráfico de los enlaces. Incluso entre datagramas consecutivos con las mismas direcciones el camino puede ser diferente. La comunicación es extremo a extremo. Los datagramas pueden perderse, llegar en un orden diferente al de envío, llegar duplicados... Incluso por el camino pueden haber sido troceados. Redes de ordenadores, 1998-1999 Página 2 Informática Técnica de Gestión 3 2.1 Formato del Datagrama 0 1 2 3 4 Versión (4) 3 1 IHL (4) TOS (type of service)(8) Identificador (16) TTL (time to live)(8) Longitud total (16) Flag (3) Protocolo (8) Offset de fragmento (13) Checksum de la cabecera (16) Dirección Origen (32) Dirección Destino (32) Opciones Padding Datos Redes de ordenadores, 1998-1999 Página 3 Informática Técnica de Gestión 3 2.2 Campos del datagrama Versión: del protocolo IP (actualmente la 4) que construyó el datagrama: se comprueba para que ambos extremos hablan lo mismo. IHL: Longitud de la cabecera (en palabras de 32 bits) (sin opciones habitualmente = 20 octetos => 5) TOS: Tipo de servicio 0 1 2 prededence 3 4 5 low delay high througput reliability 6 7 not used Longitud total: número de octetos del datagrama completo (hasta 65535) Identificador, Flags y offset de fragmento: Cuando se encapsula a nivel 2 (en principio no se sabe el tamaño de trama), a veces hay que descomponer en datagramas menores, cada uno con un número único (para saber qué fragmentos son de qué trama) y un desplazamiento. Los flags pueden indicar que no es fragmentable o si siguen más fragmentos o se trata del último. TTL: número de saltos permitidos: se decrementa en cada router, y si llega a 0 se descarta y se manda un mensaje ICMP a origen. Protocolo: Es un número que define el contenido del datagrama /etc/protocols: # Internet (IP) protocols ip 0 IP # icmp 1 ICMP # ggp 3 GGP # tcp 6 TCP # egp 8 EGP # pup 12 PUP # udp 17 UDP # hmp 20 HMP # rdp 27 RDP # internet protocol, pseudo protocol number internet control message protocol gateway-gateway protocol transmission control protocol exterior gateway protocol PARC universal packet protocol user datagram protocol host monitoring protocol "reliable datagram" protocol N° Redes de ordenadores, 1998-1999 Página 4 Informática Técnica de Gestión 3 2.3 Encapsulamiento de IP sobre Ethernet El encapsulado de IP sobre Ethernet se define en la RFC 894 (y sobre 802.3 en la 1042). Datos de TCP o UDP Datos del datagrama IP Datos de la trama Ethernet MTU ( 1500): Es el tamaño en bytes de la parte de datos de la trama. Conocerlo, aunque viole el modelo OSI, aumenta la eficiencia al enviar IP. Pero en otros enlaces puede ser menor: 512 en PPP, o mayor (8K en Token Ring). En ese caso será el router que no pueda mandar el datagrama completo en una entidad de nivel inferior el que lo fragmente en trozos que no se volverán a recomponer hasta llegar a la máquina destino. Si el datagrama va la misma red, se localiza la dirección Ethernet de la máquina destino y se manda en tramas a esa dirección el datagrama entero (sólo trocea si es necesario). Si el datagrama va a otra red, se envía al router más adecuado, como si fuese el destinatario (a nivel MAC). N° Redes de ordenadores, 1998-1999 Página 5 Informática Técnica de Gestión 3 2.4 Direcciones IP Siempre son de 4 bytes (IPv4), que se dividen entre la dirección de red y la dirección del ordenador. Notación punto: Se representa cada byte en decimal, separados por . ej: 128.110.56.9 Cada ordenador tiene una dirección por interfaz de red. Y para los humanos se le da un nombre, de manera que sea cómodo referirse a la máquina por uno de sus nombres. Además de ese nombre principal, cada interfaz puede tener una lista de alias o nombres alternativos. Para asociar el nombre a la dirección los sistemas operativos incorporan funciones específicas (get_host_byname()). Las tablas donde se relacionan los nombres de cada dirección pueden estar localmente en cada ordenador o puede consultarse a servidores (de DNS o NIS). Si no se pretende conectar una red a internet, la elección de las direcciones puede decidirla el administrador de la red. En todo caso la RFC 1597 reserva ciertas direcciones para su uso en redes privadas: 10.0.0.0, 16 Bs y 256 Cs. InterNIC (Internet Network Information Center) es la “autoridad” que se encarga de asignar y registrar direcciones y nombres de dominio a las entidades que deseen conectar sus máquinas a Internet. El NIC (nic.ddn.mil) desde el 1 de abril de 1993 se limita a DDN. El InterNIC asigna direcciones de red, el administrador local las de máquina. Direcciones de InterNIC: rs.internic.net (servicios de registro), ds.internic.net (bases de datos), is.internic.net (servicios de información). N° Redes de ordenadores, 1998-1999 Página 6 Informática Técnica de Gestión 3 2.5 Tipos de direcciones A 0 7 24 De 1 a 126 es el valor de la red (0 y 127 están reservados) Cada una de esas redes puede tener 256x256x256-2=16.777.124 ordenadores. B 10 14 16 128 a 191 como primer byte de red: 64*256=16384 redes Cada red tiene 256*256-2=65534 ordenadores C 110 21 8 El primer byte puede valer desde 192 a 223. Puede haber hasta 32x256x256=2097152 redes, cada una de ellas de 254 ordenadores. D (multicast) 1110 28 Los ordenadores pueden incorporarse a un grupo con IGMP. La dirección 224.0.0.0 está reservada. E (uso futuro) 11110 N° Redes de ordenadores, 1998-1999 Página 7 Informática Técnica de Gestión 3 2.6 Subnetting La división de los 32 bits entre red y ordenador ha provocado que el espacio de direcciones se llene, pese a los 4Gordenadores que potencialmente podrían conectarse. Además es difícil que una red de tipo A tenga realmente en la misma red todos los ordenadores posibles. La descomposición de una red en subredes permite que más bits sean empleados como dirección de red y menos como dirección de ordenador y/o para descomponer la red en subredes de menor tamaño. red subred ordenador Se define una máscara de red como una combinación de 32 unos y ceros, con los que se hace una operación AND con la dirección de 32 bits. El resultado se compara con la propia dirección de cada uno de los interfaces de red, para determinar a cual pertenece. La combinación de bits puede ser cualquiera (alternando unos y ceros...), pero por comodidad se emplea una secuencia de unos seguida de otra de ceros, y habitualmente respetando la descomposición en bytes. Así una dirección de tipo B como la 128.110.56.9 puede equivaler a una subred similar a una C (128.110.56), de manera que hay hasta 255 subredes (128.110.1, ...) La máscara en este caso es 255.255.255.0. N° Redes de ordenadores, 1998-1999 Página 8 Informática Técnica de Gestión 3 2.7 Definición del interfaz 127.0.0.1 es una dirección fija (debe existir en toda máquina) que representa el loopback, que es un interfaz virtual con el que la máquina se conecta consigo mismo (por ejemplo para comprobar la configuración). Las direcciones que tienen puesto a todo unos (antes era todo a ceros) la dirección de máquina, son de broadcast: el mensaje va destinado a todos los ordenadores de la red. Así un mensaje enviado a 128.2.255.255 llegará a todos los ordenadores de la red 128.2.0.0 Si lo que está a cero son los bits de red, se supone que es en la misma red, especificando sólo el número de ordenador: 0.0.0.9 Un ordenador puede tener varios interfaces de red, cada uno conectado a una LAN... Cada uno de ellos tiene su nombre y su dirección IP, diferente del resto. 127.0.0.1 malibu le0 madrid goya 192.110.4.5 ipd0 le1 10.11.12.13 128.5.78.123 N° Redes de ordenadores, 1998-1999 Página 9 Informática Técnica de Gestión 3 2.8 ARP Address resolution protocol permite averiguar la dirección de nivel 2 de la máquina directamente accesible conociendo la de nivel 3 destino. Para encapsular el datagrama en una trama, debe conocer la dirección destino tanto a nivel 3 (obtenida desde el nombre mirando en las tablas de nombres o mediante DNS o NIS), como a nivel 2 (porque en la trama va la dirección destino). Aunque podría caerse en la tentación de enviar siempre a todos (broadcast) y que cada máquina decida si es para ella, no es aconsejable por la sobrecarga que supondría, en especial para los bridges. ARP se utiliza la primera vez. Después se guarda (temporalmente) la dirección de nivel dos en un caché, para futuras comunicaciones. El paquete ARP tiene el siguiente formato: physical layer header HW (16) (1=ethernet, 7 = arcnet...) protocol (16) (ethertype: 8035 hex) HW address length (n) Protocol Address length (m) Operation code (16) Sender HW address (n) 8:0:20:4:6:8 Sender Protocol address (m) 128.110.56.6 Target HW address (n): Aquí se obtendrá la respuesta Target Protocol Adress (m) 128.110.56.7 La secuencia de comunicaciones es la siguiente: Redes de ordenadores, 1998-1999 Página 10 Informática Técnica de Gestión 3 2.9 RARP Cuando una máquina sin disco arranca, conoce su dirección MAC (viene grabada en la ROM de la tarjeta de red) pero desconoce su nombre o su dirección IP. Necesita obtener este valor (y puede que hasta el S.O.) desde la red. En este caso es necesario un protocolo inverso al anterior. Se envía un paquete por difusión para ver si en alguna máquina está corriendo un programa que responda a este protocolo. En esa máquina habrá una tabla donde se relaciona la dirección MAC con el nombre, y otra con la dirección IP asociada al nombre. RARP es de muy bajo nivel (necesita acceso directo al Hardware de red), intercambia poca información (desperdiciando la trama Ethernet mínima) y no sirve cuando la dirección MAC se asigna dinámicamente. N° Redes de ordenadores, 1998-1999 Página 11 Informática Técnica de Gestión 3 2.10 BOOTP y DHCP Bootstrap Protocol usa UDP (y por tanto IP) antes de configurar el propio interfaz IP (admite broadcast antes de tener dirección propia): La información que intercambia, además de la dirección IP, incluye la del gateway, la del servidor, el nombre del fichero desde el que arrancar (boot file name), los nombres, e información específica del vendedor (un "magic cookie" define su formato). El cliente debe preocuparse de conseguir la respuesta (timeouts + retransmisiones). Usa UDP con ckecksums y pone el bit de "do not fragment", y acepta múltiples respuestas (ante una caida de la alimentación las estaciones rearrancan a la vez: usa un timeout variable) Permite que el servidor no esté en la misma LAN. El servidor es más fácil de implementar que ARP (no tiene que acceder al medio, es un servidor UPD normal). Hay varios campos libres para definición de los fabricantes (en DHCP se llaman opciones) DHPC (Dinamic Hosts Configuration Protocol) es una extensión de Bootp con nuevos campos normalizados. Permite asignar temporalmente una dirección y reutilizarla posteriormente para otro equipo. N° Redes de ordenadores, 1998-1999 Página 12 Informática Técnica de Gestión 3 2.11 ICMP Es un protocolo entre hosts y gateways para el control de errores en el reenvío de datagramas (no poder enviarlos por no saber cómo, haber congestión, indisponibilidad de enlaces...). Cada router es autónomo, y no sabe determinar el fallo en la entrega a través de la red lógica (un hosts de otra red no directamente conectada). Una máquina destinataria también puede emitir ICMPs. Internet Control Message Protocol viaja dentro de un datagrama (como si fueran datos), por lo que aumenta la congestión. Cabecera ICMP Datos ICMP Datos del datagrama IP Datos de la trama Ethernet Los datagramas sólo llevan las direcciones origen y destino, no el camino seguido. No puedes saber por dónde fue, ni dónde falló. También se utiliza para desviar tráfico, bajar la tasa de envíos(choke packets), detectar rutas circulares o muy largas (TTL), sincronizar relojes, obtener submáscaras... Cada mensaje tiene su propio formato, pero los tres primeros campos son fijos. En todos los protocolos ICMP y de más alto nivel, los 64 primeros bits tienen siempre la información crucial. cabecera ICMP 8 Type: 0 echo reply 3 destinatcion unreachable 11 time exceeded 12 parameter problem 16 Code: 0 network unreachable 1 host unreachable 2 protocol unreachable 3 port unreachable 31 Checksum: el mismo de IP, pero aplicado a los datos de ICMP N° Redes de ordenadores, 1998-1999 Página 13 Informática Técnica de Gestión 3 2.12 Localización de problemas Traceroute y ping son aplicaciones para localizar problemas de la red. Ping envia un datagrama ICMP (echo-request/response) a la máquina destino, y espera contestación en un plazo razonable. Si no funciona ping, el problema es de conectividad, no de las aplicaciones. Ping no indica dónde falla. Hay una opción (-S) para que se almacene la ruta recorrida. Pero RR (record route) es una opción IP que los routers no soportan siempre, es de un sólo sentido y caben hasta 9 direcciones. Traceroute, que se incluye como ping en algunas versiones recientes de stacks IP para Pcs, está disponible en código fuente y utiliza un mecanismo sencillo para detectar por dónde se llega al destino (o dónde falla): Usa TTL: comienza con 1, que al llegar al primer router pasa a ser 0, con lo que descarta el datagrama y devuelve al ordenador un ICMP (time exceeded). Luego manda otro datagrama tambien a la dirección destino con TTL=2, con lo que llega a un segundo router que será quien al decrementar mande el ICMP. Usa un puerto UDP que probablemente no se use (>30.000). Si el ICMP que recibe es que el puerto no es reconocido, es que ha llegado al destino. Ejemplo ordago[root]:/>traceroute www.alli.es traceroute to www.alli.es (10.12.75.9) 30 hops max, 38 byte packets 1 router.mi.lan (10.110.56.2) 10 ms 2 ms 2 ms // un salto LAN 2 wan.otro.edificio (10.110.201.60) 27 ms 28 ms 30 ms // un salto WAN a 64 Kbps 3 router.interno (10.110.60.9) 35 ms * * // un salto LAN 4 router.salida (10.110.63.2) 30 ms 29 ms 30 ms // un salto LAN 5 128.110.201.70 (10.110.201.70) 34 ms 35 ms 34 ms // un salto WAN a 2Mbps 6 10.12.70.4 (10.12.70.4) 51 ms 33 ms 35 ms // un salto LAN 7 10.12.201.75 (10.12.201.75) * 62 ms 62 ms // un salto WAN a 64 Kbps 8 www.alli.es (10.12.75.9) 87 ms * 63 ms // un salto LAN N° Redes de ordenadores, 1998-1999 Página 14 Informática Técnica de Gestión 3 2.13 IPng En Marzo de 1993 de las 126 direcciones tipo A 115 estaban asignadas, 8361 de las 16383 de tipo B y 128.709 de las 2.097.151 de grupo C. A este ritmo de crecimiento las direcciones se acabarían pronto. Además es costoso de gestionar la dirección IP de cada PC de una LAN (en los 70 había pocos ordenadores). Internet se considera insegura y no está pensada para voz o video. Por ello IETF está impulsando IPng=IPv6 (versión 6: la 5 fue un protocolo experimental de streams de tiempo real). En 1990 la RFC 1550 proponía para discusión unas metas y en 1992 había 4 propuestas (CNAT, IP ENCAPS, Nimrod y CLNP Simple (que luego sería TUBA, TCP/IP con direcciones mayores). Las posturas fueron evolucionando y fue la unión de IPAE con SIP y posteriormente con PIP la que finalmente se adoptó (SIPP). En julio de 1994 se publicó un informe, en Agosto se hicieron pruebas y en Septiembre se publicaron los Drafts. En julio del 95 había betas y en Febrero del 96 se finalizaron las pruebas a gran escala y comienza la producción. La RFC es la 1752. Las principales diferencias con la versión 4 son: - Las direcciones pasan a 128 bits (7x10²³ direcciones por metro cuadrado del planeta), pueden integrar las direcciones 802, y hay direcciones cluster y posibilidad de elegir proveedores (costes asociados). -La cabecera se simplifica para descargar a los routers y se introducen cabeceras adicionales en daisy-chain -Configuración de direcciones plug&play -Incorpora cabeceras para garantizar autenticidad e integridad y/o confidencialidad (MD5 y DES) -Permite garantizar calidades de servicio (con ATM...): Flow label -No hay checksum (las redes son mejores) -La fragmentación la hacen los ordenadores finales, no los routers. Uno de los principales temas es la migración a la nueva versión, previendose una fase de coexistencia de la version 4 y la 6, asunto crítico para su éxito. Redes de ordenadores, 1998-1999 Página 15 Informática Técnica de Gestión 3 2.14 Formato del datagrama IPv6 3 1 0 1 2 3 4 Versión Flow Label (6) Payload length (16) Next Header Hop Limit Dirección Origen (128) Dirección Destino (128) Base Header NEXT=Route Route Header NEXT=TCP Datos TCP N° Redes de ordenadores, 1998-1999 Página 16 Informática Técnica de Gestión 3 2.15 Encaminamiento entre redes 1. Extraer la dirección IP destino 2. Determinar la parte de red 2.1 En función del tipo de dirección: A, B o C 2.2 Aplicando la máscara de subred 3. Comparar las direcciones de red de los interfaces para ver si está accesible directamente (¿esta máquina y el destino están en la misma red?) 4. Examinar la tabla de routing para ver si el datragrama se puede enviar por un router directamente accesible: primero en rutas a host y luego en las rutas a redes. 5. Si no hay ruta específica, comprobar si hay una ruta por defecto. 6. Si no hay ruta, descartar el envío. El datagrama no se ve alterado, ya que las direcciones IP origen y destino son siempre las mismas. Se encapsula a nivel 2 con direcciones origen y destino completamente nuevas. Sólo hay modificaciones importantes cuando hay que fragmentar. También puede darse que TTL valga 0 y se descarte el reenvío. Para que haya comunicación entre dos máquinas, deben estar configurados los caminos de ida en ambos sentidos y en todos los tramos, ya que los protocolos de nivel superior necesitan contestaciones cuando menos. Si los enlaces de salida de un router están congestionados, cuando las colas de entrada se llenen los datagramas se irán descartando sin más. N° Redes de ordenadores, 1998-1999 Página 17 Informática Técnica de Gestión 3 2.16 Tablas de encaminamiento Toda máquina actúe como router o no, guarda unos caminos definidos, con el siguiente formato: dirección destino dirección intermedia directa coste La dirección destino puede ser una dirección de máquina o de red: 128.9.0.0 192.7.8.15 1 10.11.4.5 192.7.8.15 3 (las rutas a host tienen prioridad sobre las de LAN, y el router siempre está accesible con salto 0: enlace directo). La dirección intermedia directa corresponde a un interfaz propio o a una máquina directamente accesible que actúe como router. El número de saltos, de evaluar que rutas son más cortas, indica: 0 La máquina está directamente accesible: hay un interfaz por el que acceder a la red en la que se encuentra el destinatario. 1 o + El datagrama ha de enviarse a un router intermedio para que éste a su vez lo reenvíe. Además puede existir una ruta por defecto, para todos aquellos casos en los que la dirección de red no aparezca en las tablas (como por ejemplo, el router por el que acceder a Internet). Las rutas a host tienen prioridad sobre las de red y estas sobre la ruta por defecto. Un router es una máquina con varios interfaces de red y que reenvía los datagramas que recibe por uno de ellos cuando la dirección destino corresponde a la red de otro interfaz o tiene un camino definido a través de otro router directamente accesible para él. Siempre ha de ser directamente accesible. Redes de ordenadores, 1998-1999 Página 18 Informática Técnica de Gestión 3 2.17 Tipos de encaminamiento Por encaminamiento estático se entiende aquel en el que las tablas son configuradas por el administrador. El encaminamiento dinámico supone que los routers ejecutan ciertos programas que periódicamente se comunican entre si, e intercambian su información para actualizar sus tablas. Rápida y automáticamente se adaptan a la disponibilidad de vias, seleccionando los caminos menos costoros e incluso repartiendo carga en función de la capacidad o saturación de los enlaces. Existen diferentes algoritmos con propiedades (corrección, simplicidad, robustez, estabilidad, equitatividad y optimalidad) necesarias para descubrir y superar cambios de la topología de la red. Se pueden clasificar en: No-Adaptativos: no toman sus decisiones por estimaciones del tráfico, sino que las rutas se calculan de antemano y se instalan en los ruoters desde un punto central. Se emplean determinar el encaminamiento estático. Los hay que buscan el camino más corto (Dijkstra 1959) según la métrica decidida (número de saltos, coste o velocidad de los enlaces, distancia...) Y los hay por inundación (muy robustos). Adaptativos: Los propios routers modifican sus tablas para reflejar los cambios en la red o el tráfico. Difieren en cuándo actualizan sus rutas, la métrica, con qué otros routers comparten información y qué se comunican: Vector de distancia (Bellman-Ford 1957 o Ford_Fulkerson 1962), usado en ARPANET hasta 1979, DECnet e IPX. Para cada ruta almacenan el coste y por dónde enviarlo, y van actualizando. Estado del enlace: cada router mide el retardo con sus vecinos y propaga sus resultados. Con datos de todos cada uno calcula el camino más corto. Redes de ordenadores, 1998-1999 Página 19 Informática Técnica de Gestión 3 2.18 Protocolos de encaminamiento Internos Aplicados dentro de un sistema autónomo para optimizar rutas. RIP es el original en Internet, basado en vector de distancia, y funciona bien en sistemas pequeños (converge lentamente). Los mensajes van sobre UDP, y hay una versión (RIPv2) que añade autenticación, multicast. IS-IS (Intermediate System - Intermediate System) es un protocolo de estado del enlace que se diseño para DECnet y fué adoptado por ISO para CLNP. Se usa en backbones de Internet. También lo usa Novell (NLSP). OSPF (Open Shortest Path First, RFC 1247). Diseñado entre 1988 y 1990, años después pero parecido a IS-IS, incluye un método de autoestabilización de las actualizaciones (las tablas se difunden sobre UDP por inundación, sólo a routers adjacentes). Soporta encaminamiento basado en tipo de servicio, tráfico de tiempo real y múltiples métricas. Hace balance de carga, y asume no conocer toda la red. Externos Aplicados entre sistemas autónomos (políticas de encaminar tu tráfico pero no llevar tráfico transeunte ajeno...) BGP (Border Gateway Protocol, RFC 1654 (y 1268)). Reemplaza a EGP. Categoriza la redes en stub (con una sola conexión al grafo BGP), multiconnected (pueden ser tránsito salvo que se nieguen) o transit (los backbones). Es un protocolo de vector de distancia pero en lugar del coste enumera las rutas a cada destino. Usa TCP como protocolo de transporte, y se intercambian las inicialmente tablas completas y luego sólo las actualizaciones. La última version (4) soporta CIDR. Redes de ordenadores, 1998-1999 Página 20 Informática Técnica de Gestión 3 2.19 CIDR Internet es víctima de su propio éxito. Las tablas de encaminamiento crecen. Las direcciones de la clase B son demasiado grandes, pero la mitad de ellas tienen solo 50 máquinas. Y las clase C parecen pequeñas para una organización entera. Las tablas ocupan memoria y gastan tiempo de CPU en los routers, y además hay que coordinarlas con las de otros routers. La RFC 1519 describe Classless InterDomain Routing, que básicamente dice que hay que aplicar la máscara antes de tener en cuenta la clase. A una organización se le asignan varias direcciones de clase C consecutivas en lugar de una B pero con una máscara se convierte en una sola entrada en las tablas. El mundo se divide en 4 zonas (194.0 a 195.255 = Europa, 195.0 a 199.55 Norte America, Sudamerica y Asia y Pacifico. Por supuesto que los routers en Europa tienen de encaminar con grano más fino, pero simplifica el resto. Esta idea puede aplicarse a todas las clases: RIPv2 y OSPF soportan que se difundan también las máscaras de cada ruta. La opción escogida es la que tenga mayor coincidencia (máscara con más unos). N° Redes de ordenadores, 1998-1999 Página 21 Informática Técnica de Gestión 3 2.20 Enlaces entre LANs Un router IP es un ordenador con más de un interfaz y con software que le permite reenviar aquellos datagramas que recibe y que no están destinados para ella. Necesita un stack IP enlazado a los drivers de sus interfaces de red y una configuración. Si se utiliza encaminamiento dinámico, necesita además programas que se comuniquen con otros routers con el protocolo adecuado. Las máquinas UNIX son en general routers. En algunos casos hay que recompilar el kernel para ello (Linux) y en otros cambiar un valor (ndd en Solaris). NT también actúa como router si se le indica. Hay software (libre y comercial) para PCs que convierte un 286/DOS en router económico. Cuando las redes son complejas, máquinas especializadas, gestionables y con muchos interfaces pueden encargarse de la tarea. No solo la capacidad del hardware (número de paquetes conmutados por segundo) o el número de salidas LAN y WAN de que dispongan, distinguen a unos routers de otros. El software que incorporan es lo que las diferencia (la flexibilidad para usar máscaras, versiones mejoradas de los algoritmos de encaminamiento, filtrado...). Hay routers multiprotocolo, que encaminan tráfico IP y de otros tipos. N° Redes de ordenadores, 1998-1999 Página 22 Informática Técnica de Gestión 3 2.21 Tunneling A veces interesa interconectar dos redes de la misma tecnología utilizando como medio de transporte una de otro tipo. Por ejemplo, si tienes 2 redes TCP/IP interconectadas por X.25, un router puede meter los datagramas dentro de los paquetes X.25 y enviarlos a través de IBERPAC. Cada router asocia un NRI a la dirección IP y encapsula los datagramas completos en paquetes X.25. También es posible conectar varias redes IPX introduciendo sus paquetes de nivel 3 dentro de datagramas, de manera que los routers IP se encargen de transmitir esos paquetes IPX de forma transparente entre los dos puntos extremos. Al llegar a la red destino, el paquete IPX se extrae del datagrama y se envía directamente sobre Ethernet. El tunneling está de moda por cuestiones de seguridad. SSL o PPTP son protocolos que encapsulan datagramas IP que han sido cifrados con una contraseña de sesión dentro de datagramas que viajan entre dos redes privadas a través de Internet, constituyendo una Red Privada Virtual (VPN). N° Redes de ordenadores, 1998-1999 Página 23 Informática Técnica de Gestión 3 2.22 SLIP: conexión por línea serie Una línea RS-232 puede ser el medio de transmisión de TCP/IP. Esto es especialmente útil para el acceso de ordenadores remotos a través de módem y línea telefónica. SLIP (Serial Line Internet Protocol) es un protocolo no estándar de Internet, definido en 1988 en la RFC 1055. Es lento, no define control de enlace (conexión), obliga a conocer la dirección del otro extremo, no hay autenticación (más allá del login/password de UNIX para establecer la conexion los modems) y no tiene corrección de errores ni compresión. Sólo sirve para IP y su único mecanismo es el framing: Define unas secuencias de escape para delimitar los datagramas: 192(0xC0) SLIP END indica fin de datagrama (también se suele mandar antes por si hay ruido) 219(0xDB) SLIP ESC (no 0x1b) END ± ESC 220 ( 0xDB 0xDC) SLIP ESC ± ESC 221 (=xDB 0xDD) CSLIP: La RFC 1144 describe optimizaciones (básicamente compresión de cabeceras, que siempre repiten información: Van Jacobson 1990). Las cabeceras suelen ser de 40 bytes y quedan en 3-5. Mantiene el estado de hasta 16 conexiones TCP. N° Redes de ordenadores, 1998-1999 Página 24 Informática Técnica de Gestión 3 2.23 Líneas punto a punto: PPP PPP (Point to Point Protocol) es estándar Internet: RFCs 1171 y 1172 (+ RFC 1663, 1661 (LCP)). Es más robusto y tiene 3 capas: LCP. Link Control Protocol: establecimiento, control de la calidad del enlace y negociación de la compresión. Tambien hay autenticación (PAP o CHAP). NCP. Network Control Protocol: Data Link Layer Protocol: flag dirección control 01111110 11111111 00000011 configuración y control, negociando opciones de nivel 3 (direcciones...) Soporta enlaces asíncronos de 8 bits sin paridad o enlaces síncronos orientados a bit. El campo "protocolo" permite a llevar tráfico de múltiples protocolos de red, no solo IP: Así 0x0021 es IP, 0xc012 LCP, 0x8021 NCP... Las tramas se delimitan sin ambigüedades, y hay detección de errores. Protocolo Datos FCS flag CRC 01111110 El flag puede aparecer en los datos, por lo que emplea bit stuffing. En canales asíncronos usa las siguientes secuencias de escape: 0x7e (flag) ± 0x7d 0x5e 0x7d (esc) ± 0x7d 0x5d Los 32 valores ASCII por debajo de 0x20 se codifican para evitar que sean capturados por el driver de la línea serie: el 0x01 ± 0x7d 0x21 N° Redes de ordenadores, 1998-1999 Página 25 Informática Técnica de Gestión Redes de ordenadores, 1998-1999 Página 26 Informática Técnica de Gestión 3 2.24 Ejemplo de red 192.9.7.4 192.9.7 192.9.8.15 192.9.8 192.9.7.3 192.9.8.11 192.9.5.12 192.9.5 192.9.5.3 AaD A: 192.9.7 192.9.5 192.9.8 192.9.7.4 192.9.7.4 192.9.7.4 0 2 1 B: 192.9.8 192.9.5 192.9.8.15 192.9.8.11 0 1 C: 192.9.5 192.9.5.12 0 D: 192.9.7 192.9.5.12 2 C: 192.9.7 192.9.8.15 1 B: 192.9.7 192.9.7.4 0 (ésta no es necesaria en este caso) DaA N° Redes de ordenadores, 1998-1999 Página 27 Informática Técnica de Gestión 3 2.25 Secuencia de tráfico A->B: ARP(pregunta por 192.9.7.5) 1010101... 1111111... 8:0:20:15:16:17 lon llc 192.9.7.5 llc 192.9.7.4 lon llc 128.8.17.18 lon llc 192.9.7.4 crc B->A: ARP (responde 8:0:20:15:16:19) A->B: Datos 1010101 8:0:20:15:16:19 8:0:20:15:16:17 lon 128.8.17.18 Puertos... crc B->C: ARP(pregunta por 128.8.17.18) 1010101... 1111111... 8:0:20:15:16:19 crc C->B: ARP (respuesta A:0:7:4:9:3) B->C: Datos 1010101 a:0:7:4:9:3 8:0:20:15:16:19 128.8.17.18 Puertos... crc N° Redes de ordenadores, 1998-1999 Página 28 Informática Técnica de Gestión 3 2.26 Ejemplo de configuración de tablas de routing 128.110.56 128.110.200 128.110.60 128.110.61 128.110.56.9 128.110.200.56 128.110.200.60 128.110.200.60 128.110.100 128.110.100.9 128.110.200 128.110.200.100 128.110.56 128.110.200.56 ipd0 ipd0 ipd0 128.110.56.9 le0 128.110.60 128.110.61 128.110.200 128.110.56 128.110.60.9 128.110.61.9 128.110.200.60 128.110.200.56 elrond le0 128.110.60.9 128.110.56.7 128.110.56.167 bisimbre 128.110.100.9 le0 qe1 128.110.61.9 128.110.100.4 128.110.60.17 128.110.61.15 marquez guanche 128.110.56 128.110.200 128.110.60 128.110.61 128.110.56.7 128.110.56.9 128.110.56.9 128.110.56.9 Redes de ordenadores, 1998-1999 marte moncayo Página 29 Informática Técnica de Gestión ÍNDICE IP: Nivel de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Formato del Datagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Campos del datagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Encapsulamiento de IP sobre Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Direcciones IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Tipos de direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Subnetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Definición del interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 RARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 BOOTP y DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Localización de problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 IPng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Formato del datagrama IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Encaminamiento entre redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Tablas de encaminamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Tipos de encaminamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Protocolos de encaminamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 CIDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Enlaces entre LANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Tunneling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 SLIP: conexión por línea serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Ejemplo de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Secuencia de tráfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Ejemplo de configuración de tablas de routing . . . . . . . . . . . . . . . . . . . . . . . 29 Redes de ordenadores, 1998-1999 Página 30