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

Mod3 Flow Control PDF

This document provides an overview of flow control in computer networks. It discusses how flow control is needed to balance production and consumption rates when entities exchange items. In communication networks, flow control occurs between the data link layers of sending and receiving nodes. Buffers are used to store packets temporarily at each node. Flow control signals like acknowledgments are sent from the receiver to sender to indicate the receiver's buffer status and control the sender's transmission rate. Error control is also implemented using techniques like checksums, retransmissions, and acknowledgments to ensure error-free delivery of packets. Connection-oriented and connectionless protocols are described for data link layer communication. Common flow control protocols like Stop-and-Wait and sliding window protocols are explained

Uploaded by

Ayush kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views

Mod3 Flow Control PDF

This document provides an overview of flow control in computer networks. It discusses how flow control is needed to balance production and consumption rates when entities exchange items. In communication networks, flow control occurs between the data link layers of sending and receiving nodes. Buffers are used to store packets temporarily at each node. Flow control signals like acknowledgments are sent from the receiver to sender to indicate the receiver's buffer status and control the sender's transmission rate. Error control is also implemented using techniques like checksums, retransmissions, and acknowledgments to ensure error-free delivery of packets. Connection-oriented and connectionless protocols are described for data link layer communication. Common flow control protocols like Stop-and-Wait and sliding window protocols are explained

Uploaded by

Ayush kumar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 91

ITT350:

Computer Networks
Module 3: Flow Control

Instructor: Dr. Iqra Altaf Gillani


Flow Control
Whenever an entity produces items and another entity consumes them, there
should be a balance between production and consumption rates.

If the items are produced faster than they can be consumed, the consumer can be
overwhelmed and may need to discard some items.

If the items are produced more slowly than they can be consumed, the consumer
must wait, and the system becomes less efficient.
Flow Control
Whenever an entity produces items and another entity consumes them, there
should be a balance between production and consumption rates.

If the items are produced faster than they can be consumed, the consumer can be
overwhelmed and may need to discard some items.

If the items are produced more slowly than they can be consumed, the consumer
must wait, and the system becomes less efficient.

⇒ Need for flow control (specifically focuses on first case)


Flow Control in Communication
In communication at the data-link layer, we are dealing with four entities:

● Network and data-link layers at the sending node


● Network and data-link layers at the receiving node

Although we can have a complex relationship with more than one producer and
consumer, we ignore the relationships between networks and data-link layers and
concentrate on the relationship between two data-link layers.
Flow Control in Communication
In communication at the data-link layer, we are dealing with four entities:

● Network and data-link layers at the sending node


● Network and data-link layers at the receiving node

Although we can have a complex relationship with more than one producer and
consumer, we ignore the relationships between networks and data-link layers and
concentrate on the relationship between two data-link layers.
Use of buffers
One possible solution for flow control can be to use two buffers: one at the
sending data-link layer and the other at the receiving data-link layer.

A buffer is a set of memory locations that can hold packets at the sender and
receiver.
Use of buffers
One possible solution for flow control can be to use two buffers: one at the
sending data-link layer and the other at the receiving data-link layer.
A buffer is a set of memory locations that can hold packets at the sender and
receiver.
How flow control is achieved?
The flow control communication can occur by sending signals from the consumer
to the producer. When the buffer of the receiving data-link layer is full, it informs
the sending data-link layer to stop pushing frames.
Error control
Why error control? Since the underlying technology at the physical layer is not
fully reliable, we need to implement error control at the data-link layer to prevent
the receiving node from delivering corrupted packets to its network layer.
Error control
Why error control? Since the underlying technology at the physical layer is not
fully reliable, we need to implement error control at the data-link layer to prevent
the receiving node from delivering corrupted packets to its network layer.

Error control means

● Error detection + correction, or


● Error detection + retransmission
Error control
Why error control? Since the underlying technology at the physical layer is not
fully reliable, we need to implement error control at the data-link layer to prevent
the receiving node from delivering corrupted packets to its network layer.

Error control means

● Error detection + correction, or ⇒ Forward Error Correction (FEC)


● Error detection + retransmission ⇒ Automatic Repeat Request (ARQ)
Error control via ARQ
Error control at the data-link layer is normally very simple and implemented using
one of the following two methods.
In both methods, a CRC is added to the frame header by the sender and checked
by the receiver.
● In the first method, if the frame is corrupted, it is silently discarded; if it is not
corrupted, the packet is delivered to the network layer. This method is used
mostly in wired LANs such as Ethernet.
● In the second method, if the frame is corrupted, it is silently discarded; if it is
not corrupted, an acknowledgment is sent (for the purpose of both flow and
error control) to the sender.
Error control via ARQ
Error control at the data-link layer is normally very simple and implemented using
one of the following two methods.
In both methods, a CRC is added to the frame header by the sender and checked
by the receiver.
● In the first method, if the frame is corrupted, it is silently discarded; if it is not
corrupted, the packet is delivered to the network layer. This method is used
mostly in wired LANs such as Ethernet.
● In the second method, if the frame is corrupted, it is silently discarded; if it is
not corrupted, an acknowledgment is sent (for the purpose of both flow and
error control) to the sender.
Combination of Flow and error control
Flow and error control can be combined. In a simple situation, the acknowledgment
that is sent for flow control can also be used for error control to tell the sender the
packet has arrived uncorrupted.

The lack of acknowledgment means that there is a problem in the sent frame.

A frame that carries an acknowledgment is normally called an ACK to distinguish it


from the data frame.
Connection-oriented vs. connectionless protocols
A DLC protocol can be either connectionless or connection-oriented.

In a connectionless protocol, frames are sent from one node to the next without
any relationship between the frames; each frame is independent.

● It does not mean no physical connection (transmission medium) between the


nodes.
● It means that there is no connection between frames. The frames are not
numbered and there is no sense of ordering.
● Example: most of the data-link protocols for LANs.
Connection-oriented vs. connectionless protocols
A DLC protocol can be either connectionless or connection-oriented.

In a connection-oriented protocol, a logical connection should first be established


between the two nodes (setup phase). After all frames that are somehow related to
each other are transmitted (transfer phase), the logical connection is terminated
(teardown phase).

● In this type of communication, the frames are numbered and sent in order. If
they are not received in order, the receiver needs to wait until all frames
belonging to the same set are received and then deliver them in order to the
network layer.
● Connection oriented protocols are rare in wired LANs, but we can see them in
some point-to-point protocols, some wireless LANs, and some WANs.
Flow control protocols
Flow control protocols

Same protocols used at the transport layers as well. Specifically, Go Back N


and Selective repeat are no longer used at Data link layer now.
How real-world flow control protocols are different?
● All protocols we will discuss in this module are unidirectional, i.e., data travels
from transmitter to receiver and only special frames ACK, NAK flow in
opposite direction for flow and error control.
● Real-world networks are bidirectional, i.e., data flow is in both directions.
● Solution: Piggybacking - ACKs and NAKs are included in data frames itself.
FSM Approach
The behaviour of Data link layer protocol can be understood by Finite State
Machine (FSM).

FSM is a machine with finite no. of states. Machine is always in one of the states
until an event occurs.

Each event is associated with two reactions:

● Defining the list of actions (can be empty) to be performed


● Determining next state (can be same)

One of the states is initial state where the machine starts.


FSM
Noiseless channels - Simple protocol
Assume receiver can immediately handle any frame it receives with negligible
processing delay.

No error or flow control is needed.


Noiseless channels - Simple protocol
Assume receiver can immediately handle any frame it receives with negligible
processing delay.

No error or flow control is needed.


FSM for simple protocol
Flow diagram for simple protocol
Stop and Wait Protocol
If data frames arrive at receiver faster than they can be processed, they must be
stored until their use. But, receiver doesn’t have enough storage space. To prevent
receiver from being overwhelmed with frames, we need to send feedback to
sender to slow down.
Stop and Wait Protocol
If data frames arrive at receiver faster than they can be processed, they must be
stored until their use. But, receiver doesn’t have enough storage space. To prevent
receiver from being overwhelmed with frames, we need to send feedback to
sender to slow down.

Stop and Wait protocol sends one frame, stops till it perceives confirmation from
receiver and then sends next frame.
Stop and Wait Protocol flow diagram
Noisy channels
1. Stop and Wait ARQ
2. Sliding Window
a. Go Back N ARQ
b. Selective Repeat ARQ
Sequence number
Error control requires sending layer to know which packet is to be sent and
receiving layer which frame needs to be resent, which is a duplicate packet or
which packet was received out of order ⇒ Packets need to be numbered
Sequence number
Error control requires sending layer to know which packet is to be sent and
receiving layer which frame needs to be resent, which is a duplicate packet or
which packet was received out of order ⇒ Packets need to be numbered

