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

Traduções de Artigos Traduções de Artigos
Artigo: 224829 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve as seguintes funcionalidades do TCP no Microsoft Windows 2000 e Microsoft Windows Server 2003:
  • Tamanho da janela TCP
  • Opções de TCP agora suportadas
  • Escala do Windows - RFC 1323
  • Carimbo de data/hora - RFC 1323
  • Protecção contra os números de sequência moldada (PAWS)
  • Agradecimentos selectivos (SACKS) - RFC 2018
  • Comportamento de retransmissão de TCP e retransmissão Fast
As funcionalidades TCP podem ser alteradas por alterar as entradas no registo.

Mais Informação

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756Como efectuar uma cópia de segurança e restaurar o registo no Windows

Tamanho da janela TCP

Janela de recepção TCP tamanho é a quantidade de receber dados (em bytes) que podem ser armazenada em buffer durante uma ligação. O anfitrião de envio pode enviar apenas essa quantidade de dados antes de deve aguardar uma actualização de confirmação e a janela do anfitrião receptor. Pilha de TCP/IP do Windows foi concebida para self-tune próprio na maioria dos ambientes e utiliza o maiores tamanhos de janela predefinido de versões anteriores.

Em vez de utilizar uma predefinição hard-coded janela de recepção; TCP ajusta a incrementos de pares do tamanho máximo de segmento (MSS, Maximum Segment Size), que é negociado durante a configuração de ligação. Ajustar a janela de recepção para incrementos até do MSS, Maximum Segment Size aumenta a percentagem de segmentos TCP tamanho completo utilizada durante as transmissões de dados em massa.

O tamanho da janela de recepção é determinado da seguinte forma:
  1. O primeiro pedido de ligação enviado para um anfitrião remoto anuncia um tamanho de janela de recepção de 16 K (16.384 bytes).
  2. Quando a ligação é estabelecida, o tamanho da janela de recepção é arredondado por excesso um incremento até do MSS, Maximum Segment Size.
  3. O tamanho da janela é ajustado à MSS 4 vezes a um tamanho máximo de 64 K, a menos que a janela escala opção (RFC 1323) é utilizada.
Nota Consulte a secção "Windows escala".

Para ligações de Ethernet, o tamanho da janela normalmente será definido para 17.520 bytes (16 K arredondado até doze bytes 1460 segmentos). Pode reduzir o tamanho da janela quando é estabelecida uma ligação a um computador que suporte expandidas opções da cabeça de impressão TCP, tais como agradecimentos selectivo (SACKS) e os carimbos de data/hora. Estas duas opções aumente o tamanho do cabeçalho TCP para 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 ligação Ethernet era bytes 8,760 ou seis bytes 1460 segmentos.

Para definir o tamanho da janela de recepção para um valor específico, adicione o valor de TcpWindowSize para a subchave do registo específica para a versão do Windows. Para o fazer, siga estes passos:
  1. Clique em Iniciar , clique em Executar , escreva Regedit e, em seguida, clique em OK .
  2. Expanda a subchave de registo específica para a versão do Windows:
    • Para o Windows 2000, expanda a seguinte subchave:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
    • Para 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 (DWORD Value) .
  4. Tipo TcpWindowSize na caixa Novo valor e thne prima ENTER
  5. Clique em Modificar no menu Editar .
  6. Escreva o tamanho de janela pretendido na caixa dados do valor .

    Nota . O intervalo válido para o tamanho da janela é 0-0x3FFFC000 hexadecimal.
Este valor não existe por predefinição. Quando adiciona o valor de TcpWindowSize, substitui o algoritmo de tamanho de janela predefinido mencionado acima.

Nota TcpWindowSize também pode ser adicionada à chave de parâmetros para definir o tamanho da janela globalmente para todas as interfaces.

Opções de TCP agora suportadas

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

Existem dois tipos de opções de TCP:
  1. Um único octeto opção TCP, o que é utilizado para indicar um tipo de opção específica.
  2. Octeto vários opção TCP, que consiste de um tipo de opção, um comprimento de opção e uma série de octetos de opção.
A lista seguinte mostra cada tipo de opção TCP, comprimento, nome e descrição.
Tipo: 0
Comprimento: 1
Opção: Fim da lista de opções
Descrição: Este é utilizado quando a área é necessária para a última opção de TCP.

Tipo: 1
Comprimento: 1
Opção: Nenhuma operação
Descrição: Este é utilizado quando é necessário o preenchimento e siga mais opções de TCP no mesmo pacote.

Tipo: 2
Comprimento: 4
Opção: Tamanho máximo de segmento da
Descrição: Isto indica o tamanho máximo para um segmento TCP que pode ser enviado através da rede.

