RFC 4447 - Pseudowire Setup and Maintenance Using the Label(3)

时间:2006-11-02 来源: 作者: 点击:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1|0|PWStatus(0x096A)|Length| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |StatusCode| +-+-+-+-+-+-+-+-+-+-+-+-
  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |1|0|     PW Status (0x096A)    |            Length             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Status Code                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   If a PW Status TLV is included in the initial Label Mapping message
   for a PW, then if the Label Mapping message from the remote PE for
   that PW does not include a PW status TLV, or if the remote PE does
   not support the PW Status TLV, the PW will revert to the label
   withdraw method of signaling PW status.  Note that if the PW Status
   TLV is not supported by the remote peer, the peer will automatically
   ignore it, since the I (ignore) bit is set in the TLV.  The PW Status
   TLV, therefore, will not be present in the corresponding FEC
   advertisement from the remote LDP peer, which results in exactly the
   above behavior.

   If the PW Status TLV is not present following the FEC TLV in the
   initial PW Label Mapping message received by a PE, then the PW Status
   TLV will not be used, and both PEs supporting the pseudowire will
   revert to the label withdraw procedure for signaling status changes.

   If the negotiation process results in the usage of the PW status TLV,
   then the actual PW status is determined by the PW status TLV that was
   sent within the initial PW Label Mapping message.  Subsequent updates
   of PW status are conveyed through the notification message.

5.5.  Interface Parameters Sub-TLV

   This field specifies interface-specific parameters.  When applicable,
   it MUST be used to validate that the PEs and the ingress and egress
   ports at the edges of the circuit have the necessary capabilities to
   interoperate with each other.  The field structure 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Sub-TLV Type  |    Length     |    Variable Length Value      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Variable Length Value                 |
   |                             "                                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The interface parameter sub-TLV type values are specified in "IANA
   Allocations for Pseudowire Edge to Edge Emulation (PWE3)" [IANA].

   The Length field is defined as the length of the interface parameter
   including the parameter id and length field itself.  Processing of
   the interface parameters should continue when unknown interface
   parameters are encountered, and they MUST be silently ignored.

   -  Interface MTU sub-TLV type

      A 2-octet value indicating the MTU in octets.  This is the Maximum
      Transmission Unit, excluding encapsulation overhead, of the egress
      packet interface that will be transmitting the decapsulated PDU
      that is received from the MPLS-enabled network.  This parameter is
      applicable only to PWs transporting packets and is REQUIRED for
      these PW types.  If this parameter does not match in both
      directions of a specific PW, that PW MUST NOT be enabled.

   -  Optional Interface Description string sub-TLV type

      This arbitrary, and OPTIONAL, interface description string is used
      to send a human-readable administrative string describing the
      interface to the remote.  This parameter is OPTIONAL and is
      applicable to all PW types.  The interface description parameter
      string length is variable and can be from 0 to 80 octets.  Human-
      readable text MUST be provided in the UTF-8 charset using the
      Default Language [RFC2277].

6.  Control Word

6.1.  PW Types for Which the Control Word is REQUIRED

   The Label Mapping messages that are sent in order to set up these PWs
   MUST have c=1.  When a Label Mapping message for a PW of one of these
   types is received and c=0, a Label Release message MUST be sent, with
   an "Illegal C-bit" status code.  In this case, the PW will not be
   enabled.

