450 likes | 607 Views
MultiNet : Connecting to Multiple IEEE 802.11 Networks Using a Single Wireless Card. Ranveer Chandra Department of Computer Science Cornell University. By 徐志賢. Paramvir Bahl Microsoft Research One Microsoft Way. Pradeep Bahl Microsoft Corporation One Microsoft Way. INFOCOM 2004.
E N D
MultiNet:Connecting to Multiple IEEE 802.11 Networks Using a Single Wireless Card Ranveer Chandra Department of Computer Science Cornell University By 徐志賢 Paramvir Bahl Microsoft Research One Microsoft Way Pradeep Bahl Microsoft Corporation One Microsoft Way INFOCOM 2004
Outline • Introduction • Background & Related Work • The MultiNet Approach • Implementation • System Evaluation • Discussion • Comments
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
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
Outline • Introduction • Background & Related Work • The MultiNet Approach • Implementation • System Evaluation • Discussion • Comments
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
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
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
Outline • Introduction • Background & Related Work • The MultiNet Approach • The virtualization architecture • Buffer protocol • Switching Algorithm • Synchronization Protocol • Implementation • System Evaluation • Discussion • Comments
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
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
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
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
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
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= • Adaptive Buffer:pkts buffered • Adaptive Traffic:pkts sent+rcved Utilization across all network Utilization of network j Total amount of time the node is active across all networks
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 • In Infrastructure network • No packets to send
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
Synchronization Protocol (cont’) • Algorithm Description:進入network j時, • Send announcement <ATPi , TEATPi > • Listen 2*SC for announcements • 將自己的<ATPj , TEATPj >調成與Leader一樣 • 如果經過2*SC還沒聽到比自己MAC大的,表示自己是Leader • 聽到比自己MAC小的,在接下來的時間內(ATPj - TEATPj)再送出一個announcement • 接著每一個SC開頭都送announcement
Synchronization Protocol (cont’) • Discussion: • 有可能兩個不同的Leader的時間重疊,則想要同時加入該2個network的node將不會成功 • 2 solution:該不幸的node • 負責協調將會對其他node帶來影響 • 加入其中一個network,剩下的時間再switch入另外一個(且不送announcement)如果兩個network時間完全重疊就不行
Outline • Introduction • Background & Related Work • The MultiNet Approach • Implementation • System Evaluation • Discussion • Comments
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機制
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
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
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
Outline • Introduction • Background & Related Work • The MultiNet Approach • Implementation • System Evaluation • Discussion • Comments
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
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
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
Switching Strategies • 某MultiNet Node (using legacy WLAN card) 分享一個47MB的檔案
MultiNet versus Multiple Radios • Simulation environment • 甲公司會議室中,有乙公司的人(P乙)來開會。 • P乙想要與會議室中其他人分享3個presentation files,並且持續與其他人使用通訊軟體通話。 • Ad Hoc network • 同時間甲公司的人想要使用Internet。 • Infrastructure network • 使用75%IS 25%AH strategy
1.分享presentation檔案分別在1st, 38th, 75th minute 2.使用Ethereal抓MSN chat的資料流量來用
Maximum Connectivity in MultiNet • Use Fixed Priority switching strategy • 每一個network的priority都一樣
Outline • Introduction • Background & Related Work • The MultiNet Approach • Implementation • System Evaluation • Discussion • Comments
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
Network Port Based Authentication • 802.1X做在Wireless Zero Configuration (WZC),可是MultiNet卻需要把WZC關掉。 • 在每次switch到需802.1X的網路時,不應每次都重新跑一次其authentication protocol • 建議也是利用MPD紀錄state來達到
Can MultiNet be done in the Firmware? • Yes • 可是buffering牽涉到memory的使用,應該交由OS來管理比較好 • 而且網卡成本會提高
Future Research • Switching的方式對TCP有很大的影響。 • Currently exploring ways improve it. • Scaling in multi-hop networks
Outline • Introduction • Background & Related Work • The MultiNet Approach • Implementation • System Evaluation • Discussion • Comments
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要夠多
Other Reference • http://www.usenix.org/publications/library/proceedings/usenix01/sugerman/sugerman_html/node1.html • http://taiwan.cnet.com/enterprise/technology/0,2000062852,20025224,00.htm