0% found this document useful (0 votes)
88 views5 pages

ECE 478/578: Fundamentals of Computer Networks: 1 Preliminaries

The document describes Project #1 for the course ECE 478/578 which involves simulating the Distributed Coordination Function (DCF) of the 802.11 wireless networking standard. Students must form groups of two and simulate two wireless network scenarios: concurrent communications and hidden terminals. For each scenario, performance metrics such as throughput, collisions, delay, and fairness index must be calculated and graphed for both basic CSMA/CA and CSMA/CA with RTS/CTS for varying traffic rates. Guidelines are provided for developing the simulations, generating Poisson traffic, and plotting the results.

Uploaded by

tom
Copyright
© © All Rights Reserved
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)
88 views5 pages

ECE 478/578: Fundamentals of Computer Networks: 1 Preliminaries

The document describes Project #1 for the course ECE 478/578 which involves simulating the Distributed Coordination Function (DCF) of the 802.11 wireless networking standard. Students must form groups of two and simulate two wireless network scenarios: concurrent communications and hidden terminals. For each scenario, performance metrics such as throughput, collisions, delay, and fairness index must be calculated and graphed for both basic CSMA/CA and CSMA/CA with RTS/CTS for varying traffic rates. Guidelines are provided for developing the simulations, generating Poisson traffic, and plotting the results.

Uploaded by

tom
Copyright
© © All Rights Reserved
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/ 5

ECE 478/578: Fundamentals of Computer Networks

Project # 1. The Distributed Coordination Function (DCF) of 802.11

Due Monday Oct. 10, Electronically via D2L at 11:59 pm

1 Preliminaries
• Read the project description. When you are finished reading it, read it again.

• You must form a group of (strictly) two people. If you do not have a partner please post on Piazza.

• Due date: Monday Oct 10, 2012 11:59 pm via D2L.

