[olsr-dev] Improvements in the algorithm, and bugs that are fixed in the upcoming release
Wed Nov 16 00:29:54 CET 2005
sounds like HLSL :)
by the way.... some time ago there was basically two choices of
working / useful implementations: olsr and aodv. Aodv was just to
buggy at that time. So - big deal, it became olsr :)))
Now when I look at http://en.wikipedia.org/wiki/Ad_hoc_protocol_list
I thought there might be quite a few very good ideas out there.
My personal favorite metric is: take the shortest route which
generates the least
signal interference (i.e. hop from channel 1 -> 13 -> 6 ... etc)
Of course this is 802.11 specific...
On Nov 15, 2005, at 10:39 PM, onelektra wrote:
> Hi all -
> let me introduce you to some thoughts and off-list discussions that we
> had here in Berlin about the occurance of routing loops in a mesh with
> I stated the hypothesis that routing loops occur rather local than
> end-to-end in a mesh cloud. Olsrd with LQ-Extension attempts by design
> to know all the best routes all over the whole mesh cloud, but it is
> likely that it never will be able to achieve this in a mesh that has
> more than a handful of nodes. TC informations are likely to be lost on
> there way while they propagate over the mesh. And this likelyhood
> increases with the number of nodes that forward TC information.
> But this fact doesnt necessarily harm the routing of traffic if it
> travels a long multihop path. A node at one end of a mesh cloud may
> the illusion to know the exact and best path its packages go when
> sending payload to a node that is several hops away. But this
> information may be pretty outdated and incomplete.
> In fact all we can and have to achieve with the algorithm is a
> reasonable choice for the next two or three hops. If our path is 8
> for example, nodes that are more hops away from the node initiating
> traffic and closer to the destination have better and more accurate
> information about the best path. They dont know what a node that
> initiates traffic thinks about the path its packets have to take -
> have more accurate routing information and will look into their
> table and make a choice based on their knowledge.
> If I send a snailmail parcel to india I dont have to write the name of
> the postman on the paket that finally hands it over, or the brand of
> bicycle he rides. I dont have to decide the way he has to drive in the
> village of the destination. He knows better than me.
> Btw. this is the attempt of source routing - quite stupid - isn't it?
> So my conclusion is that we have the challenge to keep information of
> TCs in sync in a local area - say 2-3 hops wide. And we need to have a
> vague idea how the meshcloud looks alike many hops away. But we dont
> have to introduce a high overhead trying to achieve the (almost)
> impossible and completely sync routing tables all over the mesh.
> People are happy with their olsrd-meshclouds as long as they only
> a few internet connections, because their uplinks are usually a
> bottleneck that limits traffic and therefore interference between
> transmissions. As someone or something starts to saturate a multihop
> link 0.4.9 and 0.4.8 go mad (i dont speak about the rfc-compatible
> mode). The simple reason is that the routing tables get out of sync -
> because Hellos, TCs, HNAs *everything that the protocol has to
> sucessfully in order to work* gets lost until the route breaks down
> the traffic saturating the link used. As the traffic causing the
> interference breaks down olsrd becomes stable again until the link
> saturated again. And so on and so on...
> So here are the conclusions:
> The routing information in an area of 2-3 hops radius around a node
> to be in sync. The same applies to all other message types that olsrd
> uses. Especially TCs and MPR selections. MIDs should be reasonably
> reliable with long validity timeouts. The problem here are lost
> if the radio channel is saturated. The quick fix is to send TC and MPR
> selection messages more often than Hellos, so TCs are more redundant.
> Maybe two times more frequent than Hellos is a good value, maybe more.
> The best thing IMHO would be a algorithm that will make sure the
> neighbours have actually received the TC packets. We don't have to
> bother about overhead here. If the protocol cant deal with a payload
> that starts saturating bandwidth it is far from optimal, pardon
> 'optimized' ;-)
> 0.4.9 and .8 had a bug in the algorithm - a node learns about a change
> in the topology by Hellos and changes his routing table and routing
> decisions accordingly *before* telling its neighburs with TCs about
> decisions. Depending on how often the TCs are send in relation to
> this can cause trouble. Now Thomas has implemented a fix that makes
> a node changes its routing table *after* it told others with a TC-
> But so far we do nothing to really make sure our precious routing
> information is in sync in a local area. I assume this is the next
> important thing to do in the olsrd algorithm.
> cu elektra
> olsr-dev mailing list
COSHER = completely open source, headers, engineering and research
More information about the Olsr-dev