Você está offline; aguardando reconexão

Alta Taxa de Colisões em Redes de 100 Megabytes

O suporte para o Windows XP terminou

A Microsoft terminou o suporte para o Windows XP em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

Para obter uma versão deste artigo para o Microsoft Windows 2000, consulte 169789.

IMPORTANTE: Este artigo contém informações sobre como modificar o registro. Antes de modificar o registro, certifique-se de ter um backup e também de saber como restaurar o registro se ocorrer algum problema. Para obter informações sobre como fazer o backup, restaurar e editar o registro, clique no número a seguir para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
256986 Descrição do Registro do Windows
Sintomas
Se você utilizar o protocolo TCP/IP e tiver um adaptador de rede de 100 megabytes, você irá notar desempenho de rede lento enquanto você copia arquivos. Talvez o desempenho também fique lento enquanto você utilizar o Windows Explorer no Windows XP.

Embora o desempenho lento ocorra em vários adaptadores de rede de 100 megabytes, esse problema não é específico do Windows.
Causa
Esse problema ocorre devido a uma alta taxa de colisões anteriores na rede. O espaço entre quadros (o tempo que uma estação de trabalho espera antes de tentar transmitir no meio físico) é menor do que a especificação IEEE 802.3 de 9,6 microssegundos.
Resolução
AVISO: Ao utilizar o Editor do Registro incorretamente, você pode causar sérios problemas que irão pedir a reinstalação de seu sistema operacional. A Microsoft não pode garantir que você consiga solucionar problemas resultantes do uso incorreto do Editor do Registro. Use o Editor do Registro por sua própria conta e risco.

Para solucionar esse problema, contate o fabricando de seu adaptador de rede para informações sobre o aumento do espaço entre quadros.

Adaptadores de rede Intel EtherExpress 100B têm um parâmetro de registro que controla o tamanho do espaço entre quadros. Para modificar esse parâmetro se você utiliza um adaptador de rede Intel EtherExpress 100B, siga estes passos:
  1. Inicie o Editor do Registro (Regedit.exe).
  2. Localize a seguinte chave no registro, em que:x é o número do seu adaptador de rede:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\e100bx\Parâmetros
  3. No menu Editar, clique em Adicionar Valor e digite a seguinte informação:
    Nome do Valor: Adaptive_ifs
    Tipo do Valor: REG_DWORD
    Dado: 1 (ativar algoritmo adaptável)
    O algoritmo adaptável para detectar colisões e ajustar o espaço entre quadros é ativado por padrão. Estabelecer os dados do valor para 0 desativa o algoritmo adaptável. Um valor entre 2 e 200 define um espaço entre quadros predefinido. Comece definindo o valor de 20, e então aumentá-lo para 20s. Meça as colisões e note o desempenho. Então, estabeleça um valor final que tenha taxa de colisão baixa e não afete o desempenho.

SOLUÇÃO

Para contornar esse problema, você pode criar um parâmetro do registro TcpWindowSize para fazer com que o remetente espere para receber um pacote ACK do receptor antes de enviar mais dados. Ao fazer essa mudança, o potencial de colisão irá reduzir. Siga estes passos:
  1. Inicie o Editor do Registro (Regedit.exe).
  2. Localize a seguinte chave no registro:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. Clique em Adicionar, em Valor, e então adicione a seguinte informação:
    Nome do Valor: TcpWindowSize
    Tipo do Valor: REG_DWORD
    Dado: 2920 (decimal) - Número de bytes
    Estabeleça o valor para Decimal 2920 para Ethernet, ou para duas vezes o tamanho máximo do dado TCP para outras topologias de rede. No entanto, essa configuração não precisa ser modificada para outras redes pois redes baseadas em topologias como token ring ou FDDI (Fiber Distributed Data Interface) não têm colisões como uma rede Ethernet.

    Note que modificar esse parâmetro pode afetar, de forma significativa, o desempenho. Em geral, em uma rede de longa distância (WAN) ou em uma rede regular de 10 megabytes, há uma latência entre o remetente e o receptor, dependendo da topologia da rede. Portanto, o potentical de colisões de pacotes ACK (acknowledgement) do TCP/IP não existe. Ajustar TcpWindowSize neste caso reduz a taxa de transferência.
Situação
A Microsoft informa que este problema pode ocorre em seu(s) produto(s) listado(s) na secção "Aplica-se" deste artigo.
Mais Informações
Uma "colisão" ocorre quando duas estações transmitem no meio físico simultaneamente. Uma "colisão antecipada" é qualquer colisão que ocorre antes de 512 bits do quadro esteja no meio físico. Colisões iniciais podem ocorrer regularmente em uma rede operacional Ethernet. Não há problema no hardware ou comportamento errado da estação.

