Hello Ohta-san

> it is hopeless.

If you look at it, LS - as OSPF and ISIS use it -  depends on the fact that all 
nodes get the same information and react the same way. Isn't that hopeless too?

Clearly, the above limits LS applicability to stable links and topologies, and 
powered devices. This is discussed at length in 
https://datatracker.ietf.org/doc/html/draft-ietf-roll-protocols-survey. OLSRv2 
pushes the model to its limit, don't drive it any faster.

We have a panel of protocols and it's probably a question of selecting the best 
fit for a use case. And yes, probably for most people in this list, learning a 
stable topology with a link state protocol is the best choice available. To the 
point of this thread, BABEL thinks inside the same box as its DV predecessors, 
so I expect that the reasons for selecting LS inside your network would still 
apply.

RIFT (https://datatracker.ietf.org/doc/draft-ietf-rift-rift/) shows that 
evolution outside that box is possible. RIFT develops anisotropic routing 
concepts (arguably from RPL) and couples DV and LS to get the best of both 
worlds. So it's not definitely either/or LS/DV after all.

But none of the above allow an source router to decide once and for all what it 
will get. Because the routing decision is made again at each hop in a fashion 
that may contradict one of the previous hops. From there, it's either 
micro-loops or freezing, and in both cases, transient interruption of service. 
Isn't that hopeless too?

The real issues of that thinking inside the ususal box are 1) that packets 
should "follow the arrows" along a path which certainly leads to loss when one 
link or node is broken along the arrows, and 2) greediness. All the protocols 
above are greedy, meaning that every hop that a packet made has to be progress 
towards the destination, and this dramatically reduces the opportunity to 
forward packets to destination.

When you drive and the street is blocked, you can U-turn around the block and 
rapidly restore the shortest path. The protocols above will not do that; this 
is why technologies such as LFA were needed on top. But then the redundancy is 
an add-on as opposed to a native feature of the protocol. 

Thinking outside that box would then mean:
- To your end-to-end principle point, let the source decide the packet 
treatment (including path) based on packet needs
- congruence with shortest path when there is no breakage
- neither micro-loop nor freeze when there's a breakage, 
- something like LFA-inside to survive one breakage, and possibly multiple 
ones, along the way

While DV is capable to form Non-ECMP DAGs while inside-the-box LS is not, I 
will agree with you that DV is quite hopeless to achieve the goals above. This 
is why my personal favorite can be classified as an LS protocol done 
differently. 

What it does is:
- use the LSDB as is
- reverse SPF so the destination computes the tree "towards self" as opposed to 
"towards everybody else" - this just means use the incoming metric
- tweak SPF to stitch selected branches in the tree to build "LFA-like" 
alternates, forming arcs that end in other arcs till destination, as opposed to 
arrows to be followed
- add a step where the destination injects the path towards self along that 
path but reversed, using source routing in the control plane and tweaked to 
transport a serialized graph. 

Yet another sleeping beauty on the other side of the PM wall, waiting for the 
kiss of a sizable market. Hint, it's not the ill-fated U-Turn protocol, that 
one had its own issues.

Keep safe;

Pascal



  



> -----Original Message-----
> From: NANOG <nanog-bounces+pthubert=cisco....@nanog.org> On Behalf Of
> Masataka Ohta
> Sent: dimanche 3 avril 2022 15:46
> To: nanog@nanog.org
> Subject: Re: V4 via V6 and IGP routing protocols
> 
> Dave Taht wrote:
> 
> > Periodically I still do some work on routing protocols. 12? years ago
> > I had kind of given up on ospf and isis, and picked the babel protocol
> > as an IGP for meshy networks because I felt link-state had gone as far
> > as it could and somehow unifying BGP DV with an IGP that was also DV
> > (distance vector) seemed like a path forward.
> 
> As DV depends other routers to choose the best path from several
> candidates updated asynchronously, which means it is against the E2E
> principle and decisions by other routers are delayed a lot to wait all the
> candidates are updated, it is hopeless.
> 
> OTOH, LS only allows routers distribute the current most link states
> instantaneously and let end systems of individual routers compute the best
> path, LS converges quickly.
> 
> BGP is DV because there is no way to describe policies of various domains
> and, even if it were possible, most, if not all, domains do not want to
> publish their policies in full detail.
> 
> > My question for this list is basically, has anyone noticed or fiddled
> > with babel?
> 
> No.
> 
>                                               Masataka Ohta

Reply via email to