BABEL is a dynamic routing protocol working on a link layer. Implementation in RipEX2 (and bird daemon) uses UDP/IPv6 multicast packets on port 6696.
BABEL is an Interior Gateway Protocol (IGP) and works within one autonomous system. Routers with BABEL enabled must be directly adjacent to each other (on the same link). The protocol can be configured on multiple interfaces (ETH, radio, …) of each RipEX2 unit and it seeks for connections on every one of them.
BABEL works on both, wired and wireless connections. In wireless networks, it uses efficient multicast transmission, does not require all participants to “hear” each other and uses a finer link quality evaluation instead of binary decision (good/bad).
Individual protocol instances within the network send and receive Hello packets which map interconnections and their qualities. They also exchange routing update messages regularly.
The protocol tries to find the most convenient path according to the metric and not creating loops. Bellman-Ford algorithm is being used. The metric is set on the interface and represents a price for receiving packets. This is an abstract value and can be set to any value (e.g., it can be derived from the particular link speed – Ethernet, LTE, Radio link, …). The lower the value, the more advantageous the link/interface is. The maximum value of the metric is 65535 (infinity) and must be greater than 0.
Wired – assumes a reliable link. The quality is evaluated according to the number of received Hello packets. If more packets are lost than the configured limit, the line is considered down.
Wireless – assumes a variable connection quality. A quality is therefore evaluated by a variant of the ETX (Expected Transmission Count) metric. If Hello packets are lost, the price of the interface gradually increases until the line is declared down.
Bird implementation of BABEL does not support any security.
If the protocol is used in the Hot Standby (HS), keep in mind it is completely turned off in the passive unit. Once the passive unit becomes the active one, it must first find out all the routes from the start which may take a while (based on settings). BABEL can use the virtual shared HS IP address.