Вот документаированная схема установи соединения TCP
TCP A . TCP B
1. CLOSED . LISTEN
2. SYN-SENT --> <SEQ=100><CTL=SYN> --> SYN-RECEIVED
3. ESTABLISHED <-- <SEQ=300><ACK=101><CTL=SYN,ACK> <-- SYN-RECEIVED
4. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK> --> ESTABLISHED
5. ESTABLISHED --> <SEQ=101><ACK=301><CTL=ACK><DATA> --> ESTABLISHED
Но я посмотрел сниффером (в Windows): на этапе 3. ACK=100 (равен значению SEQ из этапа 2 ), а не 101 как здесь описано ,- при этом соединения нормально устанавливается. Скажите, не нужно увеличивать ACK на единицу , документация которую я смотрю неверна ?
должен быть 10112.04.09 20:01 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
1.
Оказался глюк сниффера (iris 4.0.5 (или крякнут он косо)) ,- он в декодоре только половину значения sn и an выводит, а стал готовить к посту пакеты, внимательно посмотрел - там все нормально.
2. У меня еще вопрос назрел: а контрольную сумму TCP обязательно расчитывать, там можно ноль писать ?
Есть в винде возможность (функции какие) посмотреть какие пакеты она не довела до сокета (и по каким причинам отсеяла) ?
Кстати, а в Винде (Xp SP3) и Висте ошибка в расчете...13.04.09 20:55 Автор: Ogr10 Статус: Незарегистрированный пользователь
Кстати, а в Винде (Xp SP3) и Висте ошибка в расчете контрольной суммы для TCP заголовка что-ли ? Я двумя сниферами смотрел: (Iris 4.0.5 и КоммВьювер) там и при установке соединения (третий этап тройного "рукопожатия") и при передаче некоторых пакетов неправлиьно расчитывается контрольная сумма. А ведь все работает. .. Как работает или у меня что-то глючит ?
CRC error in dump14.04.09 23:41 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
Многие сетевухи умеют сами считать TCP чексум на чипе. Таким образом разгружается CPU для более интеллектуальных операций. Но сниффер запущеный на такой машине не увидит пакет с правильной суммой и будет кричать: АЛЕРТ!!!111АДИНАДИН
Кстати, да. Назывется Checksum Offloading. Для нужд "прослушки" можно включать/выключать в адвансед пропертях сетевухи.15.04.09 04:51 Автор: amirul <Serge> Статус: The Elderman