Resumo
- O reconhecimento cumulativo do TCP só avançava pela sequência contínua. Com SACK, o receptor podia anunciar blocos posteriores que já tinham chegado apesar da falta de um trecho anterior.
- O RFC 2018 permitia ao receptor descartar dados antes anunciados por SACK. O emissor mantinha a cópia até o reconhecimento cumulativo alcançar aqueles bytes.
Chegam à repartição as páginas um, dois e quatro. O carimbo oficial para na segunda, porque a terceira sumiu no caminho. Um funcionário escreve à margem que a quarta está na mesa. Mais tarde, com a mesa cheia, pode retirá-la. Essa pequena liberdade administrativa foi uma das regras decisivas do reconhecimento seletivo no TCP.
O RFC 1072, de 1988, expôs o incômodo nas rotas com grande atraso e muita capacidade. Um buraco congelava o número cumulativo de reconhecimento. Quem enviava não sabia, por aquele número, quais segmentos posteriores tinham sido recebidos. Esperar outra viagem da informação custava tempo; retransmitir sem mapa custava largura de banda. A proposta seletiva faria o receptor descrever os pedaços presentes além do buraco. Era uma experiência proposta; o desenho definitivo da opção de TCP surgiu depois.
Em outubro de 1996, o RFC 2018 definiu o SACK. A outra ponta precisava anunciar SACK-Permitted no SYN de abertura antes que o receptor enviasse a opção. O campo tradicional de reconhecimento continuou no cabeçalho TCP, marcando a fronteira contínua. Os blocos SACK traziam os limites dos intervalos recebidos depois dela. O carimbo e a lista de páginas soltas passaram a viajar no mesmo envelope, cada um com função própria.
O envelope não era grande. O espaço de opções do TCP limitava a quantidade de blocos que cabia em um ACK. O RFC 2018 deu prioridade ao bloco que continha o segmento recém-chegado responsável pelo reconhecimento, salvo quando ele fazia o número cumulativo avançar. Recomendou ainda registrar outros intervalos distintos e repetir blocos recentes quando possível. Se um ACK desaparecesse, a repetição poderia entregar a notícia. O remetente recebia um retrato útil, sujeito a cortes e a perdas no próprio caminho de volta.
A seção 8 descreveu o momento em que a mesa é esvaziada. O receptor podia descartar dados fora de ordem já anunciados em SACK, especialmente sob pressão de memória. Esse comportamento recebeu o nome de reneging. Os anúncios seguintes não podiam continuar mostrando como presentes os blocos antigos abandonados. A regra do primeiro bloco ainda mostrava o segmento mais novo, mesmo quando o receptor pretendia descartá-lo. Receber e informar não obrigava a guardar até o fim.
Para o emissor, a instrução era firme: nenhum byte seria apagado antes de o reconhecimento cumulativo cobri-lo. A informação seletiva servia para escolher retransmissões e evitar repetir imediatamente os blocos que pareciam estacionados do outro lado. A cópia original permanecia disponível. Se a outra ponta limpasse sua fila antes da chegada do trecho faltante, o remetente ainda poderia reconstruir a sequência.
O RFC 2883, de julho de 2000 deu à mesma opção um uso adicional. D-SACK informava a chegada de dados duplicados. O sentido do campo cumulativo e o momento de enviar ACKs continuavam iguais. Um duplicado podia aparecer em apenas um ACK; a perda desse pacote apagava o aviso. Até um recibo mais expressivo dependia de chegar ao destino.
SACK ensinou o TCP a procurar o trecho faltante com mais informação. A regra de conservação impediu uma confusão cara: usar o bilhete na margem para planejar o próximo envio é inteligente; triturar o original antes do carimbo contínuo é pedir à rede que se lembre do que já esqueceu.
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





