Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

ON THE EFFICIENCY OF

GO-BACK-N
The impact of noise and Transmission Window on
the efficiency of Go-Back-N
Ken Sund

Bachelor Thesis, 15 hp/credits


Computing Science

2020
Abstract

Reliable data transfer is one of the more important issues contained within com-
puter networking. In order for data transfer to be reliable there need to exist pro-
tocols and mechanisms to combat the potential problems that could occur, such
as corrupted data or loss of data. One of these protocols is Go-Back-N which is
one the more fundamental protocols[8, Chapter 3]. The reason for loss of data
or data corruption could for example be a consequence of a noisy channel. For
this reason this study has focused on the impact noise will have on the overall
transmission efficiency and if the transmission window (which is a component in
Go-Back-N) could be used to mitigate the potential loss in efficiency. The results
that were gathered using a Go-Back-N emulator showcased that the major loss in
efficiency occured when noise (or packet error ratio) moved towards 4% packet
corruption. There were also major differences between different transmission
speeds. Higher transmission speeds were more prone towards major decreases
in efficiency compared to lower transmission speeds, and the reason is because a
higher transmission speed requires a larger transmission window (more allowed
data at any given time) which causes a drop in efficiency. It could also be shown
that, given the proposed theoretical models, that selecting the required transmis-
sion window relied heavily on the delay-bandwidth and that deviating from it
caused drops in efficiency.
Acknowledgements

I would like to give my thanks and utmost appreciation to my friends and parents
for allowing me to ramble on about networking, reliable data transfer and other
subjects they would much rather ignore. I would also extend my appreciation to my
supervisor for giving me valuable advice during the entire process.
Contents

1 Introduction 1
1.1 Background 1
1.2 Purpose 1
1.2.1 Research Questions 1
1.3 Hypothesis 2
1.4 Delimitations 2

2 Related Work 3

3 Theoretical Background 5
3.1 Automatic Repeat ReQuest 5
3.1.1 Error Detection 6
3.1.2 Receiver Feedback and Retransmission 6
3.2 Go-Back-N 6
3.2.1 Transmission Efficiency 8
3.3 Delays and Delay-bandwidth product 9
3.3.1 Transmission Delay 9
3.3.2 Propagation Delay 9
3.3.3 Delay-bandwidth product 10

4 Method 11
4.1 Choice of Method 11
4.1.1 Go-Back-N Emulator 11
4.2 Data Collection 12
4.2.1 Experiments 12
4.3 Data Analysis 13

5 Results 15
5.1 Experiment 1: Testing transmission window and bit error rate for 100Mbps
channel 15
5.2 Experiment 2: Testing transmission window and bit error rate for 1Gbps channel 18
6 Analysis 21
6.1 Increasing the transmission window 21
6.2 Decreasing the transmission window 21
6.3 Increasing transmission speed 22

7 Discussion 23
7.1 Interpretation of Results 23
7.1.1 The impact of bit error rate on transmission efficiency 23
7.1.2 The importance of transmission window size on transmission efficiency 23
7.1.3 Comparisons between theory and simulations 24
7.2 Limitations 24
7.2.1 Choice of method 24
7.3 Conclusion and Recommendations 25
7.4 Future Work 25
1 Introduction

1.1 Background

Whenever data is transfered from one point to another there is a risk that something goes
wrong. The potential risks are that, for example, data can either be lost or the data can be
corrupted during transmission.
Reliability in data transfer has been an integral part of telecommunications for a long time.
Kahn and Cerf were two of the main engineers that designed the protocol Transmission Con-
trol Protocol back in the mid- to late 1970’s which is now the most common protocols and
a core component of TCP/IP[2][3]. These types of protocols are not only designed and im-
plemented for conventional networking but also for specific networking/telecommunication
environments. One of those environments is for example deep space or satellite communica-
tion [13][4]
In order to mitigate some of the problems associated with data transfer certain protocols have
been implemented, namely Automatic-Repeat-ReQuest (ARQ) protocols[8, Chapter 3]. Each
protocol is designed to handle lost or corrupted data in their own way.
On of these protocols is called Go-Back-N, which is a so called sliding window protocol, allow-
ing more data to be transfered at any given time, called pipelining, before the sender requires
a confirmation that data has successfully been processed by the receiver[8, Chapter 3]. Each
protocol has its own advantages and disadvantages. Rehman[12] mentions for example that
Go-Back-N has a higher throughput than the protocol Stop-and-Wait and a lower complexity
than Selective Repeat, which is another sliding window protocol.
If the underlying channel becomes more unreliable it will increase the risk of packet loss and
data corruption. Whenever the probability of data corruption increases it will also increase
the delays and transmission time, which is the case for Go-Back-N[12][11].

1.2 Purpose

On this basis this work will test and analyze one of the fundamental protocols, Go-Back-
N, in order to understand the impact packet loss has on transmission efficiency and how the
transmission window mitigates the potential loss of transmission efficiency. This will done by
gathering data using a Go-Back-N emulator that allows adjusting parameters such as Packet
Loss Ratio and Transmission window size, aswell as certain delays. The data that has been
gathered will be analysed in terms of overall transmission efficiency. The result will then be
discussed with reference to the theoretical model for computing transmission efficiency (See
section 3.2.1).

1.2.1 Research Questions


• How does packet error ratio impact throughput efficiency for Go-Back-N?

1
• Can Transmission Window Size mitigate potential loss of throughput efficiency?

1.3 Hypothesis

Given previous research[6][12][11] (See section 2) the expected results are as follows. It was
shown for different variations of Go-Back-N that larger IP-packet sizes resulted in decreased
throughput[6] and that when transmission window increased the throughput efficiency de-
creased[12][11]. A similar result is thus expected in this work. When packet loss probability
increases it is expected to see a steep decline in throughput and throughput efficiency and if
window size increases it will also cause a decrease in efficiency.

