Sie sind auf Seite 1von 77

REDES DE COMUNICACIONES 2

F2-T6

NIVEL DE 
TRANSPORTE

Ing. Mario urrutia espinoza


INTRODUCCIÓN

2
3
> El nivel de enlace es responsable de la entrega de
tramas entre dos nodos vecinos en un enlace. A
esto se le llama comunicación nodo a nodo.
> El nivel de red es responsable de la entrega de
paquetes entre dos hosts. A esto se le llama
comunicación host a host.
> Pero la comunicación no se define como la
comunicación entre 2 hosts…
> La comunicación real tiene lugar entre 2 procesos
(programas de aplicación). Por tanto se necesita
comunicación proceso a proceso.

4
Tipos de comunicación de datos 5
Puede haber varios procesos ejecutándose en los
hosts origen y destino.

Hace falta un mecanismo para entregar los datos desde uno de


los procesos en ejecución en el host origen a uno de los
procesos del host destino

El nivel de transporte es responsable de la


comunicación proceso a proceso

Dos procesos se comunican generalmente en una


relación Cliente- Servidor
6
Este modelo supone que se dispone de dos
hosts que se comunican (extremos de la
comunicación) conectados por algún medio de
transmisión y/o red de comunicación

Para ello se usan protocolos de transporte, que


regulan el intercambio de información entre
extremos
El nivel de transporte garantiza una
comunicación fiable y eficiente entre dos hosts,
con independencia de los medios empleados
para su interconexión
7
FUNCIONES DE LA 
CAPA DE 
TRANSPORTE

8
Propósitos de la capa de transporte

Seguimiento de Segmentación de
conversaciones datos en tamaños
individuales entre manejables y gestión
aplicaciones de los de cada parte,
hosts de origen y permitiendo la
destino multiplexación

Reensamble de
Identificación de
segmentos en
diferentes
destino generando
aplicaciones a través
flujo de datos útiles
de los números de
para la capa de
puerto
aplicación

9
 Hay varios protocolos de la capa de transporte debido
a que las aplicaciones tienen diferentes requisitos

Para algunas aplicaciones, los segmentos deben llegar en una secuencia


específica de manera que puedan ser procesados en forma exitosa

En algunos casos, todos los datos deben recibirse


para ser utilizados por cualesquiera de las aplicaciones

En otros casos, una aplicación puede tolerar cierta pérdida


de datos durante la transmisión a través de la red

Variación de requerimientos

10
En las redes Los diferentes protocolos
convergentes actuales, de la capa de transporte
las aplicaciones con poseen distintas reglas
distintas necesidades de para permitir a los
transporte pueden dispositivos manejar estos
comunicarse en la misma diversos requerimientos.
red.

11
CONTROL DE LAS 
CONVERSACIONES

12
13
SOPORTE DE 
COMUNICACIÓN 
FIABLE

14
> La función principal de la capa de transporte es
administrar los datos de aplicación para las
conversaciones entre hosts.
> Cada aplicación tiene ciertos requisitos para sus
datos por lo que se han desarrollado diferentes
protocolos de transporte para que cumplan con estos
requisitos.
> Uno de los protocolos de la capa de transporte
implementa un método para asegurar el envío
confiable de datos.

15
Confiabilidad: asegurar que cada sección de
datos que envía el origen llegue a destino. Hay protocolos que
En la capa de transporte, las tres operaciones especifican métodos para
la entrega confiable
básicas de confiabilidad son: (garantizada ) y de
• Rastreo de datos transmitidos máximo esfuerzo (poco
• Acuse de recibo de datos recibidos confiable)
• Retransmisión de cualquier dato sin acuse de recibo

Estos procesos
generan uso adicional
de los recursos de red
debido al
reconocimiento,
rastreo y Los desarrolladores de
Para admitir estas aplicaciones deben elegir
retransmisión
operaciones de
Esto crea una qué tipo de protocolo es
confiabilidad se
intercambian más compensación entre adecuado en base a los
datos de control la confiabilidad y la requerimientos de sus
entre los hosts carga que hay en la aplicaciones
red
16
Determinación de la necesidad de
confiabilidad

