REDES DE COMPUTADORES
TEMA 16
INTRODUCCIÓN AL NIVEL DE TRANSPORTE
PROFESOR-TUTOR: [Link]É LUIS LEIVA OLIVENCIA
UNED MÁLAGA. AULA 12. MIÉRCOLES 17.00-18.00
INTRODUCCIÓN
• El nivel de transporte en el conjunto TCP/IP se encuentra entre el nivel de
aplicación y el nivel de red.
• Proporciona servicios al nivel de aplicación y recibe servicios del nivel de
red.
• El nivel de transporte actúa como un enlace entre un programa cliente y
un programa servidor, una conexión de proceso a proceso.
• El nivel de transporte es el corazón del conjunto de protocolos TCP/IP; es el
vehículo lógico de extremo a extremo para transferir datos de un punto a
otro en Internet
INTRODUCCIÓN
• La capa de transporte se encuentra entre la capa de
aplicación y la capa de red. Proporciona comunicación de
proceso a proceso entre dos capas de aplicación, una en el
host local y la otra en el host remoto.
• La comunicación se realiza utilizando una conexión lógica.
INTRODUCCIÓN
SERVICIOS DE TRANSPORTE
• Comunicación proceso a proceso:
• El primer deber de un protocolo de la capa de transporte es
proporcionar comunicación de proceso a proceso.
• Un proceso es una entidad de la capa de aplicación (un programa en
ejecución) que utiliza los servicios de la capa de transporte.
• Antes de discutir cómo se puede lograr la comunicación de proceso a
proceso, necesitamos entender la diferencia entre la comunicación de
host a host y la comunicación de proceso a proceso.
SERVICIOS DE TRANSPORTE
• Comunicación proceso a proceso (Nivel de red frente a nivel de transporte)
SERVICIOS DE TRANSPORTE
• Direccionamiento: números de puerto:
• Aunque existen varias formas de lograr la comunicación de proceso a
proceso, la más común es mediante el paradigma cliente-servidor. Un
proceso en el host local, llamado cliente, necesita servicios de un
proceso que generalmente se encuentra en el host remoto, llamado
servidor.
• Sin embargo, los sistemas operativos actuales admiten entornos de
multiusuario y multiprogramación. Una computadora remota puede
ejecutar varios programas al mismo tiempo, al igual que varias
computadoras locales pueden ejecutar uno o más programas cliente
simultáneamente.
SERVICIOS DE TRANSPORTE
• Direccionamiento: números de puerto:
SERVICIOS DE TRANSPORTE
• Direcciones IP frente a números de puerto
SERVICIOS DE TRANSPORTE
• Direccionamiento: Rangos de ICANN.
• ICANN (Internet Corporation for Assigned Names and Numbers) ha
dividido los números de puerto en tres rangos: conocidos, registrados y
dinámicos (o privados).
SERVICIOS DE TRANSPORTE
• Direccionamiento: Direcciones de socket.
• Un protocolo de nivel de transporte en el conjunto de TCP necesita
tanto la dirección IP como el número de puerto en cada extremo para
poder crear una conexión. La combinación de una dirección IP y un
número de puerto se denomina dirección de socket. La dirección del
socket cliente define al proceso cliente de forma única, al igual que la
del socket del servidor define al proceso servidor de manera única
SERVICIOS DE TRANSPORTE
• Encapsulamiento y desencapsulamiento
• Para enviar un mensaje de un proceso a otro, el protocolo de la capa de
transporte encapsula y desencapsula los mensajes. La encapsulación
ocurre en el sitio del remitente. Cuando un proceso tiene un mensaje
para enviar, pasa el mensaje a la capa de transporte junto con un par de
direcciones de socket y otra información adicional, que depende del
protocolo de la capa de transporte. La capa de transporte recibe los
datos y añade el encabezado de la capa de transporte.
SERVICIOS DE TRANSPORTE
• Encapsulamiento y desencapsulamiento
SERVICIOS DE TRANSPORTE
• Multiplexación y demultiplexación
• Siempre que una entidad acepta elementos de más de una fuente, esto
se denomina multiplexación (muchos a uno); siempre que una entidad
entrega elementos a más de un destino, esto se denomina
desmultiplexación (uno a muchos). La capa de transporte en el origen
realiza la multiplexación; la capa de transporte en el destino realiza la
desmultiplexación.
SERVICIOS DE TRANSPORTE
• Multiplexación y demultiplexación
SERVICIOS DE TRANSPORTE
• Control de flujo
• Siempre que una entidad produce elementos y otra entidad los
consume, debe haber un equilibrio entre las tasas de producción y
consumo. Si los elementos se producen más rápido de lo que pueden
ser consumidos, el consumidor puede verse abrumado y puede
necesitar descartar algunos elementos. Si los elementos se producen
más lentamente de lo que pueden ser consumidos, el consumidor debe
esperar, y el sistema se vuelve menos eficiente. El control de flujo está
relacionado con el primer problema. Necesitamos evitar la pérdida de
elementos de datos en el sitio del consumidor.
SERVICIOS DE TRANSPORTE
• Empujando o tirando
• La entrega de elementos de un productor a un consumidor puede
ocurrir de dos maneras: empujar o tirar. Si el remitente entrega los
elementos cada vez que se producen, sin una solicitud previa del
consumidor, la entrega se denomina empujar. Si el productor entrega
los elementos después de que el consumidor los ha solicitado, la
entrega se denomina tirar. Estos son los dos tipos de entrega.
SERVICIOS DE TRANSPORTE
• Control de flujo en el nivel de transporte
SERVICIOS DE TRANSPORTE
• Control de errores
• En Internet, dado que la capa de red subyacente (IP) no es confiable, es necesario
hacer que la capa de transporte sea confiable si la aplicación requiere confiabilidad.
La confiabilidad se puede lograr añadiendo servicios de control de errores a la capa
de transporte.
• El control de errores en la capa de transporte es responsable de:
1) Detectar y descartar paquetes corruptos.
2) Rastrear paquetes perdidos y descartados, y reenviarlos.
3) Reconocer paquetes duplicados y descartarlos.
4) Almacenar en búfer los paquetes fuera de orden hasta que lleguen los
paquetes faltantes.
SERVICIOS DE TRANSPORTE
• Combinación de control de flujo y error
• Hemos discutido que el control de flujo requiere el uso de dos búferes, uno en el
sitio del remitente y otro en el sitio del receptor.
• También hemos discutido que el control de errores requiere el uso de números de
secuencia y de reconocimiento por ambas partes.
• Estos dos requisitos pueden combinarse si usamos dos búferes numerados, uno en
el remitente y otro en el receptor.
SERVICIOS DE TRANSPORTE
VENTANA DESLIZANTE EN FORMATO CIRCULAR
PROTOCOLOS SIN CONEXIÓN Y ORIENTADOS
A LA CONEXIÓN
• Un protocolo de capa de transporte, al igual que un protocolo de capa de red,
puede proporcionar dos tipos de servicios: sin conexión y orientado a conexión. Sin
embargo, la naturaleza de estos servicios en la capa de transporte es diferente de
los de la capa de red.
• En la capa de red, un servicio sin conexión puede significar diferentes rutas para
diferentes datagramas que pertenecen al mismo mensaje.
• El servicio sin conexión en la capa de transporte significa independencia entre los
paquetes; mientras que el servicio orientado a conexión implica dependencia.
PROTOCOLOS SIN CONEXIÓN Y ORIENTADOS
A LA CONEXIÓN
• Servicios sin conexión
• En un servicio sin conexión, el proceso fuente necesita dividir su mensaje en
fragmentos de datos del tamaño aceptable por la capa de transporte y entregarlos a
la capa de transporte uno por uno. La capa de transporte trata cada fragmento
como una unidad independiente, sin ninguna relación entre los fragmentos. Cuando
un fragmento llega desde la capa de aplicación, la capa de transporte lo encapsula
en un paquete y lo envía
PROTOCOLOS SIN CONEXIÓN Y ORIENTADOS
A LA CONEXIÓN
• Servicios sin conexión
PROTOCOLOS SIN CONEXIÓN Y ORIENTADOS
A LA CONEXIÓN
• Servicios orientado a conexión
• En un servicio orientado a conexión, el cliente y el servidor primero deben
establecer una conexión lógica entre ellos. El intercambio de datos solo puede
ocurrir después del establecimiento de la conexión. Después del intercambio de
datos, la conexión debe ser desmantelada.
PROTOCOLOS SIN CONEXIÓN Y ORIENTADOS
A LA CONEXIÓN
• Servicios orientado a conexión
PROTOCOLOS SIN CONEXIÓN Y ORIENTADOS
A LA CONEXIÓN
• Máquina de estados finitos (FSM)
• El comportamiento de un protocolo de capa de transporte, tanto cuando
proporciona un servicio sin conexión como cuando proporciona un protocolo
orientado a conexión, puede ser mejor representado como una máquina de estados
finitos (FSM).
• La siguiente figura muestra una representación de una capa de transporte
utilizando una FSM. Usando esta herramienta, cada capa de transporte (emisor o
receptor) se considera una máquina con un número finito de estados. La máquina
siempre está en uno de los estados hasta que ocurre un evento.
PROTOCOLOS SIN CONEXIÓN Y ORIENTADOS
A LA CONEXIÓN
• Máquina de estados finitos (FSM)
PROTOCOLOS DEL NIVEL DE TRANSPORTE
• Después de explicar los principios generales que encontramos detrás de la
capa de transporte, a continuación estudiaremos:
• Protocolo simple
• Protocolo de parada y espera
• Petición de respuesta automática con vuelta atrás N
• Petición de respuesta automática con repetición selectiva
• Protocolos bidireccionales
PROTOCOLOS DEL NIVEL DE TRANSPORTE
• Protocolo simple
Nuestro primer protocolo es un protocolo simple sin conexión, sin control de flujo ni de
errores. Asumimos que el receptor puede manejar inmediatamente cualquier paquete
que reciba. En otras palabras, el receptor nunca puede verse colapsado por los paquetes
entrantes.
El nivel de transporte del emisor recibe un mensaje de su nivel de aplicación, hace un
paquete con él y lo envía. El nivel de transporte en el receptor recibe un paquete de su
nivel de red, extrae el mensaje del paquete y entrega el mensaje a su nivel de aplicación.
Los niveles de transporte del emisor y del receptor proporcionan servicios de transmisión
para sus niveles de aplicación
PROTOCOLOS DEL NIVEL DE TRANSPORTE
• Protocolo de parada y espera
Nuestro segundo protocolo es un protocolo orientado a la conexión llamado
protocolo de parada y espera que utiliza tanto control de flujo como de
errores. Tanto el emisor como el receptor utilizan una ventana deslizante de
tamaño 1.
El emisor envía un paquete cada vez y espera una confirmación antes de
enviar el siguiente. Para detectar paquetes corrompidos, necesitamos añadir
una suma de control a cada paquete de datos. Cuando un paquete llega al
sitio del receptor, se comprueba. Si su sima de comprobación es incorrecta,
el paquete se corrompe y se descarta silenciosamente.
PROTOCOLOS DEL NIVEL DE TRANSPORTE
• Petición de respuesta automática con vuelta atrás N
Para mejorar la eficiencia de la transmisión (llenar la tubería) debe haber
múltiples paquetes en transición mientras se espera una confirmación. En
otras palabra, es necesario dejar que haya más de un paquete pendiente
para mantener el canal ocupado mientras el emisor espera la confirmación.
La clave de este protocolo es que se pueden enviar varios paquetes antes de
recibir confirmaciones, pero el receptor solo puede acumular en el buffer un
paquete. Se mantiene una copia de estos paquetes hasta que llegan las
confirmaciones.
PROTOCOLOS DEL NIVEL DE TRANSPORTE
• Petición de respuesta automática con repetición selectiva
ARQ con vuelta atrás N simplifica el proceso en el lado del receptor. El
receptor mantiene una única variable y no hay necesidad de almacenar
tramas fuera de orden, simplemente se descartan. Sin embargo, este
protocolo es muy ineficiente si el protocolo de la red subyacente pierde
muchos paquetes. Cada vez que un solo paquete se pierde o se corrompe, el
emisor reenvía todos los paquetes pendientes.
El protocolo ARQ con repetición selectiva, reenvía solo paquetes
seleccionados, los que realmente se pierden.
PROTOCOLOS DEL NIVEL DE TRANSPORTE
• Protocolos bidireccionales
Los cuatro protocolos anteriores son unidireccionales: los paquetes de datos
fluyen en una dirección y las confirmaciones viajan en la otra dirección. En la
vida real, las tramas de datos fluyen normalmente en ambas direcciones; del
cliente al servidor y del servidor al cliente.
Esto significa que la información de control también necesita el flujo en
ambas direcciones. Se usa una técnica denominada piggybacking para
mejorar la eficiencia de los protocolos bidireccionales. Cuando una trama
lleva datos de A a B, también puede llevar información de control sobre los
paquetes que llegan de B y viceversa.