TCP packet out of state
Alert Headline: TCP packets dropped due to “out of state” error Description: Some TCP packets, and therefore connections, are being dropped due…
Read moreTransmission Control Protocol (TCP) is a transport layer network protocol defined in RFC 9293 that provides reliable, ordered, error-checked delivery of byte streams between applications on IP hosts through a three-way handshake, byte numbering, and automatic retransmission of lost data. TCP forms the foundation of enterprise application traffic including web, email, and database sessions, as well as critical network services like DNS zone transfers and large DNS responses that UDP cannot accommodate. Organizations must properly manage TCP connections and firewall rules to avoid intermittent failures, such as DNS resolution issues when only UDP port 53 is permitted, and must understand that TCP connection state exhaustion forms the basis of SYN flood attacks that require defenses like SYN cookies and rate limiting.
TCP gives applications a reliable byte stream on top of IP, which delivers packets without guaranteeing arrival or order. It does this by establishing a connection and tracking every byte sent.
A checksum in each segment lets the receiver detect corruption. TCP carries a stream of bytes with no message boundaries, so applications must frame their own messages. Because of the handshake and acknowledgments, TCP adds latency and per-connection state compared with UDP.
Many people assume DNS never uses TCP. RFC 7766 requires DNS implementations to support TCP, and it is used for truncated responses, zone transfers and large answers. A firewall that allows only UDP port 53 can cause intermittent failures for large responses.
TCP/IP is a family of protocols, not one protocol. IP handles addressing and routing of packets, while TCP adds reliability on top of IP. Other transports, such as UDP, also run over IP.
DHCP address assignment runs over UDP ports 67 and 68, not TCP. Opening a TCP port for DHCP clients does not fix lease failures; check UDP reachability and relay configuration instead.
TCP guarantees delivery, not low latency. Packet loss triggers retransmission and congestion control, which can reduce throughput and add delay, so a reliable session over a lossy link can still feel slow.
A successful TCP handshake only shows that something is listening and the path allows the connection. The application behind the port can still be failing, so a handshake test does not prove the service responds correctly.