Descrição do Windows 2000 e recursos do Windows Server 2003 TCP

Traduções deste artigo Traduções deste artigo
ID do artigo: 224829 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve os seguintes recursos TCP no Microsoft Windows 2000 e Microsoft Windows Server 2003:
  • Tamanho da janela TCP
  • Opções de TCP agora com suporte
  • Escala do Windows - RFC 1323
  • Carimbo de hora - RFC 1323
  • Proteção contra quebra automática de seqüência de números (PATAS)
  • Agradecimentos seletivos (SACKS) - RFC 2018
  • Comportamento de retransmissão TCP e retransmissão rápida
Os recursos TCP podem ser alterados, alterando as entradas no registro.

Mais Informações

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756Como fazer backup e restaurar o registro no Windows

Tamanho da janela TCP

Janela de recepção TCP tamanho é a quantidade de receber dados (em bytes) que podem ser armazenados em buffer durante uma conexão. O host de envio pode enviar apenas essa quantidade de dados antes de ele deve aguardar uma confirmação e janela atualização de host de recebimento. A pilha do TCP/IP do Windows foi projetada para self-tune próprio na maioria dos ambientes e usa tamanhos de janela padrão maiores que as versões anteriores.

Em vez de usar tamanho de janela de recepção de um padrão embutida; TCP ajusta a incrementos de até mesmo do tamanho máximo de segmento (MSS), que é negociado durante a configuração da conexão. Ajustar a janela de recepção para o mesmo incrementos do MSS aumenta a porcentagem de segmentos TCP em tamanho normal utilizados durante as transmissões de dados em massa.

O tamanho da janela de recepção é determinado da seguinte maneira:
  1. A primeira solicitação de conexão enviada para um host remoto anuncia um tamanho de janela de recepção de 16 K (16.384 bytes).
  2. Quando a conexão é estabelecida, o tamanho da janela de recepção é arredondado para cima um incremento até mesmo do MSS.
  3. O tamanho da janela é ajustado para MSS 4 vezes, um tamanho máximo de 64 K, a menos que a janela dimensionamento opção (RFC 1323) é usada.
Observação Consulte a seção "Windows escala".

Para conexões Ethernet, o tamanho da janela normalmente será definido para 17.520 bytes (16 K arredondados até doze bytes 1460 segmentos). O tamanho da janela pode diminuir quando uma conexão é estabelecida em um computador que suporta opções de cabeça TCP estendidas, como agradecimentos seletiva (SACKS) e carimbos de data/hora. Essas duas opções aumentam o tamanho do cabeçalho TCP a mais de 20 bytes, que resulta em menos espaço para dados.

Em versões anteriores do Windows NT, o tamanho da janela para uma conexão Ethernet era 8,760 bytes ou seis bytes 1460 segmentos.

Para definir o tamanho da janela de recepção com um valor específico, adicione o valor TcpWindowSize até a subchave do Registro específica para sua versão do Windows. Para fazer isso, execute as seguintes etapas:
  1. Clique em Iniciar , clique em Executar , digite Regedit e, em seguida, clique em OK .
  2. Expanda a subchave do Registro específica à sua versão do Windows:
    • Para o Windows 2000, expanda a seguinte subchave:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
    • Para o Windows Server 2003, expanda a seguinte subchave:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. No menu Editar , aponte para novo e, em seguida, clique em Valor DWORD .
  4. Tipo TcpWindowSize na caixa Novo valor e thne pressione ENTER
  5. Clique em Modificar no menu Editar .
  6. Digite o tamanho da janela desejado na caixa dados do valor .

    Observação . O intervalo válido para o tamanho da janela é de 0-0x3FFFC000 hexadecimal.
Esse valor não está presente por padrão. Quando você adiciona o valor TcpWindowSize, ela substitui o algoritmo de tamanho de janela padrão discutido acima.

Observação TcpWindowSize também pode ser adicionado à chave de parâmetros para definir o tamanho da janela globalmente para todas as interfaces.

Opções de TCP agora com suporte

No passado, opções de TCP foram usadas principalmente para negociar tamanhos de segmento máximo. No Windows, opções de TCP são usadas para dimensionamento de janelas, carimbo de hora e ACK. seletiva

