Order One Network Protocol
The Order One Routing Protocol is an algorithm for computers communicating by digital radio in a mesh network to find each other, and send messages to each other along a reasonably efficient path. It was designed for, and promoted as working with wireless mesh networks.
OORP's designers say it can handle "hundreds of thousands" of nodes, where most other protocols handle hundreds. OORP uses hierarchical algorithms to minimize the total amount of transmissions needed for routing. Routing overhead is limited to less than 5% of node to node bandwidth in any network and does not grow as the network size grows.
The basic idea is that a network organizes itself into a tree. Nodes meet at the root of the tree to establish an initial route. The route then moves away from the root by cutting corners, as ant-trails do. When there are no more corners to cut, a nearly optimum route exists.
Each process can be performed with localized minimal communication, and very small router tables. OORP requires about 150K of memory. A simulated network with 500 nodes transmitting at 200 bytes/second organized itself in about 20 seconds.
As of 2004, OORP was patented or had other significant intellectual property restrictions. See the link below.
Assumptions
Each computer, or "node" of the network has a unique name, at least one network link, and a computer with some capacity to hold a list of neighbors.
Organizing the tree
The network nodes form a hierarchy by having each node select a parent. The parent is a neighbor node that is the next best step to the most other nodes. This method creates a hierarchy around nodes that are more likely to be present, and which have more capacity, and which are closer to the topological center of the network. The memory limitations of a small node are reflected in its small routing table, which automatically prevents it from being a preferred central node.
At the top, one or two nodes are unable to find nodes better-connected than themselves, and therefore become parents of the entire network.
The hierarchy-formation algorithm is unusual, interesting and efficient because it does not need a complex routing algorithm or large amounts of communication.
Routing
All nodes push a route to themselves to the root of the tree. A node wanting a connection can therefore push a request to the root of the tree, and always find a route. The routing algorithm then performs Ant colony optimization, that is, it tries to cut corners and find a route that is more optimal.
The protocol uses Dijkstra's algorithm to continuously optimize and maintain the route. As the network moves and changes, the path is continuously adjusted.
Advantages
Assuming that some nodes in the network have enough memory to know of all nodes in the network, there is no practical limitation to network size.
Since the control bandwidth fixed at less than 5% regardless of network size, the amount of control bandwidth required will not increase as network size grows. All other routing protocols require more bandwidth as the network size grows and as node mobility increases.
The system works with nodes using small amounts of memory.
The network has a reliable, low-overhead way to establish that a node is not in the network. This is a difficult, valuable property in ad-hoc mesh networks.
Since other routing protocols require more and more bandwidth as network size increases, they are unable to match the scaling capability of the OrderOne Networks protocol that requires only a limited fixed amount of control bandwidth.
Critiques
Central nodes have an extra burden because they need to have enough memory to store information about all nodes in the network. At some number of nodes, the network will therefore cease to scale.
If all the nodes in the network are low capacity nodes the network may be overwhelmed with change. This may limit the maximum scale. However, In virtually all real world networks, the further you move away from the leaf nodes, the more bandwidth is available. For the protocol to function well a node needs to be able to store information about all the nodes that are below it in the hierarchy. A numerical example can help make this clear. If a low bandwidth radio has 9.6Kbit radio, if the protocol was configured to send one packet of 180 bytes every 5 seconds, it would consume 3% of overall network bandwidth. This one packet can contain anywhere from 20-80 route updates. Thus even in very low bandwidth network the protocol is still able to spread a lot of route information. If we move up to a 10Mbit connection, the protocol can send (using the same 3% number), between 4,100 and 16,000 route updates every second. Since the protocol only sends route updates when something changes, except in very extreme cases, it will not be overwhelmed.
The link propagation time establishes a limit on the speed that a network can find its root. This is not a bad problem for a radio protocol operating over short distances, but it might limit application of the protocol to long distances or slower links.
The OrderOne Networks protocol does not include security or authentication. If the network will be subject to attack it is recommended that security and authentication should be used in addition to the OrderOne Networks protocol.
See also
- DSR, AODV and OLSR are leading conventional public-domain solutions to the same problem.
- The Ad hoc routing protocol list describes more protocols.
- Dijkstra's algorithm
External links
- OrderOne Networks - provides as commercial implementations for sale.
- AFCEA Signal Magazine Article - An article in Signal Magazine describing the OrderOne Networks protocol.