Network Working Group T. Graf
Internet-Draft Swisscom
Intended status: Standards Track P. Lucente
Expires: August 26, 2021 NTT
P. Francois
INSA-Lyon
Y. Gu
Huawei
February 22, 2021
BMP (BGP Monitoring Protocol) Seamless Session
draft-tppy-bmp-seamless-session-00
Abstract
This document describes an optional BMP session lifecycle extension
to prevent data duplication of previously exported messages when TCP
session is re-established. It prevents loss of messages between TCP
session re-establishments and increase overall BMP scalability.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 26, 2021.
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
Graf, et al. Expires August 26, 2021 [Page 1]
Internet-Draft BMP Seamless Session February 2021
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. BMP Client and Server Capability . . . . . . . . . . . . . . 3
5. Updated BMP Session Lifecycle . . . . . . . . . . . . . . . . 3
6. Security Considerations . . . . . . . . . . . . . . . . . . . 4
7. Operational Considerations . . . . . . . . . . . . . . . . . 4
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
With the constant increase of BGP paths, the increase of BMP BGP RIB
coverage from RFC8671 [RFC8671] and draft-ietf-grow-bmp-local-rib
[I-D.ietf-grow-bmp-local-rib], the addition of new TLVs such as
draft-cppy-grow-bmp-path-marking-tlv
[I-D.cppy-grow-bmp-path-marking-tlv] and draft-xu-grow-bmp-route-
policy-attr-trace [I-D.xu-grow-bmp-route-policy-attr-trace], more BMP
messages and BGP contexts, such as peering, route-policy or RIB, are
exported from BMP client to server.
With each BMP session re-establishment, clients export the initial
BGP RIB via BMP route-monitoring messages as described in section 5
of RFC7854 [RFC7854]. Regardless if the same messages were already
exported in a previous BMP session or not. This leads to data
duplication and unnecessary strain of the BMP client and server.
In a network most times BMP sessions are re-established within a
short period of time due to connectivity interruption between BMP
client and server or restart of the BMP server due to maintenance.
Even though most BMP client implementations support a BMP buffering
mechanism, messages are not buffered across BMP session re-
establishment, thus leading to a loss of messages.
Therefore, the proposed BMP session lifecycle improvement covers
o Brief loss of connectivity between BMP client and server
o Seamless Maintenance of BMP server
Graf, et al. Expires August 26, 2021 [Page 2]
Internet-Draft BMP Seamless Session February 2021
It is based on RFC7413, TCP Fast Open [RFC7413], which allows
previously established TCP transport sessions to be re-established
more efficiently.
This draft describes how the BMP application MUST behave during TCP
transport re-establishment period in order to prevent metric loss.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Definitions
Brief loss of connectivity between BMP client and server: Describes
a period of time, in seconds, starting from the point in time in
which the BMP client detects loss of connectivity to the BMP
server and tries to re-establish the TCP session.
Maintenance of BMP server: Describes a period of time, in seconds,
starting from when the BMP server daemon is restarted for
maintenance purposes and the BMP client tries to re-establish
the TCP session.
4. BMP Client and Server Capability
To support brief loss of connectivity between BMP client and server,
the BMP client and server MUST support TCP Fast Open as described in
RFC7413 [RFC7413].
To support seamless maintenance of a BMP server, the BMP client and
server MUST support TCP Fast Open as described in RFC7413 [RFC7413]
and the restart of the BMP server MUST distinguish between normal and
seamless restart, wherever TCP Fast Open cookies are preserved or
not.
5. Updated BMP Session Lifecycle
Section 3 of RFC7413 [RFC7413] describes the TCP Fast Open extension
in the initial TCP SYN packet and the cookie handling during initial
and subsequent re-establishment of the TCP transport session.
Section 3.3 of RFC7854 [RFC7854] describes that the BMP session
closes with the TCP session. This behavior is extended with a
configurable BMP session timeout.
Graf, et al. Expires August 26, 2021 [Page 3]
Internet-Draft BMP Seamless Session February 2021
The BMP session timeout starts counting down under the following
conditions:
o Configured value is bigger than 0
o Current TCP session was established with Fast Open extension and
cookie has been saved
o BMP buffer is not full
o TCP session is going to be terminated
The default BMP session timeout is 60 seconds.
While the time is counting down, all the BMP messages, regardless of
message type, MUST be buffered. At this stage, the BMP session is
still considered to be alive.
When a TCP session is re-established with TCP Fast Open extension and
the cookie is identical to the previous TCP session with the same BMP
peer, the BMP session remains alive, BMP buffer is exported and
normal operation continues.
When a TCP session is re-established without TCP Fast Open extension
or with TCP Fast Open extension but the cookie is not identical to
the previous TCP session with the same BMP peer, the BMP session is
considered terminated and starts with a new BMP Initiation message.
When a TCP session is not re-established within the configured
timeout, then the BMP buffer is discarded and the BMP session is
considered terminated.
When the BMP buffer is full before the TCP session is re-established,
then the BMP buffer is discarded and the BMP session is considered
terminated.
6. Security Considerations
The same security considerations apply as for TCP Fast Open RFC7413
[RFC7413].
7. Operational Considerations
From the perspective of the BMP server, the TCP Fast Open mechanism
is rather transparent since it is entirely handled by the operating
system kernel: this also means a BMP Server application can't
determine if the TCP session was established with SYN Cookies or
without them.
Graf, et al. Expires August 26, 2021 [Page 4]
Internet-Draft BMP Seamless Session February 2021
Upon terminating the existing BMP session(s), the BMP server should
dump to persistent storage the BGP RIBs currently in memory. In
terms of encoding, MRT format could be used for the task (ie. draft-
petrie-grow-mrt-bmp)
At restart, the BMP server should first restore the content of BGP
RIBs from persistent storage before accepting any incoming connection
from BMP clients. Only once this process is finished, connections
can then be accepted again so that messages buffered by BMP clients
are applied to the last known BGP RIBs upon termination.
8. References
8.1. Normative References
[RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP
Fast Open", RFC 7413, DOI 10.17487/RFC7413, December 2014,
<https://www.rfc-editor.org/info/rfc7413>.
[RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP
Monitoring Protocol (BMP)", RFC 7854,
DOI 10.17487/RFC7854, June 2016,
<https://www.rfc-editor.org/info/rfc7854>.
8.2. Informative References
[I-D.cppy-grow-bmp-path-marking-tlv]
Cardona, C., Lucente, P., Francois, P., Gu, Y., and T.
Graf, "BMP Extension for Path Status TLV", draft-cppy-
grow-bmp-path-marking-tlv-07 (work in progress), October
2020.
[I-D.ietf-grow-bmp-local-rib]
Evens, T., Bayraktar, S., Bhardwaj, M., and P. Lucente,
"Support for Local RIB in BGP Monitoring Protocol (BMP)",
draft-ietf-grow-bmp-local-rib-09 (work in progress),
January 2021.
[I-D.xu-grow-bmp-route-policy-attr-trace]
Xu, F., Graf, T., Gu, Y., Zhuang, S., and Z. Li, "BGP
Route Policy and Attribute Trace Using BMP", draft-xu-
grow-bmp-route-policy-attr-trace-05 (work in progress),
July 2020.
[RFC8671] Evens, T., Bayraktar, S., Lucente, P., Mi, P., and S.
Zhuang, "Support for Adj-RIB-Out in the BGP Monitoring
Protocol (BMP)", RFC 8671, DOI 10.17487/RFC8671, November
2019, <https://www.rfc-editor.org/info/rfc8671>.
Graf, et al. Expires August 26, 2021 [Page 5]
Internet-Draft BMP Seamless Session February 2021
Authors' Addresses
Thomas Graf
Swisscom
Binzring 17
Zurich 8045
Switzerland
Email: thomas.graf@swisscom.com
Paolo Lucente
NTT
Siriusdreef 70-72
Hoofddorp, WT 2132
Netherlands
Email: paolo@ntt.net
Pierre Francois
INSA-Lyon
Lyon
France
Email: Pierre.Francois@insa-lyon.fr
Yunan Gu
Huawei
Huawei Bld., No.156 Beiqing Rd.
Beijing 100095
China
Email: guyunan@huawei.com
Graf, et al. Expires August 26, 2021 [Page 6]