datatracker.ietf.org
Sign in
Version 5.10.0, 2014-12-21
Report a bug

Avoiding Equal Cost Multipath Treatment in MPLS Networks
RFC 4928

Document type: RFC - Best Current Practice (June 2007; Errata)
Updated by RFC 7274
Also Known As BCP 128
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: WG Document
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 4928 (Best Current Practice)
Responsible AD: Ross Callon
Send notices to: mpls-chairs@tools.ietf.org

Network Working Group                                         G. Swallow
Request for Comments: 4928                                     S. Bryant
BCP: 128                                             Cisco Systems, Inc.
Category: Best Current Practice                             L. Andersson
                                                                Acreo AB
                                                               June 2007

        Avoiding Equal Cost Multipath Treatment in MPLS Networks

Status of This Memo

   This document specifies an Internet Best Current Practices for the
   Internet Community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   This document describes the Equal Cost Multipath (ECMP) behavior of
   currently deployed MPLS networks.  This document makes best practice
   recommendations for anyone defining an application to run over an
   MPLS network that wishes to avoid the reordering that can result from
   transmission of different packets from the same flow over multiple
   different equal cost paths.  These recommendations rely on inspection
   of the IP version number field in packets.  Despite the heuristic
   nature of the recommendations, they provide a relatively safe way to
   operate MPLS networks, even if future allocations of IP version
   numbers were made for some purpose.

Table of Contents

   1. Introduction ....................................................2
      1.1. Terminology ................................................2
   2. Current ECMP Practices ..........................................2
   3. Recommendations for Avoiding ECMP Treatment .....................4
   4. Security Considerations .........................................5
   5. IANA Considerations .............................................5
   6. References ......................................................6
      6.1. Normative References .......................................6
      6.2. Informative References .....................................6

Swallow, et al.          Best Current Practice                  [Page 1]
RFC 4928        Avoiding ECMP Treatment in MPLS Networks       June 2007

1.  Introduction

   This document describes the Equal Cost Multipath (ECMP) behavior of
   currently deployed MPLS networks.  We discuss cases where multiple
   packets from the same top-level LSP might be transmitted over
   different equal cost paths, resulting in possible mis-ordering of
   packets that are part of the same top-level LSP.  This document also
   makes best practice recommendations for anyone defining an
   application to run over an MPLS network that wishes to avoid the
   resulting potential for mis-ordered packets.  While disabling ECMP
   behavior is an option open to most operators, few (if any) have
   chosen to do so, and the application designer does not have control
   over the behavior of the networks that the application may run over.
   Thus, ECMP behavior is a reality that must be reckoned with.

1.1.  Terminology

   ECMP        Equal Cost Multipath

   FEC         Forwarding Equivalence Class

   IP ECMP     A forwarding behavior in which the selection of the
               next-hop between equal cost routes is based on the
               header(s) of an IP packet

   Label ECMP  A forwarding behavior in which the selection of the
               next-hop between equal cost routes is based on the label
               stack of an MPLS packet

   LSP         Label Switched Path

   LSR         Label Switching Router

2.  Current ECMP Practices

   The MPLS label stack and Forwarding Equivalence Classes are defined
   in [RFC3031].  The MPLS label stack does not carry a Protocol
   Identifier.  Instead the payload of an MPLS packet is identified by
   the Forwarding Equivalence Class (FEC) of the bottom most label.
   Thus, it is not possible to know the payload type if one does not
   know the label binding for the bottom most label.  Since an LSR,
   which is processing a label stack, need only know the binding for the
   label(s) it must process, it is very often the case that LSRs along
   an LSP are unable to determine the payload type of the carried
   contents.

   As a means of potentially reducing delay and congestion, IP networks
   have taken advantage of multiple paths through a network by splitting

Swallow, et al.          Best Current Practice                  [Page 2]
RFC 4928        Avoiding ECMP Treatment in MPLS Networks       June 2007

   traffic flows across those paths.  The general name for this practice
   is Equal Cost Multipath or ECMP.  In general, this is done by hashing

[include full document text]