|Administrator Handbook||Table of contents|
The TCP protocol is used by a large majority of client/server applications like the millions of Internet Web servers.
TCP stands for Transmission Control Protocol and works on the transport network IP (Internet Protocol).
TCP is used to exchange data reliably through mechanisms of sequence and acknowledgment, error detection, error recovery. The performance and memory management of reception are controlled by a system of workflow management.
TCP is a connection-oriented protocol, a formal relationship (handshake) is established before exchanging data. The system that initiates the connection is considered as the client in the TCP terminology while the system that accepts this connection is considered as the server.
Two systems can establish connections to one another and simultaneously, in this case they are both server and client. The client and server exchange units of information called "TCP segments, the segments being composed of a header and a data area.
TCP is described in RFC 793.
Principle of establishing a TCP connection, the state diagram
Here are the steps of connecting and libration of a TCP connection.
The client application opens a connection to the server by sending a TCP segment which only the header is present (no data). This header contains a flag SYN stands for "Synchronize" and the TCP port number the server (application). The client is in SYN_SENT state (SYN sent).
Principle termination of a TCP connection state diagram
The termination of a TCP connection requires four exchanges of TCP segments.
All segments exchanged between client and server are numbered sequentially. The sequence number is an integer of 32 bits. Each side of the connection initiates and maintains the sequence of segments sent.
The header segment always contains two fields, one for the sequence number of the sent segment and one for the sequence number of the acknowledged segment . The sequence number of the acknowledged segment is actually the number of the next segment expected. In other words the acquittal as "waiting segment number 10 on your part" means that the 9 was received correctly.
The tests performed LoriotPro within its various modules to check TCP connection and measure TCP response time are based mainly on the time between the request from the client (initial segment SIN) and the server acknowledgement by SIN/ACK.
LoriotPro incorporates a system of interrogation (polling) and measuring response time to establish a TCP connection. On each host in the directory one or more polling at 1 or more TCP implementation (TCP) may be added. Consult the documentation for auditing Advanced TCP implementation. This module allows you to send an event if non-response and achieves a grahique response times for the last 100 measurements.
It is also possible to have graphical trend of TCP connection with module RRD Collector and the option of collecting by LUA script. A measurement module by LUA is available and can be used within the module RRD Collector to display grahique trend in response times of TCP connections.