Internet DRAFT - draft-joshi-pim-ecmp-neighbor-select

draft-joshi-pim-ecmp-neighbor-select






PIM                                                             B. Joshi
Internet-Draft                                               J. Kaveetil
Intended status: Experimental                               Infosys Ltd.
Expires: January 10, 2014                                   July 9, 2013


                PIM neighbor selection with ECMP routes
                draft-joshi-pim-ecmp-neighbor-select-00

Abstract

   A Protocol Independent Multicast (PIM) router uses local forwarding
   table to select the upstream PIM neighbor towards the source or
   Rendezvous Point (RP).  A router need to choose one upstream PIM
   neighbor from the list of PIM neighbors if the route for a source or
   RP is an Equal Cost Multipath (ECMP) route.  Currently PIM routers
   use vendor specific algorithm to choose one neighbor.  This may lead
   to unnecessary wastage of network resources.  This draft first
   explains the need for a standard algorithm to select a PIM neighbor
   with ECMP route and then suggest such an algorithm.

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 RFC 2119 [RFC2119].

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 http://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 January 10, 2014.

Copyright Notice

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



Joshi & Kaveetil        Expires January 10, 2014                [Page 1]

Internet-Draft   PIM neighbor selection with ECMP routes       July 2013


   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://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 Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Need for a standard algorithm . . . . . . . . . . . . . . . . . 3
   3.  Proposed algorithm  . . . . . . . . . . . . . . . . . . . . . . 4
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 5
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     6.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
     6.2.  Informative References  . . . . . . . . . . . . . . . . . . 5
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 5





























Joshi & Kaveetil        Expires January 10, 2014                [Page 2]

Internet-Draft   PIM neighbor selection with ECMP routes       July 2013


1.  Introduction

   A PIM router uses local forwarding table to select the upstream PIM
   neighbor towards the source or RP.  A router need to choose one
   upstream PIM neighbor from a list of PIM neighbors if the route for a
   source or RP is an ECMP route.  Currently PIM routers use some vendor
   specific algorithm to choose one PIM neighbor from the list of PIM
   neighbors.  This may lead to wastage of network resources if two
   downstream routers on a LAN chooses two different upstream routers to
   reach a source or RP.

   There is a need for routers to use a standard algorithm to choose the
   same PIM neighbor when an ECMP routes provide a list of PIM
   neighbors.  This draft first explains the usefulness of such a
   standard algorithm and then suggest the same.


2.  Need for a standard algorithm

   Let us look at the network configuration of figure 1.  Let us assume
   that R4 and R5 received a PIM join for a source 'S'.  Let us also
   assume that both R4 and R5 has an ECMP route to reach source 'S'.
   Let us assume that this ECMP route has two gateways R1 and R3.


     +----+           +----+          +----+
     | R1 |           | R2 |          | R3 |
     +----+           +----+          +----+
       |                |               |
       |                |               |
       |                |               |
    ---+------+---------+------+--------+---------
              |                |
              |                |
            +----+           +----+
            | R4 |           | R5 |
            +----+           +----+

                  Figure 1

   There is no guarantee that R4 and R5 will selects the same upstream
   router i.e R1 or R3 for the PIM join.  This may be because R4 and R5
   are from two different vendors or they use two different mechanism to
   select a PIM neighbor.  Let us assume R4 select R1 while R5 select R3
   as the upstream PIM neighbor and send the PIM join to them.  R1 and
   R3 will forward these joins towards the source and somewhere these
   joins may or may not converge in the network.  When both R1 and R3
   forwards the multicast traffic, PIM assert techniques will elect one



Joshi & Kaveetil        Expires January 10, 2014                [Page 3]

Internet-Draft   PIM neighbor selection with ECMP routes       July 2013


   of them as forwarder.

   So selecting two different PIM neighbors lead to following:

   o  A complete leg of multicast tree will be unnecessarily created.

   o  Multicast data will be unnecessarily forwarded along this leg.

   o  An unnecessary assert mechanism will trigger in the LAN.


3.  Proposed algorithm

   These wastages can be avoided, if router R4 and R5 uses some standard
   algorithm to determine the upstream PIM neighbor.  Any algorithm will
   work only if the routing protocols have converged and all routers on
   a LAN have the same forwarding table.  One simple mechanism could be
   to choose the highest IP address PIM neighbor from the list of PIM
   neighbors.  However, with such a mechanism, all multicast channels
   using a specific ECMP route, would end up using the same PIM
   neighbor.  This means that there is no load balancing among the PIM
   neighbors in the list.  So this draft proposes to use a hash
   algorithm which uses PIM neighbor's address, multicast group address
   and multicast source address or RP address.  The hash function should
   implicitly provide the load balancing among the PIM neighbors that
   can be used.

   The hash function explained in PIM-SM [RFC4601] is extended.  The
   hash function proposed here will be used to calculate hash value for
   each combination of source/RP, group and PIM neighbor's primary
   address.  The PIM neighbor with the highest value will be chosen as
   the upstream PIM neighbor for the corresponding multicast group and
   source.

   HashValue_for_ASM(Group-address,RP-address,Neighbor-address) =
        ( 1103515245 *
          ( ( 1103515245 *
              ( ( ( 1103515245 * Group-address ) + 12345 )
                XOR ( RP-address ) ) + 12345 )
                  XOR ( Neighbor-address ) ) + 12345 ) mod 2^31

   HashValue_for_SSM(Group-address,Source-address,Neighbor-address) =
        ( 1103515245 *
          ( ( 1103515245 *
              ( ( ( 1103515245 * Group-address ) + 12345 )
                XOR ( Source-address ) ) + 12345 )
                  XOR ( Neighbor-address ) ) + 12345 ) mod 2^31




Joshi & Kaveetil        Expires January 10, 2014                [Page 4]

Internet-Draft   PIM neighbor selection with ECMP routes       July 2013


4.  Security Considerations

   This draft does not suggest any change in protocol messages.  If all
   routers in a LAN support this document but one rough router choose
   different upstream router than others, the situation will be similar
   to what exists today.


5.  Acknowledgements

   The idea to use a hash function to identify the PIM neighbor in the
   list of PIM neighbors was discussed during an informal discussion
   with Saravana Prasad.


6.  References

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4601]  Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
              "Protocol Independent Multicast - Sparse Mode (PIM-SM):
              Protocol Specification (Revised)", RFC 4601, August 2006.

6.2.  Informative References


Authors' Addresses

   Bharat Joshi
   Infosys Ltd.

   Email: bharat_joshi@infosys.com


   Jithesh Kaveetil
   Infosys Ltd.

   Email: jithesh_k@infosys.com










Joshi & Kaveetil        Expires January 10, 2014                [Page 5]