Você está na página 1de 4

Optiwan

Latncia: saiba os efeitos em sua rede!

Este artigo busca descrever como a latncia afeta o limite mximo de throughput em uma sesso TCP (e portanto como ela afeta o desempenho das aplicaes e transferncia de dados em sua rede). Note que esta limitao terica, e o throughput observado pode ser ainda menor do que o calculado. Leia para aprender a avaliar como suas aplicaes e seus usurios podem estar sofrendo com este efeito.

Causas da latncia, e como o TCP afetado

A rede de exemplo no diagrama abaixo ser utilizada para efeitos de clculo neste artigo.

A frmula utilizada para calcular o throughput mximo baseada neste desenho. Substitua os valores da sua rede especfica de maneira a verificar quais as limitaes tericas das sesses TCP em sua rede.

Como se pode observar, a rede apresenta 150 milissegundos de latncia entre o cliente (C) e o servidor (S). Um ping pode ser utilizado para determinar a latncia entre ambos, realizando-se o teste por 100 vezes durante horrio normal de funcionamento, com uma carga (payload) de 750 bytes. Esta carga garante algum stress na rede, e deve prover uma medida melhor da latncia do que simplesmente enviar um pacote de 64 ou 32 bytes (padro em alguns sistemas operacionais).

Exemplo do comando utilizado em MS Windows:

Ping x.x.x.x -l 750 -n 100 (x.x.x.x = endereo ip do servidor, -l o tamanho do pacote, e -n a quantidade de pings) O que causa a latncia?

A latncia pode ser causada por muitos fatores ambientais, como problemas Ethernet, congesto de rede ou aplicaes, dispositivos de rede, longas distncias, perda de pacotes, ou mesmo aplicaes mal escritas.

As causas e solues para a latncia esto fora do escopo deste artigo.


http://www.optiwan.com Powered by Joomla! Gerado: 30 January, 2012, 14:28

Optiwan

Como a latncia afeta o TCP?

O TCP um protocolo orientado conexo. Isto significa que o TCP sempre se preocupa sobre o estado da conexo. Algumas maneiras como a latncia pode afetar o TCP esto descritas a seguir:

Slow Start: ocorre quando uma sesso TCP est comeando. O transmissor ir enviar alguns poucos pacotes no incio da sesso, e ento esperar por uma resposta de conhecimento. O transmissor ir ento aumentar o nmero de pacotes entre os pacotes de conhecimento (acknowledgements), at que alcance o tamanho de janela especificado, iniciando assim a sesso de forma lenta (slow start). Quanto mais latncia presente, maior a lentido no comeo da sesso.

Window Size: para garantir que o receptor receba todos os dados do transmissor, o TCP ir enviar apenas parte dos dados para o receptor em pequenas quantidades chamadas de janela. O tamanho da janela especificado pelo receptor durante a configurao da sesso TCP, e medida em bytes. Aps cada janela ser recebida, o receptor envia um pacote de conhecimento (acknowledgement), ou simplesmente "ACK".

O transmissor ir enviar uma janela, e ento esperar pelo ACK do receptor se a janela for recebida corretamente. Depois que um ACK foi enviado pelo receptor, o transmissor enviar mais dados at que todos os dados tenham sido enviados, sempre respeitando as "janelas".

Qualquer latncia presente na rede causar a sesso a iniciar de forma lenta, e prosseguir mais lentamente do que uma sesso em uma rede sem latncia. Frmula e clculo do limite terico

O limite terico pode ser calculado pela seguinte frmula:

BW = WS / RTT Banda igual ao tamanho de janela dividido pelo tempo de ping

Banda (BW) o throughput mximo terico. A banda de um link normalmente representada em bits por segundo.

Tamanho de Janela (WS) a quantidade de dados que o TCP pode enviar antes de esperar por um ACK.

Este valor est em bytes; preste ateno pois esquecer isto um erro muito comum.

http://www.optiwan.com

Powered by Joomla!

Gerado: 30 January, 2012, 14:28

Optiwan

Tempo de ping (RTT): este valor est em segundos, entretando a maioria das ferramentas de rede como o ping reportam o resultado em milisegundos. Necessitamos portanto converter este resultado, dividindo o nmero de milisegundos apresentado por 1000. No exemplo acima, a rede apresenta um RTT de 150ms, portanto, 0.15 segundos. Sempre converta esta frao em formato decimal quando fizer a conta.

O tamanho padro da janela de dados para o MS Windows XP 64 KBytes. Para este exemplo, iremos assumir que o cliente est usando Windows XP.

Usando o exemplo acima, sabemos os valores necessrios para esta formula, e podemos calcular a banda maxima terica para uma conexo TCP.

BW = 64000 / 0.15

Depois de realizar a conta, vemos que a banda (BW) igual a 426.666 Bytes. Lembre-se de que este valor est em bytes, e que para termos bits por segundo (bps) precisamos multiplicar por 8.

Agora sabemos que a banda maxima terica 3.413.328 bps.

Ainda no exemplo acima, temos um link de 6Mbits/s (6.000.000). Portanto, os 150 ms de latncia limitaram uma sesso TCP aproximadamente metade da velocidade do link.

Usando uma janela de 64K, veja alguns tempos comuns de RTT e seus efeitos na sesso TCP:

RTT (ms): Throughput:

50: 10.040.000 bps 100: 5.120.000 bps 150: 3.413.328 bps 200: 2.560.000 bps 500: 992.000 bps 1000 (um segundo): 512.000 bps
http://www.optiwan.com Powered by Joomla! Gerado: 30 January, 2012, 14:28

Optiwan

Resumo

Como pode ser visto, o throughput mximo terico foi muito reduzido conforme a latncia aumenta. Esta limitao terica, e o throughput mximo verdadeiro que uma nica sesso TCP pode ter na sua rede pode ser ainda menor. Os aceleradores de rede possuem algoritmos que so capazes de reduzir ou praticamente anular os efeitos da latncia para determinados tipos de trfego e aplicaes.

http://www.optiwan.com

Powered by Joomla!

Gerado: 30 January, 2012, 14:28

Você também pode gostar