Re: Firebird TCP/IP протокол и Don`t fragment флаг

2011-02-25 Пенетрантность Yurij


On Feb 25, 12:19 pm, "Oleg Matveyev"  wrote:
> > ,
> > : PMTUD Black Hole
> >http://technet.microsoft.com/en-us/library/cc958871.aspx
>раз уж пятница...
>за что я люблю M$, так это за умение из любого бага сделать Проблему, и дать
>ей громкое имя :-)

Это не MS-specific проблема.
Но вообще решилась она именно описанным по этой ссылке костылем -
поставить EnablePMTUDiscovery=0 в реестре.
Установка TcpRemoteBufferSize в 1448 не помогла - похоже, там еще
меньше MTU по дороге где-то.
VPN предоставляется провайдером, у провайдера специалистов,
заинтересованных в таких тонкостях и способных разобраться,
практически нету.

Re: Firebird TCP/IP протокол и Don`t fragment флаг

2011-02-25 Пенетрантность Oleg Matveyev

Нашел еще одно возможное решение, оказывается у проблемы даже название
есть: PMTUD Black Hole
http://technet.microsoft.com/en-us/library/cc958871.aspx



раз уж пятница...
за что я люблю M$, так это за умение из любого бага сделать Проблему, и дать 
ей громкое имя :-) 





Re: Firebird TCP/IP протокол и Don`t fragment флаг

2011-02-24 Пенетрантность Khorsun Vlad

On Feb 24, 9:59 pm, "Vlad Khorsun" wrote:

Firebird не управляет и не может управлять этими флагами.

Да, судя по всему, TCP стек пытается PMTUD использовать.

Тогда второй вопрос: чем чревата установка TcpRemoteBufferSize = 1448
в конфиге?


   Дополнительными roundtrip'ами и снижением производительности
сетевого протокола.


И с чем связано нижнее ограничение в 1448 на этот параметр?


   Думаю что-то древне-историческое. Не проверял никогда. Может
у какого-либо из ныне мёртвых транспортных протоколов было такое
ограничение снизу.


Судя по логу, оно в таком случае шлет пакеты уменьшенного размера,
которые, скорее всего, пройдут через затык в сети. Но насколько
это костыль и чем он чреват?


   Думаю проверить это можно только экспериментально...

--
Хорсун Влад 





Re: Firebird TCP/IP протокол и Don`t fragment флаг

2011-02-24 Пенетрантность Yurij


On Feb 24, 9:59 pm, "Vlad Khorsun"  wrote:
>Firebird не управляет и не может управлять этими флагами.
Да, судя по всему, TCP стек пытается PMTUD использовать.

Тогда второй вопрос: чем чревата установка TcpRemoteBufferSize = 1448
в конфиге?
И с чем связано нижнее ограничение в 1448 на этот параметр?

Судя по логу, оно в таком случае шлет пакеты уменьшенного размера,
которые, скорее всего, пройдут через затык в сети. Но насколько
это костыль и чем он чреват?


Re: Firebird TCP/IP протокол и Don`t fragment флаг

2011-02-24 Пенетрантность Yurij


On Feb 24, 9:28 pm, Yurij  wrote:
>  Знаю только пару методов, типа поставить на винде MTU поменьше или
> завернуть коннект в туннель, использующий для транспорта мелкие пакеты.

Нашел еще одно возможное решение, оказывается у проблемы даже название
есть: PMTUD Black Hole
http://technet.microsoft.com/en-us/library/cc958871.aspx


Re: Firebird TCP/IP протокол и Don`t fragment флаг

2011-02-24 Пенетрантность Vlad Khorsun

"Yurij" ...

Наткнулся тут на шизу, что клиентское приложение не может подключится
к Firebird через VPN, в котором поломано управление MTU. Т.е. Firebird
шлет пакеты максимального размера, в которых, к тому же, установлен
флаг Don`t fragment, по дороге они натыкаются на какой-то глючный
узел, который вместо того, чтобы ответить ICMP fragmentation needed,
молча их дропает. В результате подключение к FB зависает на первом же
достаточно длинном пакете.
Можно ли узнать, зачем установлен этот флаг, и можно ли как-то обойти
эту проблему?


   Firebird не управляет и не может управлять этими флагами.

--
Хорсун Влад 





Firebird TCP/IP протокол и Don`t fragment флаг

2011-02-24 Пенетрантность Yurij
 Наткнулся тут на шизу, что клиентское приложение не может подключится
к Firebird через VPN, в котором поломано управление MTU. Т.е. Firebird
шлет пакеты максимального размера, в которых, к тому же, установлен
флаг Don`t fragment, по дороге они натыкаются на какой-то глючный
узел, который вместо того, чтобы ответить ICMP fragmentation needed,
молча их дропает. В результате подключение к FB зависает на первом же
достаточно длинном пакете.
 Можно ли узнать, зачем установлен этот флаг, и можно ли как-то обойти
эту проблему?

 Знаю только пару методов, типа поставить на винде MTU поменьше или
завернуть коннект в туннель, использующий для транспорта мелкие пакеты.