Skip to content

Commit f0275a4

Browse files
authored
howitworks replace BMX with Babel
1 parent 391dbb6 commit f0275a4

1 file changed

Lines changed: 15 additions & 31 deletions

File tree

howitworks.txt

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,53 +12,50 @@ lang: en
1212
- Network segmentation
1313
- Layer 2 roaming inside certain areas
1414
- Smart gateway selection with redundancy and possibility of user-choice
15-
- Compatibility of most of the existing scenarios
16-
- A single firmware image for all of your network (for ground level, for backbone, for companies, for quick deployments, etc.)
15+
- Compatibility with many different scenarios
16+
- A single firmware image for all the routers of your network
1717

1818
== The Basics
1919

2020
The network architecture designed for LibreMesh is based on two layers:
2121

2222
=== Cloud layer 2
2323

24-
The cloud layer 2 uses the dynamic routing protocol BATMAN-ADV
24+
The cloud layer 2 uses the dynamic routing protocol link:https://en.wikipedia.org/wiki/B.A.T.M.A.N.[BATMAN-adv].
2525

2626
image::/assets/img/bat-adv.png[batmanadv,100,float="left"]
2727
*******************
2828
B.A.T.M.A.N. Advanced is a mesh routing protocol that runs in kernel space.
2929
Even if the network topology is made of multiple nodes and multiple hops, B.A.T.M.A.N. Advanced abstracts it to a single layer 2 broadcast domain.
3030
So from the user's perspective the entire mesh will look like a single LAN.
31-
This architecture is robust for roaming purposes, thus TCP and UDP connections are not lost even when moving and changing access points (AP's).
31+
This architecture is robust for roaming purposes, thus TCP and UDP connections are not lost even when moving and changing access points.
3232
*******************
3333

3434
=== Network layer 3
3535

36-
The whole network layer 3 uses by default the routing protocol BMX
36+
The whole network layer 3 uses by default the routing protocol link:https://en.wikipedia.org/wiki/Babel_(protocol)[Babel].
3737

38-
image::/assets/img/bmx7.png[bmx7,100,float="left"]
3938
*******************
40-
BMX6 (or the new version BMX7) is an IPv6 native dynamic routing protocol which offers very advanced features and a small
41-
network overhead, thanks to the distance-vector strategy and its set of optimizations. Version 7 has, in addition, security routing extensions.
39+
Babel is a robust and efficient routing protocol for both wireless mesh networks and wired networks.
4240
*******************
4341

4442
=== Mixing layers
4543

46-
By default, all nodes are running both routing protocols (BMX and BAT-ADV), but on different VLANs.footnote:[Virtual isolated LAN, for instance wlan0.13].
47-
So the routing is isolated by the MAC layer.
44+
By default, all nodes are running both routing protocols (Babel and BATMAN-adv), but on different VLANs.footnote:[Virtual isolated LAN, for instance wlan0.13].
4845

4946
[NOTE]
5047
=========================
51-
The BMX VLAN is always the same, so all link-layer connected nodes will see each other.
48+
The Babel VLAN is always the same, so all link-layer connected nodes will see each other.
5249
=========================
5350

5451
[NOTE]
5552
=========================
56-
The BATADV VLAN depends on the cloud identifier which is calculated (by default) using the AP SSID.
53+
The BATMAN-adv VLAN depends on the cloud identifier which is calculated (by default) using the AP SSID.
5754
=========================
5855

5956
[IMPORTANT]
6057
=========================
61-
The BMX network will be a single one for all of the mesh, but the BAT-ADV network may be split across several clouds.
58+
The Babel network will be a single one for all of the mesh, but the BATMAN-adv network may be separated between different local clouds.
6259
=========================
6360

6461
image::/assets/img/network1.png[align="center"]
@@ -97,7 +94,7 @@ image::/assets/img/network3.png[align="center"]
9794
[NOTE]
9895
======================
9996
The DHCP lease file is shared among the cloud to prevent collisions using
100-
link:http://en.wiki.guifi.net/wiki/A.L.F.R.E.D.[A.L.F.R.E.D.]
97+
link:https://github.com/libremesh/shared-state-async/[shared-state].
10198

10299
As long as all nodes share the same anycast MAC/IP, from the client point of view it is fully transparent.
103100
The gateway is always the same even though the mesh node (where they are attached) may change.
@@ -107,31 +104,18 @@ The gateway is always the same even though the mesh node (where they are attache
107104
image::/assets/img/network4.png[align="center"]
108105

109106
When a client wants to go out from the LAN (cloud) to reach the Internet or any other network,
110-
it will send the packets to the special anycast gateway address. The node where the client
107+
it will send the packets to the special anycast gateway address. The node where the client
111108
is physically attached will take care of this.
112109

113110
[NOTE]
114111
==============
115-
An ebtables.footnote:[something like iptables but for network layer 2] rule in the LAN/AP bridge prevents
116-
packets sent to the anycast address from propagating through the cloud. The mesh node where the client
112+
An nftables.footnote:[a modern firewall software] rule in the LAN/AP bridge prevents
113+
packets sent to the anycast address from propagating through the cloud. The mesh node where the client
117114
is associated gets the packet but not the other nodes.
118115
==============
119116

120117
image::/assets/img/network5.png[align="center"]
121118

122-
The packet is routed through the BMX layer 3 network to the best Internet gateway. It may be a node from the same cloud or any other from another cloud far away.
123-
124-
[NOTE]
125-
=============
126-
BMX has a powerful smart gateway functionality which automatically selects the best Internet gateway node taking into account the available bandwidth.
127-
=============
119+
The packet is routed through the Babel layer 3 network to the closest Internet gateway. It may be a node from the same cloud or any other from another cloud far away.
128120

129121
image::/assets/img/network6.png[align="center"]
130-
131-
[NOTE]
132-
=============
133-
On the way back the packet will arrive to some node in the cloud but it might not be the same node.
134-
Nevertheless the packet will be correctly delivered to the originator.
135-
This is because BMX smart gateway uses 1-way tunnels to ensure the selected gateway is used.
136-
=============
137-

0 commit comments

Comments
 (0)