You are on page 1of 42

CAPA DE

TRANSPORTE DEL
MODELO OSI
Aspectos bsicos de networking: Captulo 4

Los servicios y la funcin de la


capa de transporte

Propsito de la capa de transporte

Los servicios y la funcin de la


capa de transporte

Seguimiento de la
comunicacin
individual entre
aplicaciones en los
hosts origen y
destino,
Segmentacin de
datos y gestin de
cada porcin,
Reensamble de
segmentos en flujos
de datos de
aplicacin, e
Identificacin de las
diferentes
aplicaciones

Los servicios y la funcin de la capa


de transporte
La capa de Transporte
es el enlace entre la
capa de Aplicacin y las
capas inferiores, que
son responsables de la
transmisin en la red.
Las aplicaciones no
necesitan conocer los
detalles de operacin de
la red en uso.
Adems,
las
capas
inferiores
no
tienen
conocimiento de que
existen
varias
aplicaciones que envan
datos en la red.

Los servicios y la funcin de la capa


de transporte
Debido a que las
distintas
aplicaciones
poseen
distintos
requerimientos, existen
varios protocolos de la
capa de Transporte.
Estos
protocolos
poseen distintas reglas
que permiten que los
dispositivos gestionen
los
diversos
requerimientos
de
datos.

Capa de Transporte: Separacin de


comunicaciones mltiples
Considere una computadora
conectada a una red que
recibe y enva e-mails y
mensajes
instantneos,
explora sitios Web y realiza
una llamada telefnica de
VoIP de manera simultnea.
Los usuarios precisan que un
e-mail o una pgina Web sean
recibidos y presentados de
manera completa para que la
informacin sea considerada
til.
Por el contrario, la prdida
ocasional de pequeas partes
de
una
conversacin
telefnica puede considerarse
aceptable.

Capa de Transporte: Divisin de datos en


partes mas pequeas.

La divisin de los
datos
en
partes
pequeas y el envo
de
estas
partes
desde el origen hacia
el destino permiten
que
se
puedan
entrelazar
(multiplexar) distintas
comunicaciones en
la misma red.

Capa de Transporte: Control de las Conversaciones.

Adems de utilizar la
informacin contenida en
los encabezados para las
funciones bsicas de
segmentacin y
reensamblaje de datos,
algunos protocolos de la
capa de Transporte
proveen:
conversaciones orientadas a

la conexin,
entrega confiable,
reconstruccin ordenada de
datos, y
control del flujo

Los servicios y la funcin de la capa de tranporte

Soporte de comunicacin confiable

En la capa de Transporte, las


tres operaciones bsicas de
confiabilidad son:

seguimiento de datos
transmitidos,
acuse de recibo de los
datos recibidos, y
retransmisin
de
cualquier dato sin
acuse de recibo.

Determinacin de la necesidad de confiabilidad


En la capa de Transporte, existen protocolos que
especifican mtodos para entrega confiable,
garantizada o de mximo esfuerzo.
En el contexto de las redes, la entrega de
mximo esfuerzo se considera no confiable,
ya que no existe acuse de recibo de que los
datos hayan llegado al destino.
Las aplicaciones, como bases de datos, las
pginas Web y los e-mails, requieren que todos
los datos enviados lleguen al destino en su
condicin original, de manera que los mismos
sean tiles.
Otras aplicaciones son ms tolerantes en lo que
se refiere a la prdida de pequeas cantidades
de datos. Por ejemplo, si uno o dos segmentos
de un stream de vdeo no llegan al destino, slo
generar una interrupcin momentnea en el
stream.

TCP y UDP: Caractersticas bsicas


Protocolo de control de transmisin
(TCP)
TCP es un protocolo orientado a la
conexin, descrito en la RFC 793.
Hace uso adicional de recursos para
agregar funciones.
Las
funciones
adicionales
especificadas por TCP son el mismo
orden de entrega, entrega confiable y
control de flujo.
Cada segmento de TCP posee 20
bytes de carga en el encabezado, que
encapsulan los datos de la capa de
Aplicacin,
Las aplicaciones que utilizan TCP
son:
exploradores Web,
e-mail, y
transferencia de archivos

TCP y UDP: Caractersticas bsicas


Protocolo de datagramas de

usuario (UDP)

UDP es un protocolo simple, sin

conexin, descrito en la RFC 768.


