MSS clamping
expressãoredes
Reescrever para baixo o Maximum Segment Size anunciado do TCP no SYN, para que segmentos caibam na MTU reduzida de um túnel sem fragmentação nem buracos negros.
A fuga do lado do dispositivo para falhas de PMTUD: conserte a promessa, não o caminho.
O ajuste de MSS é um roteador reescrevendo o Maximum Segment Size que as pontas anunciam no handshake TCP, reduzindo-o para que os segmentos caibam num túnel cuja sobrecarga as pontas desconhecem.
Existe porque o mecanismo correto falha na prática. A descoberta de MTU do caminho deveria resolver isso fazendo um roteador informar que um pacote era grande demais, mas as mensagens ICMP que carregam esse aviso são amplamente filtradas, então quem envia nunca fica sabendo e simplesmente repete para sempre. O sintoma é o conhecido: a conexão estabelece, requisições pequenas funcionam, e qualquer coisa grande trava, o que aponta para tudo menos a causa real.
O ajuste é honestamente um contorno, e não uma correção, e vale entendê-lo assim. É um middlebox alterando uma negociação entre duas pontas que nunca concordaram com isso, que é a violação de camadas que a arquitetura da internet foi projetada para evitar, e é prática padrão em essencialmente toda implantação de VPN e GRE porque a alternativa não funciona. É também boa ilustração de por que a evolução de protocolos é difícil: a rede está cheia de equipamentos tomando decisões que as pontas não conseguem ver.