Tipo: 3
Comprimento: 3
Opção: Opção de escala de janela
Descrição: Identifica o factor de escala a ser utilizado quando utilizando tamanhos de janela superiores a 64 k.

Tipo: 8
Comprimento: 10
Opção: Opção de carimbo de data / hora
Descrição: Utilizada para ajudar a calcular o tempo de ida e volta (RTT) de pacotes transmitidos.

Tipo: 4
Comprimento: 2
Opção: TCP SACK permitido
Descrição: Informações outros anfitriões que são permitidas confirmações selectivo.

Tipo: 5
Comprimento: varia
Opção: Opção de SACK TCP
Descrição: Utilizado por anfitriões para identificar se foram recebidos pacotes fora de ordem.

Windows escala

Para mais eficiente utilização de redes de grande largura de banda, pode ser utilizado um tamanho de janela TCP maior. O campo de tamanho de janela TCP controla o fluxo de dados e está limitado a 2 bytes ou um tamanho de janela de 65.535 bytes.

Uma vez que o campo tamanho não pode ser expandido, é utilizado um factor de escala. Escala de janela TCP é uma opção utilizada para aumentar o tamanho de janela máximo de 65.535 bytes para 1 gigabyte.

A opção de escala de janela é utilizada apenas durante o handshake de 3 vias TCP. O valor de escala de janela representa o número de bits para a esquerda-mover o campo de tamanho de janela de 16 bits. O valor de escala de janela pode ser definido entre 0 (nenhum turno) para 14.

Para calcular o tamanho de janela VERDADEIRO, multiplique o tamanho da janela por 2 ^ S onde S é o valor de escala.
Por exemplo:
Se o tamanho da janela é 65.535 bytes com um factor de escala de janela de 3.
Verdadeiro tamanho da janela = 65535 * 2 ^ 3
Verdadeiro tamanho da janela = 524280
O rastreio do Monitor de rede seguinte mostra como a opção de escala de janela é utilizada:
TCP:.... S. len:0, seq:725163 - 725163, ack:0 vitória: 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 sequência TCP: = 725163 (0xB10AB)
Número de reconhecimento de TCP: = 0 (0 x 0)
Deslocamento de dados TCP: = 44 (0x2C)
TCP: Reservado = 0 (0x0000)
+ 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 segmento de máximo
TCP: Opção Nop = 1 (0 x 1)
TCP: opção de escala de janela
Tipo de opção TCP: = Escala de janela
TCP: Comprimento de opção = 3 (0 x 3)
Escala 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 permitidos opção
É importante ter em conta que o tamanho de janela utilizado no handshake de 3 vias real não é o tamanho da janela que é dimensionado. É por RFC 1323 secção 2.2, "O campo janela um SYN (por exemplo, um [SYN] ou [SYN, ACK]) segmento próprio nunca é dimensionado."

Isto significa que o primeiro pacote de dados enviado depois do handshake de 3 vias o tamanho da janela real. Se existir um factor de escala, é sempre utilizado o tamanho de janela inicial de 65.535 bytes. O tamanho da janela é então multiplicado pelo factor escala identificado no handshake de 3 vias. A tabela abaixo representa os limites de factor de escala para vários tamanhos de janela.

Reduzir esta tabelaExpandir esta tabela
Factor de escalaValor de escalaJanela inicialEscalada de janela
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 dimensionar a janela de registo for introduzido como 269000000 (269 M) em formato decimal, o factor de escala durante o handshake de 3 vias for 13, porque um factor de escala de 12 só permite uma janela de tamanho até 268,431,360 bytes (268 M).

O tamanho da janela inicial neste exemplo deve ser calculado da seguinte forma:
65.535 bytes com um factor de escala de janela de 13 anos.
Verdadeiro tamanho da janela = 65535 * 2 ^ 13
Verdadeiro tamanho da janela = 536,862,720
Quando o valor de tamanho da janela é adicionado ao registo e o tamanho é maior do que o valor predefinido, o Windows tenta utilizar um valor de escala que acomoda o novo tamanho de janela.

O valor de Tcp1323Opts na seguinte chave de registo pode ser adicionado para controlar janelas escala e o 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, escreva Regedit para iniciar o Editor de registo.
  2. No Editor de registo (Registry Editor), clique em Editar , aponte para Novo e, em seguida, clique em Valor DWORD (DWORD Value) .
  3. Na caixa Novo valor , escreva Tcp1323Opts , prima ENTER e, em seguida, no menu Editar , clique em Modificar . Nota O intervalo válido é 0,1,2 ou onde 3:
0 (desactivar opções do RFC 1323)
1 (escala de janela activada apenas)
2 (selos de tempo activados apenas)
3 (ambas as opções activadas)
Esta entrada de registo controla o RFC 1323 carimbos de data/hora e opções de escala de janela. Os carimbos de data/hora e dimensionamento de janela são activadas por predefinição, mas pode ser manipulado com bits de sinalizador. Bit 0 controlos de escala de janela e o bit 1 selos de tempo de controlos.

Carimbos de data/hora

Anteriormente, a pilha de TCP/IP utilizado uma amostra por janela dos dados enviados para calcular o tempo de viagem de ida e volta (RTT, Roundtrip Time). Foi definido um temporizador (temporizador de retransmissão) quando o pacote foi enviado, até que a confirmação foi recebida. Por exemplo, se o tamanho da janela 64,240 bytes (44 segmentos completos) numa rede Ethernet, apenas um de todos os 44 pacotes eram utilizadas para recalcular o tempo de viagem de ida e volta. Com um tamanho de janela máximo de 65.535 bytes, esta frequência de amostragem foi suficiente. Utilizar escala de janela e um tamanho de janela máximo de 1 gigabyte, esta frequência de amostragem RTT, Roundtrip Time não é suficiente.

A opção de carimbo de data/hora de TCP pode agora ser definido para ser utilizado em segmentos (dados e ACK) considerados adequados pela pilha, para executar operações, tais como cálculo RTT, Roundtrip Time, verificação PAWS e assim sucessivamente. Utilizando estes dados, o RTT pode ser correctamente calculado com tamanhos de janela grande. RTT, Roundtrip Time é utilizado para calcular intervalos de retransmissão. Tempos de espera RTT, Roundtrip Time e retransmissão precisos são necessários para débito ideal.

Quando o carimbo de data / hora TCP é utilizado numa sessão TCP, o criador da sessão envia a opção no primeiro pacote do handshake de três vias TCP (SYN pacote). Ambos os lados, em seguida, podem utilizar a opção TCP durante a sessão.

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

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

O campo de opção de carimbo de data/hora pode ser visualizado num rastreio do Monitor de rede, expandindo o campo de opções de TCP, de conforme é ilustrado abaixo:
TCP: Opção de carimbos de data/hora
Tipo de opção TCP: = Carimbos de data/hora
TCP: Comprimento de opção = 10 (0xA)
Marca de hora TCP: = 2525186 (0x268802)
Carimbo de data/hora de resposta de TCP: = 1823192 (0x1BD1D8)

Protecção contra os números de sequência moldada (PAWS)

O campo de número de sequência TCP está limitado a 32 bits, que limita o número de sequência de números disponíveis. Com uma transferência de dados grandes e redes de alta capacidade, é possível moldar números de sequência antes de um pacote atravessam a rede. Se enviar dados num byte GIGA 1 por segundo (Gbps) rede, os números de sequência podem moldar em apenas 34 segundos. Se um pacote é atrasado, um pacote diferente poderia potencialmente existir com o mesmo número de sequência. Para evitar confusões na eventualidade de números sequenciais duplicados, a hora TCP é utilizada como uma extensão para o número de sequência. Pacotes têm marcas de hora actual e progressing. Um pacote antigo tem um carimbo de data mais antigo e é rejeitado.

Confirmações selectivos (SACKs)

Windows inclui suporte para uma funcionalidade de desempenho conhecido como reconhecimento selectivo ou SACK. SACK é especialmente importante para ligações que utilizam tamanhos de janela TCP grandes. Antes para SACK, um receptor apenas pode confirmar o número de sequência mais recente de um fluxo de dados contíguos que já tinha sido recebido, ou "esquerda" da janela de recepção. Com SACK activada, o receptor continua a utilizar o número ACK para confirmar a extremidade esquerda da janela recepção, mas pode confirmar também outros blocos de dados recebidos individualmente. SACK utiliza opções de cabeçalho TCP, tal como abaixo indicado.

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

A opção TCP sack-Permitted é utilizada apenas um pacote SYN (durante o estabelecimento de ligação de TCP) para indicar que pode fazer ACK. selectiva

A segunda opção TCP, TCP saca Option, contém confirmação para um ou mais blocos de dados. Os blocos de dados são identificados utilizando o número de sequência no início e no fim do bloco de dados. É também conhecido como a extremidade esquerda e direita do bloco de dados.

Tipo 4 é a opção TCP sack-Permitted, tipo 5 opção saca de TCP. Período é o comprimento em bytes desta opção de TCP.

Saca TCP permitidos:

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

Opção SACK de TCP:

Reduzir esta tabelaExpandir esta tabela
Tipo = 5Comprimento = variável
1 byteMargem à esquerda do bloco 1 º à margem direita do 1 º de bloco
...
Limite esquerdo da nth bloquear a margem direita do bloco n-ésimo