Packets need to be numbered sequentially and such a sequence no. is added in


the header. So, we need to set a limit.

If header assigns m bits for sequence number than possible range of numbers is
Sequence number
Error control requires sending layer to know which packet is to be sent and
receiving layer which frame needs to be resent, which is a duplicate packet or
which packet was received out of order ⇒ Packets need to be numbered

Packets need to be numbered sequentially and such a sequence no. is added in


the header. So, we need to set a limit.

If header assigns m bits for sequence number than possible range of numbers is

0 to 2^m-1. Sequence numbers are always modulo 2^m.


Sliding Window
Since sequence numbers are modulo
2^m, a circle can represent numbers
from 0 to 2^m-1 and buffer is
represented by set of slices called
sliding window, that occupies part of
circle at any time.
Sliding Window
Since sequence numbers are modulo
2^m, a circle can represent numbers
from 0 to 2^m-1 and buffer is
represented by set of slices called
sliding window, that occupies part of
circle at any time.
Sliding Window
Since sequence numbers are modulo
2^m, a circle can represent numbers
from 0 to 2^m-1 and buffer is
represented by set of slices called
sliding window, that occupies part of
circle at any time.

Tx: When packet is sent, slice is


marked. No packets sent when buffers
are full.

Rx: When ACK received unmark slice


and if consecutive slices unmarked,
window moves.
Sliding Window - linear representation
Stop and wait ARQ
Connection-oriented, uses both flow and error control.

Both sender and receiver have sliding window of size 1.


Stop and wait ARQ
Connection-oriented, uses both flow and error control.

Both sender and receiver have sliding window of size 1.

Sender sends one packet at a time, waits for an ACK before sending next. To
detect corrupt packets, we add checksum to each packet. At the receiver, data is
checked, if checksum is incorrect means packet is corrupted and is silently
discarded. So, silence of receiver indicates packet was corrupted.
Stop and wait ARQ
Connection-oriented, uses both flow and error control.

Both sender and receiver have sliding window of size 1.

Sender sends one packet at a time, waits for an ACK before sending next. To
detect corrupt packets, we add checksum to each packet. At the receiver, data is
checked, if checksum is incorrect means packet is corrupted and is silently
discarded. So, silence of receiver indicates packet was corrupted.

Every time sender sends a packet, it starts a timer.

● If ACK is received before timer expires, timer is stopped and sender sends
next (if it has something to send).
● If timer expires, sender resends previous frame assuming it was lost or
corrupt.
Stop and wait ARQ
At any time only one packet and one ACK can be on a channel.

To prevent packet duplicate we need sequence no. and ACK no.


Sequence number for Stop and wait ARQ
Since sequence number needs to be added to frame, we need to look at the
smallest range possible that ensures unambiguous communication.

Assume we have used x a s seq. no., we need only x+1 after that not x+2.
Sequence number for Stop and wait ARQ
Since sequence number needs to be added to frame, we need to look at the
smallest range possible that ensures unambiguous communication.

Assume we have used x a s seq. no., we need only x+1 after that not x+2.

When a sender sends a packet with seq. no. x, we have:

● Packet arrives safe at receiver and it sends back ACK. So, sender sends
packet with x+1.
● Packet is corrupted or never arrived at receiver. After timeout receiver
resends packet no. x . Receiver returns ACK.
● Packet arrives safe at receiver and it sends back ACK but ACK is corrupted or
lost. Sender resends x after timeout. Receiver identifies it as duplicate.

So, x and x+1 are sufficient. If x=0, x+1=1 ⇒ mod 2 arithmetic and m=1 sufficient.
ACK number for Stop and wait ARQ

The convention followed by this protocol is that ACK no’s always announce the
seq. no. of next packet expected by receiver.

Example: If packet 0 arrived safe, receiver sends ACK with ACK no. 1, i.e., it
expects packet 1 next.
FSM for Stop and wait ARQ
Both ends should be in established state before exchanging data packets.
Flow diagram for Stop and wait ARQ
Efficiency
Can be measured using Bandwidth-delay product.

BWD= BW* Round trip delay

BWD= no. of bits sender can transmit through system while waiting for ACK.

Utilization=Current capacity/Actual capacity


