One document matched: draft-villamizar-mpls-multipath-use-00.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!-- xml2rfc is available at http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

  <!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
  <!ENTITY RFC2475 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2475.xml">
  <!ENTITY RFC4201 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4201.xml">
  <!ENTITY RFC5286 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5286.xml">
  <!ENTITY RFC5462 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5462.xml">
  <!ENTITY RFC3209 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3209.xml">
  <!ENTITY RFC5654 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5654.xml">
  <!ENTITY RFC5714 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5714.xml">
  <!ENTITY RFC5920 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5920.xml">

  <!ENTITY I-D.ietf-mpls-entropy-label SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-mpls-entropy-label-06">

  <!ENTITY I-D.ietf-mpls-tp-security-framework SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-mpls-tp-security-framework-05">

  ]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc comments="yes"?>
<?rfc inline="yes" ?>

<rfc category="info" ipr="trust200902"
     docName="draft-villamizar-mpls-multipath-use-00">

  <front>
    <title abbrev="MPLS-TP and MPLS Multipath">
      Use of Multipath with MPLS-TP and MPLS</title>

    <author role="editor"
	    fullname="Curtis Villamizar" initials="C." surname="Villamizar">
      <organization>Outer Cape Cod Network Consulting</organization>
      <address>
	<email>curtis@occnc.com</email>
      </address>
    </author>

    <date month="November" year="2012" />

    <area>Routing</area>
    <workgroup>MPLS</workgroup>

    <keyword>MPLS</keyword>
    <keyword>composite link</keyword>
    <keyword>link aggregation</keyword>
    <keyword>ECMP</keyword>
    <keyword>link bundling</keyword>
    <keyword>multipath</keyword>
    <keyword>MPLS-TP</keyword>

    <abstract>
      <t>
	Many MPLS implementations have supported multipath techniques
	and many MPLS deployments have used multipath techniques,
	particularly in very high bandwidth applications, such as
	provider IP/MPLS core networks.  MPLS-TP has strongly
	discouraged the use of multipath techniques.  Some degradation
	of MPLS-TP OAM performance cannot be avoided when operating
	over many types of multipath implementations.
      </t>
      <t>
	Using MPLS Entropy label, MPLS can LSP can be carried over
	multipath links while also providing a fully MPLS-TP compliant
	server layer for MPLS-TP LSP.  This document describes the
	means of supporting MPLS as a server layer for MPLS-TP.  The
	use of MPLS-TP LSP as a server layer for MPLS LSP is also
	discussed.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>
	Today the requirement to handle large aggregations of traffic,
	can be handled by a number of techniques which we will
	collectively call multipath.  Multipath applied to parallel
	links between the same set of nodes includes Ethernet Link
	Aggregation <xref target="IEEE-802.1AX" />,
	<xref target="RFC4201">link bundling</xref>, or other
	aggregation techniques some of which may be vendor specific.
	Multipath applied to diverse paths rather than parallel links
	includes Equal Cost MultiPath (ECMP) as applied to OSPF, ISIS,
	or BGP, and equal cost LSP.  Some vendors support load split
	across equal cost MPLS LSP where the load is split
	proportionally to the reserved bandwidth of the set of LSP.
      </t>
      <t>
	RFC 5654 requirement 33 requires the capability to carry a
	client MPLS-TP or MPLS layer over a server MPLS-TP or MPLS
	layer <xref target="RFC5654" />.  This is possible in all
	cases with one exception.  When an MPLS LSP exceeds the
	capacity of any single component link it may be carried by a
	network using multipath techniques, but may not be carried by
	an MPLS-TP LSP due to the inherent MPLS-TP capacity limitation
	imposed by MPLS-TP OAM packet ordering constraints.
      </t>
      <t>
	The term composite link is more general than terms such as
	link aggregation (which is specific to Ethernet) or ECMP
	(which implies equal cost paths within a routing protocol).
	The use of the term composite link here is consistent with the
	broad definition in <xref target="ITU-T.G.800" />.  Multipath
	is very similar to composite link as defined by ITU, but
	specifically excludes inverse multiplexing.
      </t>
    </section>

    <section anchor="sect.def" title="Definitions">
      <t><list style="hanging" hangIndent="4">
	  <t hangText="Multipath"><vspace blankLines="0" />
	    The term multipath includes all techniques in which
	    <list style="numbers">
	      <t>
		Traffic can take more than one path from one node to a
		destination.
	      </t>
	      <t>
		Individual packets take one path only.  Packets are
		not subdivided and reassembled at the receiving end.
	      </t>
	      <t>
		Packets are not resequenced at the receiving end.
	      </t>
	      <t>
		The paths may be:
		<list style="letters">
		  <t>
		    parallel links between two nodes, or
		  </t>
		  <t>
		    may be specific paths across a network to a
		    destination node, or
		  </t>
		  <t>
		    may be links or paths to an intermediate node used
		    to reach a common destination.
		  </t>
		</list>
	      </t>
	    </list>
	  </t>
	  <t hangText="Link Bundle"><vspace blankLines="0" />
	    Link bundling is a multipath technique specific to MPLS
	    <xref target="RFC4201" />.  Link bundling supports two
	    modes of operations.  Either an LSP can be placed on one
	    component link of a link bundle, or an LSP can be load
	    split across all members of the bundle.  There is no
	    signaling defined which allows a per LSP preference
	    regarding load split, therefore whether to load split is
	    generally configured per bundle and applied to all LSP
	    across the bundle.
	  </t>
	  <t hangText="Link Aggregation"><vspace blankLines="0" />
	    The term "link aggregation" generally refers
	    to <xref target="IEEE-802.1AX">Ethernet Link
	    Aggregation</xref> as defined by the IEEE.  Ethernet Link
	    Aggregation defines a Link Aggregation Control Protocol
	    (LACP) which coordinates inclusion of LAG members in the
	    LAG.
	  </t>
	  <t hangText="Link Aggregation Group (LAG)">
	    <vspace blankLines="0" /> A group of physical Ethernet
	    interfaces that are treated as a logical link when using
	    Ethernet Link Aggregation is referred to as a Link
	    Aggregation Group (LAG).
	  </t>
	  <t hangText="Equal Cost Multipath (ECMP)">
	    <vspace blankLines="0" /> Equal Cost Multipath (ECMP) is a
	    specific form of multipath in which the costs of the links
	    or paths must be equal in a given routing protocol.  The
	    load may be split equally across all available links (or
	    available paths), or the load may be split proportionally
	    to the capacity of each link (or path).
	  </t>
	  <t hangText="Loop Free Alternate Paths">
	    <vspace blankLines="0" /> "Loop-free alternate paths"
	    (LFA) are defined in <xref target="RFC5714">RFC 5714,
	    Section 5.2</xref> as follows.  "Such a path exists when a
	    direct neighbor of the router adjacent to the failure has
	    a path to the destination that can be guaranteed not to
	    traverse the failure."  Further detail can be found in
	    <xref target="RFC5286" />.  LFA as defined for IPFRR can
	    be used to load balance by relaxing the equal cost
	    criteria of ECMP, though IPFRR defined LFA for use in
	    selecting protection paths.  When used with IP,
	    proportional split is generally not used.  LFA use in load
	    balancing is implemented by some vendors though it may
	    be rare or non-existent in deployments.
	  </t>
	  <t hangText="Composite Link"><vspace blankLines="0" />
	    The term Composite Link had been a registered trademark of
	    Avici Systems, but was abandoned in 2007.  The term
	    composite link is now defined by the ITU in
	    <xref target="ITU-T.G.800" />.  The ITU definition
	    includes multipath as defined here, plus inverse
	    multiplexing which is explicitly excluded from the
	    definition of multipath.
	  </t>
	  <t hangText="Inverse Multiplexing"><vspace blankLines="0" />
	    Inverse multiplexing either transmits whole packets and
	    resequences the packets at the receiving end or subdivides
	    packets and reassembles the packets at the receiving end.
	    Inverse multiplexing requires that all packets be handled
	    by a common egress packet processing element and is
	    therefore not useful for very high bandwidth applications.
	  </t>
	  <t hangText="Component Link"><vspace blankLines="0" />
	    The ITU definition of composite link in
	    <xref target="ITU-T.G.800" /> and the IETF definition of
	    link bundling in <xref target="RFC4201" /> both refer to
	    an individual link in the composite link or link bundle as
	    a component link.  The term component link is applicable
	    to all multipath.
	  </t>
	  <t hangText="LAG Member"><vspace blankLines="0" />
	    Ethernet Link Aggregation as defined in <xref
	    target="IEEE-802.1AX" /> refers to an individual link in a
	    LAG as a LAG member.  A LAG member is a component link.
	    An Ethernet LAG is a composite link.  IEEE does not use
	    the terms composite link or component link.
	  </t>
	  <t hangText="load split"><vspace blankLines="0" />
	    Load split, load balance, or load distribution refers to
	    subdividing traffic over a set of component links such
	    that load is fairly evenly distributed over the set of
	    component links and certain packet ordering requirements
	    are met.  Some existing techniques better acheive these
	    objectives than others.
	  </t>
      </list></t>
      <t>
	A small set of requirements are discussed.  These requirements
	make use of keywords such as MUST and SHOULD as described in
	<xref target="RFC2119" />.
      </t>
    </section>

    <section anchor="sect.mpls-server-layer"
	     title="MPLS as a Server Layer for MPLS-TP">
      <t>
	MPLS LSP may be used as a server layer for MPLS-TP LSP as long
	as all MPLS-TP requirements are met, including the requirement
	that packets within an MPLS-TP LSP are not reordered,
	including both payload and OAM packets.
      </t>
      <t>
	Supporting MPLS-TP LSP overa fully MPLS-TP conformant MPLS LSP
	server layer where the MPLS LSP are making use of multipath,
	requires special treatment of the MPLS-TP LSP such that those
	LSP only are not subject to the multipath load slitting.  This
	implies the following brief set of requirements.
	<list counter="mp" hangIndent="4" style="format MP#%d">
	  <t>
	    It MUST be possible to identify MPLS-TP LSP.
	  </t>
	  <t>
	    It SHOULD be possible to completely exclude MPLS-TP LSP
	    from the multipath hash and load split.
	  </t>
	  <t>
	    It SHOULD be possible to insure that an MPLS-TP LSP will
	    not be moved to another component link as a result of a
	    composite link load rebalancing operation.
	  </t>
	  <t>
	    Where an RSVP-TE control plane is used, it MUST be
	    possible for an ingress LSR which is setting up an MPLS-TP
	    or MPLS LSP to determine at CSPF time whether a link or
	    MPLS PSC LSP within the topology can support the MPLS-TP
	    requirements of the LSP.
	  </t>
	</list>
      </t>
      <t>
	There is currently no signaling mechanism defined to support
	requirement MP#1.  In the absense of a signaling extension,
	MPLS-TP can be identified through some form of configuration,
	such as configuration which provides an MPLS-TP compatible
	server layer to all LSP arriving on a specific interface or
	originating from a specific set of ingress LSR.  Alternately
	an MPLS-TP LSP can be created with and Entropy Label Indicator
	(ELI) and entropy label (EL) below the MPLS-TP label
	<xref target="I-D.ietf-mpls-entropy-label" />.
      </t>
      <t>
	Some hardware which exists today can support requirement MP#2.
	Signaling in the absense of MPLS Entropy Label can make use of
	link bundling with a specific component for MPLS-TP LSP and
	link bundling with the all-zeros component for MPLS LSP.  This
	prevents MPLS-TP LSP from being carried within MPLS LSP but
	does allow the co-existance of MPLS-TP and very large MPLS
	LSP.
      </t>
      <t>
	MPLS-TP LSP can be carried as client LSP within an MPLS server
	LSP if an Entropy Label Indicator (ELI) and entropy label (EL)
	is added after the server layer LSP label(s) in the label
	stack, just above the MPLS-TP LSP label entry
	<xref target="I-D.ietf-mpls-entropy-label" />.  This allows
	MPLS-TP LSP to be carried as client LSP within MPLS LSP and
	satisfies requirement MP#2 but requires that MPLS LSR be able
	to identify MPLS-TP LSP (requirement MP#1).
      </t>
      <t>
	MPLS-TP traffic can be protected from an degraded performance
	due to an imperfect load split if the MPLS-TP traffic is given
	queuing priority (using strict priority and policing or
	shaping at ingress or locally or weighted queuing locally).
	This can be accomplished using the Traffic Class field and
	Diffserv treatment of traffic
	<xref target="RFC5462" /><xref target="RFC2475" />.  In the
	event of congestion due to load imbalance, other traffic will
	suffer as long as there is a minority of MPLS-TP traffic.
      </t>
      <t>
	If MPLS-TP LSP are carried within MPLS LSP and ELI and EL are
	used, requirement MP#2 is satisfied, but without a signaling
	extension, requirement MP#3 is not satisfied if there is a
	need to rebalance the load on any composite link carrying the
	MPLS server LSP.  Load rebalance is generally needed only when
	congestion occurs, therefore restricting MPLS-TP to be carried
	only over MPLS LSP that are known to traverse only links which
	are expected to be uncongested can satisfy requirement MP#3.
      </t>
      <t>
	Requirement MP#4 can be supported using administrative
	attributes.  Administrative attributes are defined in
	<xref target="RFC3209" />.  Some configuration is required to
	support this.
      </t>
    </section>
    <section anchor="sect.tp-server-layer"
	     title="MPLS-TP as a Server Layer for MPLS">
      <t>
	Carrying MPLS LSP which are larger than a component link over
	a MPLS-TP server layer requires that the large MPLS client
	layer LSP be accommodated by multiple MPLS-TP server layer
	LSPs.  MPLS multipath can be used in the client layer MPLS.
      </t>
      <t>
	Creating multiple MPLS-TP server layer LSP places a greater
	ILM scaling burden on the LSR.  High bandwidth MPLS cores with
	a smaller amount of nodes have the greatest tendency to
	require LSP in excess of component links, therefore the
	reduction in number of nodes offsets the impact of increasing
	the number of server layer LSP in parallel.  Today, only in
	cases where deployed LSR ILM are small would this be an issue.
      </t>
      <t>
	The most significant disadvantage of MPLS-TP as a Server Layer
	for MPLS is that the use MPLS-TP server layer LSP reduces the
	efficiency of carrying the MPLS client layer.  The service
	which provides by far the largest offered load in provider
	networks is Internet, for which the LSP capacity reservations
	are predictions of expected load.  Many of these MPLS LSP may
	be smaller than component link capacity.  Using MPLS-TP as a
	server layer results in bin packing problems for these smaller
	LSP.  For those LSP that are larger than component link
	capacity, their capacity are not increments of convenient
	capacity increments such as 10Gb/s.  Using MPLS-TP as an
	underlying server layer greatly reduces the ability of the
	client layer MPLS LSP to share capacity.  For example, when
	one MPLS LSP is underutilizing its predicted capacity, the
	fixed allocation of MPLS-TP to component links may not allow
	another LSP to exceed its predicted capacity.  Using MPLS-TP
	as a server layer may result in less efficient use of
	resources may result in a less cost effective network.
      </t>
      <t>
	No additional requirements beyond MPLS-TP as it is now
	currently defined are required to support MPLS-TP as a Server
	Layer for MPLS.  It is therefore viable but has some
	undesirable characteristics discussed above.
      </t>
    </section>

    <!-- Possibly an Acknowledgements or a 'Contributors' section ... -->

    <section anchor="sect.iana" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>
    </section>

    <section anchor="sect.security" title="Security Considerations">
      <t>
	This document specifies requirements with discussion of
	framework for solutions using existing MPLS and MPLS-TP
	mechanisms.  The requirements and framework are related to the
	coexistence of MPLS/GMPLS (without MPLS-TP) when used over a
	packet network, MPLS-TP, and multipath.  The combination of
	MPLS, MPLS-TP, and multipath does not introduce any new
	security threats.  The security considerations for MPLS/GMPLS
	and for MPLS-TP are documented in <xref target="RFC5920" />
	and <xref target="I-D.ietf-mpls-tp-security-framework" />.
      </t>
    </section>

  </middle>

  <back>

    <references title="Normative References">

      &RFC2119;

    </references>

    <references title="Informative References">

      &RFC2475;
      &RFC3209;
      &RFC4201;
      &RFC5286;
      &RFC5462;
      &RFC5654;
      &RFC5714;
      &RFC5920;

      &I-D.ietf-mpls-entropy-label;

      &I-D.ietf-mpls-tp-security-framework;

      <reference anchor="IEEE-802.1AX"
                 target="http://standards.ieee.org/getieee802/download/802.1AX-2008.pdf">
        <front>
          <title>IEEE Std 802.1AX-2008 IEEE Standard for
	    Local and Metropolitan Area Networks - Link Aggregation</title>

          <author>
            <organization>IEEE Standards Association</organization>
          </author>

          <date year="2006" />
        </front>
      </reference>

      <reference anchor="ITU-T.G.800"
                 target="http://www.itu.int/rec/T-REC-G/recommendation.asp?parent=T-REC-G.800">
        <front>
          <title>Unified functional architecture of transport
          networks</title>

          <author>
            <organization>ITU-T</organization>
          </author>

          <date year="2007" />
        </front>
      </reference>

    </references>

  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 06:01:07