netstat/ss показывает дублированные исходящие сокеты time_wait

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

    # ss -nt state time-wait sport ne :80 and sport ne :10050 | sort -k3 
    0      0                      127.0.0.1:13530                 127.0.0.1:8888
    0      0                      127.0.0.1:21978                 127.0.0.1:8080
    0      0                      127.0.0.1:32490                 127.0.0.1:8080
    0      0                      127.0.0.1:42922                 127.0.0.1:8080
    0      0                      127.0.0.1:50728                 127.0.0.1:8080
    0      0                      127.0.0.1:51542                 127.0.0.1:8888
    0      0                      127.0.0.1:6274                  127.0.0.1:8888
    0      0                      127.0.0.1:65264                 127.0.0.1:8888
    0      0                  172.16.40.100:10000               172.16.40.5:3010
    0      0                  172.16.40.100:10002              172.16.40.34:3010
    0      0                  172.16.40.100:10002              172.16.40.97:3020
    0      0                  172.16.40.100:10004             172.16.40.116:3010
    0      0                  172.16.40.100:10004              172.16.40.21:3010
    0      0                  172.16.40.100:10008              172.16.40.30:3010
    0      0                  172.16.40.100:10010             172.16.40.216:3020
    0      0                  172.16.40.100:10012              172.16.40.30:3010
    0      0                  172.16.40.100:10014             172.16.40.131:3010
    0      0                  172.16.40.100:10014              172.16.40.22:3010
    0      0                  172.16.40.100:10014              172.16.40.33:3010

Это часть вывода ss. Как видите, есть несколько строк с дублированными исходящими сокетами time_wait. Такие как:

    0      0                  172.16.40.100:10002              172.16.40.34:3010
    0      0                  172.16.40.100:10002              172.16.40.97:3020

или же

    0      0                  172.16.40.100:10014             172.16.40.131:3010
    0      0                  172.16.40.100:10014              172.16.40.22:3010
    0      0                  172.16.40.100:10014              172.16.40.33:3010

Я погуглил этот вопрос, но не смог получить разумного объяснения этой темы.

Большое спасибо!

1 ответ

Как видите, есть несколько строк с дублированными исходящими сокетами time_wait. Такие как:

0      0                  172.16.40.100:10002              172.16.40.34:3010
0      0                  172.16.40.100:10002              172.16.40.97:3020

или же

0      0                  172.16.40.100:10014             172.16.40.131:3010
0      0                  172.16.40.100:10014              172.16.40.22:3010
0      0                  172.16.40.100:10014              172.16.40.33:3010

Строки на этом дисплее являются соединениями, а не розетками. Здесь ровно ноль "дублированных сокетов". Есть дублированный порт, потому что на стороне сервера порт всегда один и тот же. Однако либо IP-адрес клиента, либо клиентский порт всегда различаются. Или оба.

Другие вопросы по тегам