> Aplicaciones como bases de datos, páginas web y


correo electrónico, necesitan que todos los datos
enviados lleguen a destino. Los datos perdidos
corrompen la comunicación y la dejan incompleta o
ilegible. Estas aplicaciones se diseñan para utilizar
un protocolo de capa de transporte que implemente
la confiabilidad.
> Otras aplicaciones son más tolerantes a la pérdida
de cantidades pequeñas de datos. Por ejemplo, si
uno o dos segmentos de un flujo de vídeo no llegan
a destino, sólo generará una interrupción
momentánea. Esto puede representar distorsión en
la imagen pero quizás ni sea advertido.
17
PROTOCOLOS

18
> Los dos protocolos más comunes de la capa
Protocolo de control de transmisión (TCP)
Protocolo de datagramas de usuario (UDP): 
de transporte
 Es
Protocolo
un protocoloson
simple, el conexión.
Protocolo
orientado
sin de Control de
a la conexión.
 Utiliza
Ventaja:recursos
proveeadicionales
la entrega de para
datos
ganar sinfunciones.
utilizar muchos
Transmisión (TCP) y el Protocolo de
 recursos.
Las funciones adicionales son el orden de entrega, la
Datagramas
 entrega
Las porcionesdedeUsuario
confiable comunicación
y el control(UDP).
deenflujo.
UDP se llaman
> Ambos protocolos
 datagramas.
Cada segmento TCP gestionan
posee 20 B de lacarga
comunicación
en el
 encabezado
Este protocolo quedeencapsulan
la capa de lostransporte
datos deenvía
la capa
estos
de
de múltiples aplicaciones.
datagramasmientras
aplicación, como "mejorque cada
intento".
datagrama UDP sólo
> Las diferencias
posee 8 B deque
Aplicaciones entre
carga. ellos
utilizan UDP: son las funciones
 Las aplicaciones que utilizan TCP (DNS)
son:
específicas
 Sistemaque cada
de nombres uno
de implementa.
dominio
 Exploradores Web
Streaming video
 Correo electrónico
Voz sobre IP (VOIP)
 Transferencias de archivos

19
Encabezados TCP y UDP
20
PUERTOS

21
Identificación de conversaciones

> Los servicios basados en TCP y UDP mantienen un


seguimiento de las aplicaciones que se comunican.
> Para diferenciar los segmentos y datagramas de cada
aplicación, TCP y UDP cuentan con campos de
encabezado, llamados puertos, que pueden identificar de
manera exclusiva estas aplicaciones.
> En el encabezado de cada segmento, hay un puerto
origen y uno destino.
 El número de puerto origen es el número asociado con la
aplicación que origina la comunicación en el host local.
 El número de puerto destino es el número asociado con la
aplicación de destino que está siendo requerida por el origen

22
> Cuando una aplicación cliente envía una solicitud a
una aplicación servidor, el puerto de destino
contenido en el encabezado es el número de puerto
asignado al servicio que se ejecuta en el host remoto
y que el software del cliente debe conocer y asociar
con dicho proceso.
> Este número de puerto destino se puede configurar
en forma predeterminada o manual.
> Por ejemplo, cuando un navegador Web realiza una
solicitud a un servidor Web, utiliza TCP y el número
de puerto 80 (servidores Web)
> Muchas aplicaciones comunes tienen asignados
puertos predeterminados.

23
Los números de puerto se asignan de distintas maneras, en virtud de si el mensaje
es una solicitud o una respuesta

Los procesos del servidor tienen asignados números de puerto estáticos,


los clientes eligen de forma dinámica un número de puerto para cada conversación

El puerto de origen de un segmento o de un datagrama de un cliente


se crea de forma aleatoria a partir de 1023

