© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public 1
Capa de Transporte del modelo OSI
Aspectos básicos de networking: Capítulo 4
Elaboradas por: Mendoza Vazquez Raymundo
2 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Objetivos Explicar la función de los protocolos y los servicios
de la capa de transporte en el soporte de las comunicaciones a través de las redes de datos.
Analizar la aplicación y el funcionamiento de los mecanismos del protocolo TCP que soportan la confiabilidad.
Analizar la aplicación y el funcionamiento de los mecanismos del protocolo TCP que soportan el reensamblaje y administran la pérdida de datos.
Analizar el funcionamiento del protocolo de datagrama de usuario (UDP) en relación con el soporte de la comunicación entre dos procesos en dispositivos finales.
3 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
FUNCIONES DE LA CAPA DE TRANSPORTE
Propósito
Control de las conversaciones
Soporte de comunicación confiable
TCP y UDP
Direccionamiento del puerto
Segmentación y Reensamblaje
4 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Funciones de la Capa de Transporte En la Capa de Transporte se encapsulan los datos de la Capa de
aplicación para usarse en la Capa de Red.
La capa de Transporte incluye también las siguientes funciones:
i. Permitir múltiples aplicaciones para comunicarse a través de la red al mismo tiempo en un solo dispositivo,
ii. Asegurar que, si se requiere, todos los datos sean recibidos de manera confiable y en orden por la aplicación correcta.
iii. Emplear mecanismos de manejo de error.
5 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Propósito de la Capa de Transporte –Seguimiento de conversaciones individuales –Segmentación de datos –Reensamble de segmentos –Identificación de aplicaciones
6 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Separación de comunicaciones múltiples
Los usuarios precisan que un e-mail o una página Web sean recibidos y presentados de manera completa para que la información sea considerada útil.
Las demoras leves se consideran aceptables para asegurar que se reciba y presente la información completa.
La pérdida ocasional de pequeñas partes de una conversación telefónica puede considerarse aceptable.
7 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Separación de comunicaciones múltiples (…2)
La segmentación de los datos, que cumple con los protocolos de la Capa de Transporte, proporciona los medios para enviar y recibir datos cuando se ejecutan varias aplicaciones de manera concurrente en una computadora.
En la Capa de Transporte, cada conjunto de secciones en particular que fluyen desde una aplicación de origen a una de destino se conoce como conversación.
Para identificar todos los segmentos de datos, la Capa de Transporte agrega un encabezado a la sección que contiene datos binarios. Este encabezado contiene campos de bits.
La división de los datos en partes pequeñas y el envío de estas partes desde el origen hacia el destino permiten que se puedan entrelazar (multiplexar) distintas comunicaciones en la misma red.
8 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Control de las conversaciones Segmentación y reensamblaje:
La Capa de Transporte divide los datos de aplicación en bloques de datos de un tamaño adecuado.
En el destino, la Capa de Transporte reensambla los datos antes de enviarlos a la aplicación o servicio de destino.
Multiplexación de conversaciones:
A cada una de estas aplicaciones o servicios se les asigna una dirección conocida como puerto para que Capa de Transporte pueda determinar con qué aplicación o servicio se identifican los datos.
9 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Control de las conversaciones (…2)
Algunos protocolos de la Capa de Transporte proveen: o Conversaciones orientadas a la conexión, o Entrega confiable, o Reconstrucción ordenada de datos, y o Control del flujo.
10 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Soporte de comunicación confiable
Esto requiere que los procesos de la Capa de Transporte de origen mantengan el seguimiento de todas las porciones de datos de cada conversación y el host de recepción también debe rastrear los datos a medida que se reciben y reconocer la recepción de los datos.
Esto genera un equilibrio ("trade-off") entre el valor de confiabilidad y la carga que representa para la red.
Existen aplicaciones son más Tolerantes en lo que se refiere a la pérdida de pequeñas cantidades de datos
Las aplicaciones, como bases de datos, las páginas Web y los e-mails, requieren que
todos los datos enviados lleguen al destino en su condición original, de manera que los
mismos sean útiles: Confiables.
11 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
TCP y UDP UDP es un protocolo sin conexión ("mejor intento"). Promueve la entrega de datos sin utilizar muchos recursos.
Las porciones de comunicación en UDP se llaman datagramas
Cada Datagrama de UDP possee 8 bytes de carga en el ancabezado
Entre las aplicaciones que utilizan UDP se incluyen:
•sistema de nombres de dominios (DNS), •streaming de vídeo, y •Voz sobre IP (VoIP).
TCP es un protocolo orientado a la conexión.
Incurre en el uso adicional de recursos para agregar funciones. (entrega confiable y de control de flujo).
Cada segmento de TCP posee 20 bytes de carga en el encabezado,
Las aplicaciones que utilizan TCP son: •exploradores Web, •e-mail, y •transferencia de archivos
Los dos protocolos más comunes de la capa de Transporte del conjunto de protocolos TCP/IP son:
I. el Protocolo de Control de Transmisión (TCP) [RFC 793]
II. el Protocolos de Datagramas de Usuario (UDP) [RFC 768 ].
12 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Direccionamiento de Puerto Los números de puerto se asignan de varias
maneras, en función de si el mensaje es una solicitud o una respuesta.
Mientras que los procesos en el servidor poseen números de puertos estáticos asignados a ellos, los clientes eligen un número de puerto dinámico para cada conversación.
Un socket (La combinación del número de puerto de la Capa de Transporte y de la dirección IP de la Capa de Red asignada al host) identifica de manera exclusiva un proceso en particular que se ejecuta en un dispositivo host específico.
Por ejemplo, una solicitud de página Web HTTP que se envía a un servidor Web (puerto 80) y que se ejecuta en un host con una dirección IPv4 de Capa 3 192.168.1.20 será destinada al socket 192.168.1.20:80.
Si el explorador Web que solicita la página Web se ejecuta en el host 192.168.100.48 y el número de puerto dinámico asignado al explorador Web es 49.152, el socket para la página Web será 192.168.100.48:49152.
13 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Direccionamiento de Puerto
La Autoridad de Números Asignados de Internet (IANA) asigna números de puerto. Puertos bien conocidos (Números del 0 al 1 023): Se reservan para servicios y aplicaciones. Puertos Registrados (Números 1024 al 49151):
Están asignados a procesos o aplicaciones del usuario. Puertos dinámicos / privados / efimeros (Números del 49 152 al 65 535):
Suelen asignarse de manera dinámica a aplicaciones de cliente cuando se inicia una conexión.
14 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Segmentación y reensamblaje: Divide y venceras
Dividir los datos de aplicación en secciones garantiza que los datos se transmitan dentro de los límites del medio y que los datos de distintas aplicaciones puedan ser multiplexados en el medio.
15 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
PROTOCOLO TCP: COMUNICACIÓN CON CONFIABILIDAD
TCP: Cómo generar conversaciones confiables
Procesos del servidor TCP
Establecimiento y finalización de la conexión TCP
Protocolo TCP de enlace de tres vías
Terminación de la sesión TCP
16 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
TCP: Cómo generar conversaciones confiables
La diferencia clave entre TCP y UDP es la confiabilidad.
Una conversación TCP completa requiere el establecimiento de una sesión entre los hosts en ambas direcciones.
Luego de establecida la sesión, – El destino envía acuses de recibo al origen por los segmentos que recibe ( ase de la confiabilidad ) – Cuando 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 el acuse de recibo dentro de un tiempo predeterminado, retransmite esos datos al destino.
La carga adicional que genera el uso de TCP es: – El tráfico de red generado por los acuses de recibo y las retransmisiones.
– El establecimiento de las sesiones (segmentos adicionales intercambiados). – Seguimiento de los segmentos que esperan acuse de recibo y por el proceso de retransmisión.
Esta confiabilidad se logra contando con campos en el segmento TCP, cada uno con una función específica.
17 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
TCP: Cómo generar conversaciones confiables (…2) Una conversación TCP completa requiere el establecimiento de una sesión entre los hosts en ambas direcciones.
18 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
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.
•Pueden existir varios puertos simultáneos abiertos en un servidor, uno para cada aplicación de servidor activa.
•Es común que un servidor provea más de un servicio, como un servidor Web y un servidor FTP, al mismo tiempo.
•Una manera de mejorar la seguridad en un servidor es restringir el acceso al servidor a sólo aquellos puertos asociados con los servicios y aplicaciones accesibles a solicitantes autorizados.
19 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Establecimiento y Finalización de la conexión TCP Los bits de control en el encabezado TCP indican el progreso y estado de la conexión. Enlace de tres vías:
• Establece que el dispositivo de destino esté presente en la red. • Verifica que el dispositivo de destino tenga un servicio activo y esté aceptando las peticiones en el número de puerto de destino que el cliente que lo inicia intente usar para la sesión. • Informa al dispositivo de destino que el cliente de origen intenta establecer una sesión de comunicación en ese número de puerto.
•SEÑALADORES: •URG: Urgente campo de señalizador significativo, •ACK: Campo significativo de acuse de recibo, •PSH: Función de empuje, •RST: Reconfiguración de la conexión, •SYN: Sincronizar números de secuencia, •FIN: No hay más datos desde el emisor.
•Si el valor del bit se establece en 1, indica la información de control que contiene el segmento.
20 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Establecimiento y Finalización de la conexión TCP
Los tres pasos para el establecimiento de una conexión TCP son:
1. El cliente que inicia la conexión envía un segmento que
contiene un valor de secuencia inicial, que actúa como solicitud para el servidor para comenzar una sesión de comunicación.
2. El servidor responde con un segmento que contiene un valor de reconocimiento igual al valor de secuencia recibido más 1, además de 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.
3. 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.
21 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
ADMINISTRACIÓN DE SESIONES TCP
Reensamblaje de segmentos TCP
Acuse de recibo de TCP con uso de ventanas
Retransmisión de TCP
Control de congestión de TCP
22 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Reensamblaje de segmentos TCP ¿
23 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Reensamblaje de segmentos TCP
Los números de secuencia de segmento permiten la confiabilidad indicando cómo reensamblar y reordenar los segmentos recibidos
Se establece un número de secuencia inicial Este Número de Secuencia iIicial (ISN). representa el valor de inicio para los bytes de esta sesión que se transmitirán a la aplicación receptora. A medida que se transmiten los datos durante la sesión, el número de secuencia se incrementa en el número de bytes que se han transmitido.
24 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Acuse de recibo TCP con uso de ventanas El número de secuencia y el número de acuse de recibo del encabezado del segmento se utilizan para
confirmar la recepción de los bytes de datos contenidos en los segmentos.
TCP utiliza el número de reconocimiento en segmentos que se vuelven a enviar al origen para indicar el próximo byte de esta sesión que espera el receptor. Esto se llama acuse de recibo de expectativa.
La cantidad de datos que un origen puede transmitir antes de que un acuse de recibo deba ser recibido se denomina tamaño de la ventana. El tamaño de la ventana es un campo en el encabezado TCP que permite la administración de datos perdidos y el control del flujo.
25 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Retransmisión TCP Para una implementación de TCP típica, un host puede transmitir un segmento,
colocar una copia del segmento en una cola de retransmisión e iniciar un temporizador.
Cuando se recibe el acuse de recibo de los datos, se elimina el segmento de la cola.
Si no se recibe el acuse de recibo antes de que el temporizador venza, el segmento es retransmitido.
Ante la pérdida de datos. Esperará a que se agote el tiempo de espera y reenviara los datos
26 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Control de Flujo TCP –Contribuye a la confiabilidad de la transmisión –Gestiona la tasa de transmisión reduciendo retransmisiones –Evita al abrumar al receptor con datos entrantes que no puede recibir.
27 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
PROTOCOLO UDP
UDP: Baja sobrecarga vs. Confiabilidad
Reensamblaje de datagramas de UDP
Procesos y solicitudes del servidor UDP
Procesos de cliente UDP
28 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Protocolo UDP Poco gasto de ancho de banda
No orientado a conexión
No confiable
Ideal para video y voz
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.
29 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Reensamblaje de datagramas UDP Se dice que UDP es basado en transacciones. En otras palabras, cuando una aplicación posee
datos para enviar, simplemente los envía.
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.
30 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Procesos y solicitudes del servidor UDP Las aplicaciones de servidor basadas en UDP se les asigna números de puerto bien
conocidos o registrados.
Cuando UDP recibe un datagrama destinado a uno de esos puertos, envía los datos de aplicación a la aplicación adecuada en base a su número de puerto.
31 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Proceso de Cliente UDP
•El proceso de cliente UDP selecciona al azar un número de puerto del rango dinámico de números de puerto y lo utiliza como puerto de origen para la conversación.
•El puerto de destino por lo general será el número de puerto bien conocido o registrado asignado al proceso del servidor.
•Ya que no se crean sesiones con UDP, tan pronto como los datos están listos para ser enviados y los puertos estén identificados, UDP puede formar el datagrama y enviarlo a la capa de Red para direccionamiento y envío a la red.
32 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Resumen
33 © 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public