draft-ietf-bfd-multihop-08.txt | draft-ietf-bfd-multihop-09.txt | |||
---|---|---|---|---|
Network Working Group D. Katz | Network Working Group D. Katz | |||
Internet Draft Juniper Networks | Internet Draft Juniper Networks | |||
Intended status: Proposed Standard D. Ward | Intended status: Proposed Standard D. Ward | |||
Cisco Systems | Juniper Networks | |||
Expires: April, 2010 October 16, 2009 | Expires: July, 2010 January 5, 2010 | |||
BFD for Multihop Paths | BFD for Multihop Paths | |||
draft-ietf-bfd-multihop-08.txt | draft-ietf-bfd-multihop-09.txt | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 2, line 30 | skipping to change at page 2, line 30 | |||
method for liveness detection of arbitrary paths between systems. | method for liveness detection of arbitrary paths between systems. | |||
The BFD one-hop specification [BFD-1HOP] describes how to use BFD | The BFD one-hop specification [BFD-1HOP] describes how to use BFD | |||
across single hops of IPv4 and IPv6. | across single hops of IPv4 and IPv6. | |||
BFD can also be useful on arbitrary paths between systems, which may | BFD can also be useful on arbitrary paths between systems, which may | |||
span multiple network hops and follow unpredictable paths. | span multiple network hops and follow unpredictable paths. | |||
Furthermore, a pair of systems may have multiple paths between them | Furthermore, a pair of systems may have multiple paths between them | |||
that may overlap. This document describes methods for using BFD in | that may overlap. This document describes methods for using BFD in | |||
such scenarios. | such scenarios. | |||
2. Issues | 2. Applicability | |||
Please note that BFD is intended as a connectivity check/connection | ||||
verification OAM mechanism. It is applicable for network-based | ||||
services (e.g. router-to-router, subscriber-to-gateway, LSP/circuit | ||||
endpoints and service appliance failure detection). In these | ||||
scenarios it is required that the operator correctly provision the | ||||
rates at which BFD is transmitted to avoid congestion (e.g link, I/O, | ||||
CPU) and false failure detection. It is not applicable for | ||||
application-to-application failure detection across the Internet | ||||
because it does not have sufficient capability to do necessary | ||||
congestion detection and avoidance and therefore cannot prevent | ||||
congestion collapse. Host-to-host or application-to-application | ||||
deployment across the Internet will require the encapsulation of BFD | ||||
within a transport that provides "TCP-friendly" [TFRC] behavior. | ||||
3. Issues | ||||
There are three primary issues in the use of BFD for multihop paths. | There are three primary issues in the use of BFD for multihop paths. | |||
The first is security and spoofing; [BFD-1HOP] describes a | The first is security and spoofing; [BFD-1HOP] describes a | |||
lightweight method of avoiding spoofing by requiring a TTL/hop limit | lightweight method of avoiding spoofing by requiring a TTL/hop limit | |||
of 255 on both transmit and receive, but this obviously does not work | of 255 on both transmit and receive, but this obviously does not work | |||
across multiple hops. The utilization of BFD authentication | across multiple hops. The utilization of BFD authentication | |||
addresses this issue. | addresses this issue. | |||
The second, more subtle issue is that of demultiplexing multiple BFD | The second, more subtle issue is that of demultiplexing multiple BFD | |||
sessions between the same pair of systems to the proper BFD session. | sessions between the same pair of systems to the proper BFD session. | |||
skipping to change at page 3, line 16 | skipping to change at page 3, line 34 | |||
traverse independent physical or logical links--the first packet is | traverse independent physical or logical links--the first packet is | |||
demultiplexed based on the link over which it was received. In the | demultiplexed based on the link over which it was received. In the | |||
more general case, this scheme cannot work, as two paths over which | more general case, this scheme cannot work, as two paths over which | |||
BFD is running may overlap to an arbitrary degree (including the | BFD is running may overlap to an arbitrary degree (including the | |||
first and/or last hop.) | first and/or last hop.) | |||
Finally, the Echo function MUST NOT be used over multiple hops. | Finally, the Echo function MUST NOT be used over multiple hops. | |||
Intermediate hops would route the packets back to the sender, and | Intermediate hops would route the packets back to the sender, and | |||
connectivity through the entire path would not be possible to verify. | connectivity through the entire path would not be possible to verify. | |||
3. Demultiplexing Packets | 4. Demultiplexing Packets | |||
There are a number of possibilities for addressing the demultiplexing | There are a number of possibilities for addressing the demultiplexing | |||
issue which may be used, depending on the application. | issue which may be used, depending on the application. | |||
3.1. Totally Arbitrary Paths | 4.1. Totally Arbitrary Paths | |||
It may be desired to use BFD for liveness detection over paths for | It may be desired to use BFD for liveness detection over paths for | |||
which no part of the route is known (or if known, may not be stable.) | which no part of the route is known (or if known, may not be stable.) | |||
A straightforward approach to this problem is to limit BFD deployment | A straightforward approach to this problem is to limit BFD deployment | |||
to a single session between a source/destination address pair. | to a single session between a source/destination address pair. | |||
Multiple sessions between the same pair of systems must have at least | Multiple sessions between the same pair of systems must have at least | |||
one endpoint address distinct from one another. | one endpoint address distinct from one another. | |||
In this scenario, the initial packet is demultiplexed to the | In this scenario, the initial packet is demultiplexed to the | |||
appropriate BFD session based on the source/destination address pair | appropriate BFD session based on the source/destination address pair | |||
when Your Discriminator is set to zero. | when Your Discriminator is set to zero. | |||
This approach is appropriate for general connectivity detection | This approach is appropriate for general connectivity detection | |||
between systems over routed paths, and is also useful for OSPF | between systems over routed paths, and is also useful for OSPF | |||
Virtual Links [OSPFv2] [OSPFv3]. | Virtual Links [OSPFv2] [OSPFv3]. | |||
3.2. Out-of-band Discriminator Signaling | 4.2. Out-of-band Discriminator Signaling | |||
Another approach to the demultiplexing problem is to signal the | Another approach to the demultiplexing problem is to signal the | |||
discriminator values in each direction through an out-of-band | discriminator values in each direction through an out-of-band | |||
mechanism prior to establishing the BFD session. Once learned, the | mechanism prior to establishing the BFD session. Once learned, the | |||
discriminators are sent as usual in the BFD Control packets; no | discriminators are sent as usual in the BFD Control packets; no | |||
packets with Your Discriminator set to zero are ever sent. This | packets with Your Discriminator set to zero are ever sent. This | |||
method is used by the BFD MPLS specification [BFD-MPLS]. | method is used by the BFD MPLS specification [BFD-MPLS]. | |||
This approach is advantageous because it allows BFD to be directed by | This approach is advantageous because it allows BFD to be directed by | |||
other system components that have knowledge of the paths in use, and | other system components that have knowledge of the paths in use, and | |||
from the perspective of BFD implementation it is very simple. | from the perspective of BFD implementation it is very simple. | |||
The disadvantage is that it requires at least some level of BFD- | The disadvantage is that it requires at least some level of BFD- | |||
specific knowledge in parts of the system outside of BFD. | specific knowledge in parts of the system outside of BFD. | |||
3.3. Unidirectional Links | 4.3. Unidirectional Links | |||
Unidirectional links are classified as multihop paths because the | Unidirectional links are classified as multihop paths because the | |||
return path (which should exist at some level in order to make the | return path (which should exist at some level in order to make the | |||
link useful) may be arbitrary, and the return paths for BFD sessions | link useful) may be arbitrary, and the return paths for BFD sessions | |||
protecting parallel unidirectional links may overlap or even be | protecting parallel unidirectional links may overlap or even be | |||
identical. (If two unidirectional links, one in each direction, are | identical. (If two unidirectional links, one in each direction, are | |||
to carry a single BFD session, this can be done using the single-hop | to carry a single BFD session, this can be done using the single-hop | |||
approach.) | approach.) | |||
Either of the two methods outlined earlier may be used in the | Either of the two methods outlined earlier may be used in the | |||
skipping to change at page 5, line 5 | skipping to change at page 5, line 9 | |||
In the Passive role, by definition, the Unidirectional Receiver does | In the Passive role, by definition, the Unidirectional Receiver does | |||
not transmit any BFD Control packets until it learns the | not transmit any BFD Control packets until it learns the | |||
discriminator value in use by the other system (upon receipt of the | discriminator value in use by the other system (upon receipt of the | |||
first BFD Control packet.) The Unidirectional Receiver demultiplexes | first BFD Control packet.) The Unidirectional Receiver demultiplexes | |||
the first packet to the proper BFD session based on the physical or | the first packet to the proper BFD session based on the physical or | |||
logical link over which was received. This allows the receiver to | logical link over which was received. This allows the receiver to | |||
learn the remote discriminator value, which it then echoes back to | learn the remote discriminator value, which it then echoes back to | |||
the sender in its own (arbitrarily routed) BFD Control packet, after | the sender in its own (arbitrarily routed) BFD Control packet, after | |||
which time all packets are demultiplexed solely by discriminator. | which time all packets are demultiplexed solely by discriminator. | |||
4. Encapsulation | 5. Encapsulation | |||
The encapsulation of BFD Control packets for multihop application in | The encapsulation of BFD Control packets for multihop application in | |||
IPv4 and IPv6 is identical to that defined in [BFD-1HOP], except that | IPv4 and IPv6 is identical to that defined in [BFD-1HOP], except that | |||
the UDP destination port MUST have a value of 4784. This can aid in | the UDP destination port MUST have a value of 4784. This can aid in | |||
the demultiplexing and internal routing of incoming BFD packets. | the demultiplexing and internal routing of incoming BFD packets. | |||
5. Authentication | 6. Authentication | |||
By their nature, multihop paths expose BFD to spoofing. As the | By their nature, multihop paths expose BFD to spoofing. As the | |||
number of hops increase, the exposure to attack grows. As such, | number of hops increase, the exposure to attack grows. As such, | |||
implementations of BFD SHOULD utilize cryptographic authentication | implementations of BFD SHOULD utilize cryptographic authentication | |||
over multihop paths to help mitigate denial-of-service attacks. | over multihop paths to help mitigate denial-of-service attacks. | |||
Normative References | Normative References | |||
[BFD] Katz, D., and Ward, D., "Bidirectional Forwarding Detection", | [BFD] Katz, D., and Ward, D., "Bidirectional Forwarding Detection", | |||
draft-ietf-bfd-base-10.txt, October, 2009. | draft-ietf-bfd-base-10.txt, January, 2010. | |||
[BFD-1HOP] Katz, D., and Ward, D., "BFD for IPv4 and IPv6 (Single | [BFD-1HOP] Katz, D., and Ward, D., "BFD for IPv4 and IPv6 (Single | |||
Hop)", draft-ietf-bfd-v4v6-1hop-10.txt, October, 2009. | Hop)", draft-ietf-bfd-v4v6-1hop-11.txt, January, 2010. | |||
[KEYWORD] Bradner, S., "Key words for use in RFCs to Indicate | [KEYWORD] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", RFC 2119, March 1997. | Requirement Levels", RFC 2119, March 1997. | |||
Informative References | Informative References | |||
[BFD-MPLS] Aggarwal, R., Kompella, K., et al, "BFD for MPLS LSPs", | [BFD-MPLS] Aggarwal, R., Kompella, K., et al, "BFD for MPLS LSPs", | |||
draft-ietf-bfd-mpls-07.txt, June, 2008. | draft-ietf-bfd-mpls-07.txt, June, 2008. | |||
[OSPFv2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. | [OSPFv2] Moy, J., "OSPF Version 2", RFC 2328, April 1998. | |||
[OSPFv3] Coltun, R., et al, "OSPF for IPv6", RFC 2740, December 1999. | [OSPFv3] Coltun, R., et al, "OSPF for IPv6", RFC 2740, December 1999. | |||
[TFRC] Floyd, S., et al, "TCP Friendly Rate Control (TFRC): Protocol | ||||
Specification", RFC 5348, September, 2008. | ||||
Security Considerations | Security Considerations | |||
As the number of hops increases, BFD becomes further exposed to | As the number of hops increases, BFD becomes further exposed to | |||
attack. The use of strong forms of authentication is strongly | attack. The use of strong forms of authentication is strongly | |||
encouraged. | encouraged. | |||
No additional security issues are raised in this document beyond | No additional security issues are raised in this document beyond | |||
those that exist in the referenced BFD documents. | those that exist in the referenced BFD documents. | |||
IANA Considerations | IANA Considerations | |||
skipping to change at page 6, line 28 | skipping to change at page 6, line 40 | |||
Authors' Addresses | Authors' Addresses | |||
Dave Katz | Dave Katz | |||
Juniper Networks | Juniper Networks | |||
1194 N. Mathilda Ave. | 1194 N. Mathilda Ave. | |||
Sunnyvale, California 94089-1206 USA | Sunnyvale, California 94089-1206 USA | |||
Phone: +1-408-745-2000 | Phone: +1-408-745-2000 | |||
Email: dkatz@juniper.net | Email: dkatz@juniper.net | |||
Dave Ward | Dave Ward | |||
Cisco Systems | Juniper Networks | |||
170 W. Tasman Dr. | 1194 N. Mathilda Ave. | |||
San Jose, CA 95134 USA | Sunnyvale, California 94089-1206 USA | |||
Phone: +1-408-526-4000 | Phone: +1-408-745-2000 | |||
Email: dward@cisco.com | Email: dward@juniper.net | |||
Changes from the previous draft | Changes from the previous draft | |||
The fact that the port number was assigned by IANA was added. All | An applicability section was added. All other changes are editorial | |||
other changes are editorial in nature. | in nature. | |||
This document expires in April, 2010. | This document expires in July, 2010. | |||
End of changes. 15 change blocks. | ||||
19 lines changed or deleted | 38 lines changed or added | |||
This html diff was produced by rfcdiff 1.37b. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |