Collection Tree Protocol

The Collection Tree Protocol (CTP) is a routing protocol for wireless sensor networks. It is used for transferring data from one or more sensors to one or more root nodes.

Algorithm

The number of expected transmissions needed to send data between two nodes, ETX, is used as the routing metric. Routes with a lower metric are preferred. In a route that includes multiple hops, the metric is the sum of the ETX of the individual hops.

Each node that wishes to collect data advertises itself as a tree root. Each node sends its data to the tree root to which it is nearest, that is, the tree root from which it is separated by the smallest ETX. A tree root always has an ETX of zero.

Each node only keeps the smallest ETX to the nearest tree root. The collection of ETX values is known as a gradient, and messages are sent only from nodes with higher ETX to nodes with smaller ETX. This kind of forwarding is common to many algorithms and protocols in wireless sensor networks.

CTP tries to avoid routing loops by having a node transmit a beacon frame if it receives a packet with ETX lower than its own. The goal is to have the sender of the packet receive the beacon frame and adjust its ETX accordingly.

The equations for calculating the ETX are:

ETXroot = 0 
ETXnode = ETXparent + ETXlinktoparent

(CTP should choose the route with the lowest ETX)

References