Há dois tipos de opções de TCP:
  1. Um único octeto opção TCP, que é usado para indicar um tipo de opção específico.
  2. Um octeto vários opção TCP, que consiste em um tipo de opção, um comprimento de opção e uma série de octetos de opção.
A lista a seguir mostra cada tipo de opção TCP, comprimento, nome e descrição.
Tipo: 0
Comprimento: 1
Opção: O fim da lista de opções
Descrição: Este é usado quando preenchimento é necessária para a última opção TCP.

Tipo: 1
Comprimento: 1
Opção: Nenhuma operação
Descrição: Este é usado quando preenchimento é necessária e mais opções de TCP execute dentro do mesmo pacote.

Tipo: 2
Comprimento: 4
Opção: Tamanho do segmento de máximo
Descrição: Indica o tamanho máximo para um segmento TCP que pode ser enviado pela rede.

Tipo: 3
Comprimento: 3
Opção: Opção de escala de janela
Descrição: Identifica o fator de escala a ser usado quando usar tamanhos de janela maiores do que 64 k.

Tipo: 8
Comprimento: 10
Opção: Opção de carimbo de hora
Descrição: Usado para ajudar a calcular o tempo de round trip (RTT) de pacotes transmitidos.

Tipo: 4
Comprimento: 2
Opção: SACK de TCP permitido
Descrição: Informações outros hosts que ACKs seletiva são permitidos.

Tipo: 5
Comprimento: varia
Opção: Opção de SACK TCP
Descrição: Usado por hosts para identificar se pacotes fora de ordem foram recebidos.

Dimensionamento do Windows

Para uso mais eficiente de redes de alta largura de banda, pode ser usado um tamanho de janela TCP maior. O campo de tamanho de janela TCP controla o fluxo de dados e é limitado a 2 bytes ou um tamanho de janela de 65.535 bytes.

Desde que o campo tamanho não pode ser expandido, um fator de escala é usado. Escala de janela TCP é uma opção usada para aumentar o tamanho máximo da janela de 65.535 bytes a 1 gigabyte.

A opção de escala de janela é usada somente durante o handshake TCP de 3 vias. O valor de escala de janela representa o número de bits para o campo de tamanho de janela de 16 bits do shift esquerda. O valor de escala de janela pode ser definido de 0 (não shift) para 14.

Para calcular o tamanho da janela true, multiplique o tamanho da janela por 2 ^ S onde S é o valor de escala.
Por exemplo:
Se o tamanho da janela for 65.535 bytes com um fator de escala de janela de 3.
True tamanho da janela = 65535 * 2 ^ 3
True tamanho da janela = 524280
O rastreamento de Monitor de rede a seguir mostra como a opção de escala de janela é usada:
TCP:.... S., len:0, seq:725163 - 725163, ack:0 win: 65535, src:1217 dst:139(NBT Session)
Porta de origem TCP: = 0x04C1
Porta de destino TCP: = Serviço de sessão NETBIOS
Número de seqüência TCP: = 725163 (0xB10AB)
Número de confirmação TCP: = 0 (0 x 0)
Deslocamento de dados TCP: = 44 (0x2C)
TCP: Reservado = 0 (0 x 0000)
+ TCP: Sinalizadores = 0 x 02:.... S.
TCP: janela = 65535 (0xFFFF)
Soma de verificação TCP: = 0x8565
Ponteiro urgente TCP: = 0 (0 x 0)
TCP: opções
+ TCP: Opção de tamanho de segmento de máximo
TCP: Opção Nop = 1 (0 x 1)
TCP: opção de escala de janela
Tipo de opção TCP: = Dimensionamento de janela
Comprimento de opção TCP: = 3 (0 x 3)
Dimensionamento de janela TCP: = 3 (0 x 3)

TCP: Opção Nop = 1 (0 x 1)
TCP: Opção Nop = 1 (0 x 1)
+ TCP: Opção de carimbos de data/hora
TCP: Opção Nop = 1 (0 x 1)
TCP: Opção Nop = 1 (0 x 1)
+ TCP: SACK permitido opção
É importante observar que o tamanho da janela usado no handshake de 3 vias real não é o tamanho de janela que é dimensionado. Isso é por RFC 1323 seção 2.2, "O campo Window em um SYN (por exemplo, um [SYN] ou [SYN ACK]) segmento propriamente dito nunca é dimensionado."