6.2.  PW Types for Which the Control Word is NOT Mandatory

   If a system is capable of sending and receiving the control word on
   PW types for which the control word is not mandatory, then each such
   PW endpoint MUST be configurable with a parameter that specifies
   whether the use of the control word is PREFERRED or NOT PREFERRED.
   For each PW, there MUST be a default value of this parameter.  This
   specification does NOT state what the default value should be.

   If a system is NOT capable of sending and receiving the control word
   on PW types for which the control word is not mandatory, then it
   behaves exactly as if it were configured for the use of the control
   word to be NOT PREFERRED.

   If a Label Mapping message for the PW has already been received but
   no Label Mapping message for the PW has yet been sent, then the
   procedure is as follows:

        -i. If the received Label Mapping message has c=0, send a Label
            Mapping message with c=0; the control word is not used.

       -ii. If the received Label Mapping message has c=1 and the PW is
            locally configured such that the use of the control word is
            preferred, then send a Label Mapping message with c=1; the
            control word is used.

      -iii. If the received Label Mapping message has c=1 and the PW is
            locally configured such that the use of the control word is
            not preferred or the control word is not supported, then act
            as if no Label Mapping message for the PW had been received
            (i.e., proceed to the next paragraph).

   If a Label Mapping message for the PW has not already been received
   (or if the received Label Mapping message had c=1 and either local
   configuration says that the use of the control word is not preferred
   or the control word is not supported), then send a Label Mapping
   message in which the c bit is set to correspond to the locally
   configured preference for use of the control word.  (That is, set c=1
   if locally configured to prefer the control word, and set c=0 if
   locally configured to prefer not to use the control word or if the
   control word is not supported).

   The next action depends on what control message is next received for
   that PW.  The possibilities are as follows:

        -i. A Label Mapping message with the same c bit value as
            specified in the Label Mapping message that was sent.  PW
            setup is now complete, and the control word is used if c=1
            but is not used if c=0.

       -ii. A Label Mapping message with c=1, but the Label Mapping
            message that was sent has c=0.  In this case, ignore the
            received Label Mapping message and continue to wait for the
            next control message for the PW.

      -iii. A Label Mapping message with c=0, but the Label Mapping
            message that was sent has c=1.  In this case, send a Label
            Withdraw message with a "Wrong C-bit" status code, followed
            by a Label Mapping message that has c=0.  PW setup is now
            complete, and the control word is not used.

       -iv. A Label Withdraw message with the "Wrong c-bit" status code.
            Treat as a normal Label Withdraw, but do not respond.
            Continue to wait for the next control message for the PW.

   If at any time after a Label Mapping message has been received a
   corresponding Label Withdraw or Release is received, the action taken
   is the same as for any Label Withdraw or Release that might be
   received at any time.

   If both endpoints prefer the use of the control word, this procedure
   will cause it to be used.  If either endpoint prefers not to use the
   control word or does not support the control word, this procedure
   will cause it not to be used.  If one endpoint prefers to use the
   control word but the other does not, the one that prefers not to use
   it is has no extra protocol to execute; it just waits for a Label
   Mapping message that has c=0.

   The diagram in Appendix A illustrates the above procedure.

6.3.  LDP Label Withdrawal Procedures

   As mentioned above, the Group ID field of the PWid FEC element, or
   the PW Grouping ID TLV used with the Generalized ID FEC element, can
   be used to withdraw all PW labels associated with a particular PW
   group.  This procedure is OPTIONAL, and if it is implemented, the LDP
   Label Withdraw message should be as follows: If the PWid FEC element
   is used, the PW information length field is set to 0, the PW ID field
   is not present, the interface parameter sub-TLVs are not present, and
   the Label TLV is not present.

   If the Generalized FEC element is used, the AGI, SAII, and TAII are
   not present, the PW information length field is set to 0, the PW
   Grouping ID TLV is included, the Interface Parameters TLV is not
   present, and the Label TLV is not present.  For the purpose of this
   document, this is called the "wild card withdraw procedure", and all
   PEs implementing this design are REQUIRED to accept such withdrawn
   message but are not required to send it.  Note that the PW Grouping
   ID TLV only applies to PWs using the Generalized ID FEC element,
   while the Group ID only applies to PWid FEC element.

   The interface parameter sub-TLVs, or TLV, MUST NOT be present in any
   LDP PW Label Withdraw or Label Release message.  A wild card Label
   Release message MUST include only the group ID, or Grouping ID TLV.
   A Label Release message initiated by a PE router must always include
   the PW ID.

6.4.  Sequencing Considerations

   In the case where the router considers the sequence number field in
   the control word, it is important to note the following details when
   advertising labels.

