< draft-retana-idr-bgp-quic-stream-01.txt   draft-retana-idr-bgp-quic-stream-02.txt >
IDR Workgroup A. Retana IDR Workgroup A. Retana
Internet-Draft Y. Qu Internet-Draft Y. Qu
Intended status: Standards Track Futurewei Technologies, Inc. Intended status: Standards Track Futurewei Technologies, Inc.
Expires: May 12, 2022 J. Tantsura Expires: 12 November 2022 J. Tantsura
Microsoft Microsoft
November 8, 2021 11 May 2022
Use of Streams in BGP over QUIC Use of Streams in BGP over QUIC
draft-retana-idr-bgp-quic-stream-01 draft-retana-idr-bgp-quic-stream-02
Abstract Abstract
This document specifies the use of QUIC Streams to support multiple This document specifies the use of QUIC Streams to support multiple
BGP sessions over one connection in order to achieve high resiliency. BGP sessions over one connection in order to achieve high resiliency.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
skipping to change at page 1, line 33 skipping to change at page 1, line 33
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 May 12, 2022. This Internet-Draft will expire on 12 November 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2022 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/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Revised BSD License text as
include Simplified BSD License text as described in Section 4.e of described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Revised BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Multiple BGP Sessions . . . . . . . . . . . . . . . . . . . . 3 2. Multiple BGP Sessions . . . . . . . . . . . . . . . . . . . . 3
2.1. Multiple QUIC Streams . . . . . . . . . . . . . . . . . . 3 2.1. Multiple QUIC Streams . . . . . . . . . . . . . . . . . . 3
2.2. Multiple BGP Sessions Using QUIC Streams . . . . . . . . 3 2.2. Multiple BGP Sessions Using QUIC Streams . . . . . . . . 4
3. MultiStream Capability . . . . . . . . . . . . . . . . . . . 4 3. MultiStream Capability . . . . . . . . . . . . . . . . . . . 4
4. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 5 4. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 5
5. BGP Session Establishment and Collision Avoidance . . . . . . 5 5. BGP Session Establishment and Collision Avoidance . . . . . . 6
6. Modifications to FSM . . . . . . . . . . . . . . . . . . . . 7 6. Modifications to FSM . . . . . . . . . . . . . . . . . . . . 7
7. Operational Considerations . . . . . . . . . . . . . . . . . 7 7. Operational Considerations . . . . . . . . . . . . . . . . . 7
7.1. Backward Compatibility . . . . . . . . . . . . . . . . . 7 7.1. Backward Compatibility . . . . . . . . . . . . . . . . . 7
7.2. Session Prioritization . . . . . . . . . . . . . . . . . 7 7.2. Session Prioritization . . . . . . . . . . . . . . . . . 7
7.3. Other Considerations . . . . . . . . . . . . . . . . . . 7 7.3. Other Considerations . . . . . . . . . . . . . . . . . . 8
8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 8 10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 9
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
11.1. Normative References . . . . . . . . . . . . . . . . . . 8 11.1. Normative References . . . . . . . . . . . . . . . . . . 9
11.2. Informative References . . . . . . . . . . . . . . . . . 9 11.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction 1. Introduction
The Border Gateway Protocol (BGP) [RFC4271] uses TCP as its transport The Border Gateway Protocol (BGP) [RFC4271] uses TCP as its transport
protocol. BGP establishes peer relationships between routers using a protocol. BGP establishes peer relationships between routers using a
TCP session on port 179. TCP also provides reliable packet TCP session on port 179. TCP also provides reliable packet
communication. communication.
Multiprotocol Extensions for BGP-4 (MP-BGP) [RFC4760] allow BGP to Multiprotocol Extensions for BGP-4 (MP-BGP) [RFC4760] allow BGP to
carry information for multiple Network Layer protocols. However, carry information for multiple Network Layer protocols. However,
skipping to change at page 7, line 7 skipping to change at page 7, line 22
Closing the BGP session (that results from the collision resolution Closing the BGP session (that results from the collision resolution
procedure) is accomplished by sending the NOTIFICATION message with procedure) is accomplished by sending the NOTIFICATION message with
the Error Code Cease, Subcode Connection Collision Resolution (7) the Error Code Cease, Subcode Connection Collision Resolution (7)
[RFC4486]. [RFC4486].
The remainder of the process is as specified in [RFC4271]. The remainder of the process is as specified in [RFC4271].
6. Modifications to FSM 6. Modifications to FSM
[To be completed.] The modifications to BGP FSM is described in section 4.4 of
[I-D.chen-idr-bgp-over-quic]. For simplicity and security reason, it
is suggested that 1-RTT is used.
This specification does not modify BGP FSM, but the collision
handling procedure should be replaced with the procedure described in
this document.
7. Operational Considerations 7. Operational Considerations
7.1. Backward Compatibility 7.1. Backward Compatibility
A BGP speaker that doesn't understand the MSC will ignore it A BGP speaker that doesn't understand the MSC will ignore it
[RFC5492]. Section 3 recommends not terminating a session when only [RFC5492]. Section 3 recommends not terminating a session when only
one peer supports the MSC. Instead, the operation will continue as one peer supports the MSC. Instead, the operation will continue as
specified in [I-D.chen-idr-bgp-over-quic]. specified in [I-D.chen-idr-bgp-over-quic].
skipping to change at page 7, line 34 skipping to change at page 8, line 15
QUIC [RFC9000] does not provide a mechanism for exchanging QUIC [RFC9000] does not provide a mechanism for exchanging
prioritization information. Instead, it recommends that prioritization information. Instead, it recommends that
implementations provide ways for an application to indicate the implementations provide ways for an application to indicate the
relative priority of streams, in this case, mapped to BGP sessions. relative priority of streams, in this case, mapped to BGP sessions.
An operator should prioritize BGP sessions (streams) that carry An operator should prioritize BGP sessions (streams) that carry
critical control plane information if the functionality is available. critical control plane information if the functionality is available.
The definition of this functionality and the determination of the The definition of this functionality and the determination of the
importance of a BGP session are both outside the scope of this importance of a BGP session are both outside the scope of this
document. document.
An example implementation is to have four priority (0-3) defined, and
smaller number means higher priority. Each AFI/SAFI should be
assigned a default priority and optional configuration to modify the
default value. For example, IPv4 and IPv6 unicast AFI/SAFI (1/1 and
2/1) may have priority of 1, while BGP-LS (16388/71 and 16388/72) may
have a priority of 3, and BGP FlowSpec (1/133 and 1/134) may have a
priority of 4.
7.3. Other Considerations 7.3. Other Considerations
A configuration command SHOULD be implemented to allow grouping of A configuration command SHOULD be implemented to allow grouping of
some AFI/SAFIs into one session. some AFI/SAFIs into one session.
8. Security Considerations 8. Security Considerations
This document specifies how to establish multiple BGP sessions over a This document specifies how to establish multiple BGP sessions over a
single QUIC connection. The general operation of BGP is not changed, single QUIC connection. The general operation of BGP is not changed,
nor is its security model. The security considerations of nor is its security model. The security considerations of
skipping to change at page 8, line 14 skipping to change at page 8, line 51
On the other hand, a high number of BGP sessions may result in higher On the other hand, a high number of BGP sessions may result in higher
resource utilization and the risk of depletion. Also, more sessions resource utilization and the risk of depletion. Also, more sessions
may imply additional configuration and operational complexity. may imply additional configuration and operational complexity.
However, this risk is mitigated by the fact that BGP sessions However, this risk is mitigated by the fact that BGP sessions
typically require explicit configuration by the operator. typically require explicit configuration by the operator.
9. IANA Considerations 9. IANA Considerations
IANA is asked to assign a new Capability Code for the MultiStream IANA is asked to assign a new Capability Code for the MultiStream
Capablity (Section 3) as follows: Capability (Section 3) as follows:
+-------+----------------------+-----------------+------------------+ +=======+========================+===========+===================+
| Value | Description | Reference | Change | | Value | Description | Reference | Change Controller |
| | | | Controller | +=======+========================+===========+===================+
+-------+----------------------+-----------------+------------------+ | TBD1 | MultiStream Capability | [This | IETF |
| TBD1 | MultiStream | [This Document] | IETF | | | | Document] | |
| | Capability | | | +-------+------------------------+-----------+-------------------+
+-------+----------------------+-----------------+------------------+
MultiStream Capability Table 1: MultiStream Capability
IANA is asked to assign three values from the OPEN Message Error IANA is asked to assign three values from the OPEN Message Error
subcodes registrty as follows: subcodes registry as follows:
+-------+---------------------------------+-----------------+ +=======+=================================+=================+
| Value | Name | Reference | | Value | Name | Reference |
+-------+---------------------------------+-----------------+ +=======+=================================+=================+
| TBD2 | MultiSession Conflicty | [This Document] | | TBD2 | MultiSession Conflicty | [This Document] |
+-------+---------------------------------+-----------------+
| TBD3 | Session Capability Mismatch | [This Document] | | TBD3 | Session Capability Mismatch | [This Document] |
+-------+---------------------------------+-----------------+
| TBD4 | Network Layer Protocol Mismatch | [This Document] | | TBD4 | Network Layer Protocol Mismatch | [This Document] |
+-------+---------------------------------+-----------------+ +-------+---------------------------------+-----------------+
Table 2
10. Acknowledgement 10. Acknowledgement
This document references the text and procedures defined in This document references the text and procedures defined in
[I-D.ietf-idr-bgp-multisession], and we are grateful for their [I-D.ietf-idr-bgp-multisession], and we are grateful for their
contributions. contributions.
The authors would like to thank xx for review and comments. The authors would like to thank xx for review and comments.
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.chen-idr-bgp-over-quic] [I-D.chen-idr-bgp-over-quic]
Chen, S., Zhang, Y., Wang, H., and Z. Li, "BGP Over QUIC", Chen, S., Zhang, Y., Wang, H., and Z. Li, "BGP Over QUIC",
draft-chen-idr-bgp-over-quic-00 (work in progress), June Work in Progress, Internet-Draft, draft-chen-idr-bgp-over-
2021. quic-00, 3 June 2021, <https://www.ietf.org/archive/id/
draft-chen-idr-bgp-over-quic-00.txt>.
[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>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271, Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006, DOI 10.17487/RFC4271, January 2006,
<https://www.rfc-editor.org/info/rfc4271>. <https://www.rfc-editor.org/info/rfc4271>.
skipping to change at page 9, line 40 skipping to change at page 10, line 35
[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
Multiplexed and Secure Transport", RFC 9000, Multiplexed and Secure Transport", RFC 9000,
DOI 10.17487/RFC9000, May 2021, DOI 10.17487/RFC9000, May 2021,
<https://www.rfc-editor.org/info/rfc9000>. <https://www.rfc-editor.org/info/rfc9000>.
11.2. Informative References 11.2. Informative References
[I-D.ietf-idr-bgp-multisession] [I-D.ietf-idr-bgp-multisession]
Scudder, J., Appanna, C., and I. Varlashkin, "Multisession Scudder, J., Appanna, C., and I. Varlashkin, "Multisession
BGP", draft-ietf-idr-bgp-multisession-07 (work in BGP", Work in Progress, Internet-Draft, draft-ietf-idr-
progress), September 2012. bgp-multisession-07, 13 September 2012,
<http://www.ietf.org/internet-drafts/draft-ietf-idr-bgp-
multisession-07.txt>.
[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis",
RFC 4272, DOI 10.17487/RFC4272, January 2006, RFC 4272, DOI 10.17487/RFC4272, January 2006,
<https://www.rfc-editor.org/info/rfc4272>. <https://www.rfc-editor.org/info/rfc4272>.
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760, "Multiprotocol Extensions for BGP-4", RFC 4760,
DOI 10.17487/RFC4760, January 2007, DOI 10.17487/RFC4760, January 2007,
<https://www.rfc-editor.org/info/rfc4760>. <https://www.rfc-editor.org/info/rfc4760>.
[RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations [RFC7454] Durand, J., Pepelnjak, I., and G. Doering, "BGP Operations
and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454, and Security", BCP 194, RFC 7454, DOI 10.17487/RFC7454,
February 2015, <https://www.rfc-editor.org/info/rfc7454>. February 2015, <https://www.rfc-editor.org/info/rfc7454>.
Authors' Addresses Authors' Addresses
Alvaro Retana Alvaro Retana
Futurewei Technologies, Inc. Futurewei Technologies, Inc.
2330 Central Expressway 2330 Central Expressway
Santa Clara, CA 95050 Santa Clara, CA 95050
USA United States of America
Email: aretana@futurewei.com Email: aretana@futurewei.com
Yingzhen Qu Yingzhen Qu
Futurewei Technologies, Inc. Futurewei Technologies, Inc.
2330 Central Expressway 2330 Central Expressway
Santa Clara, CA 95050 Santa Clara, CA 95050
USA United States of America
Email: yingzhen.qu@futurewei.com Email: yingzhen.qu@futurewei.com
Jeff Tantsura Jeff Tantsura
Microsoft Microsoft
USA United States of America
Email: jefftant.ietf@gmail.com Email: jefftant.ietf@gmail.com
 End of changes. 26 change blocks. 
47 lines changed or deleted 63 lines changed or added

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