Babel routing protocol logo.
The Babel routing protocol is a distance-vector routing protocol for Internet Protocol packet-switched networks that is designed to be robust and efficient on both wireless mesh networks and wired networks. Babel is described in RFC 8966.[ 1]
Babel is based on the ideas in Destination-Sequenced Distance Vector routing (DSDV), Ad hoc On-Demand Distance Vector Routing (AODV), and Cisco 's Enhanced Interior Gateway Routing Protocol (EIGRP), but uses different techniques for loop avoidance. Babel has provisions for using multiple dynamically computed metrics; by default, it uses hop-count on wired networks and a variant of expected transmission count on wireless links, but can be configured to take radio diversity into account [ 2] or to automatically compute a link's latency and include it in the metric.[ 3]
Babel operates on IPv4 and IPv6 networks. It has been reported to be a robust protocol and to have fast convergence properties.[ 4] [ 5]
In October 2015, Babel was chosen as the mandatory-to-implement protocol by the IETF Homenet working group, albeit on an Experimental basis.[ 6] In June 2016, an IETF working group was created whose main goal is to produce a standard version of Babel.[ 7] In January 2021, the working group produced a standard version of Babel,[ 1] then proceeded to publish a number of extensions, including for authentication, source-specific routing, and routing of IPv4 through IPv6 routers.[ 8]
Implementations
Several implementations of Babel are freely available:
The standalone "reference" implementation
A complete reimplementation integrated in the BIRD routing platform[ 9]
A version integrated into the FRR routing suite[ 10] (previously Quagga , from which Babel has been removed[ 11] ).
A tiny, stub-only subset implementation[ 12]
A minimal, IPv6-only reimplementation in Python[ 13]
An independent implementation in Java,[ 14] part of the freeRouter project[ 15]
Both BIRD and the reference version have support for Source-specific routing [ 16] and for cryptographic authentication.[ 17]
References
^ a b Chroboczek, Juliusz; Schinazi, David (January 2021). The Babel Routing Protocol . doi :10.17487/RFC8966 . RFC 8966 .
^ Chroboczek <[email protected] >, Juliusz (15 February 2016). "Diversity Routing for the Babel Routing Protocol" . Ietf Datatracker .
^ Jonglez, Baptiste; Boutier, Matthieu; Chroboczek, Juliusz (2014). "A delay-based routing metric". arXiv :1403.3488 [cs.NI ].
^ M. Abolhasan; B. Hagelstein; J. C.-P. Wang (2009). "Real-world performance of current proactive multi-hop mesh protocols" . 2009 15th Asia-Pacific Conference on Communications . pp. 44– 47. doi :10.1109/APCC.2009.5375690 . ISBN 978-1-4244-4784-8 . S2CID 15462784 .
^ David Murray, Michael Dixon & Terry Koziniec (2010). An Experimental Comparison of Routing Protocols in Multi Hop Ad Hoc Networks (PDF) . Australasian Telecommunication Networks and Applications Conference. doi :10.1109/ATNAC.2010.5680190 .
^ http://mid.gmane.org/[email protected] [permanent dead link ]
^ "Babel routing protocol" . datatracker.ietf.org .
^ "Babel routing protocol (Babel)" .
^ "proto/babel · master · labs / BIRD Internet Routing Daemon" . GitLab .
^ "Merge pull request #624 "Babel" · FRRouting/frr@e885ed8" . GitHub .
^ "babeld: Remove babeld from Quagga · 6WIND/quagga@336724d" . GitHub . Retrieved 2017-10-24 .
^ "sbabeld" . GitHub .
^ "Archive" . mailarchive.ietf.org .
^ "dirlist" . sources.nop.hu . Archived from the original on 2019-11-10. Retrieved 2019-11-10 .
^ "freeRouter - networking swiss army knife" . freerouter.nop.hu .
^ Matthieu Boutier; Juliusz Chroboczek (2015). Source-Specific Routing . Proc. IFIP Networking. arXiv :1403.0445 . Bibcode :2014arXiv1403.0445B .
^ Do, Clara; Chroboczek, Juliusz; Kolodziejak, Weronika (17 August 2019). "MAC authentication for the Babel routing protocol" . Ietf Datatracker .
External links
General Vendor-driven Special-purpose Defunct