Isso significa que o primeiro pacote de dados enviado depois que o handshake de 3 vias for o tamanho de janela real. Se houver um fator de escala, o tamanho da janela inicial de 65.535 bytes sempre é usado. O tamanho da janela, em seguida, é multiplicado pelo fator de escala identificado no handshake de 3 vias. A tabela a seguir representa os limites de fator de dimensionamento para vários tamanhos de janela.

Recolher esta tabelaExpandir esta tabela
Fator de escalaValor de escalaJanela inicialJanela dimensionada
0165535 ou menos65535 ou menos
1265535131,070
2465535262,140
3865535524,280
416655351,048,560
532655352,097,120
664655354,194,240
7128655358,388,480
82566553516,776,960
95126553533,553,920
1010246553567,107,840
11204865535134,215,680
12409665535268,431,360
13819265535536,862,720
1416384655351,073,725,440

Por exemplo:

Se a janela tamanho no registro é inserido como 269000000 (M 269) no formato decimal, o fator de escala durante o handshake de 3 vias é 13, porque um fator de escala de 12 permite apenas uma janela de tamanho até 268,431,360 bytes (268 M).

Deve ser calculado o tamanho da janela inicial neste exemplo da seguinte forma:
65.535 bytes com um fator de escala da janela de 13.
True tamanho da janela = 65535 * 2 ^ 13
True tamanho da janela = 536,862,720
Quando o valor de tamanho da janela é adicionado ao registro e seu tamanho é maior do que o valor padrão, o Windows tenta usar um valor de escala que acomoda o novo tamanho de janela.

O valor Tcp1323Opts na seguinte chave do Registro pode ser adicionado para controlar o dimensionamento de janelas e carimbo de data/hora:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. Na barra de ferramentas clique em Iniciar , clique em Executar e, em seguida, digite Regedit para iniciar o Editor do Registro.
  2. No Editor do Registro, clique em Editar , aponte para novo e, em seguida, clique em Valor DWORD .
  3. Na caixa Novo valor , digite Tcp1323Opts , pressione ENTER e em seguida, no menu Editar , clique em Modificar . Observação O intervalo válido é 0,1,2 ou onde 3:
0 (desabilitar RFC 1323 opções)
1 (escala de janela ativada apenas)
2 (carimbos de hora ativados apenas)
3 (ambas as opções ativadas)
Essa entrada do registro controla carimbos de data/hora RFC 1323 e janela Opções de escala. Carimbos de data/hora e o dimensionamento de janela são habilitadas por padrão, mas pode ser manipulado com sinalizador bits. Bit 0 controles dimensionamento da janela e bit 1 carimbos de hora de controles.

Carimbos de data/hora

A pilha TCP/IP usado anteriormente, uma amostra por janela de dados enviados para calcular o tempo de ida e volta (RTT). Um timer (timer de retransmissão) foi definido quando o pacote foi enviado, até que a confirmação foi recebida. Por exemplo, se o tamanho da janela foi 64,240 bytes (44 segmentos completos) em uma rede Ethernet, somente um de cada 44 pacotes foram usados para recalcular o tempo de viagem. Com um tamanho máximo da janela de 65.535 bytes, essa taxa de amostragem foi suficiente. Usar dimensionamento de janela e um tamanho máximo da janela de 1 gigabyte, essa taxa de amostragem de RTT não é suficiente.

A opção de carimbo de data/hora do TCP agora pode ser definido para ser usado em segmentos (dados e ACK) considerados apropriados pela pilha, para executar operações como a computação de RTT, PATAS seleção e assim por diante. Usando esses dados, o tempo de resposta pode ser com precisão calculado com tamanhos de janela grandes. RTT é usado para calcular os intervalos de retransmissão. Tempos limite de retransmissão e tempo de resposta precisa é necessários para melhor taxa de transferência.

Quando o carimbo de data / hora TCP é usado em uma sessão TCP, o originador da sessão envia a opção em seu primeiro pacote do handshake de três maneira TCP (pacote SYN). Ambos os lados, em seguida, podem usar a opção TCP durante a sessão.

Opção de carimbos de data/hora TCP (TSopt):

