Transcript MultiNet

MultiNet:Connecting to Multiple
IEEE 802.11 Networks Using a
Single Wireless Card
By 徐志賢
Ranveer Chandra
Department of Computer
Science Cornell University
Paramvir Bahl
Microsoft Research
One Microsoft Way
Pradeep Bahl
Microsoft Corporation
One Microsoft Way
INFOCOM 2004
1
Outline
•
•
•
•
•
•
•
Introduction
Background & Related Work
The MultiNet Approach
Implementation
System Evaluation
Discussion
Comments
2
Introduction
• MultiNet
– A new virtualization architecture that abstracts
a single WLAN card to appear as multiple
virtual cards to the user.
– Simultaneously connected to physically
different wireless networks.
– Achieved by “switching” between networks
and activating the corresponding stack
3
Introduction (cont’)
• MultiNet Advantages
– Allows application and protocol like TCP/IP to work
without changes
– Save up to 50% of the energy consumed over nodes
with 2 cards while providing similar functionality
– Increase connectivity for end users
• Connect to ad hoc network while staying on a IS network
– Bridging between infrastructure and ad hoc networks
• A gateway node
– Increased range of wireless network
• Border nodes can act as relays for authorized nodes that are
outside the range of AP
4
Virtual Machine
5
Virtual Machine (cont’)
6
Outline
•
•
•
•
•
•
•
Introduction
Background & Related Work
The MultiNet Approach
Implementation
System Evaluation
Discussion
Comments
8
Background
• Limitations in Existing Systems
– The card can NOT interact with nodes in
another network if the nodes are operating on
a different frequency channel
– As Practical concerned, most available WLAN
cards trigger a firmware reset each time the
mode is changed
• Infrastructure <-> ad hoc
9
Background (cont’)
• Next Generation of IEEE 802.11 WLAN
cards
– On the concern of cost, venders (AMD,
Realtek) are minimizing the functionality of
code residing in the cards
– Native WiFi card
• Implement just the basic time-critical MAC
functions
• Leave their control and configuration to OS
• Allow OS to maintain state and don’t undergo a
firmware reset on changing the mode
10
Related Work
• This topic has not been studied before in the
context of WLANs
• Bluetooth networks
– node  piconet  scatternets
– Use a frequency hopping scheme for communication
between multiple nodes
– Knowing the correct hopping sequence of 2 networks
and hops fast enough  simultaneously connected to
the 2 networks
11
Outline
• Introduction
• Background & Related Work
• The MultiNet Approach
–
–
–
–
•
•
•
•
The virtualization architecture
Buffer protocol
Switching Algorithm
Synchronization Protocol
Implementation
System Evaluation
Discussion
Comments
12
The MultiNet Approach
• Virtualization:An abstraction of multiple wireless
networks as different always active virtual adapter over a
single WLAN card
• An adaptive network hopping scheme where a card
gets a time slot, called the Activity Period, for each
network on particular channel
• The sum of the active period over all connected
networks  Switching Cycle (SC)
• The authors limit the scope to study of single-hop
network
– Infrastructure <=> ad hoc
13
The Virtualization Architecture
• Implemented by the
MultiNet Protocol
Driver
– Responsible for
switching the wireless
card across different
networks and buffering
packets for networks
that are currently
inactive
14
Buffering Protocol
• Packets sent from the MultiNet card
– buffering packets for networks that are
currently inactive
– 最多delay
• Tj activity period of network j
• δj  the time taken to switch to network j
15
Buffering Protocol (cont’)
• Packets sent to the MultiNet card
– 送給某inactive adapter的packet lost!!
– 因此要送packet給MultiNet node的nodes要為
其做buffer
– A card send packet to <all node in ad hoc
network> or <AP in IS network> to inform its
“temporarily unavailability” before switching
out the network
16
AP buffer packets for
nodes which enter
Power Saving Mode
4-tuple in the state table:
Card’s address,
SSID,
the time when the card
switched from the SSID,
when it is expected to
switch back
17
Switching Algorithm
• Strategies:
– Fixed Priority:使用者依需求自訂
– Adaptive Schemes:依node上的traffic來決定
• If MultiNet switch across N networks, and network i
has seen Pi packets in its last Activity Period ATPi ,
then the node stays in network j for an ATPj
=
Utilization
of network j
Utilization across
all network
Total amount of
time the node is
active across all
networks
• Adaptive Buffer:pkts buffered
• Adaptive Traffic:pkts sent+rcved
18
Switching Algorithm (cont’)
•
Switching on IEEE 802.11 network
card
– Listen Interval(進入PSM的時間長度),
Activity Period on IS network
•
•
都是AP Beacon Period的倍數
前者≦後者
– Allow MultiNet node to sleep to PSM if
1. In Infrastructure network
2. No packets to send
19
Synchronization Protocol
• Effect on IS and Ad Hoc networks
– AP永遠留在同一個network中no problem
– 對ad hoc網路來說,如果有兩個node一個switch進來,
一個剛好switch出去無法互傳
• A Distributed Switching Algorithm
– Synchronize留在同一個network中的時間
– Notation:
•
•
•
•
ATPi ,
SC:constant, known by al nodes
TEATPi :在ATPi中已過時間
Leader :在某個network中MAC最大的node
20
Synchronization Protocol (cont’)
•
Algorithm Description:進入network j時,
1.
2.
3.
4.
Send announcement <ATPi , TEATPi >
Listen 2*SC for announcements
將自己的<ATPj , TEATPj >調成與Leader一樣
如果經過2*SC還沒聽到比自己MAC大的,表
示自己是Leader
5. 聽到比自己MAC小的,在接下來的時間內
(ATPj - TEATPj)再送出一個announcement
6. 接著每一個SC開頭都送announcement
21
Synchronization Protocol (cont’)
• Discussion:
– 有可能兩個不同的Leader的時間重疊,則想要
同時加入該2個network的node將不會成功
– 2 solution:該不幸的node
• 負責協調 將會對其他node帶來影響
• 加入其中一個network,剩下的時間再switch入另外
一個(且不送announcement)如果兩個network時
間完全重疊就不行
22
Outline
•
•
•
•
•
•
•
Introduction
Background & Related Work
The MultiNet Approach
Implementation
System Evaluation
Discussion
Comments
23
Implementation
• 在WinXP上實作MultiNet
• Network Driver Interface Specification (NDIS)
– An intermediate layer between the network device
driver and IP
– 上層直接call NDIS的API來用,不用擔心不同網卡廠商
有不同implement
• Implement MultiNet as a combination of an
NDIS intermediate driver and a service.
– Service:有buffering/switching的logic,下指令給driver
– Driver:實作buffering/switching機制
24
MultiNet Driver
• Miniport driver:
– 依照某些rule寫的話,就可以在”
任何平台”上使用
– 直接管理NIC, 提供interface for
higher level-driver
• MPD expose a virtual adapter
for each network
– Manage card state, switch, buffer,
– 將收到的packet, 送給目前active的
adapter
• MMD maintains the states for
each virtual adapter
– SSID, operational mode of the
network,
– Handle query and set operation
meant for underlying wireless
adapter
25
MultiNet Service
• Implemented at user level
– Buffering and switching logic
• Interact with other MultiNet node
• Responsible for signaling the switch time to
MPD
• Broadcast for its temporarily unavailability
before MPD switch to another network
– 其他MultiNet node的service收到後,會通知MultiNet
driver開始buffer packet
• 為了簡化coding難度,所以做在user level
26
Buffering Protocol
under Infrastructure mode
• 成功使用Native WiFi card實作發出PSM
req.給AP,使AP開始做buffering
• 一般網卡
– 沒有提供API給Windows呼叫進入Power Save
Mode,且廠商也有其driver的所有權
– 因此使用類似ad hoc的方式,在其他在同一AP
下的node,持續觀察ongoing session,如果該
node switch到其他network中為它buffer
– 但如果將來要擴大scale,這樣是不可行的
• 不過也可以利用在AP上面使用Native WiFi card,
為它作buffer
27
Outline
•
•
•
•
•
•
•
Introduction
Background & Related Work
The MultiNet Approach
Implementation
System Evaluation
Discussion
Comments
28
Test Configuration
• MultiNet was deployed on 2 laptops
– Windows XP
– Compaq Evo N600c (Built in IEEE 802.11b card), HP
Omnibool 6000
• 各加一塊PCMCIA無線網卡
• Cisco 340 Series, Orinoco Gold Wireless card
• 也有幾塊AMD和Realtek的Native WiFi cards
• 4台802.11b APs
– Cisco 340 Series, EZConnect 2656, DLink DI-614,
Native WiFi APs
29
Switching Delay
• Legacy WLAN card perform entire association
every time they switched to a network
• Investigations revealed that this delay is
caused by media disconnect and media
connect notifications to the IP stack
30
Switching Delay (cont’)
• IP stack damps the notifications for a
few seconds to protect itself and its
client from spurious signals.
• MultiNet採用MPD將這些notifications攔
截起來的方法
– 結果有相當好的效果(ex. 3.9s ->170ms )
• 如果使用Native WiFi card來做的話更好。
– Ex. 170ms -> 25ms
31
Switching Strategies
• 某MultiNet Node (using legacy WLAN card) 分享
一個47MB的檔案
32
MultiNet versus Multiple Radios
• Simulation environment
– 甲公司會議室中,有乙公司的人(P乙)來開會。
– P乙想要與會議室中其他人分享3個presentation
files,並且持續與其他人使用通訊軟體通話。
• Ad Hoc network
– 同時間甲公司的人想要使用Internet。
• Infrastructure network
• 使用75%IS 25%AH strategy
35
使用“Surge”來產生web browsing的request
36
1.分享presentation檔案分別在1st, 38th, 75th minute
2.使用Ethereal抓MSN chat的資料流量來用
37
• Without Power Saving Mode
38
• With Power Saving Mode
39
Maximum Connectivity in MultiNet
• Use Fixed Priority switching strategy
– 每一個network的priority都一樣
40
Outline
•
•
•
•
•
•
•
Introduction
Background & Related Work
The MultiNet Approach
Implementation
System Evaluation
Discussion
Comments
41
Reducing the Switching Overhead
• Main cause of switching overhead is the
802.11 protocol
– Card believes that it has disassociated from previous
network
– Card don’t store the state for more than 1 network in
the firmware
– Many card vendor force a firmware reset when
changing mode
• Native WiFi card!!!!
– Allowing upper layer to control associations, switching
delay can be reduced to 1ms!!
– Only requesting a synchronization beacon
42
Network Port Based Authentication
• 802.1X做在Wireless Zero Configuration
(WZC),可是MultiNet卻需要把WZC關掉。
• 在每次switch到需802.1X的網路時,不應
每次都重新跑一次其authentication
protocol
– 建議也是利用MPD紀錄state來達到
43
Can MultiNet be done in the
Firmware?
• Yes
• 可是buffering牽涉到memory的使用,應
該交由OS來管理比較好
• 而且網卡成本會提高
44
Future Research
• Switching的方式對TCP有很大的影響。
– Currently exploring ways improve it.
• Scaling in multi-hop networks
45
Outline
•
•
•
•
•
•
•
Introduction
Background & Related Work
The MultiNet Approach
Implementation
System Evaluation
Discussion
Comments
46
Comments
• 如果可以同時與2個以上的AP溝通,事先的
address configuration以及
authentication/authorization 的確有可能達成
seamless handoff!!!
• 開發hierarchical架構時,VM ware有可能將整
個hierarchy放在一台電腦上面跑
– Using host-only + bridge mode virtual Ethernet card以
及設好routing tables
– CPU要夠力,memory要夠多
47
• Other Reference
– http://www.usenix.org/publications/library/proc
eedings/usenix01/sugerman/sugerman_html/
node1.html
– http://taiwan.cnet.com/enterprise/technology/0
,2000062852,20025224,00.htm
48