Enabling Simultaneous Connections to Multiple Wireless Networks

Download Report

Transcript Enabling Simultaneous Connections to Multiple Wireless Networks

MultiNet:
Connecting to Multiple IEEE 802.11 Networks
Using a Single Radio
Ranveer Chandra, Cornell University
joint work with:
Victor Bahl (MSR) and Pradeep Bahl (Windows Networking)
Motivation
A Sample Scenario
Company ‘B’ guy at
Company ‘A’
Company ‘A’ employee
May not have more
than one wireless
card!
Infrastructure
Ad Hoc
Company ‘A’ employee
•
•
Other applications:
Gateway node of a wireless ad hoc network
Extending the range of an infrastructure network
Why is it so difficult?
How is it so different from Ethernet?
Wireless networks require association and authentication to
communicate on a network. You can only be connected to one
network at a time.
Why can’t we use two wireless cards?
Power, form factor, and what if we want to connect to10 networks
OK.. Why not just connect to the network on which you want to
send the packet?
The association and authentication steps take time. Moreover,
even if this time were reduced, a new scheme is required to
maintain the state of each network, to simultaneously support
connections on multiple networks.
Our Problem
 Provide a mechanism for users to connect to multiple networks, such that:
- The overhead is transparent to the user
- The performance is acceptable on each network
- The performance does not degrade with the number of switching nodes
- It works with commercial wireless cards.
 A set of suggestions for improving performance without breaking the 802.11 protocol
Our Approach: MultiNet
Idea:
• Virtualize the wireless card, one instance per desired network.
• Multiplex the card across all the networks
Application is unaware of network switching
The virtual instances:
• Maintain the network state, such as the IP
address, and the SSID of the network
• Present an always active network interface to
the upper layers
Intermediate layer between IP and MAC:
• Maintains a virtual instance of the wireless
card per network
• Multiplexes across networks, activates one
virtual instance at a time.
• Buffers packets for inactive networks
Implementation on Windows XP
Combination of NDIS IM driver and a user level service
Service
o Maintains synchronization with other MultiNet nodes
o Sends signals to the IM driver using IOCTLs.
Driver
o MultiNet Miniport Driver (MMD): Miniport instances.
One per network, and IP sees each miniport instance
as a different network card.
o MultiNet Protocol Driver (MPD): Manages miniports,
switches card and buffers packets.
MultiNet: Screen Snapshot
Switching: Is it feasible?
How long does it take to switch from one network to another?
Steps 1,2 ~ 70 ms
Delay! ~ 3.8 seconds
Reduced by 3.7 seconds
3.87 sec to go
from IS to AH
network
802.11 Ack
802.11 Beacon
802.11 CTS
802.11 Probe Req
802.11 Probe Resp
802.11 RTS
TCP FTP Data
Reduced it to 170 ms by
trapping media disconnects
12.2
12.4
12.6
12.8
13
13.2
13.4
13.6
13.8
14
14.2
14.4
14.6
14.8
15
15.2
15.4
15.6
15.8
16
16.2
Time in Seconds
Conclusion:
Although feasible, switching still takes considerable time. MultiNet should
be designed to handle large switching delays, and should perform better
when this delay is reduced.
MultiNet: Switching Networks
Problem Statement:
When does the card switch from one network to another?
Activity Period (in ms)
One approach:
See traffic over a window of
‘x’ time slots, and give
time proportional to the number
of packets seen on the network.
Plusses:
- better utilization of network time
- avoids need for zero configuration
Minuses:
- Might not work with multihop networks
1400
10
1200
-10
1000
-30
800
-50
600
-70
400
-90
200
-110
0
-130
0
20
40
60
80
100
120
Time (in seconds)
Ad hoc
Infrastructure
TrafficAH
TrafficIS
140
Traffic (in packets)
The solution should:
• allow users to specify priorities among the connected networks
• give more time to networks that have seen more traffic
• not starve networks with low traffic
MultiNet: Buffering Packets
Problem Statement:
(i) Deliver packets sent by the MultiNet node when the network is not active
(ii) Deliver packets sent to the MultiNet node when the node is not active
B
A
MultiNet Node
in ad hoc mode
Proposed Architecture:
• Access points store switching state and buffer packets for Multinet Nodes
(Analogous to Power Save Mode of IEEE 802.11 for IS networks)
• Nodes in ad hoc networks also store the same information for MultiNet nodes in
the ad hoc network
(Works for a single hop ad hoc network)
MultiNet: Power Consumption
Traffic on the IS network
(Surge trace)
1600
1400
Packet Size (in Bytes)
1200
1000
800
600
400
200
0
0
1000
2000
3000
4000
5000
6000
7000
Time (in Seconds)
1600
1400
Packet Size (in Bytes)
1200
1000
800
600
400
200
0
0
1000
2000
3000
4000
5000
6000
Time (in Seconds)
Traffic on the AH network
(Real trace)
7000
TEST MACHINE
How much power is saved using MultiNet?
MultiNet: Power Consumption
16000
8000
14000
12000
6000
Energy (In Joules)
Energy Consumed (In Joules)
7000
10000
8000
6000
5000
4000
3000
4000
2000
2000
1000
0
0
0
1000
2000
3000
4000
5000
6000
0
500
1000
1500
2000
MultiNet
Without Power Save
MultiNet uses much less power
than the two radio scheme
3000
3500
4000
4500
5000
5500
6000
Time (In Seconds)
Time (In Seconds)
Two Radios
2500
Two Radio PS
MultiNet No PS
MultiNet PS
With Power Save
The PSM optimized MultiNet uses
much less power.
Conclusions
•
•
•
•
•
Future Work
Test MultiNet with more than 2 networks
Improving performance through tighter coupling with newer drivers
and/or MAC changes
Better bandwidth sharing with legacy non-MultiNet nodes
Improve TCP Performance over MultiNet
Make code available for download
Contributions of this paper
• Proposes a new virtualization architecture for wireless cards.
• Relaxes a physical constraint of the number of wireless cards that
can be used by an application.
• Actually builds and shows the feasibility of such a system!