Download pdf, 2 MiB - Infoscience

Transcript
Chapter 7. Commercial Deployment
results it received for a command it previously sent out.
In management mode, nodes can handle commands to discover their neighbors, to probe
links with their neighbors, to configure their routing layer and their scheduling mechanism,
to obtain debugging information, and to enter the regular operation mode described in
Section 7.7. The typical processes done in management mode are described in more detail in
the following sections.
7.6.1 Network Discovery
Global messages are source-routed. A node receiving a global message first checks whether
it is the intended recipient. If so, it handles the message, otherwise, it checks whether it is
the next hop in the message’s source route, in which case it relays the message. All global
messages are automatically acknowledged on a hop-by-hop basis. If a sending node does
not receive an acknowledgement for a transmission, it automatically retransmits the message
up to three times, after which the message is silently dropped. Although in management
mode messages are sent using CSMA, nodes try to avoid collisions by waiting a short period
of time sufficiently long for the previous node to retransmit the message three times before
forwarding the message to the next hop. For many commands, these link-level retransmissions
are complemented by end-to-end retransmissions, where the back-end resends a command
several times if it does not receive a reply within a given time. Local messages are typically
exchanged between a node and one or several of its neighbors as the result of receiving a
command from the back-end.
Before the network can be used, the back-end needs to know, which nodes are available. The
network is iteratively probed by requesting the list of neighbors from all known nodes. At the
beginning, no nodes (not even the gateway node) are known. The back-end starts by sending
a neighbor discovery command as a broadcast message over the serial port (emulated on the
USB connection), which is then received and handled by the gateway node. The gateway node
then broadcasts a local neighbor discovery command on the radio, to which its neighbors
respond. The local neighbor discovery command is sent three times in case a neighbor did not
receive the first transmission. This also results in the neighbors responding multiple times,
thus increasing the chance that one of the responses is received by the node performing the
discovery in case previous transmissions were lost, e.g., due to transmission collisions.
The first node discovered is the gateway node. Its ID is added to an ad-hoc routing table
on the back-end, and it is used as the start of every source route. The next nodes that are
discovered are the neighbors of the gateway node. Their node IDs are added to the routing
table as being routed directly through the gateway. The node IDs of their neighbors are, in
turn, added to the routing table as being routed through the nodes announcing them. A node
being reported as the neighbor of multiple other nodes might thus have multiple source routes.
Only routes without loops, and which do not exceed the maximum length for the source route
reserved in the command messages, are stored. Source routes in the ad-hoc routing table have
104