Wenn auf einem Windows-Server mehrere tausend Ports geöffnet sind LAST_ACK
(wie von netstat angezeigt), was könnte dies bedeuten? Liegt es daran, dass ein Endpunkt darauf wartet, dass der andere antwortet?
Wenn auf einem Windows-Server mehrere tausend Ports geöffnet sind LAST_ACK
(wie von netstat angezeigt), was könnte dies bedeuten? Liegt es daran, dass ein Endpunkt darauf wartet, dass der andere antwortet?
Antworten:
Der Status last_ack (wenn ich mich richtig an meinen TCP-Stack erinnere) ist der Status, in dem Sie Ihre FIN-Nachricht erhalten haben, um die Verbindung von Ihrem Nachbarn zu trennen, aber Sie müssen Ihre Verbindung noch spülen und beenden. Sie senden die finale FIN selbst und warten auf eine ACK.
In der Regel hängt last_ack, was bedeutet, dass Ihre Anwendung einen Socket offen hält, auch wenn das andere Ende das Senden von Daten beendet hat. Dies kann mehrere Gründe haben. Möglicherweise ist eine Firewall oder ein anderer Load Balancer vorhanden, der die letzte ACK vom Client verliert und Sie im Status last_ack festhält. Wenn das Zeitlimit für die Verbindungen nach einigen Minuten (ca. 10 Minuten) nicht überschritten wird, liegt wahrscheinlich ein Fehler vor.
Schauen Sie sich das Zustandsdiagramm unter http://tangentsoft.net/wskfaq/articles/debugging-tcp.html an
LAST_ACK ist der letzte Status direkt vor dem Beenden der TCP-Verbindung.
LAST_ACK bedeutet, dass Ihr End eine FIN vom Peer erhalten, eine ACK gesendet und eine FIN gesendet hat und auf die endgültige ACK vom Peer wartet. Zu diesem Zeitpunkt kann die Anwendung nichts weiter tun: Der Socket ist geschlossen. Möglicherweise wurde die Anwendung sogar beendet. Von hier an ist es Sache von TCP, das FIN erneut zu senden, bis es die endgültige Bestätigung erhält, oder es tritt eine Zeitüberschreitung auf. Sie können als Administrator nicht viel tun, außer das Netzwerk zu untersuchen.
Ich glaube, dass @lmo zu Recht sagt, dass es "der letzte Zustand unmittelbar vor dem Beenden der TCP-Verbindung" ist, aber darüber hinaus ist es, basierend auf meiner Lektüre der Wikipedia-Seite, erwähnenswert, dass dies nicht Teil der " "Active Close" -Mechanismus, der (nach meinem Verständnis) das Ende der am besten benommenen Verbindungen darstellt, aber eher Teil der "Passive Close" -Sequenz ist, die vermutlich mit "Bad Stuff Happening" in Verbindung gebracht wird.
(FWIW, ich bin Sprachen, keine Netzwerke. Ich würde mich über eine Klärung durch eine Netzwerkperson freuen.)