100% found this document useful (1 vote)
503 views5 pages

TCP Connection and Termination Process

TCP UDP

Uploaded by

BALARAMAN N
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
503 views5 pages

TCP Connection and Termination Process

TCP UDP

Uploaded by

BALARAMAN N
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

TCP Connection Management

TCP (Transmission Control Protocol) is a transmission protocol that ensures


data transmission in an ordered and secure manner. It sends and receives the
data packets in the same order. TCP is a four-layer protocol compared to OSI
(Open System Interconnection Model), which is a seven-layer transmission
process. It is recommended to transmit data from high-level protocols due to its
integrity and security between the server and client.

TCP needs a 4-way handshake for its termination. To establish a connection,


TCP needs a 3-way handshake. So, here we will discuss the detailed process of
TCP to build a 3-way handshake for connection and a 4-way handshake for
its termination. Here, we will discuss the following:

What is TCP?

Layers of TCP

TCP Connection (A 3-way handshake)

TCP Termination (A 4-way handshake)

What is TCP?

TCP is a connection-oriented protocol, which means that it first establishes the


connection between the sender and receiver in the form of a handshake. After
both the connections are verified, it begins transmitting packets. It makes the
transmission process error-free and ensures the delivery of data. It is an
important part of the communication protocols used to interconnect network
devices on the internet. The whole internet system relies on this network.

TCP is one of the most common protocols that ensure end-to-end delivery. It
guarantees the security and integrity of the data being transmitted. It always
establishes a secure connection between the sender and receiver. The transmitter
is the server, and the receiver is known as the client. We can also say that the
data transmission occurs between the server and client. Hence, TCP is used in
most of the high-level protocols, such as FTP (File Transfer
Protocol), HTTP (Hyper Text Transfer Protocol), and SMTP (Simple Mai
Transfer Protocol).

Layers of TCP
The data is then divided into packets, assigned to the address, transmitted,
routed, and received at the destination. The transmission process comprises four
layers, application layer, transport layer, internet layer, and data link layer.
The application layer performs the function similar to the top three layers
(application, presentation, and session) of the OSI model and control user-
interface specifications. The user interacts with the application layer of the TCP
model, such as messaging and email systems. The transport layer provides a
reliable and error-free data connection. It divides the data received from the
application layer into packets, which helps in creating ordered sequence.
The internet layer controls the routing of packet and ensures the delivery of a
packet at the destination. The data link layer performs the function similar to the
bottom two layers (data link and physical) of the OSI model. It is responsible
for transmitting the data between the applications or devices in the network.

Before proceeding towards the TCP termination, it is essential to understand the


concept of TCP connection. It will help us to better understand the termination
process.

TCP Connection (A 3-way handshake)

Handshake refers to the process to establish connection between the client and
server. Handshake is simply defined as the process to establish a
communication link. To transmit a packet, TCP needs a three way handshake
before it starts sending data. The reliable communication in TCP is termed
as PAR (Positive Acknowledgement Re-transmission). When a sender sends the
data to the receiver, it requires a positive acknowledgement from the receiver
confirming the arrival of data. If the acknowledgement has not reached the
sender, it needs to resend that data. The positive acknowledgement from the
receiver establishes a successful connection.

Here, the server is the server and client is the receiver. The above diagram
shows 3 steps for successful connection. A 3-way handshake is commonly
known as SYN-SYN-ACK and requires both the client and server response to
exchange the data. SYN means synchronize Sequence Number and ACK
means acknowledgment. Each step is a type of handshake between the sender
and the receiver.

The diagram of a successful TCP connection showing the three handshakes is


shown below:
The three handshakes are discussed in the below steps:

Step 1: SYN

SYN is a segment sent by the client to the server. It acts as a connection


request between the client and server. It informs the server that the client wants
to establish a connection. Synchronizing sequence numbers also helps
synchronize sequence numbers sent between any two devices, where the same
SYN segment asks for the sequence number with the connection request.

Step 2: SYN-ACK

It is an SYN-ACK segment or an SYN + ACK segment sent by the server. The


ACK segment informs the client that the server has received the connection
request and it is ready to build the connection. The SYN segment informs the
sequence number with which the server is ready to start with the segments.

Step 3: ACK

ACK (Acknowledgment) is the last step before establishing a successful TCP


connection between the client and server. The ACK segment is sent by the
client as the response of the received ACK and SN from the server. It results in
the establishment of a reliable data connection.

After these three steps, the client and server are ready for the data
communication process. TCP connection and termination are full-duplex, which
means that the data can travel in both the directions simultaneously.
TCP Termination (A 4-way handshake)

Any device establishes a connection before proceeding with the termination.


TCP requires 3-way handshake to establish a connection between the client and
server before sending the data. Similarly, to terminate or stop the data
transmission, it requires a 4-way handshake. The segments required for TCP
termination are similar to the segments to build a TCP connection (ACK and
SYN) except the FIN segment. The FIN segment specifies a termination request
sent by one device to the other.

The client is the data transmitter and the server is a receiver in a data
transmission process between the sender and receiver. Consider the below TCP
termination diagram that shows the exchange of segments between the client
and server.

The diagram of a successful TCP termination showing the four handshakes is


shown below:

Let's discuss the TCP termination process with the help of six steps that
includes the sent requests and the waiting states. The steps are as follows:

Step 1: FIN

FIN refers to the termination request sent by the client to the server. The first
FIN termination request is sent by the client to the server. It depicts the start of
the termination process between the client and server.

