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.13 | offen[1] | – Remove diversity support and related configuration file directives. This is an incompatible change. | |
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
- Babel und dnsmasq in unsere firmware
- Freifunk-Gateway aufsetzen/Babel
- Gateway-Firmware mit Babel über Mesh