Ex: Assume a stop and wait system with BW 1Mbps
where 1 bit takes 20 msec to make a round-trip. What
is the BWD? If system takes data packets 1000 bits in
length, what is the link utilization?
Ex: Assume a stop and wait system with BW 1Mbps
where 1 bit takes 20 msec to make a round-trip. What
is the BWD? If system takes data packets 1000 bits in
length, what is the link utilization?
Ans: BWD=20,000 bits and link utilization=5%
Ex: Now, if we have a protocol that can send about 15
packets before stopping and worrying for ACKs, what
is the link utilization?
Ex: Now, if we have a protocol that can send about 15
packets before stopping and worrying for ACKs, what
is the link utilization?
Ans: Link utilization=75%
Pipelining
Before receiving ACK for a frame send a new frame. No pipelining in stop and wait
because you need to wait for ACK.

Next two protocols will use pipelining and improve link utilization or efficiency.
Go Back N ARQ
To improve efficiency of transmission (to fill pipe) multiple packets must be in
transition while sender waits for ACK. We need to keep more than one packet to
be outstanding to keep channel busy while sender waits for ACK.
Go Back N ARQ
To improve efficiency of transmission (to fill pipe) multiple packets must be in
transition while sender waits for ACK. We need to keep more than one packet to
be outstanding to keep channel busy while sender waits for ACK.

Key idea: We can send several packets before receiving ACKs but receiver ca
only buffer one packet. We keep a copy of sent packet until ACK arrives.
Go Back N ARQ
To improve efficiency of transmission (to fill pipe) multiple packets must be in
transition while sender waits for ACK. We need to keep more than one packet to
be outstanding to keep channel busy while sender waits for ACK.

Key idea: We can send several packets before receiving ACKs but receiver ca
only buffer one packet. We keep a copy of sent packet until ACK arrives.

Sequence number: m bits 0 to 2^m-1

ACK number: It is cumulative and defines sequence no. of next expected packet.
E.g., ACK no. =7 means all packets upto sequence no. 6 have arrived safe and
receiver expects packet with sequence no. 7.
Go Back N ARQ
Send Window in Go Back N
It is an imaginary box covering sequence no.’s of data packets in transit and those
which can be sent.

Maximum size of send window is 2^m -1.

Suppose m=3
Send Window in Go Back N
It is an imaginary box covering sequence no.’s of data packets in transit and those
which can be sent.

Maximum size of send window is 2^m -1.

Suppose m=3, size=7


Send Window in Go Back N
It is an imaginary box covering sequence no.’s of data packets in transit and those
which can be sent.

Maximum size of send window is 2^m -1.

Suppose m=3, size=7

Window only a abstraction.

● S_f
● S_n
● S_size
Send Window in Go Back N
It is an imaginary box covering sequence no.’s of data packets in transit and those
which can be sent.

Maximum size of send window is 2^m -1.

Suppose m=3, size=7

Window only a abstraction.

● S_f
● S_n
● S_size
Receiver Window in Go Back N
Makes sure correct data packets are received and correct ACKs are sent. In Go
Back N, receiver window is always 1.

Receiver is always looking for arrival of specific packet. Any packet arriving out of
order is discarded and needs to be resent.
Receiver Window in Go Back N
Makes sure correct data packets are received and correct ACKs are sent. In Go
Back N, receiver window is always 1.

Receiver is always looking for arrival of specific packet. Any packet arriving out of
order is discarded and needs to be resent.

Only one variable R_n which indicates next packet to be expected.


Timers in Go Back N
Although we can have a timer for each packet sent, in this protocol we use only
one timer because for first outstanding packet timer always expires first. We
resend all outstanding frames when this timer expires.
Timers in Go Back N
Although we can have a timer for each packet sent, in this protocol we use only
one timer because for first outstanding packet timer always expires first. We
resend all outstanding frames when this timer expires.

Resending packets - Whenever timer expires we send all outstanding packets.

Example: Suppose sender has already sent packet 6 and S_n=7 but the timer
expires and S_f=3, this means all packets
Timers in Go Back N
Although we can have a timer for each packet sent, in this protocol we use only
one timer because for first outstanding packet timer always expires first. We
resend all outstanding frames when this timer expires.
Resending packets - Whenever timer expires we send all outstanding packets.
Example: Suppose sender has already sent packet 6 and S_n=7 but the timer
expires and S_f=3, this means all packets 3,4,5,6 have not been ACKed, sender
goes back and resends 3,4,5,6.
This is why it is called Go Back N. On timeout machine goes back N locations and
resends all packets.
Why sender window size is <2^m?
FSM approach for Go Back N
Flow diagram for Go Back N
Flow diagram for Go Back N
Selective repeat ARQ
GBN simplifies the process of receiver as it has to keep track of only one variable
and no out of order packets are accepted.

