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 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 commercial protocol uses Dijkstra's algorithm to continuously optimize and maintain the route. As the network moves and changes, the path is continually adjusted. To reduce routing bandwidth, updates are sent using a fisheye optimization that reduces the probability of transmitting an update to farther nodes. This arrangement is very similar to the Hazy Sighted Link State Routing Protocol, a preexisting free alternative that may therefore invalidate significant parts of the corporate patent.
An early version of OORP proposed use of Ant colony optimization, which is much simpler than the combination of Dijkstra's algorithm and the fisheye optimization. However, ant-colony optimization can use more bandwidth and power in the early stages of route establishment. And, of course, ants also existed before the corporation.
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 is defined to be less than 5% regardless of network size, the amount of control bandwidth required is not supposed to increase as network size grows.
The system can use nodes with 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.
Most routing protocols scale either by reducing proactive link-state routing information or reactively driving routing by connection requests. OORP mixes the proactive and reactive methods. Properly configured, an OORP net can scale to 100,000's of nodes and can often achieve reasonable performance even though it limits routing bandwidth to 5%.
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.
The highly capable "central" network nodes form a vulnerability. At minimum there must be more than one. If most nodes move, their information rapidly grows stale.
If high capacity nodes are not possible, the database must be decentralized. More central nodes must store a dynamic list of connection requests, and every node must periodically poll the central nodes for possible connections. This causes issues because of the polling rate and bandwidth.
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, farther away from the central nodes, the bandwidth grows.
These critiques may have no pracical effect. For example, consider a low bandwidth 9.6Kbit/second 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 up to 80 route updates. Thus even in very low bandwidth network the protocol is still able to spread a lot of route information. Given a 10Mbit connection, 3% of the bandwidth is 4,100 to 16,000 route updates per second. Since the protocol only sends route updates for changes, it is rarely overwhelmed.
The link propagation time establishes a limit on the speed that a network can find its root. This could limit application of the protocol to long distances or slower links.
Public proposals for OORP do not include security or authentication. A malicious attack via router replacement could selectively partition an unsecured OORP network at a time chosen by the attacker. Lack of authentication could permit eavesdropping or signals replacement. In military networks, these could cause tactical surprise or loss of operational security. In civil networks they could permit service disruption, theft or loss of privacy.
See also
- DSR, AODV and OLSR are public-domain mesh network protocols.
- The Ad hoc routing protocol list describes more protocols.
- Dijkstra's algorithm
External links
- Navy Assessment - An independent test conducted by the Navy
- OrderOne Networks - provides commercial implementations for sale.
- AFCEA Signal Magazine Article - An article in Signal Magazine describing the OrderOne Networks protocol.