implementation of backpressure collection protocol for zigbee ieee 802 15 4 on qualnet n.
Skip this Video
Loading SlideShow in 5 Seconds..
Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet PowerPoint Presentation
Download Presentation
Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet

Loading in 2 Seconds...

play fullscreen
1 / 18

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

  • Uploaded on

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).

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Implementation of Backpressure Collection Protocol for Zigbee (IEEE 802.15.4) on Qualnet' - caine

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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


PramitChoudhary, BalajiRaao & RavindraBhanot

CS 234 - Advanced Networks Graduate Course

Instructor: Prof. NaliniVenkatasubramanian

(Initial draft of the presentation - 6/6/2012)

problem statement
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
Motivations for defining the problem statement
  • Real world sensing applications require high data rate with a capacity <= 4 KBps (Collection throughput)
  • 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.
bcp routing packet header

BCP Routing Packet Header

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 needed.

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 Packet

Data Structures

typedef struct


NodeAddress address;

UInt32 seqNum;

} netLearningAddrSeqInfo;



netLearningRreqPacketInfo info;

// destination address and sequence

netLearningAddrSeqInfo destination;

// source address and sequence

netLearningAddrSeqInfo source;

} netLearningREQUESTPacket;

typedef struct


NodeAddress address;

UInt32 seqNum;

} netLearningAddrSeqInfo;

Beacon Packet contained in BCP

routing table for bcp
Routing Table for BCP

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.

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 location.
  • The “Head” pointer increments as packets are added to a queue.

LIFO Queue

lifo in bcp
  • 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

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 sent).

# 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 it’s a single-hop broadcast to all the neighboring nodes.

phase1 contribution

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 environment

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 - Balaji

As we speak, work is progressing on the implementation of the RREP message send by the receiver to the sender - Pramit, Balaji

phase 2 contribution

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 queues

(This slide needs to be updated with results later)

related work
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 Qualnet.