Com SACK activada (predefinição), pode ser largado uma série de pacotes ou pacote e o receptor informa o remetente os dados foram recebidos, e onde podem existir "furos" nos dados. O remetente, em seguida, pode retransmitir selectivamente os dados em falta sem uma retransmissão de blocos de dados que já foram recebidos com êxito. SACK é controlado pelo parâmetro de registo SackOpts.

O valor SackOpts a seguinte chave de registo pode ser editado para controlar a utilização de confirmações selectivos:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. Na barra de ferramentas clique em Iniciar , clique em Executar e, em seguida, escreva Regedit para iniciar o Editor de registo.
  2. Localize e faça clique sobre a chave acima no Editor de registo (Registry Editor) e, em seguida, clique em Modificar no menu Editar .
  3. Escreva o valor desejado na caixa dados do valor .
Nota : O valor binário válido é 0 ou 1, o valor predefinido é 1. Este parâmetro controlos ou não suporta selectivo ACK (SACK - RFC 2018) está activada.

O rastreio do Monitor de rede seguinte ilustra um anfitrião confirmar todos os dados até ao número de sequência 54857341, mais os dados do número de sequência 54858789 54861685. Os dados em falta são de 54857341 a 54858788.
TCP:. r...., len:0 seq:925104 - 925104, ack:54857341, ganhar: 32722 src:1242 dst:139
Porta de origem TCP: = 0x04DA
Porta de destino TCP: = Serviço de sessão NETBIOS
Número de sequência TCP: = 925104 (0xE1DB0)
TCP: número de reconhecimento = 54857341 (0x3450E7D)
Deslocamento de dados TCP: = 44 (0x2C)
TCP: Reservado = 0 (0x0000)
+ TCP: Sinalizadores = 0 x 10:. a....
Janela de 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
TCP: Comprimento de opção = 10 (0xA)
TCP: limite de bloqueio para a esquerda = 54858789 (0x3451425)
TCP: margem direita de bloco = 54861685 (0x3451F75)

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

Retransmissão de TCP

Como uma revisão do comportamento de retransmissão normal, o TCP inicia um temporizador de retransmissão quando cada segmento de saída é enviado para baixo para IP (Internet Protocol). Se tiver sido recebida não confirmação para os dados de um determinado segmento antes do temporizador expira, o segmento é retransmitido.

O tempo de espera (RTO) da retransmissão é ajustado continuamente para fazer corresponder as características da ligação através de cálculos de tempo de ida e volta suavizadas (SRTT) como descrito no RFC 793. O temporizador para um dado segmento é duplicado após cada retransmissão desse segmento. Utilizar este algoritmo, TCP finas o próprio para o atraso normal de uma ligação.

Retransmissão rápida

TCP volta a transmitir dados antes de expira o temporizador de retransmissão em algumas circunstâncias. Mais comuns destes ocorre devido a uma funcionalidade conhecida como retransmissão rápida. Quando um destinatário suporta rapidamente retransmitir recebe dados com um número de sequência para além do actual esperado e, em seguida, é provável que alguns dados foi ignorados. Para ajudar a informar o remetente deste evento, o receptor envia imediatamente um ACK, com o conjunto número ACK ao número sequencial que era esperado. Continuará a fazer para cada segmento adicional de TCP que chega. Quando inicia o remetente receber uma sequência de ACK que confirmar o mesmo número de sequência, é provável que um segmento foi interrompido. O remetente imediatamente irá reenviar o segmento ao qual o receptor está à espera, sem aguardar que o temporizador de retransmissão expirar. Esta optimização bastante melhora o desempenho quando pacotes frequentemente são ignorados.

Por predefinição, Windows reenvia um segmento se receber três ACK para o mesmo número de sequência, (um ACK e 2 duplicados) e esse lags número de sequência actual. Esta é controlável com o parâmetro de registo TcpMaxDupAcks.

O valor TcpMaxDupAcks a seguinte chave de registo pode ser editado para controlar o número de ACK necessários para iniciar uma rápida retransmitir:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  1. Na barra de ferramentas clique em Iniciar , clique em Executar e, em seguida, escreva Regedit para iniciar o Editor de registo.
  2. Localize e faça clique sobre a chave acima no Editor de registo (Registry Editor) e, em seguida, clique em Modificar no menu Editar .
  3. Escreva o valor desejado na caixa dados do valor .
Nota : O intervalo válido é 1-3, o valor predefinido é 2.

Este parâmetro determina o número de ACK duplicados que deve ser recebido para o mesmo número de sequência de dados enviados antes de "rapidamente retransmitir" é accionado para reenviar o segmento ao qual foi interrompido em trânsito.

Propriedades

Artigo: 224829 - Última revisão: 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
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Datacenter Edition
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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