Por que o sinalizador "não fragmentar" é definido nos protocolos https e ssh?

12

Encontrei muitas informações especificando que esse é o caso, no entanto, estou realmente procurando o motivo por trás disso. Por que isso é necessário? Isso é necessário?

Aiden Thompson
fonte

Respostas:

13

O sinalizador DF instrui os roteadores que normalmente fragmentariam o pacote devido ao fato de ser muito grande para a MTU de um link (e potencialmente entregá-lo fora de ordem devido a essa fragmentação) a abandonar o pacote e retornar um pacote ICMP Fragmentation Needed, permitindo o envio host para contabilizar o MTU mais baixo no caminho para o host de destino. Esse processo é chamado " Path MTU discovery ".

Geralmente é melhor deixar o PMTUD em paz e deixá-lo fazer seu trabalho, em vez de ter sua pilha TCP lidando com fragmentos fora de ordem. No entanto, em alguns casos (principalmente quando o ICMP necessário está bloqueado), o PMTUD não funciona e a conexão é interrompida.

É quando você deseja desabilitar o sinalizador DF - quando o PMTUD não pode funcionar corretamente e resultam em problemas de conexão.

Shane Madden
fonte
1
Existe uma razão para o tráfego criptografado, ou seja. O tráfego ssh e https não deve ser fragmentado?
Aiden Thompson
1
@AidenThompson Geralmente, permitir que o PMTUD faça seu trabalho, em vez de permitir a fragmentação, é melhor para o desempenho de todas as conexões TCP, incluindo SSH e HTTPS.
Shane Madden
2
(Ie, não tem nada a ver com criptografia, e tudo a ver com o TCP.)
Essa é uma daquelas coisas que os mundos de servidor e rede nunca concordarão.
Smithers