Subject: [Isis-wg] MPLS IGP label in ISIS

From: Saku Ytti <[email-masked]>
Date: Thu, 22 Nov 2012 12:57:21 +0200

I'm sure this has been thought before, so I'm sure I'm missing something.
But why couldn't we use ISIS to distribute IGP labels, so we could do
without LDP entirely?

It would be bit different as IGP labels would be globally unique, not
locally.

When node comes up, it waits to download full LSP database, then it assigns
itself new globally unique label and sends LSP out.
If at same time someone else chose the same label, we'd signal this by
purging the smaller NET LSP out from network. Source would then assign new
global label and reflood LSP until network no longer purges it.

Implementation could allow for static configuration or some strategy, like
20 right most bits from loopback0 IPv4/IPv6.
Implementation could store it in NVRAM, to attempt same label next time it
needs to assign itself global label.

Another option, for local-labels would mean that in A-B-C-D-E network when
E wants to send to A, E imposes stack of [D, C, B, A] and LSR pops one and
forwards.
But this is not very practical, as many simpler 'l3 switch' style MPLS
can't push arbitrarily many labels today. 
It would allow some interesting convergence/repair options, as each node
in-transit knows full original path chosen.

-- 
  ++ytti

---

From: AshwoodsmithPeter <[email-masked]>
Date: Thu, 22 Nov 2012 14:25:48 +0000

>in-transit knows full original path chosen.

Source Routing with MPLS label stacks. Yes its possible to do that and to setup any kind of traffic engineered path you want not just shortest without having to install per flow state at every hop.

This kind of approach would work well with an SDN controller since it would eliminate having to send state installation messages to every hop along the path.

As you say however most hardware is limited to how many labels they can push, 3 or so, which limits your diameter unreasonably.

Source Routing in general however has a bad name because of issues associated with IPV4 and V6 source route header options that can be used for all kinds of nasty DOS and Man-in-the-Middle attacks, unfortunately these problems occurred in flat networks and in a tunneled environent are less of an issue, but still the dislike of the technique remains even though it would be very useful especially in an SDN context.

Peter

---

From: "Ilya Varlashkin" <[email-masked]>
Date: Fri, 30 Nov 2012 11:58:19 +0100

Peter,

> -----Original Message-----
> Source Routing with MPLS label stacks. Yes its possible to do that and to
> setup any kind of traffic engineered path you want not just shortest
without
> having to install per flow state at every hop.
> 

No, it isn't source routing - we would still do 'destination-based' routing,
just we would know labels for whole IGP domain rather than for directly
connected neighbours.

> This kind of approach would work well with an SDN controller since it
would
> eliminate having to send state installation messages to every hop along
the
> path.

You could use central controller to do offload certain PATH calculations,
but you wouldn't be able to setup do arbitrary PATH (like with RSVP-TE).
However using central controller is not required - the decision is already
done by SPF, only difference is we have no label information for each and
every destination, so we can craft label stack in such way as to cause
desired label operation at certain hops with _existing_ label (this is not
the same as achieving "desired traffic flow" which would need more labels).

> As you say however most hardware is limited to how many labels they can
> push, 3 or so, which limits your diameter unreasonably.
> 

Label stack based on global labels is not different from label stack based
on RSVP-TE labels, so this isn't an issue.

> Source Routing in general however has a bad name because of issues
> associated with IPV4 and V6 source route header options that can be used
> for all kinds of nasty DOS and Man-in-the-Middle attacks, unfortunately

Since what's proposed is not source routing, the header options are not
used, and therefore the global labels have no more no less to do with DoS
and MiM than locally-unique labels.

/iLya