Фрагментация IPv6 не происходит

Фрагментация IPv6 не происходит

Я настроил тестовую сеть с 2 ПК с Linux, работающими как маршрутизаторы, и 2 ПК с Linux, работающими как обычные клиенты. 2 маршрутизатора подключены друг к другу, и каждый клиент подключен к одному маршрутизатору. На пути от клиента к одному из маршрутизаторов MTU составляет 1500, однако между двумя маршрутизаторами он составляет 1200. Также я использую только IPv6.

Если я теперь попытаюсь отправить пакет, который больше 1200 байт, я ожидаю получить ошибку ICMPv6 "packet too big" от маршрутизатора, и клиент должен будет фрагментировать пакет и попытаться отправить его повторно. Однако этого не происходит. Если я посмотрю в Wireshark, я могу увидеть, что клиент получает ошибки ICMPv6, однако клиент не пытается повторно отправлять пакеты как фрагменты.

В чем может быть причина такого поведения?

решение1

IPv6 не поддерживает фрагментацию.

При использовании IPv4 маршрутизатор может фрагментировать пакет при пересылке с одного канала на другой с меньшим MTU (если толькоДФустановлено).

При использовании IPv6 конечные точки должны использоватьПуть обнаружения MTUна самом деле выяснить это самостоятельно, а затем использовать этот MTU между собой...

Редактироватьпосле очень ценных комментариев @Patrick Mevzek:

... или прибегнуть к использованию гарантированного MTU для IPv6 в 1280 байт (с фрагментацией пакета на хосте или без нее).

Связанный контент