Cuenta con la ventaja de proveer la
entrega de datos sin utilizar muchos
recursos.
Las porciones de comunicacin en UDP
se llaman datagramas.
Este protocolo de la capa de Transporte
enva estos datagramas como "maximo
esfuerzo"
Entre las aplicaciones que utilizan UDP
se incluyen:
sistema de nombres de dominios
(DNS),
streaming de vdeo, y
Voz sobre IP (VoIP)

Direccionamiento del Puerto: Identificacin de las


Conversaciones.

Como se representa un nmero de puerto y cual es la funcin


que cumplen dichos nmeros en los protocolos TCP y UDP

En el encabezado de
cada
segmento
o
datagrama hay un puerto
de origen y destino.
Los nmeros de puerto se
asignan
de
varias
maneras, en funcin de si
el mensaje es una solicitud
o una respuesta.

Los servicios y la funcin de la capa de transporte

La funcin de los segmentos en la capa de transporte y las dos


maneras principales en las que se pueden marcar los segmentos para
el reensamblaje.

Direccionamiento del Puerto:

Cuando una aplicacin de cliente enva una


solicitud a una aplicacin de servidor, el puerto
destino contenido en el encabezado es el
nmero de puerto que se asigna al daemon de
servicio que se ejecuta en el host remoto.
El software del cliente debe conocer el nmero

de puerto asociado con el proceso del servidor en


el host remoto.
Por ejemplo, cuando una aplicacin de
explorador Web realiza una solicitud a un servidor
Web, el explorador utiliza TCP y el nmero de
puerto 80 a menos que se especifique otro valor.

El puerto de origen del encabezado de un


segmento o datagrama de un cliente se genera
de manera aleatoria.
Siempre y cuando no entre en conflicto con

otros puertos en uso en el sistema, el cliente


puede elegir cualquier nmero de puerto(higher
than 1024).
El nmero de puerto acta como direccin de
retorno para la aplicacin que realiza la solicitud.
La capa de Transporte mantiene un
seguimiento de este puerto y de la aplicacin que
gener la solicitud, de manera que cuando se
devuelva una respuesta, pueda ser enviada a la
aplicacin correcta.

Direccionamiento del Puerto: SOCKET

Socket:

La combinacin del nmero de puerto de la

capa de Transporte y de la direccin IP de la


capa de Red asignada al host identifica de
manera exclusiva un proceso en particular que se
ejecuta en un dispositivo host especfico.
Eventualmente, los trminos nmero de puerto
y socket se utilizan en forma indistinta.
En el contexto de este curso, el trmino socket
hace referencia slo a la combinacin exclusiva
de direccin IP y nmero de puerto.
Un par de sockets, que consiste en las
direcciones IP y los nmeros de puerto de origen y
de destino, tambin es exclusivo e identifica la
conversacin entre dos hosts..
Por ejemplo, una solicitud de pgina Web
HTTP que se enva a un servidor Web (puerto 80)
y que se ejecuta en un host con una direccin
IPv4 de Capa 3 192.168.1.20 ser destinada al
socket 192.168.1.20:80.
Si el explorador Web que solicita la pgina Web
se ejecuta en el host 192.168.100.48 y el nmero
de puerto dinmico asignado al explorador Web
es 49.152, el socket para la pgina Web ser
192.168.100.48:49152.

Autoridad de nmeros asignados de Internet (IANA) asigna


nmeros de puerto.

Puertos Bien conocidos (0 a 1023) - estos


nmeros se reservan para servicios y
aplicaciones.

HTTP (servidor web)

POP3/SMTP (servidor de e-mail) y


Telnet.

Puertos Registrados (1024 a 49151) - estos


nmeros de puertos estn asignados a
procesos o aplicaciones del usuario.

Estos procesos son

principalmente aplicaciones
individuales que el usuario elige
instalar.

Puertos dinmicos o privados (49152 a 65535) - tambin conocidos


como puertos efmeros, suelen asignarse de manera dinmica a
aplicaciones de cliente cuando se inicia una conexin.
No es muy comn que un cliente se conecte a un servicio
utilizando un puerto dinmico o privado.
Utilizacin de los dos protocolos TCP y UDP
Algunas aplicaciones pueden utilizar los dos protocolos: TCP y UDP.
Por ejemplo, el bajo gasto de UDP permite que DNS atienda
rpidamente varias solicitudes de clientes.
A veces el envo de la informacin solicitada puede requerir la
confiabilidad de TCP..

Direccionamiento del puerto: comando netstat

A veces es necesario conocer


las conexiones TCP activas que
estn abiertas y en ejecucin en
el host de red .
Netstat es una utilidad de red
importante que puede usarse
para verificar esas conexiones.
Netstat indica:
el protocol in uso,
la direccin y el nmero de puerto

