Network Working Group                                           D. Katz
Internet Draft                                         Juniper Networks
                                                                D. Ward
                                                          Cisco Systems
Expires: September, 2008                                    March, 2008


                   BFD for IPv4 and IPv6 (Single Hop)
                    draft-ietf-bfd-v4v6-1hop-08.txt


Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html



Abstract

   This document describes the use of the Bidirectional Forwarding
   Detection protocol over IPv4 and IPv6 for single IP hops.  Comments
   on this draft should be directed to rtg-bfd@ietf.org.










Katz, Ward                                                      [Page 1]


Internet Draft     BFD for IPv4 and IPv6 (Single Hop)        March, 2008


Conventions used in this document

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



1. Introduction

   One very desirable application for BFD [BFD] is to track IPv4 and
   IPv6 connectivity between directly-connected systems.  This could be
   used to supplement the detection mechanisms in routing protocols, or
   to monitor router-host connectivity, among other applications.

   This document describes the particulars necessary to use BFD in this
   environment.  Interactions between BFD and other protocols and system
   functions are described in the BFD Generic Applications document
   [BFD-GENERIC].



2. Applications and Limitations

   This application of BFD can be used by any pair of systems
   communicating via IPv4 and/or IPv6 across a single IP hop that is
   associated with an incoming interface.  This includes, but is not
   limited to, physical media, virtual circuits, and tunnels.

   Each BFD session between a pair of systems MUST traverse a separate
   path in both directions.

   If BFD is to be used in conjunction with both IPv4 and IPv6 on a
   particular link, a separate BFD session MUST be established for each
   protocol (and thus encapsulated by that protocol) over that link.
















Katz, Ward                                                      [Page 2]


Internet Draft     BFD for IPv4 and IPv6 (Single Hop)        March, 2008


3. Initialization and Demultiplexing

   In this application, there will be only a single BFD session between
   two systems over a given interface (logical or physical) for a
   particular protocol.  The BFD session must be bound to this
   interface.  As such, both sides of a session MUST take the "Active"
   role (sending initial BFD Control packets with a zero value of Your
   Discriminator) and any BFD packet from the remote machine with a zero
   value of Your Discriminator MUST be associated with the session bound
   to the remote system, interface, and protocol.



4. Encapsulation

4.1. BFD for IPv4

   In the case of IPv4, BFD Control packets MUST be transmitted in UDP
   packets with destination port 3784, within an IPv4 packet.  The
   source port MUST be in the range 49152 through 65535.  The same UDP
   source port number MUST be used for all BFD Control packets
   associated with a particular session.  The source port number SHOULD
   be unique among all BFD sessions on the system.  If more than 16384
   BFD sessions are simultaneously active, UDP source port numbers MAY
   be reused on multiple sessions, but the number of distinct uses of
   the same UDP source port number SHOULD be minimized.  An
   implementation MAY use the UDP port source number to aid in
   demultiplexing incoming BFD Control packets, but ultimately the
   mechanisms in [BFD] MUST be used to demultiplex incoming packets to
   the proper session.

   BFD Echo packets MUST be transmitted in UDP packets with destination
   UDP port 3785 in an IPv4 packet.  The setting of the UDP source port
   is outside the scope of this specification.  The destination address
   MUST be chosen in such a way as to cause the remote system to forward
   the packet back to the local system.  The source address MUST be
   chosen in such a way as to preclude the remote system from generating
   ICMP Redirect messages.  In particular, the source address SHOULD NOT
   be part of the subnet bound to the interface over which the BFD Echo
   packet is being transmitted, unless it is known by other means that
   the remote system will not send Redirects.










Katz, Ward                                                      [Page 3]


Internet Draft     BFD for IPv4 and IPv6 (Single Hop)        March, 2008


4.2. BFD for IPv6

   In the case of IPv6, BFD Control packets MUST be transmitted in UDP
   packets with destination port 3784, within an IPv6 packet.  The
   source port MUST be in the range 49152 through 65535.  The same UDP
   source port number MUST be used for all BFD Control packets
   associated with a particular session.  The source port number SHOULD
   be unique among all BFD sessions on the system.  If more than 16384
   BFD sessions are simultaneously active, UDP source port numbers MAY
   be reused on multiple sessions, but the number of distinct uses of
   the same UDP source port number SHOULD be minimized.  An
   implementation MAY use the UDP port source number to aid in
   demultiplexing incoming BFD Control packets, but ultimately the
   mechanisms in [BFD] MUST be used to demultiplex incoming packets to
   the proper session.

   BFD Echo packets MUST be transmitted in UDP packets with destination
   UDP port 3785 in an IPv6 packet.  The setting of the UDP source port
   is outside the scope of this specification.  The source and
   destination addresses MUST both be associated with the local system.
   The destination address MUST be chosen in such a way as to cause the
   remote system to forward the packet back to the local system.



