Capa De Transporte2

20
CAPA DE TRANSPORTE DEL MODELO DE REFERENCIA OSI Eduardo Llanes Celedón Miguel Castilla Peña

Transcript of Capa De Transporte2

Page 1: Capa De Transporte2

CAPA DE TRANSPORTE DEL MODELO DE REFERENCIA OSI

Eduardo Llanes CeledónMiguel Castilla Peña

Page 2: Capa De Transporte2

CAPA DE TRAN

SPORTE

LA CAPA DE TRANSPORTE

• La capa de transporte no es solo otra capa. Es el corazon de la jerarquía completa de protocolos. La tarea de esta capa es proporcionar un paquete de datos confiable y económico de la maquina de origen

EL SERVICIOS PROPORCIONADO A CAPAS SUPERIORES

• La meta fundamental de la capa de trasporte es proporcionar un servicio eficiente, confiable y económico a sus usuarios. Que por lo general es la capa de aplicación

• El hardware o el software de la capa de transporte que se encarga del trabajo se llama entidad de trasporte

• El servicio orientado a conexiones tiene tres tareas: Establecimiento, trasferencia y un control de flujo

• Principalmente la capa de red puede detectar y compensar paquetes perdidos

CALIDAD DE SERVICIO

• Retardo de establecimiento de la conexión:

• Probabilidad de falla de establecimiento de la conexión:

• Rendimiendo

• Retardo de tránsito

• Tasa de error residual

• Proteccion

• Prioridad

• Tenacidad.

Page 3: Capa De Transporte2

CAPA DE TRAN

SPORTE

LAS PRIMITIVAS DE SERVICIO DE TRANSPORTE

EJEMPLO DE USO DE PRIMITIVAS

• El servidor ejecuta la primitiva LISTEN, (Bloqueada espera peticiones)• Cuando se desea conectar con un servidor se usa CONNECT y así envía un TPDU al

servidor • Al llegar el mensaje el servidor bloqueado en LISTEN (verifica si estaba en espera

de una solicitud ) he envia un TPDU CONNECT ACCEPTED• Llega al cliente y se desbloquea.• En esta etapa se puede enviar SEND y RECEIVE• Cuando se termina las operaciones y se desea liberar la conexión se ejecuta la

prmitiva DISCONNECT

CONCEPTOS

• TPDU: Transport Protocol Data Unit, unidad de datos del protocolo de transporte

Primitivas TPDU enviada Significado

LISTEN Ninguna Se bloquea hasta que algún proceso intenta el contacto

CONNECT Solicitud de conexión Intenta activamente establecer una conexión

SEND Datos Envía información

RECEIVE Ninguna Se bloquea hasta que llega una TPDU de DATOS

DISCONNECT Solicitud de desconexión Este lado quiere liberar la conexión

Page 4: Capa De Transporte2

CAPA DE TRAN

SPORTE

ELEMENTOS DE LOS PROTOCOLOS DE TRANSPORTE (DIRECCIONAMIENTO) CONEXIÓN PARA UNA CONEXIÓN DE TRASPORTE A TRAVES DE UNA CAPA DE RED

• TSPA : Transport Service Access Point, punto de acceso al servicio de red) para los puntos terminales de la capa de transporte

• NSAP: Network Service Access Point, punto de acceso al servicio de red las direcciones IP son un ejemplo.

CONCEPTOS

• Un proceso servidor de hora de día host 2 se conecta al TSAP 122 para esperar una llamada entrante.

• Un proceso de aplicación del host 1 quiere averiguar la hora del día, por lo que emite una solicitud CONNECT especificando el TSAP 6 como origen y el TSAP 122 como destino

• La entidad de transporte de host 1 selecciona una dirección de red en su máquina y establece una conexión de red entre ellas. Usando esta conexión de capa de red, la entidad de transporte del host 1 puede hablar con la entidad de transporte del host 2

• Lo primero que dice la entidad de trasporte de 1 a su igual de 2 es “Buenos días me gustaría establecer una conexión de transporte entre TSAP 6 y tu TSAP 122”