Step 2: FIN_ACK_WAIT

The client waits for the ACK of the FIN termination request from the server. It
is a waiting state for the client.
Step 3: ACK

The server sends the ACK (Acknowledgement) segment when it receives the
FIN termination request. It depicts that the server is ready to close and terminate
the connection.

Step 4: FIN _WAIT_2

The client waits for the FIN segment from the server. It is a type of approved
signal sent by the server that shows that the server is ready to terminate the
connection.

Step 5: FIN

The FIN segment is now sent by the server to the client. It is a confirmation
signal that the server sends to the client. It depicts the successful approval for
the termination.

Step 6: ACK

The client now sends the ACK (Acknowledgement) segment to the server that it
has received the FIN signal, which is a signal from the server to terminate the
connection. As soon as the server receives the ACK segment, it terminates the
connection.

Common questions

Powered by AI

TCP uses a 4-way handshake for termination to ensure that both ends of the connection acknowledge the closure of the data transfer process. The termination involves four segments: FIN, ACK, FIN, and ACK. The closing process begins with a FIN segment from one side to signal termination, followed by an ACK from the opposite side to acknowledge the FIN. Then another FIN is sent from the opposite side, followed by a final ACK from the initial sender, indicating both sides have agreed to terminate the connection. This process differs from connection establishment through the additional exchange of termination requests to ensure an orderly and reliable closure of the connection, whereas a 3-way handshake ensures synchronization of sequence numbers for connection establishment.

During the TCP 3-way handshake, synchronization of sequence numbers occurs through the exchange of SYN and ACK segments. In the first step, the client sends a SYN segment containing an initial sequence number (ISN) to the server. The server then responds with a SYN-ACK segment, which includes its own ISN and acknowledges the ISN received from the client. Finally, the client sends an ACK segment to acknowledge the server's ISN. This exchange allows both the client and server to know the starting points of each other's sequence numbers, thus enabling ordered and reliable packet delivery.

The 3-way handshake in TCP connection establishment is critical for ensuring reliable data communication. It involves three fundamental steps: the client sends a SYN segment to inform the server of a connection request, the server responds with a SYN-ACK segment to acknowledge the request and inform the client of its own sequence number, and finally, the client sends an ACK segment to confirm receipt of the server's response. This process ensures both parties are synchronized with sequence numbers and ready for data transmission. The handshake verifies that the connection is reliable and both ends are prepared for data exchange, minimizing the risks of lost messages.

If TCP did not include a multistep handshake process for connection establishment and termination, multiple challenges could arise. Without the 3-way handshake, connections could suffer from mismatched sequence numbers, leading to data loss and errors. Similarly, without a 4-way termination handshake, there would be a risk of premature connection closure, resulting in data packets being lost or arriving out of order. Both scenarios would drastically affect data integrity and reliability, which are core advantages of TCP. The handshake processes are critical for maintaining state consistency, coordinating communication endpoints, and ensuring robust, error-free transmission.

The TCP model consists of four layers: application, transport, internet, and data link, which differ from the seven layers of the OSI model. The application layer in TCP combines the functionalities of the OSI model's top three layers: application, presentation, and session. The transport layer in both models ensures reliable data transfer, but TCP is more focused on error checking and data sequencing. The internet layer of TCP is analogous to the network layer of the OSI model, managing routing of packets to their destination. Finally, the data link layer in TCP encompasses both the data link and physical layers of the OSI model, handling physical data transmission and addressing. These simplifications make TCP more streamlined compared to the relatively complex OSI model.

Positive Acknowledgement Re-transmission (PAR) in TCP is a critical mechanism that ensures reliable data transmission. When data is sent from the client to the server, the receiver must send back an acknowledgment (ACK) to confirm receipt. If the sender does not receive this acknowledgment within a specified time frame, it assumes the data was lost and retransmits the packet. This process continues until the sender receives the expected ACK, which guarantees data integrity and meets TCP's reliability requirements. PAR prevents data loss due to network issues and allows TCP to maintain end-to-end communication reliability.

The TCP termination process ensures data integrity and orderly closure through a 4-way handshake involving FIN and ACK segments. Initially, a FIN segment is sent to indicate the intention to terminate, prompting an ACK from the receiver acknowledging receipt. The receiver will send its own FIN to indicate readiness to close, finalized by an ACK from the original sender. This sequence ensures that all data has been received and acknowledged before closing the channel, preventing data loss or misordering. The handshake ensures both parties have completed data transmission and are ready to close the connection, maintaining the reliability standards set by TCP.

The transport layer in the TCP model plays a crucial role in ensuring reliable communication by creating an error-free environment for data transfer. It accomplishes this by breaking the data from the application layer into packets, providing sequence numbers to maintain packet order, and using acknowledgments to ensure that all packets are successfully delivered. The transport layer also facilitates retransmission in case of lost or errored packets, leveraging processes like Positive Acknowledgment Re-transmission (PAR). By coordinating these tasks, the transport layer ensures the reliability and efficiency of data transmission over the network.

The use of SYN-ACK during TCP connection establishment is vital to verify and acknowledge the reception of the client's SYN segment, indicating a request to establish a connection. It also conveys the server's own initial sequence number to the client. This step ensures that both the initiating client and the responding server are synchronized and ready to begin data exchange. In scenarios where initial communication needs to be confirmed in a reliable manner, such as secure web applications and financial transactions, SYN-ACK plays a crucial role in establishing a robust communication channel.

You might also like