Upload
enbi-acorda-ferrer
View
217
Download
1
Embed Size (px)
Citation preview
RSSI Measurements in an 802.11 Network
Haris Kremo, Ivan Šeškar,
Predrag Spasojeviü
2
Outline:
• What is RSSI and why we want to measure it?
• How can we do these measurements?
• Current state of the experiment setup
• Future work
3
What Is RSSI and Why We Want to Measure It?
• RSSI ~ Received Signal Strength Indicator• One of the parameters available from a NIC (Network
Interface Card)• It is part of 802.11 standard:
– “The receive signal strength indicator (RSSI) is an optional parameter that has a value of 0 through RSSI Max.”
– “RSSI shall be measured between the beginning of the start frame delimiter (SFD) and the end of the PLCP header error check (HEC).”
– “Absolute accuracy of the RSSI reading is not specified.”
4
What Is RSSI … Cont’d
• It can be useful for the following purposes:– Node position determining (spatial data)
– RF energy distribution modeling
These two lead to:
– Routing
– Sensor information in the closed loop power control
– …
5
Routing
i
j
k
6
…?
7
How Is RSSI Obtained?
• RSSI is 1 byte (0 – 255) binary number spanned from 0 to RSSI_Max
• RSSI_Max is not unique, for instance:– Cisco: 0 – 100
– Atheros: 0 – 60
8
Why Is RSSI Introduced in 802.11?
The primary intention was:
• Detection of the absence of traffic on the channel
• Roaming Threshold
9
Power Is Expressed in Four “Units of Measure”:
• mW
• dBm ~ 10*log(PmW)
• RSSI
RSSI_Max ~ -10 dBm (for Cisco 93)
RSSImin ~ -96 dBm (for Cisco 16)
• %
10
How Is RSSI Obtained Cont’d
From Hightower, Vakili, Borriello, Want: Design and Calibration of the SpotON Ad-Hoc Location Sensing System
11
How Can We Do Measurements:
• Modify the driver to append current RSSI value to the each incoming packet a node is receiving –novelty: use libmac to do this
• Extract raw packets using pcap library, bypassing the regular protocol layer stack
• Extract sender’s MAC address from the packet header to distinct particular senders
• Also, extract RSSI value from the very end of the packet
12
How Can We Do Measurements Cont’d:
src RSSI
NIC
driver
pcap
libmac
client daemon
server daemon
13
How Can We Do Measurements Cont’d:
• Each node can do simple processing of the data; distributive computing improves scalability
• Send preprocessed data to the central server (for now using Ethernet connection) for permanent storage and further analysis
• Finally, the whole system should behave in the similar way Ganglia is monitoring distributed computing systems
14
How Can We Do Measurements Cont’d:
client n
server
15
More on the Experiment
Like in Ganglia case, there are two programs supposed to run at the same time:
• Client application is the background daemon running on each sensor node
• Server application establishes connection with the clients through regular network protocol stack and collects the data
• Not only collecting the data, server can run analysis programs, or even more complex tasks
16
More on the Experiment Cont’d
The tools currently available (for free) for network monitoring:
• pcap function library
• tcpdump presents packets extracted using pcap in terminal window
• Ethereal is the Graphic User Interface for tcpdump
17
More on the Experiment Cont’d
Example of packets captured with Ethereal
18
u_char * packet
rssi_bundle * buffer dst_mac
src_mac
rssi
FILE * fp
host_mac_addr
ctime(cap_t)
src_mac count sum avg_rssi
…
…
result_table * head * current * tail
src_mac
avg_rssi
sum
count
*next *next NULL
if (new src_mac)expand list;update new record;
elseupdate one of the existing records;
if (ANALYSIS_TIME)avg_rssi = sum/count;write(*fp, …);
19
Preliminary Results:
������������F��ED
7XH�6HS�����������������
����G��DG����F�����������������
����HF�I��EI�D�����������������
7XH�6HS�����������������
����G��DG����F��������������������
����HF�I��EI�D�����������������
7XH�6HS�����������������
����G��DG����F�����������������
����HF�I��EI�D�����������������
������E�G���D�E��������������
����H����G���D�������������
�����G�����H��E�������������
20
Briefly About Ganglia
• Program developed at Berkeley with the purpose of monitoring clusters of computers
• The tool to monitor state of computers involved in distributed computing tasks, mainly resources usage
• Currently, more than 500 clusters are involved in data collecting
21
Briefly About Ganglia Cont’d
22
The Goal
To develop the program which is the sort of a hybrid between Ganglia and Ethereal:
• Collected data should be similar to what Ethereal presents with emphasis on wireless networks
• Unlike Ethereal, which is single-user application, the program should act like Ganglia, collecting data from many wireless nodes
23
The Ultimate Goal
• To be able to monitor state of a wireless network and to use that data for the purpose of all sort of improvements:– Using libmac we can control the network by
setting available card parameters (for instance transmit power)
– Collected data will be available for off-line statistical analysis (for instance channel modeling)
24
Aknowlegments:
– Winlab’s Master of Network ;-)
– Folks at 5th floor in CoRE building: Kishore,Faiyaz, Henry Tseng, Lalit, Sachin, Bhaskar…