Это то, что случилось:
клиент - отправить синхрон
сервер - отправить icmp (недостижимый хост [я также пытаюсь добавить код = 10]) ждать 100 мс отправить синхронное подтверждение
client - отправить подтверждение в ответ на синхронное подтверждение.
Dosnt клиент должен сбросить рукопожатие tcp, когда был отправлен icmp недоступного хоста? Есть ли способ заставить клиента сбросить соединение, отправив какой-то ICMP?
Тест проводился на двух машинах Ubunto, подключенных напрямую. В wirehark я вижу, что icmp был восстановлен перед синхронизацией, и соединение не было сброшено. Клиент запускает telnet (через порт 80) на сервер. На сервере запустите apache. Я моделирую icmp перед синхронизацией с помощью python scapy.
Спасибо
Да клиент должен прекратить попытки подключения ... но:
При этом описанная вами ситуация не только более распространена, чем должна быть, но и очень распространена.