A fragmentação IPv6 não está acontecendo

1

Eu configurei uma rede de teste com dois PCs Linux trabalhando como roteadores e dois PCs Linux funcionando como clientes normais. Os dois roteadores estão conectados entre si e cada cliente está conectado a um roteador. No caminho do cliente para um dos roteadores, a MTU é 1500, no entanto, entre os dois roteadores é 1200. Também estou usando apenas IPv6.

Se eu agora tentar enviar um pacote que é maior que 1200 bytes, espero obter um erro "pacote muito grande" do ICMPv6 do roteador e o cliente deve fragmentar o pacote e tentar reenviá-lo. No entanto isso não acontece. Se eu olhar para o wireshark, posso ver o cliente recebendo os erros do ICMPv6, no entanto, o cliente não tenta reenviar os pacotes como fragmentos.

Qual poderia ser o motivo desse comportamento?

    
por mius 10.04.2018 / 17:01

1 resposta

2

O IPv6 não suporta fragmentação.

Com o IPv4, um roteador pode fragmentar um pacote ao encaminhar de um link para outro com uma MTU menor (a menos que DF esteja definido).

Com o IPv6, os endpoints precisam usar Path MTU Discovery para realmente descobrirem sozinhos e então usarem esse MTU entre si ...

Editar após os comentários muito apreciados do @Patrick Mevzek:

... ou use a MTU garantida para IPv6 de 1280 bytes (com ou sem fragmentar o pacote no host).

    
por 10.04.2018 / 22:37

Tags