locales
la direccin y el nmero de puerto
ajenos
el estado de la conexin.

Segmentacion y Reensamblaje Divide and vencers


Resultara poco prctico enviar todos estos

datos en una sola gran seccin.


Dividir los datos de aplicacin en secciones
garantiza que los datos se transmitan dentro de
los lmites del medio y que los datos de distintas
aplicaciones puedan ser multiplexados en el
medio.
En el host de destino, este proceso se invierte
hasta que los datos puedan enviarse a la
aplicacin.
TCP y UDP gestionan la segmentacin de forma
distinta.
Con TCP, cada encabezado de segmento
contiene un nmero de secuencia. Este nmero
de secuencia permite que las funciones de la
capa de Transporte del host destino reensamblen
los segmentos en el mismo orden en el que
fueron transmitidos.
No existe nmero de secuencia en el
encabezado UDP. UDP es un diseo simple y
genera menos carga que TCP, lo que produce
una transferencia de datos ms rpida.

TCP: Como generar conversaciones confiables.

Pasos que muestran cmo funciona el mecanismo de confiabilidad


del protocolo TCP como parte de una sesin.
La diferencia clave entre TCP y UDP es la
confiabilidad.
La confiabilidad de la comunicacin TCP
se lleva a cabo utilizando sesiones
orientadas a la conexin. (intercambio de
seales de 3 vas).
Luego de establecida la sesin (3 way
handshake), el destino enva acuses de
recibo al origen por los segmentos que
recibe.
Si el origen no recibe el acuse de recibo
dentro de un tiempo predeterminado,
retransmite esos datos al destino.

Procesos del Servidor TCP

Funcin de los nmeros de puerto en el momento de establecer


sesiones TCP y dirigir segmentos al proceso de servidor.

Procesos del Servidor TCP

Establecimiento y finalizacin de la conexin TCP


Cuando dos host se comunican
utlizando TCP:
Se establece una conexin
antes
de
que
puedan
intercambiarse los datos.
El host rastrea cada segmento
de datos dentro de una sesin e
intercambia informacin sobre
los datos recibidos.
Luego de que se completa la
comunicacin, se cierran las
sesiones y la conexin finaliza.

Establecimiento y finalizacin de la conexin TCP

Para establecer la conexin los hosts realizan


un intercambio de seales de tres vas.

Establece que el dispositivo

destino est presente en la red.


Verifica que el dispositivo de
destino tenga un servicio activo y
est aceptando las peticiones en
el nmero de puerto de destino
que el cliente que lo inicia intente
usar para la sesin.
Informa
al dispositivo de
destino que el cliente de origen
intenta establecer una sesin de
comunicacin en ese nmero de
puerto.

1.

El cliente que inicia la


conexin enva un segmento
que contiene un valor de
secuencia inicial, que acta
como solicitud para el servidor
para comenzar una sesin de
comunicacin.
2. El servidor responde con un
segmento que contiene un valor
de reconocimiento igual al valor
de secuencia recibido ms 1,
adems de su propio valor de
secuencia de sincronizacin.
3. El cliente que inicia la
conexin responde con un valor
de reconocimiento igual al valor
de secuencia que recibi ms
uno. Esto completa el proceso
de establecimiento de la
conexin.

TCP Termination

Dentro del encabezado del segmento TCP, existen seis


campos de 1 bit que contienen informacin de control
utilizada para gestionar los procesos de TCP. Estos
campos son los siguientes :
URG - Urgente campo de sealizador significativo
ACK - Campo significativo de acuse de recibo
PSH - Funcin de empuje
RST - Reconfiguracin de la conexin
SYN - Sincronizar nmeros de secuencia
FIN - No hay ms datos desde el emisor
A estos campos se los denomina sealadores porque
el valor de uno de estos campos es slo de 1 bit,
entonces tiene slo dos valores: 1 0. Si el valor del
bit se establece en 1, indica la informacin de control
que contiene el segmento.
Si se utiliza un proceso de cuatro pasos, los
sealizadores se intercambian para finalizar la
conexin TCP.

Para finalizar todas las sesiones TCP de una va,


