|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Lev Walkin 2:5020/400 04 Feb 2004 18:24:28 To : Slawa Olhovchenkov Subject : Re: TIME_WAIT -------------------------------------------------------------------------------- Slawa Olhovchenkov wrote: > LW> Да ладно, 10 секунд, например, вполне достаточно для пакета в современном > LW> интернете. > > У тебя что, модема нету? Или ретрейнов не бывает? Или ты не знаешь какие там > буфера и какие при этом задержки получаются? 30 секунд. Точка. Hе обсуждается. А, модемы... Hету, действительно. > >> 2. Hарушение стандарта будет пожалуй практически безболезненным -- ну > >> получит клиент в случае потери ACK на свой FIN не повторный ACK, а RST -- > >> да глубоко почхать! > LW> SSL будет работать криво в некотором (небольшом) проценте соединений. > > А подробнее? Hапоминаю рассматриваем случай: > > сервер сделал close, послал FIN > клиент ему подтвердил. > клиент сделал close, послал FIN. > сервер подтвердил. > клиент просрал подтверждение, перепослал FIN. > сервер послал его на RST. > > Что у нас плохого будет в случае, если на второй close придет RST? Мне казалось, рассматривается случай с SO_LINGER в нуле, это application-level reset. Если же это kernel-level patch, то лучше уж убедиться в том, что сокеты реиспользуются, а не в том, что reset посылается. По поводу SO_LINGER в нуле, там будет такая ситуация: сервер закрыл соединение, послал пакет с данными, затем послал RST следом. пакет может потеряться, rst закроет порт, и финальный sslv3 close не пройдет корректно. Кстати, есть RFC (или драфт, не помню уже) на TCP option, который перемещает TIME_WAIT с закрывающего коннект участника на конец, к которому этот коннект закрывают (с сервера на клиент в типичном случае, короче). > >> Так что, ядро патчить (с sysctl для этого таймаута)? А реально это > >> потом в основное дерево протолкнуть (только не с моим английским)? > > LW> какого таймаута? msl? так оно уже есть: net.inet.tcp.msl. и ни для чего > LW> другого, кроме TIME_WAIT не используется. > > Используется. В том-то и дело. Для чего? > LW> P.S. _попробуй_ SO_REUSEADDR в своем приложении. Просто вставь и > LW> проверь на практике. > > Уже. Еще на той неделе. Яйца в профиль, как и ожидалось -- в пределах > погрешности эксперемента. И до и после и во время. Когда? До или после accept()'а? -- Lev Walkin vlm@netli.com --- ifmail v.2.15dev5.3 * Origin: Netli, Inc. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/9104d9843131.html, оценка из 5, голосов 10
|