• La entidad de transporte 2 pregunta entonces al servidor de hora del día en TSAP 122.

• Cuando un servidor por ejemplo necesita conectarse a un hardware en especial y no se puede debido no se sabe su localización se utiliza un proceso especial llamado Servidor de nombres para encontrar direcciones TSAP, de esta manera el cliente se conecta con este servicio busca en su directorio el servicio deseado se desconecta y se conecta con el servicio seleccionado.

Un proceso de aplicación desea establecer una conexión con un proceso de aplicación remoto, debe especificar a cual debe conectarse El método que normalmente se emplea es definir direcciones de transporte en las que los procesos pueden estar a la escucha de solicitudes de conexión.

Page 5: Capa De Transporte2

CAPA DE TRAN

SPORTE

ESTABLECIMIENTO DE UNA CONEXIÓN

EXPLLICACION DE CASOS

PROTOCOLO DE ACUERDO DE LAS TRES VIAS

• No es solo utilizar un CONNECTION REQUEST y esperar una respuesta CONNECTION ACCEPTED.

• Problemas con mensajes duplicados, perdidos o almacenados

• Necesidad de crear un limite de vida de los paquetes (período T), para evitar que se usarán numero de secuencia iguales.

• Al haber problemas de caída de una conexión o envió de ráfagas muy rápidos se generaban mensajes duplicados.

• Como complemento se utilizo el protocolo de las tres vías

• Ejemplo a: El host 1 envía un CR, el host 2 acepta y ya puede empezar a intercambiar datos

• Ejemplo b: Al host 2 llega un CR este le envía la confirmación, y al llegar al host 1 este lo rechaza.

• Ejemplo c: CR y CA retrasados

Page 6: Capa De Transporte2

CAPA DE TRAN

SPORTE

LIBERACIÓN DE UNA CONEXIÓN

EXPLLICACION DE CASOS

LIBERACION SIMÉTRICA

• Liberación asimétrica: es la manera en que funciona el sistema telefónico cuando una persona cuelga se libera la conexión si importar si aun hay datos para enviar.

• Liberación simétrica: El host 1 envía un mensaje: ¿Ya acabaste de procesar?, El host 2 responde: Si ya termine adiós.

• Ejemplo a: El host 1 envía un DR, el host 2 acepta y envía un DR y el host 1 envía un acuse de recibo.

• Ejemplo b: Igual que el anterior pero el acuse de recibo al host 2 no llega, pero en cierto tiempo el host2 libera la comunicación

• Ejemplo c: El host 1 envía un DR, pero no recibe respuesta, entonces este envía nuevamente hasta que llegue una respuesta

• Ejemplo d: Enviado N veces un DR sin respuesta se cierra la conexión

Page 7: Capa De Transporte2

CAPA DE TRAN

SPORTE

CONTROL DE FLUJO Y BUFFER

EXPLICACION

• A quiere ocho de buffer, pero se le otorga solamente cuatro. • B reconoce la recepción de todas las TPDU hasta el número de secuencia 1• A que tiene permiso de enviar tres TPDU mas comenzando después de 1 • A sabe que ya ha enviado el numero 2, por lo que piensa que puede enviar la

TPDU 3 y 4• En este punto se bloquea y debe esperar una nueva asignación de buffers• Retrasmisiones inducidas por terminaciones de temporización (línea 9)• Se libera buffer=2 y se envían otros dos paquetes y se bloquea nuevamente• Se desocupa el buffer en B, pero se pierde el mensaje.

Page 8: Capa De Transporte2

CAPA DE TRAN

SPORTE

Los protocolos de transporte en Internet (TCP Y UDP)

• Los dos protocolos más comunes de la capa de Transporte del conjunto de protocolos TCP/IP son el Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP). Ambos protocolos gestionan la comunicación de múltiples aplicaciones. Las diferencias entre ellos son las funciones específicas que cada uno implementa.

• TCP (Transmission Control Protocol) se diseñó para proporcionar una corriente de bytes confiable a través de una interred no confiable.

• Se diseñó TCP para adaptarse adaptarse dinámicamente a las propiedades de la interred y para ser robusto ante muchos tipos de fallas.

