Subject: Re: [mpls] draft-kompella-mpls-rmr-00

From: Alexander Vainshtein <[email-masked]>
Date: Thu, 13 Nov 2014 21:12:11 +0000

Shahram,

A typical ring has 8-16 nodes?

Indeed, SONET/ SDH rings with BLSR/MS-SPRing are limited to 16 nodes because there are just 4 bits to encode the Node ID in K1/K2 overhead bytes.

An MPLS ring could have more if needed.

My guess is that the limit on the number of nodes in a ring is limited only by the probability of a double link/node failure. If failures are rare and repair is fast, you could have more nodes in a ring, if the failures are frequent and repair is slow, ring topologies become problematic even if the number of nodes is small.

On the other hand, "up to 16 nodes in a ring" has probably become yet one more magic number/an article of faith as, say, "sub-50 milliseconds protection switch": Most people do not even ask whence it has come from, what exactly it means and why (if at all) it is still relevant...

This said, using the top level to specify direction (CW or CCW) looks to me like incompatible with MPLS architecture - at least unless you use these top labels as "context labels".

My 2c,

Thumb typed on my LG,
Sasha

------ Original message ------
From: Shahram Davari
Date: 13/11/2014 22:23
To: Kireeti Kompella;Xuxiaohu;
Cc: [email-masked];
Subject:Re: [mpls] draft-kompella-mpls-rmr-00

Kirteeti,

A typical ring has 8-16 nodes. So there is no point increasing depth of label stack and modifying forwarding behavior to save 16 labels.

Thx
SD

From: mpls [mailto:[email-masked]] On Behalf Of Kireeti Kompella
Sent: Thursday, November 13, 2014 12:17 PM
To: Xuxiaohu
Cc: [email-masked]
Subject: Re: [mpls] draft-kompella-mpls-rmr-00

Hi Xiaohu,

On Nov 12, 2014, at 11:33 , Xuxiaohu <[email-masked]<mailto:[email-masked]>> wrote:

Hi Kireeti,

I have read your draft and found it’s very interesting.

Thank you!

I wonder whether it’s possible to introduce the idea of the RPR (Resilient Packet Ring) technology into the MPLS-enabled ring networks. For instance, for a given node on a ring, it has two types of interfaces, one is ring-interface and the other is non-ring-interface. In addition, the ring-interface is either eastward or westward. When receiving an MPLS packet from a non-ring interface, if the next-hop of that MPLS packet is one of its adjacent peers on the ring, it would impose a label indicating clock-wise forwarding or count-clock-wise forwarding accordingly. When receiving an MPLS packet with the top label being the label indicating clock-wise or counter-clock-wise forwarding, unless the next-hop of the FEC which is indicated by the label below that top label is itself or a peer which is connected via a non-ring interface (i.e., the packet would pop off the ring), that packet should be forwarding according to the top label, e.g., if the top label indicates clock-wise forwarding, it would be forwarded in the clock-wise direction.

The label indicating clock-wise or count-clock-wise forwarding could be an SPL or a local label which is advertised by each ring node. If that label is a local label, it should be swapped accordingly on each hop of the ring. When the packet received from a adjacent peer on the ring should pop off that ring, the top label indicating clock-wise or count-clock-wise forwarding should be stripped before performing the further MPLS forwarding process.

Good comment.  Let me see if I understand.  Let’s say that the ring has N nodes.  The way I would do this, each node has 2*(N-1) labels to reach each of the other (N-1) nodes in the two directions (CW or CCW).

What you are suggesting is to have a two-label stack; the outer label says CW or CCW; the inner label says what the egress ring node is.  So, each node has (N-1) inner labels.

So, you are optimizing 2*(N-1) to (N-1) by using hierarchy.  Is N large enough to make this worthwhile?

Note that "unless the next-hop of the FEC which is indicated by the label below that top label is itself” is a non-trivial forwarding step.  I.e., each node needs to look at two labels to determine how to forward the packet.

However, to reach non-ring nodes, I fully support using hierarchy.

Cheers,
Kireeti.

Best regards,
Xiaohu

---

From: Huub van Helvoort <[email-masked]>
Date: Thu, 13 Nov 2014 23:48:18 +0100

Hello Sasha,

> A typical ring has 8-16 nodes?

Indeed, smaller number in the access, larger number in the core of
the network.

> Indeed, SONET/ SDH rings with BLSR/MS-SPRing are limited to 16 nodes
> because there are just 4 bits to encode the Node ID in K1/K2 overhead bytes.

There are "just" four bits after careful consideration.
The network objective is to switch within 50 ms.
In the 16 node ring the propagation delay around the ring has to be
taken into account and the processing time of the K1/K2 bytes.

> An MPLS ring could have more if needed.

Of course. However this number will be determined by the propagation
delay and the processing time per node.

> My guess is that the limit on the number of nodes in a ring is limited
> only by the probability of a double link/node failure. If failures are
> rare and repair is fast, you could have more nodes in a ring, if the
> failures are frequent and repair is slow, ring topologies become
> problematic even if the number of nodes is small.
>
> On the other hand, "up to 16 nodes in a ring" has probably become yet
> one more magic number/an article of faith as, say, "sub-50 milliseconds
> protection switch": Most people do not even ask whence it has come from,
> what exactly it means and why (if at all) it is still relevant...

See above. Note that the extraction, insertion and validation of
the K1/K2 bytes requires 0.6 ms per node.

Regards, Huub.

-- 
*****************************************************************
               请记住，你是独一无二的，就像其他每一个人一样