RFC 4447 - Pseudowire Setup and Maintenance Using the Label

时间:2006-11-02 来源: 作者: 点击:
NetworkWorkingGroupL.Martini,Ed. RequestforComments:4447E.Rosen Category:StandardsTrackCiscoSystems,Inc. N.El-Aawar Level3Communications,LLC. T.Smith NetworkAppliance,Inc. G.Heron Tellabs April2006 PseudowireSetupandMaintenance UsingtheLabelDistribut
  Network Working Group                                    L. Martini, Ed.
Request for Comments: 4447                                      E. Rosen
Category: Standards Track                            Cisco Systems, Inc.
                                                                             N. El-Aawar
                                                  Level 3 Communications, LLC.
                                                                                    T. Smith
                                                            Network Appliance, Inc.
                                                                                  G. Heron
                                                                                      Tellabs
                                                                                April 2006

                    Pseudowire Setup and Maintenance
              Using the Label Distribution Protocol (LDP)

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   Layer 2 services (such as Frame Relay, Asynchronous Transfer Mode,
   and Ethernet) can be "emulated" over an MPLS backbone by
   encapsulating the Layer 2 Protocol Data Units (PDU) and transmitting
   them over "pseudowires".  It is also possible to use pseudowires to
   provide low-rate Time Division Multiplexed and a Synchronous Optical
   NETworking circuit emulation over an MPLS-enabled network.  This
   document specifies a protocol for establishing and maintaining the
   pseudowires, using extensions to Label Distribution Protocol (LDP).
   Procedures for encapsulating Layer 2 PDUs are specified in a set of
   companion documents.

Table of Contents

   1. Introduction ....................................................3
   2. Specification of Requirements ...................................5
   3. The Pseudowire Label ............................................5
   4. Details Specific to Particular Emulated Services ................7
      4.1. IP Layer 2 Transport .......................................7
   5. LDP .............................................................7
      5.1. LDP Extensions .............................................8
      5.2. The PWid FEC Element .......................................8
      5.3. The Generalized PWid FEC Element ..........................10
           5.3.1. Attachment Identifiers .............................11
           5.3.2. Encoding the Generalized ID FEC Element ............13
                  5.3.2.1. Interface Parameters TLV ..................14
                  5.3.2.2. PW Grouping TLV ...........................14
           5.3.3. Signaling Procedures ...............................15
      5.4. Signaling of Pseudowire Status ............................16
           5.4.1. Use of Label Mappings Messages .....................16
           5.4.2. Signaling PW Status ................................17
           5.4.3. Pseudowire Status Negotiation Procedures ...........18
      5.5. Interface Parameters Sub-TLV ..............................19
   6. Control Word ...................................................20
      6.1. PW Types for Which the Control Word is REQUIRED ...........20
      6.2. PW Types for Which the Control Word is NOT Mandatory ......21
      6.3. LDP Label Withdrawal Procedures ...........................22
      6.4. Sequencing Considerations .................................23
           6.4.1. Label Advertisements ...............................23
           6.4.2. Label Release ......................................24
   7. IANA Considerations ............................................24
      7.1. LDP TLV TYPE ..............................................24
      7.2. LDP Status Codes ..........................................24
      7.3. FEC Type Name Space .......................................25
   8. Security Considerations ........................................25
      8.1. Data-Plane Security .......................................25
      8.2. Control-Plane Security ....................................26
   9. Acknowledgements ...............................................27
   10. Normative References ..........................................27
   11. Informative References ........................................27
   12. Additional Contributing Authors ...............................28
   Appendix A. C-bit Handling Procedures Diagram .....................31

