|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alexander Kolesnikoff 2:5020/400 15 Jan 2007 16:35:42 To : Alex Semenyaka Subject : Re: проблемы в связке squid + TSO + windows 98 -------------------------------------------------------------------------------- Alex Semenyaka <Alex.Semenyaka@p640.f640.n461.z2.fidonet.org> wrote: > Hello Alexander! > > 15 Jan 07 04:23, you wrote to me: > > >> Смешное заключается в том, что сессия закрывается _клиентом_, а не > >> сервером. То есть, твоя сессия описывается на уровне логики так: 1) > >> Прошёл TCP-handshake, инициированный клиентом. У сервера окно закрыто. > >> 2) Сервер открыл окно приёма. Сделал он это мгновенно после handshake > >> (через половину миллисекунды после получения ACK!), так что вряд ли > >> тут какая-то проблема с анонсированным нулевым окном. Больше это > >> похоже на защиту от попыток прислать данные в момент handshake. Hадо > >> бы в исходниках посмотреть, но я уверен, что проблема не в этом. > AK> Если кто-то хочет прислать данные в момент хэндшейка - он их пришлёт, > AK> независимо от анонсированного приёмной стороной размера окна. > > Хм. Hу так он может их прислать и вообще просто так, наобум. Точно также, > как некто может не сбрасывать скорость при задержке пакетов, не соблюдать > таймауты, не пользоваться slow start... Однако это же не повод не > "сообщать" (косвенно) другой стороне о том, что нужно вот это всё сделать? > Протокол TCP by design предполагает кооперативность сторон. > > Конечно, это только гипотеза - надо посмотреть, как оно всё-таки в коде. > Жаль, мне сейчас сделать это негде (точнее, это потребует больших усилий). > > AK> Полагаю, что если это и защита, то криво как-то сделанная. А ты не > AK> наблюдал реакцию FreeBSD на анонсированное ей окно нулевого размера > AK> ? ;-) > > А что с ней не так? Специально не изучал, но в случаях, когда такое > наблюдалось - отправитель честно переставал передавать данные. Всё так, только вот если и дальше окно не открывать, сессия стоит мертвая. В отличии от фряхи, у виндюка таймауты гораздо меньше и сессию она завершает раньше (в моём случае это был телнет). Кстати, не помню сейчас, отвалился ли сам вообще в этом тесте телнет на фряхе. > > Да собственно в этой эхе недавно совсем был пример с cvsupом (кажется, у > Виктора Судакова). Когда на клиенте закрывалось окно, и сервер переставал > отдавать данные - из-за чего средняя скорость была как-то довольно невелика. > > >> 3) А вот тут зачем-то клиент соединение закрывает. > >> > >> Что-то мне подсказывает, что сначала искать надо на клиенте :) > AK> Скорее всего так и есть. Hапример, не так давно win98 клиенту помогла > AK> ... переустановка системы. Симптомы примерно те же: отказ устанавливать > AK> соединение (в моём случае это был PPP) по непонятной причине. > > Подождём от Дениса результата двух экспериментов, которые я описал... В связи с вновь открывшимися обстоятельствами (pf) всё ясно. Только вот зачем же так издеваться над своими же клиентами? ;-) Сквид ставят в локальной сети для ускорения, а тут клинтов нулевым окном в самом начале ... Понятно, что это сделано было не специально. Полагаю, надо эту фичу выключить. Может и проблема с клиентами win98 решиться. Alexander --- ifmail v.2.15dev5.3 * Origin: UKU (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/7525cc17c851.html, оценка из 5, голосов 10
|