PDF de programación - Medida del throughput con transmisiones sobre TCP

Imágen de pdf Medida del throughput con transmisiones sobre TCP

Medida del throughput con transmisiones sobre TCPgráfica de visualizaciones

Publicado el 13 de Mayo del 2021
59 visualizaciones desde el 13 de Mayo del 2021
277,4 KB
5 paginas
Creado hace 11a (30/03/2010)
ALB-W-000003sp

WHITE PAPER

White Paper



Medida del throughput con transmisiones sobre TCP

Septiembre 2009

Medida del throughput sobre TCP

ALB-W-000003sp

WHITE PAPER

A la hora de medir la tasa máxima de transmisión que puede ofrecer un enlace WiMAX se
suele recurrir a herramientas similares a las que miden la velocidad de descarga desde
Internet, que basan su estimación en contar el tiempo que el usuario necesita para
descargar o enviar un fichero de tamaño conocido a través de una conexión TCP. A
menudo, los resultados obtenidos por estas herramientas difieren mucho de lo esperado,
con lo que puede parecer que el enlace WiMAX no está ofreciendo todo el throughput que
debería. En cambio, cuando se usan herramientas basadas en el protocolo UDP, el
throughput estimado es similar al valor teórico esperado.

Este documento pretende analizar el funcionamiento de estas herramientas para
demostrar que los resultados no están relacionados con la tecnología WiMAX sino con la
configuración de determinados parámetros del enlace WiMAX y del propio protocolo de
transporte TCP.

En primer lugar se realizará una breve descripción de los protocolos TCP y UDP. A
continuación, se profundizará en relación entre estos protocolos y la medida del
throughput. Finalmente se propondrá una metodología para optimizar la configuración de
conexiones TCP sobre enlaces WiMAX.

Protocolos TCP y UDP

Tanto TCP como UDP son protocolos del nivel de transporte y se encuentran por tanto entre la capa de red y
la capa de aplicación. El funcionamiento de ambos protocolos es muy diferente tal y como se explica a
continuación.

TCP (Transport Control Protocol)

UDP (User Datagram Protocol)

Este protocolo se define en RFC 793 y sus
principales características son:

El protocolo UDP se define en RFC 768, y sus
características más importantes son:

• Orientado a conexión: los sistemas de los dos
extremos se sincronizan para controlar el flujo
de paquetes y adaptarse a la congestión de la
red. Se establece un circuito virtual en cada
sentido de la comunicación.

• Comunicación fiable: garantía de entrega sin

errores y en orden.
− Confirmación de entrega
− Solicitud de retransmisiones
− Detección

y

corrección de

(checksum en la cabecera TCP)

errores

• Control de errores: si el paquete se recibe
envía una
la

correctamente,
confirmación de entrega. Si no, pide
retransmisión.

receptor

el

• Control de Flujo: el protocolo define
mecanismos para reducir la tasa de transmisión
cuando se detectan pérdidas de paquetes y para
incrementar la tasa hasta la capacidad máxima
cuando dejan de detectarse errores en la
comunicación.

• Comunicación Punto a Punto

• Aplicaciones típicas: aquellas en donde prime
la Fiabilidad o las que necesiten tasas de
transmisión altas: HTTP, FTP, SSH, SMTP, POP,
Telnet,…

• No orientado a la conexión: un extremo
puede mandar datos al otro extremo de forma
unidireccional y sin esperar a que se establezca
ninguna conexión. La cabecera UDP contiene la
mínima información de direccionamiento para
no requerir el establecimiento de una conexión.

• Comunicación NO fiable: ninguna garantía.

− Sin confirmación de entrega
− Sin solicitud de retransmisiones
− Únicamente detección de
(checksum en la cabecera UDP)

errores

• Basado en datagramas: cabeceras pequeñas
(8 bytes) para el transporte más simple
posible.

• Ausencia de control de flujo: los datagramas

pueden llegar desordenados.

• Comunicación Punto a Punto, o Punto a

Multipunto (Multicast, Broadcast,…)

• Aplicaciones típicas: aquellas en donde prima
la velocidad y el bajo retardo (Streaming de
Audio o Video en tiempo real), o las que
transmiten poca información y no merece la
pena que establezcan una conexión extremo a
extremo: DHCP, DNS, NTP, NFS, RCP, TFTP,
BOOTP...

Medida del throughput sobre TCP

Página 2

Protocolos de transporte y medida del throughput

ALB-W-000003sp

WHITE PAPER

Protocolo TCP

Los mecanismos de control de flujo y de control de
congestión del protocolo TCP pueden hacer que la tasa
binaria máxima medida entre dos extremos difiera de
su valor esperado. Por lo tanto es importante conocer
estos mecanismos y su funcionamiento para poder
realizar e interpretar estas medidas de forma correcta.

