Tunning de Rede Windows XP

Neste artigo vou descrever como fazer um tweak ao windows XP registry para tentarmos melhorar a performance deste a nivel da rede.

O objectivo é que comprendam um pouco mais do modo como funciona o windows xp em rede e que não comprem ou instalem software adicional para melhorar o desempenho de rede da máquina sem necessidade.
O windows XP contem vários parametros de registo que devidamente configurados podem afectar a performance radicalmente.

Temos o TCP Window por exemplo, que é uma especie de buffer que armazena os pacotes que recebemos da rede antes de as enviar para a aplicção (mdelo OSI) que está á espera delas para processar a informação. Estas ficam aqui armazenadas até uma flag de push ser defenida nos pacotes que chegam ou quando a aplicação decidir ir buscar ao buffer os dados necessários.

Durante o “handshake de TCP/IP” da ligação TCP/IP, ambos os lados informam o parceiro de qual é o seu tamanho de Janela ou “Window Size” Esta informação fica registada no TCP Header (como já vimos anteriormente noutro post) e pode ter um valor de 0 a 65535 e esse é o valor máximo em bytes que o buffer ou Janela pode ter.

Por defeito o windows XP utiliza um sistema de Window Scaling que muda de acordo com a forma como ele está a trabalhar. Isto é se ele está a receber uma ligação ele comporta-se como um servidor e ele utiliza este sistema, quando ele está a iniciar uma ligação ele não utiliza este Window Scaling.

Se um parceiro fica sem espaço durante a troca de pacotes este envia um pacote com uma sinalização de Window=0 O parceiro TCP para de enviar pacotes até um novo pacote seja enviado com a sinalização de Window diferente de 0. Aqui a troca de dados é reiniciada até haver outro pacote de sinalização com o Window=0.

Com o aumento de velocidade de ligações os 65535 bytes tornam-se pequenos, é aqui que o Window Scaling é utilizado, se ambos os lados da comunicação tem a opção de window scaling no TCP Header então o window Scaling é suportado, o Window scale define o factor multiplicativo para usar e determinal o tamanho de janela. Um window Scale de 1 significa que o Window Size vai ser multiplicado por 2

Com esta lógia temos então
0 -> multiplica por 1
1 -> multiplica por 2
2 -> multiplica por 4
3 -> multiplica por 8
4-> multiplica por 16
5-> multiplica por 32
6-> multiplica por 64
7-> multiplica por 128

Exemplo:
Queremos fazer download de um ficheiro de 75Mbytes, se não tivermos estas opções activas o que acontece é que rápidamente ficamos com o buffer cheio, se as tivermos activas o nosso buffer seria escalado por 4 e que nos daria um buffer de 262,140 bytes.

Para activar o Windows Scaling temos de editar o registo:
na chave hkey_Local_MachineSYSTEMCurrentControlSetServicesTCPIP
Key: TcpipParameters
Adicionar uma chave tipo
Value Type: REG_DWORD
Nome da chave:tcp1323opts
Valor: 1

Com esta alteração quanto maior for o ficheiro que temos a transferir maior é o nosso window size ou buffer.

Outas alterações que podem ajudar são:

HKLMSYSTEMCurrentControlSetServicesTcpipParametersSackOpts=”1″
HKLMSYSTEMCurrentControlSetServicesTcpipParametersTcpMaxDupAcks=”2″
HKLMSYSTEMCurrentControlSetServicesTcpipParametersInterfacesMTU=”1500″

No windows vista o tamanho por defeito do Window size é de 131072.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.