idnits 2.17.1 draft-ietf-bfd-v4v6-1hop-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 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.) -- Couldn't find a document date in the document -- date freshness check skipped. 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 47, but not defined == Unused Reference: 'KEYWORD' is defined on line 287, but no explicit reference was found in the text == Outdated reference: A later version (-11) exists of draft-ietf-bfd-base-00 == Outdated reference: A later version (-09) exists of draft-ietf-bfd-multihop-00 ** Obsolete normative reference: RFC 3682 (ref. 'GTSM') (Obsoleted by RFC 5082) ** Downref: Normative reference to an Informational draft: draft-ietf-isis-restart (ref. 'ISIS-GRACE') ** Obsolete normative reference: RFC 2740 (ref. 'OSPFv3') (Obsoleted by RFC 5340) Summary: 5 errors (**), 0 flaws (~~), 6 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group D. Katz 2 Internet Draft Juniper Networks 3 D. Ward 4 Cisco Systems 5 Expires: January, 2005 July, 2004 7 BFD for IPv4 and IPv6 (Single Hop) 8 draft-ietf-bfd-v4v6-1hop-00.txt 10 Status of this Memo 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet-Drafts as reference 23 material or to cite them other than as "work in progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 Copyright Notice 33 Copyright (C) The Internet Society (2004). All Rights Reserved. 35 Abstract 37 This document describes the use of the Bidirectional Forwarding 38 Detection protocol over IPv4 and IPv6 for single IP hops. It further 39 describes the use of BFD with OSPFv2, OSPFv3, and IS-IS. Comments on 40 this draft should be directed to rtg-bfd@ietf.org. 42 Conventions used in this document 44 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 45 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 46 document are to be interpreted as described in RFC-2119 [KEYWORDS]. 48 1. Introduction 50 One very desirable application for BFD [BFD] is to track IPv4 and 51 IPv6 connectivity between directly-connected systems. This could be 52 used to supplant the detection mechanisms in IS-IS and OSPF, or to 53 monitor router-host connectivity, among other applications. 55 This document describes the particulars necessary to use BFD in this 56 environment, and describes how BFD can be used in conjunction OSPFv2 57 [OSPFv2], OSPFv3 [OSPFv3], and IS-IS [ISIS]. 59 2. Applications and Limitations 61 This application of BFD can be used by any pair of systems 62 communicating via IPv4 and/or IPv6 across a single IP hop that can be 63 associated with an incoming interface. This includes, but is not 64 limited to, physical media, virtual circuits, and tunnels. 66 Each BFD session between a pair of systems MUST traverse a separate 67 path in both directions. 69 If BFD is to be used in conjunction with both IPv4 and IPv6 on a 70 particular link, a separate BFD session MUST be established for each 71 protocol (and thus encapsulated by that protocol) over that link. 73 3. Initialization and Demultiplexing 75 In this application, there will be only a single BFD session between 76 two systems over a given interface (logical or physical) for a 77 particular protocol. The BFD session must be bound to this 78 interface. As such, both sides of a session MUST take the "Active" 79 role (sending initial BFD Control packets with a zero value of Your 80 Discriminator) and any BFD packet from the remote machine with a zero 81 value of Your Discriminator MUST be associated with the session bound 82 to the remote system, interface, and protocol. 84 4. Encapsulation 86 4.1. BFD for IPv4 88 In the case of IPv4, BFD Control packets MUST be transmitted in UDP 89 packets with destination port 3784, within an IPv4 packet. The 90 source port MUST be in the range 49152 through 65535. The same UDP 91 source port number MUST be used for all BFD Control packets 92 associated with a particular session. The source port number SHOULD 93 be unique among all BFD sessions on the system. If more than 16384 94 BFD sessions are simultaneously active, UDP source port numbers MAY 95 be reused on multiple sessions, but the number of distinct uses of 96 the same UDP source port number SHOULD be minimized. An 97 implementation MAY use the UDP port source number to aid in 98 demultiplexing incoming BFD Control packets, but ultimately the 99 mechanisms in [BFD] MUST be used to demultiplex incoming packets to 100 the proper session. 102 BFD Echo packets MUST be transmitted in UDP packets with destination 103 UDP port 3785 in an IPv4 packet. The setting of the UDP source port 104 is outside the scope of this specification. The destination address 105 MUST be chosen in such a way as to cause the remote system to forward 106 the packet back to the local system. The source address MUST be 107 chosen in such a way as to preclude the remote system from generating 108 ICMP Redirect messages (in particular, the source address MUST NOT be 109 part of the subnet bound to the interface over which the BFD Echo 110 packet is being transmitted.) 112 4.2. BFD for IPv6 114 In the case of IPv6, BFD Control packets MUST be transmitted in UDP 115 packets with destination port 3784, within an IPv6 packet. The 116 source port MUST be in the range 49152 through 65535. The same UDP 117 source port number MUST be used for all BFD Control packets 118 associated with a particular session. The source port number SHOULD 119 be unique among all BFD sessions on the system. If more than 16384 120 BFD sessions are simultaneously active, UDP source port numbers MAY 121 be reused on multiple sessions, but the number of distinct uses of 122 the same UDP source port number SHOULD be minimized. An 123 implementation MAY use the UDP port source number to aid in 124 demultiplexing incoming BFD Control packets, but ultimately the 125 mechanisms in [BFD] MUST be used to demultiplex incoming packets to 126 the proper session. 128 BFD Echo packets MUST be transmitted in UDP packets with destination 129 UDP port 3785 in an IPv6 packet. The setting of the UDP source port 130 is outside the scope of this specification. The source and 131 destination addresses MUST both be associated with the local system. 132 The destination address MUST be chosen in such a way as to cause the 133 remote system to forward the packet back to the local system. 135 5. TTL/Hop Count Issues 137 All BFD Control packets for sessions operating according to this 138 specification MUST be sent with a TTL or Hop Count value of 255. All 139 received BFD Control packets that are demultiplexed to sessions 140 operating according to this specification MUST be discarded if the 141 received TTL or Hop Count is not equal to 255. A discussion of this 142 mechanism can be found in [GTSM]. 144 6. Addressing Issues 146 On a subnetted network, BFD Control packets MUST be transmitted with 147 source and destination addresses that are part of the subnet 148 (addressed from and to interfaces on the subnet.) 150 On an addressed but unsubnetted point-to-point link, BFD Control 151 packets MUST be transmitted with source and destination addresses 152 that match the addresses configured on that link. 154 On an unnumbered point-to-point link, the source address of a BFD 155 Control packet MUST NOT be used to identify the session. This means 156 that the initial BFD packet MUST be accepted with any source address, 157 and that subsequent BFD packets MUST be demultiplexed solely by the 158 My Discriminator field (as is always the case.) This allows the 159 source address to change if necessary. Note that the TTL/Hop Count 160 check described in section 5 precludes the BFD packets from having 161 come from any source other than the immediate neighbor. 163 7. BFD for use with OSPFv2, OSPFv3, and IS-IS 165 The two versions of OSPF, as well as IS-IS, all suffer from an 166 architectural limitation, namely that their Hello protocols are 167 limited in the granularity of failure their detection times. In 168 particular, OSPF has a minimum detection time of two seconds, and IS- 169 IS has a minimum detection time of one second. 171 BFD MAY be used to achieve arbitrarily small detection times for 172 these protocols by supplanting the Hello protocols used in each case. 174 7.1. Session Establishment 176 The mechanism by which a BFD session is established in this 177 environment is outside the scope of this specification. An obvious 178 choice would be to use the discovery mechanism inherent in the Hello 179 protocols in OSPF and IS-IS to bootstrap the establishment of a BFD 180 session. 182 Any BFD sessions established to support OSPF and IS-IS across a 183 single IP hop MUST operate in accordance with the rest of this 184 document. 186 If multiple routing protocols wish to establish BFD sessions with the 187 same remote system for the same data protocol, all MUST share a 188 single BFD session. 190 7.2. Session Parameters 192 The setting of the various timing parameters and modes in this 193 application are outside the scope of this specification. 195 Note that all protocols sharing a session will operate using the same 196 parameters. The mechanism for choosing the parameters among those 197 desired by the various protocols are outside the scope of this 198 specification. 200 7.3. Interactions with OSPF and IS-IS without Graceful Restart 202 When a BFD session transitions from Up to Failing, action SHOULD be 203 taken in the routing protocol to signal the lack of connectivity for 204 the data protocol (IPv4 or IPv6) over which BFD is running. If only 205 one data protocol is being advertised in the routing protocol Hello, 206 or if multiple protocols are being advertised but the protocols must 207 share a common topology, a Hello protocol timeout SHOULD be emulated 208 for the associated OSPF neighbors and/or IS-IS adjacencies. 210 If multiple data protocols are advertised in the routing protocol 211 Hello, and the routing protocol supports different topologies for 212 each data protocol, the failing data protocol SHOULD no longer be 213 advertised in Hello packets in order to signal a lack of connectivity 214 for that protocol. 216 If a BFD session never reaches Up state (possibly because the remote 217 system does not support BFD), this MUST NOT preclude the 218 establishment of an OSPF neighbor or an IS-IS adjacency. 220 7.4. Interactions with OSPF and IS-IS with Graceful Restart 222 The Graceful Restart functions in OSPF [OSPF-GRACE] and IS-IS [ISIS- 223 GRACE] are predicated on the existence of a separate forwarding plane 224 that does not necessarily share fate with the control plane in which 225 the routing protocols operate. In particular, the assumption is that 226 the forwarding plane can continue to function while the protocols 227 restart and sort things out. 229 BFD implementations announce via the Control Plane Independent (C) 230 bit whether or not BFD shares fate with the control plane. This 231 information is used to determine the actions to be taken in 232 conjunction with Graceful Restart. 234 If BFD does not share its fate with the control plane on either 235 system, it can be used to determine whether Graceful Restart is NOT 236 viable (the forwarding plane is not operating.) In this situation, 237 if a BFD session fails while graceful restart is taking place, and 238 BFD is independent of the control plane on the local system, and the 239 remote system has been transmitting BFD Control packets with the C 240 bit set, the graceful restart SHOULD be aborted and the topology 241 change made visible to the network as outlined in section 7.3. 243 If BFD shares its fate with the control plane on either system 244 (either the local system shares fate with the control plane, or the 245 remote system is transmitting BFD packets with the C bit set to 246 zero), it is not useful during graceful restart, as the BFD session 247 is likely to fail regardless of the state of the forwarding plane. 248 In this situation, if a BFD session fails while graceful restart is 249 taking place (or if the BFD session failure triggers a graceful 250 restart event), the graceful restart SHOULD be allowed to complete 251 and the topology change should not be made visible to the network as 252 outlined in section 7.3. 254 7.5. OSPF Virtual Links 256 If it is desired to use BFD for failure detction of OSPF Virtual 257 Links, the mechanism described in [BFD-MULTI] MUST be used, since 258 OSPF Virtual Links may traverse an arbitrary number of hops. BFD 259 Authentication SHOULD be used and is strongly encouraged. 261 8. BFD for use with Tunnels 263 A number of mechanisms are available to tunnel IPv4 and IPv6 over 264 arbitrary topologies. If the tunnel mechanism does not decrement the 265 TTL or hop count of the network protocol carried within, the 266 mechanism described in this document may be used to provide liveness 267 detection for the tunnel. The BFD Authentication mechanism SHOULD be 268 used and is strongly encouraged. 270 Normative References 272 [BFD] Katz, D., and Ward, D., "Bidirectional Forwarding Detection", 273 draft-ietf-bfd-base-00.txt, July, 2004. 275 [BFD-MULTI] Katz, D., and Ward, D., "BFD for Multihop Paths", draft- 276 ietf-bfd-multihop-00.txt, July, 2004. 278 [GTSM] Gill, V., et al, "The Generalized TTL Security Mechanism 279 (GTSM)", RFC 3682, February 2004. 281 [ISIS] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual 282 environments", RFC 1195, December 1990. 284 [ISIS-GRACE] Shand, M., and Ginsberg, L., "Restart signaling for IS- 285 IS", draft-ietf-isis-restart-05.txt, January 2004. 287 [KEYWORD] Bradner, S., "Key words for use in RFCs to Indicate 288 Requirement Levels", RFC 2119, March 1997. 290 [OSPFv2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 292 [OSPFv3] Coltun, R., et al, "OSPF for IPv6", RFC 2740, December 1999. 294 [OSPF-GRACE] Moy, J., et al, "Graceful OSPF Restart", RFC 3623, 295 November 2003. 297 Security Considerations 299 In this application, the use of TTL=255 on transmit and receive is 300 viewed as supplying equivalent security characteristics to other 301 protocols used in the infrastructure, as it is not trivially 302 spoofable. The security implications of this mechanism are further 303 discussed in the GTSM specification. 305 The security implications of the use of BFD Authentication are 306 discussed in the base BFD specification. 308 Authors' Addresses 310 Dave Katz 311 Juniper Networks 312 1194 N. Mathilda Ave. 313 Sunnyvale, California 94089-1206 USA 314 Phone: +1-408-745-2000 315 Email: dkatz@juniper.net 317 Dave Ward 318 Cisco Systems 319 170 W. Tasman Dr. 320 San Jose, CA 95134 USA 321 Phone: +1-408-526-4000 322 Email: dward@cisco.com 324 Changes from the previous draft 326 The only significant changes to this version are the addition of 327 language describing tunnels and OSPF virtual links. All other 328 changes are editorial in nature. 330 Full Copyright Notice 332 Copyright (C) The Internet Society (2004). All Rights Reserved. 334 This document and translations of it may be copied and furnished to 335 others, and derivative works that comment on or otherwise explain it 336 or assist in its implementation may be prepared, copied, published 337 and distributed, in whole or in part, without restriction of any 338 kind, provided that the above copyright notice and this paragraph are 339 included on all such copies and derivative works. However, this 340 document itself may not be modified in any way, such as by removing 341 the copyright notice or references to the Internet Society or other 342 Internet organizations, except as needed for the purpose of 343 developing Internet standards in which case the procedures for 344 copyrights defined in the Internet Standards process must be 345 followed, or as required to translate it into languages other than 346 English. 348 The limited permissions granted above are perpetual and will not be 349 revoked by the Internet Society or its successors or assigns. 351 This document and the information contained herein is provided on an 352 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 353 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 354 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 355 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 356 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." 358 Acknowledgement 360 Funding for the RFC Editor function is currently provided by the 361 Internet Society.