an overview of tcp (transmission control protocol)
TRANSCRIPT
![Page 1: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/1.jpg)
![Page 2: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/2.jpg)
2
![Page 3: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/3.jpg)
What is TCP
TCP Uses
TCP Connection Creation
Flow Control
Error Control
Congestion Control
Sliding Windows Protocol
Purpose of sliding windows protocol
QUESTIONS
Sequence
3
![Page 4: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/4.jpg)
What is TCP ?
4
TCP (Transmission Control Protocol ) is a transport layer Process to Process Data delivery protocol . Its main characteristics are:
Connection oriented
Reliable
Full Duplex
Bytes steams
![Page 5: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/5.jpg)
Connection oriented
5
Connection oriented means:
A connection is established before any data is transferred
If the connection can’t be established, the user program is notified
If an established connection is interrupted, the user program is notified
![Page 6: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/6.jpg)
Reliable
6
Reliable means:
Each and every transmission of Data is Acknowledged by Receiver
If the acknowledgement is not received with in specified time, data is retransmitted
![Page 7: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/7.jpg)
Byte Streams
7
Byte Stream means:
Connection is treated as stream of Bytes
The user application does not need to package data in individual Datagrams
![Page 8: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/8.jpg)
Uses of TCP
8
TCP is used for those services where error free and reliable Data transmission is required. For example following well known services use TCS as transport layer Protocol.
Service / Protocol Port Number Used
Description
HTTP 80 Hyper text transfer protocol
SMTP 25 Simple mail transfer protocol
FTP 21 File transfer protocol
SSH 22 Secure shell
TELNET 23 Terminal Network
![Page 9: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/9.jpg)
TCP Connection Creation
9
3 Way Hand Shake : Before any Data transfer TCP establishes a connection using 3 Way Hand Shake mechanism
![Page 10: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/10.jpg)
3 Way Hand Shake
10
![Page 11: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/11.jpg)
3 Way Hand Shake
Client : I want to establish a connection and I will transfer Data with initial sequence number 8000 (Syn Packet)
Server : OK. I received your syn, My intial sequence number will be 15000 and expect your Data Starting with Byte number 8001 (Syn + Ack Packet)
Client : Got it. You start your data transfer starting with Byte number 15001 (Ack Packet)
11
![Page 12: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/12.jpg)
Data Transfer
12
![Page 13: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/13.jpg)
Half Close Connection
13
![Page 14: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/14.jpg)
Half Close Connection
14
![Page 15: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/15.jpg)
Flow Control
TCP uses flow control to balance the rate at which sender sends Data and receiver receives it.
Messagesare pushed
1
Segements are pushed
2
Messagesare pulled
3
Flow control feedback
4
Flow controlfeedback5
15
![Page 16: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/16.jpg)
Flow Control : How it works
Receiver advertises spare room (available buffer size) by including value of rwind (receive window) in segments.
Sender limits Data transfer size to rwind avoiding the receiver to overflow
16
![Page 17: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/17.jpg)
Error Control
TCP is a reliable Transport layer protocol . It sends Data end to end without error, in order, and without any part lost or duplicated
Error Control in TCP is achieved through the use of three tools :
1. Checksum2. Acknowledgement
3. Time out
17
![Page 18: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/18.jpg)
Congestion Control
TCP uses a congestion window and a congestion policy that avoid congestion and detect and alleviate congestion after it has occurred.
18
![Page 19: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/19.jpg)
Congestion Control
In Slow Start algorithm, the size of Congestion window (cwnd) exponentially increases until it reaches a threshold.
cwnd
1
cwnd
2
RTT
cwnd
4
RTT
cwnd
8
RTT
19
![Page 20: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/20.jpg)
Congestion Control
In the congestion avoidance algorithm the size of the congestion window increases additively until congestion is detected.
20
![Page 21: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/21.jpg)
Sliding Window Protocol
Sliding window is lesser of receiver (rwnd) and congestion (cwnd) windows The source does not have to send a full window’s worth of data
21
![Page 22: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/22.jpg)
Sliding Window Protocol
(cwnd, rwnd)
22
![Page 23: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/23.jpg)
Purpose Of Sliding Window Protocol
Sliding window is used :
To make the transmission more efficient
To prevent the receiver from overwhelming with data
To prevent the network from Congestion and loss free transmission
23
![Page 24: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/24.jpg)
RFC 1122 enhancements in RFC 793
24
![Page 25: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/25.jpg)
Van Jacobson algorithms
25
![Page 26: An overview of TCP (Transmission Control Protocol)](https://reader036.vdocuments.net/reader036/viewer/2022062419/55a6bd1e1a28abc6498b462c/html5/thumbnails/26.jpg)
THANK YOU
26