1.  Introduction

   In [FRAME], [ATM], [PPPHDLC], and [ETH], it is explained how to
   encapsulate a Layer 2 Protocol Data Unit (PDU) for transmission over
   an MPLS-enabled network.  Those documents specify that a "pseudowire
   header", consisting of a demultiplexor field, will be prepended to
   the encapsulated PDU.  The pseudowire demultiplexor field is
   prepended before transmitting a packet on a pseudowire.  When the
   packet arrives at the remote endpoint of the pseudowire, the
   demultiplexor is what enables the receiver to identify the particular
   pseudowire on which the packet has arrived.  To transmit the packet
   from one pseudowire endpoint to another, the packet may need to
   travel through a "Packet Switched Network (PSN) tunnel"; this will
   require that an additional header be prepended to the packet.

   Accompanying documents [CEP, SAToP] specify methods for transporting
   time-division multiplexing (TDM) digital signals (TDM circuit
   emulation) over a packet-oriented MPLS-enabled network.  The
   transmission system for circuit-oriented TDM signals is the
   Synchronous Optical Network (SONET)[SDH]/Synchronous Digital
   Hierarchy (SDH) [ITUG].  To support TDM traffic, which includes
   voice, data, and private leased-line service, the pseudowires must
   emulate the circuit characteristics of SONET/SDH payloads.  The TDM
   signals and payloads are encapsulated for transmission over
   pseudowires.  A pseudowire demultiplexor and a PSN tunnel header is
   prepended to this encapsulation.

   [SAToP] describes methods for transporting low-rate time-division
   multiplexing (TDM) digital signals (TDM circuit emulation) over PSNs,
   while [CEP] similarly describes transport of high-rate TDM
   (SONET/SDH).  To support TDM traffic, the pseudowires must emulate
   the circuit characteristics of the original T1, E1, T3, E3, SONET, or
   SDH signals.  [SAToP] does this by encapsulating an arbitrary but
   constant amount of the TDM data in each packet, and the other methods
   encapsulate TDM structures.

   In this document, we specify the use of the MPLS Label Distribution
   Protocol, LDP [RFC3036], as a protocol for setting up and maintaining
   the pseudowires.  In particular, we define new TLVs, FEC elements,
   parameters, and codes for LDP, which enable LDP to identify
   pseudowires and to signal attributes of pseudowires.  We specify how
   a pseudowire endpoint uses these TLVs in LDP to bind a demultiplexor
   field value to a pseudowire, and how it informs the remote endpoint
   of the binding.  We also specify procedures for reporting pseudowire
   status changes, for passing additional information about the
   pseudowire as needed, and for releasing the bindings.

   In the protocol specified herein, the pseudowire demultiplexor field
   is an MPLS label.  Thus, the packets that are transmitted from one
   end of the pseudowire to the other are MPLS packets, which must be
   transmitted through an MPLS tunnel.  However, if the pseudowire
   endpoints are immediately adjacent and penultimate hop popping
   behavior is in use, the MPLS tunnel may not be necessary.  Any sort
   of PSN tunnel can be used, as long as it is possible to transmit MPLS
   packets through it.  The PSN tunnel can itself be an MPLS LSP, or any
   other sort of tunnel that can carry MPLS packets.  Procedures for
   setting up and maintaining the MPLS tunnels are outside the scope of
   this document.

   This document deals only with the setup and maintenance of point-to-
   point pseudowires.  Neither point-to-multipoint nor multipoint-to-
   point pseudowires are discussed.

   QoS-related issues are not discussed in this document.  The following
   two figures describe the reference models that are derived from
   [RFC3985] to support the PW emulated services.

         |<-------------- Emulated Service ---------------->|
         |                                                  |
         |          |<------- Pseudowire ------->|          |
         |          |                            |          |
         |Attachment|    |<-- PSN Tunnel -->|    |Attachment|
         |  Circuit V    V                  V    V  Circuit |
         V   (AC)   +----+                  +----+   (AC)   V
   +-----+    |     | PE1|==================| PE2|     |    +-----+
   |     |----------|............PW1.............|----------|     |
   | CE1 |    |     |    |                  |    |     |    | CE2 |
   |     |----------|............PW2.............|----------|     |
   +-----+  ^ |     |    |==================|    |     | ^  +-----+
         ^  |       +----+                  +----+     | |  ^
         |  |   Provider Edge 1         Provider Edge 2  |  |
         |  |                                            |  |
   Customer |                                            | Customer
   Edge 1   |                                            | Edge 2
            |                                            |
      native service                               native service

                     Figure 1: PWE3 Reference Model

   +-----------------+                           +-----------------+
   |Emulated Service |                           |Emulated Service |
   |(e.g., TDM, ATM) |<==== Emulated Service ===>|(e.g., TDM, ATM) |
   +-----------------+                           +-----------------+
   |    Payload      |                           |    Payload      |
   |  Encapsulation  |<====== Pseudowire =======>|  Encapsulation  |
   +-----------------+                           +-----------------+
   |PW Demultiplexer |                           |PW Demultiplexer |
   |   PSN Tunnel,   |<======= PSN Tunnel ======>|  PSN Tunnel,    |
   | PSN & Physical  |                           | PSN & Physical  |
   |     Layers      |                           |    Layers       |
   +-------+---------+        __________         +---------+-------+
           |                /            \                 |
           +===============/      PSN     \================+
                           \              /
                            \____________/

             Figure 2: PWE3 Protocol Stack Reference Model

   For the purpose of this document, PE1 will be defined as the ingress
   router, and PE2 as the egress router.  A layer 2 PDU will be received
   at PE1, encapsulated at PE1, transported and decapsulated at PE2, and
   transmitted out of PE2.

