У нас есть приложение под названием «Seamer», установленное на машине 2008R2 с именем «R2DUO», для которого IP-адрес установлен как 192.61.247.37 в файле хоста, а 172.26.127.40 - это IP-адрес карты Ethernet. У нас есть еще две системы в локальной сети с именем R2TMBER и R2LEAF. Одна функциональность должна быть достигнута, когда есть соединение с портом 5009. На данный момент эта функциональность не достигается, когда я проверил netstat -a, я мог видеть эти записи,
TCP 0.0.0.0:5009 R2DUO:0 LISTENING
TCP 127.0.0.1:445 R2DUO:64181 ESTABLISHED
TCP 127.0.0.1:5009 R2DUO:49519 ESTABLISHED
TCP 127.0.0.1:49156 R2DUO:5009 TIME_WAIT around 50 entries are there now
TCP 127.0.0.1:49519 R2DUO:5009 ESTABLISHED
TCP 127.0.0.1:64181 R2DUO:microsoft-ds ESTABLISHED
TCP 127.0.0.1:65190 R2DUO:5009 TIME_WAIT again 50 entries are there
TCP 172.26.127.42:5009 R2DUO:64445 ESTABLISHED
TCP 172.26.127.42:64445 R2DUO:5009 ESTABLISHED
TCP 192.61.247.37:5009 R2TMBER:50334 ESTABLISHED
TCP 192.61.247.37:61552 R2LEAF:5009 ESTABLISHED
Это все знания, которые я знаю на данный момент, сначала 5009 в режиме прослушивания, затем он устанавливает соединение. Но после этого внезапно происходит TIME_WAIT, затем устанавливается соединение и снова идет timewait, наконец, он устанавливает соединение с двумя другими системами в LAN. Может ли кто-нибудь указать мне что-то не так в настройке системы или мне нужно проверить какие-либо вещи, связанные с сетью. Я хотел бы знать логику этой последовательности в netstat, показанном ниже. Сначала это будет 0.0.0.0:portnumber, затем будет 127.0.0.1 (loopback): portnumber, затем это ethernetIp: portnumber, наконец, это будет с IP-адресом введенной системы в файле хоста и на двух других машинах и т. д.
Обновление на основе комментария; Убедитесь, что служба не конфликтует с какой-либо базовой службой MS;
Реестр имени службы и номера порта транспортного протокола
winfs 5009 tcp Microsoft Windows Filesystem [Simon_Skaria] 2006-01
winfs 5009 udp Microsoft Windows Filesystem [Simon_Skaria] 2006-01
Думаю, вам будет интересно прочитать статью в Википедии о TCP соединение рукопожатие и жизненный цикл соединения, если вы очень заинтересованы в понимании информации netstat. Кроме того, вы упомянули состояние соединения, которое относится к программированию сокетов TCP, но на самом деле вы можете игнорировать все это, потому что на самом деле это довольно просто. (хорошо...;-)
Когда ты звонишь netstat -a
вы запрашиваете ВСЕ соединения, как прослушивающие, так и подключенные.
В основном LISTENING
строка указывает, что какой-то процесс прослушивает TCP-порт 5009, что хорошо, потому что это ваше приложение ...
TCP 0.0.0.0:5009 R2DUO:0 LISTENING
Однако, когда какой-то удаленный процесс устанавливает соединение с TCP-сокетом 5009, программа, управляющая 5009, обычно разветвляет другой процесс или поток для обработки соединения, поэтому вы фактически получаете netstat -a
как это;
TCP 0.0.0.0:5009 R2DUO:0 LISTENING
TCP 127.0.0.1:5009 R2DUO:49519 ESTABLISHED
который является исходным слушателем, плюс подключенный удаленный процесс. т.е. это ваша клиентская программа, подключающаяся к серверу.
Дальнейшие соединения создают дополнительные линии вроде этого;
TCP 0.0.0.0:5009 R2DUO:0 LISTENING
TCP 127.0.0.1:5009 R2DUO:49519 ESTABLISHED
TCP 127.0.0.1:5009 XXX:NNN ESTABLISHED
TCP 127.0.0.1:5009 YYY:NNN ESTABLISHED
ВРЕМЯ ЖДЕТ
В этом ответе есть довольно хорошее объяснение состояния TIME_WAIT;
https://stackoverflow.com/questions/337115/setting-time-wait-tcp
TCP 127.0.0.1:65190 R2DUO:5009 TIME_WAIT
TCP 127.0.0.1:NNNN YYYTO:5009 TIME_WAIT
TCP 127.0.0.1:NNNN RXXXO:5009 TIME_WAIT
TCP 127.0.0.1:NNNN XXTXX:5009 TIME_WAIT
...many more...
TIME_WAIT - это состояние, которое возникает в конце соединения на стороне клиента, когда клиент активно закрыл соединение, отправив ACK в FIN, но, насколько возможно, пакеты все еще идут с другой стороны соединения. , следовательно, клиентское соединение находится в состоянии TIME_WAIT, которое всегда длиннее, чем TTL пакета, см. этот и который для очень подробного обсуждения статуса TCP TIME_WAIT.
Порт 5009, по-видимому, зарегистрирован службой файловой системы Microsoft Windows (winfs), поэтому вам нужно будет предоставить дополнительные сведения о ваших службах и настройке, а также о том, в чем проблема, кроме той, что вы видели в выводе netstat.
Нагрузка подключений: TIME_WAIT
TCP 127.0.0.1:65190 R2DUO:5009 TIME_WAIT
TCP 127.0.0.1:NNNN YYYTO:5009 TIME_WAIT
TCP 127.0.0.1:NNNN RXXXO:5009 TIME_WAIT
TCP 127.0.0.1:NNNN XXTXX:5009 TIME_WAIT
...many more...
По сути, ваш клиент подключается, а затем сразу же отключается, много раз, поэтому что-то более раннее в приложении, такое как проверка подлинности или несоответствие протокола приложения, или что-то, не связанное с базовым TCP.
Я думаю, это говорит о том, что есть некоторая проблема с конфигурацией, так что клиент не может продолжить работу после подключения, поэтому клиент закрывает соединение с сервером. В результате много быстро закрывающихся соединений. следовательно, вы видите, что это TIME_WAIT
Некоторые возможности для этого - проблема с паролем между клиентом и сервером или некоторая неправильная конфигурация приложения, которая может вызвать внезапное закрытие со стороны клиента.