Arquitectura de Redes, Sistemas y Servicios Curso 2007/2008 TEMA 6 Funciones de los niveles superiores Miguel A. Gómez Hernández ARITT/ITT-IT CURSO 07/08 TEMA 6 (2) Por qué un nivel de transporte? Tipos de servicio de transporte La red ofrece un servicio extremo a extremo Pero influyen los nodos intermedios No son de la misma propiedad que los extremos Y si queremos un servicio fiable orientado a conexión pero los nodos intermedios no lo ofrecen? La capa de transporte está para ofrecer Servicios mejores que los de la capa de red Facilidad al programador de aplicaciones Usará las primitivas de servicio de la capa de transporte La capa de transporte suele ofrecer Orientación a conexión Fiabilidad Cómo lo hace Fácil si el servicio de red es fiable y CO Difícil si es no fiable y CL ARITT/ITT-IT CURSO 07/08 TEMA 6 (3) ARITT/ITT-IT CURSO 07/08 TEMA 6 (4)
TS sobre servicio fiable y CO Ejemplos Sobre X.25 Sobre Frame Relay, usando LAPF Sobre 802.3 usando LLC, operación tipo 2 Asuntos Direccionamiento Multiplexación Control de flujo Establecimiento/cierre de conexión ARITT/ITT-IT CURSO 07/08 TEMA 6 (5) ARITT/ITT-IT CURSO 07/08 TEMA 6 (6) Direccionamiento Multiplexación Hace falta decir A qué entidad de transporte entregar los datos A qué usuario debe entregarlos la entidad En qué máquina y en qué red Típicamente se dice Estación: qué máquina y qué red Puerto: qué usuario Multiplexación hacia arriba Varias conexiones de transporte Una sola conexión de red Menos coste Multiplexación hacia abajo Una conexión de transporte Varias conexiones de red Más rendimiento ARITT/ITT-IT CURSO 07/08 TEMA 6 (7) ARITT/ITT-IT CURSO 07/08 TEMA 6 (8)
Control de flujo Establecimiento y cierre de conexión Técnica de ventana deslizante Con la ventaja de que el servicio de red es fiable! No se pierden segmentos Técnica de créditos La ventana tiene tamaño variable Por una parte se confirman los segmentos Por otra parte se autorizan aumentos de ventana Uno de los extremos inicia la conexión El otro le contesta Que la acepta Que no la acepta Uno de los extremos inicia el cierre Sigue recibiendo pero ya no envía El otro inicia su cierre La desconexión es efectiva ARITT/ITT-IT CURSO 07/08 TEMA 6 (9) ARITT/ITT-IT CURSO 07/08 TEMA 6 (10) TS sobre servicio no fiable y CL ARITT/ITT-IT CURSO 07/08 TEMA 6 (11) Ejemplos Sobre IP Sobre Frame Relay, usando sólo el núcleo de LAPF Sobre 802.3 usando LLC, operación tipo 1 Asuntos Transporte en orden Estrategia de retransmisión Detección de duplicados Control de flujo Establecimiento de conexión Cierre de conexión Recuperación de caídas ARITT/ITT-IT CURSO 07/08 TEMA 6 (12)
TS sobre servicio no fiable y CL TS sobre servicio no fiable y CL Transporte en orden Los datos llevan número de secuencia Se ordenan en destino Se entregan en orden Retransmisión Segmentos perdidos o dañados Uso de asentimientos y temporizadores Detección de duplicados Usar números de secuencia Problema adicional con duplicado de otra conexión Control de flujo Esquema de créditos Establecimiento de la conexión Diálogo en tres direcciones Three way handshake Cierre de la conexión Confirmación de las peticiones de cierre ARITT/ITT-IT CURSO 07/08 TEMA 6 (13) ARITT/ITT-IT CURSO 07/08 TEMA 6 (14) Recuperación de caídas Si uno de los dos extremos cae Problema porque Puede haber copiado datos y no haber asentido Viceversa Puede preguntar por dónde iba Pero siempre hay posibilidad de error La recuperación la debe hacer la capa superior ARITT/ITT-IT CURSO 07/08 TEMA 6 (15) ARITT/ITT-IT CURSO 07/08 TEMA 6 (16)
TCP UDP Transport Control Protocol Protocolo extremo a extremo Ofrece un servicio orientado a conexión que garantiza la recepción de datos sin errores y en orden User Datagram Protocol Protocolo extremo a extremo Ofrece un servicio no fiable y no orientado a conexión Básicamente incorpora el direccionamiento a puerto a lo que ofrece IP ARITT/ITT-IT CURSO 07/08 TEMA 6 (17) ARITT/ITT-IT CURSO 07/08 TEMA 6 (18) Puertos Puertos Puntos de acceso al servicio de transporte Un usuario del servicio de transporte (una entidad de aplicación) Está localizable en un puerto Debe saber cómo localizar a su entidad par Cómo se averigua el puerto del destino? Puertos bien conocidos Well known ports Servidores de procesos ARITT/ITT-IT CURSO 07/08 TEMA 6 (19) ARITT/ITT-IT CURSO 07/08 TEMA 6 (20)
Mantenimiento de sesiones La función de la capa de sesión es Ofrecer a la capa superior conexiones llamadas sesiones Independientemente de las conexiones de transporte Tres casos Sesión Transporte ARITT/ITT-IT CURSO 07/08 TEMA 6 (21) ARITT/ITT-IT CURSO 07/08 TEMA 6 (22) Otras funciones de capa de sesión Insertar puntos de sincronización Puntos a donde regresar si se produce una caída Gestionar testigos en servicio de transporte semiduplex Retienen los datos de la capa superior hasta que toca transmitir ARITT/ITT-IT CURSO 07/08 TEMA 6 (23) ARITT/ITT-IT CURSO 07/08 TEMA 6 (24)
Representación de la información Las aplicaciones que se comunican Intercambian datos con tipo enteros, enteros cortos, enteros largos... flotantes, flotantes dobles... caracteres, cadenas, fechas... Pero pueden representarlos de distinta forma carácter, con siete o con ocho bits? entero, con uno o con dos bytes? little endian o big endian ARITT/ITT-IT CURSO 07/08 TEMA 6 (25) ARITT/ITT-IT CURSO 07/08 TEMA 6 (26) Protocolos de aplicación Permiten gestionar el intercambio de información en aplicaciones distribuidas Para ello utilizan servicios de capas inferiores Ejemplos SMTP: correo electrónico HTTP: transferencia de hipertexto NNTP: noticias FTP: transferencia de ficheros TELNET: terminal virtual ARITT/ITT-IT CURSO 07/08 TEMA 6 (27) ARITT/ITT-IT CURSO 07/08 TEMA 6 (28)
Envío de un correo electrónico Qué pasa en el nivel de aplicación? A.tel.uva.es Ethernet Un usuario en A manda un correo a B R Ethernet B.tel.uva.es A través de dos LAN Ethernet conectadas por un encaminador Se utilizan protocolos TCP/IP sobre Ethernet SMTP TCP IP Ethernet Uso del protocolo SMTP El transmisor (A) pide una conexión TCP al receptor (B) B: 220 B.tel.uva.es destino se identifica A: HELO A.tel.uva.es origen se identifica B: 250 ok A: MAIL FROM: <edugom@a.tel.uva.es> se indica remitente B: 250 ok A: RCPT TO: <migbot@b.tel.uva.es> se indica receptor B: 250 ok A: DATA va a comenzar a transmitir B: 354 permite que comience a transmitir, y que se termine con una línea con un punto A: un poco de mensaje manda una primera línea de mensaje A: otro poco de mensaje manda una segunda línea de mensaje A:. manda sólo un punto, con lo que el receptor sabe que ha acabado B: 250 ok A: QUIT pide terminar la sesión de intercambio de mensajes B: 250 ok El transmisor pide el cierre de la conexión TCP ARITT/ITT-IT CURSO 07/08 TEMA 6 (29) ARITT/ITT-IT CURSO 07/08 TEMA 6 (30) Qué pasa en el nivel de transporte? Qué pasa en el nivel de transporte? Uso del protocolo TCP La capa superior pide establecer la conexión Indica máquina y puerto de destino A: Envía segmento de petición de conexión Indica puertos (origen y destino), SN=X, y activa el indicador SYN B: Acepta establecimiento con un segmento SN=Y, AN=X+1, y activa los indicadores SYN y ACK A: Acepta la aceptación (three way handshake) SN=X+1, AN=Y+1, y activa el indicador ACK ARITT/ITT-IT CURSO 07/08 TEMA 6 (31) ARITT/ITT-IT CURSO 07/08 TEMA 6 (32)
Qué pasa en el nivel de transporte? Ahora transporta los primeros datos 220 B.tel.uva.es : 17 bytes de datos B: forma un segmento con estos 17 bytes SN=Y+1, AN=X+1 A los pasa a su capa superior Recibe de esta HELO A.tel.uva.es A: forma un segmento con estos 18 bytes SN=X+1, AN=Y+18 Observa el asentimiento de los 17 bytes de B Qué pasa en el nivel de transporte? B los pasa a su capa superior Recibe de esta 250 A: forma un segmento con estos 3 bytes SN=X+18, AN=Y+19 Observa que la numeración no es por segmento, sino por byte Observa el asentimiento de los 18 bytes de B El proceso sigue... ARITT/ITT-IT CURSO 07/08 TEMA 6 (33) ARITT/ITT-IT CURSO 07/08 TEMA 6 (34) Qué pasa en el nivel de transporte? Qué pasa en el nivel de red? A pide el cierre de la conexión TCP A emite un segmento Activa el indicador FIN B contesta con un segmento con el indicador ACK Uso del protocolo IP No hay establecimiento de conexiones También se cierra la conexión en el otro sentido ARITT/ITT-IT CURSO 07/08 TEMA 6 (35) ARITT/ITT-IT CURSO 07/08 TEMA 6 (36)
Qué pasa en el nivel de red? Qué es lo primero a transportar? Petición de conexión TCP de A a B 20 bytes de la capa de transporte Se forma un paquete IP con esos 20 bytes Se indica que el protocolo usuario es TCP Se indican las direcciones IP de origen (A) y destino (B) Hay que en encaminarlo Para llegar hasta B, lo mejor es enviar primero a R Hay que hacerlo a través de una Ethernet Primero hay que averiguar la dirección MAC ARITT/ITT-IT CURSO 07/08 TEMA 6 (37) Resolución de la dirección MAC A debe averiguar la MAC de R Emite un paquete ARP Indica su dirección IP (IP-A), su MAC (MAC-A) Indica la IP de R (IP-R) y pregunta su MAC R contesta con una respuesta ARP Indica IP-A y MAC-A Indica IP-R y MAC-R ARITT/ITT-IT CURSO 07/08 TEMA 6 (38) Qué pasa en el nivel de red? Ahora A puede mandar el paquete IP La entidad IP invoca a la entidad Ethernet Le pide que le transporte el paquete IP Le dice a qué MAC (MAC-R) hay que llevarlo El paquete IP llega a R El nivel IP no sabe si hubo o no colisiones en la capa MAC R debe encaminar el paquete Para B sabe cómo hacerlo Antes debe averiguar MAC-B Mismo proceso de petición y respuesta ARP ARITT/ITT-IT CURSO 07/08 TEMA 6 (39) Qué pasa en el nivel de red? Ahora, qué hay que transportar? Respuesta de conexión TCP de B a A 20 bytes de la capa de transporte Se forma un paquete IP con esos 20 bytes Se indica que el protocolo usuario es TCP Se indican las direcciones IP de origen (B) y destino (A) Hay que en encaminarlo Para llegar hasta A, lo mejor es enviar primero a R Hay que hacerlo a través de una Ethernet Pero ahora ya se saben las MAC ARITT/ITT-IT CURSO 07/08 TEMA 6 (40)
Qué pasa en el nivel de red? Qué pasa en el nivel MAC? El protocolo IP transportará los datos de TCP Sin saber qué son (peticiones, datos ) Si hubiese más caminos posibles Posiblemente los datagramas recorrerían distintos caminos Se encapsulan los paquetes IP El primero tiene 40 bytes Relleno hasta 46 bytes Si alguno fuese muy grande Fragmentación y reensamblado Lo suele hacer la capa IP No entrega datagramas muy grandes Las tramas se intentan llevar hasta el destino Servicio de mejor intento ARITT/ITT-IT CURSO 07/08 TEMA 6 (41) ARITT/ITT-IT CURSO 07/08 TEMA 6 (42) Encapsulamiento IP sobre IEEE 802.3 ARITT/ITT-IT CURSO 07/08 TEMA 6 (43)