Está en la página 1de 5

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 mxima de transmisin 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 estimacin en contar el tiempo que el usuario necesita para
descargar o enviar un fichero de tamao conocido a travs de una conexin 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
debera. En cambio, cuando se usan herramientas basadas en el protocolo UDP, el
throughput estimado es similar al valor terico esperado.
Este documento pretende analizar el funcionamiento de estas herramientas para
demostrar que los resultados no estn relacionados con la tecnologa WiMAX sino con la
configuracin de determinados parmetros del enlace WiMAX y del propio protocolo de
transporte TCP.
En primer lugar se realizar una breve descripcin de los protocolos TCP y UDP. A
continuacin, se profundizar en relacin entre estos protocolos y la medida del
throughput. Finalmente se propondr una metodologa para optimizar la configuracin 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 aplicacin. El funcionamiento de ambos protocolos es muy diferente tal y como se explica a
continuacin.

TCP (Transport Control Protocol) UDP (User Datagram Protocol)


Este protocolo se define en RFC 793 y sus El protocolo UDP se define en RFC 768, y sus
principales caractersticas son: caractersticas ms importantes son:
Orientado a conexin: los sistemas de los dos No orientado a la conexin: un extremo
extremos se sincronizan para controlar el flujo puede mandar datos al otro extremo de forma
de paquetes y adaptarse a la congestin de la unidireccional y sin esperar a que se establezca
red. Se establece un circuito virtual en cada ninguna conexin. La cabecera UDP contiene la
sentido de la comunicacin. mnima informacin de direccionamiento para
no requerir el establecimiento de una conexin.
Comunicacin fiable: garanta de entrega sin
errores y en orden. Comunicacin NO fiable: ninguna garanta.
Confirmacin de entrega Sin confirmacin de entrega
Solicitud de retransmisiones Sin solicitud de retransmisiones
Deteccin y correccin de errores nicamente deteccin de errores
(checksum en la cabecera TCP) (checksum en la cabecera UDP)
Control de errores: si el paquete se recibe Basado en datagramas: cabeceras pequeas
correctamente, el receptor enva una (8 bytes) para el transporte ms simple
confirmacin de entrega. Si no, pide la posible.
retransmisin.
Ausencia de control de flujo: los datagramas
Control de Flujo: el protocolo define pueden llegar desordenados.
mecanismos para reducir la tasa de transmisin
cuando se detectan prdidas de paquetes y para Comunicacin Punto a Punto, o Punto a
incrementar la tasa hasta la capacidad mxima Multipunto (Multicast, Broadcast,)
cuando dejan de detectarse errores en la Aplicaciones tpicas: aquellas en donde prima
comunicacin. la velocidad y el bajo retardo (Streaming de
Comunicacin Punto a Punto Audio o Video en tiempo real), o las que
transmiten poca informacin y no merece la
Aplicaciones tpicas: aquellas en donde prime pena que establezcan una conexin extremo a
la Fiabilidad o las que necesiten tasas de extremo: DHCP, DNS, NTP, NFS, RCP, TFTP,
transmisin altas: HTTP, FTP, SSH, SMTP, POP, BOOTP...
Telnet,

Pgina 2
Medida del throughput sobre TCP
ALB-W-000003sp

WHITE PAPER

Protocolos de transporte y medida del throughput

Protocolo TCP Control de Congestin en TCP

