Hi Ian, I've been refraining from answering in order to let somebody less biased reply, but nobody has taken the bait.
> I've been looking to compare Babel with 802.11s, Batman-adv, smesh and > olsrd2 (Byzantium seems to use Babel so I am ignoring this.) I won't speak of dmesh, since it is not a routing protocol -- it's a full architecture that integrates a lot of things. They currently use their own (link-state) routing protocol, but there's no reason I can see why smesh couldn't be built over Babel. Let's first compare 802.11s and Babel -- they're very different beasts, and fill different ecological niches. In fact, you could run both in the same network, and they'd work fine together. 802.11s works at the link layer: it's invisible at the network layer, the network layer thinks that all the 802.11s nodes are direct neighbours. 802.11s was designed for small networks -- it's limited to 25 nodes per mesh. There are fundamental design choices that prevent it from scaling much beyond that (it requires that all the nodes in the mesh have synchronised timestamps, for example). Babel works at the network layer, and it's link-layer agnostic: it will work over any reasonable link layer, including Ethernet, Wifi, Homeplug, GRE tunnels, VPNs, and even 802.11s. (But not RFC 1149, which only supports a very messy form of multicast.) Because it works at the network layer, Babel is not entirely transparent -- DHCP, IPv6 autoconf and DNS-SD don't work for Babel nodes. That's why we need AHCP or HNCP, and DNS-SD proxies. On the other hand, Babel is much more scalable, robust and flexible than 802.11s. Babel is designed to scale to thousands of nodes in a single routing domain. A Babel node can be configured to act as a full router (forward packets for arbitrary third parties), stub-only (only accept packets for itself) or anything in between (forward packets for some arbitrary subset of destinations). There are fully backwards compatible Babel extensions that are smart about choosing paths in specific topologies, such as high-diversity radio networks (Babel-Z) or overlay networks (Babel-RTT), and more such extensions could be devised if your topology is particularly challenging. In short, 802.11s is great is you need a hassle-free mesh that is built out of a small number of Wifi routers. Babel is great is you think that your mesh might grow larger than what 802.11s supports, or if you want to build an efficient heterogeneous mesh (both wired and wireless networks). As to Batman-adv -- it's a link-layer protocol, like 802.11s, but attempts to be more robust in larger meshes (no seqno synchronisation). It appears to be extremely stable in practice, but suffers from somewhat slow convergence times. Unfortunately, the Batman-adv protocol has never been published, so it is difficult to understand how it works. Hope this helps, -- Juliusz _______________________________________________ Babel-users mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users