1.4 Delimitations

In order to limit the scope of the study the main focus will be on high bandwidth transmis-
sions, mainly a 100Mbps channel and a 1Gbps channel. 802.11ax is for example the current
wireless standard and allows for example a theoretical limit of 10Gbps download speed, but
usually that does not happen and depends on for example how much one pays a service
provider[5]. Therefore this study will limit itself to using high bandwidth that is lower than
the theoretical limit of the current wireless standard in order to simulate a more realistic
setting.

2
2 Related Work

There have been plenty of research into the performance of different ARQ-protocols, and in re-
cent years the main focus has been on Hybrid ARQ-protocols (HARQ)[6][1][10][12][11]. Ko-
tuliakova, Hajkovsky and Kotuliak[6] analyzed the performance of HARQ and ARQ schemes.
One of the reasons was to determine how much impact the length of IP blocks had on perfor-
mance. One conclusion was that an increasing Signal-to-Noise ratio caused a higher through-
put. For both ARQ and HARQ schemes the throughput was shown to decrease for longer
blocks whenever errors were detected in received blocks, and the reason for decreased though-
put was longer block retransmissions, which was also determined by Garcia[9, pp. 289–296]
when analyzing the impact bandwidth delay product, frame length and error rate had on the
performance of Go-back-N.

Figure 1: Transmission efficiency in relation to error probability(left) and frame size(right)[9,


pp. 289–296]

A. Garcia in Communication Networks[9, pp. 289–296] studies and analyses the transmission
efficiency of the three fundamental ARQ-protocols. Figure 1 showcases transmission effi-
ciency based on both error probability and frame size. The lefthand side of the figure, which
focuses on efficiency based on error probability, calculates efficiency based on an example
where frame size is 1024 bytes, the underlying transmission channel is a 5ms link, trans-
mission speed is 1.5Mbps and the window size for all ARQ-protocols is 4. As is showcased
in the figure Selective Repeat achievies a higher transmission efficiency compared to both
Go-Back-N and Stop-And-Wait. As error-probability decreases the transmission efficiency of
Go-Back-N and Selective Repeat starts to converge but a higher error-probability presents
a clear distinction between GBN and SR in terms of transmission efficiency. Stop-And-Wait
can’t achieve a higher transmission efficiency than circa 0.4 regardless of the error-probability.
In general it could be shown that delay bandwidth product, frame error rate and frame length
were crucial in determining system performance[9, pp. 289–296].
Then there are studies on the performance of Go-Back-N and other ARQ-protocols and HARQ-
protcols in block fading utilizing hidden markov chains[1][10]. Kamtorn and Aria[1] use
hidden Markov Models and block transition probabilities which allows them to calculate the
throughput of Go-Back-N. What they managed to show was that increasing the block fading
length and channel block length, which meant that losses were more clustered, initially in-

3
creased throughput but staturated quickly as block fading length surpassed the transmission
window size.
Ateeq Ur Rehman has been involved in many studies regarding efficiency of different pro-
posed cognitive HARQ-protocols designed for cognitive radios. There have been two specific
studies regarding the efficiency of Cognitive Go-Back-N HARQ-protocols, where the protocol
was reformed to match demands of CR systems [12][11]. The studies analyses a CGBN HARQ
scheme by using Discrete-Time Markov Modeling[12][11]. The schemes proposed and ana-
lyzed in the studies is a mixture of Automatic Repeat Request and Forward Error Correction.
The reason behind using GBN HARQ instead of other schemes is because GBN has a higher
throughput than Stop-And-Wait HARQ and lower complexity compared to Selective-Repeat
HARQ. The results seemed to show that throughput was effected by the primary user’s chan-
nel quality and in order to achieve optimal throughput the number of packets in transmission
in each time slot should be carefully selected according to the underlying channel quality. To
be more specific they managed to show that for their CGBN-HARQ scheme if the packets in
transit at any given timeslot increases then throughput will degrade if the underlying channel
becomes more unreliable. In their other study[11] regarding a CBGN-scheme they managed
to show that as the allowed packets in transmission increased the throughput also increased
in an environment with no errors. But as error probability increased then troughput increased
initially with smaller transmission windows but then started to decrease and that this shift
happened sooner as error probability increased, meaning that the optimal transmission win-
dow decreased as error probability increased.

4
3 Theoretical Background

3.1 Automatic Repeat ReQuest

