== Otimizando a conexão no Win98 ==
Por: CoDEX
Para quem não sabe o que é otimizar
é aproveitar o máximo de alguma coisa,
nesse caso o modem.
O Windows vem com uma configuração padrão que não
permite o aproveitamento máximo do modem,
ele funciona bem claro, mas não tanto como poderia.
Para você mudar estes valores, ou você
pega algum desses programas que nunca sabe se são confiáveis
ou vai no registro do Windows, coisa que não é aconselhável
'fuçar' sem saber o que está
fazendo, resumindo nenhum modo é confiável afinal o OS é
Windows. :P
Bom, então mão a massa e vamos otimizar o modem.
Primeiro vamos especificar algumas coisas que devem saber antes de começar as mudanças.
***Introdução***
Os dados que viajam pela internet são
os chamados de 'pacotes', cada pacote de TCP(Protocolo de Controle de Transferência)
contém 40 bytes que contém todas as informações
necessárias como o endereço da fonte, do destinatario etc. e
o arquivos
de dados que contém as informaçoes da atual tranferencia. Este
pacote em sua longa viajem passa por varios hosts chamados
de 'roteadores', isso quer dizer que se dois pacotes do mesmo enviador para
o mesmo destinatário não precisam fazer o mesmo
percurso. Vamos prosseguir.
***MTU e MSS***
Cada host tem um valor de MTU e MSS. O MTU significa
unidade máxima de transmição, para otimizar sua conexão
este é um dos
valores que terá que mudar. Quando dois computadores abrem uma seção
de TCP um envia um ou vários pacotes para o outro e
estes tem que concordar com a unidade máxima de transmição.
Cada host tem um MTU próprio e o compara com o valor do outro
host, se os valores dos hosts forem identicos então ambos concordarão
com o valor. Caso eles forem diferentes o valor mais
baixo será usado para esta seção. O MTU é o número
máximo de bytes que um pacote pode conter. O Windows tem como padrão
o valor 1500 para o MTU, este valor é muito bom para LAN, porém
para Dial-Up, tsc tsc.
Por exemplo:
Faz de conta de você concorde que um MTu é de 1500, você
vai mandar esses 1500 bytes em pacotes de dados, estes irão passar
pelos roteadores, e se o roteador tiver um MTu de 576? Aí o seu pacote
teria que ser dividido por 576, cada um com seu
próprio líder. 1500 não é divisivel por 576 então,
o último pacote conterá o último fragmento dos original
1500.
Depois disso cada pacote precisa ser reconhecido pelo receptor, isso irá
levar um pouco mais de tempo.
O MSS é quase a mesma coisa que MTU, significa
tamanho máximo do segmento, o que ele faz? Quando uma seção
TCP é estabele
cidade os enviador e o receptor negociam o tamanho máximo do valor
de um segmento que será aceito pelos hosts. Ele define o
quanto de dados serão colocados dentro do pacote, então este
valor terá que ser um pouco menor do que o MTU. Se cada segmento
de valor não exceder o menor MTU, então este não será
fragmentado. Então por causa do valor do pacote TCP ser 40 bytes, o
MSS
é calculado como MTU menos 40.
***RWIN e TTL***
O MSS determina o o tamanho da janela receptora(RWIN),
que é o número máximo de bytes do valor que podem ser
chocados até a
recepção de um reconhecido pacote enviado de volta pelo receptor.
Geralmente o valor RWIN é o valor MSS multiplicado por 2-10
se você não sabe qual escolher, use o valor do MSS vezes 4.
Por exemplo:
Com um sistema com MTU 576 e MSS de 536 um valor bom para RWIN seria 2144(536x4)
O valor padrão do Windows é de 8192 que não deveria ser
usado por que não é divisível com o MSS, então
isso faria com que o
pacote fosse reenviado repentinamente quando o buffer está cheio.
O TTL especifica o tempo de vidad e um pacote.
Pense comigo o que aconteceria com um pacote que fosse por város hosts
e se
perdesse da rota? Iria ficar passando de hosts em hosts para sempre?
Cada pacote tem um valor TTL, e por cada host que ele passa ele perde 1, quando
esse valor chegar a 0, puff já eras o pacote,
ele morre. Quando isto acontece é enviada uma mensagem de erro pelo
enviador que fará com que o pacote seja enviado novamente
porém agora com um valor TTL mais alto.
***Pratica***
Agora chegou a hora de por tudo que vimos em prática, vou ensinar a fazer isto pelo registro.
--MTU e MSS--
Bem, primeiro entre no regedit(va em executar
e digite regedit.exe). Feito isso vá até a chave:
HKEY_LOCAL_MACHINE\Enum\Root\Net, nesta chave terão várias sub-chaves
como 0000, 0001 ... 000x, abra todas essassub-chaves
e procure uma que possui o valor 'DeviceDesc' igual a 'Dial-up Adapter'.
Nesta chave você encontrará também uma chamada 'Bindings',abra-a
e você achará um valor chamado 'MSTCP\0000'. Lembre-se dos
ultimos quatro números(nesse caso 0000), eles serão importantes
para o próximo passo.
Agora vá em HKEY_LOCAL_MACHINE\Enum\Network\MSTCP e abra a sub-chave
que tenha o mesmo número que você viu antes.
Nesta chave você vai encontrar um valor chamado 'Driver' e ele vai ser
igual a algo similiar a 'NetTrans\0002', novamente
lembre-se do ultimo número deste valor(nesse caso 0002). E vá
para o próximo passo.
Agora abra a chave HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans
aí vai ter uma ou mais sub-chaves
abra a sub-chave que tenha o mesmo valor do passo anterior.
Agora dentro desta sub-chave crie dois novos Valores da Sequencia com o nome
de 'MaxMTU' e 'MaxMSS' e coloque os valores
abaixo:
MaxMTU = 576
MaxMSS = 536
Reinicie seu computador para as alterações fazerem efeito.
--RWIN e TTL--
Novamente abra o regedit e procure a seguinte
chave HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP.
Nesta chave crie dois novos Valores da Sequencia: 'DefaultRcvWindow' e 'DefaultTTL'
e os coloque os valores abaixo:
DefaultRcvWindow = 2144
DefaultTTL = 64
Pronto!! Agora seu modem está otimizado, use-o a vontade. É
claro que as diferenças não vão ser AQUELAS diferenças
mas dá
pra notar diferença sim. :)
Não me responsabilizo se você fizer cagada no registro. Faça
exatamente o que está descrito e qualquer dúvida entre em #virii
na Brasnet que será um prazer ajuda-los.
Fontes: Win Optimization Guide feito pela Hacker2k e www.regedit.com