Client: SYN packet sender – The client sends a SYN packet to the server via TCP. It tells the server where it wants to connect, and provides the initial sequence number.
Server – SYN packet receiver
SYN packet – The packet is carrying the header and data for the server. The header has information about the origin and destination IP addresses for the packet. The data is the payload of the packet.
Client – SYN/ACK packet receiver
Server: SYN/ACK packet sender – The server sends a SYN/ACK packet telling the client it got the request.
SYN/ACK packet – The SYN packet is acknowledged with the server’s Initial Sequence Number.
Client – Client responds with ACK, finishing the connection.
Agree – Both sides agree to the packet’s delivery.
Server – This completes the TCP three-way handshake. All systems are ready for the transfer.
Client: UDP packet sender – The client sends a packet to the server via UDP. UDP does not include SYN-ACK or handshake.
UDP packet – The packet is carrying the header and data for the server. The header has information about the origin and destination IP addresses for the packet. The data is the payload of the packet.
UDP packet receiver – Packet arrives at the server. There is no handshake.
TCP uses a three-way handshake to establish a reliable connection. The connection is full duplex, and both sides synchronize (SYN) and acknowledge (ACK) each other. The exchange of these four flags is performed in three steps: SYN, SYN-ACK, ACK.
A TCP or UDP port is a 16-bit number, meaning there are theoretically 65,535 possible values it can have.
A device that blocks traffic that meets certain criteria is know as a firewall.
The PSH flag is used to make the listening program respond immediately.
Ephemeral ports are identified as ports 49152 through 65535.