Recolher esta tabelaExpandir esta tabela
Tipo = 8Comprimento = 10Valor de TS (Tsval)Resposta de eco de TS (Tsecr)
1 byte1 byte4 bytes4 bytes

O campo de opção de carimbo de data/hora pode ser exibido em um rastreamento de Monitor de rede expandindo o campo de opções de TCP, como mostrado abaixo:
TCP: Opção de carimbos de data/hora
Tipo de opção TCP: = Carimbos de data/hora
Comprimento de opção TCP: = 10 (0xA)
Carimbo de hora do TCP: = 2525186 (0x268802)
TCP: Resposta de carimbo de data/hora = 1823192 (0x1BD1D8)

Proteção contra quebra automática de seqüência de números (PATAS)

O campo de número de seqüência TCP está limitado a 32 bits, que limita o número de seqüência de números disponíveis. Com redes de alta capacidade e uma transferência de dados grande, é possível dispor números de seqüência antes de um pacote percorre a rede. Se o envio de dados em um byte Giga 1 por segundo (Gbps) rede, os números de seqüência podem encapsular em como pouco como 34 segundos. Se um pacote estiver atrasado, um pacote diferente potencialmente pode existir com o mesmo número de seqüência. Para evitar confusão no caso de números seqüenciais duplicados, o carimbo de hora TCP é usado como uma extensão para o número de seqüência. Pacotes têm carimbos de hora atual e progressing. Um pacote antigo tem um carimbo de hora mais antigo e é descartado.

Confirmações seletivas (SACKs)

Windows apresenta suporte para um recurso de desempenho conhecido como confirmação seletiva ou SACK. SACK é especialmente importante para conexões que utilizam tamanhos de janela TCP grandes. Antes a SACK, um receptor somente pode reconhecer o número de seqüência mais recente de um fluxo de dados contíguos que tinha sido recebido ou "borda esquerda" da janela de recepção. Com o SACK habilitado, o receptor continua a usar o número ACK para confirmar a borda esquerda da janela de recepção, mas ele também pode reconhecer outros blocos de dados recebidos individualmente. SACK usa opções de cabeçalho TCP, como mostrado abaixo.

SACK usa dois tipos de opções de TCP.

A opção TCP sack-Permitted é usada somente em um pacote SYN (durante o estabelecimento de conexão TCP) para indicar que ele pode fazer ACK. seletiva

A segunda opção TCP, TCP sack opção, contém uma confirmação de um ou mais blocos de dados. Os blocos de dados são identificados usando o número de seqüência no início e no fim de que bloco de dados. É também conhecido como a borda esquerda e direita do bloco de dados.

Tipo 4 é a opção TCP sack-Permitted, tipo 5 é TCP sack opção. Comprimento é o comprimento em bytes desta opção TCP.

TCP sack permitido:

Recolher esta tabelaExpandir esta tabela
Tipo = 4Comprimento = 2
1 byte1 byte

Opção SACK de TCP:

Recolher esta tabelaExpandir esta tabela
Tipo = 5Comprimento = variável
1 byteBorda esquerda do bloco 1 º à borda direita do bloco de 1 º de
...
Borda esquerda da Nth bloquear à borda direita do bloco enésima

Com o SACK ativado (padrão), um pacote ou série de pacotes pode ser descartado e o receptor informa o remetente que dados foram recebidos, e onde pode haver "buracos" nos dados. O remetente, em seguida, pode retransmitir seletivamente os dados ausentes sem uma retransmissão de blocos de dados que já foram recebidos com êxito. SACK é controlado pelo parâmetro de registro SackOpts.

O valor SackOpts na seguinte chave do Registro pode ser editado para controlar o uso de confirmações seletivas:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. Na barra de ferramentas clique em Iniciar , clique em Executar e, em seguida, digite Regedit para iniciar o Editor do Registro.
  2. Localize e clique na chave acima no Editor do Registro e, em seguida, clique em Modificar no menu Editar .
  3. Digite o valor desejado na caixa dados do valor .
Observação : O valor binário válido é 0 ou 1, o valor padrão é 1. Controles esse parâmetro se ou não suporte seletiva ACK (SACK - RFC 2018) está ativado.

