<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc symrefs="no"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc tocdepth="3"?>
<?rfc rfcedstyle="yes"?>
<rfc category="info" docName="draft-blb-mpls-tp-framework-01" ipr="full3978">
  <front>
    <title abbrev="MPLS TP Framework">A Framework for MPLS in Transport
    Networks</title>

    <author fullname="Matthew Bocci" initials="M" role="editor"
            surname="Bocci">
      <organization>Alcatel-Lucent</organization>

      <address>
        <postal>
          <street>Voyager Place, Shoppenhangers Road</street>

          <city>Maidenhead</city>

          <region>Berks</region>

          <code>SL6 2PJ</code>

          <country>United Kingdom</country>
        </postal>

        <phone>+44-207-254-5874</phone>

        <email>matthew.bocci@alcatel-lucent.com</email>
      </address>
    </author>

    <author fullname="Stewart Bryant" initials="S" role="editor"
            surname="Bryant">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>250 Longwater Ave</street>

          <city>Reading</city>

          <code>RG2 6GB</code>

          <country>United Kingdom</country>
        </postal>

        <phone>+44-208-824-8828</phone>

        <email>stbryant@cisco.com</email>
      </address>
    </author>

    <author fullname="Lieven Levrau" initials="L" role="editor"
            surname="Levrau">
      <organization>Alcatel-Lucent</organization>

      <address>
        <postal>
          <street>7-9, Avenue Morane Sulnier</street>

          <city>Velizy</city>

          <code>78141</code>

          <country>France</country>
        </postal>

        <phone>+33-6-33-86-1916</phone>

        <email>lieven.levrau@alcatel-lucent.com</email>
      </address>
    </author>

    <date day="31" month="October" year="2008" />

    <area>Routing</area>

    <workgroup>MPLS Working Group</workgroup>

    <keyword></keyword>

    <keyword>mpls-tp</keyword>

    <keyword>MPLS</keyword>

    <keyword>Internet-Draft</keyword>

    <abstract>
      <t>This document specifies an archiectectural framework for the
      application of MPLS in transport networks. It describes a profile of
      MPLS that enables operational models typical in transport networks
      networks, while providing additional OAM, survivability and other
      maintenance functions not currently supported by MPLS.</t>
    </abstract>

    <note title="Requirements Language">
      <t>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 <xref
      target="RFC2119">RFC2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <section title="Motivation and Background">
        <t>Existing transport technologies (e.g. SDH, ATM, OTN) have been
        designed with specific characteristics:</t>

        <t><list style="symbols">
            <t>Strictly connection oriented <list style="symbols">
                <t>Long-lived connections</t>

                <t>Manually provisioned connections</t>
              </list></t>

            <t>High level of protection and availability</t>

            <t>Quality of service</t>

            <t>Extended OAM capabilities</t>
          </list>The development of MPLS-TP has been driven by the carriers
        needing to evolve SONET/SDH networks to support packet based services
        and networks, and the desire to take advantage of the flexibility and
        cost benefits of packet switching technology.</t>

        <t>There are three objectives:</t>

        <t><list style="numbers">
            <t>To enable MPLS to be deployed in a transport network and
            operated in a similar manner to existing transport
            technologies.</t>

            <t>To enable MPLS to support packet transport services with a
            similar degree of predictability to that found in existing
            transport networks.</t>

            <t>To create a common set of new functions that are applicable to
            both MPLS networks in general, and those blonging to the MPLS-TP
            profile.</t>
          </list>MPLS-TP defines a profile of MPLS targeted at transport
        applications. This profile specifies the specific MPLS characteristics
        and extensions required to meet transport requirements. An equipment
        conforming to MPLS-TP must support this profile. An MPLS-TP conformant
        equipment MAY support additional MPLS features. A carrier may deploy
        some of those additional features in the transport layer of their
        network if they find them to be beneficial.</t>

        <t><xref target="tp-spectrum" /> illustrates the range of services
        that MPLS-TP is intended to address. Networks supporting MPLS-TP are
        intended to support a range of layer 1,layer 2 and layer 3 services,
        and are not limited to layer 3 services only.</t>

        <figure anchor="tp-spectrum" title="MPLS-TP Service Spectrum">
          <artwork><![CDATA[                                          MPLS-TP Solution exists
                                           over this spectrum
                                  |<-------------------------------->|

cl-ps                      Multi-Service                     co-cs & co-ps
                          (cl-ps & co-ps)                      (Label is 
  |                               |                        service context)
  |                               |                                  |
  |<------------------------------|--------------------------------->|
  |                               |                                  |
L3 Only                 L1, L2, L3 Services                 L1, L2 Services            
                        Pt-Pt, Pt-MP, MP-MP                Pt-Pt and Pt-MP

]]></artwork>
        </figure>

        <t />
      </section>

      <section title="Scope">
        <t>This document specifies the high-level functionality of MPLS-TP
        required for adding transport-oriented capabilities to MPLS</t>
      </section>

      <section title="Terminology">
        <texttable align="left" style="headers">
          <ttcol>Term</ttcol>

          <ttcol>Definition</ttcol>

          <c>LSP</c>

          <c>Label Switched Path</c>

          <c>MPLS-TP</c>

          <c>MPLS Transport profile</c>

          <c>SDH</c>

          <c>Synchronous Digital Hierarchy</c>

          <c>ATM</c>

          <c>Asynchronous Transfer Mode</c>

          <c>OTN</c>

          <c>Optical Transport Network</c>

          <c>cl-ps</c>

          <c>Connectionless - Packet Switched</c>

          <c>co-cs</c>

          <c>Connection Oriented - Circuit Switched</c>

          <c>co-ps</c>

          <c>Connection Oriented - Packet Switched</c>

          <c>OAM</c>

          <c>Operations, Adminitration and Maintenance</c>

          <c>G-ACH</c>

          <c>Generic Associated Channel Header</c>

          <c>GAL</c>

          <c>Generic Alert Label</c>

          <c>MEP</c>

          <c>Maintenance End Point</c>

          <c>MIP</c>

          <c>Maintenance Intermediate Point</c>

          <c>APS</c>

          <c>Automatic Protection Switching</c>

          <c>SCC</c>

          <c>Signaling Communication Channel</c>

          <c>MCC</c>

          <c>Management Communication Channel</c>

          <c>EMF</c>

          <c>Equipment Management Function</c>

          <c>FM</c>

          <c>Fault Management</c>

          <c>CM</c>

          <c>Configuration Management</c>

          <c>PM</c>

          <c>Performance Management</c>
        </texttable>
      </section>

      <t />
    </section>

    <section title="Summary of Requirements">
      <t>This section summarizes the requirements for the MPLS transport
      profile. Such requirements are specified in more detail in <xref
      target="I-D.jenkins-mpls-mpls-tp-requirements"></xref>, <xref
      target="I-D.vigoureux-mpls-tp-oam-requirements"></xref>, and <xref
      target="I-D.gray-mpls-tp-nm-req"></xref>.</t>

      <t>Solutions MUST NOT modify the MPLS forwarding architecture.</t>

      <t>Solutions MUST be based on existing pseudowire and LSP
      constructs.</t>

      <t>New mechanisms and capabilities added to support transport networks
      must be able to interoperate or interwork with existing MPLS and
      pseudowire control and forwarding planes.</t>

      <t>Point to point LSPs MAY be unidirectional or bi-directional. It MUST
      be possible to construct congruent Bi-directional LSPs. Point to
      multipoint LSPs are unidirectional.</t>

      <t>MPLS-TP LSPs do not merge with other LSPs at an MPLS-TP LSR. It is
      possible to detect that a merged LSP has been created.</t>

      <t>It MUST be possible to forward packets solely based on switching the
      MPLS or PW label. It MUST also be possible to establish and maintain
      LSPs and/or pseudowires both in the absence or presence of a dynamic
      control plane. When static provisioning is used, there MUST be no
      dependency on dynamic routing or signaling.</t>

      <t>OAM, protection and forwarding of data packets MUST be able to
      operate without IP forwarding support.</t>

      <t>It MUST be possible to monitor LSPs and pseudowires through the use
      of OAM in the absence of control plane or routing functions. In this
      case information gained from the OAM functions is used to initiate path
      recovery actions at either the PW or LSP layers.</t>
    </section>

    <section title="Transport Profile Overview ">
      <t></t>

      <section title="Architecture">
        <t>The architecture for a transport profile of MPLS (MPLS-TP) is based
        on the MPLS-TE <xref target="RFC3031"></xref>, pseudowire <xref
        target="RFC3985"></xref>, and multi-segment pseudowire <xref
        target="I-D.ietf-pwe3-ms-pw-arch"></xref> architectures, as
        illustrated in <xref target="tp-arch"></xref>. The primary constructs
        of the transport profie for MPLS are LSPs, while PWs are the primary
        client layer.</t>

        <t></t>

        <figure anchor="tp-arch" title="MPLS-TP Architecture">
          <artwork><![CDATA[       Native  |<------------Pseudowire-------------->|  Native
       Service |         PSN              PSN         |  Service
        (AC)   |     |<--cloud->|     |<-cloud-->|    |   (AC)
          |    V     V          V     V          V    V     |
          |    +----+           +-----+          +----+     |
   +----+ |    |TPE1|===========|SPE1 |==========|TPE2|     | +----+
   |    |------|..... PW.Seg't1.........PW.Seg't3.....|-------|    |
   | CE1| |    |    |           |     |          |    |     | |CE2 |
   |    |------|..... PW.Seg't2.........PW.Seg't4.....|-------|    |
   +----+ |    |    |===========|     |==========|    |     | +----+
        ^      +----+     ^     +-----+     ^    +----+       ^
        |                 |                 |                 |
        |              TE LSP            TE LSP               |
        |                                                     |
        |                                                     |
        |<---------------- Emulated Service ----------------->|


]]></artwork>
        </figure>

        <t></t>

        <t>The MPLS-TP forwarding plane is a profile of the MPLS LSP PW, and
        MS-PW forwarding architecture as detailed in section <xref
        target="FWD"></xref>.</t>

        <t>MPLS-TP supports a comprehensive set of OAM and
        protection-switching capabilities for packet transport applications,
        with equivalent capabilities to existing SONET/SDH OAM and protection,
        as described in sections <xref target="OAM"></xref> and <xref
        target="SURVIVE"></xref>. MPLS-TP may be operated with centralized
        Network Management Systems with or without the support of a
        distributed control plane as described in sections <xref
        target="CONTROLPLANE"></xref> and <xref target="NETMGT"></xref>.</t>

        <t>MPLS-TP defines mechanisms to differentiate specific packets (e.g.
        OAM, APS, MCC or SCC) from those carrying user data packets on the
        same LSP. These mechanisms are described in sections <xref
        target="GENERICACH"></xref> and <xref target="GACHHDR"></xref>.</t>
      </section>

      <section anchor="addr" title="Addressing">
        <t>MPLS-TP distinguishes between adressing used to identify nodes in
        the network, and identifiers used for demultiplexing and forwarding.
        This distinction is illustrated in <xref
        target="tp-addresses"></xref>.<figure anchor="tp-addresses"
            title="Addressing in MPLS-TP">
            <artwork><![CDATA[                          NMS                   Control/Signalling
                              .....         .....
                         [Address]|         |   [Address]
                                  |         |
                            +-----+---------+------+
    Address = Node          |     |         |      |
    ID in forwarding plane  |     V         V      |
                            |                      |
                            |     MEP or MIP       |
                            | dmux                 |
                            | svcid                |
                            | src                  |
                            +--^-------------------+
                               |
   OAM:                OAM     |
     dmux= [GAL/GACH]...........
              or       ________________________________________
             IP       (________________________________________)
     svc context=ID/FEC             PWE=ID1
     SRC=IP                           .
                                      .
                                     IDx]]></artwork>
          </figure></t>

        <t>Ediror's note: The figure above arose from discussions in the
        MPLS-TP design team. It will be clarified in a future verson of this
        draft.</t>

        <t>IPv4 or IPv6 addresses are used to identify MPLS-TP nodes by
        default for network management and signaling purposes.</t>

        <t>In the forwarding plane, identfiers are required for the service
        context (provided by the FEC), and for OAM. OAM requires both a
        demultiplexer and an address for the source of the OAM packet.</t>

        <t>For MPLS in general where IP addressing is used, IPv4 or IPv6 is
        used by default. However, MPLS-TP must be able to operate in
        environments where IP is not used in the forwarding plane. Therefore,
        the default mechanism for OAM demultiplexing in MPLS-TP LSPs and PWs
        is the generic associated channel. Forwarding based on IP addresses
        for user or OAM packets is NOT REQUIRED for MPLS-TP.</t>

        <t>RFC 4379 <xref target="RFC4379"></xref>and BFD for MPLS LSPs <xref
        target="I-D.ietf-bfd-mpls"></xref> have defined alert mechanisms that
        enable a MPLS LSR to identify and process MPLS OAM packets when the
        OAM packets are encapsulated in an IP header. These alert mechanisms
        are based on TTL expiration and/or use an IP destination address in
        the range 127/8. These mechanisms are the default mechanisms for MPLS
        networks in general for identifying MPLS OAM packets when the OAM
        packets are encapsulated in an IP header. MPLS-TP must not rely on
        these mechanisms, and thus relies on the GACH/GAL to demultiplex OAM
        packets.</t>
      </section>

      <section anchor="FWD" title="Forwarding">
        <t>MPLS-TP LSPs use the MPLS label switching operations defined in
        <xref target="RFC3031"></xref>. These operations are highly optimized
        for performance and are not modified by the MPLS-TP profile.</t>

        <t>During forwarding a label is pushed to describe the processing
        operaton to be performed at the next hop at that level of
        encapsulation. A swap of this label is an atomic operation in which
        the contents of the packet after the swapped label are opaque to the
        forwarder. The only circumstance that disrupts a swap operation is TTL
        expiry, in which case the packet may be discarded or subjected to
        further scrutinity within the LSR. Operations on a packet with an
        expired TTL are asynchronous to the other packets in the LSP. Thus the
        only way to cause a P (intermediate) LSR to inspect a packet (for
        example for OAM purposes) is to set the TTL to expiry at that LSR.</t>

        <t>MPLS-TP PWs support the PW and MS-PW forwarding operations defined
        in <xref target="RFC3985"></xref> and <xref
        target="I-D.ietf-pwe3-ms-pw-arch"></xref>.</t>

        <t>The Traffic Class field (former MPLS EXP field) follows the
        definition and processing rules of <xref
        target="I-D.ietf-mpls-cosfield-def"></xref> and <xref
        target="RFC3270"></xref>. Only the pipe and short-pipe models are
        supported in MPLS-TP.</t>

        <t>The MPLS encapsulation format is as defined in RFC 3032<xref
        target="RFC3032"></xref>. Per-platform or the per-interface label
        space can be selected. Standard PW encapsulation mechanisms are
        applicable to the different client layers as defined by the IETF PWE3
        WG.</t>

        <t>MPLS-TP LSPs can be unidirectional or bidirectional point-to-point.
        As for MPLS, point-to-multipoint MPLS-TP LSPs are unidirectional.</t>

        <t>Point-to-multipont PWs are currently in definition in the IETF and
        may be incorporated in MPLS-TP if required.</t>

        <t>It MUST be possible to configure an MPLS-TP LSP such that the
        forward and backward directions of bidirectional MPLS-TP LSPs
        congruent: i.e. they follow the same path. The pairing relationship
        between the forward and the backward directions must be known at each
        MEP, MIP or segment protection endpoint on a bidirectional LSP.</t>

        <t>Per-packet equal cost multi-path (ECMP) load balancing is not
        applicable to MPLS-TP LSPs, however PWs or LSPs that emulate link
        bundles may be employed, for example <xref
        target="I-D.bryant-filsfils-fat-pw"></xref></t>

        <t>Penultimate hop popping (PHP) is disabled on MPLS-TP LSPs by
        default. The applicability of PHP to both MPLS-TP LSPs and MPLS
        networks in general providing paket transport services will be
        clarified in a future version of this draft.</t>

        <t>Both E-LSP and L-LSP are supported in MPLS-TP, as defined in RFC
        3270 <xref target="RFC3270"></xref>.</t>
      </section>

      <section anchor="OAM"
               title="Operations, Administration and Maintenance (OAM)">
        <t>MPLS-TP requires <xref
        target="I-D.vigoureux-mpls-tp-oam-requirements"></xref> that a set of
        OAM capabilities is available to perform fault management (e.g. fault
        detection and localization) and performance monitoring (e.g. signal
        quality measurement) of the MPLS-TP network and the services. These
        capabilities are applicable at the section, LSP and PW layer. The
        framework for OAM in MPLS-TP is specified in <xref
        target="I-D.busi-mpls-tp-oam-framework"></xref>.</t>

        <t>OAM and monitoring in MPLS-TP is based on the concept of
        maintenance entities, as described in <xref
        target="I-D.busi-mpls-tp-oam-framework"></xref>. A Maintenance Entity
        can be viewed as the association of two (or more) Maintenance End
        Points (MEPs) (see example in <xref target="tp-oam-ex"></xref> ). The
        MEPS that form an ME should be configured and managed to limit the OAM
        responsibilities of an OAM flow within a network or sub-network in the
        specific layer network that is being monitored and managed. Each OAM
        flow is associated to a unique ME. Each MEP within an ME resides at
        the boundaries of that ME. An ME may also include a set of zero or
        more Maintenance Intermediate Points (MIPs), which reside within the
        Maintenance Entity. Maintenance end points (MEPs) are capable of
        sourcing and sinking OAM flows, while maintenance intermediate points
        (MIPs) can only sink or respond to OAM flows.</t>

        <t><figure anchor="tp-oam-ex" title="Example of MPLS-TP OAM "
            width="72">
            <artwork><![CDATA[




========================== End to End LSP OAM ============================
     .....                     .....         .....            .....     
-----|MIP|---------------------|MIP|---------|MIP|------------|MIP|-----
     '''''                     '''''         '''''            '''''     

     |<-------- Carrier 1 --------->|        |<----- Carrier 2 ----->|                                                                               
      ----     ---     ---      ----          ----     ---     ----      
 NNI |    |   |   |   |   |    |    |  NNI   |    |   |   |   |    | NNI 
-----| PE |---| P |---| P |----| PE |--------| PE |---| P |---| PE |-----
     |    |   |   |   |   |    |    |        |    |   |   |   |    |     
      ----     ---     ---      ----          ----     ---     ----      

      ==== Segment LSP OAM ======  == Seg't ==  === Seg't LSP OAM === 
            (Carrier 1)             LSP OAM         (Carrier 2)
                                (inter-carrier)
      .....   .....   .....  ..........   ..........  .....    .....
      |MEP|---|MIP|---|MIP|--|MEP||MEP|---|MEP||MEP|--|MIP|----|MEP| 
      '''''   '''''   '''''  ''''''''''   ''''''''''  '''''    ''''' 

Note: MEPs for End-to-end LSP OAM exist outside of the scope of this figure.

]]></artwork>
          </figure></t>

        <t>Editor's note: The above diagram will be clarified in the next
        version of this draft.</t>

        <t>The OAM architecture for MPLS-TP is illustrated in <xref
        target="oam-arch"></xref>.</t>

        <t><figure anchor="oam-arch" title="MPLS-TP OAM archtecture">
            <artwork><![CDATA[     Native  |<-------------------- PW15 --------------------->| Native
      Layer  |                                                 |  Layer
    Service  |    |<-PSN13->|    |<-PSN3X->|    |<-PSNXZ->|    | Service 
       (AC1) V    V   LSP   V    V   LSP   V    V   LSP   V    V  (AC2)
             +----+   +-+   +----+         +----+   +-+   +----+
+---+        |TPE1|   | |   |SPE3|         |SPEX|   | |   |TPEZ|     +---+
|   |        |    |=========|    |=========|    |=========|    |     |   |
|CE1|--------|........PW1........|...PW3...|........PW5........|-----|CE2|
|   |        |    |=========|    |=========|    |=========|    |     |   |
+---+        | 1  |   |2|   | 3  |         | X  |   |Y|   | Z  |     +---+
             +----+   +-+   +----+         +----+   +-+   +----+

             |<- Subnetwork 123->|         |<- Subnetwork XYZ->|

             .------------------- PW15  PME -------------------.
             .----- PW1 TPME ----.         .---- PW5 TPME -----.
                  .---------.                   .---------.
                   PSN13 LME                     PSNXZ LME

                   .--.  .--.     .--------.     .--.  .--.
               Sec12 SME Sec23 SME Sec3X SME SecXY SME SecYZ SME


TPE1: Terminating Provider Edge 1     SPE2: Switching Provider Edge 3
TPEX: Terminating Provider Edge X     SPEZ: Switching Provider Edge Z

   .---. ME     .     MEP    ====   LSP      .... PW

SME: Section Maintenance Entity
LME: LSP Maintenance Entity
PME: PW Maintenance Entity

]]></artwork>
          </figure></t>

        <t>The following MPLS-TP MEs are specified in <xref
        target="I-D.busi-mpls-tp-oam-framework"></xref>:</t>

        <t><list style="symbols">
            <t>A Section Maintenance Entity (SME), allowing monitoring and
            management of MPLS-TP Sections (between MPLS LSRs).</t>

            <t>A LSP Maintenance Entity (LME), allowing monitoring and
            management of an end-to-end LSP (between LERs).</t>

            <t>A PW Maintenance Entity (PME), allowing monitoring and
            management of an end-to-end SS/MS-PWs (between T-PEs).</t>

            <t>An LSP Tandem Connection Maintenance Entity (TLME), allowing
            monitoring and management of an LSP Tandem Connection (or LSP
            Segment) between any LER/LSR along the LSP. o A MS-PW Tandem
            Connection Maintenance Entity (TPME), allows monitoring and
            management of a SS/MS-PW Tandem Connection (or PW Segment) between
            any T-PE/S-PE along the (MS-)PW.</t>
          </list></t>

        <t>Individual MIPs along the path of an LSP or PW are addressed by
        setting the appropriate TTL in the label for the OAM packet, as per
        <xref target="I-D.ietf-pwe3-segmented-pw"></xref>. Note that this
        works when the location of MIPs along the LSP or PW path is known by
        the MEP. There may be cases where this is not the case in general MPLS
        networks e.g. following restoration using a facility bypass LSP.</t>

        <t>The following is a high level summary of the classes of OAM
        functions that MPLS-TP supports. These are intended to be applicable
        to any layer defined within MPLS- TP, i.e. MPLS Section, LSP and
        PW:<list style="symbols">
            <t>Continuity Check</t>

            <t>Connectivity verification</t>

            <t>Performance monitoring</t>

            <t>Alarm suppression</t>

            <t>Remote Integrity</t>
          </list></t>

        <t>For all of the above listed functions except alarm suppression,
        both "continuous" and "on-demand" operation SHOULD be supported.</t>

        <t>Performance monitoring includes means for both "packet loss
        measurement" and "delay measurement".</t>

        <t>It is REQUIRED that MPLS-TP OAM packets share the same fate as
        their corresponding data packets and that a means exists to identify
        OAM packets. The document<xref
        target="I-D.bocci-mpls-tp-gach-gal"></xref> proposes specific
        mechanisms relying on the combination of the 'Generic Alert Label
        (GAL)' and Generic Associated Channel Header for MPLS Sections and
        LSPs and using the Generic Associated Channel Header only for MPLS
        PWs. This is described in more detail elsewhere in this document <xref
        target="GACHHDR"></xref> and <xref target="GENERICACH"></xref>.</t>

        <t>The MPLS-TP OAM toolset needs to be able to operate without relying
        on a dynamic control plane or IP functionality in the datapath. In the
        case of MPLS-TP deployment with IP functionality, all existing IP-MPLS
        OAM functions, e.g. LSP-Ping, BFD and VCCV, may be used. This does not
        preculde the use of other OAM tools in an IP addressable network.</t>

        <t>One use of OAM mechanisms is to detect link failures, node failures
        and performance outside the required specification which then may be
        used to trigger recovery actions, according to the requirements of the
        service.</t>

        <t></t>

        <section anchor="GACHHDR" title="Generic Associated Channel (G-ACH)  ">
          <t>MPLS-TP makes use of a generic associated channel (G-ACH) to
          support Fault, Configuration, Accounting, Performance and Security
          (FCAPS) functions by carrying packets related to OAM, APS, SCC, MCC
          or other packet types in band over LSPs or PWs. The G-ACH is defined
          in <xref target="I-D.bocci-mpls-tp-gach-gal"></xref>and it is
          similar to the PWE3 Associated Channel, which is used to carry OAM
          packets across pseudowires. The G-ACH is indicated by a generic
          associated channel header, similar to the PWE3 VCCV control word,
          and this is present for all LSPs and PWs making use of FCAPS
          functions supported by the G-ACH.</t>

          <t>The G-ACH MUST only be used for channels that are an adjunct to
          the data service. Examples of these are OAM, APS, MCC and SCC, but
          the use is not resticted to those names services. The G-ACH MUST NOT
          be used to carry additional data for use in the forwarding path,
          i.e. it MUST NOT be used as an alternative to a PW control word, or
          to define a PW type.</t>

          <t>The messages transfered over the G-ACH MUST conform to the
          security and congestion considerations described in <xref
          target="I-D.bocci-mpls-tp-gach-gal"></xref>. They must also take
          into consideration the throughput, latency and congestion
          requirements of the main data channel.</t>

          <t>Figure 1 shows the reference model depicting how the control
          channel is associated with the pseudowire protocol stack, as per
          <xref target="RFC5085"></xref>.</t>

          <figure anchor="PWE3-stack"
                  title="PWE3 Protocol Stack Reference Model including the PW                          Associated Control Channel  "
                  width="72">
            <artwork><![CDATA[ 
       +-------------+                                +-------------+ 
       |  Layer2     |                                |  Layer2     | 
       |  Emulated   |       < Emulated Service >     |  Emulated   | 
       |  Services   |                                |  Services   | 
       +-------------+                                +-------------+ 
       |             |            VCCV/PW             |             | 
       |Demultiplexer|    < Associated Channel >      |Demultiplexer| 
       +-------------+                                +-------------+ 
       |    PSN      |          < PSN Tunnel >        |    PSN      | 
       +-------------+                                +-------------+ 
       |  Physical   |                                |  Physical   | 
       +-----+-------+                                +-----+-------+ 
             |                                              | 
             |             ____     ___       ____          | 
             |           _/    \___/   \    _/    \__       | 
             |          /               \__/         \_     | 
             |         /                               \    | 
             +--------|      MPLS/MPLS-TP Network       |---+ 
                       \                               / 
                        \   ___      ___     __      _/ 
                         \_/   \____/   \___/  \____/ 

]]></artwork>
          </figure>

          <t></t>

          <t>PW associated channel messages are encapsulated using the PWE3
          encapsulation, so that they are handled and processed in the same
          manner (or in some cases, an analogous manner) as the PW PDUs for
          which they provide a control channel.</t>

          <t>Figure 2 shows the reference model depicting how the control
          channel is associated with the LSP protocol stack.</t>

          <figure anchor="MPLS-PS-inc-LSP-ACH"
                  title="MPLS Protocol Stack Reference Model including the LSP Associated Control Channel ">
            <artwork><![CDATA[
       +-------------+                                +-------------+ 
       |             |                                |             | 
       |  Payload    |          < Service >           |   Payload   | 
       |  Services   |                                |             | 
       +-------------+                                +-------------+ 
       |             |            LSP                 |             | 
       |Demultiplexer|     < Associated Channel >     |Demultiplexer| 
       +-------------+                                +-------------+
       |    GAL      |                                |    GAL      |
       +-------------+                                +-------------+
       |    PSN      |            < LSP >             |    PSN      | 
       +-------------+                                +-------------+ 
       |  Physical   |                                |  Physical   | 
       +-----+-------+                                +-----+-------+ 
             |                                              | 
             |             ____     ___       ____          | 
             |           _/    \___/   \    _/    \__       | 
             |          /               \__/         \_     | 
             |         /                               \    | 
             +--------|      MPLS/MPLS-TP Network       |---+ 
                       \                               / 
                        \   ___      ___     __      _/ 
                         \_/   \____/   \___/  \____/ 
   ]]></artwork>
          </figure>

          <t></t>

          <t>LSP associated channel messages are encapsulated using a generic
          associated control channel header (G-ACH). The presence of the GE-
          ACH is indicated by the inclusion of an additional 'Generic Alert
          Label (GAL)'. This arrangement means that both normal data packets
          and packets carrying an ACH are carried over LSPs in a similar
          manner.</t>

          <t>Note that where a traffic engineered LSP is used the paths will
          be identical. If for any reason a non-traffic engineered path (for
          example an LDP path) were to be used the ECMP behaviour may be
          modified by the presence of the GAL.</t>
        </section>

        <section anchor="GENERICACH" title="Generic Alert Label (GAL)">
          <t>For correct operation of the OAM it is important that the OAM
          packets fate share with the data packets. In addition in MPSL-TP it
          is necessary to indicate that the payload carried over an LSP is not
          user data. For example the packet may contain Signaling
          Communication Channel (SCC), or Automatic Protecton Switching (APS)
          data. The presence of the ACH indicates that the packet is not user
          data and identifies its type.</t>

          <t>PWE3 uses the first nibble of the control word to provide the
          initial discrimination between data packets and "other" packets
          <xref target="RFC4385"></xref>. When the first nibble of a pseudwire
          packet has a value of one, then the first 32 bits that follow the
          bottom of stack have a defined format called an ACH, and which
          further defines the content of the pseudowire packet. For MPLS-TP
          this mechanism is further generalized to apply to also apply to LSPs
          and MPLS sections <xref
          target="I-D.bocci-mpls-tp-gach-gal"></xref>.</t>

          <t>When the OAM, or a similar message is carried over an LSP, rather
          than over a pseudowire, it is necessary to provide an indication in
          the packet that the payload is something other than a regular data
          packet. This is acheived by including ia new reserved label in the
          label stack. This reserved label is referred to as the 'Generic
          Alert Label (GAL)', and is defined in <xref
          target="I-D.bocci-mpls-tp-gach-gal"></xref>. When a GAL is found
          anywhere within the label stack it indicates that the payload begins
          with an ACH. Note however that MPLS-TP forwarding follows the normal
          MPLS model, and that a GAL is invisible to an LSR unless it is the
          label being popped. The only circumstance under which the label
          stack may be inspected for a GAL is when the TTL has expired. Any
          MPLS-TP component which intentionally triggers this inspection must
          assume that the inspection to be asynchronous with respect to the
          forwarding of other packets.</t>

          <t>In MPLS-TP, the 'Generic Alert Label (GAL)' always appears at the
          bottom of the label stack (i.e. S bit set to 1), however this does
          not preclude its use elsewhere in the label stack in other
          applications.</t>
        </section>
      </section>

      <section anchor="CONTROLPLANE" title="Control Plane">
        <t>The MPLS-TP may utilize a distributed control plane to enable fast,
        dynamic and reliable service provisioning in multi-vendor and
        multi-domain environments using standardized protocols that guarantee
        interoperability.</t>

        <t><xref target="cp-arch"></xref> illustrates the relationshop between
        the MPLS-TP control plane, the forwarding plane, the management plane,
        and OAM.</t>

        <t><figure anchor="cp-arch"
            title="MPLS-TP Control Plane Architecture Context">
            <artwork><![CDATA[ +------------------------------------------------------------------------+
 |                                                                        |
 |                   Network Management System and/or                     |
 |                                                                        |
 |           Control Plane for Point to Point Connections                 |
 |                                                                        |
 +------------------------------------------------------------------------+
              |      |           |       |          |    |
  ............|......|.....  ....|.......|....  ....|....|...............       
            +---+    |    :  : +---+     |   :  : +---+  |              :
  :         |OAM|    |    :  : |OAM|     |   :  : |OAM|  |              :
  :         +---+    |    :  : +---+     |   :  : +---+  |              :
  :           |      |    :  :   |       |   :  :   |    |              :
 \: +----+   +----------+ :  : +----------+  :  : +----------+   +----+ :/
--+-|Edge|<->|Forwarding|<---->|Forwarding|<----->|Forwarding|<->|Edge|-+--     
 /: +----+   |          | :  : |          |  :  : |          |   +----+ :\
  :          +----------+ :  : +----------+  :  : +----------+          :
  '''''''''''''''''''''''''  '''''''''''''''''   ''''''''''''''''''''''''

Note: 
   1) NMS may be centralised or distributed. Control plane is distributed  
   2) 'Edge' functions refers to those functions present at the edge of
      a PSN domain, e.g. NSP or classification.
   3) OAM functions are described in more detail below.

]]></artwork>
          </figure></t>

        <t>The MPLS-TP control plane is based on a combination of the MPLS
        control plane for pseudowires and the GMPLS control plane for MPLS-TP
        LSPs, respectively. More specifically, LDP is used for PW signaling
        and GMPLS based RSVP-TE for LSP signaling. The distributed MPLS-TP
        control plane provides the following basic functions:</t>

        <t><list style="symbols">
            <t>Signaling</t>

            <t>Routing</t>

            <t>Traffic engineering and constraint-based path computation</t>
          </list></t>

        <t>In a multi-domain environment, the MPLS-TP control plane may
        provide different types of interfaces at domain boundaries or within
        the domains such as UNI, I-NNI, and E-NNI where different policies are
        in place that control what kind of information is exchanged across
        these different types of interfaces.</t>

        <t>Editor's note: Isn't the following a managment plane operation. I
        can't think of a routing protocol triggering an OAM message. Or do we
        mean that the control plane is capable of reacting to OAM events?
        Control plane and OAM are independent.</t>

        <t>The MPLS-TP control plane is capable of activating MPLS-TP OAM
        functions as described in the OAM section of this document <xref
        target="OAM"></xref> e.g. for fault detection and localization in the
        event of a failure in order to efficiently restore failed transport
        paths.</t>

        <t>The MPLS-TP control plane supports all MPLS-TP data plane
        connectivity patterns that are needed for establishing transport paths
        including protected paths as described in the survivability section
        <xref target="SURVIVE"></xref> of this document. Examples of the
        MPLS-TP data plane connectivity patterns are LSPs utilizing the fast
        reroute backup methods as defined in <xref target="RFC4090"></xref>
        and ingress-to-egress 1+1 or 1:1 protected LSPs.</t>

        <t>Moreover, the MPLS-TP control plane needs to be capable of
        performing fast restoration in the event of network failures.</t>

        <t>The MPLS-TP control plane provides features to ensure its own
        survivavbility and to enable it to recover gracefully from failures
        and degredations. These include graceful restart and hot redundant
        configurations. The MPLS-TP control plane is largely decoupled from
        the MPLS-TP data plane such that failures in the control plane do not
        impact the data plane and vice versa.</t>

        <section title="PW Control Plane">
          <t>An MPLS-TP packet transport network provides many of its
          transport services in the form of single-segment or multi-segment
          pseudowires following the PWE3 architecture as defined in <xref
          target="RFC3985"></xref> and <xref
          target="I-D.ietf-pwe3-ms-pw-arch"></xref> . The setup and
          maintenance of single-segment or multi- segment pseudowires is based
          on the Label Distribution Protocol (LDP) as per <xref
          target="RFC4447"></xref> and the use of LDP in this manner is
          applicable to PWs used to provide MPLS transport services.</t>

          <t>It shall be noted that multi-segment pseudowire signaling is
          still work in progress. The control plane supporting multi-segment
          pseudowires is based on <xref
          target="I-D.ietf-pwe3-dynamic-ms-pw"></xref>.</t>
        </section>

        <section title=" LSP Control Plane">
          <t>Editors note: The following must be reviewed by a CP specialist.
          Lou will review and provide comments.</t>

          <t>MPLS-TP provider edge nodes aggregate multiple pseudowires and
          carry them across the MPLS-TP network through MPLS-TP tunnels
          (MPLS-TP LSPs). The generalized MPLS (GMPLS) protocol suite already
          supports packet-switched capable (PSC) technologies and is therefore
          used as control plane for MPLS-TP transport paths (LSPs). The LSP
          control plane includes:<list style="symbols">
              <t>RSVP-TE for signalling</t>

              <t>OSPF-TE for routing</t>

              <t>ISIS-TE for routing</t>
            </list>RSVP-TE signaling in support of GMPLS as defined in <xref
          target="RFC4872"></xref>is used for the setup, modification, and
          release of MPLS-TP transport paths and protection paths. It supports
          unidirectional, bi-directional and multicast types of LSPs. The
          route of a transport path is typically calculated in the ingress
          node of a domain and the RSVP explicit route object (ERO) is
          utilized for the setup of the transport path exactly following the
          given route. GMPLS based MPLS-TP LSPs must be able to interoperate
          with RSVP-TE based MPLS-TE LSPs, as per <xref
          target="RFC5146"></xref></t>

          <t>OSPF-TE routing in support of GMPLS as defined in <xref
          target="RFC4203"></xref> is used for carrying link state information
          in a MPLS-TP network.</t>

          <t>For routing scalability reasons, parallel physical links in an
          MPLS- TP network are typically bundled into TE-links as defined in
          <xref target="RFC4201"></xref>and the OSPF-TE routing protocol
          disseminates link state information on a TE-link basis.</t>
        </section>
      </section>

      <section anchor="static" title="Static Operation of LSPs and PWs ">
        <t>Where a control plane is not used to set up and manage PWs or LSPs,
        the following considerations apply. Static configuration of the PW or
        LSP, either by direct configuration of the PEs/LSRs, or via a network
        management station must take care that loops to not form on an active
        LSP. The OAM would normally detect a break in end to end connectivity
        as a consequence of a loop, and withdraw the LSP from use. However the
        colateral damage that a loop can during the time taken to detect the
        failure is severe. Therefore an LSP should not be brought into
        operation until it certain that loops do not exist.</t>
      </section>

      <section anchor="SURVIVE" title="Survivability">
        <t>Survivability requirements for MPLS-TP are apecified in <xref
        target="I-D.sprecher-mpls-tp-survive-fwk"></xref>.</t>

        <t>A wide variety of resiliency schemes have been developed to meet
        the various network and service survivability objectives. For example,
        as part of the MPLS/PW paradigms, MPLS provides methods for local
        repair using back-up LSP tunnels (<xref target="RFC4090"></xref>),
        while pseudowire redundancy <xref
        target="I-D.ietf-pwe3-redundancy"></xref>supports scenarios where the
        protection for the PW can not be fully provided by the PSN layer (i.e.
        where the backup PW terminates on a different target PE node than the
        working PW). Additionally, GMPLS provides a set of control plane
        driven well known protection and restoration mechanisms <xref
        target="RFC4872"></xref>. Finally, as part of the transport networks
        and applications paradigms, APS-based linear and ring protection
        mechanisms are defined in <xref target="G.8131"></xref>and <xref
        target="G.8132"></xref>.</t>

        <t>These schemes have different scopes. They are protecting against
        link and/or node failures and can be applied end-to-end or on a
        segment of the considered connection.</t>

        <t>These protection schemes propose different levels of resiliency
        (e.g. 1+1, 1:1, shared).</t>

        <t>The applicability of any given scheme to meet specific requirements
        is outside the current scope of this document.</t>

        <t>MPLS-TP resiliency mechanisms characteristics are listed below<list
            style="symbols">
            <t>Linear, ring and meshed protection schemes are supported.</t>

            <t>As with all network layer protection schemes, MPLS-TP recovery
            mechanisms (protection and restoration), rely on OAM mechanisms to
            detect and localize network faults or service degenerations.</t>

            <t>APS-based protection mechanisms (linear and ring) rely on
            MPLS-TP APS mechanisms to coordinate and trigger protection
            switching actions.</t>

            <t>MPLS-TP recovery schemes are designed to be applicable at
            various levels (MPLS section, LSP and PW), providing segment and
            end-to- end recovery.</t>

            <t>MPLS-TP recovery mechanisms support means for avoiding race
            conditions in switching activity triggered by a fault condition
            detected both at server layer and at MPLS-TP layer.</t>

            <t>MPLS-TP recovery mechanisms can be data plane, control plane or
            management plane based.</t>

            <t>MPLS-TP allows for revertive and non-revertive behavior</t>

            <t>Multiple resiliency mechanisms can be applied to any
            connection</t>
          </list></t>
      </section>

      <section anchor="NETMGT" title="Network Management">
        <t>The network management architecture and requirements for MPLS-TP
        are specified in <xref target="I-D.gray-mpls-tp-nm-req"></xref>. It
        derives from the generic specifications described in ITU-T
        G.7710/Y.1701 <xref target="G.7710"></xref>for transport technologies.
        It also leverages on the OAM requirements for MPLS Networks <xref
        target="RFC4377"></xref> and MPLS-TP Networks <xref
        target="I-D.vigoureux-mpls-tp-oam-requirements"></xref>and expands on
        the requirements to cover the modifications necessary for fault,
        configuration, performance, and security.</t>

        <t>The Equipment Management Function (EMF) of a MPLS-TP NE provides
        the means through which a management system manages the NE. The
        Management Communication Channel (MCC), realized by the G-ACH,
        provides a logical operations channel between NEs for transferring
        Management information. For the management interface from a management
        system to a MPLS-TP NE, there is no restriction on which management
        protocol should be used. It is allowed to provision and manage an
        end-to-end connection across a network where some segments are
        create/managed, for examples by Netconf or SNMP and other segments by
        XML or CORBA interfaces. It is allowed to run maintenance operations
        on a connection which is independent of the provisioning mechanism. An
        MPLS-TP NE is not required to offer more than one standard management
        interface. In MPLS-TP. the EMF MUST be capable of statically
        provisioning LSPs for an LSR or LER, and PWs for a PE, as per <xref
        target="static"></xref>.</t>

        <t>The Fault Management (FM) functions within the EMF of an MPLS-TP NE
        enable the supervision, detection, validation, isolation, correction,
        and alarm handling of abnormal operation of the MPLS-TP network and
        its environment. Supervision for transmission (such as continuity,
        connectivity, etc.), software processing, hardware, and environment
        are essential for FM. Alarm handling includes alarm severity
        assignment, alarm suppression/aggregation/correlation, alarm reporting
        control, and alarm reporting.</t>

        <t>Configuration Management (CM) provides functions to exercise
        control over, identify, collect data from, and provide data to MPLS-TP
        NEs. In addition to general configuration for hardware, software
        protection switching, alarm reporting control, and date/time setting,
        the EMF of the MPLS-TP NE also supports the configuration of
        maintenance entity identifiers (such as MEP ID and MIP ID). The EMF
        also supports configuration of the OAM parameters as part of
        connectivity management to meet specific operational requirements,
        such as whether one-time on-demand or periodically based on a
        specified frequency.</t>

        <t>The Performance Management (PM) functions within the EMF of an
        MPLS- TP NE supports the evaluation and reporting upon the behaviour
        of the equipment, NE, and network with the objective of providing
        coherent and consistent interpretation of the network behaviour, in
        particular for hybrid network which consists of multiple transport
        technologies. Packet loss measurement and delay measurement are
        collected so that they can be used to detect performance degradation.
        Performance degradation is reported via fault management for
        corrective actions (e.g. protection switch) and via performance
        monitoring for Service Level Agreement (SLA) verification and billing.
        The performance data collection mechanisms should be flexible to be
        configured to operate on-demand or proactively.</t>
      </section>
    </section>

    <section title="Security Considerations">
      <t>The introduction of MPLS-TP into transport networks means that the
      security considerations applicable to both MPLS and PWE3 apply to those
      transport networks. Furthermore, when general MPLS networks that utilise
      functionality outside of the strict MPLS-TP profile are used to support
      packet transport services, the security considerations of that
      additional functionality also apply.</t>

      <t>Specific security considerations for MPLS-TP will be detailed in
      documents covering specific aspects on the MPLS-TP architecture.</t>
    </section>

    <section title="IANA Considerations">
      <t>IANA considerations resulting from specific elements of MPLS-TP
      functionality will be detailed in the documents specifying that
      functionality.</t>

      <t>This document introduces no additional IANA considerations in
      itself.</t>
    </section>

    <section title="Acknowledgements">
      <t>The editors wish to thank the following for their contribution to
      this document: <list style="symbols">
          <t>Dieter Beller</t>

          <t>Italo Busi</t>

          <t>Hing-Kam Lam</t>

          <t>Marc Lasserre</t>

          <t>Vincenzo Sestito</t>

          <t>Martin Vigoureux</t>
        </list></t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.2119'?>

      <?rfc include='reference.RFC.3031'?>

      <?rfc include='reference.RFC.3032'?>

      <?rfc include='reference.RFC.3270'?>

      <?rfc include='reference.RFC.3985'?>

      <?rfc include='reference.RFC.4385'?>

      <?rfc include='reference.RFC.4090'?>

      <?rfc include='reference.RFC.4201'?>

      <?rfc include='reference.RFC.4203'?>

      <?rfc include='reference.RFC.4447'?>

      <?rfc include='reference.RFC.4872'?>

      <?rfc include='reference.I-D.ietf-pwe3-dynamic-ms-pw'?>

      <?rfc include='reference.I-D.ietf-pwe3-redundancy'?>

      <?rfc include='reference.RFC.5085'?>

      <?rfc include='reference.I-D.ietf-pwe3-ms-pw-arch'?>

      <?rfc include='reference.I-D.bocci-mpls-tp-gach-gal'?>

      <reference anchor="G.8131">
        <front>
          <title>ITU-T Recommendation G.8131/Y.1382 (02/07) " Linear
          protection switching for Transport MPLS (T-MPLS) networks"</title>

          <author>
            <organization></organization>
          </author>

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

      <reference anchor="G.7710">
        <front>
          <title>ITU-T Recommendation G.7710/Y.1701 (07/07), "Common equipment
          management function requirements"</title>

          <author>
            <organization></organization>
          </author>

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

      <?rfc include='reference.I-D.ietf-mpls-cosfield-def'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.RFC.4377'?>

      <?rfc include='reference.I-D.jenkins-mpls-mpls-tp-requirements'?>

      <?rfc include='reference.I-D.vigoureux-mpls-tp-oam-requirements'?>

      <?rfc include='reference.I-D.gray-mpls-tp-nm-req'?>

      <?rfc include='reference.I-D.bryant-filsfils-fat-pw'?>

      <?rfc include='reference.RFC.4379'?>

      <?rfc include='reference.I-D.ietf-bfd-mpls'?>

      <?rfc include='reference.RFC.5146'?>

      <?rfc include='reference.I-D.sprecher-mpls-tp-survive-fwk'?>

      <?rfc include='reference.I-D.busi-mpls-tp-oam-framework'?>

      <?rfc ?>

      <?rfc include='reference.I-D.ietf-pwe3-segmented-pw'?>

      <reference anchor="G.8132">
        <front>
          <title>Draft ITU-T Recommendation G.8132/Y.1382, "T-MPLS shared
          protection ring",
          http://www.itu.int/md/T05-SG15-080211-TD-PLEN-0501/en</title>

          <author>
            <organization></organization>
          </author>

          <date year="2005" />
        </front>
      </reference>
    </references>
  </back>
</rfc>
