Sistemas de Transportes de Datos (STD) Presentación de la asignatura: Temario y evaluación 3. Protocols UDP i TCP 3.1 El protocol UDP 1. Introducció 3.2 Funcionalitats de TCP 1.1 Model de referencia OSI 3.2.1 Control d'errors 1.2 Arquitectura TCP/IP 3.2.2 Control de fluxe 1.3 Ethernet i PPP 3.2.3 Control de la congestió 1.4 loopback interface i MTU 3.3 Els estats de TCP 2. Protocol IP 3.3.1 Establiment de la conexió (3WHS) 2.1 Funcions d'IP 3.3.2 Finalització de la conexió 2.2 Adreces IP 3.4 Sockets 2.3 Funcionalitat dels routers 3.5 RPCs 2.4 Encaminament (RIP, OSPF) 4. Aplicacions bàsiques 2.5 ICMP 4.1 DNS 2.6 IPv6 4.2 HTTP bàsic 4.3 Firewalls i servidors proxy La nota final Nf serà si Ne >= 4 Nf = 0,85 Ne + 0,15 Nl sino Nf = MIN(4, 0.85 Ne + 0.15 Nl) on: Ne: Nota examen final. Nl: Nota pràctiques de laboratori (obligatòries). Departamento Arquitectura Computadores J.C. Cruellas Tema I: Introducción (Entrega 1) ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC Introducción: Interconexión de redes • Objetivo: permitir intercambiar información a aplicaciones que se ejecutan en máquinas distintas. • Contexto: – En las máquinas puede haber varias aplicaciones ejecutándose simultáneamente. – Las máquinas pueden estar conectadas a redes locales distintas y de tecnologías diferentes. – Muchas de las aplicaciones (ftp, telnet, etc) se basan en el mantenimiento de un “diálogo” entre programas que se ejecutan en las máquinas (pe aplicaciones del tipo cliente/servidor). Departamento Arquitectura Computadores J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC Introducción: Interconexión de redes • Necesidades genéricas: – Gestionar el diálogo entre los programas (nivel de TCP). – Hacer llegar la información de una máquina a otra (nivel de IP). ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ • Necesidad de dispositivos físicos específicos y de software de comunicaciones que implementen protocolos de comunicación (TCP/IP), estructurado en niveles que se dividan el trabajo necesario para satisfacer las necesidades antes mencionadas. Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 1 Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) ____________________________________ Visión de IP 1. Situación de partida: Aplicación A Aplicación A (cliente) dialoga con ap. B (servidor). FDDI 2. Las máquinas que las ejecutan están en redes diferentes. 3. Se necesita un camino que vaya de una red a otra: deben deben interRouter conectarse a otras . 4. La interconexión de redes necesita: a. Dispositivos físicos de interconexión (Routers) b. Conjunto de protocolos (TCP/IP) . Token Ring Aplicación B WAN LAN FDDI Departamento Arquitectura Computadores ____________________________________ J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC ____________________________________ Visión de IP ____________________________________ ____________________________________ Aplicación A Aplicación B @IPA @IPB FDDI LAN 1. Cada máquina debe tener un identificador único en este entorno de redes interconectadas (Internet): DIRECCIÓN IP WAN 2 Router FDDI Token Ring Departamento Arquitectura Computadores J.C. Cruellas 2. La máquina A enviará información a: i. Otra máquina de la misma red local o… ii. A una máquina de otra red. En tal caso, el primer destinatario será el Router. ____________________________________ ____________________________________ ____________________________________ _____________________________ 3. En ambos casos, la información debe circular en la red local (Ethernet, pe), siguiendo las normas de ésta. Grupo de Aplicaciones Telemáticas UPC ____________________________________ Visión de IP Aplicación A 4. El router debe encami@IPA nar la información hacia la máquina destinataria B. FDDI La información irá de router en router hasta llegar a la red destinataria y allí le es entregada a B Aplicación B @IPB LAN WAN FDDI Router ISP local RTC Departamento Arquitectura Computadores ____________________________________ Modem J.C. Cruellas 5. La interconexión de redes también debe permitir acceso a usuarios individuales a los que un proveedor de acceso les suministra servicio a través de la red telefónica conmutada (PPP y LCP) ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Token Ring Grupo de Aplicaciones Telemáticas UPC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 2 Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) ____________________________________ Visión de TCP – Cliente y servidor mantienen un “diálogo” entre sí haciendo uso de los servicios del software TCP. – TCP debe soportar la gestión de dicho diálogo (solicitud de petición de conexión, mantenimiento de la misma, finalización). – TCP debe asegurar una entrega de datos sin error a las aplicaciones que dialogan (Control de errores) – TCP debe ser capaz de atender a varias aplicaciones, diferenciando una de otra (multiplexación). – TCP debe evitar el desbordamiento de una aplicación “lenta” en el consumo de información que es generada por una aplicación remota “rápida” (Control de Flujo). Departamento Arquitectura Computadores J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC ____________________________________ Visión de TCP ____________________________________ ____________________________________ – TCP no debe contribuir a agravar situaciones de congestión en zonas de Internet enviando información sin más a la misma cuando se detecta una situación de comienzo de congestión (Control de congestión). En lugar de ello debe reducir el ritmo de envío de información hasta que la situación de congestión haya pasado. Departamento Arquitectura Computadores J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC Interconexión de redes. Requisitos • Suministrar enlace entre redes heterogéneas. • Disponer del encaminamiento y entrega de los datos entre procesos en redes distintas. • Habilitar servicios estadísticos del uso de las redes y mantenimiento de información de estado. • Proveer los servicios anteriores sin exigir cambios en la arquitectura de las redes que se conectan, acomodando diferencias en: – – – – – ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Los esquemas de direccionamiento. Los tamaños máximos de los paquetes. Los mecanismos de acceso. Los timeouts. El tratamiento y recuperación de los errores. Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 3 Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) Interconexión de redes. Requisitos ____________________________________ – Los informes de estado, facilitando información del estado de la interconexión de las redes. – Las técnicas de encaminamiento. – El control de acceso de los usuarios. – El servicio orientado o no orientado a la conexión (circuitos virtuales o datagrama). ____________________________________ Departamento Arquitectura Computadores J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas U PC ____________________________________ Interconexión de redes. Funciones • Encapsulación. Datos de aplicaciones insertados en secuencias estructuradas de bits, construidas por los diferentes protocolos en las que se hallan presentes también direcciones, códigos detectores de error e información de control. • Segmentación y reensamblado. Las redes sobre las que viaja la información suelen imponer limitaciones a los tamaños máximos de las tramas, distintas a los tamaños de los datos generados por las aplicaciones y procesos que se comunican. • Direccionamiento. Sirve para que dos entidades lejanas se identifiquen sin ambigüedad. Cada red posee un sistema de direccionamiento propio (Ethernet, p.e.). Servicio de interconexión de redes: direccionamiento único que trabaje armoniosamente con los esquemas de las diferentes redes. En IP, pe, una máquina tendrá una @IP (propia y permanente o cedida por alguien mientras dure la comunicación). Departamento Arquitectura Computadores J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC ____________________________________ Interconexión de redes. Funciones • Encaminamiento. Cómo hacer llegar los datos al “host” en el que reside la aplicación que los espera. • Control de la conexión (asociación lógica entre dos entidades): establecimiento de conexión, transferencia de datos, finalización de conexión. • Control de flujo. Las máquinas que alojan las aplicaciones pueden ser muy diferentes: hay que acomodar los flujo de información intercambiados. • Control de errores. • Secuenciamiento (entrega ordenada -en servicios orientados a conexión- y no duplicada de datos). • Multiplexación. Una misma máquina puede albergar diferentes aplicaciones que dialoguen con otras aplicaciones remotas. Los datos llegados desde la red deben ser dirigidos a la aplicación que debe procesarlos. Departamento Arquitectura Computadores J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 4 Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) ____________________________________ Interconexión de redes. Funciones ____________________________________ ____________________________________ • Servicios de transmisión: prioridad, grado de servicio, seguridad, etc. ____________________________________ ____________________________________ ____________________________________ _____________________________ Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC Arquitectura multinivel y encapsulamiento APLICACIÓN Datos Los protocolos se estructuran en niveles. Cada nivel se encarga de un conjunto de tareas relacionadas entre sí. El conjunto de protocolos se instalan en una máquina Nivel 4 Cab. N4 Datos Nivel 3 Cab. N3 Cab. N4 Datos Nivel 2 Cab. N2 Cab. N3 Cab. N4 Datos Nivel 1 Cab. N1 Cab. N2 Cab. N3 Cab. N4 Datos Redes Interconectadas Departamento Arquitectura Computadores J.C. Cruellas La aplicación (que intercambia información con la que está instalada y ejecutándose en otra máquina) genera información Se pasa esa información al nivel superior de la torre de protocolos, que le añade una cabecera (encapsulamiento) con información necesaria para la comunicación. ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Cada nivel pasa lo obtenido al inferior, que le añade una cabecera (identificadores de máquinas, de procesos, núm. de secuenca, etc.), hasta que se envíaa la línea física una secuencia de bits con una estructura determinada y reconocible (trama). Grupo de Aplicaciones Telemáticas UPC Arquitectura multinivel y encapsulamiento A la máquina destinataria llega una trama cuyo origen es otra máquina que puede estar en otra red. Datos APLICACIÓN Cab. N4 Datos Nivel 4 Cab. N3 Cab. N4 Datos Nivel 3 Cab. N2 Cab. N3 Cab. N4 Datos Nivel 2 Cab. N1 Cab. N2 Cab. N3 Cab. N4 Datos Nivel 1 Esa trama se pasa al nivel inferior de la torre de protocolos, que le quita la cabecera y pasa el resto al nivel inmediatamente superior. ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Cada nivel pasa lo obtenido al superior, quien quita una cabecera, hasta que al final quedan solamente los datos que se ceden a la aplicación. Redes Interconectadas Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 5 Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) ____________________________________ Arquitectura TCP/IP • Determinada en gran medida por tres clases de agentes: – Procesos: agentes que se comunican intercambiando datos. – Ordenadores en los que se ejecutan los procesos (normalmente varios de forma simultánea). – Redes que conectan los ordenadores. • Transferir datos de un proceso a otro consiste en: – Hacer que los datos lleguen desde el ordenador en el que reside el proceso que los generó al ordenador donde reside el proceso destinatario (un nivel: IP). – Hacer que el ordenador transfiera esos datos al proceso destinatario (otro nivel: TCP) de forma fiable y ordenada. ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ • Los niveles identificados son pues: – Acceso a la red – Interconexión de redes (internet: IP) – Control de transporte (Transport Control Protocol: TCP) Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC ____________________________________ Arquitectura TCP/IP ____________________________________ ____________________________________ – Procesos • Acceso a la red: Se ocupa del intercambio de datos entre el “host” y la red a la cual está conectado. Evita al resto de niveles de tener que preocuparse de la tecnología de red. – Encapsulado de información en trama de la red en cuestión. – Determinación de la dirección (en ESA red) a la que enviar la trama (un “host” si en él reside el proceso destinatario o un router si dicho proceso reside en un “host” conectado a otra red). En definitiva, el nivel de interconexión de redes (IP) conoce la dirección IP del “host” donde reside el proceso destinatario, que es diferente. – Habrá tantos interfaces como redes distintas a las que los “hosts” pueden ser conectados. ____________________________________ ____________________________________ ____________________________________ _____________________________ • Internet Protocol (IP): Se ocupa de intentar hacer llegar los datos de un “host” conectado a una red a otro “host” conectado a cualquier red. – Debe definirse un sistema de identificación no ambiguo de los “hosts” involucrados: sistema de direccionamiento. Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC ____________________________________ Arquitectura TCP/IP – Debe definir una estructura propia con cabeceras de información propia del nivel: datagrama. – Debe ajustar el tamaño de las secuencias de bits que pasa al nivel de acceso a la red al admitido por ésta (fragmentación y reensamblado). – Debe resolver el problema del encaminamiento (determinación y gestión de la ruta que cada datagrama seguirá). – Debe gestionar la solicitud (mapeado) de potenciales servicios adicionales que algunas redes pueden suministrar (prioridades, etc). – En realidad la entrega de los datagramas NO está garantizada. Si hay un error, se intenta informar al remitente, pero tal notificación NO está garantizada. – Con ayuda del ICMP puede hacer uso de rudimentos de control de flujo. ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ • Transport Control Protocol (TCP): Se ocupa de hacer llegar los datos de forma ordenada y fiable al proceso destinatario. – Implanta una comunicación orientada a la conexión (circuito virtual), por lo que debe encargarse del control de la conexión entre los procesos. Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 6 Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) ____________________________________ Arquitectura TCP/IP ____________________________________ – Debe poner en pie un sistema de transporte de datos fiable que incluye, etre otras cosas: • Un sistema de control de errores. • Un control de flujo. • Entrega ordenada de los datos. ____________________________________ ____________________________________ – Debe gestionar la multiplexación (entregar los datos llegados al proceso destinatario de entre todos los que se están ejecutando). – Debe ser capaz de informar de errores en el entorno de interconexión de redes de los cuales no es posible recuperarse. – Debe proveer con mecanismos para “marcar” de forma especial determinados datos (para hacer que el TCP destinatario los pase a la aplicación tan pronto como le lleguen, por ejemplo). Departamento Arquitectura Computadores ____________________________________ J.C. Cruellas ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas UPC ____________________________________ Arquitectura TCP/IP ____________________________________ ____________________________________ apl. apl. apl. Traceroute Nivel de Proceso FTP Nivel de Proceso SMTP ____________________________________ ____________________________________ Puerto TCP UDP ICMP Nivel de Transporte IP ARP Nivel de Transporte Nivel de Red Nivel de Red ____________________________________ _____________________________ Nivel de Red RARP Interfaz Red Interfaz Red Driver Interfaz Red Red Física Departamento Arquitectura Computadores Red Física J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC ____________________________________ Encapsulamiento en TCP/IP ____________________________________ ____________________________________ Usuario Datos Usuario ____________________________________ ____________________________________ Aplicación (FTP) Cab. FTP Datos Usuario ____________________________________ _____________________________ Cab. TCP/UDP Cab. FTP Datos Usuario Sistema TCP/UDP Operativo IP Driver Cab. IP Cab. TCP/UDP Cab. FTP Datos Usuario Cab. Eth. Cab. IP Cab. TCP/UDP Cab. FTP Datos Usuario Departamento Arquitectura Computadores J.C. Cruellas Grupo de Aplicaciones Telemáticas UPC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 7 Sistemas de Transportes de Datos (STD) Tema I: Introducción (Entrega 1) Open Systems Interconnection (OSI) • • • • • • • Aplicación Presentación Sesión Transporte Aplicación Presentación Sesión Transporte Red Enlace Físico Red Enlace Físico Físico: Especificaciones que permiten la transmisión de bits como señales eléctricas a través de las líneas. Enlace:Define estructura (trama) que permite reconocer información dentro de un flujo de bits. Define también servicios de control de flujo de información, detección de errores, y control de acceso en redes con medio compartido. Red: Define un sistema de direccionamiento global, gestión del encaminamiento, orientado a conexión o no conexión y control de congestión. Transporte: Asegura el envío fiable de información y control de flujo y errores extremo a extremo. Sesión: Establece y gestiona una sesión entre entidades del nivel superior (presentación) (puntos de sincronización en transferencias muy largas para no tener que volver a empezarlas si hay problemas). Presentación: Servicios de representación y codificación de la información. Aplicación: Protocolos de aplicaciones que utilizan la red (correo electrónico, intercambio de ficheros, terminal remoto, etc.). Departamento Arquitectura Computadores J.C. Cruellas ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ ____________________________________ _____________________________ Grupo de Aplicaciones Telemáticas U PC ____________________________________ Gestación de TCP/IP ____________________________________ ____________________________________ • • • • En 1960 se crea DARPA (Defense Advanced Research Projects Agency) dentro del DOD (Dpto. de Defensa). Se investiga las redes de conmutación de paquetes y surge ARPANET Con el tiempo, se diversificó la interconexión (lineas punto a punto, satélites, etc.): ello fuerza al inicio de los estudios en la interconexión de redes heterogéneas. Se añaden grupos de investigación. En 1979 se funda el ICCB (Internet Control and Configuration Board) para coordinar y Departamento Arquitectura Computadores • • • • guiar el diseño de la arquitectura y protocolos. En los 80 los protocolos básicos ya están listos (RFCs de TCP e IP en 1981). 1983: ARPANET dividida en 2: ARPANET (investigación) y MILNET (uso militar). Se conectan cada vez más redes: Internet. Se sigue política de bajo coste financiando a: – – Bolt Beranek and Newman Inc. Para implementar TCP/IP y Universidad de California para integrarlo en sus máquinas UNIX (Berkley soft. Distrib.) J.C. Cruellas • Berkley incorporó además – – • Utilidades para servicios de red que recuerdan a comandos UNIX Una abstracción que permite a las aplicaciones acceder a los servicios ofrecidos por TCP/IP, conocidos como sockets. ____________________________________ ____________________________________ ____________________________________ _____________________________ En 1986 aparece la NFSNET (por iniciativa de la National Science Foundation), que se incorporó a ARPANET y financió la incorporación de redes regionales. Grupo de Aplicaciones Telemáticas U PC Juan Carlos Cruellas Ibarz. Curso 2000/2001. Q1 8