rfc9687v2.txt   rfc9687.txt 
Internet Engineering Task Force (IETF) J. Snijders Internet Engineering Task Force (IETF) J. Snijders
Request for Comments: 9687 Fastly Request for Comments: 9687 Fastly
Updates: 4271 B. Cartwright-Cox Updates: 4271 B. Cartwright-Cox
Category: Standards Track Port 179 Category: Standards Track Port 179
ISSN: 2070-1721 Y. Qu ISSN: 2070-1721 Y. Qu
Futurewei Futurewei
October 2024 November 2024
Border Gateway Protocol 4 (BGP-4) Send Hold Timer Border Gateway Protocol 4 (BGP-4) Send Hold Timer
Abstract Abstract
This document defines the SendHoldTimer, along with the This document defines the SendHoldTimer, along with the
SendHoldTimer_Expires event, for the Border Gateway Protocol (BGP) SendHoldTimer_Expires event, for the Border Gateway Protocol (BGP)
Finite State Machine (FSM). Implementation of the SendHoldTimer Finite State Machine (FSM). Implementation of the SendHoldTimer
helps overcome situations where a BGP connection is not terminated helps overcome situations where a BGP connection is not terminated
after the local system detects that the remote system is not after the local system detects that the remote system is not
skipping to change at line 119 skipping to change at line 119
In implementations lacking the concept of a SendHoldTimer, a In implementations lacking the concept of a SendHoldTimer, a
malfunctioning or overwhelmed remote speaker may cause data on the malfunctioning or overwhelmed remote speaker may cause data on the
BGP socket in the local system to accumulate ad infinitum. This BGP socket in the local system to accumulate ad infinitum. This
could result in forwarding failure and traffic loss, as the could result in forwarding failure and traffic loss, as the
overwhelmed speaker continues to utilize stale routes. overwhelmed speaker continues to utilize stale routes.
An example fault state: as BGP runs over TCP [RFC9293], it is An example fault state: as BGP runs over TCP [RFC9293], it is
possible for a BGP speaker in the Established state to encounter a possible for a BGP speaker in the Established state to encounter a
BGP speaker that is advertising a TCP Receive Window (RCV.WND) of BGP speaker that is advertising a TCP Receive Window (RCV.WND) of
size zero. This 0 window prevents the local system from sending size zero. The size zero of this window prevents the local system
KEEPALIVE, UPDATE, or any other critical BGP messages across the from sending KEEPALIVE, UPDATE, or any other critical BGP messages
network socket to the remote speaker. across the network socket to the remote speaker.
Generally BGP implementations have no visibility into lower-layer Generally BGP implementations have no visibility into lower-layer
subsystems such as TCP or the speaker's current Receive Window size, subsystems such as TCP or the speaker's current Receive Window size,
and there is no existing BGP mechanism for such a blocked connection and there is no existing BGP mechanism for such a blocked connection
to be recognized. Hence BGP implementations are not able to handle to be recognized. Hence BGP implementations are not able to handle
this situation in a consistent fashion. this situation in a consistent fashion.
The primary issue that arises when a BGP speaker is unable to send a The primary issue that arises when a BGP speaker is unable to send a
BGP message to a remote speaker is that the affected speaker may end BGP message to a remote speaker is that the affected speaker may end
up operating with outdated routing information. Failure of the BGP up operating with outdated routing information. Failure of the BGP
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.48.