se utiliza un enlace de dos vas, que consta de un
segmento FIN y un segmento ACK.
Por lo tanto, para terminar una conversacin simple
admitida por TCP, se requieren cuatro intercambios
para finalizar ambas sesiones :
1. Cuando el cliente no tiene ms datos para
enviar al stream, enva un segmento con el
sealizador FIN establecido.
2. El servidor enva un ACK para acusar recibo
de Fin y terminar la sesin del cliente al servidor.
3. El servidor enva un FIN al cliente para
finalizar la sesin del servidor al cliente.
4. El cliente responde con un ACK para dar
acuse de recibo de FIN desde el servidor.
Tambin es posible terminar la conexin mediante un
enlace de tres vas.
Cuando el cliente no posee ms datos para enviar,
enva un sealizador FIN al servidor. Si el servidor
tampoco tiene ms datos para enviar, puede
responder con los sealizadores FIN y ACK,
combinando dos pasos en uno. El cliente responde
con un ACK.

Reensamblaje de segmentos TCP

Los segmentos pueden llegar a destinos


desordenados.
Los segmentos se reensamblan en el

orden original
secuencia.

usando el nmeros de

Durante la configuracin de la sesin, se


establece un nmero de secuencia inicial
(ISN).
Representa el valor de inicio para los

bytes de esta sesin que se transmitirn a


la aplicacin receptora.
El nmero de secuencia se va
incrementando en el nmero de bytes que
se han transmitido.
Esto permite que cada segmento se
identifique y se enve acuse de recibo de
manera exclusiva.
Se
pueden identificar segmentos
perdidos.

Acuse de recibo de TCP con uso de ventanas

El nmero de secuencia y el nmero de acuse de recibo del encabezado del


segmento se utilizan para confirmar la recepcin de los bytes de datos
contenidos en los segmentos.

El nmero de secuencia es el
nmero relativo de bytes que ha sido
transmitido en esta sesin ms 1.
Se espera que el host emisor enve
un segmento que utiliza un nmero
de secuencia igual al nmero de
acuse de recibo.
Se le informa al origen que el destino
ha recibido todos los bytes de este
stream de datos, pero sin incluir, el
byte especificado por el nmero de
acuse de recibo.
Esto se llama acuse de recibo de
expectativa.

Acuse de recibo de TCP con uso de ventanas

Por ejemplo:
El host en la izquierda enva datos al host
de la derecha. Enva un segmento que
contiene 10 bytes de datos para esta sesin y
un nmero de secuencia igual a 1 en el
encabezado.
El host receptor de la derecha recibe el
segmento en la Capa 4 y determina que el
nmero de secuencia es 1 y que posee 10
bytes de datos.
El host enva un segmento de vuelta al host

de la izquierda para acusar recibo de estos


datos.
En este segmento, el host establece el
nmero de acuse de recibo en 11 para
indicar que el prximo byte de datos que
espera recibir es el byte nm. 11.
Cuando el host emisor recibe este acuse de

recibo, puede enviar el prximo segmento a


partir del byte 11.

Acuse de recibo de TCP con uso de ventanas

Si el host emisor esperara el acuse de recibo


por c/u de los 10 bytes, la red estara
demasiado sobrecargada.
Para reducir
la sobrecarga, los
segmentos de datos mltiples pueden
enviarse previamente y ser reconocidos
con un mensaje TCP simple en la
direccin opuesta, este reconocimiento
contiene un nmero de acuse de recibo
en base al nmero total de bytes
recibidos en la sesin.

Por ejemplo, si se comienza con un nmero de


secuencia 2000, si se reciben 10 segmentos de
1000 bytes cada uno, se devolver al origen un
nmero de reconocimiento igual a 12001.

La cantidad de datos que un origen puede


transmitir antes de que un acuse de recibo
deba ser recibido se denomina tamao de la
ventana.

Retransmisin TCP

Un servicio de host de destino que utiliza


TCP, por lo general slo reconoce datos
para secuencias de bytes contiguas.
Si uno o ms segmentos se pierden,
slo se acusa recibo de los datos de los
segmentos que completan el stream.
Por ejemplo, si se reciben los
segmentos con nmeros de secuencia
de 1500 a 3000 y de 3400 a 3500, el
nmero de acuse de recibo ser 3001.
Esto
sucede
porque
existen
segmentos
con
nmeros
de
secuencia de 3001 a 3399 que no se
recibieron.
Cuando TCP en el host de origen no recibe
un acuse de recibo pasado un tiempo
predeterminado, volver al ltimo nmero
de acuse de recibo que recibi y
retransmitir los datos a partir de ste.

Control de congestin de TCP control de flujo

TCP tambin provee mecanismos para


el control del flujo.
El control del flujo contribuye con la

confiabilidad de la transmisin TCP ajustando la


