Problemas de rede com Vista/Seven com outras versões do Windows em rede?

Alguns usuários comentaram que tem problemas em relação a fazer downloads de arquivos em outras maquinas usando Windows XP, 2000 ou mesmo servidores como Windows Server 2000 ou 2003, quando estão usando o Vista/Seven. Alguns (de forma errada) acham que a culpa é apenas do Vista/Seven, mas, não ficam sabendo realmente do porque isso acontece e como resolver.

Nesse artigo, vou explicar sobre isso e dar caminhos que amenizam o problema.

Há muito tempo atrás, as empresas do todo o mundo tinham um problema sério: Comunicar-se em rede. Pelo simples fato de que muitas empresas da época (principalmente a Novell) tinha tecnologia que realmente fazia a comunicação entre computadores em rede, só que a tecnologia era exclusiva da empresa. Isso queria dizer que, se você tivesse uma rede da Novell, você não conseguiria se comunicar com outras maquinas de uma rede usando produtos da IBM, por exemplo.

Além disso, tinha alguns casos muito “esquisitos” de implementação, onde as “peças da rede” tinham requisitos complexos, a ponto de por exemplo, todas as peças do computador só se comunicarem em rede se forem do mesmo Lote de fabricação :D

Com esse problema em mente, as empresas resolveram se juntar e criar um protocolo para que houvesse uma padronização, onde todas as empresas pudessem se comunicar dentro de uma rede, seja ela de qual empresa for.

Nisso foi criado um modelo, conhecido como modelo OSI, que por sua vez ajudou a criar a famosa pilha TCP/IP. Que na verdade é um conjunto de protocolos que seguem um padrão. Esse componente é que faz com que seu computador se comunique com qualquer outro, além claro, de ter acesso a Internet.

Claro que nem todos queriam o TCP/IP (né dona Novell?), mas isso é uma outra história.

A microsoft adicionou a pilha TCP/IP, logo quando saiu com código de licença BSD, feita justamente pela instituição que criou o componente e o padrão.

Seu funcionamento em rede era simples, quando se fazia download:

O computador que iria ser acessado, recebia um “convite” do computador que queria receber determinado arquivo. Então ambos “conversavam”, para saber qual o tamanho da “janela” que teriam. Isso quer dizer que eles analisavam a rede naquele momento, para saber qual era a taxa de “dados” que seria seguro enviar. Supondo que o Computador que quer fazer o Download recebe do Servidor que a taxa de download era de 3 Kb/s, ele abria uma “janela” recebendo esse valor de forma “continua”.

Isso garantia que arquivo fosse recebido, fechava-se a conexão e trabalho feito.

O problema disso é que se a “conversa” dos dois computadores acontecer num momento que a rede esta muito “ocupada”, a taxa de download vai ser baixa, o que é normal até ai. Só que se no meio do download, a rede fica “desocupada”, podendo quadruplicar a velocidade de taxa do download, a taxa continuara baixa, já que tanto o computador Cliente como o Servidor “conversaram” que iriam mandar apenas a uma taxa “x”.

É a mesma coisa que você pegar uma estrada congestionada e andar a 20 Km/h por hora, depois chegar a uma rodovia e ao invés de andar a 120 Km/h, continua a se limitar a 20 Km/h.

Vendo esse problema, a Microsoft resolveu reescrever a sua Pilha TCP/IP, usando as melhorias do IPV6 (cuja explicação vai ficar para uma próxima) no Vista,  mudando esse conceito.

O Vista conversa com a outra maquina, recebe o tamanho da “janela” (taxa de download) igualmente ao XP, só que de ciclos em ciclos, ele faz “tunning” de rede. Isso quer dizer que, se a taxa antes era de 3 Kb/s, mas, dois minutos depois a rede ficou desocupada podendo aumentar a taxa de download, o Vista por si só, consegue identificar e aumentar a janela. Fazendo com que o download fique bem mais rápido. Se acontecer o contrário, da rede ficar muito ocupada, abaixa o tamanho da janela, deixando a taxa de downloads mais baixa, conseqüentemente aumentando o tempo.

Percebeu a diferença? A nova pilha TCP/IP do Vista/Seven é dinâmica, e aumenta ou diminui a taxa de download conforme o trafego de rede.

Só que isso são features do IPV6 + RFC 1323, que por ser muito nova, pouquíssimos aparelhos e até mesmo, sistema operacionais, conseguem interagir com essas novas Features. Porém a Microsoft conseguiu “encapsular” todos os comandos, para que mesmo que a “outra ponta” não tenha conectividade com o IPV6, possa fazer esse tráfego via IPV4.

O problema é que, muitas vezes, quando o Vista/Seven faz download de algum arquivo de um Servidor/Cliente que não seja Vista/Seven, pode ocorrer problemas, como por exemplo, se um computador com o Vista tentar fazer download de arquivo de um computador com XP, ao fazer o resizing da rede, por alguns milésimos de segundo, a taxa de download cai, justamente por estar testando a rede.

O problema disso é que como o XP não tem tratamento dessa mudança continua de taxa de download (Afinal, não é a mesma pilha TCP/IP do Vista/Seven), pode considerar que a rede esta instável e por não garantir a integridade dos dados que estão sendo entregues, corta a conexão.

Que dureza não? [:p]

Você tem 2 formas de impedir esse problema de instabilidades entre maquinas com Sistema Operacionais antes do Vista/Seven/Server 2008:

Modo 1:

Abra o CMD como Administrador (Iniciar>escreva “cmd” na caixa de pesquisa>clique com o direito em cima do CMD>”Abrir como Administrador”):

netsh interface tcp set global autotuninglevel=highlyrestricted

Esse comando, continua usando o sizing de rede, mas, o força a aumentar o tamanho da janela de forma mais “comedida”, conservadora.

Modo 2:

Com o CMD aberto como Administrador:

netsh interface tcp set global autotuninglevel=disable

Isso desabilita completamente o sizing de rede, transformando para o tamanho padrão de 65536 Bytes.

Quando o sizing de rede esta desabilitado, você pode dar mais um comando:

netsh interface tcp set global autotuninglevel=restricted

Esse comando, faz com que o Vista possa aumentar o tamanho padrão, mas, de forma bem restritiva, dependendo muito do cenário e alocação de rede.

Para reabilitar as opções e deixar como default de fábrica e só executar o comando:

netsh interface tcp set global autotuninglevel=normal

Aproveitando, se você quiser ver quais serviços e quais estão ativados dentro da pilha TCP/IP do Vista/Seven é só executar o comando:

netsh interface tcp show global

Pronto, é isso. Espero ter esclarecido sobre como, porque e como resolver problemas relacionados ao Vista/Seven com outros sistemas operacionais antes deles em rede, de forma clara.

Ah.. um detalhe que tinha me esquecido.

Quando fizer o comando, reinicie a maquina para que possa aplicar as novas configurações.

Aliás, ficou claro as melhorias de trafego no Vista/Seven, se você tiver uma rede com eles, mais o Windows Server 2008, pode ter certeza que sua rede agradecerá, e muito.

Até a próxima! ;)

Related Posts with Thumbnails
Gostou do que leu? Ajude-nos a divulgar!
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live
  • MySpace
  • PDF
  • Yahoo! Bookmarks
  • FriendFeed
  • Twitthis
  • email
  • Twitter

About the Author

Sou desenvolvedor de sistemas (Trabalho com Visual Studio 2008, Oracle, Sql Server, Firebird, PostGre e Mysql) e Administrador de rede em ambiente Windows, com mais de 10 anos de experiência em mercado.