Mientras no haya conflicto con otros puertos en uso, el cliente elige cualquier
número de puerto del rango de números predeterminados

Este número de puerto actúa como dirección de retorno


para la aplicación que realiza la solicitud

La capa de transporte mantiene un seguimiento de este puerto y de la aplicación


que lo generó, de modo que cuando se responda, se envíe a la aplicación correcta

24
Porcombinación
> La ejemplo, una del solicitud
número de depuerto
páginadeWeb HTTP
la capa de que
transporte
se envía ayun deservidor
la dirección
WebIP (puerto
de la capa80)deque
red se
identifica
de manera
ejecuta enexclusiva
un host conun proceso en particular
una dirección IPv4 que se
ejecuta en un host
192.168.1.20 específico. al socket
se destinaría
> Esta combinación se denomina socket. Eventualmente,
192.168.1.20:80.
los términos número de puerto y socket se utilizan en
> Si el explorador
forma indistinta. Web que solicita la página Web se
> ejecuta
Un par de ensockets,
el hostque192.168.100.48
consiste en las ydirecciones
el númeroIPde de
puerto
origen ydinámico
destino y que se asignó
los números de al explorador
puertos, tambiénes es
49152,
exclusivoele socket sería
identifica 192.168.100.48:49152.
la conversación entre dos hosts.

25
Tipos de puertos

> La IANA (Autoridad de Números Asignados de


Internet ) es el organismo normativo responsable de
asegurar diferentes estándares de direccionamiento
y es el que asigna los números de puerto.
> Hay diversos tipos de puerto:
a) Puertos bien conocidos. ( 0 al 1023): se reservan para
servicios y aplicaciones. Por lo general, se utilizan para
aplicaciones como HTTP (servidor Web), POP3/SMTP
(servidor de correo electrónico) y Telnet. Son asignados y
controlados por IANA

26
b) Puertos registrados. (del 1024 al 49151): se asignan a procesos o
aplicaciones del usuario. Estos procesos son principalmente
aplicaciones individuales que el usuario elige instalar en lugar de
aplicaciones comunes que recibiría un puerto bien conocido. No
son asignados o controlados por IANA, sólo son registrados para
evitar la duplicación.
c) Puertos dinámicos o privados. (del 49152 a 65535): conocidos
como puertos efímeros, están usualmente asignados de forma
dinámica a las aplicaciones cliente cuando se inicia una conexión.
No son controlados ni registrados por IANA.

27
> Uso de TCP y UDP
 Algunas aplicaciones pueden utilizar ambos.
 Por ejemplo, el bajo gasto de UDP permite que DNS
atienda rápidamente varias solicitudes de clientes.
 Sin embargo, a veces el envío de la información
solicitada puede requerir la confiabilidad de TCP.
 En este caso, el número de puerto bien conocido de
53 lo utilizan ambos protocolos con este servicio.

28
Rango de Puertos

Puertos TCP y UDP comunes
Puertos UDP
Puertos TCP
29
SEGMENTACIÓN Y 
REENSAMBLAJE

30
> Algunas aplicaciones transmiten gran cantidad de datos. Es
poco práctico enviar todos los datos de una vez pues si
hubiera algún error, todo se perdería y tendría que
reenviarse.
> Los dispositivos de red no cuentan con buffers de memoria
tan grandes como para almacenar esa cantidad de datos
durante la transmisión o recepción.
> El límite varía dependiendo de la tecnología de networking
y del medio físico a utilizar.
> Dividir los datos de la aplicación en partes, asegura que
éstos se transmitan dentro de los límites de los medios y
que se puedan multiplexar en el medio.

31
Multiplexación de puertos

Un número de puerto puede ser compartido por


más de una conexión
Ejemplo es el caso de un servidor FTP.
La aplicación servidora es la que debe distinguir entre los
distintos flujos de datos.

¿Cómo puede distinguir los flujos de datos?

La dirección de socket de cada cliente es diferente

Un cliente puede establecer más de una conexión con