tasa efectiva de flujo de datos entre los dos
servicios de la sesin.
Cuando el origen advierte que se recibi la
cantidad de datos especificados en los
segmentos, puede continuar enviando ms
datos para esta sesin.

El campo Tamao de la ventana en el


encabezado TCP especifica la cantidad
de datos que puede transmitirse antes
de que se reciba el acuse de recibo.
En este ejemplo, el tamao de la ventana

inicial para una sesin TCP representada se


establece en 3000 bytes.
Cuando el emisor transmite 3000 bytes,
espera por un acuse de recibo de los mismos
antes de transmitir ms segmentos para esta
sesin.
Una vez que el emisor ha recibido este acuse
de recibo del receptor, ya puede transmitir 3000
bytes adicionales.

TCP Congestion Control Reduccin del tamao de ventana

Otra forma de controlar el flujo de datos es utilizar tamaos


dinmicos de ventana.

Si el destino necesita disminuir la tasa de comunicacin debido a


limitaciones de memoria del bfer, puede enviar un valor de
tamao de la ventana menor al origen como parte de un acuse de
recibo.

Despus de perodos de transmisin sin prdidas de datos o


recursos limitados, el receptor comenzar a aumentar el tamao
de la ventana.

UDP:
Baja Sobrecarga vs.
Confiabilidad

UDP Baja sobrecarga vs. Confiabilidad

UDP es un protocolo simple que provee las


funciones bsicas de la capa de Transporte.
No orientado a la conexin
No cuenta con los sofisticados mecanismos de

retransmisin, secuenciacin y control del flujo.

Esto no significa que las aplicaciones que


utilizan UDP no sean confiables.
Slo quiere decir que estas funciones no son

contempladas por el protocolo de la capa de


Transporte y deben implementarse aparte, si fuera
necesario.

Entre los protocolos principales de la capa de


Aplicacin que utilizan UDP se incluyen :
sistema de denominacin de dominio (DNS),
protocolo simple de administracin de red

(SNMP),
protocolo de configuracin dinmica de host
(DHCP),
protocolo de informacin de enrutamiento (RIP),
protocolo trivial de transferencia de archivos
(TFTP), y
juegos en lnea

Reensamblaje de datagramas de UDP

Ya que UDP opera sin conexin, las sesiones no


se establecen antes de que se lleve a cabo la
comunicacin, como sucede con TCP.
UDP es basado en transacciones, es decir, cuando

una aplicacin posee datos para enviar, simplemente


los enva.

Muchas aplicaciones que utilizan UDP envan


pequeas cantidades de datos que pueden
ocupar un segmento.
Algunas aplicaciones enviarn cantidades mayores

de datos que deben dividirse en varios segmentos.


Cuando se envan mltiples datagramas a un
destino, los mismos pueden tomar rutas distintas y
llegar en el orden incorrecto.
UDP no mantiene un seguimiento de los nmeros
de secuencia de la manera en que lo hace TCP.
UDP no puede reordenar los datagramas en el
orden de la transmisin. Ver la figura.

Si la secuencia de los datos es importante para la


aplicacin, la misma deber identificar la
secuencia adecuada de datos y determinar cmo
procesarlos.

Procesos y solicitudes del servidor UDP

Al igual que las aplicaciones


basadas en TCP, a las
aplicaciones
de
servidor
basadas en UDP se les asigna
nmeros
de
puerto
bien
conocidos o registrados.
Cuando

se ejecutan estas
aplicaciones o procesos, aceptan
los datos que coincidan con el
nmero de puerto asignado.
Cuando
UDP
recibe
un
datagrama destinado a uno de
esos puertos, enva los datos de
aplicacin a la aplicacin adecuada
en base a su nmero de puerto.

Procesos del cliente UDP


El proceso de cliente UDP selecciona al azar un

nmero de puerto del rango dinmico de nmeros


de puerto y lo utiliza como puerto de origen para la
conversacin.
El puerto de destino por lo general ser el
nmero de puerto bien conocido o registrado
asignado al proceso del servidor.

Ya que no se crean sesiones con UDP, tan


pronto como los datos estn listos para ser
enviados y los puertos estn identificados,
UDP puede formar el datagrama y enviarlo a la
capa de Red para direccionamiento y envo a
la red.

Cabe recordar que una vez que el cliente ha


elegido los puertos de origen y destino, estos
mismos puertos se utilizarn en el encabezado
de todos los datagramas que se utilicen en la
transaccin.
Para la devolucin de datos del servidor al

cliente, se invierten los nmeros de puerto de


origen y destino en el encabezado del
datagrama.

You might also like