Los mecanismos de control de flujo y de control de Los mecanismos de control de congestin tienen como
congestin del protocolo TCP pueden hacer que la tasa objetivo evitar saturar la red. Estos mecanismos
binaria mxima medida entre dos extremos difiera de regulan la cantidad de datos que el transmisor
su valor esperado. Por lo tanto es importante conocer introduce en la red, reduciendo el flujo de datos en
estos mecanismos y su funcionamiento para poder caso de detectar algn problema.
realizar e interpretar estas medidas de forma correcta. Para detectar problemas en la red el transmisor se
El throughput de una conexin TCP est limitado basa en la ausencia de ACKs. Cuando el transmisor
por dos ventanas: la ventana de recepcin y la enva un paquete se activa un temporizador de
ventana de congestin. La primera trata de no retransmisin, que alerta de la ausencia del ACK
superar la capacidad del receptor para procesar datos cuando se supera el RTT (Round Trip Time).
(control de flujo) y la segunda trata de no exceder la Bsicamente, estos mecanismos se basan en controlar
capacidad de la red (control de congestin). A el tamao de la ventana de transmisin. La ventana
continuacin se explica el funcionamiento bsico de de transmisin se define como la cantidad de bytes
estos dos mecanismos de control. que puede transmitir un extremo antes de recibir
confirmacin. Al iniciarse la comunicacin la ventana
de transmisin es de slo un paquete, y va
Control de Flujo en TCP
aumentando co nfo rm e se reciben A CK s
TCP emplea un protocolo de control de flujo extremo a correctamente. Si la comunicacin se realiza sin
extremo. Su objetivo es regular la tasa de envo de problemas la ventana de transmisin acabar siendo
paquetes para evitar saturar al receptor. Si el receptor igual que la de recepcin. En cambio si se detecta
se saturara comenzara a descartar paquetes que algn problema se reducir de nuevo la ventana de
precisaran reenvo, haciendo menos eficiente el uso de transmisin.
la red.
A la hora de realizar medidas de throughput, hay que
El protocolo de control de flujo se basa en el uso de una tener en cuenta que al comienzo de la conexin la
ventana deslizante (Sliding Window). En cada ACK, el capacidad de la misma estar por debajo del
receptor indica al transmisor en el campo Receive throughput real del enlace.
Window la cantidad de bytes que hay disponibles en
su buffer. Si el transmisor enva esa cantidad de bytes
deber esperar a que el receptor le informe de que
tiene espacio en el buffer antes de transmitir ms
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
Protocolo UDP
ventana mayor que cero. En el caso del protocolo UDP no existen mecanismos
 Escalado de ventana en TCP de gestin de flujo ni tampoco mecanismos de control
de congestin. No introduce retardos para establecer
El campo de Receive Window est limitado a 16
ninguna conexin y no realiza ningn seguimiento del
bits, lo que supone un tamao de ventana de
estado de la misma. La informacin simplemente se
65535 bytes. Este tamao de ventana puede
enva desde el transmisor, que confa en que llegue lo
limitar la eficiencia en las redes con gran ancho de
mejor posible al destinatario.
banda.
Con esta filosofa de transporte lo ms simple
Para solucionar este problema se usa un factor de
posible, UDP entrega los datos al destino de forma
escalado que permite incrementar el tamao de la
muy rpida y con el menor retardo, haciendo que las
ventana desde 65535 bytes a 1 Gigabyte. Este
medidas de througput para trfico de aplicaciones
factor de escalado se enva en el campo TCP
sobre UDP resulte mucho ms sencillo que las
Window Scale de la cabecera TCP, se negocia
medidas para trfico sobre TCP.
durante el establecimiento de la conexin, y
permanece fijo una vez establecido.

Pgina 3
Medida del throughput sobre TCP
ALB-W-000003sp

WHITE PAPER

Herramientas de Medida del Throughput

Actualmente existen numerosas herramientas para En resumen, con la configuracin del ejemplo se
estimar el throughput de una determinada conexin. pueden enviar 512Kbits (64KB) cada 40ms. Por lo
Como ya se ha explicado anteriormente, estas tanto, el mximo throughput medible por conexin
herramientas basan su estimacin en medir el tiempo TCP cumple la siguiente relacin:
necesario para transmitir una cantidad de bytes
conocida a travs de una conexin TCP. As, dividiendo
los bytes transmitidos entre el tiempo invertido en su
descarga, se calcula la tasa media de recepcin/
transmisin que tuvo esa conexin y este valor se Y en este ejemplo sera:
emplea como estimacin del throughput disponible. CAUDAL = 512kbit/40msg = 12,8 Mbps
Al analizar los resultados de estas herramientas hay Si no existiera la limitacin de la ventana TCP se
que tener en cuenta varios detalles, como si estn podran enviar paquetes mientras se espera el ACK, es
contando o no todos los bytes de cabeceras (IP, TCP, decir durante todo el RTT. La cantidad de bits que se
etc.), o si en ese momento hay otra aplicacin haciendo pueden enviar durante este tiempo es el Bandwidth
uso de los recursos de la conexin, por ejemplo. Delay Product (BDP):
En cualquier caso la principal fuente de error en las BDP = C*RTT = 30Mbps*40ms = 1,2Mbits
medidas obtenidas con estas herramientas estn
ligadas a la configuracin del protocolo TCP. La La conclusin es que en esta configuracin la conexin
configuracin de las ventanas TCP en los extremos, la TCP est enviando 512Kbits cada RTT cuando podra
latencia del enlace, y el tamao de la descarga pueden estar enviando 1,2Mbits, es decir, est aprovechando
limitar la capacidad de la conexin, obteniendo de este un 42,67% del throughput que ofrece el enlace
modo un throughput menor que el esperado. WiMAX.

