Resumo
- Cada ponta anuncia no SYN o expoente de sua própria janela de recepção; a conexão guarda duas escalas, uma por direção.
- Com deslocamento 7, o valor 65.535 depois do aperto de mãos representa 8.388.480 bytes, mas no SYN ele nunca é escalado.
- A opção amplia a expressão do crédito. Não cria memória, não aumenta a janela de congestionamento e não assume as funções de SACK, timestamps ou PAWS.
O campo Window informa quanto o receptor ainda aceita além do limite já confirmado. Com dezesseis bits, ele não consegue escrever mais que 65.535. Quando o produto entre largura de banda e atraso passa desse valor, memória disponível pode ficar invisível ao emissor e impedir que o caminho seja preenchido.
O RFC 1072 descreveu esse limite em 1988. Sua proposta experimental foi conservar o cabeçalho e acrescentar ao SYN uma opção de três bytes com um expoente binário. Nos segmentos seguintes, o valor recebido seria deslocado para recuperar uma janela conceitual maior.
O SYN oferecia a confiabilidade necessária. Um ACK comum pode se perder; se a escala pudesse mudar nele, as pontas poderiam interpretar o mesmo campo em unidades diferentes. O início da conexão é retransmitido e permite fixar o significado antes que os dados dependam dele.
Duas pontas, duas unidades
O expoente enviado por A vale para as janelas que A anunciará como receptor. B o guarda para decodificar os campos posteriores de A. B anuncia outro valor para o sentido inverso. As escalas podem diferir porque memória e política não são necessariamente simétricas.
A opção é uma oferta, não uma ordem. Os dois SYNs precisam carregá-la para habilitar a escala. Zero continua sendo uma oferta válida com fator um. Se uma ponta omitir a opção, os deslocamentos ficam em zero e prevalece a leitura antiga.
SYN e SYN-ACK têm uma exceção: seu campo Window não é escalado. Depois do estabelecimento, 65.535 << 7 produz 8.388.480 bytes. No SYN, 65.535 continua sendo 65.535. Os bits são iguais; o estado anterior muda a leitura.
O RFC 1323 substituiu o experimento em 1992. O RFC 7323 substituiu o RFC 1323 em 2014 e definiu uma janela conceitual de 30 bits, com expoente máximo 14 e alcance pouco inferior a 1 GiB. Valores maiores são limitados a 14 para manter seguras as comparações no espaço de sequência de 32 bits.
Mais alcance traz menos granularidade. Com deslocamento 7, cada unidade do campo corresponde a 128 bytes. A contabilidade interna pode ser precisa, mas o limite anunciado precisa ser quantizado ao entrar no cabeçalho.
Crédito não é permissão da rede
Janela de recepção e janela de congestionamento são limites distintos. O receptor controla a primeira; o emissor ajusta a segunda conforme os sinais do caminho. Vale a menor. Uma oferta de oito megabytes não autoriza ultrapassar uma janela de congestionamento de 64 quilobytes.
Window Scale também não descreve blocos recebidos depois de uma lacuna, como SACK, nem usa tempo para rejeitar dados antigos, como PAWS. Não calcula o temporizador de retransmissão. A história comum das extensões de alto desempenho não funde suas responsabilidades.
O RFC 9293 lista a escala entre opções comuns recomendadas para alto desempenho, mas não necessárias à interoperabilidade básica. Uma conexão pode abrir sem ela e funcionar devagar. Compatibilidade não prova que há vocabulário suficiente para explorar o enlace.
O observador que perdeu o aperto de mãos
Uma captura iniciada depois dos SYNs não conhece a janela real. Window=32.768 pode ser 32.768 bytes ou vários megabytes. O analisador precisa do expoente do mesmo sentido. Um firewall com estado também precisa dessa memória se pretende validar segmentos pela janela.
O RFC 7323 alerta que remover ou modificar a opção no SYN ou SYN-ACK pode deixar as pontas com parâmetros incoerentes. Quem não consegue determinar a escala não deve aplicar inspeção baseada no valor bruto.
A mudança histórica foi semântica. O TCP preservou o campo antigo e usou uma abertura confiável para atribuir duas regras de leitura. O número passou a valer mais porque a conexão primeiro concordou sobre sua unidade.
Fontes
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
