Hi! We are using OLSR in our wlan ljubljana open wireless network (http://wlan-lj.net/) so please forgive me that I am not really accustomed with Babel but I am researching a little how different protocols calculate ETX and how they make a routing decision based on it.
Somehow I see that protocols tend to differ how they measure packet loss of links and how to determine network topology itself, how (and how fast) they react to changes, but analysis of this data, models they are using to predict future link behavior (what routing protocol in fact is - a predictor which try to predict best route), are quite simple and very often just a search for shortest path in a graph. >From my experience I find this quite unsatisfactory as in a network with different kind of links (WiFi, ethernet, tunnels) packet loss itself is far from only factor influencing path performance. And even packet loss is used in a strange way. If packets loss is 1 minus a probability of packet being successfully transferred over a link then probability of a packet being successfully transferred over a path is a product of this probabilities. But in both OLSR and Babel ETX are summed together. Which does not have really a theoretical reason/model behind it (except of a similarity to (historical) routing protocols which are minimizing hops)? Or it does? I find it that it mostly works because we are using WiFi links where there is a hidden cost added to using a given link: that neighboring nodes have to stay quiet. It is in some way a half-duplex link. And this is why every hop "costs" (except for latency it also introduces). But it is a broken model to start with. I think that a better model should include: - packet loss (and packet loss along a given path) - half-duplex/full-duplex nature of a link (or a hidden cost on using the link on neighboring nodes) - bandwidth limits on a link - links where packet loss is a function of bandwidth use Also using all this data should not be simple calculation of a ETX and then searching for a shortest/less costly path but some combination of direct values. For example, routing protocol should be able to make asymmetric routes. Even more, it should probably be able to distribute packets over multiple links (which often exists in mesh networks) using information from bandwidth available on links. So I would like to know if there are any plans/ideas (or maybe there is already this) for such ETX metrics in Babel? As I understand Babel specially treats ethernet links but this is not something which would be just a special case of determining link quality/nature? How does it determine if a link is an ethernet link? Babel does not do load balancing routes? Does it support asymmetric links? As I understand currently it is possible to define your own ETX metrics but I do not see a clear way of adding bandwidth information to ETX without also changing the way (not just shortest path) routes are calculated. Mitar _______________________________________________ Babel-users mailing list Babel-users@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/babel-users