< draft-ketant-lsr-ospf-bfd-strict-mode-01.txt   draft-ketant-lsr-ospf-bfd-strict-mode-02.txt >
Link State Routing K. Talaulikar Link State Routing K. Talaulikar
Internet-Draft P. Psenak Internet-Draft P. Psenak
Intended status: Standards Track Cisco Systems, Inc. Intended status: Standards Track Cisco Systems, Inc.
Expires: September 12, 2019 March 11, 2019 Expires: January 9, 2020 July 8, 2019
OSPF BFD Strict-Mode OSPF Strict-Mode for BFD
draft-ketant-lsr-ospf-bfd-strict-mode-01 draft-ketant-lsr-ospf-bfd-strict-mode-02
Abstract Abstract
This document specifies the extensions to OSPF that enables a router This document specifies the extensions to OSPF that enables a router
and its neighbor to signal their intention to use Bidirectional and its neighbor to signal their intention to use Bidirectional
Forwarding Detection (BFD) for their adjacency using link-local Forwarding Detection (BFD) for their adjacency using link-local
advertisement between them. The signaling of this BFD enablement, advertisement between them. The signaling of this BFD enablement,
allows the router to block and not allow the establishment of allows the router to block and not allow the establishment of
adjacency with its neighbor router until a BFD session is adjacency with its neighbor router until a BFD session is
successfully established between them. The document describes this successfully established between them. The document describes this
"strict-mode" of BFD establishment as a prerequisite to OSPF OSPF "strict-mode" of BFD establishment as a prerequisite to
adjacency formation. adjacency formation.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
skipping to change at page 1, line 46 skipping to change at page 1, line 46
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 September 12, 2019. This Internet-Draft will expire on January 9, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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. LLS B-bit Flag . . . . . . . . . . . . . . . . . . . . . . . 3 2. LLS B-bit Flag . . . . . . . . . . . . . . . . . . . . . . . 3
3. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Local Interface IPv4 Address TLV . . . . . . . . . . . . . . 4
4. Operations & Management Considerations . . . . . . . . . . . 5 4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 4
5. Backward Compatibility . . . . . . . . . . . . . . . . . . . 5 4.1. OSPFv3 IPv4 Address-Family Specifics . . . . . . . . . . 6
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 4.2. Graceful Restart Considerations . . . . . . . . . . . . . 6
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. Operations & Management Considerations . . . . . . . . . . . 6
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 6. Backward Compatibility . . . . . . . . . . . . . . . . . . . 7
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
9.1. Normative References . . . . . . . . . . . . . . . . . . 6 8. Security Considerations . . . . . . . . . . . . . . . . . . . 7
9.2. Informative References . . . . . . . . . . . . . . . . . 7 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . 8
10.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
Bidirectional Forwarding Detection (BFD) [RFC5880] enables routers to Bidirectional Forwarding Detection (BFD) [RFC5880] enables routers to
monitor dataplane connectivity over links between them and to detect monitor dataplane connectivity over links between them and to detect
faults in the bidirectional path between them. This capability is faults in the bidirectional path between them. This capability is
leveraged by routing protocols like Open Shortest Path First (OSPFv2) leveraged by routing protocols like Open Shortest Path First (OSPFv2)
[RFC2328] and OSPFv3 [RFC5340] to detect connectivity failures for [RFC2328] and OSPFv3 [RFC5340] to detect connectivity failures for
their adjacencies and trigger the rerouting of traffic around this their adjacencies and trigger the rerouting of traffic around this
failure more quickly than their periodic hello messaging based failure more quickly than their periodic hello messaging based
skipping to change at page 3, line 26 skipping to change at page 3, line 29
an environment in which not all OSPF routers support BFD and are an environment in which not all OSPF routers support BFD and are
enabled for BFD monitoring. A solution would be to block the enabled for BFD monitoring. A solution would be to block the
establishment of OSPF adjacencies if both systems are willing to establishment of OSPF adjacencies if both systems are willing to
establish a BFD session but a BFD session cannot be established. establish a BFD session but a BFD session cannot be established.
Such a mode of BFD use by OSPF is referred to as "strict-mode" Such a mode of BFD use by OSPF is referred to as "strict-mode"
wherein BFD session establishment becomes a prerequisite for OSPF wherein BFD session establishment becomes a prerequisite for OSPF
adjacency coming up. adjacency coming up.
This document specifies the OSPF protocol extensions using link-local This document specifies the OSPF protocol extensions using link-local
signaling (LLS) [RFC5613] for a router to indicate to its neighbor signaling (LLS) [RFC5613] for a router to indicate to its neighbor
the willingness to establish a BFD session in the "strict-mode". the willingness to establish a BFD session in the "strict-mode". It
also introduces an extension for OSPFv3 link-local signaling of
interface IPv4 address when used for IPv4 address-family (AF)
instance to indicate to enable discovery of the IPv4 addresses for
BFD session setup.
A similar functionality for IS-IS is specified [RFC6213]. A similar functionality for IS-IS is specified [RFC6213].
2. LLS B-bit Flag 2. LLS B-bit Flag
A new B-bit is defined in the LLS Type 1 Extended Options and Flags A new B-bit is defined in the LLS Type 1 Extended Options and Flags
field. This bit is defined for the LLS block included in Hello field. This bit is defined for the LLS block included in Hello
packets and indicates that BFD is enabled on the link and that the packets and indicates that BFD is enabled on the link and that the
router supports BFD strict-mode. Section 6 describes the position of router supports BFD strict-mode. Section 7 describes the position of
this new B-bit. this new B-bit.
A router MUST include the LLS block with the LLS Type 1 Extended A router MUST include the LLS block with the LLS Type 1 Extended
Options and Flags TLV with the B-bit set its Hello messages when BFD Options and Flags TLV with the B-bit set its Hello messages when BFD
is enabled on the link. is enabled on the link.
3. Procedures 3. Local Interface IPv4 Address TLV
The Local Interface IPv4 Address TLV is a new LLS TLV meant for
OSPFv3 protocol operations for IPv4 AF instances [RFC5838]. It has
following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Local Interface IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
Type: TBD, suggested value 21
Length: 4 octet
Local Interface IPv4 Address: The primary IPv4 address of the
local interface.
4. Procedures
A router supporting BFD strict-mode advertises this capability A router supporting BFD strict-mode advertises this capability
through its hello messages as described in Section 2 above. When a through its hello messages as described in Section 2 above. When a
router supporting BFD strict-mode, detects a new neighbor router that router supporting BFD strict-mode, detects a new neighbor router that
also supports BFD strict-mode, then it proceeds to establish also supports BFD strict-mode, then it proceeds to establish
adjacency with that neighbor as described further in this section. adjacency with that neighbor as described further in this section.
This document updates the OSPF neighbor state machine as described in This document updates the OSPF neighbor state machine as described in
[RFC2328] specifically the operations related to the Init state as [RFC2328] specifically the operations related to the Init state as
below when BFD strict-mode is used: below when BFD strict-mode is used:
skipping to change at page 5, line 21 skipping to change at page 6, line 5
existing OSPF adjacency, it would result in the router setting the existing OSPF adjacency, it would result in the router setting the
B-bit in its subsequent Hello messages. If the adjacency is already B-bit in its subsequent Hello messages. If the adjacency is already
up (i.e. in its terminal state of Full or 2-way with non-DR routers up (i.e. in its terminal state of Full or 2-way with non-DR routers
on a LAN) with a neighbor that also support BFD strict-mode, then an on a LAN) with a neighbor that also support BFD strict-mode, then an
implemantion SHOULD NOT bring this adjacency down and instead use the implemantion SHOULD NOT bring this adjacency down and instead use the
BFD strict-mode of operations after the next transition into Init BFD strict-mode of operations after the next transition into Init
state. However, if the adjacency is not up, then an implementation state. However, if the adjacency is not up, then an implementation
MAY bring such an adjacency down so it can use the BFD strict-mode MAY bring such an adjacency down so it can use the BFD strict-mode
for its bring up. for its bring up.
4. Operations & Management Considerations 4.1. OSPFv3 IPv4 Address-Family Specifics
The multiple AF support in OSPFv3 [RFC5838] requires the use of IPv6
link-local address as source address for hello packets even when
forming adjacencies for IPv4 AF instances. In most deployments of
OSPFv3 IPv4 AF, it is required that BFD be used to monitor and verify
the IPv4 data plane connectivity between the routers on the link and
hence the BFD session is setup using IPv4 neighbor addresses. The
IPv4 neighbor address on the interface is learnt only later in the
adjacency formation phase when the neighbor's Link-LSA is received.
This results in the setup of the BFD session either after the
adjacency is established or much later in the adjacency formation
sequence.
To enable the BFD operations in strict-mode, it is necessary for a
router to learn it's neighbor's IPv4 link address during the Init
state of adjacency formation (ideally when it receives the first
hello). The use of the Local Interface IPv4 Address TLV (as defined
in Section 3) in the LLS block of the OSPFv3 Hello messages for IPv4
AF instances makes this possible. Implementations that support
strict-mode of BFD operations for OSPFv3 IPv4 AF instances MUST
include the Local Interface IPv4 Address TLV in the LLS block of
their hello messages whenever the B-bit is set. A receiver MUST
ignore the B-bit (i.e. not operate in BFD strict mode) unless the
Local Interface IPv4 Address TLV is present in OSPFv3 Hello message
for IPv4 AF instances.
4.2. Graceful Restart Considerations
An implementation needs to handle scenarios where both graceful
restart (GR) and the strict-mode of BFD operations are deployed
together. The GR aspects discussed in [RFC5882] also apply with
strict-mode of operations. In addition to that, since the OSPF
adjacency formation is held up until the BFD session establishment in
the strict-mode of operation, the resultant delay in adajcency
formation may affect or break the GR based recovery. In such cases,
it is RECOMMENDED that the GR timers are setup such that they provide
sufficient time to cover for normal BFD session establishment delays.
5. Operations & Management Considerations
An implementation SHOULD report the BFD session status along with the An implementation SHOULD report the BFD session status along with the
OSPF Init adjacency state when operating in BFD strict-mode and OSPF Init adjacency state when operating in BFD strict-mode and
perform logging operations on state transitions to include the BFD perform logging operations on state transitions to include the BFD
events. This allows an operator to detect scenarios where an OSPF events. This allows an operator to detect scenarios where an OSPF
adjacency may be stuck waiting for BFD session establishment. adjacency may be stuck waiting for BFD session establishment.
5. Backward Compatibility 6. Backward Compatibility
An implementation MUST support OSPF adjacency formation and An implementation MUST support OSPF adjacency formation and
operations with a neighbor router that does not advertise the BFD operations with a neighbor router that does not advertise the BFD
strict-mode capability - both when that neighbor router does not strict-mode capability - both when that neighbor router does not
support BFD and when it does support BFD but not in the strict-mode support BFD and when it does support BFD but not in the strict-mode
of operation as described in this document. Implementations MAY of operation as described in this document. Implementations MAY
provide an option to specifically enable BFD operations only in the provide an option to specifically enable BFD operations only in the
strict-mode in which case, OSPF adjacency with a neighbor that does strict-mode in which case, OSPF adjacency with a neighbor that does
not support BFD strict-mode would not be established successfully. not support BFD strict-mode would not be established successfully.
Implementations MAY provide an option to disable BFD strict-mode Implementations MAY provide an option to disable BFD strict-mode
skipping to change at page 6, line 8 skipping to change at page 7, line 33
messages from its neighbors and continue to bootstrap BFD sessions, messages from its neighbors and continue to bootstrap BFD sessions,
if enabled, without holding back the OSPF adjacency formation. Since if enabled, without holding back the OSPF adjacency formation. Since
the router which does not support this specification would not have the router which does not support this specification would not have
set the B-bit in the LLS block of its own hello messages, its set the B-bit in the LLS block of its own hello messages, its
neighbor routers that support this specification would not use BFD neighbor routers that support this specification would not use BFD
strict-mode with it. As a result, the behavior would be the same as strict-mode with it. As a result, the behavior would be the same as
before this specification. Therefore, there are no backward before this specification. Therefore, there are no backward
compatibility related issues or considerations that need to be taken compatibility related issues or considerations that need to be taken
care of when implementing this specification. care of when implementing this specification.
6. IANA Considerations 7. IANA Considerations
This specification updates Link Local Signaling TLV Identifiers This specification updates Link Local Signaling TLV Identifiers
registry. registry.
Following values are requested for allocation: Following values are requested for allocation:
o B-bit from "LLS Type 1 Extended Options and Flags" registry at bit o B-bit from "LLS Type 1 Extended Options and Flags" registry at bit
position 0x00000010. position 0x00000010.
7. Security Considerations o TBD (Suggested value 21) - Local Interface IPv4 Address TLV
8. Security Considerations
The security considerations for "OSPF Link-Local Signaling" [RFC5613] The security considerations for "OSPF Link-Local Signaling" [RFC5613]
also apply to the extension described in this document. also apply to the extension described in this document.
Inappropriate use of the B-bit in the LLS block of an OSPF hello Inappropriate use of the B-bit in the LLS block of an OSPF hello
message could prevent an OSPF adjacency from forming or lead to message could prevent an OSPF adjacency from forming or lead to
failure to detect bidirectional forwarding failures. If failure to detect bidirectional forwarding failures. If
authentication is being used in the OSPF routing domain authentication is being used in the OSPF routing domain
[RFC5709][RFC7474], then the Cryptographic Authentication TLV [RFC5709][RFC7474], then the Cryptographic Authentication TLV
[RFC5613] SHOULD also be used to protect the contents of the LLS [RFC5613] SHOULD also be used to protect the contents of the LLS
block. block.
8. Acknowledgements 9. Acknowledgements
The authors would like to acknowledge the review and inputs from Acee The authors would like to acknowledge the review and inputs from Acee
Lindem, Manish Gupta and Balaji Ganesh. Lindem, Manish Gupta, Balaji Ganesh and Rajesh M.
9. References The authors would like to acknowledge Dylan van Oudheusden for
highlighting the problems in using strict-mode for BFD session for
IPv4 AF instance with OSPFv3 and Baalajee S for his suggestions on
the approach to address it.
9.1. Normative References 10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328,
DOI 10.17487/RFC2328, April 1998, DOI 10.17487/RFC2328, April 1998,
<https://www.rfc-editor.org/info/rfc2328>. <https://www.rfc-editor.org/info/rfc2328>.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
<https://www.rfc-editor.org/info/rfc5340>. <https://www.rfc-editor.org/info/rfc5340>.
[RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. [RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D.
Yeung, "OSPF Link-Local Signaling", RFC 5613, Yeung, "OSPF Link-Local Signaling", RFC 5613,
DOI 10.17487/RFC5613, August 2009, DOI 10.17487/RFC5613, August 2009,
<https://www.rfc-editor.org/info/rfc5613>. <https://www.rfc-editor.org/info/rfc5613>.
[RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and
R. Aggarwal, "Support of Address Families in OSPFv3",
RFC 5838, DOI 10.17487/RFC5838, April 2010,
<https://www.rfc-editor.org/info/rfc5838>.
[RFC5882] Katz, D. and D. Ward, "Generic Application of [RFC5882] Katz, D. and D. Ward, "Generic Application of
Bidirectional Forwarding Detection (BFD)", RFC 5882, Bidirectional Forwarding Detection (BFD)", RFC 5882,
DOI 10.17487/RFC5882, June 2010, DOI 10.17487/RFC5882, June 2010,
<https://www.rfc-editor.org/info/rfc5882>. <https://www.rfc-editor.org/info/rfc5882>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
9.2. Informative References 10.2. Informative References
[RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M.,
Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic
Authentication", RFC 5709, DOI 10.17487/RFC5709, October Authentication", RFC 5709, DOI 10.17487/RFC5709, October
2009, <https://www.rfc-editor.org/info/rfc5709>. 2009, <https://www.rfc-editor.org/info/rfc5709>.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
<https://www.rfc-editor.org/info/rfc5880>. <https://www.rfc-editor.org/info/rfc5880>.
 End of changes. 19 change blocks. 
27 lines changed or deleted 109 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/