TCP connection established on localhost terminate by RST right after three-way handshake sometimes

Viewed 70

I use k3s + containerd to deploy my service. there are multi services running on a fat container which share the same network with host by set hostnetwork=true in the deployment definition. services on this container communicate with each other using HTTP. I found sometimes HTTP communication will be interrupt by strange RST right after connection established.

I want to know in which case will causing the first RST which interrupt the normal TCP connection ?

following are some tcp traffic captured

  1. TCP handshake success, then server received the HTTP request and try to send response to client after process, but a RST right after handshake cause client socket to be closed. wireshark packet captured
  2. TCP handshake success, and server have not received the HTTP request, there also a RST cause client closed after handshake. after 15mins, server try to close this connection because timeout wireshark packet captured
  3. TCP handshake success, and server have't received the HTTP request. there also a RST cause client closed after handshake. after about 100s, client with the same port which reset by RST try to connect server, server respond a ACK to previous connection which causing a client RST. wireshark packet captured

environments:

  • HOST OS: CENTOS7
  • CONTAINER OS: CENTOS7
  • server program: Python 2.7.5, eventlet 0.22.0
  • HTTP library: Python2.7 pycurl (libcurl 7.29.0) Error: Connection reset by peer
  • K3S (v1.23.3) + Containerd (1.5.9)
  • Kernel Version: 4.18.0
0 Answers
Related