un mismo puerto de servidor en el mismo nodo?

Si, pero debe usar un número de puerto de cliente distinto


para cada conexión

32
136.145.60.13:
136.145.60.13:2345
2345 Servidor
Servidor
Cliente FTP
Cliente FTP Puerto
Puerto21
21 FTP
FTP

Puerto
Puerto
2345
2345

136.145.60.40:
136.145.60.40:3890
3890
Cliente FTP
Cliente FTP

Puerto
Puerto
3890
3890 Ejemplo de múltiples conexiones: diferentes clientes 33
136.145.60.13:
136.145.60.13:2567
2567
136.145.60.13:
136.145.60.13:2345
2345
Cliente FTP
Cliente FTP Puerto
Puerto21
21 Servidor
Servidor
FTP
FTP

Puerto
Puerto Puerto
Puerto
2567 2345 Note que si el cliente identifica ambas conexiones con el 
2567 2345 mismo puerto, no habría forma de distinguirlas.

Ejemplo de múltiples conexiones: mismo


cliente 34
Segmentación diferente para el manejo de TCP y
UDP

En TCP, cada encabezado de segmento


contiene un número de secuencia

Este número de secuencia permite que las


funciones de la capa de transporte del host de
destino reensamblen los segmentos en el
mismo orden en el cual se transmitieron

Esto asegura que la aplicación de destino tenga


los datos en la misma forma que el emisor la
planeó

35
36
37
TCP

38
> La diferencia entre TCP y UDP es la confiabilidad la que se
consigue utilizando sesiones orientadas a la conexión.
> Antes de que un host que utiliza TCP envíe datos a otro
host, la capa de transporte inicia un proceso para crear
una conexión con el destino.
> Esta conexión permite el rastreo de una sesión, o flujo de
comunicación entre los hosts.
> Este proceso asegura que cada host tenga conocimiento
de la comunicación y se prepare.
> Una conversación completa de TCP necesita establecer
una sesión entre los hosts en ambas direcciones.

39
> Después de establecer una sesión, el destino envía un
acuse de recibo al origen por los segmentos que recibe.
> Estos acuses de recibo forman la base de la confiabilidad
dentro de la sesión TCP.
> 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
> Parte de la carga adicional que genera el uso de TCP, es
el tráfico de red generado por los acuses de recibo y las
retransmisiones

40
41
> Cuando una aplicación activa del servidor se asigna a un
puerto específico, este puerto se considera "abierto" para
el servidor.
> Esto significa que la capa de transporte acepta y procesa
segmentos direccionados a ese puerto.
> Toda solicitud entrante de un cliente direccionada al
socket correcto es aceptada y los datos se envían a la
aplicación del servidor.
> Pueden existir varios puertos “abiertos” simultáneamente
en un servidor, uno para cada aplicación activa. Es común
que un servidor proporcione más de un servicio, como un
servidor Web y un servidor FTP al mismo tiempo

42
Procesos del servidor TCP

> Los procesos de aplicación se ejecutan en servidores.


Estos procesos esperan hasta que el cliente inicia
comunicación con la respectiva solicitud.
> Cada proceso de aplicación que se ejecuta en el
servidor se configura para utilizar un número de
puerto.
> Un servidor no puede tener dos servicios asignados al
mismo puerto dentro de los servicios de la capa de
transporte.
> Un host que ejecuta una aplicación de servidor Web y
una de transferencia de archivos no puede configurar
ambas para utilizar el mismo puerto.
43
Solicitar puerto origen
Respuesta  de puertos de destino
Respuesta de puertos de origen
Solicitar puerto destino
44
Establecimiento y finalización de la
conexión TCP
> Cuando dos hosts se comunican mediante TCP, se
establece una conexión antes de intercambiar datos.
Luego de completada la comunicación, se cierran las
sesiones y la conexión finaliza.
> El host rastrea cada segmento de datos dentro de
una sesión e intercambia información sobre los datos
que recibe cada host mediante el encabezado TCP.
> Para establecer la conexión los hosts realizan un
protocolo de enlace denominado de tres vías.
> Los bits de control en el encabezado TCP indican el
progreso y estado de la conexión

