[Babel-users] Propagation of unknown sub-TLV?

Juliusz Chroboczek jch at irif.fr
Thu Jan 25 15:23:48 UTC 2018


Ok, I see.

> The algorithm let every node in a network compute its own value of "Load
> Centrality" and afterwards let nodes disseminate computed indexes so
> that each node, at convergence, is aware of the centrality index of all
> nodes in the network.

[...]

> For the moment forget that actually Updates advertise distances
> associated to prefixes, not to router-ids...we just wanted to work on
> a network graph-layer.

That's the whole point.  Babel is a distance vector protocol, it
advertises routes to given prefixes.  Now, of corse, prefixes are
originated by nodes (that's what the router-id identifies), but Babel does
not flood information about nodes:

  - if a node originates no route, then it doesn't appear on the wire at
    all (Hello and IHUs carry interface identifiers, not node identifiers);
  - if a given prefix is advertised by multiple routers, then parts of the
    network will only see one of the routes to that prefix;
  - finally, Babel doesn't use a reliable transport -- under heavy packet
    loss, part of the information may be dropped (which is okay for its
    intended purpose -- if there's such heavy packet loss, then there's no
    point advertising routing information, since the routes are unusable
    anyway).

In other words, Babel, as it currently stands, does not have provisions
for advertising node-specific information globally.

> Do you think the "transitive attributes" feature could be of general interest?

As a general rule, we try to avoid adding to Babel features that are not
useful for routing.  You could do one of the following:

  - design your own reliable flooding protocol; that's not difficult, I've
    given it as a project to fourth year students and almost everyone
    succeeded;
  - piggyback on a protocol that does reliable flooding, such as IS-IS or
    OSPF;
  - piggyback on a protocol that does unreliable flooding, such as OLSR or
    HNCP;
  - add a subprotocol for flooding of per-node information to Babel, but
    to be entirely frank with you, I doubt it will get into mainline
    babeld.

Please let us know what you decide -- I'll be glad to give a hand if
you're not sure what to do.

-- Juliusz



More information about the Babel-users mailing list