Internet DRAFT - draft-xz-pim-flex-algo

draft-xz-pim-flex-algo







PIM                                                                B. Xu
Internet-Draft                                                  Z. Zhang
Intended status: Standards Track                         ZTE Corporation
Expires: 12 May 2023                                     8 November 2022


               Flex-Algorithm TLV in PIM Join Attributes
                       draft-xz-pim-flex-algo-01

Abstract

   This document defines a PIM join attribute to support building
   multicast distribution trees flowing Flex-Algorithm path.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 12 May 2023.

Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.







Xu & Zhang                 Expires 12 May 2023                  [Page 1]

Internet-Draft              Abbreviated Title              November 2022


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Flex-Algorithm Attribute  . . . . . . . . . . . . . . . . . .   3
     3.1.  Flex-Algorithm Attribute Format . . . . . . . . . . . . .   3
     3.2.  Specification of the Flex-Algorithm Attribute . . . . . .   3
     3.3.  Use of the Flex-Algorithm Attribute . . . . . . . . . . .   4
       3.3.1.  Last-Hop Originate Flex-Algorithm Attribute . . . . .   4
       3.3.2.  Core Router Originate Flex-Algorithm Attribute  . . .   5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   6.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   5
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   Protocol Independent Multicast (PIM) get the upstream neighbor and
   incoming interface to multicast source or Rendezvous Point (RP) from
   the unicast routing protocol.  As described in section 3 in
   [RFC7761], PIM relies on an underlying topology-gathering protocol to
   populate the MRIB (Multicast Routing Information Base).  Usually the
   MRIB is the best paths over the network based on the IGP metric.  In
   some case, PIM should choose a special path such as low latency path
   or constraint-based path.

   [I-D.ietf-lsr-flex-algo] specifies a set of extensions to IS-IS,
   OSPFv2, and OSPFv3 to be used to compute the best paths along the
   constrained topology.

   In order to allow PIM build multicast distribution trees following
   Flex-Algorithm topology, a PIM extension is needed.  This document
   defines a new join attributes to restrict the path of pim join.

1.1.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

2.  Terminology

   This document does not introduce more terminologies than [RFC7761],
   [RFC5384], [RFC5496] and [I-D.ietf-lsr-flex-algo].




Xu & Zhang                 Expires 12 May 2023                  [Page 2]

Internet-Draft              Abbreviated Title              November 2022


3.  Flex-Algorithm Attribute

   [RFC5384] defines a pim Join Attributes are encoded as TLVs into the
   Encoded-Source Address field of a PIM Join message.  This document
   specifies the Flex-Algorithm Attribute that allows the receiver to
   select the Flex-Algorithm path.

3.1.  Flex-Algorithm Attribute Format

          0                   1                   2
          0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
         |F|E|  Type=TBD | Length = 1    |  Flex-Algo    |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                  Figure 1

   F bit: The Transitive bit.  Specifies whether the attribute is
   transitive or non-transitive.  This bit RECOMMENDED set to 1 and
   the attribute will be transitived.

   E bit: End-of-Attributes bit.  Specifies whether this attribute is
   the last.  Set to zero if there are more attributes.  Set to 1 if
   this is the last attribute.

   Type: TBD (To be assigned by IANA).

   Length: 1-octet.

   Flex-Algo: A 1-octet field Flex-Algorithm (see Section 4 of
   [I-D.ietf-lsr-flex-algo]) to special the topology.

3.2.  Specification of the Flex-Algorithm Attribute

   The PIM router on the receiving side specifies the Flex-Algorithm of
   the unicast route to the multicast source or RP according to the
   local policy.  It lookup unicast route in Flex-Algorithm topology,
   and fills the specified Flex-Algorithm into the Flex-Algorithm
   attribute when sending the join message to upstream neighbor.

   After receiving join message with Flex-Algorithm attribute, the
   upstream PIM router lookup unicast routes in the Flex-Algorithm
   topology and selects the incoming interface and upstream neighbor.
   And the continual join messages keep carrying the Flex-Algorithm
   Attribute.






Xu & Zhang                 Expires 12 May 2023                  [Page 3]

Internet-Draft              Abbreviated Title              November 2022


   When unicast routing is unreachable in the specific Flex-Algorithm
   topology, there are two processing modes: Try-to-Forward and
   Strictly-Topology.  In Try-to-Forward mode, pim router continues to
   search the unicast route without topology constrained, and the sent
   join message will no longer carry Flex-Algorithm Attribute; In
   Strictly-Topology mode, it is handled according to route unreachable.

   If the Flex-Algorithm attribute of the same source address(or RP
   address) and group address sent by multiple downstream PIM routers
   are different, the join message from the neighbor, which has the
   larger address, is selected.

   If the Flex-Algo attribute is also received with the RPF vector
   attribute([RFC5496]), the router MUST perform a lookup in the
   corresponding Flexible Algorithm topology for the Encoded-Unicast
   address from the vector attribute, and send a join along the
   corresponding path defined by the Flex-Algo attribute, to the
   upstream router.

   There should be no more than one Flex-Algorithm attribute in a
   Encoded-Source Address when PIM build a join message.  If the PIM
   router receives a join message with multiple Flex-Algorithm
   attributes in a Encoded-Source Address, the first one is RECOMMENDED
   be used.