45
> El 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 que acepte solicitudes en el número
de puerto de destino que el cliente de origen intenta
utilizar para la sesión
 Informa al dispositivo de destino que el cliente de
origen intenta establecer una sesión de
comunicación en dicho número de puerto

46
Proceso para el establecimiento de una conexión

1. Cliente envía un segmento TCP con:


 Dirección “socket” del servidor (DA) y del cliente 
(SA). 
 Un indicador de inicio de secuencia: SYN =1
 El número de secuencia inicial (SEQ) y el tamaño de 
ventana inicial propuesta (MSS)
MSS: SEQC: SYN SA: DA:

CC SS

47
2. Servidor responde con otro segmento
TCP con:
 Dirección “socket” del cliente (DA) y servidor 
(SA).
 Indicador de inicio de secuencia: SYN =1 
 El número de secuencia inicial y el tamaño de 
ventana inicial del servidor.
 Aceptación del número de secuencia +1 que envió 
el cliente.

CC SS
DA: SA: SYN SECS: ACK=SECC+1 MSS:
48
3. Cliente responde con segmento TCP con:
 Direcciones de socket correspondientes
 Número de secuencia inicial, tamaño de ventana inicial del 
servidor.
 Aceptación del número de secuencia  +1 que envió el 
servidor.
4. La conexión queda abierta en ambos sentidos.

CC SS

49
Diagrama de establecimiento de una
conexión

Cliente
Cliente AA BB Servidor
Servidor
SYN=1,
SYN=1,
Sec
Sec=823
=823 SYN
SYN==1,1,
MSS
MSS Sec
Sec==4567
4567
Ack=
Ack=824
824
Ack
Ack==4568
4568 MSS
MSS

Conexión
Conexión disponible
disponible

t
t
50
¿Qué se ha logrado?

> Al confirmarse la conexión se conoce que:


 Ambas partes (aplicaciones) están disponibles para 
intercambiar datos.
> Además se negociaron los valores de:
 Tamaño de ventana servidor  cliente.
 Tamaño de ventana cliente  servidor. 
 Números de secuencia iniciales. 
 Puerto que escucha la aplicación cliente.

51
Proceso de cerrar una conexión

Cualquiera de los dos lo puede iniciar.


Ejemplo: si lo inicia el cliente.
1. Aplicación cliente envía un segmento
TCP con:
 Direcciones de socket correspondientes
 Número de secuencia 
 Indicador de final (FIN=1).  

CC SS

52
2. Aplicación servidor envía un segmento
TCP con:
 Direcciones de socket. 
 Número de secuencia +1 
 Indicador de final (FIN = 0). 
> Significa que me enteré que quieres
cerrar la sesión de trabajo y estoy
iniciando ese proceso.

CC SS

53
3. Aplicación servidor envía un segmento
de TCP con:
 Direcciones de socket. 
 Número de secuencia +1 esperado. 
 Indicador de final (FIN = 1). 
> Significa que ya se completó el trabajo
de cerrar la sesión.

CC SS

54
4. Aplicación cliente envía un segmento de
TCP con:
 Direcciones de socket. 
 Número de secuencia +1 esperado. 
 Indicador de final (FIN = 0). 
> Significa enterado.

CC SS

55
Diagrama de cierre de conexión

AA BB

FIN
FIN==1,1, FIN
FIN==0,0,
sec
sec==xx Ack
Ack==xx++11
Informar
Informar aa aplicación
aplicación
para
para que
que cierre
cierre
FIN=1,
FIN=1,
FIN=0,
FIN=0, sec
sec==yy
Ack
Ack==yy+1
+1
Conexión
Conexión cerrada
cerrada

56
Reensamblaje de segmentos TCP

> Cuando los servicios envían datos mediante TCP, los


