Internet Engineering Task Force                                 N. Akiya
Internet-Draft                                              C. Pignataro
Intended status: Standards Track                                N. Kumar
Expires: August 27, 2015                                   Cisco Systems
                                                       February 23, 2015


Seamless Bidirectional Forwarding Detection (S-BFD) for Segment Routing
                     draft-akiya-bfd-seamless-sr-04

Abstract

   This document defines procedures to use Seamless Bidirectional
   Forwarding Detection (S-BFD) for the Segment Routing environment.

Requirements Language

   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 RFC 2119 [RFC2119].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 27, 2015.

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect



Akiya, et al.            Expires August 27, 2015                [Page 1]


Internet-Draft      Seamless BFD for Segment Routing       February 2015


   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Inheritance of Code Points and Procedures . . . . . . . . . .   2
   3.  SBFDInitiator Models  . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Uncontrolled Return Path  . . . . . . . . . . . . . . . .   3
     3.2.  Controlled Return Path  . . . . . . . . . . . . . . . . .   3
   4.  S-BFD Echo Recommendations  . . . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   8.  Contributing Authors  . . . . . . . . . . . . . . . . . . . .   6
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   Seamless Bidirectional Forwarding Detection (S-BFD),
   [I-D.ietf-bfd-seamless-base], defines a generalized mechanism to
   allow network nodes to seamlessly perform continuity checks to remote
   entities.  This document defines necessary procedures to use S-BFD on
   the Segment Routing environment described by
   [I-D.ietf-spring-segment-routing].

   The reader is expected to be familiar with the IP, MPLS, Segment
   Routing [I-D.ietf-spring-segment-routing], BFD [RFC5880] and S-BFD
   [I-D.ietf-bfd-seamless-base] terminologies and protocol constructs.

2.  Inheritance of Code Points and Procedures

   S-BFD on the Segment Routing MUST use the code points and procedures
   defined in [I-D.ietf-bfd-seamless-ip] regarding following aspects:

   o  S-BFD Control UDP Port

   o  S-BFD Echo UDP Port

   o  S-BFD Control Packet Demultiplexing

   o  Initiator Procedures




Akiya, et al.            Expires August 27, 2015                [Page 2]


Internet-Draft      Seamless BFD for Segment Routing       February 2015


   o  Responder Procedures

   The Segment Routing on the MPLS data plane is to use MPLS based
   procedures, and the Segment Routing on the IPv6 data plane is to use
   IP based procedures.

3.  SBFDInitiator Models

   The S-BFD technology defines an SBFDReflector and how SBFDInitiators
   speak to SBFDReflectors.  Outside of these definitions,
   implementations are free to be flexible in terms of how
   SBFDInitiators behave.  The packet steering capability of the Segment
   Routing allows for, at very high level, two distinct SBFDInitiator
   models.  This section describes the two SBFDInitiator models as an
   implementation reference.

3.1.  Uncontrolled Return Path

   A network node sending S-BFD control packets to a remote target with
   particular segment stack will allow the network node to determine
   whether or not such packets reach the intended remote target.  The
   network node can conclude the reachability when valid response S-BFD
   control packets are received back.  In opposite, the network node can
   conclude the lack of reachability when valid response S-BFD control
   packet are not received back.  Because S-BFD control packets back
   from the responder to the initiator will be IP routed, how S-BFD
   control packets traverse the network back to the initiator is
   uncontrolled.  If the network employs good set of local protection
   mechanisms, this may not be concerning and the model of only sending
   S-BFD control packets may be sufficient.

   In this model, SBFDInitiator is to send only S-BFD control packets.

3.2.  Controlled Return Path

   In addition to SBFDInitiator sending S-BFD control packets, described
   in Section 3.1, S-BFD echo packets can also be sent.

         +-----B-------C-----+
        /                     \
       A-----------E-----------D
        \                     /
         +-----F-------G-----+

         Forward Paths: A-B-C-D
       IP Return Paths: D-E-A

         Figure 1: S-BFD Echo Example



Akiya, et al.            Expires August 27, 2015                [Page 3]


Internet-Draft      Seamless BFD for Segment Routing       February 2015


   Node A sending S-BFD control packets with segment stack {B, C, D}
   will cause S-BFD control packets to traverse the paths A-B-C-D in the
   forward direction.  The response S-BFD control packets from node D
   back to node A will be IP routed and will traverse the paths D-E-A.
   The SBFDInitiator sending such packets can also send S-BFD echo
   packets with segment stack {B, C, D, C, A}. S-BFD echo packets will
   u-turn on node D and traverse the paths D-C-B-A.  If required, the
   SBFDInitiator can possess multiple types of S-BFD echo packets, with
   each having varying return paths.  In this particular example, the
   SBFDInitiator can be sending two types of S-BFD echo packets in
   addition to S-BFD control packets.

   o  S-BFD control packets

      *  Segment stack: {B, C, D}

      *  Return path: D-E-A

   o  S-BFD echo packets #1

      *  Segment stack: {B, C, D, C, A}

      *  Return path: D-C-B-A

   o  S-BFD echo packets #2

      *  Segment stack: {B, C, D, G, A}

      *  Return path: D-G-F-A

   The SBFDInitiator can correlate the result of each packet type to
   determine the nature of the failure.  One such example of failure
   correlation is described in the figure below.


















