Babel (protocol)
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.
Developer(s) | Juliusz Chroboczek |
---|---|
Operating system | Linux, BSD, Mac OS X |
Type | Routing protocol |
License | MIT License |
Website | www |
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 ETX on wireless links, but can be configured to take radio diversity into account [1] or to automatically compute a link's latency and include it in the metric.[2]
Babel operates on IPv4 and IPv6 networks. It has been reported to be a robust protocol and to have fast convergence properties.[3][4]
In October 2015, Babel was chosen as the mandatory-to-implement protocol by the IETF Homenet working group, albeit on an Experimental basis.[5] In June 2016, an IETF working group was created whose main goal is to produce a standard version of Babel[6].
Implementations
Several implementations of Babel are freely available:
- The standalone "reference" implementation
- A version integrated into the FRR routing suite[7] (previously Quagga, from which Babel has been removed[8])
- A minimal reimplementation in Python[9]
- An implementation integrated in the BIRD routing platform[10]
- An independent implementation in Java[11], part of the freeRouter project[12]
Both BIRD and the reference version have support for Source-specific routing.[13]. Both BIRD and the reference version[14] have support for an extension to do authentication[15], but it has not been merged yet into the mainline version.
References
- https://tools.ietf.org/html/draft-chroboczek-babel-diversity-routing-01
- Baptiste Jonglez and Juliusz Chroboczek. A delay-based routing metric. https://arxiv.org/abs/1403.3488
- M. Abolhasan; B. Hagelstein; J. C.-P. Wang (2009). "Real-world performance of current proactive multi-hop mesh protocols". Cite journal requires
|journal=
(help) - David Murray, Michael Dixon & Terry Koziniec (2010). "An Experimental Comparison of Routing Protocols in Multi Hop Ad Hoc Networks" (PDF). Cite journal requires
|journal=
(help) - http://mid.gmane.org/562F5B00.9010802@bellis.me.uk%5B%5D
- https://datatracker.ietf.org/doc/charter-ietf-babel/
- https://github.com/FRRouting/frr/commit/e885ed85bb0aa46ae41b554c772801387901f690
- "babeld: Remove babeld from Quagga · 6WIND/quagga@336724d". GitHub. Retrieved 2017-10-24.
- http://www.ietf.org/mail-archive/web/homenet/current/msg05122.html
- https://gitlab.labs.nic.cz/labs/bird/tree/master/proto/babel
- http://sources.nop.hu/src/rtr/
- http://freerouter.nop.hu/
- Matthieu Boutier; Juliusz Chroboczek (2015). Source-Specific Routing. Proc. IFIP Networking. arXiv:1403.0445. Bibcode:2014arXiv1403.0445B.
- https://github.com/jech/babeld/tree/hmac
- https://tools.ietf.org/html/draft-ietf-babel-hmac-10
External links
- Babel – a loop-avoiding distance-vector routing protocol
- J. Chroboczek (2011), The Babel Routing Protocol RFC 6126