• You are free to use a programming language of your choice. You are also welcomed to use existing
discrete-time event network simulators such as NS-3 (https://www.nsnam.org/). Several wireless
modules are readily available.

2 Project Description
You are to study the performance of multiple access protocols in a wireless setting. Consider the network
shown in Figure 1. The circles denote the communication range R of each station. We are interested in
the following two scenarios:
A. Concurrent Communications: Stations A, B, C, and D of Figure 1(a) are within the same
collision domain (any transmission is received by all). Communication takes place between pairs A ! B
and C ! D. Traffic is generated at A and C according to a Poisson distribution with parameters A and
C , respectively.
B. Hidden Terminals: stations A, B, C, and D of Figure 1(b), belong to separate collision domains.
Communication takes place between pairs A ! B and C ! D. Traffic is generated at A and C according
to a Poisson distribution with parameters A and C , respectively.
For each scenario, compute relevant performance metrics for the following multiple access protocols.
A time-slotted system is assumed.

1. CSMA with Collision Avoidance (CSMA/CA) according to the 802.11 DCF function.

(a) A station T x ready to transmit (when a frame has arrived for transmission from the upper
layers of the network stack), senses the channel for an initial period of DIFS time.
(b) If the channel is busy, T x (and every other station with a frame for transmission) monitors
the channel until it becomes idle. When the channel becomes idle for DIFS time, T x selects a
random backo↵ value in [0, CW 1]. T x decrements his counter by one with every idle slot. If
the channel becomes busy, T x freezes its backo↵ counter.When the counter reaches zero, T x
transmits its frame.

1
R
A B

A B C D

C D

(a) (b)
Figure 1: (a) Topology for parallel transmissions within the same collision domain, (b) topology for
parallel transmissions when A and C are hidden terminals.
(c) If the frame is successfully received (no collision) by Rx, the station Rx replies with an ACK
frame after SIFS time. This completes the transmission round and the protocol repeats for
the next transmission. For successive transmissions, the station has to sense for DIFS time
before starting the countdown.
(d) If a collision occurs, the stations that collided double their contention window CW and repeat
the backo↵ process by selecting a backo↵ value in [0, CW 1]. The CW value cannot exceed
threshold CWmax .

2. CSMA/CA with virtual carrier sensing enabled: RTS and CTS frames are exchanged before the
transmission of a frame. If RTS transmissions collide, stations invoke the exponential backo↵
mechanism outlined in 1(c). Otherwise, stations that overhear an RTS/CTS message defer from
transmission for the time indicated in the NAV vector.

3 Simulation parameters
Parameter Value Parameter Value
Data frame size 1,500 bytes ACK, RTS, CTS size 30 bytes
Slot duration 20 µs DIFS duration 40 µs
SIFS duration 10 µs Transmission rate 6 Mbps
CW0 4 slots CWmax 1024 slots
{50, 100, 200, 300, 400, 500} frames/sec Simulation time 10 sec

4 Performance Metrics
Evaluate the protocol performance with respect to the following metrics:
Throughput T : The individual station’s throughput as a function of .
Collisions N : The number of collisions (data and RTS/CTS) as a function of .
Delay D: The average frame delay as a function .
Fairness Index F I: The fraction of time that the channel is occupied by pair A ! B over the fraction
of time that the channel is occupied by pair C ! D as a function of .
Your experiments must be repeated for two di↵erent scenarios: (a) A = C = and (b) A =
2 , C = . Assume no losses due to the imperfections of the wireless medium.

2
5 Project Report
Include with your report:

• A brief introduction describing the project. In this section include the responsibilities of each team
member with references to which parts/steps he/she completed.

• A description on how you developed your simulations.

• Graphs for each of the simulated scenarios.

1. Throughput T
(a) Node A: Throughput T (Kbps) vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2 (four lines in total).
(b) Node C: Throughput T (Kbps) vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2 (four lines in total).
(c) Node A: Throughput T (Kbps) vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2, when A = 2 C (four lines in total).
(d) Node C: Throughput T (Kbps) vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2, when A = 2 C (four lines in total).
2. Collisions N
(a) Node A: Number of collisions N vs. rate (frames/sec) for scenarios A and B, and
CSMA implementations 1 and 2 (four lines in total).
(b) Node C: Number of collisions N vs. rate (frames/sec) for scenarios A and B, and
CSMA implementations 1 and 2 (four lines in total).
(c) Node A: Number of collisions N vs. rate (frames/sec) for scenarios A and B, and
CSMA implementations 1 and 2, when A = 2 C (four lines in total).
(d) Node C: Number of collisions N vs. rate (frames/sec) for scenarios A and B, and
CSMA implementations 1 and 2, when A = 2 C (four lines in total).
3. Delay D
(a) Node A: Average delay D vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2 (four lines in total).
(b) Node C: Average delay D vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2 (four lines in total).
(c) Node A: Average delay D vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2, when A = 2 C (four lines in total).
(d) Node C: Average delay D vs. rate (frames/sec) for scenarios A and B, and CSMA
implementations 1 and 2, when A = 2 C (four lines in total).
4. Fairness Index F I
(a) Fairness Index F I vs. rate (frames/sec) for scenarios A and B, and CSMA implemen-
tations 1 and 2 (four lines in total).
(b) Fairness Index F I vs. rate (frames/sec) for scenarios A and B, and CSMA implemen-
tations 1 and 2, when A = 2 C (four lines in total).

• Justification for the results shown in your graphs.

3
Appendix
Generating Poisson-distributed traffic: To generate Poisson-distributed traffic, it is sufficient to
generate a series of exponentially-distributed inter-arrival times. Such times can be generated using the
inverse CDF transformation method.
Step 1: Generate a series of uniformly distributed numbers U = {u1 , u2 , . . . , un } with ui 2 (0, 1), 8i.
Step 2: Compute series X = {x1 , x2 , . . . , xn } of exponentially distributed numbers with , as
1
X= ln(1 U) (1)

Using X, you can determine the time of each frame arrival at each station. For instance, frame 1
arrives at time x1 , frame 2 arrives at time x1 + x2 , etc. The inter-arrival time generation process has to
be repeated for each transmitting station.

Plotting tips:

1. Label your axes and use appropriate units

2. Make sure the scales on both axes are appropriate. If you are to use the same variable on multiple
plots (e.g. throughput) use the same scale on all plots so they can be compared

3. Do not superimpose more than 4-5 plot lines on the same plot.

4. If more than one plot lines are present in the same plot make sure to individually label each one

5. For individual plot lines use di↵erent marker shapes so they can be distinguishable.

6. Keep in mind that colors do not show on a black and white printout. So if you color code your
lines, use some other discernable labeling such as dashed lines to di↵erentiate between plot lines.

MATLAB code for generating good figures

close all; % closes all open figure windows

set(0,’defaulttextinterpreter’,’latex’); % allows you to use latex math


set(0,’defaultlinelinewidth’,2); % line width is set to 2
set(0,’DefaultLineMarkerSize’,10); % marker size is set to 10
set(0,’DefaultTextFontSize’, 16); % Font size is set to 16
set(0,’DefaultAxesFontSize’,16); % font size for the axes is set to 16

figure(1)
plot(X, Y1, ’-bo’, X, Y2, ’–rs’, X); % plotting three curves Y1, Y2 for the same X
grid on; % grid lines on the plot
legend(’CSMA’, ’CSMA w. virtual Sensing’);
ylabel(’$T$ (Kbps)’);
xlabel(’$ $’ (frames/sec));

4
Student Name:
Grading rubric
Scenario A - One Collision Domain Topology GRADE
CSMA/CA Implementation of CSMA
1 Throughput /6
2 Number of Collisions /6
3 Delay /6
4 Fairness Index /5
Virtual Carrier Sensing Implementation of virtual carrier sensing
5 Throughput /6
6 Number of Collisions /6
7 Delay /6
8 Fairness Index /5
Scenario B - Hidden Terminal Topology
CSMA/CA Implementation of CSMA
9 Throughput /6
10 Delay /6
11 Number of Collisions /6
12 Fairness Index /5
Virtual Carrier Sensing Implementation of virtual carrier sensing
13 Throughput /6
14 Delay /6
15 Number of Collisions /6
16 Fairness Index /5
Presentation /8
Total /100

You might also like