C A PA DE TRANSPORTE DEL MODELO DE REFERENCIA OSI Eduardo Llanes Celedón M i guel Castilla Peña
C APA DE TRANSPORTE LA CAPA DE TRANSPORTE L a 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.  Q ue 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 : R endimiendo Retardo de tránsito Tasa de error residual Proteccion Prioridad Tenacidad.
C APA DE TRANSPORTE 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
CAPA DE TRANSPORTE 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.
C APA DE TRANSPORTE 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
C APA DE TRANSPORTE 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
C APA DE TRANSPORTE 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.
CAPA DE TRANSPORTE 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.
CAPA DE TRANSPORTE 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.
C APA DE TRANSPORTE 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 bit 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. ACK.  Indica que el número de acuse de recibo es válido. PSH (Push).  Indica datos empujados, el receptor no debiera almacenar los datos antes de entregarlos. 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. 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. 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.
C APA DE TRANSPORTE 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.
CAPA DE TRANSPORTE 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.
CAPA DE TRANSPORTE 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
CAPA DE TRANSPORTE 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
CAPA DE TRANSPORTE 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.
CAPA DE TRANSPORTE 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.
CAPA DE TRANSPORTE 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.
CAPA DE TRANSPORTE 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.
CAPA DE TRANSPORTE
BIBLIOGRAFIA CAPIITULO 6, .Andrew.S.Tanenbaum.3ED.Prentice-Hall I, Redes de Computadora.

Capa De Transporte2

  • 1.
    C A PADE TRANSPORTE DEL MODELO DE REFERENCIA OSI Eduardo Llanes Celedón M i guel Castilla Peña
  • 2.
    C APA DETRANSPORTE LA CAPA DE TRANSPORTE L a 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. Q ue 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 : R endimiendo Retardo de tránsito Tasa de error residual Proteccion Prioridad Tenacidad.
  • 3.
    C APA DETRANSPORTE 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
  • 4.
    CAPA DE TRANSPORTEELEMENTOS 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.
  • 5.
    C APA DETRANSPORTE 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
  • 6.
    C APA DETRANSPORTE 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
  • 7.
    C APA DETRANSPORTE 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.
  • 8.
    CAPA DE TRANSPORTELos 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.
  • 9.
    CAPA DE TRANSPORTEEl 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.
  • 10.
    C APA DETRANSPORTE 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 bit 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. ACK. Indica que el número de acuse de recibo es válido. PSH (Push). Indica datos empujados, el receptor no debiera almacenar los datos antes de entregarlos. 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. 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. 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.
  • 11.
    C APA DETRANSPORTE 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.
  • 12.
    CAPA DE TRANSPORTEGestió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.
  • 13.
    CAPA DE TRANSPORTEELEMENTOS 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
  • 14.
    CAPA DE TRANSPORTEELEMENTOS 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
  • 15.
    CAPA DE TRANSPORTEControl 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.
  • 16.
    CAPA DE TRANSPORTEControl 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.
  • 17.
    CAPA DE TRANSPORTEProtocolo 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.
  • 18.
    CAPA DE TRANSPORTEReensamblaje 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.
  • 19.
  • 20.
    BIBLIOGRAFIA CAPIITULO 6,.Andrew.S.Tanenbaum.3ED.Prentice-Hall I, Redes de Computadora.