segmentos pueden llegar en desorden.
> Para que el receptor comprenda el mensaje original,
los datos de estos segmentos se reensamblan en el
orden original. Para lograr esto, se asignan números
de secuencia en el encabezado.
> Durante la configuración de la sesión, se establece
un número de secuencia inicial (ISN). Este número
representa el valor de inicio para los bytes de esta
sesión que se transmitirán a la aplicación receptora

57
> 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.
> Este rastreo de bytes de datos permite que cada
segmento se identifique y se envíe acuse de recibo
de manera exclusiva además de que se puedan
identificar segmentos perdidos.
> El receptor TCP coloca los datos del segmento en un
búffer. Los segmentos se colocan en el orden de
secuencia adecuado y se pasan a la capa de
aplicación cuando se reensamblan

58
59
TCP asegura que cada segmento llegue a destino. Se le informa al origen que el destino ha recibido
Los servicios TCP en el host destino envían todos los bytes, pero sin incluir el byte que se
a la aplicación de origen un acuse de recibo especifica por el número de acuse de recibo
de los datos recibidos

El número de secuencia y el acuse de recibo Se espera que el host emisor envíe un segmento
se utilizan para confirmar la recepción de los datos que utiliza un número de secuencia que es
contenidos en los segmentos igual al número de acuse de recibo

El número de secuencia es el número relativo de


bytes que ha sido transmitido en esta sesión más 1 Recuerde que cada conexión es realmente
dos sesiones de una vía
TCP usa el número de acuse de recibo en segmentos
que se envían al origen para indicar el próximo byte
de esta sesión que espera el receptor. Los números de secuencia y los números de acuse
Esto se llama acuse de recibo de expectativa de recibo se intercambian en ambas direcciones

Acuse de recibo de TCP usando ventanas


60
Enhost
El estede
segmento,
la izquierda
el host
envíaestablece
datos aleldeacuse
la derecha.
de recibo
Envía
en un
11 segmento
para indicarque
que
contiene
el próximo
10 bytes
byte de
datos que
paraespera
esta sesión
recibir
y un
en número
esta sesión
de secuencia
es el 11. Eligual
valorade
1 en
ACK
el en
encabezado.
el host de origen permanece en 1
El host
para indicar
receptor
querecibe
el segmento
el segmento
es parte
y determina
de una conversación
que el númerocontinua
de secuencia
y que el número
es 1 y queenposee
el campo
10
bytes de
acuse de datos.
recibo es
Luego
válido.
envíaCuando
un segmento
el host emisor
al hostrecibe
de la izquierda
este acusepara
de acusar
recibo, recibo
puede deenviar
estoseldatos
próximo segmento que contiene datos para esta sesión a partir del byte 11

61
Observando el
ejemplo:

Si el emisor tuviera que Por ejemplo, si se comienza con


esperar el acuse de recibo por un número de secuencia 2000, y
cada uno de los 10 bytes, la se reciben 10 segmentos de
red estaría sobrecargada. Para 1000 bytes cada uno, se
reducir la sobrecarga, puede devolverá al origen un acuse de
enviarse segmentos de datos recibo de 12000. La cantidad de
múltiples y ser reconocidos datos que el origen puede
con un mensaje TCP simple en transmitir antes de recibir un
la dirección opuesta. acuse de recibo es el tamaño de
Este reconocimiento contiene ventana, que es un campo en el
un número de acuse de recibo encabezado TCP que permite la
en base al número total de administración de datos
bytes recibidos en la sesión. perdidos y el control del flujo

62
Manejo de segmentos perdidos

Siempre se produce pérdida de datos. Si se recibieron los segmentos con


