150 likes | 292 Views
Interference Avoidance in Wireless Multihop Networks. Joint work with Jinyang Li Cheng Tien Ee. Outline. Motivation Design Simulation . Motivation. external interference
E N D
Interference Avoidance in Wireless Multihop Networks Joint work with Jinyang Li Cheng Tien Ee
Outline • Motivation • Design • Simulation
Motivation • external interference • devices of various types can access unlicensed bands ---802.11, microwave ovens, cordless phones, sensor nets, etc. hard to coordinate! so, the alternative is to switch to another channel
sender (S) receiver (R) Motivation • internal contention • multiple nodes attempt to transmit simultaneously, resulting in collisions • even worse, when a intermediate node attempts to forward incoming packets immediately intermediate (I)
Motivation • many wireless works have radios that can send or receive on multiple channels, and yet • only utilize one channel a time or • channel assignment is done manually • Why not switch among channels, enable statistical multiplexing
Solution • design a new MAC called Blackbird that • assumes a single radio, half-duplex, on a particular channel at any one time (practical) • designate one channel as the control channel, and all other channels to be data channels • allocates data channels on a per-hop and per-burst basis, (without global coordination) • locally blacklists bad channels (for a bounded time) • does not require synchronization
Protocol design • neighbor table entry
Receiver(R) Sender (S) Cd p’ ack[0] data[0] p L’f transfer process • check neighbor table, determine whether R is busy • determine a list of free channels Lf, not used by neighbors, not blacklisted • choose a random subset L’f, carrier sensed to be free • lock a burst of p packets send an ack including: p’ = min (p, available buffer at R) chosen free channel Cd in L’f if no channel free, p’ = expected waitTime Note: first data packet, happen on control channel c0, using CSMA, no RTS/CTS
Receiver(R) Sender (S) data[1] p’-1 --- ack[1] --- p’-1 data[p’-1] 0 --- 0 ack[p’-1] --- transfer process switch to data channel Cd, enter BURST_WAIT, set two timers: Tburst for burst period = t.p’, Twait for first packet on Cd, if timeout, back to C0 switch to data channel, enter BURST_SEND set timer: Tburst =t.p’, start sending packet Note. happens on data channel, R does not initiate any packet transfer while in BURST_WAIT, retransmission, no exponential backoffs
Receiver(R) Sender (S) nearby node Cd p’ ack[0] data[0] p L’f update S.... R ... channel status update • eavesdrop on all packets (data and ack) when on control channel • channelsInUse is conservative • waitTime is relative tighter
neighbor support • intention to send may not be known by destinations tuned to different channel • solution • maximum backoff period is longer than the maximum burst period, or • neighbors with knowledge reply on behalf of the destination: randomly backoff to suppress duplicate notification
Control channel determination • currently, statically set • future, can switch dynamically • assign preference to channels • exchange a global blacklist and current control channel with any node on the same channel • do not switch to more preferred, unless the current one is blacklisted
simulation setup(ns-2) • channel capacity 250 kbps, 16 channels • channel switching =100us • correct reception 250m , interference range: 550m • maximum data packet size 134 bytes • routing table is set statically • workload: constant UDP rate = 214 kpbs • ack=23 bytes, thus the optimal achievable = 250*134/(134+213)=213