TCP сокет может находиться в состоянии TIME_WAIT в течение 2*MSL (Maximum Segment Lifetime), где MSL - это максимальное время жизни сегмента в сети. В общем случае значение MSL равно 1 минуте, что означает, что сокет может находиться в состоянии TIME_WAIT до 2 минут. Однако, значение MSL может быть разным в разных операционных системах и сетевых устройствах, поэтому фактическое время, в течение которого сокет находится в состоянии TIME_WAIT, может отличаться в зависимости от конкретной ситуации. По умолчанию значение MSL в ядре Linux равно 60 секундам. Вы можете проверить это значение в вашей системе, просмотрев файл /proc/sys/net/ipv4/tcp_fin_timeout ### tcp_tw_reuse Это параметр ядра Linux, который определяет, будет ли использоваться сокет в состоянии TIME_WAIT для новых соединений, когда в системе закончатся доступные порты. Когда клиент или сервер завершают соединение TCP, соответствующий сокет переходит в состояние TIME_WAIT на некоторое время, чтобы гарантировать, что все пакеты связанные с этим соединением будут доставлены и обработаны, а также чтобы предотвратить повторное использование тех же параметров соединения. По умолчанию, в ядре Linux, сокет в состоянии TIME_WAIT не может быть использован для установки нового соединения в течение определенного времени, которое задается параметром net.ipv4.tcp_fin_timeout. Однако, если параметр tcp_tw_reuse установлен в 1, то ядро позволит использовать сокет в состоянии TIME_WAIT для новых соединений при нехватке доступных портов.