Você captura pacotes de 1400 bytes na interface do túnel, captura de novo na interface física, e os números se recusam a bater. Os endereços diferem, os tamanhos diferem, e o segundo arquivo parece outra conversa. Nada está quebrado. Dois pacotes diferentes estão em duas camadas diferentes, e a diferença entre eles é o que o túnel faz com o seu tráfego. Leia as duas visões antes de culpar a MTU.

Dois pontos de observação e o pacote que cada um mostra

Uma captura feita na interface do túnel mostra o pacote interno: o payload da aplicação com sua origem e destino originais, antes de qualquer proteção ser aplicada. Uma captura na interface física mostra o pacote externo: um cabeçalho IP, um cabeçalho de transporte, o encapsulamento e, em seguida, o pacote interno cifrado como payload. A mesma conversa, objetos diferentes. Assim que você nomear qual dos dois está no arquivo, a divergência deixa de ser um mistério.

A diferença de tamanho é sobrecarga, a diferença de endereço é projeto. Vire isso do avesso e a confusão fica previsível: as pessoas comparam um pacote interno de 1400 bytes com um externo de 1450 bytes, concluem que algo está errado e começam a mexer em ajustes de MTU que nunca tiveram culpa. Rotule o arquivo com a interface e a camada, porque esse rótulo é a primeira coisa de que um leitor precisa e a primeira que as pessoas omitem.

Decida a camada antes de iniciar a captura

Decida qual camada responde à sua pergunta antes de o primeiro pacote ser gravado. Uma pergunta de MTU normalmente exige a visão externa, porque é ali que os cabeçalhos se acumulam e que o limite do caminho aparece. Uma pergunta de aplicação normalmente exige a visão interna, porque é ali que o payload que lhe interessa ainda existe. Capturar as duas sem plano produz dois arquivos e nenhuma conclusão.

Use um teste inofensivo e autorizado e filtre pela origem, destino e horário que lhe interessam. Leia as opções de interface e de filtro da ferramenta de captura antes de coletar, porque metadados costumam bastar e são muito mais fáceis de compartilhar do que o payload. Trate a captura interna como sensível por padrão, porque ela contém dados de aplicação não cifrados que só ficam protegidos mais adiante no caminho.

O que a diferença de tamanho realmente contém

O pacote externo carrega cabeçalhos extras e material de proteção, e quanto ele carrega depende do protocolo e de suas opções. Fragmentar, agregar ou reordenar ao longo do caminho pode romper a aparente relação um para um entre um pacote interno e os pacotes externos que o transportam, então uma comparação tamanho a tamanho nem sempre está disponível. Para uma suspeita de falha de MTU, procure o retorno sobre tamanho e o ponto em que o tráfego para, e compare isso com o que a aplicação relata. Um padrão de retransmissões sem resposta é um sinal diferente de um erro ICMP que carrega o tamanho do próximo salto.

Um único pacote que sai do host não prova nada sobre se a outra ponta o recebeu. Se sua captura termina na sua própria interface, você mostrou que o kernel emitiu algo, e essa é a evidência mais fraca disponível sobre o caminho. Combine a captura com um sintoma reproduzível: mesmo destino, mesma operação, mesmo tamanho, duas execuções com uma variável alterada.

Lendo o offload nos números

A segmentação no lado do host e outros tipos de offload acrescentam uma segunda distorção, e é ela que faz as capturas locais discordarem do que passa no cabo. Uma captura local pode mostrar buffers que o adaptador divide depois, então os quadros no link são menores e mais numerosos do que o arquivo sugere. É por isso que um buffer grande no arquivo de captura não prova que um quadro de tamanho excessivo atravessou cada enlace. Se os tamanhos importam para a sua conclusão, registre onde a captura foi feita e se o offload estava ativo naquela interface.

Caso contrário, você mede a conveniência do host em vez do comportamento do caminho. Dois arquivos rotulados com sua interface e estado de offload resolvem a maioria dessas discussões em um minuto.

Onde a captura deixa de ser evidência

Ver pacotes externos cifrados mostra que existe uma fronteira de proteção nestas condições de teste, e não diz nada sobre outras aplicações no dispositivo, sobre o tratamento da operadora ou sobre o estado do próprio endpoint. Ver texto claro dentro do túnel também não significa que o túnel está quebrado; significa que você capturou acima do ponto de cifragem, que é um lugar legítimo para olhar. Uma captura é evidência sobre um lugar, não um veredito sobre um sistema, e o chamado deve descrevê-la assim. Mantenha a frase de escopo no relatório, porque é ela que impede uma única observação de virar uma alegação de auditoria.

Nomeie cada arquivo com sua interface, filtro e carimbo de data e hora, e apague-o quando a investigação terminar. O manual do tcpdump documenta as opções de interface e de filtro usadas aqui, incluindo as que mantêm a captura pequena.

Se precisar compartilhar evidências, compartilhe tamanhos, carimbos de data e hora e opções em vez do payload. A pergunta era sobre o tamanho do pacote, e a resposta raramente precisa dos dados de alguém.

Artigos relacionados