Loading in 2 Seconds...
Loading in 2 Seconds...
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).
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.
PramitChoudhary, BalajiRaao & RavindraBhanot
CS 234 - Advanced Networks Graduate Course
Instructor: Prof. NaliniVenkatasubramanian
(Initial draft of the presentation - 6/6/2012)
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.
// 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.
} netLearningRreqPacketInfo; // Part of the Beacon Packet
// destination address and sequence
// source address and sequence
Beacon Packet contained in 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.
# 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.
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
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
Comparison of BCP with respect to LIFO and FIFO queues
(This slide needs to be updated with results later)