2. Transmission Control Protocol.
TCP is called a connection oriented , reliable transport protocol. It creates
a virtual connection between two TCPs to send data.
The TCP protocols were initially developed as part of the research network
developed by the United States Defense Advanced Research Projects
Agency(DARPA or ARPA).
Initially, this fledgling network, called the Arpanet, was designed to use a
number of protocols that had been adapted from existing technologies.
It is a process to process protocol. It uses port numbers. In addition, TCP
uses flow and error control mechanism at the transport level.
It adds connection-oriented and reliability features to the services of IP.
3. TCP Services.
Services offered by TCP are.
I. Stream Delivery Services
II. Connection oriented service.
III. Reliable service.
4. Stream Delivery Service.
TCP is a stream oriented protocol. It allows the sending process to deliver the
data as a stream of bytes.
And allows the receiving process to obtain data as a stream of bytes. The
sending process produces the stream of bytes and the receiving process
consumes them.
5. Connection Oriented Service.
TCP is a connection oriented protocol.
When a process at site “A “ wants to send and receive data from another
process at site “B”, the following thing occurs:
1. The two TCPs establish a connection between them.
2. Data are exchanged in both direction.
3. The connection is terminated.
6. Reliable Service.
TCP is a reliable service transport protocol.
It uses an acknowledgement mechanism to check the safe and sound
arrival of data.
7. TCP Features.
TCP has a several Features which are mentioned below.
• Numbering system.
• Byte number.
• Sequence number.
• Acknowledgment number.
• Flow control.
• Error control.
• Congestion control.
8. Numbering System.
TCP keeps a track of the segments being transmitted or received, there is
no field for segment number value in the segment header.
Instead there are two fields called sequence number and acknowledgment
number.
These two fields refer to the byte number and not the segment number.
9. Byte Number.
TCP numbers all data bytes that are transmitted in a connection. Numbering
in each direction.
When TCP receives bytes of data from a process, its stores them in sending
buffer and numbers them.
The number does not necessarily start from “0”. It can be any random
number.
In short we can say the bytes of data being transferred in each connection
are numbered by TCP. The numbering is used for flow and control.
10. Sequence Number.
After the bytes have been numbered , TCP assigns a sequence number to
each segment that is being sent.
The sequence number for each segment is the number of the first byte
carried in that segment.
The value in the sequence number field of a segment defines the number of
the first data byte contained in that segment.
11. Acknowledgment Number.
Acknowledgment number defines the number of next byte that party
expect to receive.
In addition, the acknowledgment number is cumulative.
Which means that the party takes the number of last byte that it has
received safe and sounds add 1 to it, and announces the sum as an
acknowledgement number.
12. Flow control.
TCP provides the flow control. The receiver of the data controls the amount
of data that are to be sent by the sender.
This is done to prevent the receiver from being overwhelmed with data.
The numbering system allows TCP to use a byte oriented flow control.
13. Error Control.
To provide reliable service, TCP implements an error control mechanism.
Although error control consider a segment as the unit of data for error
detection, error control is byte oriented,.
Error detection and correction in TCP is achieved through the use of three
simple methods.
Checksum.
Acknowledgment.
Time out.
14. Congestion Control.
TCP takes into account congestion in the network.
The amount of data send by the sender is not only controlled by the
receiver, but is also determined by the level of congestion in the network.
15. TCP connection.
A connection oriented protocol establishes connection between virtual
path between source and destination. All segment belonging to the
message are sent over this virtual path.
TCP connection are virtual , not physical. It operates at higher level.
It use the services of IP to deliver individual segment to the receiver, but it
controls the connection itself.
If a segment is lost or corrupted, it retransmits. Unlike TCP, IP is unaware of
this transmission.
If a segment arrives out of order, TCP holds it until the missing segments
arrive; IP is unaware of this recording.
In TCP, connection-oriented transmission requires three phases: connection
establishment, data transfer, and connection termination.
16. Connection Establishment.
TCP transmits data in full duplex mode. When two TCPs in two machines are
connected, they are able to send segments to each other simultaneously.
This implies that each party must initialize communication and get approval
from the other party before any data are transferred.
This connection establishment in TCP is called three way hand shaking.
17. Data transfer.
After connection establishment the data transfer in TCP takes place. The
data transfer takes place in bidirectional.
Where the client and server can both send data and acknowledgments
.
The acknowledgments are piggybacked with data
It uses buffer to store the stream of data coming from the sending
application.
18. Connection termination.
Any of the two parties involved in exchanging data can close the
connection, although it is usually initiated by the client.
Most of the implementation today allow two options for connection
termination they are:
Three –way handshaking
Four way handshaking with a half -close option.
19. Strengths of TCP.
Dial-up lines.
LANs.
High Speed fiber optic networks.
Low speed long haul networks.