Applicability of the Babel
routing protocol
IRIF, University of Paris-Diderot
Case 7014
75205 Paris Cedex 13
France
jch@irif.fr
This document describes some application areas where the Babel routing
protocol (RFC 6126) has been found to be useful.
Babel is a loop-avoiding distance-vector
routing protocol that aims to be robust in a variety of environments.
This document describes a few areas where Babel has been found to be
useful. It is structured as follows. In , we
describe application areas where Babel has been successfully deployed, and
in , we describe application areas where
deployment of Babel is not encouraged because better alternatives are
available.
Babel is able to deal with both classical, prefix-based
("Internet-style") routing and flat ("mesh-style") routing over
non-transitive link technologies. Because of that, it has seen a number
of succesful deployments in medium-sized hybrid networks, networks that
combine a wired, aggregated backbone with meshy wireless bits at the edges.
No other routing protocol known to us is similarly robust and efficient in
this particular type of network.
The algorithms used by Babel (loop avoidance, hysteresis, delayed
updates) allow it to remain stable and efficient in the presence of
unstable metrics, even in the presence of a feedback loop. For this
reason, it has been successfully deployed in large scale overlay networks,
built out of thousands of tunnels spanning continents, where it is used
with a metric computed from links' latencies .
Babel has been repeatedly shown to be competitive with dedicated
routing protocols for wireless mesh networks
. While this particular niche is already
served by a number of mature protocols, notably OLSR-ETX and OLSRv2
equipped with the DAT metric ,
Babel has seen a moderate amount of successful deployment in pure mesh
networks.
Because of its small size and simple configuration, Babel has been
deployed in small, unmanaged networks (three to five routers), where it
serves as a more efficient replacement for RIP ,
with the significant advantage of having good support for wireless links.
There exist application areas where Babel is a poor fit.
Babel relies on periodic updates, and even in a stable network, it
generates a constant amount of background traffic. In large, stable,
well-administered networks, it is preferable to use protocols layered
above a reliable transport mechanism, such as OSPF , EIGRP or IS-IS .
Babel relies on periodic updates and maintains within each node an
amount of state that is proportional to the number of reachable
destinations. In networks containing resource-constrained or exteremely
low-power nodes, it may be preferable to use a protocol that limits the
amount of state maintained and propagated; we have heard of AODVv2 , RPL and
LOADng .
This document requires no IANA actions. [RFC Editor: please remove this
section before publication.]
As in all distance-vector routing protocols, a Babel speaker receives
reachability information from its neighbours, which by default is trusted.
A number of attacks are possible if this information is not suitably
protected, either by a lower-layer mechanism or by an extension to the
protocol itself (e.g. ).
Implementors and deployers must be aware of the insecure nature of the
base protocol, and must take suitable measures to ensure that the protocol
is deployed as securely as required by the application.
The Babel Routing Protocol
A delay-based routing metric
RIP Version 2
The Optimized Link State Routing Protocol Version 2
Directional Airtime Metric Based on Packet Sequence Numbers for Optimized Link State Routing Version 2 (OLSRv2)
OSPF for IPv6
Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP)
Use of OSI IS-IS for routing in TCP/IP and dual environments
Ad Hoc On-demand Distance Vector Version 2 (AODVv2) Routing
RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks
The Lightweight On-demand Ad hoc Distance-vector Routing Protocol - Next Generation (LOADng)
Real-world performance of current proactive multi-hop mesh
protocols
An Experimental Comparison of Routing Protocols in Multi Hop Ad Hoc
Networks
Babel Hashed Message Authentication Code (HMAC) Cryptographic Authentication