El throughput de una conexión TCP está limitado
por dos ventanas: la ventana de recepción y la
ventana de congestión. La primera trata de no
superar la capacidad del receptor para procesar datos
(control de flujo) y la segunda trata de no exceder la
capacidad de la red (control de congestión). A
continuación se explica el funcionamiento básico de
estos dos mecanismos de control.

Control de Flujo en TCP

TCP emplea un protocolo de control de flujo extremo a
extremo. Su objetivo es regular la tasa de envío de
paquetes para evitar saturar al receptor. Si el receptor
se saturara comenzaría a descartar paquetes que
precisarían reenvío, haciendo menos eficiente el uso de
la red.

El protocolo de control de flujo se basa en el uso de una
ventana deslizante (Sliding Window). En cada ACK, el
receptor indica al transmisor en el campo Receive
Window la cantidad de bytes que hay disponibles en
su buffer. Si el transmisor envía esa cantidad de bytes
deberá esperar a que el receptor le informe de que
tiene espacio en el buffer antes de transmitir más
datos. Mientras el receptor esté saturado enviará una
ventana de cero bytes, y en el momento en el que
tenga espacio disponible en su buffer enviará una
ventana mayor que cero.

 Escalado de ventana en TCP

El campo de Receive Window está limitado a 16
bits, lo que supone un tamaño de ventana de
65535 bytes. Este tamaño de ventana puede
limitar la eficiencia en las redes con gran ancho de
banda.

Para solucionar este problema se usa un factor de
escalado que permite incrementar el tamaño de la
ventana desde 65535 bytes a 1 Gigabyte. Este
factor de escalado se envía en el campo “TCP
Window Scale” de la cabecera TCP, se negocia
durante el establecimiento de la conexión, y
permanece fijo una vez establecido.



Control de Congestión en TCP

Los mecanismos de control de congestión tienen como
objetivo evitar saturar la red. Estos mecanismos
regulan la cantidad de datos que el transmisor
introduce en la red, reduciendo el flujo de datos en
caso de detectar algún problema.

Para detectar problemas en la red el transmisor se
basa en la ausencia de ACKs. Cuando el transmisor
envía un paquete se activa un temporizador de
retransmisión, que alerta de la ausencia del ACK
cuando se supera el RTT (Round Trip Time).

Básicamente, estos mecanismos se basan en controlar
el tamaño de la ventana de transmisión. La ventana
de transmisión se define como la cantidad de bytes
que puede transmitir un extremo antes de recibir
confirmación. Al iniciarse la comunicación la ventana
de transmisión es de sólo un paquete, y va
aumentando
reciben ACKs
correctamente. Si la comunicación se realiza sin
problemas la ventana de transmisión acabará siendo
igual que la de recepción. En cambio si se detecta
algún problema se reducirá de nuevo la ventana de
transmisión.

conforme

se

A la hora de realizar medidas de throughput, hay que
tener en cuenta que al comienzo de la conexión la
capacidad de
la misma estará por debajo del
throughput real del enlace.



Protocolo UDP

En el caso del protocolo UDP no existen mecanismos
de gestión de flujo ni tampoco mecanismos de control
de congestión. No introduce retardos para establecer
ninguna conexión y no realiza ningún seguimiento del
estado de la misma. La información simplemente se
envía desde el transmisor, que confía en que llegue lo
mejor posible al destinatario.

Con esta filosofía de transporte “lo más simple
posible”, UDP entrega los datos al destino de forma
muy rápida y con el menor retardo, haciendo que las
medidas de througput para tráfico de aplicaciones
sobre UDP resulte mucho más sencillo que las
medidas para tráfico sobre TCP.

Medida del throughput sobre TCP

Página 3

ALB-W-000003sp

WHITE PAPER

Herramientas de Medida del Throughput

Actualmente existen numerosas herramientas para
estimar el throughput de una determinada conexión.
Como ya se ha explicado anteriormente, estas
herramientas basan su estimación en medir el tiempo
necesario para transmitir una cantidad de bytes
conocida a través de una conexión TCP. Así, dividiendo
los bytes transmitidos entre el tiempo invertido en su
descarga, se calcula la tasa media de recepción/
transmisión que tuvo esa conexión y este valor se
emplea como estimación del throughput disponible.

Al analizar los resultados de estas herramientas hay
que tener en cuenta varios detalles, como si están
contando o no todos los bytes de cabeceras (IP, TCP,
etc.), o si en ese momento hay otra aplicación haciendo
uso de los recursos de la conexión, por ejemplo.

En cualquier caso la principal fuente de error en las
medidas obtenidas con estas herramientas están
ligadas a la configuración del protocolo TCP. La
configuración de las ventanas TCP en los extremos, la
latencia del enlace, y el tamaño de la
  • Links de descarga
http://lwp-l.com/pdf19186

Comentarios de: Medida del throughput con transmisiones sobre TCP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad