Сообщение прислал : Vlad on September 28, 2004 at 14:41:06:
In Reply to: Re: BUG в TCP/IP стеке nsg-300 posted byPlatonov on September 27, 2004 at 21:57:56:
: : Давеча обнаружил BUG в tcp/ip стеке nsg:
: : Запускаем tcp ping на cisco и на nsg
: : x.x.x.5 - рабочая станция
: : x.x.x.1 - cisco
: : y.y.y.18 - nsg
: : 16:50:33.261701 IP x.x.x.5.47386 > x.x.x.1.65535: SWE 3005154410:3005154410(0) win 5840 : : : : Ошибка в том что nsg не увеличила "sequence number" на единицу, так этого требует стандарт : Как это в чем проблема? PS: Привет Инфокому
: : 16:50:33.263380 IP x.x.x.1.65535 > x.x.x.5.47386: R 0:0(0) ack 3005154411 win 0
: : 16:50:37.044750 IP x.x.x.5.49469 > y.y.y.18.65535: SWE 3004479167:3004479167(0) win 5840
: : 16:50:37.968871 IP y.y.y.18.65535 > x.x.x.5.49469: R 0:0(0) ack 3004479167 win 0
: : Тоже самое происходит, когда подключаемся к порту, на котором не висит ни один сервис.
: Спасибо, за внимательность, только, наверное, не "sequence number", а "acknowledgment number".
: Учтем в следующем релизе.
: Просто, при посылке RST в ответ на SYN без ACK
: забыл прибавить единичку, а вот в ответ на FIN без ACK незабыл.
: Но в чем проблема-то? Все равно по RST попытка соединения отвергается невзирая на "acknowledgment number".
Правильно работающий TCP/IP стек отвергает пакеты с неверным ack номером (Иначе была бы возможность рвать любые соединения).
Поэтому connect() подвисает до истечения таймаута. В следствии чего не работает TCP ping (и др)