Akiya, et al.            Expires August 27, 2015                [Page 4]


Internet-Draft      Seamless BFD for Segment Routing       February 2015


     +---+-----------------------------------------------------------+
     |   |                      S-BFD Echo Pkt                       |
     |   +------------------------------------+----------------------+
     |   |              Success               |       Failure        |
     +-+-+------------------------------------+----------------------+
     | |S|                                    |                      |
     |S|u|                                    |                      |
     |||c|                                    |Forward SID stack good|
     |B|c|             All is well            |Return SID stack bad  |
     |F|e|                                    |Return IP path good   |
     |D|s|                                    |                      |
     | |s|                                    |                      |
     |C+-+----------------------+-------------+----------------------+
     |t|F|Forward SID stack good|             |                      |
     |r|a|Return SID stack good |Send Alert   |                      |
     |l|i|Return IP path bad    |Discrim S-BFD|                      |
     | |l+--------- OR ---------+w/ Forward   |Forward SID stack bad |
     |P|u|Forward SID stack is  |SID stack to |                      |
     |k|r|terminating on wrong  |differentiate|                      |
     |t|e|node                  |             |                      |
     +-+-+----------------------+-------------+----------------------+

         Figure 2: SBFDInitiator Failure Correlation Example

4.  S-BFD Echo Recommendations

   o  It is RECOMMENDED to compute and use smallest number of segment
      stack to describe the return path of S-BFD echo packets to prevent
      the segment stack being too large.  How SBFDInitiator determines
      when to use S-BFD echo packets and how to identify corresponding
      segment stack for the return paths are outside the scope of this
      document.

   o  It is RECOMMENDED that SBFDInitiator does not send only S-BFD echo
      packets.  S-BFD echo packets are crafted to traverse the network
      and to come back to self, thus there is no guarantee that S-BFD
      echo are u-turning on the intended remote target.  On the other
      hand, S-BFD control packets can verify that segment stack of the
      forward direction reaches the intended remote target.  Therefore,
      an SBFDInitiator SHOULD send S-BFD control packets when sending
      S-BFD echo packets.

   o  It is RECOMMENDED that, for Segment Routing on the MPLS data
      plane, destination IP address of S-BFD echo packets is chosen from
      the 127/8 range for IPv4 and from the 0:0:0:0:0:FFFF:7F00/104
      range for IPv6.





Akiya, et al.            Expires August 27, 2015                [Page 5]


Internet-Draft      Seamless BFD for Segment Routing       February 2015


5.  Security Considerations

   Security considerations for S-BFD are discussed in
   [I-D.ietf-bfd-seamless-base] and [I-D.ietf-bfd-seamless-ip].

6.  IANA Considerations

   This document does not request any new code points from IANA.

7.  Acknowledgements

   Authors would like to thank Marc Binderberger from Cisco Systems for
   providing valuable comments.

8.  Contributing Authors

   Dave Ward
   Cisco Systems
   Email: wardd@cisco.com

   Tarek Saad
   Cisco Systems
   Email: tsaad@cisco.com

   Siva Sivabalan
   Cisco Systems
   Email: msiva@cisco.com

9.  References

9.1.  Normative References

   [I-D.ietf-bfd-seamless-base]
              Akiya, N., Pignataro, C., Ward, D., Bhatia, M., and J.
              Networks, "Seamless Bidirectional Forwarding Detection
              (S-BFD)", draft-ietf-bfd-seamless-base-04 (work in
              progress), January 2015.

   [I-D.ietf-bfd-seamless-ip]
              Akiya, N., Pignataro, C., and D. Ward, "Seamless
              Bidirectional Forwarding Detection (S-BFD) for IPv4, IPv6
              and MPLS", draft-ietf-bfd-seamless-ip-01 (work in
              progress), January 2015.








Akiya, et al.            Expires August 27, 2015                [Page 6]


Internet-Draft      Seamless BFD for Segment Routing       February 2015


   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
              Litkowski, S., Horneffer, M., Shakir, R., Tantsura, J.,
              and E. Crabbe, "Segment Routing Architecture", draft-ietf-
              spring-segment-routing-01 (work in progress), February
              2015.

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

9.2.  Informative References

   [RFC5880]  Katz, D. and D. Ward, "Bidirectional Forwarding Detection
              (BFD)", RFC 5880, June 2010.

Authors' Addresses

   Nobo Akiya
   Cisco Systems

   Email: nobo@cisco.com


   Carlos Pignataro
   Cisco Systems

   Email: cpignata@cisco.com


   Nagendra Kumar
   Cisco Systems

   Email: naikumar@cisco.com


















Akiya, et al.            Expires August 27, 2015                [Page 7]