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