idnits 2.17.1 draft-ietf-bfd-multihop-09.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Sep 2009 rather than the newer Notice from 28 Dec 2009. (See https://trustee.ietf.org/license-info/) Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (January 5, 2010) is 5218 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'KEYWORDS' is mentioned on line 58, but not defined == Unused Reference: 'KEYWORD' is defined on line 208, but no explicit reference was found in the text == Outdated reference: A later version (-11) exists of draft-ietf-bfd-base-10 -- Obsolete informational reference (is this intentional?): RFC 2740 (ref. 'OSPFv3') (Obsoleted by RFC 5340) Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Katz 3 Internet Draft Juniper Networks 4 Intended status: Proposed Standard D. Ward 5 Juniper Networks 6 Expires: July, 2010 January 5, 2010 8 BFD for Multihop Paths 9 draft-ietf-bfd-multihop-09.txt 11 Status of this Memo 13 This Internet-Draft is submitted to IETF in full conformance with the 14 provisions of BCP 78 and BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/1id-abstracts.html 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html 32 Copyright Notice 34 Copyright (c) 2009 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (http://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. Code Components extracted from this document must 43 include Simplified BSD License text as described in Section 4.e of 44 the Trust Legal Provisions and are provided without warranty as 45 described in the BSD License. 47 Abstract 49 This document describes the use of the Bidirectional Forwarding 50 Detection protocol (BFD) over multihop paths, including 51 unidirectional links. 53 Conventions used in this document 55 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 56 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 57 document are to be interpreted as described in RFC-2119 [KEYWORDS]. 59 1. Introduction 61 The Bidirectional Forwarding Detection (BFD) protocol [BFD] defines a 62 method for liveness detection of arbitrary paths between systems. 63 The BFD one-hop specification [BFD-1HOP] describes how to use BFD 64 across single hops of IPv4 and IPv6. 66 BFD can also be useful on arbitrary paths between systems, which may 67 span multiple network hops and follow unpredictable paths. 68 Furthermore, a pair of systems may have multiple paths between them 69 that may overlap. This document describes methods for using BFD in 70 such scenarios. 72 2. Applicability 74 Please note that BFD is intended as a connectivity check/connection 75 verification OAM mechanism. It is applicable for network-based 76 services (e.g. router-to-router, subscriber-to-gateway, LSP/circuit 77 endpoints and service appliance failure detection). In these 78 scenarios it is required that the operator correctly provision the 79 rates at which BFD is transmitted to avoid congestion (e.g link, I/O, 80 CPU) and false failure detection. It is not applicable for 81 application-to-application failure detection across the Internet 82 because it does not have sufficient capability to do necessary 83 congestion detection and avoidance and therefore cannot prevent 84 congestion collapse. Host-to-host or application-to-application 85 deployment across the Internet will require the encapsulation of BFD 86 within a transport that provides "TCP-friendly" [TFRC] behavior. 88 3. Issues 90 There are three primary issues in the use of BFD for multihop paths. 91 The first is security and spoofing; [BFD-1HOP] describes a 92 lightweight method of avoiding spoofing by requiring a TTL/hop limit 93 of 255 on both transmit and receive, but this obviously does not work 94 across multiple hops. The utilization of BFD authentication 95 addresses this issue. 97 The second, more subtle issue is that of demultiplexing multiple BFD 98 sessions between the same pair of systems to the proper BFD session. 99 In particular, the first BFD packet received for a session may carry 100 a Your Discriminator value of zero, resulting in ambiguity as to 101 which session the packet should be associated. Once the 102 discriminator values have been exchanged, all further packets are 103 demultiplexed to the proper BFD session solely by the contents of the 104 Your Discriminator field. 106 [BFD-1HOP] addresses this by requiring that multiple sessions 107 traverse independent physical or logical links--the first packet is 108 demultiplexed based on the link over which it was received. In the 109 more general case, this scheme cannot work, as two paths over which 110 BFD is running may overlap to an arbitrary degree (including the 111 first and/or last hop.) 113 Finally, the Echo function MUST NOT be used over multiple hops. 114 Intermediate hops would route the packets back to the sender, and 115 connectivity through the entire path would not be possible to verify. 117 4. Demultiplexing Packets 119 There are a number of possibilities for addressing the demultiplexing 120 issue which may be used, depending on the application. 122 4.1. Totally Arbitrary Paths 124 It may be desired to use BFD for liveness detection over paths for 125 which no part of the route is known (or if known, may not be stable.) 126 A straightforward approach to this problem is to limit BFD deployment 127 to a single session between a source/destination address pair. 128 Multiple sessions between the same pair of systems must have at least 129 one endpoint address distinct from one another. 131 In this scenario, the initial packet is demultiplexed to the 132 appropriate BFD session based on the source/destination address pair 133 when Your Discriminator is set to zero. 135 This approach is appropriate for general connectivity detection 136 between systems over routed paths, and is also useful for OSPF 137 Virtual Links [OSPFv2] [OSPFv3]. 139 4.2. Out-of-band Discriminator Signaling 141 Another approach to the demultiplexing problem is to signal the 142 discriminator values in each direction through an out-of-band 143 mechanism prior to establishing the BFD session. Once learned, the 144 discriminators are sent as usual in the BFD Control packets; no 145 packets with Your Discriminator set to zero are ever sent. This 146 method is used by the BFD MPLS specification [BFD-MPLS]. 148 This approach is advantageous because it allows BFD to be directed by 149 other system components that have knowledge of the paths in use, and 150 from the perspective of BFD implementation it is very simple. 152 The disadvantage is that it requires at least some level of BFD- 153 specific knowledge in parts of the system outside of BFD. 155 4.3. Unidirectional Links 157 Unidirectional links are classified as multihop paths because the 158 return path (which should exist at some level in order to make the 159 link useful) may be arbitrary, and the return paths for BFD sessions 160 protecting parallel unidirectional links may overlap or even be 161 identical. (If two unidirectional links, one in each direction, are 162 to carry a single BFD session, this can be done using the single-hop 163 approach.) 165 Either of the two methods outlined earlier may be used in the 166 Unidirectional link case, but a more general solution can be done 167 strictly within BFD and without addressing limitations. 169 The approach is similar to the one-hop specification, since the 170 unidirectional link is a single hop. Let's define the two systems as 171 the Unidirectional Sender and the Unidirectional Receiver. In this 172 approach the Unidirectional Sender MUST operate in the Active role 173 (as defined in the base BFD specification), and the Unidirectional 174 Receiver MUST operate in the Passive role. 176 In the Passive role, by definition, the Unidirectional Receiver does 177 not transmit any BFD Control packets until it learns the 178 discriminator value in use by the other system (upon receipt of the 179 first BFD Control packet.) The Unidirectional Receiver demultiplexes 180 the first packet to the proper BFD session based on the physical or 181 logical link over which was received. This allows the receiver to 182 learn the remote discriminator value, which it then echoes back to 183 the sender in its own (arbitrarily routed) BFD Control packet, after 184 which time all packets are demultiplexed solely by discriminator. 186 5. Encapsulation 188 The encapsulation of BFD Control packets for multihop application in 189 IPv4 and IPv6 is identical to that defined in [BFD-1HOP], except that 190 the UDP destination port MUST have a value of 4784. This can aid in 191 the demultiplexing and internal routing of incoming BFD packets. 193 6. Authentication 195 By their nature, multihop paths expose BFD to spoofing. As the 196 number of hops increase, the exposure to attack grows. As such, 197 implementations of BFD SHOULD utilize cryptographic authentication 198 over multihop paths to help mitigate denial-of-service attacks. 200 Normative References 202 [BFD] Katz, D., and Ward, D., "Bidirectional Forwarding Detection", 203 draft-ietf-bfd-base-10.txt, January, 2010. 205 [BFD-1HOP] Katz, D., and Ward, D., "BFD for IPv4 and IPv6 (Single 206 Hop)", draft-ietf-bfd-v4v6-1hop-11.txt, January, 2010. 208 [KEYWORD] Bradner, S., "Key words for use in RFCs to Indicate 209 Requirement Levels", RFC 2119, March 1997. 211 Informative References 213 [BFD-MPLS] Aggarwal, R., Kompella, K., et al, "BFD for MPLS LSPs", 214 draft-ietf-bfd-mpls-07.txt, June, 2008. 216 [OSPFv2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 218 [OSPFv3] Coltun, R., et al, "OSPF for IPv6", RFC 2740, December 1999. 220 [TFRC] Floyd, S., et al, "TCP Friendly Rate Control (TFRC): Protocol 221 Specification", RFC 5348, September, 2008. 223 Security Considerations 225 As the number of hops increases, BFD becomes further exposed to 226 attack. The use of strong forms of authentication is strongly 227 encouraged. 229 No additional security issues are raised in this document beyond 230 those that exist in the referenced BFD documents. 232 IANA Considerations 234 Port 4784 has been assigned by IANA for use with this protocol. 236 Authors' Addresses 238 Dave Katz 239 Juniper Networks 240 1194 N. Mathilda Ave. 241 Sunnyvale, California 94089-1206 USA 242 Phone: +1-408-745-2000 243 Email: dkatz@juniper.net 245 Dave Ward 246 Juniper Networks 247 1194 N. Mathilda Ave. 248 Sunnyvale, California 94089-1206 USA 249 Phone: +1-408-745-2000 250 Email: dward@juniper.net 252 Changes from the previous draft 254 An applicability section was added. All other changes are editorial 255 in nature. 257 This document expires in July, 2010.