проблемы в связке squid + TSO + windows 98

From
Alex Semenyaka (2:461/640.640)
To
Denis Shaposhnikov
Date
2007-01-15T18:32:22Z
Area
RU.UNIX.BSD
Hello Denis!

15 Jan 07 13:19, you wrote to me:

 Alex>> Для начала попробуй поставить клиентом фришку, выставить там
 Alex>> проблемный MTU и проверить - будет ли работать твой сквидовый
 Alex>> сервер.
 DS> Попробовал. Работает и с TSO и без него. Вот дамп с TSO:

Я привёл твой дамп в приличный вид :) Рекомендую завести для этого скриптец,
кстати, если регулярно смотришь дампы. Теперь его стало легко читать:

 DS> 13:14:17.133685 IP K > S: S win 65535
 DS> 13:14:17.133723 IP S > K: S ack win 65535
 DS> 13:14:17.139806 IP K > S: . ack 1 win 33012

Обычный хендшейк, и окна все открыты сразу.

 DS> 13:14:17.147927 IP K > S: . 1:525(524) ack 1 win 33012
 DS> 13:14:17.247663 IP S > K: . ack 525 win 32750
 DS> 13:14:17.257113 IP K > S: P 525:843(318) ack 1 win 33012

Поэтому клиент начинает обмен сразу после хендшейка.
(Сессия пропущена)

 DS> 13:14:20.462348 IP S > K: . 2097:2621(524) ack 843 win 33012

Вот сервер отдал данные клиенту...

 DS> 13:14:20.493838 IP K > S: F 843:843(0) ack 2621 win 33012
 DS> 13:14:20.493864 IP S > K: . 2621:3669(1048) ack 844 win 33012

Клиент в ответ решил окончить сессию, сервер подтвердил рассоединение со
стороны клиента.

 DS> 13:14:20.940302 IP S > K: . 2621:3145(524) ack 844 win 33012

Но напоследок решил что-то сказать.

 DS> 13:14:20.947700 IP K > S: R 4219846892:4219846892(0) win 0

У клиента, оказывается, уже сессии этой нету (что, кстати, странно - это был
fetch, что ли, который завершил процесс сразу после закрытия соединения?). В
результате клиент обрывает серверу сессию по Reset.

Отличие - отсутствие объявления нулевого окна. Но в твоих предыдущих дампах оно
всё равно сразу после начала открывалось... Странно, что его тут нет - надо бы
всё же посмотреть в исходниках, когда оно объявляется и зачем. Но пока нет
никаких прямых или косвенных свидетельств, что это имеет отношение к твоей
истории...

А вот то, что проблема на стороне клиента - похоже, подтверждается.

 Alex>> И ещё, есть шанс, что ты в tcpdupm не всё видишь. Поэтому
 Alex>> заодно сними сетевой дамп Etherealом на клиенте.
 DS> А вот это очень проблематично. Под рукой Win98 нет, а выезжать домой к
 DS> какому-то кастомеру, ммм... можно конечно, но эту уже слишком
 DS> хлопотно.

Я бы из принципа съездил :) Интересно же.

Alex

--- IMHO в последней инстанции
 * Origin: ...можжевеловых... (2:461/640.640)
SEEN-BY: 50/12 400/814 450/159 1024 452/35 461/43 132 640 1024 469/999 4616/3
SEEN-BY: 4625/8 4641/444 5000/76 5000 5006/1 5007/1 5010/70 5011/13 5012/46
SEEN-BY: 5015/28 5019/26 5020/18 175 194 400 545 982 1057 1909 1922 2238 2395
SEEN-BY: 5020/2871 4441 5021/29 5025/3 5026/14 45 5027/12 5030/1080 1957
SEEN-BY: 5034/10 13 5035/38 5036/1 5045/7 5049/1 5051/12 15 5054/1 4 8 9 11 28
SEEN-BY: 5054/35 36 37 45 66 67 70 75 84 85 5059/9 5060/88 5061/15 5062/10
SEEN-BY: 5063/3 5064/7 5066/18 5075/5 5076/1 5077/70 5084/9 5085/13 5095/20
SEEN-BY: 5096/18 6001/10
PATH: 461/640 5020/400 545 5054/1 37