O rastreamento de Monitor de rede a seguir ilustra um host reconhecendo todos os dados até o número de seqüência 54857341, mais os dados do número de seqüência 54858789 54861685. Os dados ausentes são de 54857341 a 54858788.
TCP:. r.... len:0, seq:925104 - 925104, ack:54857341 win: 32722, src:1242 dst:139
Porta de origem TCP: = 0x04DA
Porta de destino TCP: = Serviço de sessão NETBIOS
Número de seqüência TCP: = 925104 (0xE1DB0)
TCP: número de confirmação = 54857341 (0x3450E7D)
Deslocamento de dados TCP: = 44 (0x2C)
TCP: Reservado = 0 (0 x 0000)
+ TCP: Sinalizadores = 0 x 10:. a....
Janela TCP: = 32722 (0x7FD2)
Soma de verificação TCP: = 0x4A72
Ponteiro urgente TCP: = 0 (0 x 0)
TCP: opções
TCP: Opção Nop = 1 (0 x 1)
TCP: Opção Nop = 1 (0 x 1)
+ TCP: Opção de carimbos de data/hora
TCP: Opção Nop = 1 (0 x 1)
TCP: Opção Nop = 1 (0 x 1)
TCP: Opção SACK
Tipo de opção TCP: = 0 x 05
Comprimento de opção TCP: = 10 (0xA)
TCP: esquerda borda do bloco = 54858789 (0x3451425)
TCP: borda direita do bloco = 54861685 (0x3451F75)

Comportamento de retransmissão TCP e retransmissão rápida

Retransmissão TCP

Como uma revisão do comportamento de retransmissão normal, o TCP inicia um timer de retransmissão quando cada segmento de saída é entregue para baixo para o protocolo de Internet (IP). Se nenhuma confirmação foi recebida para os dados em um determinado segmento antes do timer expira, o segmento é retransmitido.

O tempo limite de retransmissão (RTO) é ajustado continuamente para coincidir com as características da conexão usando cálculos SRTT (suavizadas Round Trip Time), conforme descrito na RFC 793. O timer para um determinado segmento é dobrado após cada retransmissão de segmento. Usando esse algoritmo, TCP próprio ajusta o intervalo normal de uma conexão.

Retransmissão rápida

Antes do timer de retransmissão expira em algumas circunstâncias o TCP retransmite dados. O mais comum ocorre devido a um recurso conhecido como retransmissão rápida. Quando um destinatário que ofereça suporte a rápida retransmite recebe os dados com um número de seqüência além do que esperado atual e, em seguida, é provável que alguns dados foi descartados. Para ajudar a informar o remetente desse evento, o destinatário imediatamente envia um pacote ACK, com o conjunto número ACK ao número de seqüência que estava esperando. Ele continuará a fazer isso para cada segmento adicional de TCP que chega. Quando o remetente começa a receber um fluxo de transmissão que é confirmar o mesmo número de seqüência, é provável que um segmento foi descartado. O remetente será imediatamente reenviar o segmento que o receptor está esperando, sem esperar que o timer de retransmissão expirar. Essa otimização bastante melhora o desempenho quando pacotes com freqüência são eliminadas.

Por padrão, Windows reenvia um segmento se ele recebe três transmissão para o mesmo número de seqüência, (uma ACK e 2 duplicatas) e que atrasos de número de seqüência atual. Isso é controlável com o parâmetro de registro TcpMaxDupAcks.

O valor TcpMaxDupAcks na seguinte chave do Registro pode ser editado para controlar o número de transmissão necessário para iniciar rapidamente retransmite:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. Na barra de ferramentas clique em Iniciar , clique em Executar e, em seguida, digite Regedit para iniciar o Editor do Registro.
  2. Localize e clique na chave acima no Editor do Registro e, em seguida, clique em Modificar no menu Editar .
  3. Digite o valor desejado na caixa dados do valor .
Observação : O intervalo válido é 1-3, o valor padrão é 2.

Esse parâmetro determina o número de ACKs duplicados que deve ser recebido para o mesmo número de seqüência de dados enviados antes de "rápido retransmitir" é acionado para reenviar o segmento que foi descartado em trânsito.

Propriedades

ID do artigo: 224829 - Última revisão: segunda-feira, 30 de outubro de 2006 - Revisão: 6.3
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
Palavras-chave: 
kbmt kbenv kbinfo kbnetwork KB224829 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 224829

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