Sie sind auf Seite 1von 24

RSSI Measurements in an 802.

11
Network
Haris Kremo, Ivan ekar,
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 Contd
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(P
mW
)
RSSI
RSSI_Max ~ -10 dBm (for Cisco 93)
RSSI
min
~ -96 dBm (for Cisco 16)
%
10
How Is RSSI Obtained Contd
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 senders 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
Contd:
src RSSI
NIC
d
r
i
v
e
r
p
c
a
p
l
i
b
m
a
c
client
daemon
server
daemon
13
How Can We Do Measurements
Contd:
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
Contd:
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 Contd
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 Contd
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;
else
update one of the existing records;
if (ANALYSIS_TIME)
avg_rssi = sum/count;
write(*fp, );
19
Preliminary Results:
00:0o:1:?9:c0:|
Tu S, !G 0:30:9 ?003
0:G:d:d:?3:c? G 3?1 1.000000
0::c:3:|:o o !00 !?.00000
Tu S, !G 0:3!:!0 ?003
0:G:d:d:?3:c? !0G G03 ?.oo190
0::c:3:|:o o !! ?!.3000
Tu S, !G 0:33:00 ?003
0:G:d:d:?3:c? 3?1 G1.o00003
0::c:3:|:o !00 !1.?o!1
0:!0:1|:d0::| 0 0 0.000000
0::9::d1: 0 0 0.000000
0::d:3!::?| 0 0 0.000000
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 Contd
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:
Winlabs Master of Network ;-)
Folks at 5
th
floor in CoRE building: Kishore,
Faiyaz, Henry Tseng, Lalit, Sachin, Bhaskar