Starting from:
$30

$24

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




Preliminaries



Read the project description. When you are nished reading it, read it again.




You must form a group of two people. If you do not have a partner please post on Piazza (Use the "Search for teammate" post)




You are free to use a programming language of your choice.




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: Tra c is generated at A and C according to a Poisson arrival process with parameters A and C, respectively.




B. Hidden Terminals: Stations A; B; and C of Figure 1(b), belong to two collision domains. Communication takes place between pairs A ! B and C ! B: Tra c is generated at A and C according to a Poisson arrival process 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.




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



A station T x ready to transmit (when a frame has arrived for transmission from the upper layers of the network stack) selects a random backo value in [0; CW0 1]: It rst senses the channel for an initial period of DIFS time.



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, 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.



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.



If a collision occurs, the stations that collided double their contention window CW and repeat the backo process. After k collisions, the backo value is selected from [0; 2kCW0 1]: The CW value cannot exceed threshold CWmax.



1
R




B



A B 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.







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.



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
A; C
f50; 100; 200; 300g frames=sec
Simulation time
10 sec



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 .




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.




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.




Throughput T



Node A: Throughput T (Kbps) vs. rate (frames/sec) for scenarios A and B, and CSMA implementations 1 and 2 (four lines in total).



Node C: Throughput T (Kbps) vs. rate (frames/sec) for scenarios A and B, and CSMA implementations 1 and 2 (four lines in total).



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).



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).



Collisions N



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).



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).



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).



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).



Fairness Index F I



Fairness Index F I vs. rate (frames/sec) for scenarios A and B, and CSMA implemen-tations 1 and 2 (four lines in total).



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).



Justi cation for the results shown in your graphs.




Appendix




Generating Poisson-distributed tra c: To generate Poisson-distributed tra c, it is su cient 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 = fu1; u2; : : : ; ung with ui 2 (0; 1); 8i:




Step 2: Compute series X = fx1; x2; : : : ; xng of exponentially distributed numbers with , as

X =
1
U)


ln(1
(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:


Label your axes and use appropriate units



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



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



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



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



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



MATLAB code for generating good gures




close all; % closes all open gure 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




gure(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));


Student Name:







Grading rubric




Scenario A - One Collision Domain Topology
GRADE


CSMA/CA
Implementation of CSMA




1
Throughput
/8
2
Number of Collisions
/8
3
Fairness Index
/6
Virtual Carrier Sensing
Implementation of virtual carrier sensing




4
Throughput
/8
5
Number of Collisions
/8
6
Fairness Index
/6
Scenario B - Hidden Terminal Topology




CSMA/CA
Implementation of CSMA




7
Throughput
/8
8
Number of Collisions
/8
9
Fairness Index
/6
Virtual Carrier Sensing
Implementation of virtual carrier sensing




10
Throughput
/8
11
Number of Collisions
/8
12
Fairness Index
/6


Presentation
/12


Total


/100

More products