Wireless airtime analysis: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 29: | Line 29: | ||
[http://wiki.laptop.org/images/a/ab/Airtime.py This python tool] was designed to take a capture file (tcpdump format) as input and calculate the airtime consumption of a given type of traffic (specified by a wireshark filter) for a consolidation interval: |
[http://wiki.laptop.org/images/a/ab/Airtime.py This python tool] was designed to take a capture file (tcpdump format) as input and calculate the airtime consumption of a given type of traffic (specified by a wireshark filter) for a consolidation interval: |
||
=== Instructions === |
|||
./airtime.py -f <pcap-file> -i <interval> -w <filter> -o <output_format> [--no-fcs] |
./airtime.py -f <pcap-file> -i <interval> -w <filter> -o <output_format> [--no-fcs] |
||
Options: |
|||
-h, --help show this help message and exit |
|||
-f PCAPFILE, --pcap-file=PCAPFILE |
|||
Capture dump |
|||
-t TEXTFILE, --text-file=TEXTFILE |
|||
Capture already converted/filtered |
|||
-i INTERVAL, --interval=INTERVAL |
|||
Consolidation interval in seconds |
|||
-w FILTER, --filter=FILTER |
|||
Wireshark filter |
|||
-o OUTPUT, --output-format=OUTPUT |
|||
Output Format [csv, lines] |
|||
--no-fcs don't check if frames have bad crc |
|||
=== Notes === |
|||
* The input file (PCAPFILE) is a tcpdump capture file (captured by tcpdump, wireshark or any other compatible tool) |
|||
** Radiotap header must be present (for the script needs the tx datarate) |
|||
** If your capture does not provide Frame CheckSum (this is the case of the captures from XOs) you must provide the flag --no-fcs |
|||
** By default only frames with good FCS will be computed |
|||
* The script generates a temporary file in the local directory named <caprute file>.tmp3 |
|||
** This file can be used instead of the original pcap file (using the -t option), if the filter is the same. This is meant to save processing time if you are to use the same set of data, changing only the consolidation interval. |
|||
** The .tmp3 file can be safely removed |
|||
* The default output format will dump a line for each consolidation timeslot with the percentage of airtime consumed. |
|||
** You can use '-o csv' to get a comma separated file that can be easily imported by a spreadsheet program |
|||
* Filters should be quoted: -w "filter expression". (see examples bellow) |
|||
** If you do not provide a filter, all frames in the file will be computed (total airtime) |
|||
* Default consolidation interval is 1 second. |
|||
** Fractions of a second can be used too. |
|||
=== Examples === |
|||
1. To compute all airtime consumption for each one second interval |
|||
./airtime.py -f capture.dump |
|||
2. To compute all traffic related to XOs i |
Revision as of 13:03, 6 June 2008
This page is devoted to the analysis of the airtime consumption in XO networks. In other words, to getting answers to questions like: how much of the medium is consumed by management traffic, or beacons, or the path discovery mechanism.
To obtain this answers we do a little math and introduce a tool that will make this math easier to do.
Airtime and Modulation technique
The time necessary to transmit a given frame is function not only of the transmission rate; it is also affected by the modulation technique in use. An XO will transmit frames in two different mechanisms:
- For the rates 1, 2, 5.5 and 11Mbps, frames will be transmitted in CCK
- For the rates 6, 9, 12, 18, 24, 36, 48 and 54Mbps, frames will be transmitted in OFDM
Given:
- Frame size in bytes: S
- Datarate in Mbps: R
- Airtime in microseconds (us): T
For frames transmitted in CCK:
T = 192 + (S*8)/R
Note1: 192 is preamble duration (144us) + PLPC header duration (48us)
Note2: Supposing long preambles are being used in all transmissions.
For frames transmitted at more than 11Mbps (OFDM):
T = 26 + (S*8)/R
Note: 26 is signal extension time (6us) + preamble (20us)
Airtime tool
This python tool was designed to take a capture file (tcpdump format) as input and calculate the airtime consumption of a given type of traffic (specified by a wireshark filter) for a consolidation interval:
Instructions
./airtime.py -f <pcap-file> -i <interval> -w <filter> -o <output_format> [--no-fcs]
Options: -h, --help show this help message and exit -f PCAPFILE, --pcap-file=PCAPFILE Capture dump -t TEXTFILE, --text-file=TEXTFILE Capture already converted/filtered -i INTERVAL, --interval=INTERVAL Consolidation interval in seconds -w FILTER, --filter=FILTER Wireshark filter -o OUTPUT, --output-format=OUTPUT Output Format [csv, lines] --no-fcs don't check if frames have bad crc
Notes
- The input file (PCAPFILE) is a tcpdump capture file (captured by tcpdump, wireshark or any other compatible tool)
- Radiotap header must be present (for the script needs the tx datarate)
- If your capture does not provide Frame CheckSum (this is the case of the captures from XOs) you must provide the flag --no-fcs
- By default only frames with good FCS will be computed
- The script generates a temporary file in the local directory named <caprute file>.tmp3
- This file can be used instead of the original pcap file (using the -t option), if the filter is the same. This is meant to save processing time if you are to use the same set of data, changing only the consolidation interval.
- The .tmp3 file can be safely removed
- The default output format will dump a line for each consolidation timeslot with the percentage of airtime consumed.
- You can use '-o csv' to get a comma separated file that can be easily imported by a spreadsheet program
- Filters should be quoted: -w "filter expression". (see examples bellow)
- If you do not provide a filter, all frames in the file will be computed (total airtime)
- Default consolidation interval is 1 second.
- Fractions of a second can be used too.
Examples
1. To compute all airtime consumption for each one second interval
./airtime.py -f capture.dump
2. To compute all traffic related to XOs i