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