Anton
Это просто реализации кипалайва
я просто демонстрировал как в кучу можно смешать людей, коней, мух и котлет
Сергей
Для получения служебной информации как раз и придумали протокол передачи служебной информации. Но в интернете предпочитают молчать и шафроваться
iҚØN🐾🐾
Ага ты еще скажи что rfc это стандарт
И нужно следовать MUST и SHOULD !!!
Anton
Ага ты еще скажи что rfc это стандарт
это черновик и часто ими и руководствуются
ㅤ
И нужно следовать MUST и SHOULD !!!
Так вон в википедии написано же что ICMP является неотъемлемой частью TCP. Я тут аж прихуел
ㅤ
Да? Ну и почему оно тогда работает без него?
Anton
в широком смысле как тцп/ип -- наш интернет
iҚØN🐾🐾
Да? Ну и почему оно тогда работает без него?
Может работать, а как ты собирашься получать состояние соединения?
Сергей
Да? Ну и почему оно тогда работает без него?
Это мутанты у них свои стандарты
iҚØN🐾🐾
Это в udp ты можешь сделать sendto() и наплевать на то, дошло или нет
Сергей
И? А для чего мне в tcp icmp?
Для обмена служебной информацией =)
iҚØN🐾🐾
Чтобы получать фидбек соединения
ㅤ
Для обмена служебной информацией =)
Зачем мне ей обмениваться?
Anton
какой фидбек?
ㅤ
Чтобы получать фидбек соединения
Если получил ACK - все ок. Если не получил втечении таймаута - его нет
Сергей
Зачем мне ей обмениваться?
Что бы на основании нее строить логику работы
Anton
там же тцп сам всё умеет
ㅤ
какой фидбек?
Ну типа жив ли хост, прослушивает ли такой порт
ㅤ
Что бы на основании нее строить логику работы
Прекрасно без него все работает
iҚØN🐾🐾
Правильно, если был бы icmp и порт закрыт - получил бы destination port unreachable и не было бы таймаута
iҚØN🐾🐾
Ну если возможно
ㅤ
Правильно, если был бы icmp и порт закрыт - получил бы destination port unreachable и не было бы таймаута
Ну понятно. И ? Че мне это дает кроме как лишней паузы в пару секунд?
SSR
А может кто-нибудь посоветовать книгу, чтобы с вами потом на одном языке говорить?
iҚØN🐾🐾
А так полинтернета наверное бы просто тупило)
iҚØN🐾🐾
Ну понятно. И ? Че мне это дает кроме как лишней паузы в пару секунд?
Пара секунд на тупеж может сыграть злую шутку
ㅤ
А так полинтернета наверное бы просто тупило)
Ну сервера чаще отвечают, пограничные маршрутизаторы чаще отвечают. А клиент то с хуяли обязан отвечать на icmp
iҚØN🐾🐾
Не, погоди. Отвечать на icmp - это чистый icmp
iҚØN🐾🐾
А мы говорим в контексте tcp
ㅤ
Понятно что скажем без icmp destination origin unreachable ты бы висел долго. Но опять же как он является неотъемлемым
iҚØN🐾🐾
Общепринятые условия
ㅤ
А бля! Вспомнил в какой ситуации без icmp можно обосраться!
ㅤ
Это код 4 "fragmentation required"
Сергей
Ну сервера чаще отвечают, пограничные маршрутизаторы чаще отвечают. А клиент то с хуяли обязан отвечать на icmp
Потому что он реализует протокол IP. клиент сервер это уже другой протокол TCP UDP....
iҚØN🐾🐾
Это код 4 "fragmentation required"
Да там куча других приколов, когда он нужен)
Evgen
А может кто-нибудь посоветовать книгу, чтобы с вами потом на одном языке говорить?
Tcp/IP для погромистов... Чего-то в таком духе. Или тысипи протокол для чайников в линуксе
iҚØN🐾🐾
Ну или флаги DF, когда фрагментированные
iҚØN🐾🐾
Я с этим тоже долго имелся в одном месте)
ㅤ
Да там куча других приколов, когда он нужен)
Ладно мы вышли уже за рамки контекста вопроса. Давайте вернеся к базовому вопросу когда человек собрался определять мертвую tcp сессию с помощью icmp. Как он собирается это делать я так и не понял
iҚØN🐾🐾
Честно говоря, я тоже не понимаю, как это поможет.
Николай
Чет я не понял. Срач-то про что. Я когда -то давно ажно под виндой поднимал клиент-сервер с нуля для обмена данными. Протокол - TCP. Механизм детектирования у меня был свой . ICMP у меня не было.
iҚØN🐾🐾
Определить порт открыт или нет - можно. Только и всего.
ㅤ
Определить порт открыт или нет - можно. Только и всего.
Это можно сделать и без icmp. Тебе tcpm RST пакет пришлет просто
ㅤ
А если там машина молчит как рыба, то icmp она тебе тоже не отправит
ㅤ
icmp может быть еще хорош для отправки удп пакетов, тут icmp может помочь узнать что udp порт недоступен. Но опять же чаще оно закрыто чем открыто
iҚØN🐾🐾
Это можно сделать и без icmp. Тебе tcpm RST пакет пришлет просто
При условии, что та сторона не будет обрезать icmp (как ты говоришь, "зачем это нужно"?)
ㅤ
При условии, что та сторона не будет обрезать icmp (как ты говоришь, "зачем это нужно"?)
Так я и сказал. Если она и ресет не ответит, то и icmp не пришлет
ㅤ
Если молчать то по полной)
iҚØN🐾🐾
Ага
ㅤ
А я кстати прозевал тот самый момент в каком году это все началось когда файрволы стали по дефолту молчунами?
iҚØN🐾🐾
Поди когда Майкрософт задедосили icmp ;)
ㅤ
Поди когда Майкрософт задедосили icmp ;)
Ой а помнишь 95-ой был icmp нюка?
iҚØN🐾🐾
Да помню конечно, там в синий экран падало)
ㅤ
Там драйвер дох от специально сформированного пакета или тупо большого не помню уже
iҚØN🐾🐾
Да и 98я и даже 2000я падала
Сергей
на 95й вообще небыло tcp/ip и появилось только с 5м сервис паком
ㅤ
Да и 98я и даже 2000я падала
Двух тонник вряд-ли. Он на нт ядре же. А вот 95/98/линолиум вполне
Сергей
на 95й был только x- подключение
ㅤ
Он был еще и до винды95 в lan manager
ㅤ
В 95-ом надо было просто найти в настройки и добавить его вручную
Сергей
для этого вроде нужен был сторонний драйвер от производителя железа
ㅤ
Причем тут tcp стек и железо?
ㅤ
У тебя че-то все перемешалось сегодня
ㅤ
icmp с вебом. tcp стек с драйвером от вендора
ㅤ
Драйвер нужен для NDIS стека. Или как оно раньше в 95-ом называлось. А вот айпи стек уже работает поверх него.
Сергей
_ Ну и как итог по вопросу - "как узнать о разрыве подключения через интернет?" Никак если маршрутизаторы молчуны. Придется принимать решение на основе косвенных данных (долгое молчание). Если работает icmp то информация а потере подключения должно приходить автоматически.
Anton
Ты бот что ли?
ㅤ
Поделись лучше контактом поставщика. Я тоже такую штуку хочу
Сергей
Это талант данный природой
Сергей