rfc9747v1.txt | rfc9747.txt | |||
---|---|---|---|---|
skipping to change at line 190 ¶ | skipping to change at line 190 ¶ | |||
BFD Echo packets sent from device A, the one-hop-away BFD peer device | BFD Echo packets sent from device A, the one-hop-away BFD peer device | |||
B immediately loops them back by normal IP forwarding. This allows | B immediately loops them back by normal IP forwarding. This allows | |||
device A to rapidly detect a connectivity loss to device B. Note | device A to rapidly detect a connectivity loss to device B. Note | |||
that device B would not intercept any received Unaffiliated BFD Echo | that device B would not intercept any received Unaffiliated BFD Echo | |||
packet or parse any BFD protocol field within the Unaffiliated BFD | packet or parse any BFD protocol field within the Unaffiliated BFD | |||
Echo packet. | Echo packet. | |||
An Unaffiliated BFD Echo session is not actually a BFD session | An Unaffiliated BFD Echo session is not actually a BFD session | |||
because there is no coordination of BFD protocol state between the | because there is no coordination of BFD protocol state between the | |||
two link ends: the remote end does not support BFD and so cannot | two link ends: the remote end does not support BFD and so cannot | |||
engage in a BFD session. The local end as an initiator may regard | engage in a BFD session. From the standpoint of the local end (as an | |||
the Unaffiliated BFD Echo session as a BFD session from its own | initiator), the Unaffiliated BFD Echo session may be regarded as a | |||
standpoint. | BFD session. | |||
For the Unaffiliated Echo procedure, an Unaffiliated BFD Echo session | For the Unaffiliated Echo procedure, an Unaffiliated BFD Echo session | |||
is established on device A. The session MUST adhere to the BFD state | is established on device A. The session MUST adhere to the BFD state | |||
machine specified in Section 6.2 of [RFC5880], with the exception | machine specified in Section 6.2 of [RFC5880], with the exception | |||
that the received state is not derived from BFD Control packets | that the received state is not derived from BFD Control packets | |||
originating from the remote system, but rather from packets that are | originating from the remote system, but rather from packets that are | |||
generated by the local system and looped back from the remote system. | generated by the local system and looped back from the remote system. | |||
Consequently, the AdminDown state is not utilized in Unaffiliated BFD | Consequently, the AdminDown state is not utilized in Unaffiliated BFD | |||
Echo. | Echo. | |||
BFD Control packets are transmitted and received as Unaffiliated BFD | BFD Control packets are transmitted and received as Unaffiliated BFD | |||
Echo packets, using UDP destination port 3785, as defined in | Echo packets, using UDP destination port 3785, as defined in | |||
[RFC5881]. The standard procedures for BFD Asynchronous sessions are | [RFC5881]. The standard procedures for BFD Asynchronous sessions are | |||
applied to the looped BFD Control packets, including packet | applied to the looped BFD Control packets, including packet | |||
validation and authentication, in accordance with [RFC5880]. | validation and authentication, in accordance with [RFC5880]. | |||
Once an Unaffiliated BFD Echo session is created on device A, it | Once an Unaffiliated BFD Echo session is created on device A, it | |||
starts sending Unaffiliated BFD Echo packets. Unaffiliated BFD Echo | starts sending Unaffiliated BFD Echo packets. Unaffiliated BFD Echo | |||
packets with zeroed "Your Discriminator" field are demultiplexed to | packets with zeroed "Your Discriminator" field are demultiplexed to | |||
the proper session based on the source IP address or UDP source port, | the proper session based on the source IP address or UDP source port. | |||
once the remote system loops back the local discriminator, all | After the remote system loops back the local discriminator, all | |||
further received packets are demultiplexed based on the "Your | further received packets are demultiplexed based on the "Your | |||
Discriminator" field only, which is conformed to the procedure | Discriminator" field only, which conforms to the procedure specified | |||
specified in Section 6.3 of [RFC5880]. An Unaffiliated BFD Echo | in Section 6.3 of [RFC5880]. An Unaffiliated BFD Echo packet follows | |||
packet follows the same encapsulation rules as for a BFD Echo packet | the same encapsulation rules as for a BFD Echo packet as specified in | |||
as specified in Section 4 of [RFC5881]. All Unaffiliated BFD Echo | Section 4 of [RFC5881]. All Unaffiliated BFD Echo packets for the | |||
packets for the session MUST be sent with a TTL or Hop Limit value of | session MUST be sent with a TTL or Hop Limit value of 255. Received | |||
255. Received packets MUST have a TTL or Hop Limit value of 254 | packets MUST have a TTL or Hop Limit value of 254 (similar to | |||
(similar to Appendix A of [RFC5082] to verify against a configured | Appendix A of [RFC5082] to verify against a configured number of | |||
number of hops); otherwise, the received packets MUST be dropped. | hops); otherwise, the received packets MUST be dropped. | |||
In the context of an Unaffiliated BFD Echo packet, the "Desired Min | In the context of an Unaffiliated BFD Echo packet, the "Desired Min | |||
TX Interval" and "Required Min RX Interval" fields, as defined in | TX Interval" and "Required Min RX Interval" fields, as defined in | |||
[RFC5880], MUST be populated with a specific value to prevent the | [RFC5880], MUST be populated with a specific value to prevent the | |||
potential exposure of uninitialized memory. It is RECOMMENDED that | potential exposure of uninitialized memory. It is RECOMMENDED that | |||
these fields be set to a value of 1 second (1,000,000 microseconds). | these fields be set to a value of 1 second (1,000,000 microseconds). | |||
However, upon receipt, these values MUST be ignored and MUST NOT be | However, upon receipt, these values MUST be ignored and MUST NOT be | |||
used in the calculation of the Detection Time. | used in the calculation of the Detection Time. | |||
The "Required Min Echo RX Interval" field, as defined in [RFC5880], | The "Required Min Echo RX Interval" field, as defined in [RFC5880], | |||
skipping to change at line 418 ¶ | skipping to change at line 418 ¶ | |||
The 1st and 2nd paragraphs of Section 6.8.9 of [RFC5880] are updated | The 1st and 2nd paragraphs of Section 6.8.9 of [RFC5880] are updated | |||
as below: | as below: | |||
OLD TEXT | OLD TEXT | |||
| BFD Echo packets MUST NOT be transmitted when bfd.SessionState is | | BFD Echo packets MUST NOT be transmitted when bfd.SessionState is | |||
| not Up. BFD Echo packets MUST NOT be transmitted unless the last | | not Up. BFD Echo packets MUST NOT be transmitted unless the last | |||
| BFD Control packet received from the remote system contains a | | BFD Control packet received from the remote system contains a | |||
| nonzero value in Required Min Echo RX Interval. | | nonzero value in Required Min Echo RX Interval. | |||
| | ||||
| BFD Echo packets MAY be transmitted when bfd.SessionState is Up. | ||||
| The interval between transmitted BFD Echo packets MUST NOT be less | ||||
| than the value advertised by the remote system in Required Min | ||||
| Echo RX Interval, except as follows: [...] | ||||
NEW TEXT | NEW TEXT | |||
| When a system is using the Echo function with either Asynchronous | | When a system is using the Echo function with either Asynchronous | |||
| or Demand mode, BFD Echo packets MUST NOT be transmitted when | | or Demand mode, BFD Echo packets MUST NOT be transmitted when | |||
| bfd.SessionState is not Up, and BFD Echo packets MUST NOT be | | bfd.SessionState is not Up, and BFD Echo packets MUST NOT be | |||
| transmitted unless the last BFD Control packet received from the | | transmitted unless the last BFD Control packet received from the | |||
| remote system contains a nonzero value in Required Min Echo RX | | remote system contains a nonzero value in Required Min Echo RX | |||
| Interval. | | Interval. | |||
| | ||||
OLD TEXT | ||||
| BFD Echo packets MAY be transmitted when bfd.SessionState is Up. | ||||
| The interval between transmitted BFD Echo packets MUST NOT be less | ||||
| than the value advertised by the remote system in Required Min | ||||
| Echo RX Interval... | ||||
NEW TEXT | ||||
| When a system is using the Echo function with either Asynchronous | | When a system is using the Echo function with either Asynchronous | |||
| or Demand mode, BFD Echo packets MAY be transmitted when | | or Demand mode, BFD Echo packets MAY be transmitted when | |||
| bfd.SessionState is Up, and the interval between transmitted BFD | | bfd.SessionState is Up, and the interval between transmitted BFD | |||
| Echo packets MUST NOT be less than the value advertised by the | | Echo packets MUST NOT be less than the value advertised by the | |||
| remote system in Required Min Echo RX Interval... | | remote system in Required Min Echo RX Interval, except as follows: | |||
| [...] | ||||
4. Operational Considerations | 4. Operational Considerations | |||
All operational considerations from [RFC5880] apply. Since this | All operational considerations from [RFC5880] apply. Since this | |||
mechanism leverages existing BFD machinery, particularly periodic | mechanism leverages existing BFD machinery, particularly periodic | |||
pacing of traffic based on configuration, there's no real possibility | pacing of traffic based on configuration, there's no real possibility | |||
to create congestion. Moreover, creating congestion would be | to create congestion. Moreover, creating congestion would be | |||
counterproductive to check the bidirectional connectivity. | counterproductive to checking the bidirectional connectivity. | |||
Some devices that would benefit from the use of BFD may be unable to | Some devices that would benefit from the use of BFD may be unable to | |||
support the full BFD protocol. Examples of such devices include | support the full BFD protocol. Examples of such devices include | |||
servers running virtual machines, or Internet of Things (IoT) | servers running virtual machines, or Internet of Things (IoT) | |||
devices. By using Unaffiliated BFD Echo, these devices only need to | devices. By using Unaffiliated BFD Echo, these devices only need to | |||
support a basic loopback function. | support a basic loopback function. | |||
As specified in Section 2 of this document, some configuration is | As specified in Section 2 of this document, some configuration is | |||
needed to make the Unaffiliated BFD Echo work, although the | needed to make the Unaffiliated BFD Echo work, although the | |||
configuration won't go beyond the scope of [RFC5880]. At a BFD- | configuration won't go beyond the scope of [RFC5880]. At a BFD- | |||
enabled local system, the Unaffiliated BFD Echo session can coexist | enabled local system, the Unaffiliated BFD Echo session can coexist | |||
with another type of BFD session. In that scenario, the remote | with other types of BFD sessions. In that scenario, the remote | |||
system for the Unaffiliated BFD Echo session must be different from | system for the Unaffiliated BFD Echo session must be different from | |||
the remote system for the other type of BFD session, and the local | the remote system for any other type of BFD session, and the local | |||
system's discriminators for different BFD sessions must be different. | system's discriminators for different BFD sessions must be different. | |||
At the same time, it's not necessary for the local system to | At the same time, it's not necessary for the local system to | |||
differentiate the Unaffiliated BFD Echo session from the other type | differentiate the Unaffiliated BFD Echo session from the other types | |||
of BFD session. | of BFD sessions. | |||
5. Security Considerations | 5. Security Considerations | |||
All security considerations from [RFC5880] and [RFC5881] apply. | All security considerations from [RFC5880] and [RFC5881] apply. | |||
Unaffiliated BFD Echo requires the remote device to loop Unaffiliated | Unaffiliated BFD Echo requires the remote device to loop Unaffiliated | |||
BFD Echo packets. In order to provide this service, the remote | BFD Echo packets. In order to provide this service, the remote | |||
device cannot make use of Unicast Strict Reverse Path Forwarding | device cannot make use of Unicast Strict Reverse Path Forwarding | |||
(RPF) [RFC3704], otherwise the Unaffiliated BFD Echo packets might | (RPF) [RFC3704], otherwise the Unaffiliated BFD Echo packets might | |||
not pass the RPF check at the remote device. | not pass the RPF check at the remote device. | |||
skipping to change at line 524 ¶ | skipping to change at line 521 ¶ | |||
[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>. | |||
7.2. Informative References | 7.2. Informative References | |||
[BBF-TR-146] | [BBF-TR-146] | |||
Broadband Forum, "TR-146: Subscriber Sessions", Broadband | Broadband Forum, "TR-146: Subscriber Sessions", Broadband | |||
Forum Technical Report, TR-146, Issue 1, May 2013, | Forum Technical Report, TR-146, Issue 1, May 2013, | |||
<https://www.broadband-forum.org/technical/download/TR- | <https://www.broadband-forum.org/pdfs/tr-146-1-0-0.pdf>. | |||
146.pdf>. | ||||
[RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | |||
Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March | Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March | |||
2004, <https://www.rfc-editor.org/info/rfc3704>. | 2004, <https://www.rfc-editor.org/info/rfc3704>. | |||
[RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C. | [RFC5082] Gill, V., Heasley, J., Meyer, D., Savola, P., Ed., and C. | |||
Pignataro, "The Generalized TTL Security Mechanism | Pignataro, "The Generalized TTL Security Mechanism | |||
(GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007, | (GTSM)", RFC 5082, DOI 10.17487/RFC5082, October 2007, | |||
<https://www.rfc-editor.org/info/rfc5082>. | <https://www.rfc-editor.org/info/rfc5082>. | |||
End of changes. 11 change blocks. | ||||
31 lines changed or deleted | 27 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |