Bryce Thomas
Bryce Thomas

Reputation: 10799

Give me an example of why IP tries to route on a spanning tree

I've been watching a talk given by Van Jacobson in which he casually claims that IP tries to route on a spanning tree, as not doing so results in loops which can quickly bring down a network. He then goes on to say that one of the disadvantages here is lost capacity, because you end up removing some edges from your connectivity graph which represents idle links.

Intellectually, I understand the concept of a spanning tree and that when you add any edge to a spanning tree you create a cycle. However, I'd still really like to see an example of how this plays out in practice with IP, in the context of the routing state that would develop at each node/lead to looping data. Can anyone provide a small isolated example to clarify my understanding?

Upvotes: 0

Views: 144

Answers (2)

Tony Li
Tony Li

Reputation: 106

First, IP does not use a spanning tree. And Van Jacobsen knows this very well, so there's some disconnect here.

Modern IP routing use the Shortest Path First algorithm, which computes a sink tree from each node in the network to every other node within the domain. Every link gets used. Yes, it's true that every sink tree will discard some of the links from graph, but that doesn't imply that the capacity is wasted, it's just used for other traffic.

A more sophisticated routing architecture would be load-sensitive and adjust to make use of that capacity, but the technology is not there to do that yet. Previous attempts have resulted in oscillating networks and no one has applied control theory to routing yet.

Upvotes: 1

Kerrek SB
Kerrek SB

Reputation: 477464

I think you are confusing a couple of things, let's see...

  • Spanning-tree oriented network architecture is a property of the link layer and the link broadcast domain. More specifically, it often comes up in the context of Ethernet.

  • An Ethernet segment must topologically be a tree, for otherwise you would immediately create broadcast cascades that would kill the medium. The problem at hand is that if you have several switches and connect them with lots of cables, you may have loops in your segment. A dedicated switching protocol such as STP can be used to disable ports such that only a tree-shaped topology remains open, and on loss of connectivity it can reopen one of the blocked ports. Thus by combining a redundant, loop-containing wiring with a spanning tree protocol one can achieve a level of physical redundancy.

  • The theoretical capacity loss refers to the fact that the layout I described above is forced to shut off some ports and thus isn't using all available wires. But that isn't a disadvantage per se, just a limitation of the architecture. Ethernet was never designed as a reliable network (in the spirit of SDH/SONET), but rather as a cheap enterprise-size medium.

Upvotes: 1

Related Questions