24
RSSI Measurements in an 802.11 Network Haris Kremo, Ivan Šeškar, Predrag Spasojeviü

RSSI

Embed Size (px)

Citation preview

Page 1: RSSI

RSSI Measurements in an 802.11 Network

Haris Kremo, Ivan Šeškar,

Predrag Spasojeviü

Page 2: RSSI

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

Page 3: RSSI

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.”

Page 4: RSSI

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

– …

Page 5: RSSI

5

Routing

i

j

k

Page 6: RSSI

6

…?

Page 7: RSSI

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

Page 8: RSSI

8

Why Is RSSI Introduced in 802.11?

The primary intention was:

• Detection of the absence of traffic on the channel

• Roaming Threshold

Page 9: RSSI

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)

• %

Page 10: RSSI

10

How Is RSSI Obtained Cont’d

From Hightower, Vakili, Borriello, Want: Design and Calibration of the SpotON Ad-Hoc Location Sensing System

Page 11: RSSI

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

Page 12: RSSI

12

How Can We Do Measurements Cont’d:

src RSSI

NIC

driver

pcap

libmac

client daemon

server daemon

Page 13: RSSI

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

Page 14: RSSI

14

How Can We Do Measurements Cont’d:

client n

server

Page 15: RSSI

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

Page 16: RSSI

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

Page 17: RSSI

17

More on the Experiment Cont’d

Example of packets captured with Ethereal

Page 18: RSSI

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, …);

Page 19: RSSI

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�������������

Page 20: RSSI

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

Page 21: RSSI

21

Briefly About Ganglia Cont’d

Page 22: RSSI

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

Page 23: RSSI

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)

Page 24: RSSI

24

Aknowlegments:

– Winlab’s Master of Network ;-)

– Folks at 5th floor in CoRE building: Kishore,Faiyaz, Henry Tseng, Lalit, Sachin, Bhaskar…