Universidad de Chile Facultad de Ciencias Físicas y Matemáticas Departamento de Ingeniería Eléctrica Sistemas de Telecomunicaciones EL55a. Capítulo 7. “Capa de Transporte” . Profesor: Néstor Becerra Yoma Temario del Capítulo. 7. Capa de Transporte. 1. Concepto de API 2. UDP (User datagram protocol) 3. TCP (Transmition control protocol) 7. Capa de Transporte. •Encargada de dar confiabilidad al transporte de datos sobre redes. •No tiene consideración sobre las capas subyacentes •Es la primera capa que realmente hace abstracción de las capas de niveles inferiores. •Implementa servicios para las capas superiores: •Control de Flujo •Multiplexación •Manejo de Circuitos Virtuales •Etc… una 7.1 Concepto de API Application Program Interface •Es una estructura o conjunto de funciones que provee el sistema operativo para que los procesos (usuarios) tengan acceso a ciertos servicios. •Puede ser invocada mediante instrucciones de algún lenguaje de programación. •El ejemplo más conocido de API’s para protocolos de comunicación es la interfaz socket. 7.1.1 Concepto de API Cliente - Servidor •Los socket se basan en un modelo de cliente – servidor. •El servidor acepta peticiones que llegan por la red, realiza el servicio y devuelve el resultado al solicitante. •Se entiende por cliente el proceso que envía una petición de servicio y espera respuesta. 7.1.1 Concepto de API Cliente - Servidor El significado de cada una de ellas es el siguiente: •Socket: crea un punto de comunicación. •Bind: asocia una dirección local al socket. •Listen: indica que se comenzará a escuchar conexiones, indicando número máximo de ellas. •Accept: acepta las conexiones provenientes desde los clientes. Connect: intenta establecer una comunicación. •Read: lee la información que llega a través de él. •Write: escribe la información que se desea enviar. •Close: cierra el socket, liberando la conexión. 7.1 Concepto de API Application Program Interface •Los tipos de conexiones posibles para un protocolo de Internet son básicamente dos: •No orientado a la conexión y no confiable. •Protocolo que lo implementa: UDP •Orientado a la conexión y confiable. •Protocolo que lo implementa: TCP 7.2 UDP User Datagram Interface •El protocolo más sencillo de capa de transporte que da solución a esta interrogante se conoce como Protocolo de Datagramas de Usuario o UDP. •Aporta un procedimiento para que los procesos de aplicación puedan enviar mensajes a otros procesos con un mínimo de overhead y retardo. •No existe control de perdida de paquetes. Este protocolo no implementa ningún mecanismo de recuperación. 7.2 UDP User Datagram Interface •Cada aplicación es identificada por un puerto de protocolo, el cual es un número entero contenido dentro del encabezado UDP. • El sistema operativo local proporciona un mecanismo de interfaz que los procesos utilizan para especificar o acceder un puerto. PUERTO 1 PUERTO 2 UDP: Multiplexación Basado en el puerto CAPA IP PUERTO 3 7.2 UDP User Datagram Interface •El encabezado UDP, con sus respectivos campos, se muestra a continuación: 7.2 UDP User Datagram Interface • Los campos Puerto de Origen y Puerto de destino contienen los números que servirán para identificar las distintas aplicaciones, permitiendo la multiplexación de procesos. • El campo de Longitud contiene el tamaño del encabezado y datos contenidos en el datagrama UDP en número de bytes. • La Suma de verificación es opcional, un valor de cero significa que la suma no se llevó a cabo. 7.3 TCP Transfer Control Protocol • Ofrece un servicio orientado a la conexión y confiable. • Entrega garantizada de los datos enviados de una máquina a otra sin pérdida o duplicación. • Envía un segmento de datos y se espera su confirmación para el envío del siguiente. • Ineficiente en el sentido que se desperdicia ancho de banda 7.3.1 TCP Ventanas Deslizantes • Consiste en ordenar una secuencia de paquetes que serán enviados. • Coloca una ventana pequeña de tamaño fijo sobre la secuencia. • Los segmentos en el interior de la ventana, serán transmitidos en forma consecutiva. • Cuando el transmisor recibe un acuse de recibo del primer paquete mueve la ventana en un segmento y envía el siguiente paquete. 7.3.1 TCP Ventanas Deslizantes • Entonces la ventana se moverá a medida que vayan llegando las confirmaciones. • Siempre es posible elegir un tamaño optimo tal que los tiempos ociosos se reduzcan al mínimo. • Se agrega una última dimensión, la cual permite que el tamaño de la ventana sea variable. 7.3.1 TCP Ventanas Deslizantes Ventana deslizante 7.3.1 TCP Ventanas Deslizantes 7.3.2 TCP Hand Shaking •El establecimiento se realiza con un saludo de tres etapas, consistentes básicamente un intercambio y acuses de recibo de segmentos TCP con algún campo en particular indicando la acción. •Una vez que se establece la conexión, esta es Full Duplex. •De esta forma se garantiza que ambos lados estén listos para transferir datos. •Permite además acordar un número de secuencia inicial para los segmentos. 7.3.2 TCP Hand Shaking Handshake de tres pasos 7.3.2 TCP Hand Shaking •Cerrar una sesión utiliza un procedimiento similar al “saludo” de tres etapas •Al cerrar un extremo, este envía una trama de fin al otro extremo, lo cual provoca que se avise a la aplicación que concluye la sesión. •Mientras esto se hace, ya se envió un segmento de acuse de recibo finalizando las etapas. 7.3.3 TCP Encabezado •TCP utiliza el mismo sistema de multiplexado de UDP. •Implementa números de puerto para identificar los distintos procesos en una máquina.