• Cada máquina que reconoce el TCP tiene una entidad de trasnporte TCP, ya sea un proceso de usuario o una parte del núcleo que maneja las corrientes TCP y tiene interfaz con la capa IP.

• Cuando llegan a una máquina datagramas IP que contienen datos TCP, son entregados a la entidad TCP, que reconstruye las corrientes originales de bytes.

• TCP es orientado a conexión.

• UDP es un protocolo simple, sin conexión.

Page 9: Capa De Transporte2

CAPA DE TRAN

SPORTE

El protocolo TCP

• Para obtener servicio de TCP, el transmisor y el receptor tienen que crear los puntos terminales de la conexión (los sockets).

• La dirección de un socket es la dirección de IP del host y un número de 16 bits que es local al host, llamado puerto.

• Se identifica una conexión con las direcciones de socket de cada extremo; se puede usar un socket para conexiones múltiples a la vez.

• Los números de puerto por debajo 256 son puertos bien conocidos para servicios comunes (como FTP, puerto 21; TELNET, puerto 23).

• Las conexiones de TCP son punto-a-punto y full dúplex. Punto a punto significa que cada conexión tiene exactamente dos puntos terminales.

• Cuando una aplicación manda datos a TCP, el TCP puede mandarlos inmediatamente o almacenarlos (para acumular más). Una aplicación puede solicitar que TCP mande los datos inmediatamente. Esto lo hace a través del flag de PUSH (empujar).

• TCP también apoya los datos urgentes. TCP manda datos con el flag URGENT inmediatamente. En el destino TCP interrumpe la aplicación (le manda una señal), que permite que la aplicación pueda encontrar los datos urgentes.

Page 10: Capa De Transporte2

CAPA DE TRAN

SPORTE

El encabezamiento de TCP

• Los campos de puerto de origen y puerto de destino identifican los puntos terminales locales de la conexión.• Los campos número de secuencia y número de acuse de recibo desempeñan sus funciones normales. El último especifica el siguiente

byte esperado.• La longitud de cabecera TCP (4 bits) indica la cantidad de palabras de 32 bits contenidas en la cabecera TCP. • A continuación viene un campo de 6 bits que no se usan.• Luego vienen seis flags de 1 bito URG. Indica que el segmento contiene datos urgentes. El apuntador urgente sirve para indicar un desplazamiento en bytes a partir

del número actual de secuencia en el que se encuentran datos urgentes. Este recurso sustituye los mensajes de interrupción.o ACK. Indica que el número de acuse de recibo es válido.o PSH (Push). Indica datos empujados, el receptor no debiera almacenar los datos antes de entregarlos.o RST (Reset). Se usa para restablecer una conexión que se ha confundido debido a una caída de host u otra razón. En general, indica

un problema en la conexión.o SYN. Se usa para establecer las conexiones. La solicitud de conexión tiene SYN = 1 y ACK = 0, mientras que la aceptación de una

conexión tiene SYN = 1 y ACK = 1.o FIN. Se usa para liberar una conexión; especifica que el transmisor no tiene más datos que transmitir. La desconexión es simétrica.

Page 11: Capa De Transporte2

CAPA DE TRAN

SPORTE

El encabezamiento de TCP

• El control de flujo en el TCP se maneja usando una ventana corrediza de tamaño variable. El campo tamaño de la ventana indica cuantos bytes se pueden enviar comenzando por el byte que ya se ha enviado acuse de recibo.

• También se proporciona una suma de comprobación para proveer más confiabilidad.• El campo de opciones se diseñó para contar con una manera de agragar características extra no cubiertas por la cabecera

normal.• La opción más importante es la que permite que cada host pueda especificar la carga útil TCP máxima que está dispuesto

a aceptar. El uso de segmentos grandes es más eficiente que el de segmentos pequeños, debido a que la cabecera es de 20 bytes.

• Durante el establecimiento de la conexión, cada lado puede anunciar su máximo y ver el de su compañero y se adopta el del más pequeño. Si un host no usa esta opción, predetermina una carga útil de 536 bytes. Por esto se requiere que todos los hosts Internet acepten segmentos TCP de 536+20=556 bytes.

