Настройка MTU Double NAT для внутренней сети

Настройка MTU Double NAT для внутренней сети

У меня домашняя сеть с двумя маршрутизаторами, один за другим. Порт WAN внешнего маршрутизатора — это соединение VDSL2 PPPoE с реальным IP-адресом и размером MTU 1492. Порт WAN внутреннего маршрутизатора назначается через DHCP как просто еще один клиент в сети LAN внешнего маршрутизатора. Значение MTU по умолчанию для него было 1500. Я изменил его на 1492, чтобы оно соответствовало внешнему маршрутизатору.

Теперь я задаюсь вопросом, имеет ли смысл еще больше уменьшать размер MTU для внутренней сети. Сделает ли это внутреннюю сеть более надежной в этом сценарии двойного NAT?

решение1

NAT просто изменяет IP-адреса/порты в пакетах, он не включает в пакет никакой дополнительной информации (заголовки и т. д.). Поэтому он никак не уменьшает MTU, и иметь тот же MTU вполне нормально.

решение2

В то время как NAT не увеличивает размер пакетов (или, точнее, уменьшает максимальный размер полезной нагрузки на пакет), PPoE и другие протоколы туннелирования часто это делают.

Однако большинство современных операционных систем реализовалиПуть обнаружения MTU, изложенный вRFC1191, который, в оптимальном варианте, автоматически адаптирует исходящие пакеты к наименьшему MTU любого из соединений между отправляющим хостом и пунктом назначения. Он делает это, устанавливая DF bit(Don't Fragment) в больших исходящих пакетах и ​​ищет ошибку ICMP Fragmentation Needed.

В MacOS и других Unix-подобных операционных системах утилита pingимеет несколько переключателей, которые могут устанавливать DF bitи устанавливать размер полезной нагрузки, и даже охватывать диапазон размеров, эффективно определяя MTU между исходным хостом и местом назначения. В отправляемых данных имеется 8 байт служебных данных ICMP Echo Request ping, а в IP-пакете — 20 байт служебных данных, что делает максимальную полезную нагрузку 1472 для пакета ping с установленным DF bitна интерфейсе MTU 1500 байт.

Вы можете установить MTU ниже, чтобы оптимизировать, в какой-то очень небольшой степени, этот конкретный путь, в обмен на немного меньший оптимальный размер пакета длякаждый второйпоток пакетов, в котором участвует хост.

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

[nevin-mac-mini:~] nevin% ping -c 1 -D -s 1472 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 1472 байта данных
1480 байт из 192.168.2.1: icmp_seq=0 ttl=64 время=0,667 мс

--- 192.168.2.1 статистика пинга ---
1 пакет передан, 1 пакет получен, 0.0% потерь пакетов
мин/средн/макс/стдотв = 0,667/0,667/0,667/0,000 мс
[nevin-mac-mini:~] nevin% ping -c 1 -D -s 1473 192.168.2.1
PING 192.168.2.1 (192.168.2.1): 1473 байта данных
ping: sendto: Сообщение слишком длинное

--- 192.168.2.1 статистика пинга ---
1 пакет передан, 0 пакетов получено, 100,0% потерянных пакетов

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