A especificação IEEE 802.3 afirma que uma estação deve esperar 9,6 microssegundos (o espaço entre quadros) antes que a estação tente transmitir no meio físico. Diversos fabricantes de adaptador criam os adaptadores com um pequeno espaço entre quadros para alcançar taxa de transferência de dados mais alta. Esse pequeno espaço entre quadros pode levar a uma taxa de colisões alta.

O potencial para colisões também é influenciado pelo comportamento do protocolo de camada superior. A especificação TCP/IP é enviar um pacote ACK para todo quadro de dados que é recebido. Isto é, após um host TCP receber dois quadros de dados, ele envia um pacote ACK ao remetente. O potencial para colisões é alto se um cliente que recebeu dois pacotes tenta enviar um pacote ACK enquanto o remetente está tentando enviar mais dados ao cliente.

Análise da Cópia de Arquivo do Windows Explorer no Windows XP

Quando a mesma cópia de arquivo é inicializada utilizando um prompt de comando ou o Windows Explorer no Windows XP, o padrão de transferência de dados é diferente. Nesse caso, o redirecionador emite uma "leitura em massa" ou "leitura não processada" de 60 KB. O padrão de transferência de dado é mostrado abaixo:
   10 CLIENT SERVER  SMB C read & X, FID = 0x1004, Read 0xf000   11 SERVER CLIENT  SMB R read & X, Read 0xf000   12 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes   13 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes   14 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes   15 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes   16 CLIENT SERVER  TCP .A...., len: 0, seq:404791-404791, ack   17 CLIENT SERVER  TCP .A...., len: 0, seq:404791-404791, ack   18 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes   19 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes   20 SERVER CLIENT  NBT SS: Session Message Cont., 1460 Bytes				
No nível TCP:
   10 CLIENT SERVER  TCP len:   64, seq:  404727-404790,  ack:   6992081   >O cliente envia 64 bytes de dado (comando SMB para ler 4KB);   11 SERVER CLIENT  TCP len: 1460, seq: 6992081-6993540, ack:    404791   >O servidor envia um pacote ACK acumulado, e o SMB responde com alguns dados;   12 SERVER CLIENT  TCP len: 1460, seq: 6993541-6995000, ack:    404791   13 SERVER CLIENT  TCP len: 1460, seq: 6995001-6996460, ack:    404791   >O servidor envia o restante dos dados ao cliente.   >**Colisão provavelmente neste ponto porque o cliente tenta enviar um pacote ACK.   14 SERVER CLIENT  TCP len: 1460, seq: 6996461-6997920, ack:    404791   15 SERVER CLIENT  TCP len: 1460, seq: 6997921-6999380, ack:    404791   >Mas o servidor é capaz de obter o meio físico e enviar mais dados.   16 CLIENT SERVER  TCP len:    0, seq:  404791-404791, ack:   6996461   >O cliente é capaz de obter o meio físico e enviar uma ACK para os dados nos quadros 12 e 13.   17 CLIENT SERVER  TCP len:    0, seq:  404791-404791, ack:   6999381   >O cliente é capaz de obter o meio físico e enviar uma ACK para os dados nos quadros 14 e 15.   18 SERVER CLIENT  TCP len: 1460, seq: 6999381-7000840, ack:    404791   19 SERVER CLIENT  TCP len: 1460, seq: 7000841-7002300, ack:    404791   >O servidor continua enviando dados.   >**Colisão provavelmente neste ponto porque o cliente tenta enviar um pacote ACK.   20 SERVER CLIENT  TCP len: 1460, seq: 7002301-7003760, ack: 404791   >Mas o servidor é capaz de obter o meio físico e enviar mais dados.				
Ao utilizar o protocolo TCP/IP, um pacote ACK TCP influencia na colisão. No entanto, o problema não ocorre devido ao TCP/IP ou ao aperfeiçoamento que faz com o que Windows Explorer consiga fazer leituras em massa de 60 KB. O problema pode ser ilustrado utilizando também o FTP. O TCP/IP, redirecionador e o Windows Explorer não têm controle do espaço entre quadros. O espaço entre quadros está na camada física, que é controlado por um conjunto de chips no adaptador. Se ocorrer uma alta taxa de colisões na sua rede, contate o fornecedor do adaptador de rede.

Para informações adicionais sobre o protocolo TCP/IP, veja o white paper entitulado "Detalhes de Implementação TCP/IP," que está disponívels no seguinte site de FTP anônimo da Microsoft: O nome do arquivo para o white paper é Tcpipimp2.doc.
Propriedades

ID do Artigo: 315237 - Última Revisão: 12/01/2007 01:52:00 - Revisão: 2.1

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • kbnetwork kbprb KB315237
Comentários
l>