• En las líneas con alto ancho de banda o alto retardo, la ventana de 64KB (máximo que se puede definir con 16 bits) con frecuencia es un problema.

• Para solucionar esto se propuso una opción de escala de ventana, donde el transmisor y receptor negocian un factor de escala de ventana. Este número permite que ambos lados desplacen el campo de tamaño de ventana hasta 16 bits a la izquierda, permitiendo por lo tanto una mayor tamaño de ventana.

Page 12: Capa De Transporte2

CAPA DE TRAN

SPORTE

Gestión de una conexión TCP

• En el TCP se establecen las conexiones usando el protocolo de acuerdo de las tres vías.

• Para establecer una conexión, el servidor espera pacientemente una conexión entrante ejecutando las primitivas LISTEN y ACCEPT y especificando cierto origen o bien nadie en particular.

• El cliente, ejecuta una primitiva CONNECT especificando la dirección IP y el puerto con el que se desea conectar, el tamaño máximo de segmento TCP que está dispuesto a aceptar y opcionalmente algunos datos de usuarios.

• La primitiva CONNECT envía un segmento TCP con el bit SYN encendido y el bit ACK apagado y espera una respuesta.

• Al llegar el segmento al destino, la entidad TCP revisa si hay un proceso que haya ejecutado un LISTEN en el puerto indicado en el campo de puerto de destino. Si no lo hay, envía una respuesta con el bit RST encendido para rechazar la conexión.

• Si algún proceso está escuchando en el puerto, ese proceso recibe el segmento TCP entrante y puede entonces aceptar o rechazar la conexión.

• Si la acepta, se devuelve un segmento de acuse de recibo.

• Para liberar un sentido de la conexión, cualquiera de las partes puede enviar un segmento TCP con el bit FIN establecido, lo que significa que no tiene mas datos por transmitir y entonces espera un acuse ACK.

• Para evitar el problema de los dos ejércitos se usan temporizadores. Si no llega una respuesta a un FIN en un máximo de dos tiempos de vida de paquete, el trasnmisor del FIN libera la conexión. El otro extremo en elgún momento notará que nadie lo está escuchando y también terminará su temporización.

Page 13: Capa De Transporte2

CAPA DE TRAN

SPORTE

ELEMENTOS DE LOS PROTOCOLOS DE TRANSPORTE (DIRECCIONAMIENTO)

• La administración de las ventanas en el TCP no está atada directamente a los acuses de recibo como en la mayoría de los protocolos de enlace de datos.

• Cuando la ventana tiene un tamaño de cero, el transmisor no puede mandar segmentos, con dos excepciones. Se pueden mandar los datos urgentes y se pueden mandar un segmento de 1 byte para causar que el receptor reanuncie el siguiente byte esperado y el tamaño de la ventana. Esto último es para evitar el bloqueo indefinido.

• Los transmisores no tienen que mandar datos inmediatamente y los receptores no tienen que mandar acuses inmediatamente. Se puede usar esta flexibilidad para mejorar el rendimiento.

Política de transmisión en TCP

Page 14: Capa De Transporte2

CAPA DE TRAN

SPORTE

ELEMENTOS DE LOS PROTOCOLOS DE TRANSPORTE (DIRECCIONAMIENTO)

• Un problema es el síndrome de ventana tonta. Ocurre cuando se pasan datos a la entidad transmisora en bloques grandes y la aplicación en el receptor lee un datos de un byte a la vez. Esto causa que el receptor mande una actualización del tamaño de ventana al transmisor. El transmisor manda un byte y la ventana está llena otra vez.

• La solución de Clarke es no mandar una actualización de ventana para 1 byte. Se le obliga esperar hasta tener disponible una cantidad adecauada de espacio y luego lo anuncia. Debiera esperar hasta que haya suficiente espacio en la ventana para un segmento completo o el buffer del recibidor esté medio vacío (según su estimación de su tamaño).

Política de transmisión en TCP

Page 15: Capa De Transporte2

CAPA DE TRAN

SPORTE