5. TTL/Hop Limit Issues

   If BFD authentication is not in use on a session, all BFD Control
   packets for the session MUST be sent with a TTL or Hop Limit value of
   255.  All received BFD Control packets that are demultiplexed to the
   session MUST be discarded if the received TTL or Hop Limit is not
   equal to 255.  A discussion of this mechanism can be found in [GTSM].

   If BFD authentication is in use on a session, all BFD Control packets
   MUST be sent with a TTL or Hop Limit value of 255.  All received BFD
   Control packets that are demultiplexed the session MAY be discarded
   if the received TTL or Hop Limit is not equal to 255.

   In the context of this section, "authentication in use" means that
   the system is sending BFD control packets with the Authentication bit
   set and with the Authentication Section included, and that all
   unauthenticated packets demultiplexed to the session are discarded,
   per the BFD base specification.








Katz, Ward                                                      [Page 4]


Internet Draft     BFD for IPv4 and IPv6 (Single Hop)        March, 2008


6. Addressing Issues

   Implementations MUST ensure that all BFD Control packets are
   transmitted over the one-hop path being protected by BFD.

   On a multiaccess network, BFD Control packets MUST be transmitted
   with source and destination addresses that are part of the subnet
   (addressed from and to interfaces on the subnet.)

   On a point-to-point link, the source address of a BFD Control packet
   MUST NOT be used to identify the session.  This means that the
   initial BFD packet MUST be accepted with any source address, and that
   subsequent BFD packets MUST be demultiplexed solely by the Your
   Discriminator field (as is always the case.)  This allows the source
   address to change if necessary.  If the received source address
   changes, the local system MUST NOT use that address as the
   destination in outgoing BFD Control packets;  rather it MUST continue
   to use the address configured at session creation.  An implementation
   MAY notify the application that the neighbor's source address has
   changed, so that the application might choose to change the
   destination address or take some other action.  Note that the TTL/Hop
   Limit check described in section 5 (or the use of authentication)
   precludes the BFD packets from having come from any source other than
   the immediate neighbor.



7. BFD for use with Tunnels

   A number of mechanisms are available to tunnel IPv4 and IPv6 over
   arbitrary topologies.  If the tunnel mechanism does not decrement the
   TTL or Hop Limit of the network protocol carried within, the
   mechanism described in this document may be used to provide liveness
   detection for the tunnel.  The BFD Authentication mechanism SHOULD be
   used and is strongly encouraged.
















Katz, Ward                                                      [Page 5]


Internet Draft     BFD for IPv4 and IPv6 (Single Hop)        March, 2008


Normative References

   [BFD] Katz, D., and Ward, D., "Bidirectional Forwarding Detection",
       draft-ietf-bfd-base-07.txt, January, 2008.

   [BFD-GENERIC] Katz, D., and Ward, D., "Generic Application of BFD",
       draft-ietf-bfd-generic-04.txt, January, 2008.

   [GTSM] Gill, V., et al, "The Generalized TTL Security Mechanism
       (GTSM)", RFC 5082, October, 2007.

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



Security Considerations

   In this application, the use of TTL=255 on transmit and receive,
   coupled with an association to an incoming interface, is viewed as
   supplying equivalent security characteristics to other protocols used
   in the infrastructure, as it is not trivially spoofable.  The
   security implications of this mechanism are further discussed in
   [GTSM].

   The security implications of the use of BFD Authentication are
   discussed in [BFD].

   The use of the TTL=255 check simultaneously with BFD Authentication
   provides a low overhead mechanism for discarding a class of
   unauthorized packets and may be useful in implementations in which
   cryptographic checksum use is susceptable to denial of service
   attacks.  The use or non-use of this mechanism does not impact
   interoperability.

















Katz, Ward                                                      [Page 6]


Internet Draft     BFD for IPv4 and IPv6 (Single Hop)        March, 2008


IANA Considerations

   This document has no actions for IANA.



Authors' Addresses

    Dave Katz
    Juniper Networks
    1194 N. Mathilda Ave.
    Sunnyvale, California 94089-1206 USA
    Phone: +1-408-745-2000
    Email: dkatz@juniper.net

    Dave Ward
    Cisco Systems
    170 W. Tasman Dr.
    San Jose, CA 95134 USA
    Phone: +1-408-526-4000
    Email: dward@cisco.com



Changes from the previous draft

   Section 6 was changed to lump all point-to-point link types together.
   Otherwise, only minor editorial changes were made.



IPR Disclaimer

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.



Katz, Ward                                                      [Page 7]


Internet Draft     BFD for IPv4 and IPv6 (Single Hop)        March, 2008


   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.



Full Copyright Notice

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.



Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.


   This document expires in September, 2008.


















Katz, Ward                                                      [Page 8]