2.  Specification of Requirements

   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].

3.  The Pseudowire Label

   Suppose that it is desired to transport Layer 2 PDUs from ingress LSR
   PE1 to egress LSR PE2, across an intervening MPLS-enabled network.
   We assume that there is an MPLS tunnel from PE1 to PE2.  That is, we
   assume that PE1 can cause a packet to be delivered to PE2 by
   encapsulating the packet in an "MPLS tunnel header" and sending the
   result to one of its adjacencies.  The MPLS tunnel is an MPLS Label
   Switched Path (LSP); thus, putting on an MPLS tunnel encapsulation is
   a matter of pushing on an MPLS label.

   We presuppose that a large number of pseudowires can be carried
   through a single MPLS tunnel.  Thus, it is never necessary to
   maintain state in the network core for individual pseudowires.  We do
   not presuppose that the MPLS tunnels are point to point; although the
   pseudowires are point to point, the MPLS tunnels may be multipoint to
   point.  We do not presuppose that PE2 will even be able to determine
   the MPLS tunnel through which a received packet was transmitted.

   (For example, if the MPLS tunnel is an LSP and penultimate hop
   popping is used, when the packet arrives at PE2, it will contain no
   information identifying the tunnel.)

   When PE2 receives a packet over a pseudowire, it must be able to
   determine that the packet was in fact received over a pseudowire, and
   it must be able to associate that packet with a particular
   pseudowire.  PE2 is able to do this by examining the MPLS label that
   serves as the pseudowire demultiplexor field shown in Figure 2.  Call
   this label the "PW label".

   When PE1 sends a Layer 2 PDU to PE2, it creates an MPLS packet by
   adding the PW label to the packet, thus creating the first entry of
   the label stack.  If the PSN tunnel is an MPLS LSP, the PE1 pushes
   another label (the tunnel label) onto the packet as the second entry
   of the label stack.  The PW label is not visible again until the MPLS
   packet reaches PE2.  PE2’s disposition of the packet is based on the
   PW label.

   If the payload of the MPLS packet is, for example, an ATM AAL5 PDU,
   the PW label will generally correspond to a particular ATM VC at PE2.
   That is, PE2 needs to be able to infer from the PW label the outgoing
   interface and the VPI/VCI value for the AAL5 PDU.  If the payload is
   a Frame Relay PDU, then PE2 needs to be able to infer from the PW
   label the outgoing interface and the DLCI value.  If the payload is
   an Ethernet frame, then PE2 needs to be able to infer from the PW
   label the outgoing interface, and perhaps the VLAN identifier.  This
   process is uni-directional and will be repeated independently for
   bi-directional operation.  It is REQUIRED that the same PW ID and PW
   type be assigned for a given circuit in both directions.  The group
   ID (see below) MUST NOT be required to match in both directions.  The
   transported frame MAY be modified when it reaches the egress router.
   If the header of the transported Layer 2 frame is modified, this MUST
   be done at the egress LSR only.  Note that the PW label must always
   be at the bottom of the packet’s label stack, and labels MUST be
   allocated from the per-platform label space.

   This document does not specify a method for distributing the MPLS
   tunnel label or any other labels that may appear above the PW label
   on the stack.  Any acceptable method of MPLS label distribution will
   do.  This document specifies a protocol for assigning and
   distributing the PW label.  This protocol is LDP, extended as
   specified in the remainder of this document.  An LDP session must be
   set up between the pseudowire endpoints.  LDP MUST be used in its
   "downstream unsolicited" mode.  LDP’s "liberal label retention" mode
   SHOULD be used.

   In addition to the protocol specified herein, static assignment of PW
   labels may be used, and implementations of this protocol SHOULD
   provide support for static assignment.

   This document specifies all the procedures necessary to set up and
   maintain the pseudowires needed to support "unswitched" point-to-
   point services, where each endpoint of the pseudowire is provisioned
   with the identify of the other endpoint.  There are also protocol
   mechanisms specified herein that can be used to support switched
   services and other provisioning models.  However, the use of the
   protocol mechanisms to support those other models and services is not
   described in this document.