The main purpose of Automatic Repeat ReQuest(ARQ-Schemes and Reliable Data Transfer
(RDT) is to provide a reliable service for data transfer. As is depicted in Figure 2 the per-
ceived service from a user-perspective is a reliable channel where data flows back and forth
from two end-points without data loss or data corruption. The reality is slightly more com-
plicated. There is no such thing as a completely reliable channel that guarantees that no data
loss or data corruption occurs whatsoever. Instead certain mechanisms and protocols are
implemented on top of this unreliable channel to provide this service. TCP is for example
a reliable data transfer protocol implemented on top of the unreliable end-to-end network
layer[8, Chapter 3].

Figure 2: Depiction of the perceived service in contrast to the actual implementation[7,


Chapter 3]

The traditional application of ARQ-protocols was to ensure reliability in a single noisy chan-
nel, which means to ensure high reliability in a single transmission hop. But channels has
become more reliable and thus less noisy, meaning that ARQ-protocols are more often than
not implemented at the end-points ensuring reliability across multiple hops in a network and
multiple channels[9, pp. 272–273].
In order to combat data corruption, ie bit errors, there are three fundamental capabilities that
an ARQ-protocol requires[8, Chapter 3].

5
3.1.1 Error Detection

Error detection is a mechanism that allows the receiver to detect when bit errors occur[8,
Chapter 3]. Some techniques are mentioned by James Kurose and Keith Ross[8, pp. 472–479].
These are Parity Checks, Checksumming methods and Cyclic Redundancy Checks (CRC).
In order to perform a Parity Check the sender adds an extra bit, called parity bit, to a bit-
sequence. The value of the parity bit depends on the amount of 1’s in the bit sequence. The
total amount of 1’s will be even including the parity bit. The receiver can now check whether
or not a bit has been flipped by counting the 1’s. How this is done depends on whether a 2D
parity check is done or not. The simplest version is to just count the 1’s which will indicate if
a bit error has occured. A 2D parity check allows the receiver to identify which bit has been
flipped. In Figure 3 this technique is depicted. This ability to detect and correct bit errors is
generally called Foward Error Correction (FEC)[8, pp. 472–479].

Figure 3: On the left is an even parity check. On the right is a two-dimensional parity
check[7, Chapter 3]

Checksumming means that bits of data are, for example, treated as a sequence of integers. A
simple way of doing checksumming is to sum the sequence of integers and use that sum as
error-detection bits[8, pp. 472–479].
The error-detecting method that is widely used today is based on CRC codes, also known as
polynomial codes. Before a d-bit piece of data is sent the sender and receiver needs to agree
on a r + 1 pattern known as a Generator (G). For any piece of data (D) the sender chooses
addtional bits (r) and appends them to D such that the bit pattern d + r is evenly divisible by
the generator G using modulo-2 arithmetic. When the data arrives the receiver divides d + r
with G. If there is a remainder the receiver can conclude that an error occured[8, pp. 472–479].

3.1.2 Receiver Feedback and Retransmission

The way that the receiver provides feedback to the sender is by for example acknowledg-
ments. These can either be positive (ACK) acknowledgments suggesting that the data was
successfully received without errors or they can be negative acknowledgments (NAK) indi-
cating that the sent data was received erroneously. In case of corrupted or lost data the sender
will need to able to restransmit that specific data.

3.2 Go-Back-N

Go-Back-N is a specific type of an ARQ-scheme. The purpose of Go-Back-N, like all ARQ-
schemes, is to provide a service that allows for reliable communication between a sender and
receiver.

6
The name Go-Back-N refers to the behaviour of the protocol when an error occurs[9, p. 279].
The GBN protocol allows the sender to transmit several packets before receiving an acknowl-
edgement (ACK). One constraint is that there can only be a maximun number of packets N,
also called Window Size, in the pipeline. In order to understand how the protocol works
certain concepts will be explained[8, Chapter 3].
The Base is the oldest packet that has not yet been acknowledged. The Nextseqsum refers to
the sequence number of the packet that will be sent next. The base, nextseqsum, and window
size can thus be used to create four different intervals. [0, base-1] signifies the packets that
has been transmitted and acknowledged. [base, nextseqsum-1] have also been sent but not
yet acknowledged. [nextseqsum, base+N-1] are packets that are allowed to be sent, meaning
they are within the window size. The last interval are the packets that can only be sent in due
order after data within the transmission window has been acknowledged [8, Chapter 3]. This
is illustrated clearly in Figure 4.

Figure 4: The view from sender perspective[7, Chapter 3]

There are a couple of essental events that a sender needs to respond to. Whenever the sender
wants to transmit a new packet, they first check whether or not the window is full which
essentially means that there are currently N unacklowedged packets. If there is room for a
new packet then the packet is created and sent. There is a chance that the window is full
and in those cases the sender will return the data to the upper layer and the packet will be
transmitted later or they could be buffered[7, Chapter 3].
Then there is the event of an acknowledgedment. When the sender receives an acknowledg-
ment for a packet with sequence number n then it is called a cumulative acknowledgment,
which means that the receiver has correctly received all sequence numbers prior to that se-
quence number n. When the receiver correctly receives packet n and that packet is in order,
meaning that the last packet delivered to the upper layer is sequence number n-1, then the
data is delivered to the receivers upper layer[7, Chapter 3].

7
Figure 5: A visual representation of Go-Back-N in action[7, Chapter 3]

It was mentioned before that the name Go-Back-N elludes to the behaviour in case of an error.
A timer is used for transmitted packets. Whenever a packet is lost or severely delayed during
transmission it will cause a Retransmission timeout (See Figure 5) which in turn will cause
that packet and all subsequent sent packets to be retransmitted by the sender, meaning we
are ’going back’. This behaviour is visualised in Figure 5 where the second packet is lost and
the receiver responds with an acknowledgement of the last acknowledged packet. When the
timer runs out for the second packet, which is the current base, then the second packet and all
the other packets are retransmitted. On the other hand if an acknowledgment for packet x is
received by the sender and there are other unacknowledged packets in transmission then the
base is updated to x+1 which also means that the window slides forward, the timer restarts
and the process continues. Otherwise if no other packets are unacknowledged, meaning no
packets are currently being transmitted, then the timer stops[7, Chapter 3].

3.2.1 Transmission Efficiency

Apart from the work by Garcia and Widjaja [9, pp. 289–296](See Related Work) showing the
relation between error-probability, frame size and transmission efficiency they also include
the theory behind calculating efficiency for the fundamental ARQ-protocols.

Figure 6: How to calculate effective transmission time (Top) and transmission efficiency (Bot-
tom) for Go-Bsck-N[9, pp. 289–296]

How to calculate both transmission efficiency and effective transmission time for Go-Back-N
is presented in Figure 6. There are a couple of crucial components that needs to be explained
in order to understand these equations. The component 𝑛 𝑓 − 𝑛 0 represents the information
data inside a frame, meaning that the header- and CRC bits are excluded (𝑛 0 ). 𝐸 [𝑡𝑡𝑜𝑡𝑎𝑙 ] is the

8
average total time to deliver a frame, which means that (𝑛 𝑓 − 𝑛 0 )/𝐸 [𝑡𝑡𝑜𝑡𝑎𝑙 ] is the effective
transmission time. The transmission efficiency is thus the effective transmission of a frame
divided by the maximum bitrate (R).
For Go-Back-N, which is a sliding window protocol, the transmission window is a crucial
component in transmission efficiency, which is represented in these equations as 𝑊𝑠 . 𝑃 𝑓 is
the frame/packet error probability and is calculated by 1 − (1 − 𝑝)𝑛 𝑓 where 𝑛 𝑓 is the size of a
frame and p is bit error rate.[9, pp. 289–296].
Certain parameters can be expressed in other ways. Window size (𝑊𝑠 ) can be extended
and expressed as a relation between the delay-bandwidth product (See section 3.3.3) and the
frame/packet size:

𝑡𝑝𝑟𝑜𝑝 × 𝑅
(3.1)
𝑛𝑓 + 1
The expression for efficiency can thus be expressed as:

1− 𝑛0
(3.2)
𝑛𝑓
(1 − 𝑃 𝑓 ) ×𝑅
1+ 1)𝑃 𝑓
𝑡
( 𝑝𝑟𝑜𝑝
𝑛𝑓 +1 −

This suggests that the model only considers transmissions in one direction and only sending
roughly half of the channel-capacity, which can be demonstrated by examening the simplified
delay-bandwidth product (𝑡𝑝𝑟𝑜𝑝 × 𝑅) and comparing it to the actual definition of the delay-
bandwidth product (see Section 3.3.3). This means that it ought to be possible to extend the
model so it sends the full capacity of data. This should be accomplished by doubling the delay-
bandwidth which then represents the required window size for the given propagation delay
and transmission speed.

2(𝑡𝑝𝑟𝑜𝑝 × 𝑅)
(3.3)
𝑛𝑓 + 1
This should now mean that the sender is sending as much data as the channel allows at any
given time, implying a uni-directional transmission.

3.3 Delays and Delay-bandwidth product

3.3.1 Transmission Delay

If the length of the packet is denoted by L and the transmission rate on a link between two
points is denoted by R then the transmission delay is denoted by L/R. What this essentially
means is the time, usually microseconds or milliseconds, it takes to transmit all the packet’s
bits into the link[8, Chapter 1].

3.3.2 Propagation Delay

When a bit is pushed into a link it needs to propagate to the next destination. The time for
the bit to travel from point A to point B is what is called propagation delay and can be
calculated by dividing the distance between A and B (d) by the propagation speed (s), ie.
d/s[8, Chapter 1].

9
The explanation might seem similar to that of transmission delay but the difference is the delay
for bits to get onto the link (transmission delay) and for a bit to travel to the next destination
(propagation delay).

3.3.3 Delay-bandwidth product

The delay-bandwidth product is relevant when determining the maximum limit of data that
can be transmitted at any given time. Delay-bandwidth product is calculated by multiplying
the bit rate and the delay[9, p. 277] which is 2(𝑡𝑝𝑟𝑜𝑝 + 𝑡𝑝𝑟𝑜𝑐 )[9, pp. 289–296]. 𝑡𝑝𝑟𝑜𝑝 signi-
fies propagation delay which was described earlier and 𝑡𝑝𝑟𝑜𝑐 represents the processing delay,
which includes examining packet headers, directing the packet and checking for bit-level er-
rors[8, Chapter 1]. The reason the sum is doubled is because the entire process is bidirectional,
meaning that data can be transfered in both directions, so the round-trip time is in consider-
ation.

10
4 Method

4.1 Choice of Method

In order to test the different parameters involving Go-Back-N a testing environment is needed
that allows for tuning and testing the different parameters. Setting up a genuine networking
environment could work but the scope would be too large for this project. Therefore another
solution is needed for this specific project.
A viable option is to utilize an emulator that allows tuning certain parameters such as window
size, retransmission time, and certain certain delaying parameters. The specific emulator used
in this project is derived from an assignment which can be found in Computer Networking by
James Kurose and Keith Ross[8, p. 329]. The reason for using an emulator is because it allows
for greater control of the underlying environment such as controling the noise-level of the
channel.

4.1.1 Go-Back-N Emulator

The specific implementation of this assignment is an event-based design written in C. The


implementation is a basic Go-Back-N protocol that does not include NAK’s thus handling
corruption and losses in the same way, meaning timeouts and then retranmissions.
The emulator allows the user to change certain parameters. The parameters that can be
changed are:

• Sendlimit: This is the same as Transmission Window Size, meaning the amount of
packets that sent at a given time.

• Pktcount: The amount of packets transmitted before the emulator stops.

• Lossp: The propability that a packet is lost during transmission.

• Corrp: The probability that a transmitted package gets corrupted, ie bit-error

• Datarate: The arrival rate of messages from Application Layer.

• Propdelay: Propagation Delay in this emulator is the time of packet transmissions


between two points. To see the actual definition see Section 3.3.2

• Transdelay: Time units between transmission of two packets is how Transmission


Delay is represented in the emulator but in order to see the real definition see Section
3.3.1.

11
4.2 Data Collection

The data will be collected through a series of experiments using the emulator. In order to
simulate packet corruption the parameter corrp will be used. The other parameters can also
be utilized to simulate different types of transmission links. For example since propagation
delay is the ratio between link length and the propagation speed of the specific link it is
possible to simulate a certain link type.

4.2.1 Experiments

Experiment 1

For this experiments the case that will be considered is a 100Mbps channel where distance
between sender and receiver is 5km and each packet has the size of 1024bytes (8192bits). The
Transmission delay can thus be calculated as the length of the packet, which is assumed to
be 1024byte (8192bit) divided by the transmission speed.

𝐿
𝑇𝑑 = (4.1)
𝑅
If we assume that each packet is 1024 bytes and the transmission speed is 100Mbs and these
values are converted to bits (8192 bits and 1500000b/s) then the transmission delay (See section
3.3.1 Transmission Delay) would be:

8192
≈ 0.000082𝑠 (4.2)
100000000
Since transmission speed is 100Mbps this reflects datarate aswell. The parameter is defined in
the emulator as the arrival rate between messages from the upper layer (Application layer).
If each packet is 1024Byte or 8192Bit then divide packet size with transmission speed (same
as transmission delay) and approximately 0.000082s becomes the appropiate value. Given
that the distance is initially assumed to be 5km it will mean that propagation delay will be
aproximately 0.0005 seconds.
By looking at the theoretical model an inital required transmission window size should be:

2(0.0005 × 100000000)
≈ 12 (4.3)
8192 + 1
Now when all the parameters are set to simulate a 100Mbps channel and a required baseline is
set for the tranmission window it is time to specify the experiments. Testing the tranmission
window will be done by two similar experiments. For each bit error rate (𝑝) (See section 3.2.1)
the associated packet error ratio, 1 − (1 − 𝑝)𝑛𝑓 , will be calculated.
The first part of the experiment will test the baseline and several trasnmission windows larger
than the baseline. The efficiency for each tranmission window size will be calculated and
mapped to each packet error ratio.
The second part of the experiment is similar. Instead of increasing the transmission window
size the transmission window size will instead be decreased. The efficiency for each tranmis-
sion window will be calculated and similarly to the first experiment mapped to each packet
error ratio.

12
Each stage, meaning transmission window compared to packet error ratio, will be tested ap-
proximately 100 times.

Experiment 2

The second experiment will concern the prospect of increasing the trasnmission speed and
focusing on a higher bandwidth. The first experiment focused on a 100Mbps channel. Instead
the focus in this experiment will be on a 1Gbps channel where propagation delay is the same
as the first experiment.
A 1Gbps transmission speed will thus mean that transmission delay is decreased. By looking
at previous examples and the theoretical definition (See section 3.3.1) the new tranmission
delay (and datarate) for this particular experiment will be:

8192
≈ 0.0000082𝑠 (4.4)
1000000000
Where the packet size is 8192bit and tranmission speed is 1000000000bps. The rest of the
experiment will be conducted in the same way as the first one. The bit error rate will be
gradually increased and for each stage of the bit error rate several tranmission windows will
be tested in terms of tranmission efficiency.
The required initial window size give these parameters ought to be, according to the model:

2(0.0005 × 1000000000)
≈ 122 (4.5)
8192 + 1

4.3 Data Analysis

Then data will be gathered through simulations utilizing the emulator specifed above by set-
ting the parameters to appropiate values. It has been mentioned before that transmission
efficiency will be used to determine the impact packet error ratio has on Go-Back-N. In order
to calculate the throughput efficiency from the data gathered by the emulator the through-
put will be computed. This is calculated by dividing total amount of data (𝑑𝑡𝑜𝑡𝑎𝑙 ) transfered
with the total transmission time (𝑡𝑡𝑜𝑡𝑎𝑙 ). This results in the effective transmission rate (𝑅𝑒 𝑓 𝑓 )
(throughput). Transmission efficiency (𝜂) is then essentially the ratio between the utilized
bandwidth and the maximum bandwidth.

𝑑𝑡𝑜𝑡𝑎𝑙
𝑅𝑒 𝑓 𝑓 = (4.6)
𝑡𝑡𝑜𝑡𝑎𝑙

The equation above specifies the efficient transmission (throughput) time which essentially
means how much data can be transfered at any given moment given the environment, for
example error probability ratio.

𝑅𝑒 𝑓 𝑓
𝜂= (4.7)
𝑅𝑡𝑜𝑡𝑎𝑙

This equation is tranmission (throughput) efficiency and as stated above it is the ratio between
utilized bandwidth and the maximum bandwidth possible.

13
These will be used to analyse the results gathered by experiments utilizing the emulator. These
will then be discussed using the theoretical models (See Section 3.2.1 Transmission Efficiency)
in order to gain better understanding of the results and also determine the accuracy of the
emulator. In order to simulate the theoretical models to a higher degree certain factors in
time will be excluded. Since the focus is on transmission efficiency factors like timeouts will
be excluded from the calculations, and thus the main focus is on transmission.

14
5 Results

5.1 Experiment 1: Testing transmission window and bit error rate for 100Mbps
channel

The first experiment is testing the effect transmission window and bit error rate has on effi-
ciency when the bitrate is 100Mbps. Figures 7, 8 & 9 and tables 1 & 2 showcases the results
from this experiment when increasing and decreasing the transmission window from a base-
line which is presented in Figure 7. The first stage was to test the baseline by itself and then
continue the experiment by deviating from the baseline and observe the behaviour. Table
1 and Figure 8 represent the results from increasing the transmission window. Table 2 and
Figure 9 represent the behaviour of decreasing the transmission window.

Figure 7: Efficiency of a simulated Go-Back-N where sendlimit (Transmission window) =


12, datarate = 0.082ms, propdelay = 0.5ms & transdelay = 0.082ms. This means
a 100Mbps channel with propagation delay of 0.5ms. Y-Axis is transmission effi-
ciency and X-axis is bit error rate. The percentages in the x-axis is the packet error
ratio related to the bit error rate.

Table 1 Efficiency derived when increasing transmission window (𝑊𝑡 ) in the presence of
increasing bit error rate. Percentages are representations of packet error ratio given the bit
error rate. Propagation delay = 0.5ms, Transmission delay = 0.082ms, Datarate = 100MBps
𝑊𝑡 0 E-06 (.815%) 5E-06 (4%) E-05 (7.86%) 5E-05 (33%) E-04 (56%)
12 0,994 0,834 0,497 0,327 0,079 0,033
14 0,994 0,822 0,477 0,309 0,073 0,031
16 0,994 0,811 0,459 0,295 0,068 0,028

15
Figure 8: A visual comparison the effects of increasing the transmission window (𝑊𝑡 ) in
terms of efficiency and bit error rate. The baseline is 𝑤𝑡 = 12 which was decided
using the theoretical model. X-axis represents bit error rate and percentages is the
packet error ratio related to the bit error rate. Propagation delay = 0.5ms, Tranmis-
sion delay 0.082ms, datarate = 100MBps

Table 2 Efficiency derived when decreasing transmission window (𝑊𝑡 ) in the presence of
increasing bit error rate. Percentages are representations of packet error ratio given the bit
error rate. Propagation delay = 0.5ms, Transmission delay = 0.082ms, Datarate = 100MBps
𝑊𝑡 0 E-06 (.815%) 5E-06 (4%) E-05 (7.86%) 5E-05 (33%) E-04 (56%)
12 0,994 0,834 0,497 0,3268 0,079 0,033
10 0,900 0,771 0,484 0,3266 0,083 0,036
8 0,737 0,651 0,442 0,312 0,086 0.038

16
Figure 9: A visual comparison the effects of decreasing the transmission window (𝑊𝑡 ) in
terms of efficiency and bit error rate. The baseline is 𝑤𝑡 = 12 which was decided
using the theoretical model. X-axis represents bit error rate and percentages is the
packet error ratio related to the bit error rate. Propagation delay = 0.5ms, Tranmis-
sion delay 0.082ms, datarate = 100MBps

17
5.2 Experiment 2: Testing transmission window and bit error rate for 1Gbps
channel

In the second experiment, which was similar to the first one, the bitrate was increased to
1Gbps. The results are presented in figures 10 & 11 and tables 3 & 4. Instead of using Figure 7
as baseline the transmission window of size 122 is used as the baseline, which was calculated
earlier (See section 4.2.1). After calculating the baseline the behaviour of deviating from it
was observed by later stages of this particular experiment. Figure 10 & Table 3 showcases
the results when increasing the transmission window and Figure 11 & Table 4 is the result
when decreasing the transmission window. Table 5 is the theoretical result from utilizing the
theoretical equations (See section 3.2.1).

Figure 10: Efficiency derived when increasing transmission window (𝑊𝑡 ), from the baseline
of 122, in the presence of increasing bit error rate. Percentages are representa-
tions of packet error ratio given the bit error rate. Propagation delay = 0.5ms,
Transmission delay = 0.0082ms, Datarate = 1Gbps

Table 3 Efficiency derived when increasing transmission window (𝑊𝑡 ) in the presence of
increasing bit error rate. Percentages are representations of packet error ratio given the bit
error rate. Propagation delay = 0.5ms, Transmission delay = 0.0082ms, Datarate = 1Gbps
𝑊𝑡 0 E-06 (.815%) 5E-06 (4%)
122 0,9824 0,3342 0,0895
128 0,9826 0,3253 0,0882
134 0,9825 0,3199 0,0859

18
Figure 11: A visual comparison the effects of decreasing the transmission window (𝑊𝑡 ) in
terms of efficiency and bit error rate. The baseline is 𝑤𝑡 = 122 which was decided
using the theoretical model. X-axis represents bit error rate and percentages is
the packet error ratio related to the bit error rate. Propagation delay = 0.5ms,
Tranmission delay 0.0082ms, datarate = 1Gbps

Table 4 Efficiency derived when decreasing transmission window (𝑊𝑡 ) in the presence of
increasing bit error rate. Percentages are representations of packet error ratio given the bit
error rate. Propagation delay = 0.5ms, Transmission delay = 0.0082ms, Datarate = 1Gbps
𝑊𝑡 0 E-06 (.815%) 5E-06 (4%)
122 0,9824 0,3342 0,0895
116 0,9472 0,3274 0.0892
110 0,8993 0,3296 0,0895

Table 5 Transmission efficiency derived purely from the theoretical model. Transmission
window size (𝑊𝑡 ) = 12, overhead (n0) = 0 given that the emulator does not provide that func-
tionality.
𝑊𝑡 0 E-06 (.815%) 5E-06 (4%) E-05 (7.86%) 5E-05 (33%) E-04 (56%)
12 0.9921 0.9031 0.661 0.4902 0.14357 0.0609

19
20
6 Analysis

In Figure 7 the proposed baseline is presented. The derived effiency is based upon that the
transmission window is the required size for the propagation delay and transmission speed.
A slight variation of bit error rate (or packet error ratio) decreases the efficiency rapidly, as
is showcased by looking at bit error rate 5E-05 which correlates to packet error ratio of 4%.
In the small intervall between 0.815% and 4% the efficiency decreases from close to 100% to
approximately 50%. These tests showcase that aproximately 4% packet error ratio seems to be
the limit before the protocol becomes inefficient in terms of tranmission efficiency.

6.1 Increasing the transmission window

This section is based on the first experiment, meaning that the efficiency of transmission
windows larger than the baseline was tested. The results derived from this experiment is
showcased in Figure 8 and Table 1.
In Figure 8 it can be showcased that increasing the transmission window does not change the
trend of the transmission efficiency. Each window follows a similar pattern, where the major
decrease in efficiency occurs when bit error rate is 0 > 𝑝 > 5𝐸 − 06 meaning packet error
ratio is moving towards approximately 4%.
The differences are that increasing the transmission window size increases the difference in
tranmission efficiency between smaller transmission windows and larger transmission win-
dows, which can for example be observed at bit error rate 5𝐸 − 06 in Figure 8. This pattern
is consistent throughout the different bit error rates as is demonstrated in Table 1. At the
endpoints, meaning 𝑝 = 0 or 𝑝 = 𝐸 − 04, the difference in transmission efficiency is close to
zero, where 𝑝 = 0 there is virtually no difference at all.

6.2 Decreasing the transmission window

Decreasing the window size gives different results from those presented in Figure 8 and Table
1. The results gathered from decreasing the window size is visualised and presented in Fig-
ure 8 and Table 2. The difference in decreasing the window size as opposed to increasing it
showcases a pattern where the largest difference in efficiency occurs when bit error rate (𝑝)
is moving towards zero.
As bit error rate increases the difference in transmission efficiency decreases. The pattern
that occurs is that smaller window sizes eventually converges with the baseline in terms of
transmission efficiency, and it occurs at different bit error rates. As transmission window
decreases the difference in transmission efficiency compared to the baseline persists for larger
bit error rates. By looking at Figure 9 it is showcased that 𝑊𝑡 = 10 converges with the baseline
(𝑊𝑡 = 12) when 𝑝 ≈ 5𝐸 − 06 and 𝑊𝑡 = 8 is the same as 𝑊𝑡 = 12 in terms of transmission
efficiency when 𝑝 ≈ 𝐸 − 05. This pattern does not occur when transmission speed is increases,

21
see Figure 11.

6.3 Increasing transmission speed

The results from the second experiment, as outlined in Section 4.2.1, are visualised and show-
cased in figues 10 & 11 and tables 3 & 4. The trend is similar to the results showcased in the
first experiments. Increasing the transmission window and thus deviating from the baseline
causes a difference in efficiency, see Table 3. Decreasing the transmission window on the
other hand creates most difference in efficiency for lower bit error rates and as bit error rate
increases the efficiency for the different transmission windows start to converge, see Figure
11 and Table 4.
The major difference between the results of the experiments is that the efficiency for a higher
transmission speed (1Gbps) decreases quicker in terms of bit error rate compared to a lower
transmission speed (See Figure 8). This can be visualised clearly by comparing the efficiency
for bit error rate E-06 in figures 8 & 10 where in the first figure the efficiency is slightly
over 80% and in the second figure the efficiency is approximately 33-34%. In Table 3 it also
shows that increasing the transmission window causes a drop in efficiency, for example when
bit error rate is E-06. The differences are less noticable compared to the tests using lower
transmission speed.

22
7 Discussion

7.1 Interpretation of Results

7.1.1 The impact of bit error rate on transmission efficiency

The impact of bit error rate seems dependent on the size of the transmission window which
can also be validated by studying the theoretical models aswell as looking at figures 8 & 10
where the efficiency decreases more rapidly for higher transmission windows.
One interesting thing to note is the difference in efficiency between the different transmission
speeds. We already pointed out that bit error rate E-06 resulted in a efficiency slightly over
80% for 100Mbps channel and 33% for a 1Gbps channel. Why is there such a big difference be-
tween efficiency given the transmission speed? Even according to the model this is supposed
to happen. By increasing the transmission speed the required window size increases which
will also decrease the overall efficiency even though we are utilizing the seemingly optimal
window size for those conditions. The other parameter that effects the window size is prop-
agation delay. If propagation delay is constant and transmission speed increases then the
proportion between them increases thus requiring a larger transmission window, meaning
that the propagation delay in this sense causes a bottleneck. So in order to minimize the re-
quired transmission window as transmission speed increases the propagation delay needs to
decrease. But one thing that ought to be mentioned is that even if the transmission efficiency
of a 1Gbps channel with bit error rate E-06 was roughly 33% that is still a higher throughput
compared to a 100Mbps channel where ≈ 80% of the bandwidth was utilized. The throughput
is then 0.33GBps compared to 0.08GBps.

7.1.2 The importance of transmission window size on transmission efficiency

From the results in either of the experiments it can be surmissed that increasing the transmis-
sion window size will cause a decrease in transmission efficiency. Increasing the transmission
window is something, at least from the theoretical models (See section 3.2.1), that should have
been somewhat predictable. By looking at the models we can say that increasing window size
decreases the efficiency since the denomiator 1+(𝑊𝑠 −1)𝑃 𝑓 becomes larger. So the results gath-
ered from the experiments seem to validate those expectations. It should also be mentioned
that by increasing the window then we are deviating from the required window size and since
propagation delay and transmission speed are constants in the experiments then we are not
utilizing the required window. By looking at the extendended model for the transmission ef-
ficiency we can see that the window size is dependent on, for example, propagation delay and
transmission speed so in order to accommodate a higher transmission window those values
would have to be adjusted. In this case they were not so we were deviating from the required
window size. A small deviation from the required window size seems to have a larger impact
for lower transmission speeds, which is logical given that the proportion between two trans-
mission window sizes is larger when dealing with smaller transmission windows in general,
which is dependent on a lower transmission speed.

23
The results gathered by deviating from the required window by decreasing the transmission
window seems to showcase opposite results from what should be expected by studying the
theoretical model. Decreasing the window ought to increase the efficiency. Why are we
then given opposite results? Once again it should be mentioned that the theoretical model
expects that propagation delay and/or transmission speed is adjusted to accommodate the
specific transmission window. So when we are decreasing the window but not adjusting
the propagation delay or transmission speed we are deviating from the required window and
utilizing a window size which is not large enough for the transmission speed. This means that
the transmission window gets filled up too quickly and restricting the overall flow through
the channel causing decreased efficiency.
In both cases (100Mbps & 1Gbps) we can see similar results which seems to validate the
theoretical model, at least in terms of required transmission window size. In both cases, when
decreasing the window size and deviating from the required window the efficiency drops but
when we increase and there is no noise the efficiency is optimal but as noise increase it causes
a decrease in efficiency.

7.1.3 Comparisons between theory and simulations

By looking at Table 1 where 𝑊𝑡 = 12 and Table 5 we can see a discrepancy between the ex-
pected theoretical results and the results from the emulator. There is quite a difference in
efficiency between them. It was not expected that these two were going to be matching ex-
actly. So why is there a difference between them? Mostly it has to do with the limitation of the
proposed theoretical model. There are a couple of parameters that are included in the emula-
tor but not in the theoretical model, such as transmission delay, which will add to the overall
time and thus decrease the efficiency. Another aspect which effects the efficiency from the
emulator is the added time of receiving an acknowledgment which will also add time and de-
crease the efficiency. These discrepencies were also present when increasing the transmission
speed but in both cases the efficiency from the emulator was lower than the theoretical effi-
ciency and follows a similar trend so even if there was a discrepancy in efficiency the results
still managed to follow general expectations.

7.2 Limitations

7.2.1 Choice of method

Given that we are using an emulator in order to conduct experiments we are limited to the
implementation of that specific emulator. Certain delays such as processing delay which was
mentioned earlier is excluded, meaning that the results could be slightly missaligned. The
emulator utilized transmission delay which was not included in the theoretical model, thus
causing a lower efficiency than expected from the theory. This would not impact the overall
conclusions but could still impact the results. For example where efficiency is around 33%
for a 1Gbps channel it should in theory be higher. So it was not possible to completely align
the results from the emulator with the theoretical model, which was not something that was
expected to begin with.
As mentioned before the theoretical models do not account for everyting, which is under-
standable given the complexity it would entail. Thus we can conclude that the models are
limited as well and do not reflect a realistic setting in which Go Back-N would operate within.
In section 3.2.1 the theoretical models for transmission efficiency were presented. At the end

24
it was surmissed that 2(𝑡𝑝𝑟𝑜𝑝 × 𝑅) ought to be used, which is not the case for all implemen-
tations of Go-back-N. The reason for using this specific model was because the emulator was
uni-directional, meaning only sending data in one direction, and therefore the sender was
able to fill up the channel all by itself, ie. utilize the entire delay-bandwidth.

7.3 Conclusion and Recommendations

Whenever a deviation from the required transmission window size occurs there will be a
decrease in efficiency. When lowering the size of the transmission window it causes a decrease
in efficiency because the size creates a bottleneck for the overall flow of data. When increasing
the size it will also cause a drop in efficiency which will only be tangible when increasing
the bit error rate. The difference in efficiency becomes less noticable as transmission speed
increases because a higher transmission window is required and small deviations in the size of
the transmission window will thus be of a smaller ratio and have less impact. All this seems to
suggest that the delay-bandwidth is the deciding factor for deciding how large the minimum
transmission window needs to be in order to accommodate the flow of data for Go-Back-N
but does not act as an upper limit, at least not when there is small amount of noise.

7.4 Future Work

There are mainly two aspects that would be interesting to research. The first thing would be
to extend and further develop the functionalites of the Go-Back-N emulator so that it becomes
bi-directional and include most aspects of sending and receiving data, for example process-
ing delay, which would also mean that the theoretical model would have to be adjusted. The
adjustments would for example be to revert the delay-bandwidth to half its size giving the
ability of another sender to utilize some of the delay-bandwidth. To research the complexity
of a channel being utilized of multiple sources at once (ie. flow control) would be very inter-
esting. The second aspect would be to extend the theoretical model so that it also includes the
impact of acknowledgments, which would mean that the emulator needs to be further devel-
oped. Perhaps it would be possible to then get results that would more accurately represent
some theoretical model.

25
26
Bibliography

[1] K. Ausavapattanakun and A. Nosratinia. “Analysis of Go-Back-N ARQ in Block Fad-


ing Channels”. In: IEEE TRANSACTIONS ON WIRELESS COMMUNICATIONS 6.8 (2007),
pp. 2793–2797.
[2] V. Cerf and R. Kahn. “A Protocol for Packet Network Intercommunication”. In: IEEE
Trans on Comms 22.5 (1974).
[3] V. Cerf, D. Yogen, and C. Sunshine. SPECIFICATION OF INTERNET TRANSMISSION
CONTROL PROGRAM. https://tools.ietf.org/html/rfc675. Accessed:
2020-05-19. 1974.
[4] T. De Cola and M. Marchese. “Reliable Data Delivery over Deep Space Networks: Ben-
efits of Long Erasure Codes over ARQ Strategies”. In: IEEE Wireless Communications
17.2 (2010), pp. 57–65.
[5] T. Fisher. What Is Wi-Fi 6? https://www.lifewire.com/wi-fi-6-802-11-
ax-4797345. Accessed: 2020-06-04. 2020.
[6] K. Kotuliakova, V. Hajovksy, and Kotuliak I. “Simulation of ARQ and HARQ schemes
with various block length”. In: Journal of Electrical Engineering 59.2 (2008), pp. 101–103.
[7] James F. Kurose and Keith W. Ross. Computer Networking A Top-Down Approach. Pear-
son Education Limited, 2012.
[8] James F. Kurose and Keith W. Ross. Computer Networking A Top-Down Approach. Pear-
son Education Limited, 2016.
[9] Alberto. Leon-Garcia and Indra. Widjaja. Communication Networks: Fundamental Con-
cepts and Key Architectures. McGraw-Hill Education, 2004.
[10] C. Pimentel and R. Siqueira. “Analysis of the Go-Back-N Protocol on Finite-State Markov
Rician Fading Channels”. In: IEEE Transactions on Vehicular Technology 57.4 (2008),
pp. 2627–2632.
[11] A. Rehman, L-L. Yang, and L. Hanzo. “Delay and Throughput Analysis of Cognitive
Go-Back-N HARQ in the Face of Imperfect Sensing”. In: IEEE Access 5 (2017).
[12] A. Rehman et al. “Throughput and Delay Analysis of Cognitive Go-Back-N Hybrid
Automatic Repeat reQuest Using Discrete-Time Markov Modelling”. In: IEEE Access
4 (2016).
[13] R. Wang et al. “Protocols for Reliable Data Transport in Space Internet”. In: IEEE COM-
MUNICATIONS SURVEYS TUTORIALS (2009).

27

You might also like