0% found this document useful (0 votes)
82 views

(TCP) Transmission Control Protocol (TCP) - Header, Definition - Javatpoint

TCP is a transport layer protocol that establishes a connection between endpoints before transmitting data to ensure reliable and ordered delivery. It divides data into packets, numbers them, and reassembles them at the destination. TCP provides features like reliability, ordered delivery, error checking, and flow control.

Uploaded by

Mkt Ray
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views

(TCP) Transmission Control Protocol (TCP) - Header, Definition - Javatpoint

TCP is a transport layer protocol that establishes a connection between endpoints before transmitting data to ensure reliable and ordered delivery. It divides data into packets, numbers them, and reassembles them at the destination. TCP provides features like reliability, ordered delivery, error checking, and flow control.

Uploaded by

Mkt Ray
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

What is Transmission Control

Protocol (TCP)?
TCP stands for Transmission Control Protocol. It is a transport
layer protocol that facilitates the transmission of packets from
source to destination. It is a connection-oriented protocol that
means it establishes the connection prior to the communication that
occurs between the computing devices in a network. This protocol is
used with an IP protocol, so together, they are referred to as a
TCP/IP.

The main functionality of the TCP is to take the data from the
application layer. Then it divides the data into a several packets,
provides numbering to these packets, and finally transmits these
packets to the destination. The TCP, on the other side, will
reassemble the packets and transmits them to the application layer.
As we know that TCP is a connection-oriented protocol, so the
connection will remain established until the communication is not
completed between the sender and the receiver.

Features of TCP protocol


The following are the features of a TCP protocol:

Transport Layer Protocol

TCP is a transport layer protocol as it is used in transmitting the data


from the sender to the receiver.

Reliable

TCP is a reliable protocol as it follows the flow and error control


mechanism. It also supports the acknowledgment mechanism, which
checks the state and sound arrival of the data. In the
acknowledgment mechanism, the receiver sends either positive or
negative acknowledgment to the sender so that the sender can get
to know whether the data packet has been received or needs to
resend.

Order of the data is maintained

This protocol ensures that the data reaches the intended receiver in
the same order in which it is sent. It orders and numbers each
segment so that the TCP layer on the destination side can
reassemble them based on their ordering.

Connection-oriented

It is a connection-oriented service that means the data exchange


occurs only after the connection establishment. When the data
transfer is completed, then the connection will get terminated.

Full duplex

It is a full-duplex means that the data can transfer in both directions


at the same time.

Stream-oriented

TCP is a stream-oriented protocol as it allows the sender to send the


data in the form of a stream of bytes and also allows the receiver to
accept the data in the form of a stream of bytes. TCP creates an
environment in which both the sender and receiver are connected by
an imaginary tube known as a virtual circuit. This virtual circuit
carries the stream of bytes across the internet.

Need for Transport Control Protocol


In the layered architecture of a network model, the whole task is
divided into smaller tasks. Each task is assigned to a particular layer
that processes the task. In the TCP/IP model, five layers are
application layer, transport layer, network layer, data link layer, and
physical layer. The transport layer has a critical role in providing end-
to-end communication to the directly application processes. It
creates 65,000 ports so that the multiple applications can be
accessed at the same time. It takes the data from the upper layer,
and it divides the data into smaller packets and then transmits them
to the network layer.

Working of TCP
In TCP, the connection is established by using three-way
handshaking. The client sends the segment with its sequence
number. The server, in return, sends its segment with its own
sequence number as well as the acknowledgement sequence, which
is one more than the client sequence number. When the client
receives the acknowledgment of its segment, then it sends the
acknowledgment to the server. In this way, the connection is
established between the client and the server.

Advantages of TCP
It provides a connection-oriented reliable service, which means
that it guarantees the delivery of data packets. If the data
packet is lost across the network, then the TCP will resend the
lost packets.
It provides a flow control mechanism using a sliding window
protocol.
It provides error detection by using checksum and error control
by using Go Back or ARP protocol.
It eliminates the congestion by using a network congestion
avoidance algorithm that includes various schemes such as
additive increase/multiplicative decrease (AIMD), slow start, and
congestion window.
Disadvantage of TCP
It increases a large amount of overhead as each segment gets its
own TCP header, so fragmentation by the router increases the
overhead.

TCP Header Format

Source port: It defines the port of the application, which is


sending the data. So, this field contains the source port
address, which is 16 bits.
Destination port: It defines the port of the application on the
receiving side. So, this field contains the destination port
address, which is 16 bits.
Sequence number: This field contains the sequence number of
data bytes in a particular session.
Acknowledgment number: When the ACK flag is set, then this
contains the next sequence number of the data byte and works
as an acknowledgment for the previous data received. For
example, if the receiver receives the segment number 'x', then it
responds 'x+1' as an acknowledgment number.
HLEN: It specifies the length of the header indicated by the 4-
byte words in the header. The size of the header lies between
20 and 60 bytes. Therefore, the value of this field would lie
between 5 and 15.
Reserved: It is a 4-bit field reserved for future use, and by
default, all are set to zero.
Flags
There are six control bits or flags:
1. URG: It represents an urgent pointer. If it is set, then the
data is processed urgently.
2. ACK: If the ACK is set to 0, then it means that the data
packet does not contain an acknowledgment.
3. PSH: If this field is set, then it requests the receiving device
to push the data to the receiving application without
buffering it.
4. RST: If it is set, then it requests to restart a connection.
5. SYN: It is used to establish a connection between the
hosts.
6. FIN: It is used to release a connection, and no further data
exchange will happen.

Window size
It is a 16-bit field. It contains the size of data that the receiver
can accept. This field is used for the flow control between the
sender and receiver and also determines the amount of buffer
allocated by the receiver for a segment. The value of this field is
determined by the receiver.
Checksum
It is a 16-bit field. This field is optional in UDP, but in the case of
TCP/IP, this field is mandatory.
Urgent pointer
It is a pointer that points to the urgent data byte if the URG flag
is set to 1. It defines a value that will be added to the sequence
number to get the sequence number of the last urgent byte.
Options
It provides additional options. The optional field is represented
in 32-bits. If this field contains the data less than 32-bit, then
padding is required to obtain the remaining bits.

Next TopicComputer Network Tutorial

You might also like