Tema 1: Introducción 1 Tema 1: Introducción 2 Temario STD (Cuatrimestre Primavera, curso 2003/2004) Tema 1: Introducción (1 semana) Arquitectura TCP/IP Modelos de referencia OSI de ISO/IEC Ethernet (repaso) PPP, negociación LCP e IPCP loopback interface MTU Tema 2: Internetworking Protocol (IP) (8 semanas) Funciones de IP Formato de la cabecera de los datagramas IP Direcciones IP Mascaras de red, subredes (subnetting) y superredes (supernetting) Direcciones IPv6 Resolución de direcciones (ARP) Ethernet RARP Funcionalidad de un router Fragmentación y reensamblado Routers vs. Conmutadores y bridges ICMP ping traceroute MTU path discovery Encaminamiento en IP Determinación del camino y concepto de convergencia IGP vs. EGP Encaminamiento estático RIP DNS Zonas y dominios Querys iterativas y recursivas Querys inversas Direcciones privadas y NAT ACLs VLANs Tema 1: Introducción Arquitectura TCP/IP Modelo de referencia OSI Ethernet (repaso) Point-to-Point Protocol (PPP) loopback interface MTU Tema 3: TCP, UDP y APIs (5 semanas) UDP Funcionalidades de TCP Control de errores Control de flujo Control de congestión ARQ en TCP Grafo de estados de TCP STD, Jorge García Vidal Tema 1: Introducción 3wHS Finalización de la conexión Control de Flujo y control de congestión Sockets Mapeo de las llamadas a sockets con el grafo de estados de TCP Servidores concurrentes e iterativos Sesiones de problemas STD, Jorge García Vidal 3 Tema 1: Introducción Introducción La arquitectura de los protocolos de comunicaciones es la siguiente: 1.- Configuración hosts, ifconfig, netstat, PPP, tcpdump 2.- Configurción de un router Linus. Introduccion a IOS 3.- Configuración de IOS, RIPv1, RIPv2 4.- Conexión/desconexión en TCP. Control de flujo Usuario Bibliografía W. R. Stevens “TCP/IP Illustrated” Vol 1. Addison-Wesley 1995 D. E. Comer “Internetworking with TCP/IP” Vol 1. Prentice-Hall 1994 Bibliografía complementaria D. E. Comer “Computer Networks and the Internet” Prentice-Hall 1999 W. R. Stevens “Unix Network Programming”, Prentice-Hall 1998 L. L. Peterson, B. S. Davie “Computer Networks”, Morgan Kaufman 1996 4 Aplicaciones: Web, eMail, chat, e-commerce, NFS, Gestión de red, Telnet, FTP, Multimedia, etc... Sockets, RPCs Sistema Operativo Evaluación de la asignatura: TCP/IP Nteoria = MAX{ Nex, 0.85 Nex + 0.15 Ncontrol } Nfinal = 0.8 Nteoria + 0.2 Nlab Drivers Bus (ej: ISA, PCI) Tarjeta de Red (NIC) / Módem STD, Jorge García Vidal STD, Jorge García Vidal Tema 1: Introducción 5 ¿En dónde se utilizan los protocolos TCP/IP? ..... En 1957 la URSS lanza el Sputnik 1. En 1958 los EE. UU. crean el DARPA (Defense Advanced Research Projects Agency). ..... En 1969 se crea ARPANET, una WAN experimental que usa Conmutación de Paquetes. ISP A mediados de los años ‘70 se diseñan los protocolos TCP/IP para interconectar redes heterogéneas (ARPANET y ARPA Packet Radio Network). En 1977 se realiza la primera prueba con TCP/IP. (Cerf y Kahn, “A Protocol for Packet Network Intercommunication”, IEEE Transactions on Communications, 1974). Backbone Internet Red sin conexión a Internet El 1 de Enero de 1983 se realizó la transición de NCP a TCP/IP. En 1987 se crea NSFNet. ISP: Proveedor de Servicios de Internet VPN: Red Privada Virtual STD, Jorge García Vidal Tema 1: Introducción STD, Jorge García Vidal 7 La arquitectura de protocolos TCP/IP Tema 1: Introducción Por qué IP es No orientado a la Conexión? El objetivo original de la arquitectura TCP/IP era conseguir interconectar redes de paquetes ya existentes (ARPANET y ARPA packet radio). Las principales restricciones de diseño eran las siguientes: 1. La comunicación debería mantenerse aun en el caso de que parte de la internet estuviera dañada (¡Guerra fría!) 2. Debería soportar diferentes tipos de servicio (Fiable y no fiable) 3. Debería adaptarse a diferentes redes ya existentes previamente Una de las principales decisiones del diseño fue usar datagramas como la unidad básica que se transfiere entre redes (i.e. No orientado a la conexión) STD, Jorge García Vidal 6 Cómo surgieron los protocolos TCP/IP? ..... ..... Tema 1: Introducción El estado de la conexión se mantiene en los extremos y no en la red Tenemos un tipo de servicio básico sobre el que construir otros tipos de servicio (ej: TCP, UDP) Nos permite hacer mínimas suposiciones sobre cómo funcionan las redes sobre las que construimos la internet STD, Jorge García Vidal 8 Tema 1: Introducción 9 Tema 1: Introducción 10 El Modelo de referencia OSI de ISO/IEC y la arquitectura TCP/IP Organismos de estandarización En 1860 el ayuntamiento de Barcelona abrió un concurso para urbanizar el actual Eixample... ISO: Organismos Nacionales de Estandarización CCITT/ITU: Compañías Operadoras de Telecomunicaciones IAB: Internet Activities Board Durante los años 80 ISO/IEC desarrolló un modelo de referencia para la interconexión de sistemas abiertos denominado OSI. Plan de I. Cerdà La intención era definir una arquitectura de red y un conjunto de protocolos que fueran utilizados de forma extensiva en la comunicación de datos. Plan de A. Rovira Por diferentes motivos, dicha iniciativa no ha tenido éxito. Plan urbanístico <-> Modelo de referencia Edificios <-> Protocolos STD, Jorge García Vidal Tema 1: Introducción STD, Jorge García Vidal 11 Tema 1: Introducción Redes Ethernet Arquitectura TCP/IP del IAB N. Aplicación Las redes locales más utilizadas son las redes Ethernet. Originalmente utilizaban una topología en bus, transmisión por cable coaxial con un código Manchester a 10 Mbps y CSMA/CD TCP/UDP IP Interfaz Red, N. Físico Modelo de referencia OSI de ISO/IEC N. Aplicación N. Presentación Hoy en día es más frecuente la configuración en la que se utiliza cables UTP, Hubs o conmutadores N. Sesión N. Transporte N. Red N. Enlace N. Físico Hub/Switch STD, Jorge García Vidal STD, Jorge García Vidal 12 Tema 1: Introducción 13 Trama Ethernet (DIX) Las direcciones son únicas para cada NIC Ethernet El relleno sirve para forzar un tamaño mínimo de trama 14 Trama Ethernet (802.2/802.3) Preámbulo Dirección destino Dirección origen Tipo de trama 8 Datos Preámbulo 8 Dirección destino 6 Dirección origen 6 Notar que longitud es siempre menor a 0800 en hexa => longitud AA AA 03 2 Podemos distinguir sin problemas entre los dos formatos de trama! 000000 DSAP : AA SSAP : AA Cntl: 03 Org Code: 000000 6 6 2 El CRC utiliza el polinomio CRC-32 El tipo de trama es (en hexadecimal): Tema 1: Introducción 46-1500 Octetos 0800 : IP 0806 : ARP 8035 : RARP tipo Datos 38-1492 Octetos Relleno Relleno CRC 4 CRC STD, Jorge García Vidal STD, Jorge García Vidal Tema 1: Introducción 15 Point to Point Protocol (PPP) Conexión a red pública Tema 1: Introducción 16 Trama PPP sobre HDLC flag: 7e Módem/TR DTE 1 addr: ff cntrol: 03 Red Pública PPP permite encapsular datagramas IP en enlaces punto a punto, bien enlaces síncronos o bien enlaces asíncronos (8 bits de datos, no bit de paridad) Además de la Tx de información tenemos dos protocolos: LCP que establece, configura y testea un enlace de datos NCP que especifica el protocolo a utilizar (ejemplo: IP, OSI, etc) y algunas características del protocolo (Compresión, dirección IP, etc) STD, Jorge García Vidal 4 Protocolo: Protocol 2 Datos 0-1500 0021: IP C021: LCP 8021: NCP En enlaces síncronos la transparencia se consigue con bit stuffing. En enlaces asíncronos se usa el byte 0x7d como carácter de escape. Cuando se usa el carácter de escape, se complementa el 6º bit del siguiente carácter STD, Jorge García Vidal CRC flag: 7e 2 Tema 1: Introducción 17 Tema 1: Introducción 18 Ejemplo de negociación LCP A B A Ejemplo de negociación IPCP B A LCP conf req id=1 ACCM=000000 IPCP conf req id=7 IP:192.168.1.1 VJ comp IPCP conf reject id=7 VJ comp LCP conf req id = 8 MRU = 200 ACCM=000000 Ctrol field comp IPCP conf req id = 8 IP:192.168.1.1 IPCP conf ack id = 8 IP:192.168.1.1 LCP conf ack id = 8 MRU = 200 ACCM = 000000 ctrol field comp STD, Jorge García Vidal STD, Jorge García Vidal 19 Loopback La mayor parte de implementaciones de TCP/IP soportan un interface loopback que permite la comunicación entre un cliente y un servidor situados en la misma máquina Normalmente se asigna la dirección IP 127.0.0.1 y el nombre localhost (ver tema 2) MTU Para cada tecnología de red hay un límite en el tamaño del campo de datos que se puede transmitir. Esto define la Unidad Máxima de Transmisión (MTU) Cuando entre dos host hay más de un tipo de red, se define la MTU del trayecto (“path MTU”) como el mínimo de las MTU de las redes situados en el camino entre las dos máquinas. STD, Jorge García Vidal B IPCP conf nack id=2 IP:192.168.1.3 LCP conf ack id=1 ACCM Tema 1: Introducción A IPCP conf req id=2 IP:0.0.0.0 LCP conf req id=7 MRU=200 ACCM=000000 MagicNumber =a7c390b7 prot.field.comp ctrol.field.comp LCP conf reject id=7 MagicNumber Prot.field.comp B