What is TCP; where is it used in TR7?
Short answer
TCP (Transmission Control Protocol, RFC 9293) is the transport protocol that delivers data by establishing a connection, in order and without loss: the two ends first open a connection with the three-way handshake, lost segments are retransmitted and the data is delivered in the order it was sent. Most services, such as HTTP/1.1, HTTP/2, SSH, SMTP, LDAP and database connections, run over TCP. In TR7, TCP is selected or monitored in several places: HTTP and L7 TCP vServices accept the TCP connection on TR7; in a Network vService, TCP - L4 is selected as the Protocol; in health checks, the TCP type checks whether a connection to the port can be established; in Firewall rules, TCP is selected as the Protocol and a Destination Port is entered. The state of the open TCP connections is monitored on the vService Sessions screen and in the TCP panels on the Network tab of the home page.
Where It Is Used in TR7
| Where | Field / label | What for |
|---|---|---|
| vService type | HTTP, L7 TCP | Terminating the TCP connection on TR7 and processing the application traffic |
| Network vService form | Protocol = TCP - L4 | Balancing TCP at the IP and port level without terminating the connection |
| Load Balancer → Profiles → Health Checks | Check Type = TCP, TCPS | Checking whether a connection can be established to the server's port (and, optionally, the response with TCP scenario steps) |
| Network → Firewall → Add | Protocol = TCP → Destination Port | Applying the rule to TCP traffic and to specific ports |
| vService → Logs & Tracking → vService Sessions | The Status Code column (e.g. TCP_ESTABLISHED) | Monitoring the TCP state of the open connections |
| Home → Network tab | TCP Connection States, TCP Active Connections, TCP Connection Problems | Device-wide TCP connection counts and state distribution |
| The L4 DDoS Management screen of the route table | The TCP band (SYN flood, connection and flag rules) | Rules against TCP-based L4 attacks |
| WEB-CLI | sys-cmd ss (ss), sys-cmd telnet (telnet) | Listing the TCP sockets; testing the connection to a TCP port |
- The difference between L7 TCP and Network (TCP - L4): What is the difference between L7 TCP and Network (TCP - L4); aren't they both TCP?
- The difference between a TCP health check and an HTTP health check: What is the difference between a TCP port check and an HTTP check; which should I choose?
- The meaning of the connection states: What do TCP connection states (such as ESTABLISHED and TIME_WAIT) mean?
Common Misconceptions
- "TCP and HTTP are the same thing." HTTP/1.1 and HTTP/2 are application protocols carried over a TCP connection; HTTP/3, on the other hand, uses QUIC over UDP instead of TCP (What are HTTP/3 and QUIC?).
- "A TCP health check proves that the application is working." A TCP check with no scenario step defined shows only that the port accepts connections; it counts as successful even if the application returns an error.
- "L7 TCP is the same thing as TCP - L4." L7 TCP terminates the connection on TR7; TCP - L4 in a Network vService forwards the connection without terminating it.
How it is done in the documentation
Related questions
- Should I use an HTTP vService or an L7 TCP vService for my HTTPS site?
- What is the difference between L7 TCP and Network (TCP - L4); aren't they both TCP?
- What is the difference between a TCP port check and an HTTP check; which should I choose?
- Is it possible to reject or silently drop a connection at the TCP level (TCP Connection Management)?
