Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet - PowerPoint PPT Presentation


PPT – Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet PowerPoint presentation | free to download - id: 746c62-YTVlY


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet


Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet By Pramit Choudhary, Balaji Raao & Ravindra Bhanot CS 234 - Advanced Networks ... – PowerPoint PPT presentation

Number of Views:4
Avg rating:3.0/5.0
Slides: 19
Provided by: Bala155
Learn more at:


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet

Implementation of Backpressure Collection
Protocol for Zigbee (IEEE 802.15.4) on Qualnet
  • By
  • Pramit Choudhary, Balaji Raao Ravindra Bhanot
  • CS 234 - Advanced Networks Graduate Course
  • Instructor Prof. Nalini Venkatasubramanian
  • (Initial draft of the presentation - 6/6/2012)

Problem Statement
  • How to implement backpressure routing in
    practical wireless sensor networks considering
    concerns related to packet looping, link losses,
    end-to-end packet delays and scalability?

Motivations for defining the problem statement
  • Real world sensing applications require high data
    rate with a capacity lt 4 KBps (Collection
  • Most collection protocols in sensor networks are
    based on minimum-cost routing trees.
  • Theoretical work on backpressure not implemented
    in practical systems.
  • Need for superior delivery performance in noisy
    and extreme external interference environments.

How backpressure routing works?
BCP Routing Packet Header
Type (1 bit) P (1 bit) C (1 bit) A (1 bit) Reserved (4 bits) Queue length (16 bits) Source ID Sequence No. (32 32 bits) Dest ID Sequence No. (32 32 bits) ETX (8 bits)
Type of Packet supported Currently, these are
the packet type supported by the implementation
of BCP on Qualnet namely, Beacon Packet, Data
Packet, ACK Packet P Pull (request for more
beacon packets from neighbors to be delivered to
obtain network topology update and estimation of
link metrics) C Congested bit ( P and C form
the control bits) A Acknowledgement bit (If
this bit is set high, then its an ACK
packet) Queue Length Information about the queue
backlog containing no. of data pkts Source and
Destination IP addresses Node IPv4
addresses Source and Destination sequence
numbers We use 32 bits as used in AODV protocol
in Qualnet ETX Expected number of transmission
for link calculation estimation NOTE The size
of the header is 20 bytes and is chosen based on
the implementation aspects in Qualnet. Bits for
each of the fields can be varied accordingly if
Data Structures
typedef struct // Next 32-bit variable will
be used as // First 8-bits for type //
next bit is P-bit // next bit is C-bit //
next bit is A-bit // next bit is D1-bit
// next bit is D2-bit // next 11-bits are
reserved for the queue length // last 8-bits
for storing the ETX value. UInt32
typeBitInfo UInt32 floodingId
netLearningRreqPacketInfo // Part of the Beacon
  • typedef struct
  • netLearningRreqPacketInfo info
  • // destination address and sequence
  • netLearningAddrSeqInfo destination
  • // source address and sequence
  • netLearningAddrSeqInfo source
  • netLearningREQUESTPacket

typedef struct NodeAddress address
UInt32 seqNum netLearningAddrSeqInfo
typedef struct NodeAddress address
UInt32 seqNum netLearningAddrSeqInfo
Beacon Packet contained in BCP
Routing Table for BCP
Destination IP Address Link weights (w_(i -gt j)) ETX_(i -gt j) Link Rates R_(i-gt j)
Neighbor 1
Neighbor 2
Neighbor 3
Neighbor 4
Neighbor 5
The above table is maintained at every node in
the sensor network to update the one-hop
estimated metrics and calculation of the link
weights for all the links towards the connected
neighboring nodes.
Message flow and module interactions
LIFO Queue
  • LIFO queue used in BCP for better efficiency in
    delivering data.
  • LIFO queue implemented in Qualnet by Inheriting
    FIFO queue methods and properties.
  • Initially Head and Tail point to the same
  • The Head pointer increments as packets are
    added to a queue.

  • Whenever LIFO becomes half full, a congestion
    bit set.
  • A beacon message delivered back which indicates
    back pressure.
  • Thus, efficient load balancing achieved across
    the network.

BCP Algorithm
  • Sink along with other intermediate nodes send
    out a beacon message (Beacon packet broadcasted)
  • Each node except the Sink node is generating
    data packets to be sent across to the sink either
    directly or via intermediate node. Till a flow
    gradient is established, all generate packets are
    stacked in a LIFO queue maintained at each node.
  • Each node is transmitting at different
    transmission rate based on gradient established.
  • When an intermediate node receives a beacon
    from another node or the sink node, packet header
    is updated by setting the ACK (A flag) and
    returns the packet to the source (ACK packet
  • Before sending the ACK packet, the intermediate
    node updates its routing table with the source
    and destination IP addresses.
  • On receiving the ACK packet, the source node
    estimates link rate (R) and expected number of
    transmissions (ETX) for all the links to its
    surrounding neighbors to get the back pressure
    weight. The back pressure weight, along with the
    ETX and R info helps in determining the flow
    gradient, hence the selection of the path.
  • Assumption All nodes are considered to be static
    for the implementation of the protocol and its a
    single-hop broadcast to all the neighboring nodes.

Phase1 - Contribution
  • Played around with Qualnet to understand how to
    configure topologies, important to verify any
    kind of implementation - Balaji, Pramit, Ravi
  • Good understanding of the Qualnet framework and
    how the different network layers interact with
    each other - Balaji, Pramit, Ravi
  • Successful setting up of the system and the debug
  • Successful addition of BCP as a new protocol to
    the existing Qualnet framework - Pramit
  • Successful implementation of the generation of
    the beacon packets to search for the routes -
    Balaji, Pramit
  • Successful implementation and addition of the
    LIFO queue to the Qualnet framework - Ravi
  • Successful designing of the Packet header data
    structure for the BCP packet Balaji, Ravi
  • Successful designing of the Routing table data
    structure for each node of the Routing protocol -
  • As we speak, work is progressing on the
    implementation of the RREP message send by the
    receiver to the sender - Pramit, Balaji

SnapShot of Routing Protocol in Qualnet
SnapShot of Network Topology in Qualnet
Phase 2 - Contribution
  • Failure / Recovery Model If time permits
  • Data Loss Resolved using if the ACK packet is
    not received within the Time to Live (TTL)
    defined for the data packet.
  • Link failure The intermediate nodes are required
    to issue HELLO_I_AM_ALIVE message to the source.
    If the source does not receive this message
    within the time frame defined, then it will
    re-broadcast the beacon packet again.

  • For the final evaluation of the implementation,
    we plan to come up with measurements of the
    performance metrics and evaluating them. Metrics
    evaluations that we have thought of are
  • Data Packet delivery Ratio
  • Average Transmission/Packet
  • Comparison of BCP with respect to LIFO and FIFO
  • (This slide needs to be updated with results

Related work
  • Collection Tree Protocol (CTP) by O. Gnawali, R.
    Fonseca, K. Jamieson, D. Moss P. Levis
    implemented and tested on several testbeds like
    Tutornet, Motelab, etc and also on TinyOS 2.x.
  • Collection Tree Protocol for the Castalia
    Wireless Sensor Networks Simulator by U.
    Colesanti and Silvia Santini.
  • Backpressure Collection Protocol implementation
    on TinyOS 2.x by S. Moeller, A. Sridharan, B.
    Krishnamachari O. Gnawali This is the main
    paper that we have followed in the project.

  • Understanding of backpressure routing for
    collection protocols in sensor networks.
  • Familiarizing and hands-on experience of using
    Qualnet network simulator.
  • BCP routing algorithm design and development for
    a Zigbee (IEEE 802.15.4) protocol stack on