Influencia de la latencia y de la ventana TCP Influencia del tamao de descarga

A continuacin se va a proponer un ejemplo del Como ya se ha comentado, al inicio de la conexin


comportamiento de una conexin TCP sobre un enlace TCP el tamao de la ventana es de un solo paquete, y
WiMAX. El objetivo es mostrar cmo influye la latencia se incrementar progresivamente hasta alcanzar el
y el tamao de ventana sobre la capacidad de la valor mximo en funcin del throughput disponible.
conexin TCP. Cuanto mayor sea el throughput del enlace ms
tiempo tardar el tamao de ventana en converger.
El escenario de ejemplo se compone de dos Esto en la prctica quiere decir que durante los
ordenadores conectados a travs de un enlace WiMAX primeros segundos de una medicin de throughput,
que puede dar hasta 30 Mbps, configurado con un ste ir creciendo de forma progresiva, y por lo tanto
tiempo de trama de 10ms. Cada ordenador se conecta si no medimos hasta que el valor se normaliza
a un extremo del enlace a travs de una conexin podemos estar obteniendo un throughput medido
Ethernet de 100Mbps, por lo que parece claro que el menor del real.
thoughput de la comunicacin extremo a extremo
estar limitado por el throughput del enlace WiMAX. En conclusin: al realizar medidas de throughput
sobre TCP es necesario garantizar que el tiempo de la
Entre los dos ordenadores se establece una conexin prueba es suficientemente grande para permitir al
FTP (transportada sobre TCP) en la que un extremo protocolo alcanzar el mximo tamao de ventana y
ejerce de cliente y se descargar un fichero ubicado en evitar que los resultados se vean sesgados por el
el otro ordenador, en donde estar instalado el servidor tiempo de convergencia.
FTP. El tamao de ventana TCP en ambos ordenadores
es de 64KB, que es la ventana por defecto en la
mayora de los sistemas operativos.
Que la ventana sea de 64KB implica que el cliente
puede enviar hasta 64KB sin esperar el ACK del
servidor. El tiempo mnimo que tardar en llegar el ACK
desde que se comienza a enviar el primer paquete es el
Round Trip Time (RTT), que es el tiempo que tarda un
paquete en ir y volver del cliente al servidor.
En un enlace WiMAX el RTT es aproximadamente cuatro
veces el tiempo de trama, con lo que en este caso
tenemos:
RTT ~ 4*10ms = 40ms

Pgina 4
Medida del throughput sobre TCP
ALB-W-000003sp

WHITE PAPER

Cmo optimizar el throughput de una conexin TCP

Hasta ahora se ha tratado de comprender cmo pueden


