Alta Taxa de Colisões em Redes de 100 Megabytes

Traduções deste artigo Traduções deste artigo
ID do artigo: 315237 - Exibir os produtos aos quais esse artigo se aplica.
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
Expandir tudo | Recolher tudo

Neste artigo

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:
ftp://ftp.microsoft.com/bussys/winnt/winnt-docs/papers/
O nome do arquivo para o white paper é Tcpipimp2.doc.

Propriedades

ID do artigo: 315237 - Última revisão: sábado, 1 de dezembro de 2007 - Revisão: 2.1
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
Palavras-chave: 
kbnetwork kbprb KB315237

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com