Offizielles Logo von Babel

Babel ist ein Distanzvektorprotokoll für IPv6 und IPv4, ist frei von Routingschleifen und weist schnelle Konvergenzeigenschaften auf. Es basiert auf den Prinzipien von Destination-Sequenced Distance-Vector Routing (DSDV), Ad hoc On-Demand Distance Vector (AODV) Routing und Enhanced Interior Gateway Routing Protocol (EIGRP) und arbeitet mit kabelgebundenen Netzwerken sowie drahtlosen Meshnetzwerken.

Die Routingdistanzmetrik wird über einen verteilten Bellman-Ford-Algorithmus berechnet.

Freifunk Franken

Babel wird als Layer-3-Routingprotokoll im Freifunk-Franken-Backbone verwendet. So werden alle Gateways über das Protokoll direkt oder indirekt miteinander verbunden. Babel tauscht gegenseitig die Routen der Gateways aus, sodass jedes Gateway weiß, über welchen Weg es eine andere Hood erreichen kann. Das eigentliche Routing übernimmt der Linuxkernel. Babel ist nur für den Austausch der Informationen zuständig.

Versionshistorie

Übersicht der Babel-Versionshistorie und welche Freifunk-Franken-Layer-3-Firmwares welche Version implementiert haben. Die Angaben sind nicht vollständig.

Version Datum Firmware Bemerkung
babeld-1.12.1 18. Mai 2022 Implement separate PC values for unicast and multicast, which avoids dropping packets protected by MAC when WiFi powersave is active
Schedule an interface check just after adding an interface
babeld-1.12 5. Mai 2022 Implement v4-via-v6 routing (RFC 9229), which allows a router with IPv4 addresses only to route IPv4
Enable extended Netlink acks when available
Fix restoring of interface configuration to avoid unbounded memory consumption
Fix handling of deny filters in the install chain
babeld-1.11 30. März 2022 – Implementierung der MAC Authentication (RFC 8967)
– Schnittstelle der add_filter-Funktion wurde geändert, um sie einfacher in OpenWrt zu integrieren
babeld-1.10 25. April 2021 layer3-20211201-beta, layer3-20211220, layer3-20211224, layer3-20220405-beta, layer3-20220413 Removed the disambiguation code: source-specific routing is no longer supported for IPv4, and for IPv6 only on Linux 3.11 or later
Fixed an issue handling of retractions with no next hop, which caused interoperability problems with BIRD
If skip-kernel-setup is set, we no longer disable the rp_filter, which makes babeld work in containers
babeld-1.9.2 21. April 2020 gw_20200619, gw_20201028, layer3-20200423-beta, layer3-20200501, layer3-20210211-beta, layer3-20210218, layer3-20210226 Fixed two issues that could cause IPv4 routes to be represented incorrectly, with a range of confusing symptoms
Fixed incorrect parsing of TLVs with an unknown Address Encoding
Fixed access to mis-aligned data structure
babeld-1.9.1 20. August 2019 gw-dev_20190822, gw-dev_20191002, gw-dev_20191008, gw-dev_20200109, gw-dev_20200330, layer3-20191123-alpha, layer3-20191130-alpha, layer3-20191214-beta, layer3-20191224, layer3-20200118 Fixed a crash that could happen when unicast and RTT estimation are both enabled on an interface
Fixed compilation under BSD
babeld-1.9.0 4. August 2019 Änderung von Source Specific, Kompatibilitätsbruch! Version ist verbuggt und stürzt u. U. ab.
babeld-1.8.5 22. Juli 2019
babeld-1.8.4 9. November 2018 gw_20190602
babeld-1.8.3 24. September 2018 gw_20181015
babeld-1.8.2 12. Mai 2018 layer3-20181202-102-g3bc4f01
babeld-1.8.1 7. April 2018
babeld-1.8.0 6. Dezember 2016
babel 0.1 22. August 2007 Erstveröffentlichung

babeld-1.10 wurde ursprünglich als babeld-2.0 angekündigt.

Siehe auch

Weblinks