6.4.1.  Label Advertisements

   After a label has been withdrawn by the output router and/or released
   by the input router, care must be taken not to advertise (re-use) the
   same released label until the output router can be reasonably certain
   that old packets containing the released label no longer persist in
   the MPLS-enabled network.

   This precaution is required to prevent the imposition router from
   restarting packet forwarding with a sequence number of 1 when it
   receives a Label Mapping message that binds the same FEC to the same
   label if there are still older packets in the network with a sequence
   number between 1 and 32768.  For example, if there is a packet with
   sequence number=n, where n is in the interval [1,32768] traveling
   through the network, it would be possible for the disposition router
   to receive that packet after it re-advertises the label.  Since the
   label has been released by the imposition router, the disposition
   router SHOULD be expecting the next packet to arrive with a sequence
   number of 1.  Receipt of a packet with a sequence number equal to n
   will result in n packets potentially being rejected by the
   disposition router until the imposition router imposes a sequence
   number of n+1 into a packet.  Possible methods to avoid this are for
   the disposition router always to advertise a different PW label, or
   for the disposition router to wait for a sufficient time before

   attempting to re-advertise a recently released label.  This is only
   an issue when sequence number processing is enabled at the
   disposition router.

6.4.2.  Label Release

   In situations where the imposition router wants to restart forwarding
   of packets with sequence number 1, the router shall 1) send to the
   disposition router a Label Release Message, and 2) send to the
   disposition router a Label Request message.  When sequencing is
   supported, advertisement of a PW label in response to a Label Request
   message MUST also consider the issues discussed in the section on
   Label Advertisements.

7.  IANA Considerations

7.1.  LDP TLV TYPE

   This document uses several new LDP TLV types; IANA already maintains
   a registry of name "TLV TYPE NAME SPACE" defined by RFC 3036.  The
   following values are suggested for assignment:

      TLV type  Description
      =====================================
       0x096A   PW Status TLV
       0x096B   PW Interface Parameters TLV
       0x096C   Group ID TLV

7.2.  LDP Status Codes

   This document uses several new LDP status codes; IANA already
   maintains a registry of name "STATUS CODE NAME SPACE" defined by RFC
   3036.  The following values are suggested for assignment:

   Range/Value     E     Description                       Reference
   ------------- -----   ----------------------            ---------
   0x00000024      0     Illegal C-Bit                     [RFC4447]
   0x00000025      0     Wrong C-Bit                       [RFC4447]
   0x00000026      0     Incompatible bit-rate             [RFC4447]
   0x00000027      0     CEP-TDM mis-configuration         [RFC4447]
   0x00000028      0     PW Status                         [RFC4447]
   0x00000029      0     Unassigned/Unrecognized TAI       [RFC4447]
   0x0000002A      0     Generic Misconfiguration Error    [RFC4447]
   0x0000002B      0     Label Withdraw PW Status Method   [RFC4447]

7.3.  FEC Type Name Space

   This document uses two new FEC element types, 0x80 and 0x81, from the
   registry "FEC Type Name Space" for the Label Distribution Protocol
   (LDP RFC 3036).

8.  Security Considerations

   This document specifies the LDP extensions that are needed for
   setting up and maintaining pseudowires.  The purpose of setting up
   pseudowires is to enable Layer 2 frames to be encapsulated in MPLS
   and transmitted from one end of a pseudowire to the other.
   Therefore, we treat the security considerations for both the data
   plane and the control plane.

