draft-ietf-bfd-intervals-02.txt | draft-ietf-bfd-intervals-03.txt | |||
---|---|---|---|---|
Internet Engineering Task Force N. Akiya | Internet Engineering Task Force N. Akiya | |||
Internet-Draft M. Binderberger | Internet-Draft M. Binderberger | |||
Intended status: Informational Cisco Systems | Intended status: Informational Cisco Systems | |||
Expires: January 28, 2015 G. Mirsky | Expires: February 17, 2015 G. Mirsky | |||
Ericsson | Ericsson | |||
July 27, 2014 | August 16, 2014 | |||
Common Interval Support in BFD | Common Interval Support in BFD | |||
draft-ietf-bfd-intervals-02 | draft-ietf-bfd-intervals-03 | |||
Abstract | Abstract | |||
Some BFD implementations may be restricted to only support several | BFD requires that messages are transmitted at regular intervals and | |||
interval values. When such BFD implementations speak to each other, | provides a way to negotiate the interval used by BFD peers. Some BFD | |||
there is a possibility of two sides not being able to find a common | implementations may be restricted to only support several interval | |||
interval value to run BFD sessions. | values. When such BFD implementations speak to each other, there is | |||
a possibility of two sides not being able to find a common interval | ||||
value to run BFD sessions. | ||||
This document defines a small set of interval values for BFD that we | This document defines a small set of interval values for BFD that we | |||
call "Common intervals", and recommends implementations to support | call "Common intervals", and recommends implementations to support | |||
the defined intervals. This solves the problem of finding an | the defined intervals. This solves the problem of finding an | |||
interval value that both BFD speakers can support while allowing a | interval value that both BFD speakers can support while allowing a | |||
simplified implementation as seen for hardware-based BFD. It does | simplified implementation as seen for hardware-based BFD. It does | |||
not restrict an implementation from supporting more intervals in | not restrict an implementation from supporting more intervals in | |||
addition to the Common intervals. | addition to the Common intervals. | |||
Requirements Language | Requirements Language | |||
skipping to change at page 1, line 48 | skipping to change at page 2, line 4 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on February 17, 2015. | ||||
This Internet-Draft will expire on January 28, 2015. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2014 IETF Trust and the persons identified as the | Copyright (c) 2014 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. The problem with few supported intervals . . . . . . . . . . 3 | 2. The problem with few supported intervals . . . . . . . . . . 3 | |||
3. Well-defined, common intervals . . . . . . . . . . . . . . . 3 | 3. Well-defined, common intervals . . . . . . . . . . . . . . . 4 | |||
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | |||
7.2. Informative References . . . . . . . . . . . . . . . . . 5 | 7.2. Informative References . . . . . . . . . . . . . . . . . 5 | |||
Appendix A. Why some intervals are in the common set . . . . . . 5 | Appendix A. Why some intervals are in the common set . . . . . . 5 | |||
Appendix B. Timer adjustment with non-identical interval sets . 6 | Appendix B. Timer adjustment with non-identical interval sets . 6 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
1. Introduction | 1. Introduction | |||
The standard [RFC5880] describes how to calculate the transmission | The standard [RFC5880] describes how to calculate the transmission | |||
interval and the detection time. It does not make any statement | interval and the detection time. It does not make any statement | |||
though how to solve a situation where one BFD speaker cannot support | though how to solve a situation where one BFD speaker cannot support | |||
the calculated value. In practice this may not been a problem as | the calculated value. In practice this may not been a problem as | |||
long as software-implemented timers have been used and as long as the | long as software-implemented timers have been used and as long as the | |||
granularity of such timers was small compared to the interval values | granularity of such timers was small compared to the interval values | |||
being supported, i.e. as long as the error in the timer interval was | being supported, i.e. as long as the error in the timer interval was | |||
small compared to 25 percent jitter. | small compared to 25 percent jitter. | |||
In the meantime requests exist for very fast interval values, down to | In the meantime requests exist for very fast interval values, down to | |||
3.3msec for MPLS-TP. At the same time the requested scale for the | 3.3msec for MPLS-TP. At the same time the requested scale for the | |||
number of BFD sessions in increasing. Both requirements have driven | number of BFD sessions is increasing. Both requirements have driven | |||
vendors to use Network Processors (NP), FPGAs or other hardware-based | vendors to use Network Processors (NP), FPGAs or other hardware-based | |||
solutions to offload the periodic packet transmission and the timeout | solutions to offload the periodic packet transmission and the timeout | |||
detection in the receive direction. A potential problem with this | detection in the receive direction. A potential problem with this | |||
hardware-based BFD is the granularity of the interval timers. | hardware-based BFD is the granularity of the interval timers. | |||
Depending on the implementation only a few intervals may be | Depending on the implementation only a few intervals may be | |||
supported, which can cause interoperability problems. This document | supported, which can cause interoperability problems. This document | |||
proposes a set of interval values that should be supported by all | proposes a set of interval values that should be supported by all | |||
implementations. Details are laid out in the following sections. | implementations. Details are laid out in the following sections. | |||
2. The problem with few supported intervals | 2. The problem with few supported intervals | |||
Let's assume vendor "A" supports 10msec, 100msec and 1sec interval | Let's assume vendor "A" supports 10msec, 100msec and 1sec interval | |||
timers in hardware. Vendor "B" supports every value from 20msec | timers in hardware. Vendor "B" supports every value from 20msec | |||
onward, with a granularity of 1msec. For a BFD session "A" tries to | onward, with a granularity of 1msec. For a BFD session "A" tries to | |||
skipping to change at page 4, line 19 | skipping to change at page 4, line 26 | |||
The proposed set of Common interval values is: 3.3msec, 10msec, | The proposed set of Common interval values is: 3.3msec, 10msec, | |||
20msec, 50msec, 100msec and 1sec. | 20msec, 50msec, 100msec and 1sec. | |||
In addition support for 10sec interval together with multiplier | In addition support for 10sec interval together with multiplier | |||
values up to 255 is recommended to support graceful restart. | values up to 255 is recommended to support graceful restart. | |||
The adjustment is always towards larger, i.e. slower, interval values | The adjustment is always towards larger, i.e. slower, interval values | |||
when the initial interval proposed by the peer is not supported. | when the initial interval proposed by the peer is not supported. | |||
This document is not adding new requirements with respect to how | This document is not adding new requirements with respect to the | |||
exact a timer value must be implemented. Supporting an interval | precision with which a timer value must be implemented. Supporting | |||
value means to advertise this value in the DesiredMinTxInterval and/ | an interval value means to advertise this value in the | |||
or RequiredMinRxInterval field of the BFD packets and to provide | DesiredMinTxInterval and/or RequiredMinRxInterval field of the BFD | |||
timers that are reasonably close. [RFC5880] defines safety margins | packets and to provide timers that are reasonably close. [RFC5880] | |||
for the timers by defining a jitter range. | defines safety margins for the timers by defining a jitter range. | |||
How is the "Common interval set" used exactly? In the example above, | How is the "Common interval set" used exactly? In the example above, | |||
vendor "A" has a fastest interval of 10msec and thus would be | vendor "A" has a fastest interval of 10msec and thus would be | |||
required to support all intervals in the common set that are equal or | required to support all intervals in the common set that are equal or | |||
larger than 10msec, i.e. it would support 10msec, 20msec, 50msec, | larger than 10msec, i.e. it would support 10msec, 20msec, 50msec, | |||
100msec, 1sec. Vendor "B" has a fastest interval of 20msec and thus | 100msec, 1sec. Vendor "B" has a fastest interval of 20msec and thus | |||
would need to support 20msec, 50msec, 100msec and 1sec. As long as | would need to support 20msec, 50msec, 100msec and 1sec. As long as | |||
this requirement is met for the common set of values, then both | this requirement is met for the common set of values, then both | |||
vendor "A" and "B" are free to support additional values outside of | vendor "A" and "B" are free to support additional values outside of | |||
the common set. | the common set. | |||
4. IANA Considerations | 4. IANA Considerations | |||
No request to IANA. | No request to IANA. | |||
5. Security Considerations | 5. Security Considerations | |||
This document does not introduce any additional security issues. | This document does not introduce any additional security concerns. | |||
The security considerations described in the BFD documents, [RFC5880] | ||||
and others, apply to devices implementing the BFD protocol, | ||||
regardless of whether or not the common interval set is implemented. | ||||
6. Acknowledgements | 6. Acknowledgements | |||
We would like to thank Sylvain Masse and Anca Zamfir for bringing up | We would like to thank Sylvain Masse and Anca Zamfir for bringing up | |||
the discussion about the Poll sequence, and Jeffrey Haas helped | the discussion about the Poll sequence, and Jeffrey Haas helped | |||
finding the fine line between "exact" and "pedantic". | finding the fine line between "exact" and "pedantic". | |||
7. References | 7. References | |||
7.1. Normative References | 7.1. Normative References | |||
End of changes. 12 change blocks. | ||||
21 lines changed or deleted | 24 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |