![Page 1: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/1.jpg)
Design and Implementation of a Multi-Channel Multi-Interface Network
Chandrakanth Chereddi Pradeep Kyasanur
Nitin H. Vaidya
University of Illinois at Urbana-Champaign
![Page 2: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/2.jpg)
2
Motivation
Multiple channels can improve network capacity
Nodes can be equipped with multiple interfaces
Several multi-channel multi-interface protocols have been proposed
Few protocols implemented in real systems
![Page 3: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/3.jpg)
3
Radio interfaces
An interface can switch among channels Switching time is non-negligible
An interface can only use one channel at a time
Channel 1
Channel c
![Page 4: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/4.jpg)
4
Common scenario
Fewer interfaces than channels At any time, some channels will not have an
interface1
c
1
m m
Several protocols use frequent interface switching to access all channels
![Page 5: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/5.jpg)
5
Related work
Several protocols use interface switching [Bahl2004Mobicom, So2004Mobihoc,
Kyasanur2005Wcnc]
Few real implementations support frequent interface switching (up to few times a second) VirtualWifi [Chandra2004Infocom]: Exposes one
virtual interface per channel, may require application modification
Other works not meant for multi-channel networks
![Page 6: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/6.jpg)
6
Contributions
New architecture for multi-channel multi-interface networks
Kernel support for protocols that use frequent interface switching
One example protocol implemented using new kernel support
![Page 7: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/7.jpg)
7
Need for kernel support
Linux used as case study
Key requirements: User applications must work unmodified Operate with off-the-shelf wireless hardware
Kernel support needed to meet requirements Support can be added through a separate
module
![Page 8: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/8.jpg)
8
Need for kernel support
No support to choose channels based on destination
A
B
C
Ch. 1
Ch. 2
DCh. 3
Multi-channel broadcast support is absent
Initiating switching from user space has high latency - frequent switching not possible
A
B
CCh. 1
Ch. 2
![Page 9: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/9.jpg)
9
Need for kernel support
Interface management needs to be hidden from “data path” Buffering packets for different channels Scheduling interface switching
Packet to B
Packet to C
Ch. 2
Ch. 1
Packet to C arrives
buffer packet
Interface switches channel
![Page 10: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/10.jpg)
10
Where to add support?
In the device driver Tied in to driver, cannot handle multiple
interfaces
In the network layer Multiple interfaces exposed to network layer Some protocols like ARP need to be modified
Between network layer and device driver Easy to add without modifying existing code No changes to ARP, IP stack needed
![Page 11: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/11.jpg)
11
Proposed architecture
Multi-channelprotocol
Channel Abstraction Module
IP Stack
InterfaceDevice Driver
User Applications
Channel abstraction module provides kernel multi-channel support
Module implemented by extending Linux “bonding driver”
ARP
InterfaceDevice Driver
![Page 12: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/12.jpg)
12
Channel Abstraction Module
Unicast Component: Allows choosing channels based on destination
Broadcast Component: Multi-channel broadcast support
Queueing and Scheduling Component: Queue packets if interface is not immediately
available Schedule interface switching
![Page 13: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/13.jpg)
13
Components
Node 1 ath0 1
Node 2 ath1 2
Node 3 ath1 3
Unicast Table Address Interface Channel
1 2 3
Schedule packet transmissions for ath0
1 ath0
2 ath1
3 ath1
Broadcast Table Channel Interface
1 2 3
Schedule packet transmissions for ath1
Broadcast?
No Yes
Queue
Packets
![Page 14: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/14.jpg)
14
Configuring tables
Unicast and broadcast tables can be set/modified from userspace through “ioctl” calls
Different multi-channel protocols can use different policies for setting the tables
Operation analogous to routing Routing table in kernel can be set up by an
userspace routing daemon
![Page 15: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/15.jpg)
15
Example interaction
Userspace protocol
Channel abstraction module
AddValidChannel( ath0, <1,2,3>)
AddBroadcastEntry( ath1, <2,3>)
AddUnicastEntry( 192.168.0.2, ath0, 1)
DeleteUnicastEntry( 192.168.0.4, 3)
![Page 16: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/16.jpg)
16
Scheduling algorithm
Interface is switched from current channel only if another channel has pending packets, and
Either rule 1: Current channel has no pending packets Time spent on current channel greater than T_min
Or rule 2: Time spent on current channel greater than T_max
T_min , T_max choice affects switching overheads
![Page 17: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/17.jpg)
17
Driver modifications
Minor modifications made to “madwifi” driver to improve performance
Turned off beaconing to reduce switching delay By default, after channel switch card waits to hear
a beacon - can be as large as 100 ms Instead, added support to specify default BSSID
Added support to measure driver queue length To improve scheduling performance
![Page 18: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/18.jpg)
18
Userspace multi-channel protocol
One interface “fixed” on a channel Different nodes use different fixed channels
Other interfaces “switch” as needed Dynamic assignment
Fixed interface receives data on well-known channel
Switchable interfaces send on recipient's fixed channel
![Page 19: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/19.jpg)
19
1
3
Protocol operation
Each node has 2 interfaces 1 fixed, 1 switchable
A B C
D E F
2
1 3 1
4 2
Timeline
1. A sends to B
2. D sends to A
Connectivity maintained + all channels used
![Page 20: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/20.jpg)
20
Testbed
Channel abstraction module implemented in Linux 2.4
Experiments done on testbed nodes having two wireless radios
Radios are operated in IEEE 802.11a modeSoekris 4521
![Page 21: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/21.jpg)
21
Testbed architecture
Two radio mesh node
Internet gateway node One radio unmodifed client
One radio mesh node
![Page 22: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/22.jpg)
22
Measurements
Switching delay with modified driver is 5 ms
Only 5 out of 12 channels can be used together without mutual interference Channels 36, 52, 64, 149, 161
Using more channels than interfaces is beneficial T_max and T_min parameters need to be set
correctly to reduce switching overheads
![Page 23: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/23.jpg)
23
Interference measurement
0
1
2
3
4
5
6
7
36 40 44 48 52 56 60 64
20 feet40 feet60 feet80 feet
Agg
rega
te t
hrou
ghpu
t (M
bps)
Channel number
A BDistance varied from 20 ft to 80
ftLOWER BAND
Flow 1: Node A to node B on channel 52
Flow 2: Node B broadcasts on different channels using second radio
![Page 24: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/24.jpg)
24
Interference measurementA
ggre
gate
thr
ough
put
(Mbp
s)
Channel number
A BDistance varied from 20 ft to 80
ftUPPER BAND
Flow 1: Node A to node B on channel 149
Flow 2: Node B broadcasts on different channels using second radio
0
1
2
3
4
5
6
7
149 153 157 161
20 feet40 feet60 feet80 feet
![Page 25: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/25.jpg)
25Number of channels
Throughput
0
5
10
15
20
25
2 4
4 flows8 flows
Agg
rega
te t
hrou
ghpu
t (M
bps)
A B
CD
4 UDP flows: AB, BC, CD, DA
8 UDP: In addition AD, BA, CB, DC
Channel data rate is 6 Mbps
![Page 26: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/26.jpg)
26
Varying T_max
2.5
3
3.5
4
4.5
5
5.5
50 70 90 110 130 150
UDP - No switchingUDP - Switching
TCP - No switchingTCP - Switching
Agg
rega
te t
hrou
ghpu
t (M
bps)
T_max is varied (T_min set to 10 ms)
A B
CD
60
36 36
149
No switching: A->C, A->D
Switching: A->B, A->C
![Page 27: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/27.jpg)
27
2.5
3
3.5
4
4.5
5
5.5
10 30 50 70 90 110
UDP - No switchingUDP - Switching
TCP - No switchingTCP - Switching
Varying T_minA
ggre
gate
thr
ough
put
(Mbp
s)
T_min is varied (T_max set to 130 ms)
![Page 28: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/28.jpg)
28
Ongoing work
Testbed comprises of 20+ nodes
Detailed measurements of multi-channel protocol is in progress
Proposed work Use framework for per-packet rate and power
control Implement other multi-channel protocols
![Page 29: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/29.jpg)
29
Conclusions
Developed new architecture for multi-channel protocols that use frequent interface switching
Prototype implementation shows architecture is viable in practice Interface switching technique can very
effectively utilize large number of channels Significant performance improvement can be
achieved in practice
![Page 30: Design and Implementation of a Multi-Channel Multi-Interface Network Chandrakanth Chereddi Pradeep Kyasanur Nitin H. Vaidya University of Illinois at Urbana-Champaign](https://reader030.vdocument.in/reader030/viewer/2022032709/56649eb55503460f94bbdb83/html5/thumbnails/30.jpg)
Thanks!
www.crhc.uiuc.edu/wireless