números de secuencia de 1500 a 3000 y
TCP cuenta con métodos para gestionar de 3400 a 3500, el número de acuse de
dichas pérdidas. Entre estos está un recibo sería 3001. Esto porque hay
mecanismo para retransmitir segmentos segmentos con números de secuencia
con datos sin acuse de recibo. del 3001 al 3399 que no se han recibido.
Un servicio de host de destino que utiliza Cuando el TCP en el host de origen no
TCP generalmente sólo da acuse de recibo recibe un acuse de recibo luego de un
de datos para bytes de secuencia determinado período de tiempo, éste
continuos. regresará al último número de acuse de
Si uno o más segmentos se pierden, sólo se recibo que recibió y volverá a transmitir
acusa recibo de los datos de los segmentos los datos desde dicho punto
que completan el flujo

63
Control de flujo

Contribuye con la confiabilidad El campo Tamaño de Ventana


de la transmisión TCP en el encabezado TCP
CONTROL DE
ajustando la tasa efectiva de especifica la cantidad de datos
FLUJO
flujo de datos entre los dos que se pueden transmitir antes
servicios de la sesión. de que se deba recibir un acuse
Cuando se le informa al origen de recibo.
que se recibió una cantidad El tamaño inicial de la ventana
específica de datos en los se determina durante el
segmentos, puede seguir arranque de sesión por medio
enviando más datos para esta del enlace de tres vías
sesión

El mecanismo de realimentación de TCP ajusta la velocidad


eficaz de transmisión de datos al flujo máximo que la red y el
dispositivo de destino pueden admitir sin pérdidas.
TCP gestiona la tasa de transmisión de manera que todos los
datos se reciban y se reduzcan las retransmisiones
64
Ejemplo:
En los periodos
El tamaño de laen que la
ventana inicial
red está congestionada
para la o
sesión TCP representada
se establece en 3000 b.
los recursos del receptor
están exigidos, la demora
puede aumentar.
Cuando el emisorAlosmedida
transmite, espera
que aumenta por un acuse
esta demora,
de recibo antes de transmitir
disminuye la tasapara
más segmentos de esta
transmisión
sesión efectiva de los
datos para esta sesión. La
disminución de la
Una vez de
velocidad quelos
el emisor
datostiene este
acuse de recibo del receptor, ya
ayuda a reducir
puede transmitirla3000 b más.
contención
Durante elde recursos
retraso en la recepción
del acuse de recibo, el emisor no
envía ningún segmento adicional
para esta sesión

65
Reducción del tamaño de la ventana

Otra forma de controlar el flujo de


datos es utilizar tamaños de ventana
dinámicos

Cuando los recursos de la red son El receptor TCP envía el valor del
limitados, TCP puede reducir el tamaño de la ventana al emisor TCP
tamaño de la ventana para lograr para indicar el número de bytes que
que los segmentos recibidos sean está preparado para recibir como
reconocidos con mayor frecuencia. parte de la sesión.
Esto reduce de forma efectiva la Si el destino necesita disminuir la
velocidad de transmisión porque el velocidad puede enviar un valor más
origen espera que se envíe acuses pequeño del tamaño de la ventana
de recibo con más frecuencia al origen como parte del acuse de
recibo

66
Si el receptor está congestionado,
puede responder al emisor con un
segmento con tamaño reducido de
la ventana
En este caso, se produjo la
pérdida de uno de los segmentos

El receptor ha cambiado
el campo de la ventana
en el encabezado TCP
de los segmentos
devueltos de 3000 a
1500. Esto hace que el
emisor reduzca el
tamaño de la ventana a
1500

67
En redes altamente eficientes,
los tamaños de la ventana
pueden ser muy grandes
Estas disminuciones y porque no se pierden datos.
aumentos dinámicos
Después de periodos de En redes donde se tensiona la
del tamaño de la
transmisión sin pérdidas de infraestructura subyacente, el
ventana representan
datos o recursos limitados, el tamaño de la ventana
un proceso continuo
receptor aumentará el tamaño probablemente permanecerá
en TCP que determina
de la ventana. Esto reduce la pequeño
el tamaño óptimo de
sobrecarga de la red, ya que se
la ventana para cada
requiere enviar menos acuses de
sesión TCP
recibo. El tamaño de la ventana
continuará aumentando hasta
que haya pérdida de datos, lo
que producirá una disminución
del tamaño de la misma