Control de congestión en TCP

• TCP trata de manejar la congestión usando la conservación del número de paquetes. La idea es no inyectar un paquete nuevo en la red hasta un paquete antiguo es entregado. TCP trata de hacer esto manipulando dinámicamente el tamaño de la ventana.

• El primer paso es detectar la congestión. Antes era difícil detectarla ya que el timeout de un paquete perdido podía deberse a ruido en la línea o a paquetes descartados por congestión en un ruteador. Ahora la mayoría de los timeouts son debidos a la congestión.

• Hay dos problemas distintos que tenemos que solucionar: la capacidad de la red y la capacidad del receptor. Para manejar cada uno, el transmisor mantiene dos ventanas. Una ventana se negocia con el receptor, y su tamaño es basado en el tamaño del buffer del receptor. La otra ventana es la ventana de congestión. El transmisor solamente puede mandar el mínimo de las dos ventanas.

Page 16: Capa De Transporte2

CAPA DE TRAN

SPORTE

Control de congestión en TCP

• Cuando se establece una conexión, el transmisor inicializa la ventana de congestión al tamaño del segmento máximo de la conexión. Si puede mandar un segmento máximo sin un timeout, se dobla el tamaño de la ventana y se mandan dos segmentos máximos. Este aumento continúa hasta que hay un timeout. Este algoritmo se llama arranque lento, pero no es lento, sino exponencial.

• Para controlar la congestión hay un tercer parámetro, el umbral, que al principio tiene un valor de 64K. Cuando hay un timeout, se establece el valor del umbral a la mitad de la ventana de congestionamiento actual, y la ventana de congestionamiento se restablece a un segmento máximo. Otra vez se usa arranque lento, pero después de llegar al umbral la ventana crece solamente por un segmento máximo a la vez (es decir, linealmente) hasta la ventana del receptor.

Page 17: Capa De Transporte2

CAPA DE TRAN

SPORTE

Protocolo UDP

UDP es un protocolo simple que provee las funciones básicas de la capa de Transporte. Genera mucho menos sobrecarga que TCP, ya que no es orientado a la conexión y no cuenta con los sofisticados mecanismos de retransmisión, secuenciación y control del flujo.

Esto no significa que las aplicaciones que utilizan UDP no sean confiables. Sólo quiere decir que estas funciones no son contempladas por el protocolo de la capa de Transporte y deben implementarse aparte, si fuera necesario.

Pese a que es relativamente baja la cantidad total de tráfico UDP que puede encontrarse en una red típica, entre los protocolos principales de la capa de Aplicación que utilizan UDP se incluyen:

• sistema de denominación de dominio (DNS),• protocolo simple de administración de red (SNMP),• protocolo de configuración dinámica de host (DHCP),• protocolo de información de enrutamiento (RIP),• protocolo trivial de transferencia de archivos (TFTP), y• juegos en línea.

Page 18: Capa De Transporte2

CAPA DE TRAN

SPORTE

Reensamblaje de datagramas de UDP

•Ya que UDP opera sin conexión, las sesiones no se establecen antes de que se lleve a cabo la comunicación, como sucede con TCP. Se dice que UDP es basado en transacciones. En otras palabras, cuando una aplicación posee datos para enviar, simplemente los envía.

•Muchas aplicaciones que utilizan UDP envían pequeñas cantidades de datos que pueden ocupar un segmento. Sin embargo, algunas aplicaciones enviarán cantidades mayores de datos que deben dividirse en varios segmentos. La PDU de UDP se conoce como datagrama.

•Cuando se envían múltiples datagramas a un destino, los mismos pueden tomar rutas distintas y llegar en el orden incorrecto. UDP no mantiene un seguimiento de los números de secuencia de la manera en que lo hace TCP. UDP no puede reordenar los datagramas en el orden de la transmisión.

Page 19: Capa De Transporte2

CAPA DE TRAN

SPORTE

Page 20: Capa De Transporte2

BIBLIOGRAFIA

•CAPIITULO 6, .Andrew.S.Tanenbaum.3ED.Prentice-Hall I, Redes de Computadora.