Capítulo 7 - U

Anuncio
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.
Descargar