3.3.  Use of the Flex-Algorithm Attribute

3.3.1.  Last-Hop Originate Flex-Algorithm Attribute

                         +----(gR2)------(gR4)----+
                        /       |          |       \
                       /        |          |        \
            Source--(R1)(RP)    |          |       (R6)--Recv
                       \        |          |        /
                        \       |          |       /
                         +----(rR3)------(rR5)----+

                                  Figure 2

   The network is divided into 2 planes by different Flex-Algorithm.
   For example, R1/R2/R4/R6 belong to green plane, and R1/R3/R5/R6
   belong to red plane.  R1 is the source DR and R6 is last-hop DR.  R6
   is configured with policy rule1 to match (1.0.0.0/24, 233.252.0.1/32)
   and set Flex-Algorithm M to select green plane, and R6 is configured
   with policy rule2 to match (2.0.0.0/24, 233.252.0.2/32) and set Flex-
   Algorithm N to select red plane.  When JoinDesired(1.0.0.1,
   233.252.0.1) ([RFC7761]) is TRUE, R6 will match policy rule1 in local
   policy and send PIM join to R4 with Flex-Algorithm M in Flex-



Xu & Zhang                 Expires 12 May 2023                  [Page 4]

Internet-Draft              Abbreviated Title              November 2022


   Algorithm Attribute.  Also, when JoinDesired(2.0.0.1, 233.252.0.2) is
   TRUE, R6 will match policy rule2 in local policy and send PIM join to
   R5 with Flex-Algorithm N in Flex-Algorithm Attribute.  The PIM
   process for (*,G),(S,G) and (S,G,rpt) ([RFC7761]) is similar.

3.3.2.  Core Router Originate Flex-Algorithm Attribute

                     +----(gR2)------(gR4)----+      +---(R7)--Recv
                    /       |          |       \    /
                   /        |          |        \  /
        Source--(R1)(RP)    |          |        (R6)
                   \        |          |        /  \
                    \       |          |       /    \
                     +----(rR3)------(rR5)----+      +---(R8)--Recv

                                  Figure 3

   The Flex-Algorithm policy can also be set on the core router.  For
   example, R6 is a core router and connect downstream routers R7/R8 in
   Figure 3.  If R7 sends PIM join with Flex-Algorithm M and R8 sends
   PIM join with Flex-Algorithm N for a same PIM route, R6 SHOULD select
   one from larger neighbor.

4.  IANA Considerations

   TBD.

5.  Security Considerations

   If PIM routers in the multicast tree select different Flex-Algorithm
   topology based on different local policy, there may be a loop in the
   network.  The network administrator should be careful to set the
   policies.

6.  Acknowledgments

   Would like to thank Sandy Breeze for his suggestions to this draft.

7.  References

7.1.  Normative References

   [I-D.ietf-lsr-flex-algo]
              Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and
              A. Gulko, "IGP Flexible Algorithm", Work in Progress,
              Internet-Draft, draft-ietf-lsr-flex-algo-26, 17 October
              2022, <https://www.ietf.org/archive/id/draft-ietf-lsr-
              flex-algo-26.txt>.



Xu & Zhang                 Expires 12 May 2023                  [Page 5]

Internet-Draft              Abbreviated Title              November 2022


   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC5384]  Boers, A., Wijnands, I., and E. Rosen, "The Protocol
              Independent Multicast (PIM) Join Attribute Format",
              RFC 5384, DOI 10.17487/RFC5384, November 2008,
              <https://www.rfc-editor.org/info/rfc5384>.

   [RFC5496]  Wijnands, IJ., Boers, A., and E. Rosen, "The Reverse Path
              Forwarding (RPF) Vector TLV", RFC 5496,
              DOI 10.17487/RFC5496, March 2009,
              <https://www.rfc-editor.org/info/rfc5496>.

   [RFC7761]  Fenner, B., Handley, M., Holbrook, H., Kouvelas, I.,
              Parekh, R., Zhang, Z., and L. Zheng, "Protocol Independent
              Multicast - Sparse Mode (PIM-SM): Protocol Specification
              (Revised)", STD 83, RFC 7761, DOI 10.17487/RFC7761, March
              2016, <https://www.rfc-editor.org/info/rfc7761>.

Authors' Addresses

   Benchong Xu
   ZTE Corporation
   China
   Email: xu.benchong@zte.com.cn


   Zheng Zhang
   ZTE Corporation
   China
   Email: zhang.zheng@zte.com.cn


















Xu & Zhang                 Expires 12 May 2023                  [Page 6]