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