4.  Details Specific to Particular Emulated Services

4.1.  IP Layer 2 Transport

   This mode carries IP packets over a pseudowire.  The encapsulation
   used is according to [RFC3032].  The PW control word MAY be inserted
   between the MPLS label stack and the IP payload.  The encapsulation
   of the IP packets for forwarding on the attachment circuit is
   implementation specific, is part of the native service processing
   (NSP) function [RFC3985], and is outside the scope of this document.

5.  LDP

   The PW label bindings are distributed using the LDP downstream
   unsolicited mode described in [RFC3036].  The PEs will establish an
   LDP session using the Extended Discovery mechanism described in [LDP,
   sections 2.4.2 and 2.5].

   An LDP Label Mapping message contains an FEC TLV, a Label TLV, and
   zero or more optional parameter TLVs.

   The FEC TLV is used to indicate the meaning of the label.  In the
   current context, the FEC TLV would be used to identify the particular
   pseudowire that a particular label is bound to.  In this
   specification, we define two new FEC TLVs to be used for identifying
   pseudowires.  When setting up a particular pseudowire, only one of
   these FEC TLVs is used.  The one to be used will depend on the
   particular service being emulated and on the particular provisioning
   model being supported.

   LDP allows each FEC TLV to consist of a set of FEC elements.  For
   setting up and maintaining pseudowires, however, each FEC TLV MUST
   contain exactly one FEC element.

   The LDP base specification has several kinds of label TLVs, including
   the Generic Label TLV, as specified in [RFC3036], section 3.4.2.1.
   For setting up and maintaining pseudowires, the Generic Label TLV
   MUST be used.

5.1.  LDP Extensions

   This document specifies no new LDP messages.

   This document specifies the following new TLVs to be used with LDP:

   TLV                    Specified in Section     Defined for Message
   ===================================================================
   PW Status TLV                  5.4.2            Notification
   PW Interface Parameters TLV    5.3.2.1          FEC
   PW Grouping  ID TLV            5.3.2.2          FEC

   Additionally, the following new FEC element types are defined:

   FEC Element Type        Specified in Section    Defined for Message
   ===================================================================
   0x80                            5.2             FEC
   0x81                            5.3             FEC

   The following new LDP error codes are also defined:

   Status Code                                     Specified in Section
   ====================================================================
   "Illegal C-Bit"                                         6.1
   "Wrong C-Bit"                                           6.2
   "Incompatible bit-rate"                                [CEP]
   "CEP/TDM mis-configuration"                            [CEP]
   "PW status"                                            5.4.2
   "Unassigned/Unrecognized TAI"                          5.3.3
   "Generic Misconfiguration Error"                      [SAToP]
   "Label Withdraw PW Status Method Not Supported"        5.4.1

5.2.  The PWid FEC Element

   The PWid FEC element may be used whenever both pseudowire endpoints
   have been provisioned with the same 32-bit identifier for the
   pseudowire.

   For this purpose, a new type of FEC element is defined.  The FEC
   element type is 0x80 and is defined as follows:

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  PWid (0x80)  |C|         PW type             |PW info Length |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Group ID                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           PW ID                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                Interface Parameter  Sub-TLV                   |
   |                              "                                |
   |                              "                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   -  PW type

      A 15-bit quantity containing a value that represents the type of
      PW.  Assigned values are specified in "IANA Allocations for
      Pseudowire Edge to Edge Emulation (PWE3)" [IANA].

   -  Control word bit (C)

      The bit (C) is used to flag the presence of a control word as
      follows:

         C = 1  Control word present on this PW.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容