AVR2070
31
8240B-AVR-06/09
Appendix A - Route Under MAC (RUM) Protocol

A.1 Overview

This appendix outlines the scheme used by RUM for implementing a route-under
network, where the routing of network packets is done at the MAC layer. This has a
number of advantages:
Routers and end nodes can be simpler, and therefore less expensive. These
nodes manage almost no routing information.
The coordinator knows all pertinent information about every node in its PAN,
which means special “guessing” routing algorithms are not needed.
Higher level code does not have to be concerned with routing, and has only
to send a packet to a destination address.

A.2 Features

Auto-forming network
Auto-healing network (re-associates when a broken link is detected)
Multi-hop routing of data at the MAC layer
PING packets are defined and implemented at the MAC layer
Small (~6K) flash code size for end nodes and routers.
Packets conform to 802.15.4 spec.

A.3 Assumptions

Here are the assumptions about the end application that have led to the design of this
networking scheme:
1. End nodes and routers are small, low-cost devices. The single coordinator is
larger and more capable. Therefore, each end nodes stores only two short
addresses – its own address and the address of its parent.
2. Routers store a table of directly-connected (children) end nodes and router
nodes.
3. The end nodes are usually sleeping to save power. Coordinator and router
devices are powered all the time. Routers could be configured to be off most
of the time, with a configured time slot for synchronized operation. Support
for sleeping routers may require an extension to the protocol.
4. The coordinator, routers, and end nodes will auto-form a working network,
and packets can be routed to/from any node to any other in the network using
only the short address as the destination.
5. Each node can be accessed from outside the PAN via the coordinator.
6. All data packets must be routed through the coordinator.
7. The network is self-healing, so that a broken connection causes a re-forming
of network connections. The re-connection is handled at the application
layer, so that the parameters for detecting and re-establishing a broken
network can be tuned to the application’s performance requirements and
environment.