Plot the characteristic curve of throughput versus offered traffic for a Pure and Slotted ALOHA system
NOTE: NetSim Academic supports a maximum of 100 nodes and hence this experiment can only be done partially with NetSim Academic. NetSim Standard/Pro would be required to simulate all the configurations.
Theory#
ALOHA provides a wireless data network. It is a multiple access protocol (this protocol is for allocating a multiple access channel). There are two main versions of ALOHA: pure and slotted. They differ with respect to whether or not time is divided up into discrete slots into which all frames must fit.
Pure ALOHA#
In Pure Aloha, users transmit whenever they have data to be sent. There will be collisions and the colliding frames will then be retransmitted. In NetSim's Aloha library, the sender waits a random amount of time per the exponential back-off algorithm and sends it again. The frame is discarded when the number of collisions a packet experiences crosses the the "Retry Limit" - a user settable parameter in the GUI.
Let ''frame time'' denotes the amount of time needed to transmit the standard, fixed-length frame. In this experiment point, we assume that the new frames generated by the stations are modeled by a Poisson distribution with a mean of N frames per frame time. If N > 1, the nodes are generating frames at a higher rate than the channel can handle, and nearly every frame will suffer a collision. For reasonable throughput, we would expect 0 \< N \< 1. In addition to the new frames, the stations also generate retransmissions of frames that previously suffered collisions.
The probability of no other traffic being initiated during the entire vulnerable period is given by$\ e^{- 2G}\ $which leads to $S = \ G \times e^{- 2G}$ where, S is the throughput and G is the offered load. The units of$\ S$ and $G$ is frames per frame time.
G is the mean of the Poisson distribution followed by the transmission attempts per frame time, old and new combined. Old frames mean those frames that have previously suffered collisions.
The maximum throughput occurs at $G = 0.5$, with $S = \frac{1}{2e}$, which is about 0.184. In other words, the best we can hope for is a channel utilization of 18%. This result is not very encouraging, but with everyone transmitting at will, we could hardly have expected a 100% success rate.
Slotted ALOHA#
In slotted Aloha, time is divided up into discrete intervals, each interval corresponding to one frame. In Slotted Aloha, a node is required to wait for the beginning of the next slot in order to send the next packet. The probability of no other traffic being initiated during the entire vulnerable period is given by $e^{- G}$ which leads to $S = G \times e^{- G}$. It is easy to compute that Slotted Aloha peaks at G = 1, with a throughput of $s = \frac{1}{e}$ or about 0.368.
Offered load and throughput calculations1#
Using NetSim, the attempts per packet time (G) can be calculated as follows.
$$\ \ G = \ \ \frac{Number\ of\ packets\ transmitted \times PacketTime(s)\ }{SimulationTime\ (s)}$$
where, G is Attempts per packet time. We derive the above formula keeping in mind that (i) NetSim's output metric, the number of packets transmitted, is nothing but the number of attempts, and (ii) since packets transmitted is computed over the entire simulation time, the number of "packet times" would be $\frac{SimulationTime(s)}{PacketTransmissionTime(s)}$ , which is in the denominator. Note that in NetSim the output metric Packets transmitted is counted at link (PHY layer) level. Hence MAC layer re-tries are factored into this metric.
The throughput (in Mbps) per packet time can be obtained as follows.
$$\ \ S = \ \ \ \ \frac{Number\ of\ packets\ successful \times PacketTime(s)}{SimulationTime\ (s)}$$
where, S = Throughput per packet time. In case of slotted aloha packet (transmission) time is equal to slot length (time). The packet transmission time is the PHY layer packet size in bits divided by the PHY rate in bits/s. Considering the PHY layer packet size as 1500B, and the PHY rate as 10 Mbps, the packet transmission time (or packet time) would be $\frac{1500 \times 8}{10 \times 10^{6}} = 1200\ \mu s$.
In the following experiment, we have taken packet size as 1460 B (Data Size) plus 28 B (Overheads) which equals 1488 B. The PHY data rate is 10 Mbps and hence packet time is equal to 1.2 milliseconds.
Network Set Up#
Open NetSim and click on Experiments> Legacy Networks> Throughput versus load for Pure and Slotted Aloha> Pure Aloha then click on the tile in the middle panel to load the example as shown in below Figure 15‑1.
Figure 15‑1: List of scenarios for the example of Throughput versus load for Pure and Slotted Aloha
NetSim UI displays the configuration file corresponding to this experiment as shown below Figure 15‑2.
Figure 15‑2: Network set up for studying the Pure aloha
Pure Aloha: Input for 10-Nodes sample
Step 1: Drop 10 nodes (i.e. 9 Nodes are generating traffic.)
Node 2, 3, 4, 5, 6, 7, 8, 9, and 10 generates traffic. The properties of Nodes 2, 3, 4, 5, 6, 7, 8, 9, and 10 which transmits data to Node 1 are given in the below table.
Step 2: Wireless Node Properties
Wireless Node Properties
Interface1_Wireless (PHYSICAL_LAYER)
Data Rate (Mbps) 10
Interface1_Wireless (DATALINK_LAYER)
Retry_Limit 0
MAC_Buffer FALSE
Slot Length(µs) 1200
Table 15‑1: Wireless Node Properties
(Note: Slot Length(µs) parameter present only in Slotted Aloha Wireless Node Properties Interface_1 (Wireless))
Step 3: In Adhoc Link Properties, channel characteristics is set as No Path Loss.
Step 4: Application Properties
- Right click on the Application Flow "App1 CUSTOM" and select Properties or click on the Application icon present in the top ribbon/toolbar. The properties are set according to the values given in the below Table 15‑2.
Application_1
Properties
Application Method Unicast
Application Type Custom
Source_Id 2
Destination_Id 1
Transport Protocol UDP
Packet Size Distribution Constant
Value (Bytes) 1460
Inter Arrival Time Distribution Exponential
Packet Inter Arrival Time (µs) 200000
Table 15‑2: For Application_1 Properties
- Similarly create 8 more application, i.e., Source_Id as 3, 4, 5, 6, 7, 8, 9, 10 and Destination_Id as 1, set Packet Size and Inter Arrival Time as shown in above table.
Step 5: Plots are enabled in NetSim GUI.
Step 6: Simulation Time- 10 Seconds
Note: Obtain the values of Total Number of Packets Transmitted and Collided from the results window of NetSim.
Input for 20-Nodes sample
Step 1: Drop 20 nodes (i.e., 19 Nodes are generating traffic.)
Nodes 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, and 20 transmit data to Node 1.
Continue the experiment by increasing the number of nodes generating traffic as 29, 39, 49, 59, 69, 79, 89, 99, 109, 119, 129, 139, 149, 159, 169, 179, 189 and 199 nodes.
Slotted ALOHA: Input for 10-Nodes sample
Step 1: Drop 20 nodes (i.e., 19 Nodes are generating traffic.)
Nodes 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, and 20 transmit data to Node 1 and set properties for nodes and application as mentioned above.
Continue the experiment by increasing the number of nodes generating traffic as 39, 59, 79, 99, 119, 139, 159, 179, 199, 219, 239, 259, 279, 299, 319, 339, 359, 379, and 399 nodes.
Output#
Comparison Table: The values of Total Number of Packets Transmitted and Collided obtained from the network statistics after running NetSim simulation are provided in the table below along with Throughput per packet time& Number of Packets Transmitted per packet time.
Pure Aloha:
+--------+----------+-------+---------+---------+----------+---------+ | Number | Total | Total | Suc | A | Th | Thr | | of | number | n | cessful | ttempts | roughput | oughput | | nodes | of | umber | Packets | per | per | per | | gene | Packets | of | ( | packet | packet | packet | | rating | Tra | Pa | Packets | time(G) | time(S) | time. | | t | nsmitted | ckets | Trans | | | Theo | | raffic | | Col | mitted- | | | retical | | | | lided | Packets | | | | | | | | Co | | | (S | | | | | llided) | | | =$\math | | | | | | | | bf{\ }\ | | | | | | | | mathbf{ | | | | | | | | G}\math | | | | | | | | bf{*}\m | | | | | | | | athbf{e | | | | | | | | }^{\mat | | | | | | | | hbf{- 2 | | | | | | | | }\mathb | | | | | | | | f{G}}$) | +========+==========+=======+=========+=========+==========+=========+ | 9 | 494 | 60 | 434 | 0.05928 | 0.05208 | 0.05265 | +--------+----------+-------+---------+---------+----------+---------+ | 19 | 978 | 187 | 791 | 0.11736 | 0.09492 | 0.09281 | +--------+----------+-------+---------+---------+----------+---------+ | 29 | 1482 | 415 | 1067 | 0.17784 | 0.12804 | 0.12461 | +--------+----------+-------+---------+---------+----------+---------+ | 39 | 1991 | 700 | 1291 | 0.23892 | 0.15492 | 0.14816 | +--------+----------+-------+---------+---------+----------+---------+ | 49 | 2443 | 1056 | 1387 | 0.29316 | 0.16644 | 0.16311 | +--------+----------+-------+---------+---------+----------+---------+ | 59 | 2907 | 1429 | 1478 | 0.34884 | 0.17736 | 0.17363 | +--------+----------+-------+---------+---------+----------+---------+ | 69 | 3434 | 1874 | 1560 | 0.4122 | 0.19212 | 0.18075 | +--------+----------+-------+---------+---------+----------+---------+ | 79 | 3964 | 2377 | 1587 | 0.47568 | 0.19044 | 0.18371 | +--------+----------+-------+---------+---------+----------+---------+ | 89 | 4468 | 2909 | 1559 | 0.53616 | 0.18792 | 0.18348 | +--------+----------+-------+---------+---------+----------+---------+ | 99 | 4998 | 3468 | 1530 | 0.59976 | 0.1836 | 0.18073 | +--------+----------+-------+---------+---------+----------+---------+ | 109 | 5538 | 4073 | 1465 | 0.66456 | 0.1758 | 0.17592 | +--------+----------+-------+---------+---------+----------+---------+ | 119 | 6023 | 4574 | 1449 | 0.72276 | 0.17388 | 0.1703 | +--------+----------+-------+---------+---------+----------+---------+ | 129 | 6503 | 5102 | 1401 | 0.78036 | 0.16812 | 0.16386 | +--------+----------+-------+---------+---------+----------+---------+ | 139 | 6992 | 5650 | 1342 | 0.83904 | 0.16104 | 0.15668 | +--------+----------+-------+---------+---------+----------+---------+ | 149 | 7481 | 6208 | 1273 | 0.89772 | 0.15276 | 0.14907 | +--------+----------+-------+---------+---------+----------+---------+ | 159 | 7998 | 6787 | 1211 | 0.95976 | 0.14532 | 0.14078 | +--------+----------+-------+---------+---------+----------+---------+ | 169 | 8507 | 7341 | 1166 | 1.02084 | 0.13992 | 0.13252 | +--------+----------+-------+---------+---------+----------+---------+ | 179 | 9008 | 7924 | 1084 | 1.08096 | 0.13008 | 0.12442 | +--------+----------+-------+---------+---------+----------+---------+ | 189 | 9486 | 8483 | 1003 | 1.13832 | 0.12036 | 0.11682 | +--------+----------+-------+---------+---------+----------+---------+ | 199 | 10025 | 9093 | 932 | 1.203 | 0.11184 | 0.10848 | +--------+----------+-------+---------+---------+----------+---------+
Table 15‑3: Total No. of Packets Transmitted, Collided, Attempts per packet time and throughput per packet time for Pure Aloha.
Slotted Aloha
Number of nodes generating traffic | Total number of Packets Transmitted | Total number of Packets Collided | Successful Packets (Packets Transmitted-Packets Collided) | Attempts per packet time(G) | Throughput per packet time(S) | Throughput per packet time. Theoretical (S = G*e−G) |
|||
---|---|---|---|---|---|---|---|---|---|
19 | 974 | 111 | 863 | 0.11688 | 0.10356 | 0.10399 | |||
39 | 1981 | 407 | 1574 | 0.23772 | 0.18888 | 0.18742 | |||
59 | 2893 | 891 | 2002 | 0.34716 | 0.24024 | 0.24534 | |||
79 | 3946 | 1504 | 2442 | 0.47352 | 0.29304 | 0.29491 | |||
99 | 4976 | 2286 | 2690 | 0.59712 | 0.3228 | 0.32865 | |||
119 | 5996 | 3144 | 2852 | 0.71952 | 0.34224 | 0.3504 | |||
139 | 6961 | 3999 | 2962 | 0.83532 | 0.35544 | 0.36231 | |||
159 | 7967 | 4974 | 2993 | 0.95652 | 0.35904 | 0.36752 | |||
179 | 8969 | 5994 | 2975 | 1.07628 | 0.357 | 0.36686 | |||
199 | 9983 | 7042 | 2941 | 1.19796 | 0.35292 | 0.36156 | |||
219 | 10926 | 8011 | 2915 | 1.31112 | 0.3498 | 0.35337 | |||
239 | 11928 | 9073 | 2855 | 1.43136 | 0.3426 | 0.34207 | |||
259 | 12969 | 10224 | 2745 | 1.55628 | 0.3294 | 0.32825 | |||
279 | 13916 | 11266 | 2650 | 1.66992 | 0.318 | 0.31438 | |||
299 | 14945 | 12430 | 2515 | 1.7934 | 0.3018 | 0.29841 | |||
319 | 15967 | 13592 | 2375 | 1.91604 | 0.285 | 0.28202 | |||
339 | 17011 | 14765 | 2246 | 2.04132 | 0.26952 | 0.26508 | |||
359 | 17977 | 15895 | 2082 | 2.15724 | 0.24984 | 0.24947 | |||
379 | 18983 | 17010 | 1973 | 2.27796 | 0.23676 | 0.23348 | |||
399 | 19987 | 18146 | 1841 | 2.39844 | 0.22092 | 0.21792 |
Table 15‑4: Total No. of Packets Transmitted, Collided, Throughput per packet time and throughput per packet time for Slotted Aloha
Thus, the following characteristic plot for the Pure ALOHA and Slotted ALOHA is obtained, which matches the theoretical result.
Figure 15‑3: Throughput vs offered load for pure Aloha
Figure 15‑4: Throughput vs. Offered load for Slotted Aloha
-
A good reference for this topic is Section 4.2.1: ALOHA, of the book, Computer Networking, 5th Edition by Tanenbaum and Wetherall ↩