Почему для очистки прослушивающего TCP-порта после завершения программы требуется несколько минут?

Если я убью программу, которая прослушивает порт TCP, это займет до нескольких минут, пока порт не будет восстановлен системой и не будет использоваться снова. Я видел несколько вопросов, упоминающих это явление, но без объяснений. Почему это происходит, почему система не сразу восстанавливает порт? Это также происходит в других системах, таких как Windows или Mac?

One Solution collect form web for “Почему для очистки прослушивающего TCP-порта после завершения программы требуется несколько минут?”

Идея этого заключается в том, чтобы гарантировать, что вы не получаете пакеты, предназначенные для предыдущей программы, прослушивающей этот порт. Это TIME_WAIT определено в RFC793 как два раза максимального времени жизни сегмента.

Я не знаю о других операционных системах, но я предполагаю, что все они имеют какое-то подобное поведение.

Обходной путь для этой проблемы – установить SO_REUSEADDR в сокет, который должен игнорировать TIME_WAIT .

  • Есть ли способ узнать, прослушивает ли процесс прослушивание через порт TCP сообщение?
  • Используя tc, я хочу, чтобы TCP и UDP использовали один и тот же буфер
  • TCP, UDP и т. Д., HTTP (S) не
  • Обертка для предотвращения доступа программы к нелокальным соединениям
  • Есть ли способ настроить TCP на потерю пакетов и повторную передачу?
  • Ограничение размера передачи для SCP, SFTP, RSYNC?
  • БЕЗ использования сетевых команд в Linux, как узнать список открытых портов и процесс, который им принадлежит?
  • Скрипт Socat exec в туннеле
  • Подключение к серверу на локальном хосте с одним и тем же исходным и конечным портами
  • Неверная сборка пакетов для правила dnat с использованием iptables
  • Измените адрес прослушивания на IPv4 с IPv6
  • Interesting Posts

    Извлечение архива путем компоновки содержимого архива в команду tar

    Как добавить команду

    Как я могу убить вредоносное ПО на сервере AWS EC2? (скомпрометированный сервер)

    Почему мой трафик не зашифрован при использовании pam_radius_auth?

    Отсутствие записей из файла сообщений

    Возможно ли возобновить источник .bashrc и .zshrc И удалить функции один раз внутри них без перезапуска?

    Как сохранить часть соответствия шаблону и использовать его для замены в BSD sed?

    Как подключиться к виртуальному / dev / ttyX с того же компьютера pts terminal?

    Что такое алгоритм, который использует команда `iw` для выбора точки доступа для данной сети Wi-Fi?

    du -sh в новом каталоге дает разные результаты в разных местах

    Депозитные инструменты Chromium не будут работать

    Установка устройства без разрешения на чтение

    Сравните два cdroms

    Настройка исполнения права на весь каталог – это хорошая или плохая идея?

    Разрешение запрещено при запуске скрипта через ssh

    Linux и Unix - лучшая ОС в мире.