Заметки про MTU и маршруты
Сюда складываю разборы про размер пакета: почему 1500 не всегда 1500, где PMTUD замолкает и что делает MSS clamping.
- PMTUD и чёрные дыры 05.10 Мелкие страницы открываются, крупные висят. Классика, если ICMP зарезали.
- MSS clamping 29.09 Что править на маршрутизаторе, когда чинить PMTUD негде.
- Почему 1500 не всегда 1500 23.09 PPPoE, VLAN и прочая инкапсуляция, которая откусывает по 8 байт.
- MTU в туннелях 16.09 Арифметика накладных расходов: GRE, IPsec, WireGuard, VXLAN.
- 1280 в IPv6 11.09 Почему минимум именно такой и почему маршрутизатор не должен фрагментировать.
Где это пригодилось
В одном филиале сайт открывался у всех, кроме двух машин. Заголовки и мелкие страницы приходили, крупные картинки зависали на середине. Дело было в pppoe-сессии на 1492 байта и заблокированном ICMP: PMTUD молчал, а сервер продолжал слать пакеты по 1500.
Быстрая проверка размера:
ping -M do -s 1472 example.com # 1472 + 28 = 1500 ping -M do -s 1464 example.com # 1464 + 28 = 1492
Если первый пинг молчит, а второй проходит, искать надо в этой разнице.