68
UDP

69
UDP es un protocolo simple que provee las
funciones básicas de la capa de transporte

Tiene sobrecarga menor que TCP, pues no está orientado


a la conexión y no proporciona mecanismos sofisticados
de retransmisión, secuenciamiento y flujo de control

Esto no significa que las aplicaciones que utilizan UDP


sean poco confiables

Sólo quiere decir que estas funciones no las contempla


el protocolo de la capa de transporte y se deben
implementar aparte, si fuera necesario

70
> Pese a que es relativamente baja la cantidad de tráfico
UDP que puede encontrarse en una red, los protocolos
clave de la capa de aplicación que utilizan UDP incluyen:
 Sistema de nombres 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 de transferencia de archivos trivial (TFTP)
 Juegos en línea

71
Como UDP opera sin Muchas aplicaciones que
conexión, las sesiones no se utilizan UDP envían La PDU del UDP se conoce
establecen antes de que se pequeñas cantidades de como un datagrama,
lleve a cabo la comunicación, datos que pueden aunque los términos
como sucede con TCP. ajustarse en un segmento. segmento y datagrama se
Se dice que UDP está basado Sin embargo, algunas utilizan algunas veces de
en transacciones, en otras aplicaciones envían forma intercambiable para
palabras, cuando una cantidades más grandes describir una PDU de la
aplicación tiene datos que que deben dividirse en capa de transporte.
enviar, sólo los envía. varios segmentos.

Reensamblaje de los datagramas UDP


72
> Cuando se envían datagramas múltiples a un
destino, pueden tomar diferentes rutas y llegar en el
orden equivocado. UDP no mantiene un seguimiento
de los números de secuencia, es decir, no puede
reordenar los datagramas en el orden de la
transmisión.
> UDP simplemente reensambla los datos en el orden
en que se recibieron y los envía a la aplicación. Si la
secuencia de los datos es importante para la
aplicación, ella misma deberá identificar la secuencia
adecuada y determinar cómo procesarlos.

73
Procesos y solicitudes del servidor UDP

Al
ap igu
se lica al un
as rvi cio que c
e
ib o a
pu ign dor ne TC Cuando se ejecutan P
e
r n ad
o ert a n UD s d P, estas aplicaciones o o UD desti rtos,
re o úm P el a
gi b la u and rama s pue la
st ie er se s procesos, aceptan los C ag s o os a d a e n
ra n os le t e
do co d s datos que coincidan da de dat cua e
o s e
s no e
cid con el número de un ía lo n ad ero d
os puerto asignado. env icació núm
u
ap l e a s
bas rto.
e
pu 74
Procesos de cliente UDP

Como en TCP, la comunicación la


Los números de puerto de origen
inicia una aplicación cliente que
seleccionados al azar colaboran con la
solicita datos de un proceso del
seguridad.
servidor.
Si existe un patrón predecible para la
El proceso cliente UDP selecciona al
selección del puerto de destino, un
azar un número de puerto del
intruso puede simular el acceso a un
rango dinámico y lo utiliza como
cliente de manera sencilla intentando
puerto de origen.
conectarse al número de puerto que
El puerto de destino por lo general tenga mayor posibilidad de estar
será un número de puerto bien abierto
conocido o registrado asignado al
proceso del servidor

75
76
Una vez que el cliente ha elegido
Ya que no se crean sesiones los puertos de origen y destino,
con UDP (tan pronto como estos mismos puertos se utilizarán
los datos estén listos para en el encabezado de todos los
enviarse y los puertos estén datagramas que se utilicen en la
identificados), UDP puede transacción.
armar el datagrama y Para la devolución de datos del
pasarlo a la capa de red servidor al cliente, se invierten los
para direccionarlo y números de puerto de origen y
enviarlo a la red. destino en el encabezado del
datagrama

77