influir en la medida del throughput ciertos parmetros C) Modificar la configuracin de TCP en ambos
de TCP. En este apartado se explicar cmo mejorar el extremos de la comunicacin. Los parmetros que se
comportamiento de las conexiones TCP sobre un enlace pueden configurar son varios:
WiMAX.
Aumentar el tamao de las ventanas deslizantes tanto
Existen tres maneras de aumentar el throughput en el emisor como en el receptor.
mximo de trfico TCP a travs de un enlace WiMAX: Ajustar la cantidad de memoria de sistema que pueden
emplear las conexiones TCP (Maximum Buffer
A) Reducir la latencia RTT del sistema. Con esto se
Space).
conseguir reducir el tiempo de llegada de los ACK,
lo que mejorar el rendimiento con ventanas TCP Configurar el lmite de memoria para cada conexin
pequeas. Como se ha comentado, la forma ms TCP que establezca el sistema (Socket Buffer Sizes).
sencilla de conseguir esto es reduciendo la longitud Habilitar la opcin de TCP Large Window
de trama WiMAX (parmetro Frame Duration). Extensions, que activa el uso del TCP Window Scale
Seleccionando un tiempo de trama ms pequeo se y TCP Time Stamps. El primero permite emplear
conseguir reducir el RTT a costa de reducir ventanas TCP de ms de 64KB. El segundo facilita una
tambin ligeramente el throughput potencial medida ms precisa del RTT y evita errores.
mximo del enlace WiMAX, pero conseguiremos que Seleccionar la opcin TCP Selective
el throughput para cada conexin TCP aumente. Acknowledgments (SACK), que permite al protocolo
TCP indicar al transmisor cules son exactamente los
B) Abrir mltiples conexiones TCP simultneas. Si paquetes que se han perdido y necesitan ser
retransmitidos.
existe cualquier tipo de limitacin de throughput
motivada por el protocolo TCP, esta ser siempre El equipo debe usar la MTU (Maximum Transfer Unit)
para cada conexin. Esto quiere decir que, si en el ms grande soportada por la red, para lo que puede
ejemplo planteado anteriormente, la transmisin ser necesario activar la opcin de Path MTU
por FTP de un fichero entre dos ordenadores se Discovery.
realiza a un mximo de 1,5 Mbps (por la naturaleza El proceso de modificacin de estos parmetros depende
de la conexin TCP), si se realizan tres del sistema operativo sobre el que se trabaje, por lo que
transmisiones simultneas cada una de ellas puede ser necesario recurrir a la documentacin del mismo.
ir a una velocidad de hasta 1,5 Mbps, con lo que el
throughput total del enlace WiMAX aumenta hasta

Conclusiones

En este documento se han explicado los problemas que pueden aparecer al realizar medidas de throughput
neto en una red WiMAX, y se ha comprobado la importancia que tiene el protocolo de transporte que se est
utilizando. Mientras que el protocolo UDP proporciona resultados fiables y acordes con la capacidad neta
esperada, las aplicaciones que se transportan sobre el protocolo TCP pueden ver reducida su tasa de
transmisin mxima debido a los mecanismos de control de flujo y congestin de TCP, as como por la forma
en la que se realicen las mediciones (cantidad de bytes descargados, tiempo de duracin de las medidas,).
Es importante destacar que no se trata de que la tecnologa WiMAX y el protocolo TCP sean incompatibles,
sino que es un comportamiento relacionado con la configuracin de TCP en redes de banda ancha. Hay que ser
conscientes de que esto puede pasar y sobre todo hay que saber la forma en la que podemos evitar estos
problemas. TCP slo ser capaz de aprovechar al mximo el throughput que puede ofrecer el enlace
WiMAX si ambos extremos tienen una configuracin de ventana mxima suficientemente holgada,
teniendo en cuenta que a mayor RTT mayor deber ser la ventana para alcanzar una determinada velocidad
de conexin TCP.
Lo que se recomienda es que si se quiere utilizar un enlace WiMAX para transportar datos sobre TCP, se
conozcan la problemtica que se presenta y las medidas que se pueden adoptar para mejorar el
funcionamiento, como pueden ser: reducir la latencia RTT, que para el caso de una red WiMAX se consigue
seleccionando un tiempo de trama menor, configurar el protocolo TCP adecuadamente en ambos extremos, o
abrir mltiples conexiones TCP de forma simultnea para conseguir un mayor throughput neto total en el
enlace WiMAX.

albentia systems s.a.


C/ Margarita Salas, 22 - 28918 Legans - Madrid (SPAIN) www.albentia.com Pgina 5
Tel: +34 91 440 0213
Fax: +34 91 440 0569

September 2009
Albentia Systems SA

También podría gustarte