Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
81 views

Error Control / Reliable Transmission: - Acknowledgements (Acks) - Timeouts

The document discusses error control and reliable transmission in computer networks. It describes using acknowledgements and timeouts to provide reliability. When a sender transmits a frame but does not receive an acknowledgement within a timeout period, it will retransmit the frame. This is known as Automatic Repeat Request (ARQ). It also discusses the stop-and-wait protocol, where a sender transmits one frame and waits for an acknowledgement before sending the next frame to prevent overflow at the receiver. Sequence numbers are used to identify frames and acknowledgements. The maximum bandwidth utilization of stop-and-wait is the delay-bandwidth product, which is the number of bits that can be sent before acknowledgements are expected.

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)
81 views

Error Control / Reliable Transmission: - Acknowledgements (Acks) - Timeouts

The document discusses error control and reliable transmission in computer networks. It describes using acknowledgements and timeouts to provide reliability. When a sender transmits a frame but does not receive an acknowledgement within a timeout period, it will retransmit the frame. This is known as Automatic Repeat Request (ARQ). It also discusses the stop-and-wait protocol, where a sender transmits one frame and waits for an acknowledgement before sending the next frame to prevent overflow at the receiver. Sequence numbers are used to identify frames and acknowledgements. The maximum bandwidth utilization of stop-and-wait is the delay-bandwidth product, which is the number of bits that can be sent before acknowledgements are expected.

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/ 23

Computer Networks Prof.

Hema A Murthy

Error control / Reliable


Transmission
• Acknowledgements (acks)
• Timeouts
• acks: a short control frame (header
without data)
• timeout: sender does not receive ack
within finite time retransmit
• Using acks & timeout:
• - Automatic Repeat Request (ARQ)

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

sender Receiver
Fra
me

a ck

Timeout

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

sender Receiver sender Receiver


Fra Fra
me me

a ck a ck
Timeout Fra
me
Fra
me

Timeout a ck
a ck
sender Receiver
Fra
me

a ck
Fra
me
Timeout

a ck

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Services
• Sender Process
• Receiver Process
• Service primitives
– sv = Send(buf, Size, srcSAP, destSAP)
– rv = Receive(buf, Size, srcSAP, destSAP)

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Sender process:
Tx
art
/ st
nd Sending
s e
L n
DL u r
e t
Idle x /r
d T
En

Receiver Process:
Rx
ar t
/ st
ecv Receiving
L R
D L

tu rn
Idle / re
R x
d
En
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

Unrestricted Simplex
• Transport Layer – message
• Network Layer – packetises
• packet – send to Data Link Layer
• Data Link Layer - frames and transmits
– Fast sender slow receiver
– Sender swamps receiver

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Solution
• Slow down sender
– insert delay in sender (device drivers for
plotters, printers)
• Use feed back from receiver
– send only after acknowledgement is received.

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Stop and Wait Protocol


• Sender sends one frame waits for an ack
before proceeding.
– What if ack lost – sender hangs, therefore
timeout.
– What if receiver is not able to receive: still
hangs - number of tries!

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Stop and Wait Protocol


• A simple mechanism
– A frame lost must be resent – to recover from
channel characteristics
– receiver must reply to the event.

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Sender Receiver Sender Receiver


Fra Fra
me me
0 0
0
a ck
0
a ck
Fra
Timeout me
0
Timeout
0
a ck
Sender Receiver
Fra
me
0

Fra
me
0
0
Timeout a ck

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Sender Receiver
Fra
me
0
a ck 0
Fra
me
0
Timeout
0
a ck

Basically require that the sender and receiver take care of all these
situation.
Sequence number:
Header includes sequence number

modulo 2 counters at receiver and sender

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

How good is the bandwidth usage with the stop and wait protocol?
- Example: 1.5 Mbps link
- RTT – 0.045 s
Propagation delay:
- delay * BW = 67.5 kbps
= delay BW product
- volume of a link

delay

BW

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

delay * BW = volume
How many bits fit in the pipe?
Suppose frame size is 1 KB
maximum sending rate:
(bits / frame) / (time / frame)

= 1024 ×8 = 182 kbps


0.045
= 1.5 ×103 1500
=
182 182
≈ 1 of link capacity
8
What does delay * BW tell us?
67.5 kbps can be transmit until an ack is expected.
Program as an FSM:
FSM = { states, events, actions}
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

Sender Process: Tx
t
/ s tar
n d sending
L Se
D L

m e o ut
Idle Ti end of Tx
ta r tTx
s

Ack
Y / return await
t Tx
/ s tar
What if spurious ----reply nd sending
L Se
DL meout
T i
Tx
Idle start End Tx

Y / return
..
N/d
i s

ack ?
ca rd

Ack await

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

t Tx
s tar
/ sending
end
L S

x
DL

rt T
Sta
Idle Y / Fa
il
. End Tx
numTries > max Tries

t
..
Timeou
Y / return N / discar
d

ack ? Await Ack

Sending Process (event)


while (event)
case DLLState if:
Idle: if event = DLLSend then
GetFrame From NWL (buffer)
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

MakeAFrame(buffer, s)
SendToPhysLayer(s)
DLLState ← Sending
else
error
endif
Sending: if event = EndTx then
DLLState ←AwaitAck
endif
AwaitAck: if event = TimeOut then
increment numTries
if numTries > MaxTries then
Indian Institute of Technology Madras
← Idle
Computer Networks Prof. Hema A Murthy

DLLState
DLLReturn ← Fail
else
SendToPhysLayer(s)
DLLState ← Sendif
endif
else if event = EndRcv then
if isAck and SegNo = ExpectedNo then
DLLState ← Idle
send Success to upper layer
else
discard ack
DLLstate ← AwaitAck
endif
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

endif
end case
wait for Event( )
endwhile Rx
art
/ s t
e cv
R Await
D LL frame

t / End Rx / start Tx (ack)


Idle e ou
Tim l
i
Fa
Send to
NWL
Success / Return

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

Problem with Duplicate frame:


- if ack lost, sender sends frame again.
- Positive Acknowledgement with Retransmission
- required sequence number on frame

Rx
t
/ s tar Await
ecv
R frame
L L
D
t/

.
Idle e o u End Rx / start Tx (ack)
Tim il
Fa new
Send Y
fram N
e to NW
L an d
goto
Idle

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

pmodule Sender(event – eventType)


s – frame
buffer – packet
DLLStack – state of DLL
while (event) do
case DLLState if:
Idle : if event = DLLSend then
getFrame from NWL (buffer)
MakeAFrame(buffer, s)
DLLState ← sending
SendTophysLayer(s)

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

else
error
endif
Sending: if event = EndTx then
DLLState ← Idle
endif
endcase
wait for An event( )
endwhile

Indian Institute of Technology Madras


Computer Networks Prof. Hema A Murthy

pmodule Receiver (event)


r – frame
event – eventType
buffer – packet
while (event) do
case DLLState if:
Idle: if event = DLLRecv then
GetFrameFromPhysLayer(s)
DLLState ← receiving
else
error
endif
Indian Institute of Technology Madras
Computer Networks Prof. Hema A Murthy

Receiving: if event = EndTx then


Make Pkt of Frame(s, buffer)
SendToNWL(buffer)
DLLState ← idle
else
error
endif
event ← wait for an event( )
event: Check Sum error
instead of DLL Recv
endwhile

Indian Institute of Technology Madras

You might also like