2. Recap
In the previous topic , you have learnt about
• Layers of TCP/IP protocol
• Role of transport layer in TCP/IP protocol
2
3. Objectives
On completion of this topic, you would be able to
know about
• List out the features supported by TCP
• Understand features of TCP
3
4. TCP - Features
• Numbering System
• Byte Number
• Sequence Number
• Acknowledgement Number
• Reliable transfer of data
• Flow Control
• Error Control
• Congestion Control
4
5. TCP – Features ( Contd…)
• Inter-operability
• Flexibility
• Multi-Vendor Support
• Window Based Protocol
• Connection oriented service
• Full duplex data transfer
5
6. TCP – Numbering System
• TCP keeps track of the segments being transmitted or
received by assigning numbers
• Byte Number assigned to data bytes to be transferred
• Sequence Number to Segments
• Acknowledgement Number to Received segments
6
7. Byte Number
• Used for Flow Control and Error Control
• All data bytes transmitted in each connection
are numbered by the TCP
• Numbering starts with a randomly generated
number
• Numbering is independent in each direction
• TCP stores the received data bytes in a
sending buffer and numbers them
7
8. Sequence Number
• TCP assigns a Sequence number to each
segment transmitted
• Sequence Number is the first byte number
carried in that segment
Sequence Number is assigned when
• Segment carries both data and control information
( Piggy backing )
• Segment without data, no sequence number
• Example : if x Sequence Number
x+1 First Byte Number
8
9. Acknowledgement Number
• Indicates number of the next byte that the
receiver expects to receive
• Acknowledgement number is cumulative
• Confirmation to received data bytes
9
10. TCP – Reliable Transfer of Data
• Ordered data transfer - the destination host
rearranges according to sequence number
• Retransmission of lost packets - any cumulative
stream not acknowledged will be retransmitted
• Discarding duplicate packets
• Error-free data transfer
10
11. TCP – Reliable Transfer of Data
Client Host
Send Packet 1
Start Timer Data Packet Packet should arrive
Timer ACK should be sent
ACK would normally
Arrive at this time
Time Expires
Retransmit Packet1
Timer Start Timer Receive Packet 1
Send ACK 1
Receive ACK 1
Cancel Timer
Fig.4
11
12. TCP – Flow Control
• limits the rate a sender transfers data to guarantee
reliable delivery
• The receiver continually hints the sender on how
much data can be received (controlled by the sliding
window)
• When the receiving host's buffer fills, the next
acknowledgment contains a 0 in the window size, to
stop transfer and allow the data in the buffer to be
processed
12
13. TCP – Error Control
• TCP implements an error control mechanism for
reliable data transfer
• Error Control is byte – oriented
• Segments are checked for error detection
• Error Control includes detecting
• Corrupted Segments and Lost Segments
• Out-of-Order Segments
• Duplicated Segments
13
14. TCP – Error Control
• Error detection & Correction is achieved by
– Check Sum
– Acknowledgement Numbers
– Time-outs
14
15. TCP – Congestion Control
• TCP takes in to account the level of Congestion
in the network
• Congestion level determines the amount of
data sent by a sender
15
16. TCP - Interoperability
• TCP has become the Industry standard
• It supports interoperability across networks
• TCP – A frame work used to develop
• complete range of computer communication
standards
16
17. TCP – Flexibility
• TCP allows a variety of implementations
Multi-Vendor Support
• TCP is supported by almost all network
software
• Widely used transport layer protocol
17
18. Summary
In this class, you have learnt about
• TCP is a widely used transport layer protocol
• TCP provides process to process, full duplex
and connection oriented services
• The main features supported by TCP are
• Segment Numbering System
• Flow Control
• Error Control
• Congestion Control
18
19. Summary
In this topic, you have learnt about
• Basic unit of data transfer using TCP is Segment
• TCP uses flow control implemented as a sliding window
mechanism
• Data bytes being transferred in each connection are
numbered by TCP
• Numbering starts with a randomly generated number
19
20. Summary
TCP uses error control to provide reliable service. Error
Control is handled by
• checksum, acknowledgement and time-outs
• Duplicated segments are discarded and Corrupted & lost
segments are retransmitted
• Data arrived out of order are temporarily stored by
receiving TCP
• TCP guarantees that no out of order segment is delivered
to the process
20
21. Quiz
1. TCP is a ____________ layer protocol
A. Application
B. Transport
C. Network
D. Physical
21
22. Quiz
2. Which of the following features are supported by
TCP ?
A. Congestion Control
B. Error Control
C. Flow Control
D. All The Above
22
23. Frequently Asked Questions
1. Name the protocols used in the Transport Layer of the
TCP/IP protocol suite
2. What is the purpose of TCP ?
3. List the features of TCP
4. Explain about the various features supported by TCP
23