+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|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