Collection Tree Protocol
The Collection Tree Protocol 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. This assumes packets are retransmitted at the link layer. 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. The collection of ETX values is known as a gradient, and messages are only sent down the gradient 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.
Rapidly changing link qualities, for example in sensor networks with moving nodes, cause routing information to become outdated which can lead to routing loops. CTP attempts to address these issues through datapath validation and adaptive beaconing.