Document Details

ProperChalcedony6088

Uploaded by ProperChalcedony6088

2024

1º ASIR

María del Pilar Gómez Cárdenas

Tags

transport layer network protocols computer networking data communication

Summary

This document is a past paper for a 1st ASIR course on network protocols, specifically focusing on the Transport Layer. The paper covers various functions of the transport layer, including communication tracing, data segmentation, reassembly, application identification, multiple communication separation, and control of conversations.

Full Transcript

UNIDAD DE TRABAJO PLANIFICACIÓN Y ADMINISTRACIÓN DE REDES | 1º ASIR 4: Profesora: María del Pilar Gómez Cárdenas CAPA DE TRANSPORTE 2024-2025 FUNCIONES DE LA CAPA DE TRANSPORTE Los programas de capa de aplicación generan datos que deben inte...

UNIDAD DE TRABAJO PLANIFICACIÓN Y ADMINISTRACIÓN DE REDES | 1º ASIR 4: Profesora: María del Pilar Gómez Cárdenas CAPA DE TRANSPORTE 2024-2025 FUNCIONES DE LA CAPA DE TRANSPORTE Los programas de capa de aplicación generan datos que deben intercambiarse entre los hosts de origen y de destino. La capa de transporte es responsable de las comunicaciones lógicas entre aplicaciones que se ejecutan en diferentes hosts. Esto puede incluir servicios como el establecimiento de una sesión temporal entre dos hosts y la transmisión fiable de información para una aplicación. FUNCIONES DE LA CAPA DE TRANSPORTE Sus funciones son: 1. Rastreo de comunicación individual entre aplicaciones en los hosts de origen y destino 2. Segmentación de datos y manejo de cada parte 3. Reensamble de segmentos (o datagramas) en streams (flujos) de datos de aplicación 4. Identificación de diferentes aplicaciones 5. Separación de comunicaciones múltiples FUNCIONES DE LA CAPA DE TRANSPORTE 1.- Rastreo de conversaciones individuales: Un host tiene múltiples aplicaciones que se comunican a través de la red. Cada aplicación se comunica con una o más aplicaciones en hosts remotos. La capa de transporte mantiene los flujos de comunicación múltiple entre estas aplicaciones. FUNCIONES DE LA CAPA DE TRANSPORTE 2.- Segmentación de datos Los protocolos de capa de transporte describen cómo segmentar los datos de la capa de aplicación. Cada sección de datos es encapsulada con el encabezado de la capa de transporte La capa de transporte determina la cantidad de datos que se pueden incluir en una simple PDU. FUNCIONES DE LA CAPA DE TRANSPORTE 3.- Reensamblaje de segmentos En el host destino se unen las secciones de datos para reconstruir el mensaje original. Para este proceso se utiliza la información contenida en el encabezado de la capa de transporte. FUNCIONES DE LA CAPA DE TRANSPORTE 4.- Identificación de aplicaciones Las aplicaciones generan datos que se envían desde una aplicación a otra sin tener en cuenta el tipo de host destino, el tipo de medios sobre los que los datos deben viajar, el paso tomado por los datos, la congestión en un enlace o el tamaño de la red. Los datos se deben entregar a la aplicación adecuada. La aplicación se identifica mediante el número de puerto. FUNCIONES DECAPA FUNCIONES DE LA LA CAPA DE TRANSPORTE DE TRANSPORTE La capa de transporte es el enlace entre la capa de aplicación y la capa de red (responsable de la transmisión de la red). Esta capa acepta los datos de diferentes conversaciones y las pasa a las capas inferiores como partes manejables que se pueden multiplexar1 de forma eventual en la red. 1La multiplexación permite que todos los mensajes, o conversaciones puedan ser enviados por un mismo medio manteniendo su integridad individual de tal forma que puedan ser legibles para el receptor. Técnicamente: combinación de 2 o más canales de información en un mismo medio de transmisión. FUNCIONES DE FUNCIONES DELALACAPA CAPADEDE TRANSPORTE TRANSPORTE Los segmentos deben llegar en una secuencia específica Una aplicación puede tolerar cierta pérdida de datos … Las capas inferiores no tienen conocimiento de que existen varias aplicaciones que envían datos en la red los segmentos deben llegar en una Aplicaciones con secuencia específica una aplicación puede tolerar cierta diferentes requisitos pérdida de datos … Múltiples protocolos en la capa de transporte FUNCIONES DE LA CAPA DE TRANSPORTE 5.- Separación de comunicaciones múltiples En la capa de transporte, cada conjunto de datos que fluye entre una aplicación de origen y una aplicación de destino se conoce como una conversación y se rastrea por separado. Es responsabilidad de la capa de transporte mantener y hacer un seguimiento de todas estas conversaciones. Un host puede mantener varias conversaciones simultáneamente con diferentes servicios. Sin embargo. los datos no se mezclan. FUNCIONES DE LA CAPA DE TRANSPORTE Dividir datos en pequeñas partes y enviarlas del origen al destino permite que muchas comunicaciones diferentes se intercalen (multiplexadas) en la misma red FUNCIONES DE LA CAPA DE TRANSPORTE CONTROL DE LAS CONVERSACIONES ¿Esto no lo hacía 1.- Establecimiento de una conexión (o la capa de sesión? sesión temporalmente) Permite establecer conversaciones orientadas a la conexión. Asegura que la aplicación está lista para recibir los datos Prepara las aplicaciones para que se comuniquen entre sí antes de que se transmitan los datos. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE CONTROL DE LAS CONVERSACIONES 1.- Establecimiento de una sesión La capa de sesión realiza un establecimiento a nivel de sesión entre aplicaciones y la c. de transporte realizan un establecimiento a nivel de conexión o sesión (cuando le pasa el testigo la c. de sesión) entre aplicaciones. Función C. sesión C. transporte Trabajan en tres fases: establecimiento, A nivel conexión A nivel sesión utilización y liberación normalmente S-RELEASE.request T-DISCONNECT.request Liberación ordenada, Liberación abrupta que Terminar la sesión o la conexión puede producir pérdida de sin errores datos CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE CONTROL DE LAS CONVERSACIONES 1.- Establecimiento de una sesión Función C. sesión C. transporte Sí Mantiene un seguimiento de a quien le corresponde Administración del diálogo el turno de hablar y de hacerlo cumplir (mediante un No testigo). Decide cuando inicia la sesión, si la comunicación será fullduplex o halfduplex. Sincronización. Se utiliza para llevar las Sí Los usuarios de sesión pueden dividir el texto en entidades de sesión de vuelta a un estado páginas, e insertar un punto de sincronización entre No conocido, en caso de que haya un error o cada una de ellas. algún desacuerdo Sí En caso de presentarse un problema, restablece el Resincronización estado de la sesión a un punto previo de No sincronización, para desde ahí continuar Notificación de excepciones (errores Si Notifica a su corresponsal utilizando la primitiva S-U- inesperados) No EXCEPTION-REPORT.request. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE CONTROL DE LAS CONVERSACIONES 2.- Entrega confiable Si la aplicación que inicia la comunicación utiliza protocolo TCP, se puede garantizar una entrega confiable. Estudiaremos más adelante el protocolo TCP CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE CONTROL DE LAS CONVERSACIONES 3.- Reconstrucción de datos ordenada La capa de transporte numera y secuencia los segmentos. Así puede asegurar que estos datos se reensamblen en el orden adecuado. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE CONTROL DE LAS CONVERSACIONES 4.- Control de flujo La capa de transporte puede detectar que los recursos de los hosts están sobrecargados. Para solucionarlo puede solicitar que la aplicación emisora reduzca la velocidad del flujo de datos Con estas medidas se puede evitar: La pérdida de segmentos en la red La necesidad de la retransmisión CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE TCP Y UDP PROTOCOLOS TCP/IP (de la capa de transporte) Especifican cómo transferir mensajes entre hosts y son responsables de administrar los requisitos de fiabilidad de una conversación. La capa de transporte incluye los protocolos TCP y UDP. Las diferentes aplicaciones tienen diferentes requisitos de confiabilidad de transporte. Protocolo de Control de Transmisión (TCP) Protocolo de Datagramas de Usuario (UDP) CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE SOPORTE DE COMUNICACIÓN CONFIABLE no requieren confiabilidad requieren confiabilidad Protocolos que Protocolos que CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE TCP Y UDP Protocolo de Datagramas de Usuario (UDP) Definido en el RFC 768 Protocolo simple, sin conexión Provee la entrega de datos sin utilizar muchos recursos Las porciones de comunicación en UDP se denominan datagramas CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE TCP Y UDP Aplicaciones que utilizan UDP Sistema de nombres de dominio (DNS) Protocolo de asignación de IPs (DHCP) Trivial FTP (TFTP) Streaming video Voz sobre IP (VoIP) CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE TCP Y UDP Protocolo de Control de Transmisión (TCP) Definido en el RFC 793 Protocolo orientado a la conexión Funciones adicionales: entrega confiable y de control de flujo. Las porciones de comunicación en TCP se denominan segmentos CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE TCP Y UDP Aplicaciones que utilizan TCP Navegadores web (HTTP) Correo electrónico entrante (POP3) Correo saliente (SMTP, TLS) Transferencia de archivos (FTP, FTPES y SFTP) Administrar equipos de forma local y remota (SSH) CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE TCP Y UDP CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Para diferenciar los segmentos y datagramas para cada aplicación Identificadores únicos NÚMERO DE PUERTO CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Número de puerto de origen Aplicación que origina la comunicación en el host local Número de puerto de destino Aplicación de destino que origina la comunicación en el host local CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Asignación de número de puerto depende de si el mensaje es una solicitud o una respuesta Procesos del cliente Procesos del servidor Nº de puerto Nº de puerto dinámicos estáticos asignados asignados CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Ej. → Servidor web (puerto TCP 80) Aplicación Solicitud Aplicación de cliente de servidor Nª de puerto asignado al demonio de servicio que se ejecuta en el host remoto, normalmente es un puerto fijo (conocido por el software del cliente) CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Aplicación Solicitud Aplicación de cliente de servidor Se crea de forma aleatoria Números de puerto mayores de 1023 Sirve de dirección de retorno para la aplicación que realiza la solicitud CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO No puede haber un conflicto con otros puertos en uso en el sistema El número de puerto de la aplicación que realiza la solicitud se utiliza como número de puerto de destino en la respuesta que vuelve del servidor CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Número de puerto + Dirección IP SOCKET Identifica de manera exclusiva un proceso en particular que se ejecuta en un host específico CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Ejemplo: Una solicitud de página Web HTTP que se envía a un servidor Web (puerto 80) que se ejecuta en un host con una dirección IPv4 de Capa 3 de 192.168.1.20 Socket → 192.168.1.20:80 Si el explorador Web que solicita una página Web se ejecuta en el host 192.168.100.48 y el número de puerto dinámico que se asignó al explorador es 49152 Socket → 192.168.100.48:49152 CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO La organización responsable de asignar los números de puerto es la IANA (Internet Assigned Numbers Authority) Este organismo es el mismo que asigna las direcciones IP a los ISPs y la administración de los servidores DNS raíz. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Tipos de números de puerto 0 a 1023: se reservan para servicios y aplicaciones de los servidores 1024 a 49151: se asignan a procesos o aplicaciones del usuario 49152 a 65535: son puertos dinámicos o privados. Se asignan de forma dinámica a las aplicaciones al iniciarse la sesión. Se usan en redes P2P. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO PUERTOS TCP CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO PUERTOS UDP CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO PUERTOS TCP/UDP http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Comando Netstat Herramienta para conocer las conexiones TCP activas que están abiertas y en ejecución en el host de red. Este comando nos indica: el protocolo en uso la dirección y el número de puerto locales la dirección y el número de puerto ajenos (remota) el estado de la conexión CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Es una herramienta en línea de comandos. Para aprovechar al máximo sus capacidades es necesario ejecutarlo con privilegios de administrador. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Si ejecutamos el comando sin parámetros nos muestra las conexiones activas en nuestro sistema: CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO El estado puede ser uno de los siguientes: CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Podemos ver la ayuda con el modificador /? CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO -b: podemos ver las aplicaciones asociadas a los puertos. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO -n: nos muestra las direcciones en formato numérico. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO -o: muestra los PID de los procesos. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO -e: muestra las estadísticas de la red CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO -r: muestra la tabla de rutas CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO -s: muestra las estadísticas por protocolos CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Ejemplos de usos de netstat. Conocer los puertos que están a la escucha CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Saber las conexiones establecidas de un protocolo en concreto. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE DIRECCIONAMIENTO DE PUERTO Podemos usar el comando tasklist para saber el ejecutable que corresponde a un proceso. Para saber más: Practica con tasklist https://norfipc.com/redes/netstat-conocer-ver- conexiones-activas.html CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE SEGMENTACIÓN Y REENSAMBLAJE Dividir los datos de la aplicación en partes asegura que: Éstos se transmitan dentro de los límites de los medios Que se puedan multiplexar en el medio Segmentación UDP  Segmentación TCP CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE SEGMENTACIÓN Y REENSAMBLAJE Segmentación UDP Segmentación TCP Genera menos carga Permite reensamblar que TCP. los segmentos en el mismo orden en el Una transferencia de cual se transmitieron. datos más rápida La aplicación de destino tiene los datos en la misma forma que el emisor la planeó. CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE SEGMENTACIÓN Y REENSAMBLAJE CAPA DE TRANSPORTE | FUNCIONES DE LA CAPA DE TRANSPORTE PROTOCOLO TCP La diferencia entre el protocolo TCP y el protocolo UDP es la confiabilidad. Se consigue de dos maneras: Sesiones orientadas a la conexión Acuse de recibo CAPA DE TRANSPORTE | PROTOCOLO TCP PROTOCOLO TCP Sesiones orientadas a la conexión. Antes de que un host que utiliza TCP envíe datos a otro host, la capa de transporte inicia un proceso para crear una conexión con el destino Esta conexión permite el rastreo de una sesión, o stream de comunicación entre los hosts Los hosts se preparan para la comunicación en ambas direcciones CAPA DE TRANSPORTE | PROTOCOLO TCP PROTOCOLO TCP Acuse de recibo al origen. Forma la base de la confiabilidad dentro de la sesión TCP Si el origen recibe un acuse de recibo -> Reconoce que los datos se han entregado con éxito y puede dejar de rastrearlos Si el origen no recibe un acuse de recibo -> Retransmite esos datos al destino CAPA DE TRANSPORTE | PROTOCOLO TCP PROTOCOLO TCP El uso de TCP genera una carga adicional: El tráfico de red generado por los acuses de recibo y las retransmisiones Más los segmentos adicionales intercambiados, al establecer las sesiones Más la sobrecarga en los hosts individuales creada por la necesidad de mantener un registro de los segmentos que esperan un acuse de recibo y por el proceso de retransmisión CAPA DE TRANSPORTE | PROTOCOLO TCP PROTOCOLO TCP TCP incluye campos que garantizan la entrega de los datos de la aplicación. Estos campos requieren un procesamiento adicional por parte de los hosts de envío y recepción. CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP ¿Qué ocurre en el servidor cuando se establece una comunicación TCP? Los procesos del servidor (de aplicación) esperan hasta que el cliente inicia comunicación con una solicitud de información u otros servicios Cada proceso de aplicación tiene asignado un número de puerto. Puede ser: Predeterminado (p.e. FTP en el 21) Asignado manualmente por administrador (FTP en 2121) CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP Un servidor individual no puede tener dos servicios asignados al mismo número de puerto dentro de los mismos servicios de la capa de transporte Ejemplo Aplicación de servidor Web Puerto TCP 8080 Aplicación de transferencia de archivos CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP Cuando a una aplicación del servidor se le asigna a un puerto específico se dice que hay un puerto abierto en ese servidor. Un puerto abierto significa que la capa de transporte acepta y procesa segmentos direccionados a ese puerto CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP Lo habitual es que en un servidor haya varios puertos abiertos simultáneamente. Uno para cada aplicación de servidor activa. Se puede mejorar la seguridad del servidor restringiendo el acceso al servidor únicamente a aquellos puertos asociados con los servicios y aplicaciones que deberían estar accesibles para los solicitantes autorizados CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP. Actividad Necesitas: 1 máquinas virtuales Linux Wireshark Abre tres terminales cada una será para: 1. Establecer sesión de Servidor 2. Establecer sesión de Cliente 3. Ver lo que se escucha por el puerto 3000 Para cada ventana ejecuta los siguientes comandos 1. nc –l 3000 2. Nc 127.0.0.1 3000 3. netstat –anp | grep 3000 Empieza escribiendo una frase en el cliente Ejecuta nuevamente la orden 1. Observa lo que sucede y saca captura Contesta por la ventana del servidor Ejecuta nuevamente la orden 1. Observa lo que sucede y saca captura Repite nuevamente pasos a, b y c Analiza lo que ha pasado. Investiga el comando netstat en Linux y sus parámetros. Realiza una conclusión de la practica Netcat Como has aprendido en la práctica anterior, Netcat es una herramienta de red que permite a través de intérprete de comandos abrir puertos TCP/UDP en un HOST, asociar una shell a un puerto en concreto y forzar conexiones UDP/TCP. Se le conoce como la “navaja suiza” de las utilidades de red debido a su flexibilidad y capacidad para realizar una variedad de tareas relacionadas con la comunicación y transferencia de datos a través de redes. Algunos ejemplos de cómo se puede utilizar Netcat: Crear un túnel TCP o UDP entre dos computadoras. Esto puede ser útil para transferir archivos o depurar aplicaciones de red. Transferir archivos, creas con Netcat una conexión TCP entre dos computadoras y luego copias los archivos a través de la conexión. Depurar aplicaciones de red. Creas una conexión TCP o UDP con Netcat entre su computadora y la aplicación de red y luego enviar y recibir mensajes a través de la conexión. PROCESOS DEL SERVIDOR TCP Asignación típica de puertos de origen y destino en operaciones de cliente o servidor TCP 1.- Solicitar puertos de destino CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP 2.- Solicitar puertos de origen CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP 3.- Respuesta de puertos de destino CAPA DE TRANSPORTE | PROTOCOLO TCP PROCESOS DEL SERVIDOR TCP 4.- Respuesta de puertos de origen CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Establecimiento de la conexión Para establecer una conexión entre el origen y el destino se siguen una serie de pasos: 1. Se establece una conexión 2. Se intercambian los datos 3. Se completa la comunicación 4. Se cierran las sesiones 5. La conexión finaliza CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Cada aplicación o servicio (email, youtube, skype, spotify...) que abrimos en Internet, se almacena en nuestro ordenador en un buffer. Al establecerse la conexión, la CPU genera un TCB (transmission Control Block) por cada aplicación o servicio, que contiene información relativa a esa conexión (todos los datos de conexión que necesita TCP para la conexión, se almacenan aquí): ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Cuando el cliente inicia solicitud de conexión (Active open) se comunica con la capa de transporte para comunicárselo, entonces se crea el TCB y acto seguido el TCP envía el primer segmento hacia el servidor para intentar conectarse con él. El servidor ya tiene creados varios TCB (TCBs no especificados) para cada tipo de proceso antes de que se inicie cualquier conexión (operación Passive Open) y se los va comunicando a la capa de transporte para que ésta tenga conocimiento el puerto por el que escucha a cada proceso. ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Cuando llega el primer mensaje de establecimiento conexión desde un cliente, el TCB correspondiente a la aplicación solicitada, es rellenado con los datos del segmento de origen para dejar especificado a quién le pertenece cada TCB. ¿Porqué el servidor crea los TCB antes de la conexión? Porque debe estar en modo listening (modo escucha) para responder de forma rápida a las peticiones de los clientes. ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Cuando se solicita el establecimiento de conexión en el header, el cliente envia el primer segmento, llamado segmento SYN, y en el header se activa el campo SYN (se pone a 1). Cuando responde el servidor para establecer la conexión, envia un mensaje ACK, para notificar que recibió el segmento, y se activa en el header el campo ACK (se pone a 1). ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Establecimiento y finalización de la comunicación 3-way handshake ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN El cliente de origen envía un segmento que contiene un valor de secuencia inicial, el cual sirve como solicitud para que el servidor comience una sesión de comunicación SYN → sincronizar números de secuencia CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN El servidor responde con un segmento que contiene: Un valor de reconocimiento igual al valor de secuencia recibido más 1 Su propio valor de secuencia de sincronización. El valor es uno mayor que el número de secuencia porque el ACK es siempre el próximo Byte u Octeto esperado. Este valor de reconocimiento permite al cliente unir la respuesta al segmento original que fue enviado al servidor CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN ACK → campo de reconocimiento importante CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN El cliente que inicia la conexión responde con un valor de reconocimiento igual al valor de secuencia que recibió más uno. Esto completa el proceso de establecimiento de la conexión CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Finalización de la conexión Para finalizar la conexión se utiliza un enlace de dos vías: Un segmento FIN Un segmento ACK Como el proceso de finalización lo pueden iniciar dos hosts cualquiera se requieren cuatro intercambios para finalizar ambas sesiones CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN Cuando el cliente no tiene más datos para enviar en el stream, envía un segmento con el señalador FIN establecido FIN → no hay más datos del emisor CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN El servidor envía un ACK para acusar de recibo el FIN para terminar la sesión de cliente a servidor CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN El servidor envía un FIN al cliente para terminar la sesión de servidor a cliente CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN El cliente responde con un ACK para dar acuse de recibo del FIN desde el servidor CAPA DE TRANSPORTE | PROTOCOLO TCP ESTABLECIMIENTO Y FINALIZACIÓN DE LA CONEXIÓN CAPA DE TRANSPORTE | PROTOCOLO TCP ADMINISTRACIÓN DE SESIONES TCP Cuando los servicios envían datos mediante el TCP Los segmentos pueden llegar a su destino desordenados Para que el receptor comprenda el mensaje original los datos en estos segmentos se reensamblan en el orden original. El reensamblado se consigue asignando números de secuencia en el encabezado de cada paquete. CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP ADMINISTRACIÓN DE SESIONES TCP El proceso es: Los segmentos se almacenan en un buffer de recepción a medida que llegan. Si los segmentos llegan en orden se ensamblan y se envían a la capa de aplicación. Si llegan segmentos no contiguos se mantienen en el buffer hasta que lleguen los segmentos que les preceden. CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP ADMINISTRACIÓN DE SESIONES TCP CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP https://www.youtube.com/watch?v=nxtrJEJAIA4 ACUSE CON RECIBO DE VENTANAS Otra característica de TCP es que dispone de acuse de recibo. Para asegurar que cada segmento llegue a su destino los servicios TCP en el host de destino envían a la aplicación de origen un acuse de recibo de los datos recibidos. Con este acuse se le informa al origen que el destino ha recibido todos los bytes del stream de datos en cuestión. CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP https://www.youtube.com/watch?v=084puXRb8nc https://www.youtube.com/watch?v=eBrxNw5PL6s&t=7s ACUSE CON RECIBO DE VENTANAS El host emisor envía un segmento que utiliza un número de secuencia que es igual al número de acuse de recibo CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP ACUSE CON RECIBO DE VENTANAS ¿Qué sucedería si el host emisor tuviera que esperar el acuse de recibo por la recepción de cada uno de los 10 bytes? La red estaría demasiado sobrecargada Para reducir la Los segmentos de datos múltiples sobrecarga de pueden enviarse previamente y ser estos acuses reconocidos con un mensaje TCP de recibo simple en la dirección opuesta CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP ACUSE CON RECIBO DE VENTANAS Ejemplo Se comienza con un número de secuencia 2000 Se reciben 10 segmentos de 1000 bytes cada uno Se devolverá al origen un número de acuse de recibo igual a 12000 (2000 + 10*1000) CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP ACUSE CON RECIBO DE VENTANAS TAMAÑO DE LA VENTANA Cantidad de datos que un origen puede transmitir antes de que se deba recibir un acuse de recibo El tamaño de ventana permite la administración de datos perdidos y el control del flujo. CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP ACUSE CON RECIBO DE VENTANAS CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP ACUSE CON RECIBO DE VENTANAS La retransmisión TCP se utiliza para gestionar pérdidas ocasionales de segmentos, es decir, cuando no recibe un acuse de recibo de un determinado segmento. Cuando el TCP en el host de origen no recibe un acuse de recibo espera un tiempo y vuelve a transmitir los datos desde que recibió en último acuse de recibo. CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP RETRANSMISIÓN TCP Retransmisión automática sin ventana CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP RETRANSMISIÓN TCP TCP generalmente sólo da acuse de recibo de datos para bytes de secuencia continuos. Esto quiere decir que si se pierde un segmento deberá reenviar todos los segmentos posteriores. Ejemplo Se recibieron los segmentos con números de secuencia de 2000 a 3000 y de 4000 a 5000. El número de acuse de recibo sería 3001 (porque hay segmentos con números de secuencia del 3001 al 4000 que no se han recibido) y se reenviarían los paquetes a partir de este número de secuencia. CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP RETRANSMISIÓN TCP CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP CONTROL DE FLUJO El control de flujo ajusta la tasa efectiva de flujo de datos entre los dos servicios de una sesión Cuando se le informa al origen que se recibió una cantidad específica de datos en los segmentos puede seguir enviando más datos para esta sesión. CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP CONTROL DE FLUJO TCP intenta gestionar la tasa de transmisión de manera que todos los datos se reciban y se reduzcan las retransmisiones Se gestiona mediante el tamaño de la ventana y los acuses de recibo CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP CONTROL DE FLUJO CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP CONTROL DE FLUJO Tamaño de la ventana dinámico CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP CONTROL DE FLUJO Si el destino necesita disminuir la velocidad de comunicación debido a su memoria de búfer limitada, puede enviar un valor más pequeño del tamaño de la ventana al origen como parte del acuse de recibo Después de períodos de transmisión sin pérdidas de datos o recursos limitados, el receptor comenzará a aumentar el tamaño de la ventana CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP CONTROL DE FLUJO CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP CABECERA TCP Cabecera TCP CAPA DE TRANSPORTE | ADMINISTRACIÓN DE SESIONES TCP Actividad 2 Realiza en un folio grande un mapa conceptual por cada uno de los videos de las diapositivas 100, 102 y 103 (en total deben ser 3 mapas conceptuales). Toma una foto a cada uno y súbelas unidas en un solo archivo en formato pdf. Fecha de entrega: 16/11/2023 en el aula virtual. Actividad 3. Realiza el ejercicio de administración de sesiones que se subió al aula virtual. PROTOCOLO UDP UDP (User Datagram Protocol) Protocolo simple que provee las funciones básicas de la capa de transporte No está orientado a la conexión No proporciona mecanismos sofisticados de retransmisión, secuenciamiento y control de flujo. Tiene mucha menor sobrecarga que TCP CAPA DE TRANSPORTE | PROTOCOLO UDP PROTOCOLO UDP Protocolos de la capa de aplicación que utilizan UDP Sistema de nombres de dominio (DNS) Protocolo simple de administración de red (SNMP, Simple Network Management Protocol) Protocolo de configuración dinámica de host (DHCP) Protocolo de información de enrutamiento (RIP) Protocolo de transferencia de archivos trivial (TFTP) Juegos en línea CAPA DE TRANSPORTE | PROTOCOLO UDP PROTOCOLO UDP + pérdidas de datos UDP - Demoras (TCP detecta la pérdida de datos y los retransmite) La baja sobrecarga del UDP es deseada por muchas aplicaciones CAPA DE TRANSPORTE | PROTOCOLO UDP PROTOCOLO UDP UDP no establece una conexión. UDP suministra transporte de datos con baja sobrecarga debido a que posee un encabezado de datagrama pequeño sin tráfico de administración de red. Ejemplo → Juegos en línea VoIP CAPA DE TRANSPORTE | PROTOCOLO UDP PROTOCOLO UDP UDP está basado en transacciones (no conexión). Cuando una aplicación tiene datos que enviar, sólo los envía Según la aplicación puede enviar: Pequeñas cantidades de datos que pueden ajustarse en un segmento o datagrama Cantidades más grandes que deben dividirse en varios segmentos CAPA DE TRANSPORTE | PROTOCOLO UDP PROTOCOLO UDP UDP simplemente reensambla los datos en el orden en que se recibieron y los envía a la aplicación Si la secuencia de los datos es importante para la aplicación, la misma deberá identificar la secuencia adecuada y determinar cómo procesarlos Los datagramas perdidos no se reenvían. CAPA DE TRANSPORTE | PROTOCOLO UDP PROTOCOLO UDP CAPA DE TRANSPORTE | PROTOCOLO UDP PROTOCOLO UDP Al igual que TCP utiliza números de puerto bien conocidos o registrados en el servidor. CAPA DE TRANSPORTE | PROTOCOLO UDP CABECERA UDP Cabecera UDP CAPA DE TRANSPORTE | PROTOCOLO UDP BIBLIOGRAFÍA Sánchez, V. (09/2012. Funciones protocolos de aplicación. Vicente Sánchez Patón. https://vicentesanchezsri.files.wordpress.com/2012/09/protocolos- de-transporte-y-aplicacic3b3n.pdf De León, E. (18/10/2017). ¿Qué es la Multiplexación?. Eliezer De León. https://www.youtube.com/watch?v=1B4SiOewm5Q

Use Quizgecko on...
Browser
Browser