draft-ietf-mpls-self-ping-02.txt   draft-ietf-mpls-self-ping-03.txt 
MPLS Working Group R. Torvi MPLS Working Group R. Torvi
Internet-Draft R. Bonica Internet-Draft R. Bonica
Intended status: Standards Track Juniper Networks Intended status: Standards Track Juniper Networks
Expires: December 17, 2015 I. Minei Expires: March 8, 2016 I. Minei
Google, Inc. Google, Inc.
M. Conn M. Conn
D. Pacella D. Pacella
L. Tomotaki L. Tomotaki
M. Wygant M. Wygant
Verizon Verizon
June 15, 2015 September 5, 2015
LSP Self-Ping LSP Self-Ping
draft-ietf-mpls-self-ping-02 draft-ietf-mpls-self-ping-03
Abstract Abstract
When certain RSVP-TE optimizations are implemented, ingress LSRs can When certain RSVP-TE optimizations are implemented, ingress LSRs can
receive RSVP RESV messages before forwarding state has been installed receive RSVP RESV messages before forwarding state has been installed
on all downstream nodes. According to the RSVP-TE specification, the on all downstream nodes. According to the RSVP-TE specification, the
ingress LSR can forward traffic through an LSP as soon as it receives ingress LSR can forward traffic through an LSP as soon as it receives
a RESV message. However, if the ingress LSR forwards traffic through a RESV message. However, if the ingress LSR forwards traffic through
the LSP before forwarding state has been installed on all downstream the LSP before forwarding state has been installed on all downstream
nodes, traffic can be lost. nodes, traffic can be lost.
skipping to change at page 2, line 10 skipping to change at page 2, line 10
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 17, 2015. This Internet-Draft will expire on March 8, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 49 skipping to change at page 2, line 49
10.1. Normative References . . . . . . . . . . . . . . . . . . 9 10.1. Normative References . . . . . . . . . . . . . . . . . . 9
10.2. Informative References . . . . . . . . . . . . . . . . . 10 10.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
Ingress Label Switching Routers (LSR) use RSVP-TE [RFC3209] to Ingress Label Switching Routers (LSR) use RSVP-TE [RFC3209] to
establish MPLS Label Switched Paths. The following paragraphs establish MPLS Label Switched Paths. The following paragraphs
describe RSVP-TE procedures. describe RSVP-TE procedures.
The ingress LSR calculates path between itself and an egress LSR. The ingress LSR calculates a path between itself and an egress LSR.
The calculated path can be either strictly or loosely routed. Having The calculated path can be either strictly or loosely routed. Having
calculated a path, the ingress LSR constructs an RSVP PATH message. calculated a path, the ingress LSR constructs an RSVP PATH message.
The PATH message includes an Explicit Route Object (ERO) that The PATH message includes an Explicit Route Object (ERO) that
represents the path between the ingress and egress LSRs. represents the path between the ingress and egress LSRs.
The ingress LSR forwards the PATH message towards the egress LSR, The ingress LSR forwards the PATH message towards the egress LSR,
following the path defined by the ERO. Each transit LSR that following the path defined by the ERO. Each transit LSR that
receives the PATH message executes admission control procedures. If receives the PATH message executes admission control procedures. If
the transit LSR admits the LSP, it sends the PATH message downstream, the transit LSR admits the LSP, it sends the PATH message downstream,
skipping to change at page 3, line 39 skipping to change at page 3, line 39
When the ingress LSR receives the RESV message, it installs When the ingress LSR receives the RESV message, it installs
forwarding state. Once the ingress LSR installs forwarding state it forwarding state. Once the ingress LSR installs forwarding state it
can forward traffic through the LSP. can forward traffic through the LSP.
Some implementations optimize the above-described procedure by Some implementations optimize the above-described procedure by
allowing LSRs to send RESV messages before installing forwarding allowing LSRs to send RESV messages before installing forwarding
state [RFC6383]. This optimization is desirable, because it allows state [RFC6383]. This optimization is desirable, because it allows
LSRs to install forwarding state in parallel, thus accelerating the LSRs to install forwarding state in parallel, thus accelerating the
process of LSP signaling and setup. However, this optimization process of LSP signaling and setup. However, this optimization
creates a race condition. When the ingress LSR receives a RESV creates a race condition. When the ingress LSR receives a RESV
message, some downstream LSRs may not have installed forwarding state message, some downstream LSRs may have not yet installed forwarding
yet. If the ingress LSR forwards traffic through the LSP before state. If the ingress LSR forwards traffic through the LSP before
forwarding state has been installed on all downstream nodes, traffic forwarding state has been installed on all downstream nodes, traffic
can be lost. can be lost.
This memo describes LSP Self-ping. When an ingress LSR receives an This memo describes LSP Self-ping. When an ingress LSR receives an
RESV message, it can invoke LSP Self-ping procedures to verify that RESV message, it can invoke LSP Self-ping procedures to verify that
forwarding state has been installed on all downstream nodes. By forwarding state has been installed on all downstream nodes. By
verifying the installation of downstream forwarding state, the verifying the installation of downstream forwarding state, the
ingress LSR eliminates this particular cause of traffic loss. ingress LSR eliminates this particular cause of traffic loss.
LSP Self-ping is an extremely light-weight mechanism. It does not LSP Self-ping is an extremely light-weight mechanism. It does not
consume control plane resources on transit or egress LSRs. consume control plane resources on transit or egress LSRs.
Although LSP Ping and LSP Self-ping are named similarly, each is a Although LSP Ping and LSP Self-ping are named similarly, each is a
unique protocol. Each protocol listens on its own UDP port and unique protocol, designed for a unique purpose. Each protocol
executes is own unique procedures. listens on its own UDP port and executes its own unique procedures.
2. Applicability 2. Applicability
LSP Self-ping is applicable in the following scenario: LSP Self-ping is applicable in the following scenario:
o The ingress LSR signals a point-to-point LSP o The ingress LSR signals a point-to-point LSP
o The ingress LSR receives a RESV message o The ingress LSR receives a RESV message
o The RESV message indicates that all downstream nodes have begun o The RESV message indicates that all downstream nodes have begun
skipping to change at page 5, line 20 skipping to change at page 5, line 20
o An S-BFD implementation either consumes control plane resources on o An S-BFD implementation either consumes control plane resources on
the egress LSR or requires special support for S-BFD on the the egress LSR or requires special support for S-BFD on the
forwarding plane. forwarding plane.
By contrast, LSP Self-ping requires nothing from the egress LSR By contrast, LSP Self-ping requires nothing from the egress LSR
beyond the ability to forward an IP datagram. beyond the ability to forward an IP datagram.
LSP Self-ping's purpose is to determine whether forwarding state has LSP Self-ping's purpose is to determine whether forwarding state has
been installed on all downstream LSRs. Its primary constraint is to been installed on all downstream LSRs. Its primary constraint is to
minimize its impact on egress LSR performance. This functionality is minimize its impact on egress LSR performance. This functionality is
required during network convergence events that impact a large number valuable during network convergence events that impact a large number
of LSPs. of LSPs.
Therefore, LSP Self-ping is applicable in the scenario described Therefore, LSP Self-ping is applicable in the scenario described
above, where the LSP is signaled by RSVP, RPF is not enabled, and the above, where the LSP is signaled by RSVP, RPF is not enabled, and the
need to conserve control plane resources on the egress LSR outweighs need to conserve control plane resources on the egress LSR outweighs
the need to determine whether downstream forwarding state is correct. the need to determine whether downstream forwarding state is correct.
3. The LSP Self-ping Message 3. The LSP Self-ping Message
The LSP Self-ping Message is a User Datagram Protocol (UDP) [RFC0768] The LSP Self-ping Message is a User Datagram Protocol (UDP) [RFC0768]
packet. If the RSVP messages used to establish the LSP under test packet that encapsulates a session ID. If the RSVP messages used to
were delivered over IPv4 [RFC0791], the UDP datagram MUST be establish the LSP under test were delivered over IPv4 [RFC0791], the
encapsulated in an IPv4 header. If the RSVP messages used to UDP datagram MUST be encapsulated in an IPv4 header. If the RSVP
establish the LSP were delivered over IPv6 [RFC2460], the UDP messages used to establish the LSP were delivered over IPv6
datagram MUST be encapsulated in an IPv6 header. [RFC2460], the UDP datagram MUST be encapsulated in an IPv6 header.
In either case: In either case:
o The IP Source Address MAY be configurable. By default, it MUST be o The IP Source Address MAY be configurable. By default, it MUST be
the address of the egress LSR the address of the egress LSR
o The IP Destination Address MUST be the address of the ingress LSR o The IP Destination Address MUST be the address of the ingress LSR
o The IP Time to Live (TTL) / Hop Count MAY be configurable. By o The IP Time to Live (TTL) / Hop Count MAY be configurable. By
default, it MUST be 255 default, it MUST be 255
skipping to change at page 6, line 43 skipping to change at page 6, line 43
initial value of this variable is determined by configuration. initial value of this variable is determined by configuration.
o Retry Timer: The number of milliseconds that the LSR waits after o Retry Timer: The number of milliseconds that the LSR waits after
probing the LSP. The initial value of this variable is determined probing the LSP. The initial value of this variable is determined
by configuration. by configuration.
o Status: A boolean variable indicating the completion status of the o Status: A boolean variable indicating the completion status of the
LSP Self-ping session. The initial value of this variable is LSP Self-ping session. The initial value of this variable is
FALSE. FALSE.
Implementation MAY represent the above mentioned information in any Implementations MAY represent the above mentioned information in any
format that is convenient to them. format that is convenient to them.
The ingress LSR executes the following procedure until Status equals The ingress LSR executes the following procedure until Status equals
TRUE or Retry Counter equals zero: TRUE or Retry Counter equals zero:
o Format a LSP Self-ping message. o Format a LSP Self-ping message.
o Set the Session-ID in the LSP Self-ping message to the Session-ID o Set the Session-ID in the LSP Self-ping message to the Session-ID
mentioned above mentioned above
skipping to change at page 8, line 41 skipping to change at page 8, line 41
Ping well above the overhead of its data plane (MPLS/IP forwarding). Ping well above the overhead of its data plane (MPLS/IP forwarding).
These factors make LSP Ping problematic as a tool for detecting LSP These factors make LSP Ping problematic as a tool for detecting LSP
readiness to carry traffic when dealing with a large number of LSPs. readiness to carry traffic when dealing with a large number of LSPs.
By contrast, LSP Self-ping does not consume any control plane By contrast, LSP Self-ping does not consume any control plane
resources at the egress LSR, and relies solely on the data plane of resources at the egress LSR, and relies solely on the data plane of
the egress LSR, making it more suitable as a tool for checking LSP the egress LSR, making it more suitable as a tool for checking LSP
readiness when dealing with a large number of LSPs. readiness when dealing with a large number of LSPs.
In another rejected approach, the ingress LSR does not verify LSP In another rejected approach, the ingress LSR does not verify LSP
readiness. Alternatively, it sets a timer when it receives an RSVP readiness. Instead, it sets a timer when it receives an RSVP RESV
RESV message and does not forward traffic through the LSP until the message and does not forward traffic through the LSP until the timer
timer expires. This approach was rejected because it is impossible expires. This approach was rejected because it is impossible to
to determine the optimal setting for this timer. If the timer value determine the optimal setting for this timer. If the timer value is
is set too low, it does not prevent black-holing. If the timer value set too low, it does not prevent black-holing. If the timer value is
is set too high, it slows down the process of LSP signalling and set too high, it slows down the process of LSP signalling and setup.
setup.
Moreover, the above-mentioned timer is configured on a per-router Moreover, the above-mentioned timer is configured on a per-router
basis. However, its optimum value is determined by a network-wide basis. However, its optimum value is determined by a network-wide
behavior. Therefore, changes in the network could require changes to behavior. Therefore, changes in the network could require changes to
the value of the timer, making the optimal setting of this timer a the value of the timer, making the optimal setting of this timer a
moving target. moving target.
7. IANA Considerations 7. IANA Considerations
IANA has assigned theUDP Port Number 8503 [IANA.PORTS] for use by LSP IANA has assigned UDP Port Number 8503 [IANA.PORTS] for use by LSP
Self-ping. Self-ping.
8. Security Considerations 8. Security Considerations
LSP Self-ping messages are easily forged. Therefore, an attacker can LSP Self-ping messages are easily forged. Therefore, an attacker can
send the ingress LSR a forged LSP Self-ping message, causing the send the ingress LSR a forged LSP Self-ping message, causing the
ingress LSR to terminate the LSP Self-ping session prematurely. In ingress LSR to terminate the LSP Self-ping session prematurely. In
order to mitigate these threats, implementations SHOULD NOT assign order to mitigate these threats, implementations SHOULD NOT assign
Session-ID's in a predictable manner. Furthermore, operators SHOULD Session-ID's in a predictable manner. Furthermore, operators SHOULD
filter LSP Self-ping packets at network ingress points. filter LSP Self-ping packets at network ingress points.
skipping to change at page 9, line 31 skipping to change at page 9, line 29
9. Acknowledgements 9. Acknowledgements
Thanks to Yakov Rekhter, Ravi Singh, Eric Rosen, Eric Osborne, Greg Thanks to Yakov Rekhter, Ravi Singh, Eric Rosen, Eric Osborne, Greg
Mirsky and Nobo Akiya for their contributions to this document. Mirsky and Nobo Akiya for their contributions to this document.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
August 1980. DOI 10.17487/RFC0768, August 1980,
<http://www.rfc-editor.org/info/rfc768>.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, September [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
1981. DOI 10.17487/RFC0791, September 1981,
<http://www.rfc-editor.org/info/rfc791>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998. (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
December 1998, <http://www.rfc-editor.org/info/rfc2460>.
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, December 2001. Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
<http://www.rfc-editor.org/info/rfc3209>.
[RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed
Networks", BCP 84, RFC 3704, March 2004. Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March
2004, <http://www.rfc-editor.org/info/rfc3704>.
[RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol
Label Switched (MPLS) Data Plane Failures", RFC 4379, Label Switched (MPLS) Data Plane Failures", RFC 4379,
February 2006. DOI 10.17487/RFC4379, February 2006,
<http://www.rfc-editor.org/info/rfc4379>.
[RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed.,
Specification", RFC 5036, October 2007. "LDP Specification", RFC 5036, DOI 10.17487/RFC5036,
October 2007, <http://www.rfc-editor.org/info/rfc5036>.
[RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S.
Cheshire, "Internet Assigned Numbers Authority (IANA) Cheshire, "Internet Assigned Numbers Authority (IANA)
Procedures for the Management of the Service Name and Procedures for the Management of the Service Name and
Transport Protocol Port Number Registry", BCP 165, RFC Transport Protocol Port Number Registry", BCP 165,
6335, August 2011. RFC 6335, DOI 10.17487/RFC6335, August 2011,
<http://www.rfc-editor.org/info/rfc6335>.
10.2. Informative References 10.2. Informative References
[I-D.akiya-bfd-seamless-base] [I-D.akiya-bfd-seamless-base]
Akiya, N., Pignataro, C., Ward, D., Bhatia, M., and J. Akiya, N., Pignataro, C., Ward, D., Bhatia, M., and J.
Networks, "Seamless Bidirectional Forwarding Detection Networks, "Seamless Bidirectional Forwarding Detection
(S-BFD)", draft-akiya-bfd-seamless-base-03 (work in (S-BFD)", draft-akiya-bfd-seamless-base-03 (work in
progress), April 2014. progress), April 2014.
[IANA.PORTS] [IANA.PORTS]
IANA, "Service Name and Transport Protocol Port Number IANA, "Service Name and Transport Protocol Port Number
Registry", <http://www.iana.org/assignments/ Registry", <http://www.iana.org/assignments/
service-names-port-numbers/ service-names-port-numbers/
service-names-port-numbers.txt>. service-names-port-numbers.txt>.
[RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration [RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration
Guidelines for DiffServ Service Classes", RFC 4594, August Guidelines for DiffServ Service Classes", RFC 4594,
2006. DOI 10.17487/RFC4594, August 2006,
<http://www.rfc-editor.org/info/rfc4594>.
[RFC6383] Shiomoto, K. and A. Farrel, "Advice on When It Is Safe to [RFC6383] Shiomoto, K. and A. Farrel, "Advice on When It Is Safe to
Start Sending Data on Label Switched Paths Established Start Sending Data on Label Switched Paths Established
Using RSVP-TE", RFC 6383, September 2011. Using RSVP-TE", RFC 6383, DOI 10.17487/RFC6383, September
2011, <http://www.rfc-editor.org/info/rfc6383>.
Authors' Addresses Authors' Addresses
Ravi Torvi Ravi Torvi
Juniper Networks Juniper Networks
Email: rtorvi@juniper.net Email: rtorvi@juniper.net
Ron Bonica Ron Bonica
Juniper Networks Juniper Networks
Email: rbonica@juniper.net Email: rbonica@juniper.net
Ina Minei Ina Minei
Google, Inc. Google, Inc.
1600 Amphitheatre Parkway 1600 Amphitheatre Parkway
Mountain View, CA 94043 Mountain View, CA 94043
U.S.A. U.S.A.
Email: inaminei@google.com Email: inaminei@google.com
Michael Conn Michael Conn
Verizon Verizon
 End of changes. 25 change blocks. 
40 lines changed or deleted 51 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/