Inefficient - everytime a single packet is lost or corrupted, sender needs to resend


all outstanding packets even though some may have reached safely but out of
order. Resending all outstanding packets in case of congestion leads to
avalanche effect that may result in network collapse.
Selective repeat ARQ
GBN simplifies the process of receiver as it has to keep track of only one variable
and no out of order packets are accepted.

Inefficient - everytime a single packet is lost or corrupted, sender needs to resend


all outstanding packets even though some may have reached safely but out of
order. Resending all outstanding packets in case of congestion leads to
avalanche effect that may result in network collapse.

Key idea: Resend only selective packet, those that are actually lost. So, receiver
becomes complex as it needs to allow out of order delivery.
Selective repeat ARQ
Sender and receiver window in Selective repeat ARQ
Both sender and receiver have window size greater than 1 but different than GBN.

● Maximum sender window size is smaller = ½ *2^m =2^(m-1)


● Receiver window size = Sender window size
Sender and receiver window in Selective repeat ARQ
Both sender and receiver have window size greater than 1 but different than GBN.

● Maximum sender window size is smaller = ½ *2^m =2^(m-1)


● Receiver window size = Sender window size

Selective repeat (SR) allows as many packets out of order as the size of receiver
window. However, till all packets are received they are not delivered to higher
layers by reliable protocols.
Sender and receiver window in Selective repeat ARQ
Why Sender window in Selective repeat ARQ =2^(m-1)?
Timers and ACKs in Selective repeat ARQ
Timers: Theoretically, Selective repeat (SR) uses one timer for each outstanding
packet. So, when the timer expires only that packet is resent whereas in GBN
outstanding packets were sent as a group. However, many use SR with single
timer only.
Timers and ACKs in Selective repeat ARQ
Timers: Theoretically, Selective repeat (SR) uses one timer for each outstanding
packet. So, when the timer expires only that packet is resent whereas in GBN
outstanding packets were sent as a group. However, many use SR with single
timer only.

ACKs: In GBN, ACK no is cumulative and announces the sequence no. of next
packet expected and confirming receipt of all previous packets. In SR, ACK no.
Timers and ACKs in Selective repeat ARQ
Timers: Theoretically, Selective repeat (SR) uses one timer for each outstanding
packet. So, when the timer expires only that packet is resent whereas in GBN
outstanding packets were sent as a group. However, many use SR with single
timer only.

ACKs: In GBN, ACK no is cumulative and announces the sequence no. of next
packet expected and confirming receipt of all previous packets. In SR, ACK no.
defines the sequence no. of single packet received safe and sound. Example:
Suppose a sender sends 6 packets 0,1,2,3,4,5 and sender receives ACK no. 3

● GBN:
● SR:
Timers and ACKs in Selective repeat ARQ
Timers: Theoretically, Selective repeat (SR) uses one timer for each outstanding
packet. So, when the timer expires only that packet is resent whereas in GBN
outstanding packets were sent as a group. However, many use SR with single
timer only.

ACKs: In GBN, ACK no is cumulative and announces the sequence no. of next
packet expected and confirming receipt of all previous packets. In SR, ACK no.
defines the sequence no. of single packet received safe and sound. Example:
Suppose a sender sends 6 packets 0,1,2,3,4,5 and sender receives ACK no. 3

● GBN: packets 0,1,2 received safe


● SR: packet 3 received safe
FSM for Selective repeat ARQ (Sender)
FSM for Selective repeat ARQ (Receiver)
Flow diagram for Selective repeat ARQ
Link utilization and throughput: Stop & Wait
For stop and wait protocol:

U= Total Useful time/ Total cycle time of a packet

U = T_a/(T_a+2*T_p) where T_a is transmission time and T_p is propagation delay

=1/1+2a where a=T_p/T_a


Link utilization and throughput: Stop & Wait
For stop and wait protocol:

U= Total Useful time/ Total cycle time of a packet

U = Ta/(Ta+2*Tp) where Ta is transmission time and Tp is propagation delay

=1/1+2a where a=Tp/Ta

Approximate version if Tp>>Ta

U~L/(BW*2Tp)=L/BWD where BW is bandwidth and BWD is bandwidth delay product


Link utilization and throughput: Stop & Wait
For stop and wait protocol:

