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

Computer Networks

1. The document discusses the TCP finite state machine (FSM) and its various states like closed, listen, established, and closing. 2. It explains the three-way handshake process for TCP connection establishment between a client and server. 3. It also covers TCP connection management processes like simultaneous opens, delayed duplicates, symmetric and asymmetric connection releasing, and TCP disconnection requests.

Uploaded by

23wings
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Computer Networks

1. The document discusses the TCP finite state machine (FSM) and its various states like closed, listen, established, and closing. 2. It explains the three-way handshake process for TCP connection establishment between a client and server. 3. It also covers TCP connection management processes like simultaneous opens, delayed duplicates, symmetric and asymmetric connection releasing, and TCP disconnection requests.

Uploaded by

23wings
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Computer Networks Prof.

Hema A Murthy

TCP FSM Connect / syn


closed
Passive open/ syn Active open/ syn
Close /-
(server) (client)
Listen Close /-
Syn / Syn+ACK

rst / - Listen Send/ syn Syn


Syn
rcvd Passive open sent
Syn/ syn+ack
Simultaneous open

a ck
/- data
ack
n +
Close file Close / fin Estd Sy
k Three way handshake
ac

fin /ack

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP FSM Estd

in
/f
simultaneous close

se
lo
C
Close
fin /ack wait
fin Closing
wait 1
fin /ack ack Close / fin
ack ack Time
dnwait Wait
fin
2MSL ack
wait 2 fin /ack Timeout
Passive close
closed
Active close Ack/-

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Connection Management


Three Way handshake:

host1 host2

CR(seq
= x)
k=x)
y , ac
s e q=
(
ac k

Data (seq=x
, ack=y)
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

Delayed Duplicates
X Old duplicate
CR
from released connection
(seq=
x)
= x) h2
h1 ck
e q=y, a
k (s
W/o h1’s Ac
Re
je c
knowledge t (a
ck=
y)

f h2
CR (
seq=
x)

Old duplicate
seq =y)
x, No TPDUs with seqy to be
ack=
f Data
(seq acknowledged
h1 Old du =x, a
plicate ck=z
Reje )
ct(ac
k=y)
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

Releasing Connections
• Symmetric
– requires each to release separately
• Asymmetric
– similar to the telephone system
– A party hangs up connection broken
• Symmetric
– When everything goes well fin
– If all’s not well requires a timeout

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Disconnection
h2
CR
h1

ACC

data
data

DR
data

Data in transit does


not reach
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

TCP Disconnection Request

Send DR + time set


h1 DR Send DR + time set
h2
DR
Release
ack
Send ack release

h1 h2
DR

DR

ack
X
Time out release
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

TCP Disconnection Request


h1 h2
DR

timeout
DR
X
DR

DR

release ack

release

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Disconnection Request


h1 h2
DR

X
DR Time out release
X
Time out

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Transmission Policy


0 Buffer2k
2k write 2k Seq=0 Empty
,
Ack=2k 2k
W=2k
receiver
sender
2k write
2k Seq=
2k
Empty
Ack= W=0 App. reads 2k
4k
2k
Ack= W=0
Sender 4k
blocked
1k

Seq
=4k 1k 2k
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

TCP Congestion Control


• Receiver buffer size
– Network characteristics
– Sender maintain window size for transfer
• Window size granted by receiver(rcvr window)
• Congestion window (cgst window)
• Number bytes sent min (rcvr window, cgst window)

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Congestion Control (contd.)


• Can optimise send and receive
– Buffer data until 4K and then write
– Window size update until enough space

• Issues: 1 byte send – update window by 1


byte
– - avoidance of silly window syndrome

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Congestion Control


• Congestion window set max size of
segment in use
– Send maximum segment
– Double segment if ack received – until timeout
• Set congestion window to previous maximum size

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Congestion Control (Contd.)


– Additionally use threshold parameter
• Initially 64k
• Timeout occurs, set threshold to half of current
congestion window
• Reset congestion window to maximum segment size
• Repeat process again
• Threshold reached – increase window linearly until
timeout

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Slow Start

Timeout
Threshold
32

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Timer Management


• Difficult compared to DLL
– What is RTT?
– On top of IP which is connectionless

RTT = RTT + (1-a ) M


estimated RTT Current value time for ack
a - is a constant

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

TCP Timer Management


• Also use Deviation D
• D = D + (1-a) | RTT – M |
• Timeout = RTT + 4 * D
• Issues – retransmitted frames?
– Solution – Do not update RTT for Transmitted
segment
– Just double RTT
– Persistence timer
• Sender blocked, but receiver window update lost
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

TCP Timer Management


• Persistence timer
– Sender blocked, but receiver window update
lost
• Keepalive timer
– Both ends check health of connection
• Timed wait state in TCP
– max lifetime of packet
• ensures all packets created by a connection are
dead after connection is closed

Indian Institute of Technology Madras

You might also like