Title: Przemyslaw Korzynski
1Military University of Technology Faculty of
Electronic Institute of Telecommunication
WRCP protocol elements implementation in MadWiFi
driver
- Przemyslaw Korzynski
- TutorJacek Jarmakiewicz, Ph. D.
2Idea of WRCP protocol implementation
- Increase range of data transmission using relay
mechanism - Minimise mobile stations energy consumption by
selection of station with highest energy level - Goal of my investigation
- Implementation of WRCP protocol in Madwifi driver
3Presentation scheme
- Analysis and capabilities of WRCP protocol
- WiFi driver requirements for implementation
- MadWiFi driver review
- Changes in MadWiFi driver
- Summary
- Future tasks
4Analysis and capabilities of WRCP protocol
- Routing protocol for mobile Ad-hoc networks
- Metrics used by protocol for route selection
- Received signal strength (SNR, Signal-to-Noise
Ratio) - Battery energy level of selected node
- Information about route to reach the Access Point
- Relay mechanism
5WRCP Protocol
Node 2
Node 1
Node 6
Access Point
Node 3
Data
Data
ACK
Data
ACK
Node 1
Node 3
ACK
Node 6
Router
Data
ACK
Data
ACK
Node 4
Node 5
Data
Time
ACK
Access Point
6WiFi driver requirements
- Open- Source software
- Easy to modify
- Widely available
MadWiFi
7MadWiFi driver review
- Source code divided into functional parts
- IEEE 802.11 standard part is most interesting
- Files responsible for various functions
- ieee80211output.c
- ieee80211_power.c
- ieee80211_rate.c
8Source code examples
struct ieee80211_frame u_int8_t i_fc2 __le16
i_dur u_int8_t i_addr1IEEE80211_ADDR_LEN u
_int8_t i_addr2IEEE80211_ADDR_LEN u_int8_t
i_addr3IEEE80211_ADDR_LEN u_int8_t i_seq2
__packed
define IEEE80211_FC0_SUBTYPE_ASSOC_REQ 0x00
define IEEE80211_FC0_SUBTYPE_ASSOC_RESP 0x10
define IEEE80211_FC0_SUBTYPE_REASSOC_REQ
0x20 define IEEE80211_FC0_SUBTYPE_REASSOC_RESP
0x30 define IEEE80211_FC0_SUBTYPE_BEACON 0x80
9MadWiFi code changes
- New frame subtype
- Designing functions processing input and output
data - Building structures containing WRCP data
10Functions processing data
int build_frame() get own battery
status save own battery status in frame move
pointer get information about neighbour
nodes save information about neighbour
nodes return created frame address
if (received frame is for WRCP protocol)
move pointer read timestamp save
timestamp in structure move pointer read
information about neighbour nodes save
information about neighbour nodes in
structure move pointer read information
about energy level save information about
energy level
11Summary
- Madwifi good choice for WRCP implementation
- Necessity of programming in C
- WRCP must be transparent to MadWiFi mechanisms
- Changes compatible with IEEE 802.11 standard
- Possibility to quickly test results
- Enhanced MadWiFi driver possibilities
12Go ahead
- MadWiFi code familiarization
- WRCP protocol elements implementation
- Test of WRCP mechanism propriety
- WRCP examination
- Thesis
13 Thank you for attention
Przemyslaw Korzynski
Tytul
13/ilosc stron