Sasha

1) Why do we need to define an MPLS (or MPLS-TP) encap ?
As many have said TC (or BC) is one reason.
[[Sasha]] TC is the reason, BC, IMO, is not. 

<YJS> IMO it is. There are many reasons to shun TCs. They are a cute trick, 
but the layer violation can mean trouble in many cases. BCs avoid the problem, 
at the cost of
1) more complex implementation at mid points, and 2) phase error accumulation.

<snip>

Perhaps a better reason for now is QoS. I really want to easily recognize a 
timing flow to give it EF service.
[[Sasha]] QoS is IMO not an issue. It exists over IP as well as over MPLS. 

Yes, QoS exists, but we need to know what QoS to give to what.
Shahram's suggestion is to use specific labels. That is OK, but may be 
troublesome to implement.

About a year ago I put together a list of 9 ways to send 1588 over MPLS, and 
the first one
was UDP/IP/MPLS. In the preliminary discussions most people thought that this 
was the route
to use if we can not standardize something better (it can be done NOW). Just 
set up a minimum delay
LSP for the timing flow, and the problem is solved. Or is it ?

The first problem is scaling. Remember the early days of PWE ? The original 
suggestion was
PW = LSP, but then Luca convinced us that this doesn't scale. You can't expect 
all the P routers
to know about all these labels. and for timing we may need thousands of unicast 
flows going through the core
(of course multicasting is another solution).

That is why my following methods relied on a universal marking.



[[Sasha]] Exactly!!! If you want every LSR on the way to be able to inspect and 
modify the packet, 
you need a RA label or, rather, its analog - let's call it the PTP Alert label, 
or PTPA for (not so) short.
This would be a new reserved label (and yes, some are still left) with the 
following rules:
- just as the RA label, it can be anywhere in the stack except at the bottom
- An LSR that observes this label (because it was at the top of the stack or 
because it has popped all the labels
  above it) will do the following:
  * Check the payload of the MPLS packet  for being a PTP packet in one of the 
existing encapsulations
     (my personal preference is PTP over UDP/IP, but it is not that relevant)
  * If the check succeeds and the LSR is a TC, update the correction field in 
this packet
  * Forward this packet as indicated by the label immediately below the PTPA. 
If this means sending    
     a labeled packet, add PTPA at the top of the resulting label stack (again, 
same treatment as for the RA).
     The forwarding rule is applied regardless of the results of check for 
carrying PTP.
The only differences with RA is that passing the PTPA-labeled packet to a 
software module is not required
(and probably should be avoided). 

<YJS>  YES !  This is my method number 3.  A new reserved label. Of course we 
need to convince the MPLS
WG to give us one (there aren't that many ...)

It would be also pretty easy to check if there any malicious LSRs on your LSP 
that do not recognize PTPA: just use ICMP-Ping in this LSP with and without 
added PTPA on top... if it does not work with PTPA but works without it, there 
is an LSR that treats PTPA as an unknown label and discards the packet...

<YJS>  YES. We are thinking along the same lines.

Of course an alternative would be a well-known, or at least network-wide CoS 
bit combination (alternative 2).

Or a PW with certain marking in the control word (alternative 4).

Or using the GAL GAch.

[[Sasha]] Does this make sense?

<YJS>  yes, IMO. Shahram's approach makes sense if there are only a small 
number of timing flows.
Universal markings makes sense if there are many.

_______________________________________________
TICTOC mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/tictoc

Reply via email to