Re: Проблемы со связностью по ipv6 сайта nginx.org

Evgeniy Berdnikov bgx на protva.ru
Чт Сен 24 16:06:06 UTC 2020


On Thu, Sep 24, 2020 at 08:07:45PM +0500, Илья Шипицин wrote:
>    есть распространенное ожидание, что якобы ICMP Frag needed может как-то
>    помочь.
>    на самом деле - скорее нет.
>    допустим, у вас на участке сети мелкий MTU. в этом случае вы действительно
>    увидите ICMP Frag required.

 Ч.Т.Д.

>    если мы введем в уравнение туннель (pppoe, ipsec, hurricane electric,
>    whatever), то ICMP Frag required придет не вам, а туда, где терминируется
>    туннель.
>    благодаря каким механизмам вы (внутри туннеля) увидите сигнализацию,
>    которая идет снаружи туннеля ?


 PPPoE ходит лишь по изернету, там "снаружи" ничего прилететь не может.

 А обработка сигналов это задача тунеллятора. У него может быть несколько
 стратегий:
 
 1. ставить df=0 и не париться, шлюзы сами всю работу сделают;
 2. ставить df=1, ловить icmp[frag-need] и дробить-собирать пакеты самому;
 3. ставить df=1, ловить icmp и ретранслировать его на нижний уровень.

 На самом деле лишь первые 2 стратегии можно нормально реализовать
 с классическим api сокетов.

 Посмотрите на openvpn, например. Он даёт вам mtu=1500 в туннеле по
 умолчанию и ваша голова не болит, как он там пакеты дробит и куда
 свои служебные заголоки фасует.

 Другой вопрос, насколько кривы конкретные ipv6-to-ipv4 гейты и
 шлют ли они нужные клиенту icmp.

>    очень интересно в этом плане жить в мире Windows (в нем принято ставить DF
>    на https),

 Чем интересно? Браузерный трафик всегда идёт внутри туннеля.
 А если туннелятор не умеет PMTUD снаружи, то какое бы DF ни было внутри,
 результат будет одинаково печальным.
-- 
 Eugene Berdnikov


Подробная информация о списке рассылки nginx-ru