Professional Documents
Culture Documents
Gaurav S. Kasbekar
Dept. of Electrical Engineering
IIT Bombay
Introduction 1-1
Reference
These are a modified version of slides by
Kurose and Ross available at:
http://ctas.poly.asu.edu/millard/CET459/lectno/K%
20-%20R%20stuff/index.html
Introduction 1-2
Reliable Data Transfer
Bit errors
Channel can lose packets (data or ACKs)
No re-ordering
Note:
• More than two sequence numbers needed
• Initially assume infinite number of sequence
numbers for simplicity Transport Layer 3-8
Pipelining: increased utilization
sender receiver
first packet bit transmitted, t = 0
last bit transmitted, t = L / R
Increase in utilization
Utilization: by a factor of 3!
U 3*L/R .024
= = = 0.0008
sender 30.008
RTT + L / R microsecon 3-9
Window
How many transmitted,
unacknowledged packets
should be allowed?
e.g., in interval [𝑡1, 𝑡2] in fig
In “ideal scenario”
no congestion, unlimited
memory at receiver’s buffer
unlimited
Sender blocked
until A1 received
3-12
Packet Loss
What should the receiver
do upon receipt of packet
3?
1) Buffer and selectively
ACK packet 3
Selective Repeat Protocol
2) Discard packet 3
Go-Back-N
useful when receiver has
limited storage, processing
capabilities
Transport Layer 3-13
Go-Back-N Operation
• Receiver discards out-of-
order packets
• When timeout occurs,
sender resends that packet
and all subsequent packets
in window
• hence the name “Go-Back-N”
• Receiver ACKs are
cumulative
• ACK(n): ACKs all packets up
to and including packet n
• In figure, wouldn’t matter if
ACK0 were lost provided
ACK1 reached before pkt0’s
timeout
Transport Layer 3-14
Sender’s and Receiver’s Views of
Sequence Numbers
Sender’s Window:
send_base = seq. no. of oldest sent, unACKed packet
nextseqnum=smallest unused seq. no.