Software:Babel (protocol)

From HandWiki
Babel
Babel logo black.svg
Developer(s)Juliusz Chroboczek
Operating systemLinux, BSD, Mac OS X
TypeRouting protocol
LicenseMIT License
Websitewww.irif.fr/~jch/software/babel/

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 ETX 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]

Implementations

Several implementations of Babel are freely available:

  • The standalone "reference" implementation
  • A version integrated into the FRR routing suite[8] (previously Quagga, from which Babel has been removed[9])
  • A minimal reimplementation in Python[10]
  • An implementation integrated in the BIRD routing platform[11]
  • An independent implementation in Java,[12] part of the freeRouter project[13]

Both BIRD and the reference version have support for Source-specific routing.[14] Both BIRD and the reference version[15] have support for an extension to do authentication,[16] but it has not been merged yet into the mainline version.

References

  1. Chroboczek, Juliusz; Schinazi, David (January 2021). The Babel Routing Protocol. https://tools.ietf.org/html/rfc8966. 
  2. Chroboczek <jch@pps.univ-paris-diderot.fr>, Juliusz (15 February 2016). Diversity Routing for the Babel Routing Protocol. https://tools.ietf.org/html/draft-chroboczek-babel-diversity-routing-01.html. 
  3. Jonglez, Baptiste; Boutier, Matthieu; Chroboczek, Juliusz (2014). A delay-based routing metric. 
  4. 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. http://ro.uow.edu.au/infopapers/736/. 
  5. David Murray, Michael Dixon; Terry Koziniec (2010). An Experimental Comparison of Routing Protocols in Multi Hop Ad Hoc Networks. http://researchrepository.murdoch.edu.au/3982/1/Comparison_of_Routing_Protocols.pdf. 
  6. http://mid.gmane.org/562F5B00.9010802@bellis.me.uk[yes|permanent dead link|dead link}}]
  7. "Babel routing protocol". https://datatracker.ietf.org/doc/charter-ietf-babel/. 
  8. "Merge pull request #624 "Babel" · FRRouting/frr@e885ed8". https://github.com/FRRouting/frr/commit/e885ed85bb0aa46ae41b554c772801387901f690. 
  9. "babeld: Remove babeld from Quagga · 6WIND/quagga@336724d" (in en). https://github.com/6WIND/quagga/commit/336724d628be71022f80cfe3dfb34274ad95ec14. 
  10. "Archive". https://mailarchive.ietf.org/arch/msg/homenet/O5CtnkEt_2LiJ3nWDDdH0Bm6vKI/. 
  11. "proto/babel · master · labs / BIRD Internet Routing Daemon". https://gitlab.nic.cz/labs/bird/tree/master/proto/babel. 
  12. "dirlist". http://sources.nop.hu/src/rtr/. 
  13. "freeRouter - networking swiss army knife". http://freerouter.nop.hu/. 
  14. Matthieu Boutier; Juliusz Chroboczek (2015). "Source-Specific Routing". Bibcode2014arXiv1403.0445B. 
  15. "jech/babeld". October 2021. https://github.com/jech/babeld. 
  16. Do, Clara; Chroboczek, Juliusz; Kolodziejak, Weronika. MAC authentication for the Babel routing protocol. https://tools.ietf.org/html/draft-ietf-babel-hmac-10.html. 

External links

  • Babel – a loop-avoiding distance-vector routing protocol
  • J. Chroboczek (2011), The Babel Routing Protocol  RFC 6126