8.1.  Data-Plane Security

   With regard to the security of the data plane, the following areas
   must be considered:

      -  MPLS PDU inspection
      -  MPLS PDU spoofing
      -  MPLS PDU alteration
      -  MPLS PSN protocol security
      -  Access Circuit security
      -  Denial-of-service prevention on the PE routers

   When an MPLS PSN is used to provide pseudowire service, there is a
   perception that security MUST be at least equal to the currently
   deployed Layer 2 native protocol networks that the MPLS/PW network
   combination is emulating.  This means that the MPLS-enabled network
   SHOULD be isolated from outside packet insertion in such a way that
   it SHOULD not be possible to insert an MPLS packet into the network
   directly.  To prevent unwanted packet insertion, it is also important
   to prevent unauthorized physical access to the PSN, as well as
   unauthorized administrative access to individual network elements.

   As mentioned above, as MPLS enabled network should not accept MPLS
   packets from its external interfaces (i.e., interfaces to CE devices
   or to other providers’ networks) unless the top label of the packet
   was legitimately distributed to the system from which the packet is
   being received.  If the packet’s incoming interface leads to a
   different SP (rather than to a customer), an appropriate trust
   relationship must also be present, including the trust that the other
   SP also provides appropriate security measures.

   The three main security problems faced when using an MPLS-enabled
   network to transport PWs are spoofing, alteration, and inspection.

   First, there is a possibility that the PE receiving PW PDUs will get
   a PDU that appears to be from the PE transmitting the PW into the
   PSN, but that was not actually transmitted by the PE originating the
   PW.  (That is, the specified encapsulations do not by themselves
   enable the decapsulator to authenticate the encapsulator.)  A second
   problem is the possibility that the PW PDU will be altered between
   the time it enters the PSN and the time it leaves the PSN (i.e., the
   specified encapsulations do not by themselves assure the decapsulator
   of the packet’s integrity.)  A third problem is the possibility that
   the PDU’s contents will be seen while the PDU is in transit through
   the PSN (i.e., the specification encapsulations do not ensure
   privacy.)  How significant these issues are in practice depends on
   the security requirements of the applications whose traffic is being
   sent through the tunnel, and how secure the PSN itself is.

8.2.  Control-Plane Security

   General security considerations with regard to the use of LDP are
   specified in section 5 of RFC 3036.  Those considerations also apply
   to the case where LDP is used to set up pseudowires.

   A pseudowire connects two attachment circuits.  It is important to
   make sure that LDP connections are not arbitrarily accepted from
   anywhere, or else a local attachment circuit might get connected to
   an arbitrary remote attachment circuit.  Therefore, an incoming LDP
   session request MUST NOT be accepted unless its IP source address is
   known to be the source of an "eligible" LDP peer.  The set of
   eligible peers could be pre-configured (either as a list of IP
   addresses, or as a list of address/mask combinations), or it could be
   discovered dynamically via an auto-discovery protocol that is itself
   trusted.  (Obviously, if the auto-discovery protocol were not
   trusted, the set of "eligible peers" it produces could not be
   trusted.)

   Even if an LDP connection request appears to come from an eligible
   peer, its source address may have been spoofed.  Therefore, some
   means of preventing source address spoofing must be in place.  For
   example, if all the eligible peers are in the same network, source
   address filtering at the border routers of that network could
   eliminate the possibility of source address spoofing.

   The LDP MD5 authentication key option, as described in section 2.9 of
   RFC 3036, MUST be implemented, and for a greater degree of security,
   it must be used.  This provides integrity and authentication for the
   LDP messages and eliminates the possibility of source address
   spoofing.  Use of the MD5 option does not provide privacy, but
   privacy of the LDP control messages is not usually considered
   important.  As the MD5 option relies on the configuration of pre-

   shared keys, it does not provide much protection against replay
   attacks.  In addition, its reliance on pre-shared keys may make it
   very difficult to deploy when the set of eligible neighbors is
   determined by an auto-configuration protocol.

   When the Generalized ID FEC Element is used, it is possible that a
   particular LDP peer may be one of the eligible LDP peers but may not
   be the right one to connect to the particular attachment circuit
   identified by the particular instance of the Generalized ID FEC
   element.  However, given that the peer is known to be one of the
   eligible peers (as discussed above), this would be the result of a
   configuration error, rather than a security problem.  Nevertheless,
   it may be advisable for a PE to associate each of its local
   attachment circuits with a set of eligible peers rather than have
   just a single set of eligible peers associated with the PE as a
   whole.

