Professional Documents
Culture Documents
Lec 11
Lec 11
Week 11
TCP
Outline
TCP overview
Data transfer
Connection setup
Data transfer
Connection termination
TCP control
Flow control
Error control
Congestion control
TCP options
Examples
300095, Autumn 2011 2
TCP Overview
TCP is a connection-oriented reliable transport protocol
Supports process-to-process communications using port numbers
Provides connection-oriented service to application layer by
employing connectionless network service
Support stream-oriented (or byte-oriented) delivery service
Emulates a data pipe between the source process and the
destination process
About 90% of Internet applications use TCP as the
transport protocol
Reliable
In-order delivery
End-to-end service
300095, Autumn 2011 3
Process-to-Process Communications
The two ends of the virtual data pipe are called
sockets
A socket is uniquely identified by (IP address, port
number) pair
seq: 9001
ack: 1500
1
A P
Data
Bytes: 90
01-10000
seq: 1000
1
ack: 1500
1
A P
Data
Bytes: 10
001-1100
0
seq: 1100
1
ack: 1500
1
A P
Data
Bytes: 11
001-1200
0
seq: 1200
1
ack: 1500
1
A P
Data
Bytes: 12
001-1300
0
001
seq: 15
001
ack: 13
P
A
seq: 1400
1
ack: 1500
1
A P
Data
Bytes: 14
001-1500
0
seq: 1500
1
ack: 1500
1
A P
Data
Bytes: 15
001-1600
0
seq: 1600
1
ack: 1500
1
A P
Data
Bytes: 16
001-1700
0
seq: 1700
1
ack: 1500
1
A P
Data
Bytes: 17
001-1800
0
001
seq: 13
001
ack: 18
P
A
= socket = process
application P3 P1
P1 application P2 P4 application
host 2 host 3
host 1