Changes between Version 43 and Version 44 of 802.11/wlan_exp/app_notes/dcf_with_multiple_flows
- Timestamp:
- Apr 21, 2014, 11:00:57 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
802.11/wlan_exp/app_notes/dcf_with_multiple_flows
v43 v44 86 86 == Contention Windows vs. Time == 87 87 88 The 802.11 DCF contention window determines the distribution of slot counts for selecting the random backoff period. The contention window grows (i.e. longer average backoffs) with each failed attempt to transmit a packet. The contention window growth is exponential, starting at 16 and doubling with each re-transmission, up to a maximum of 1024. 89 90 Ideally a node's contention window would never increase from 16 (the minimum). In reality packet collisions and losses require re-transmissions, leading to inevitable contention window increases. 91 92 The contention window resets to its minimum following a successful transmission. When a collision occurs we expect a node's contention window to increase briefly, then reset when the transmission failure is resolved by a future re-transmission. But if collisions are very common (i.e. transmission failures are frequent), we would expect to see higher contention window values that persist longer. 93 88 94 ||||= '''Contention Windows at Each Node vs. Time''' =|| 89 95 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_cw_vs_time.png, width=500)]] || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_cw_vs_time.png, width=500)]] || 90 96 || '''Carrier Sensing Enabled''' || '''Carrier Sensing Disabled''' || 91 97 98 These plots show the actual contention window value of every node at the time of every PHY transmission. The contention window is only updated following PHY transmissions, so these plots capture the complete history of contention window values at every node. The impact of carrier sensing on contention window is dramatic. Disabling carrier sensing increases the probability of collisions. As explained above, more collisions leads to more transmission failures, leading to higher expected contention window values. This is exactly what the results show. 99 100 101 == Characterizing Collisions == 102 103 ||||= '''Flow 1''' =|| 104 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:cs_coll_flow_1.png, width=300)]] || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_1.png, width=300)]] || 105 || '''Carrier Sensing Enabled''' || '''Carrier Sensing Disabled''' || 92 106 93 107 ---- … … 97 111 98 112 113 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_1.png, width=300)]] || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_2.png, width=300)]] || 99 114 100 115 101 == Experiment 1: Physical Carrier Sensing Enabled ==102 116 103 The first experiment enables physical carrier sensing at all 3 nodes. This experiment highlights the expected behavior of the DCF in an environment with heavy contention for the medium. 117 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_1.png, width=300)]] || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_2.png, width=300)]] || 118 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_3.png, width=300)]] || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_4.png, width=300)]] || 104 119 105 === Experiment Details ===106 * Packet Length: 1400 byte payloads (1428 bytes OTA with MAC header and FCS)107 * PHY Rate: 18 Mbps (QPSK, code rate 3/4)108 * Tx Power: -5 dBm109 * Trial Duration: 300 seconds110 * 2.4GHz channel 1111 * Physical Carrier Sensing Threshold: 250/1023 (approximately -70 dBm)112 == Analysis ==113 The same analysis is performed on the results of the two experiments below. The analysis results are shown in the plots for experiment.114 120 115 === Aggregate Results ===116 121 117 === Log-based Results ===118 Each experiment ran for 300 seconds, during which all three nodes were writing logs to local memory for every Tx and Rx event. These logs were retrieved after the experiment for analysis.119 122 120 * '''Throughput vs. Time''': computes the throughput of each flow over a 1 second rolling window. The aggregate throughput calculated above is the mean of the 1 second throughputs, but very interesting behaviors can be observed by calculating these throughputs on shorter time scales.121 122 * '''Throughput Histogram''': plots the probability density function of the time series of throughputs calculated for '''Throughput vs. Time'''.123 124 * '''Rx Power vs. Time''': plots the power of every packet received for each flow125 126 * '''Contention Window vs. Time''': plots the contention window at each node for every PHY transmission127 128 * '''Collision Time Offsets''': plots the difference in start times of transmissions that collided, broken down by flow and colliding transmitter129 130 131 132 === Results ===133 123 134 124 … … 161 151 162 152 163 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_xput_vs_time.png, width=600)]] || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_xput_hist.png, width=600)]] ||164 || '''Throughput vs. Time''' || '''Throughput Histogram''' ||165 166 167 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_pow_vs_time.png, width=600)]] ||168 || '''Rx Power vs. Time'' ||169 170 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_cw_vs_time.png, width=600)]] ||171 || '''Rx Power vs. Time'' ||172 173 153 174 154 || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_1.png, width=300)]] || [[Image(wiki:802.11/wlan_exp/app_notes/dcf_with_multiple_flows/figs:no_cs_coll_flow_2.png, width=300)]] ||