TCP : Active & Passive Connection
TCP is a connection-oriented protocol. It means that the involved machines must create a connection before exchanging data. Opening a TCP connection includes exchanging control messages between the machine that starts and the machine that waits for a communication.
First, the client sends an SYN message to the server. Then, if the server is available, it responds to the client with an SYN-ACK. Thus, the client confirms the SYN-ACK by sending an ACK to the server. Finally, the connection is established, and the machines can exchange data.
Potential Connection Problems : These problems are mostly related to errors during the transmission of SYN and ACK messages.
Failed Connection Attempts: this problem happens when a socket sending or receiving an SYN packet goes to an uncommon state during the connection.
Bad Segments Received: this problem occurs in several situations when requests are corrupted or spoofed.