Linux

More Platforms


Babel Router 0.7

Babel Router is a loop-free distance-vector routing protocol. Babel is a distance-vector routing protocol for IPv6 with fast convergence properties.

It is based on the ideas in DSDV, AODV and Cisco's EIGRP, but uses a variant of ETX link cost estimation rather than a simple hop-count metric.

Babel on wireless networks

Babel was primarily designed for wireless ad-hoc networks. Because of that, Babel is extremely robust in the presence of mobility: only under very exceptional situations circumstances will Babel cause a transient routing loop. (This is unlike OLSR, which will cause transient routing loops just after a mobility event before the new topology information is flooded throughout the network.)
In its default operation, Babel uses a link quality measurement that is designed for networks using the IEEE 802.11 MAC. In other words, the paths chosen should be reasonable on any sort of network, but are particularly suitable for 802.11 networks.

Babel enjoys fairly fast convergence. Since Babel uses triggered updates and explicit requests for routing information, it usually converges almost immediately after the link quality measure has completed. In the presence of heavy packet loss, however, converging on an optimal set of routes may take up to a minute or so (with the default update interval of 30 seconds).

Babel on wired networks

Babel will also work efficiently on wired networks. When operating over a wired network, it will use a larger interval between hellos, disable link quality estimation, and perform split-horizon processing.

In the absence of mobility (on a stable network with no link failures), Babel over a wired network will generate roughly between 1.2 and 2.4 times the amount of traffic that RIPng would generate, depending on the exact network topology. However, since Babel never counts to infinity, its update interval can be set to much larger values.

Babel on embedded systems

Being a distance vector protocol, Babel has extremely modest memory and CPU requirements. I have never seen Babel appear on either a CPU or a memory monitor.
(I was also going to mention how little network bandwidth is consumed by Babel's routing traffic, but in these times of multimegabit networks, it seems somewhat silly.)

Formal proofs

The most important correctness properties of Babel — loop-freeness and convergence — have been formally proved. This is unlike most other routing protocols, the correctness of which has to be taken on trust.

Technical details

Babel has the following features:

it is a distance-vector protocol;
it is a proactive protocol, but with some features inspired by reactive protocols;
it senses link quality for computing route metrics using a variant of the ETX algorithm;
it uses a feasibility condition that guarantees the absence of loops (the feasibility condition is taken from EIGRP and is somewhat less strict than the one in AODV);
it uses sequence numbers to make old routes feasible again (like DSDV and AODV, but unlike EIGRP);
it allows redistributed external routes to be injected into the routing domain at multiple points (like EIGRP, but unlike DSDV and AODV).

Babel currently works with IPv6 only — there is no support for IPv4. Please let me know if you want to work on an IPv4 version of Babel.

What's New in This Release:

· Babel can now route IPv4 in addition to IPv6.
· A number of bugs have been fixed, notably the incorrect encoding of unicast route requests.

Details

Publisher N/A
Downloads 5
Date Added 4th January, 2008
File Size 45.05 KB
Report Send us a report
Reviews Review Babel Router 0.7 now
Rate this file
Rated fair (6.0, 11 votes cast)

Download Now