
Host_A versucht, Daten über TCP an Host_B zu senden. Host_B lauscht auf Port 4712. Host_A ist ein Remote-PC, der mit einem dedizierten WAN verbunden ist. Host_B ist ein lokales eingebettetes Gerät basierend auf dem embOS-Betriebssystem, das über ein Paar redundanter (HSRP) CISCO-Router mit dem WAN verbunden ist.
Wenn Host A versucht, eine TCP-Sitzung herzustellen, selbst über einen einfachen Telnet-Befehl, sendet Host B zunächst ein [ACK,SYN], gefolgt von einem [RST].
Host A (client) --> Host B (server) SYN
Host B (server) --> Host A (client) SYN-ACK
Host B (server) --> Host A (client) RST-ACK
Host A (client) --> Host B (server) ACK
Dies geschieht in etwa 8 von 10 Fällen. In den übrigen Fällen wird stattdessen die Sitzung geöffnet und das Protokoll gestartet.
Ich frage mich, unter welchen Umständen ein TCP-Listener [RST,ACK] sendet, nachdem er [SYN,ACK] als Antwort auf ein [SYN] gesendet hat?
Hinweis: Dies geschieht nur bei Verbindungen über redundante CISCO-Router (virtuelle MAC und virtuelle Gateway-IP), ansonsten funktioniert alles immer 100 % einwandfrei.