чт, 24 сент. 2020 г. в 21:06, Evgeniy Berdnikov <b...@protva.ru>:
> 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 ходит лишь по изернету, там "снаружи" ничего прилететь не может. > я примерно тыщу раз сталкивался с ситуацией "у нас не устанавливается SSL от браузера" --> "запускаем трейсроут" --> в транзите вижу узел с днс именем, содержащим pppoe. примерно в 100% случаях снижение MTU на клиенте или аналогичная манипуляция на сервере чинили при этом ни у меня, ни у клиента icmp не блокировано. просто сигнализация идет, вероятно, с pppoe узлами в транзите. > > А обработка сигналов это задача тунеллятора. У него может быть несколько > стратегий: > > 1. ставить df=0 и не париться, шлюзы сами всю работу сделают; > 2. ставить df=1, ловить icmp[frag-need] и дробить-собирать пакеты самому; > 3. ставить df=1, ловить icmp и ретранслировать его на нижний уровень. > > На самом деле лишь первые 2 стратегии можно нормально реализовать > с классическим api сокетов. > > Посмотрите на openvpn, например. Он даёт вам mtu=1500 в туннеле по > умолчанию и ваша голова не болит, как он там пакеты дробит и куда > свои служебные заголоки фасует. > это ровно такая же ситуация, про которую я говорил. если вы являетесь той точкой, которая терминирует OpenVPN - вы видите icmp dest unreach и обрабатываете. если OpenVPN где-то в транзите, леший знает, как смаршрутизируется icmp dest unreach > > Другой вопрос, насколько кривы конкретные ipv6-to-ipv4 гейты и > шлют ли они нужные клиенту icmp. > > > очень интересно в этом плане жить в мире Windows (в нем принято > ставить DF > > на https), > > Чем интересно? Браузерный трафик всегда идёт внутри туннеля. > ну смотрите. фейсбук сталкивается примерно с несколькими миллиардами клиентов. в каких-то случаях настроенных вопреки здравому смыслу. и фейсбук выставляет MSS=1410. что-то в этом есть :) кажется, я понимаю, зачем. > А если туннелятор не умеет PMTUD снаружи, то какое бы DF ни было внутри, > результат будет одинаково печальным. > pmtud это какая-то вундервафля, которую умеют готовить в CloudFlare. я боюсь, что это технологии, открывающие портал и призывающие потусторонние силы. их работа за пределами понимания приматов > -- > Eugene Berdnikov > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru