As shells remotas continuam responsivas, as sondas pequenas respondem, e então uma cópia de ficheiro arrasta-se e para sem qualquer erro que alguém possa apontar. Um ping com maior carga reproduz o problema de imediato, e a mesma transferência funciona a partir da rede local. Nada na cifra é lento; certos pacotes nunca chegam. Duas divisões diferentes podem produzir essa assinatura, e deixam provas diferentes.

Dois locais onde um pacote pode ser dividido

Antes da cifra, o router pode dividir um pacote interno demasiado grande e proteger cada pedaço em separado. Depois da cifra, o que é dividido é o pacote externo já concluído, e o extremo remoto tem de o remontar antes de conseguir decifrar o que quer que seja. Mesmo sintoma, trabalho diferente para o recetor e comandos diferentes para si.

A distinção importa porque uma correção dirigida ao lado errado altera um número sem mover a falha. Um pacote recusado na interface nunca se torna um pacote externo, pelo que nenhuma configuração do lado externo o pode salvar.

Onde a decisão de tamanho é realmente tomada

Uma interface de túnel transporta uma IP MTU, e esse valor pode recusar um pacote interno demasiado grande muito antes de a fase IPsec o ver. Pôr um bit no cabeçalho externo não revê aquela decisão anterior, porque o pacote já foi recusado. É por isso que aumentar a MTU interna às vezes piora em vez de melhorar. Leia o valor da interface e o comportamento externo antes de alterar qualquer um deles, porque a alteração mais barata é normalmente a que explica o sintoma.

Verifique primeiro o valor da interface, depois o comportamento externo. Dois números, duas fases, e normalmente só um deles é responsável.

O orçamento externo não é o orçamento interno

Cada encapsulamento gasta bytes em cabeçalhos, e a quantidade depende do transporte, da família de endereços e de haver ou não travessia de NAT. Um pacote interno que cabe na ligação local pode ainda produzir um pacote externo que não cabe no caminho além dela. Meça a sobrecarga em vez de a supor, porque cada cabeçalho opcional entra na fatura. Um túnel com travessia de NAT paga mais do que um simples, e a diferença chega para quebrar uma transferência que funcionava ontem.

Quando o pacote externo leva o bit de não fragmentar, um salto que não o consegue encaminhar descarta-o e deveria devolver uma mensagem ICMP. Se essa mensagem for filtrada em algum ponto, o emissor continua a tentar e o utilizador vê uma paragem sem explicação. Esse descarte silencioso é a razão habitual para um problema de tamanho ser reportado como problema de velocidade.

O IPv6 elimina uma das opções

Os routers IPv6 não fragmentam em trânsito, pelo que o pacote externo ou cabe ou desaparece com uma mensagem Packet Too Big. Essa mensagem torna-se o único canal de retorno, e bloqueá-la quebra a descoberta de caminho para cada transferência grande seguinte. Os routers IPv4 podem fragmentar um pacote grande quando o bit está limpo, o que esconde a falha até algo mais pôr esse bit.

Numa pilha mista, o mesmo túnel pode comportar-se de forma diferente para as duas famílias, por isso um teste sobre IPv4 não resolve uma queixa sobre IPv6. Uma verificação que exercita uma família deixa metade da resposta por medir.

A política de segmentos TCP não é uma resposta geral

Limitar o tamanho máximo do segmento ajuda os fluxos TCP, e é um controlo legítimo quando o problema se limita a eles. Não tem qualquer efeito sobre UDP, que transporta DNS, alguns protocolos de voz e uma parte crescente do tráfego web.

Aplique-a e depois teste a carga que falhou. Se o caso UDP continuar a falhar, a política de segmentos nunca foi a resposta e o orçamento da interface ainda precisa de atenção. Identifique primeiro o protocolo da carga que falha e depois escolha o controlo que lhe pertence.

A ordem de trabalho

Registe a maior carga que sobrevive, depois a MTU da interface, depois se o pacote externo leva o bit de não fragmentar e por fim se o retorno ICMP chega ao emissor. Essa sequência estreita a falha sem adivinhar. Guarde cada observação com marca temporal e extremo, porque os quatro números mexem-se quando o caminho muda.

Altere um valor, teste de novo a transferência original e guarde o resultado. Um túnel que passa uma sonda grande mas continua a parar na aplicação passou para outro problema, e isso é progresso que vale a pena anotar. A pessoa seguinte prefere os números à conclusão.

Artigos relacionados