Ask Your Question

Revision history [back]

Problem with TCP handshake

Hi Everyone.

please see below info from wireshark (I can't add a screen, sorry). This is communication beetween PLC and kepware server. The configuration is such that when an external client needs data from the PLC, it sends a request to the server. The server queries the PLC and forwards the requested data to the client. The client does not have direct access to the PLC. Few times per day we have problem with frozen ports, and on this info below you can see the reason. Please help with interpretation and possible reasons. As you can see, server started handshake to finish transmission, didn't get respond from host. Why it started new transmission with different port ? It's possible, that server got question from another client and start new transmission without ending previous session? Shouldn't it retransmit the packet instead of starting a new session? In new session it changed port and everything fell apart. What can cause such errors?

Serwer PLC TCP 64 56948 → 8090 [FIN, ACK] Seq=101 Ack=1570 Win=64227 Len=0

Serwer PLC TCP 70 56959 → 8090 [SYN, ECE, CWR] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM 58413 58:54,1

PLC Serwer TCP 64 8090 → 56959 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0 58414 58:54,1

PLC Serwer TCP 64 [TCP Previous segment not captured] 8090 → 56948 [FIN, ACK] Seq=1571 Ack=102 Win=4096 Len=0 58415 58:54,1

Serwer PLC TCP 64 [TCP Dup ACK 58410#1] 56948 → 8090 [ACK] Seq=102 Ack=1570 Win=64227 Len=0 58416 58:54,1

PLC Serwer TCP 64 8090 → 56948 [FIN, ACK] Seq=1572 Ack=102 Win=4096 Len=0

Problem with TCP handshake

Hi Everyone.

please see below info from wireshark (I can't add a screen, sorry). This is communication beetween PLC and kepware server. The configuration is such that when an external client needs data from the PLC, it sends a request to the server. The server queries the PLC and forwards the requested data to the client. The client does not have direct access to the PLC. Few times per day we have problem with frozen ports, and on this info below you can see the reason. Please help with interpretation and possible reasons. As you can see, server started handshake to finish transmission, didn't get respond from host. Why it started new transmission with different port ? It's possible, that server got question from another client and start new transmission without ending previous session? Shouldn't it retransmit the packet instead of starting a new session? In new session it changed port and everything fell apart. What can cause such errors?

Serwer PLC TCP 64 56948

Serwer  PLC TCP 64  **56948** → 8090 [FIN, ACK] Seq=101 Ack=1570 Win=64227 Len=0

Len=0 Serwer PLC TCP 70 56959 **56959** → 8090 [SYN, ECE, CWR] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM 58413 58:54,1

PLC Serwer TCP 64 8090 → 56959 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0 58414 58:54,1

PLC Serwer TCP 64 [TCP Previous segment not captured] 8090 → 56948 [FIN, ACK] Seq=1571 Ack=102 Win=4096 Len=0 58415 58:54,1

Serwer PLC TCP 64 [TCP Dup ACK 58410#1] 56948 → 8090 [ACK] Seq=102 Ack=1570 Win=64227 Len=0 58416 58:54,1

PLC Serwer TCP 64 8090 → 56948 [FIN, ACK] Seq=1572 Ack=102 Win=4096 Len=0

Len=0