U= Total Useful time/ Total cycle time of a packet

U = Ta/(Ta+2*Tp) where Ta is transmission time and Tp is propagation delay

=1/1+2a where a=Tp/Ta

Approximate version if Tp>>Ta

U~L/(BW*2Tp)=L/BWD where BW is bandwidth and BWD is bandwidth delay product

Throughput or effective bandwidth = U*BW


Link utilization and throughput: sliding window
For sliding window protocol:

U= Total Useful time/ Total cycle time of a packet

U = NTa/(Ta+2*Tp) where N is window size

=N/1+2a where a=Tp/Ta

Throughput or effective bandwidth = U*BW


Link utilization and throughput: sliding window
For sliding window protocol:

U= Total Useful time/ Total cycle time of a packet

U = NTa/(Ta+2*Tp) where N is window size

=N/1+2a where a=Tp/Ta

Throughput or effective bandwidth = U*BW

Given window size is N, no. of bits to represent sequence no.

● GBN: N=2^m -1 ⇒ m=
● SR: N=2^(m-1) ⇒ m=
Questions: Stop and wait
Q1) Sender uses stop and wait protocol. Frame size is 1000 bytes and
transmission rate is 80 Kbps. Size of ACK is 100 bytes and transmission rate at
receiver is 8 Kbps. One way propagation delay is 100 msec. Assuming no frames
are lost, what is throughput of sender in bytes/sec? Ans: 2500 bytes/sec

Q2) For a given stop and wait system, we have: bit rate of channel is 1 Mbps. Tp
is 0.75 msec. Time to process each frame is 0.25 msec. Number of bytes in
information frame is 1980 having 20 overhead bytes and number of bytes in ACK
frame is 20. What is the transmission efficiency? Ans: 87.11%

Q3) Suppose stop and wait protocol is used on a link with bitrate 64 Kbps and 20
msec Tp. Assume negligible time for ACK transmission and processing. Then,
what is the minimum frame size in bytes to achieve a link utilization of at least
50%? Ans: 160 bytes
Link utilization and throughput: sliding window
For sliding window protocol:

U= Total Useful time/ Total cycle time of a packet

U = NTa/(Ta+2*Tp) where N is window size

=N/1+2a where a=Tp/Ta

Throughput or effective bandwidth = U*BW

Given window size is N, no. of bits to represent sequence no.

● GBN: N=2^m -1 ⇒ m=log_2|N+1| where |.| denotes ceil function


● SR: N=2^(m-1) ⇒ m=log_2|N|+1
Questions: Sliding window
Q4) Station A uses 32 byte packets to transmit messages to station B using a
sliding window protocol. The round trip delay is 80 msec and bottleneck bandwidth
on path between A and B is 128 Kbps. What is the optimal window size A should
use?

Q5) A 20 Kbps link has Tp of 400 msec. Transmitter employs Go Back N ARQ with
N=10. Assuming each frame is 100 bytes long, what is the maximum data rate
possible?

Q6) Consider a 128 Kbps satellite link with Tp of 150 msec. SR is used to send
data with a frame size of 1 kbyte. Neglect the transmission time of ACK. What is
the minimum number of bits required for sequence number to achieve 100%
utilization?
Questions: Sliding window
Q4) Station A uses 32 byte packets to transmit messages to station B using a
sliding window protocol. The round trip delay is 80 msec and bottleneck bandwidth
on path between A and B is 128 Kbps. What is the optimal window size A should
use? Ans: 41

Q5) A 20 Kbps link has Tp of 400 msec. Transmitter employs Go Back N ARQ with
N=10. Assuming each frame is 100 bytes long, what is the maximum data rate
possible? Ans: 9.52 Kbps

Q6) Consider a 128 Kbps satellite link with Tp of 150 msec. SR is used to send
data with a frame size of 1 kbyte. Neglect the transmission time of ACK. What is
the minimum number of bits required for sequence number to achieve 100%
utilization? Ans: 4
References
● Chapter 11 [BAF]
● Chapter 11, 23 [BAF 5th Edition]
● Random access. http://bbcr.uwaterloo.ca/~lcai/ece418/5-2.pdf
[Accessed date: 10 March 2022]
● Flow control animations.
https://www2.tkn.tu-berlin.de/teaching/rn/animations/gbn_sr/
[Accessed date: 1 April 2022]
● Note: Source of all images unless specified is [BAF] book (4th Edition).

You might also like