9.  Acknowledgements

   The authors wish to acknowledge the contributions of Vach Kompella,
   Vanson Lim, Wei Luo, Himanshu Shah, and Nick Weeds.

10.  Normative References

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

   [RFC3036] Andersson, L., Doolan, P., Feldman, N., Fredette, A., and
             B. Thomas, "LDP Specification", RFC 3036, January 2001.

   [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
             Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
             Encoding", RFC 3032, January 2001.

   [IANA]    Martini, L., "IANA Allocations for Pseudowire Edge to Edge
             Emulation (PWE3)", BCP 116, RFC 4446, April 2006.

11.  Informative References

   [CEP]     Malis, A., Pate, P., Cohen, R., Ed., and D. Zelig,
             "SONET/SDH Circuit Emulation Service Over Packet (CEP)",
             Work in Progress.

   [SAToP]   Vainshtein, A., Ed. and Y. Stein, Ed., "Structure-Agnostic
             TDM over Packet (SAToP)", Work in Progress.

   [FRAME]   Martini, L., Ed. and C. Kawa, Ed., "Encapsulation Methods
             for Transport of Frame Relay Over MPLS Networks", Work in
             Progress.

   [ATM]     Martini, L., Ed., El-Aawar, N., and M. Bocci, Ed.,
             "Encapsulation Methods for Transport of ATM Over MPLS
             Networks", Work in Progress.

   [PPPHDLC] Martini, L., Rosen, E., Heron, G., and A. Malis,
             "Encapsulation Methods for Transport of PPP/HDLC Frames
             Over IP and MPLS Networks", Work in Progress.

   [ETH]     Martini, L., Rosen, E., El-Aawar, N., and G. Heron,
             "Encapsulation Methods for Transport of Ethernet Over MPLS
             Networks", RFC 4448, April 2006.

   [SDH]     American National Standards Institute, "Synchronous Optical
             Network Formats," ANSI T1.105-1995.

   [ITUG]    ITU Recommendation G.707, "Network Node Interface For The
             Synchronous Digital Hierarchy", 1996.

   [RFC3985] Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-Edge
             (PWE3) Architecture", RFC 3985, March 2005.

   [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and
             Languages", BCP 18, RFC 2277, January 1998.

12.  Additional Contributing Authors

   Dimitri Stratton Vlachos
   Mazu Networks, Inc.
   125 Cambridgepark Drive
   Cambridge, MA 02140

   EMail: d@mazunetworks.com

   Jayakumar Jayakumar,
   Cisco Systems Inc.
   225, E.Tasman, MS-SJ3/3,
   San Jose, CA, 95134

   EMail: jjayakum@cisco.com

   Alex Hamilton,
   Cisco Systems Inc.
   285 W. Tasman, MS-SJCI/3/4,
   San Jose, CA, 95134

   EMail: tahamilt@cisco.com

   Steve Vogelsang
   ECI Telecom
   Omega Corporate Center
   1300 Omega Drive
   Pittsburgh, PA 15205

   EMail: stephen.vogelsang@ecitele.com

   John Shirron
   ECI Telecom
   Omega Corporate Center
   1300 Omega Drive
   Pittsburgh, PA 15205

   EMail: john.shirron@ecitele.com

   Andrew G. Malis
   Tellabs
   90 Rio Robles Dr.
   San Jose, CA 95134

   EMail: Andy.Malis@tellabs.com

   Vinai Sirkay
   Redback Networks
   300 Holger Way
   San Jose, CA 95134

   EMail: vsirkay@redback.com

   Vasile Radoaca
   Nortel Networks
   600  Technology Park
   Billerica MA 01821

   EMail: vasile@nortelnetworks.com

   Chris Liljenstolpe
   Alcatel
   11600 Sallie Mae Dr.
   9th Floor
   Reston, VA 20193

   EMail: chris.liljenstolpe@alcatel.com

   Dave Cooper
   Global Crossing
   960 Hamlin Court
   Sunnyvale, CA 94089

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