|Internet-Draft||RSerPool Next Generation Ideas||September 2022|
|Dreibholz||Expires 21 March 2023||[Page]|
- Network Working Group
- Intended Status:
Ideas for a Next Generation of the Reliable Server Pooling Framework
This document collects some idea for a next generation of the Reliable Server Pooling framework.¶
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 21 March 2023.¶
Copyright (c) 2022 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 to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
- ASAP: Aggregate Server Access Protocol¶
- ENRP: Endpoint Handlespace Redundancy Protocol¶
- ID: Identifier¶
- MPTCP: Multi-Path Transmission Control Protocol¶
- PE: Pool Element¶
- PR: Pool Registrar¶
- PU: Pool User¶
- RSerPool: Reliable Server Pooling¶
- SCTP: Stream Control Transmission Protocol¶
- TCP: Transmission Control Protocol¶
- VNFPOOL: Virtual Network Function Resource Pooling¶
Reliable Server Pooling (RSerPool) has been defined as RFCs in , , , , , , , . There is also a detailed introduction provided by  as well as lots of further information material on . RSerPool is therefore not introduced in more detail here.¶
The scope of this document is to collect some ideas of what to update/change for a next generation of the RSerPool framework. It is a result of lessons learned with more than one decade of RSerPool deployment (see also , , ) as well as ongoing discussions on applying RSerPool for Virtual Network Function Resource Pooling (VNFPOOL; as introduced in more detail in ).¶
- ENRP servers denote the management systems in the context of RSerPool. The term "server" is misleading, since ENRP servers are actually ENRP peers. Literature on RSerPool -- for example  -- therefore uses the more accurate term "Pool Registrar" (PR). A future revision of RSerPool should also use this term. (The RSerPool documents did not use "registrar" to avoid confusion with SIP registrars.)¶
- Pool Element Identifiers (PE ID) and Pool Registrar Identifiers (PR ID) are 32-bit random numbers used for the identification of PEs and PRs. Since 64-bit CPUs are standard since quite a long time, these IDs should be extended to 64 bits.¶
- ENRP uses the Internet-16 checksum defined in  to detect handlespace inconsistencies. It is trivially possible to extend the underlying algorithm to 32 bits, and the computation is more efficient on today's CPUs. The checksum algorithm should therefore be changed. (The Internet-16 checksum was finally chosen in 2005 after long decisions to avoid any possible patent issues. The trivial extension of Internet-16 to Internet-32 is probably not an issue any more?)¶
- PR failures lead to possible concentration of all PUs and PEs at a single PR. To achieve a better load balancing, the solution ENRP Takeover Suggestion -- as defined in  -- should be included in ENRP.¶
- For a Handle Resolution, a PR has to decide on how many PEs to select. Selecting too many ones causes additional overhead (which might be unnecessary), selecting too few ones may cause problems for the applications. The extension Handle Resolution Option -- defined in  -- provides a possibility for the PU to specify the amount of PEs to be selected. This possibility should be integrated into ASAP.¶
- RSerPool defines SCTP (defined in ) as transport protocol for RSerPool. TCP and particularly Multi-Path TCP (MPTCP; see ) should be possible further transport protocols for all RSerPool traffic. SCTP should still be the recommended choice, but allowing TCP/MPTCP could make the deployment much easier. (SCTP is superior, but it lacks of support in operating systems and support by underlying network infrastructure, like firewalls and middleboxes.)¶
This document introduces no additional considerations for IANA.¶
The RSerPool reference implementation RSPLIB, including example applications, can be found at . It supports the functionalities defined by , , ,  and  as well as the options ,  and . An introduction to this implementation is provided in .¶
NorNet is a large-scale and realistic Internet testbed platform with support for Reliable Server Pooling as well as the underlying transport protocols SCTP and MPTCP. A description of and introduction to NorNet is provided in , , . Further information can be found on the project website .¶
The author would like to thank Randall R. Stewart, Michael Tuexen, Ning Zong for their discussions and support.¶
- Tuexen, M., Xie, Q., Stewart, R., Shore, M., Ong, L., Loughney, J., and M. Stillman, "Requirements for Reliable Server Pooling", RFC 3237, DOI 10.17487/RFC3237, , <https://www.rfc-editor.org/info/rfc3237>.
- Lei, P., Ong, L., Tuexen, M., and T. Dreibholz, "An Overview of Reliable Server Pooling Protocols", RFC 5351, DOI 10.17487/RFC5351, , <https://www.rfc-editor.org/info/rfc5351>.
- Stewart, R., Xie, Q., Stillman, M., and M. Tuexen, "Aggregate Server Access Protocol (ASAP)", RFC 5352, DOI 10.17487/RFC5352, , <https://www.rfc-editor.org/info/rfc5352>.
- Xie, Q., Stewart, R., Stillman, M., Tuexen, M., and A. Silverton, "Endpoint Handlespace Redundancy Protocol (ENRP)", RFC 5353, DOI 10.17487/RFC5353, , <https://www.rfc-editor.org/info/rfc5353>.
- Stewart, R., Xie, Q., Stillman, M., and M. Tuexen, "Aggregate Server Access Protocol (ASAP) and Endpoint Handlespace Redundancy Protocol (ENRP) Parameters", RFC 5354, DOI 10.17487/RFC5354, , <https://www.rfc-editor.org/info/rfc5354>.
- Stillman, M., Ed., Gopal, R., Guttman, E., Sengodan, S., and M. Holdrege, "Threats Introduced by Reliable Server Pooling (RSerPool) and Requirements for Security in Response to Threats", RFC 5355, DOI 10.17487/RFC5355, , <https://www.rfc-editor.org/info/rfc5355>.
- Dreibholz, T. and M. Tuexen, "Reliable Server Pooling Policies", RFC 5356, DOI 10.17487/RFC5356, , <https://www.rfc-editor.org/info/rfc5356>.
- Dreibholz, T. and J. Mulik, "Reliable Server Pooling MIB Module Definition", RFC 5525, DOI 10.17487/RFC5525, , <https://www.rfc-editor.org/info/rfc5525>.
- Braden, R., Borman, D., and C. Partridge, "Computing the Internet checksum", RFC 1071, DOI 10.17487/RFC1071, , <https://www.rfc-editor.org/info/rfc1071>.
- Stewart, R., Ed., "Stream Control Transmission Protocol", RFC 4960, DOI 10.17487/RFC4960, , <https://www.rfc-editor.org/info/rfc4960>.
- Ford, A., Raiciu, C., Handley, M., and O. Bonaventure, "TCP Extensions for Multipath Operation with Multiple Addresses", RFC 6824, DOI 10.17487/RFC6824, , <https://www.rfc-editor.org/info/rfc6824>.
- Dreibholz, T., "Handle Resolution Option for ASAP", Work in Progress, Internet-Draft, draft-dreibholz-rserpool-asap-hropt-29, , <https://www.ietf.org/archive/id/draft-dreibholz-rserpool-asap-hropt-29.txt>.
- Dreibholz, T. and X. Zhou, "Definition of a Delay Measurement Infrastructure and Delay-Sensitive Least-Used Policy for Reliable Server Pooling", Work in Progress, Internet-Draft, draft-dreibholz-rserpool-delay-28, , <https://www.ietf.org/archive/id/draft-dreibholz-rserpool-delay-28.txt>.
- Dreibholz, T. and X. Zhou, "Takeover Suggestion Flag for the ENRP Handle Update Message", Work in Progress, Internet-Draft, draft-dreibholz-rserpool-enrp-takeover-26, , <https://www.ietf.org/archive/id/draft-dreibholz-rserpool-enrp-takeover-26.txt>.
- Zong, N., Dunbar, L., Shore, M., Lopez, D., and G. Karagiannis, "Virtualized Network Function (VNF) Pool Problem Statement", Work in Progress, Internet-Draft, draft-zong-vnfpool-problem-statement-06, , <https://www.ietf.org/archive/id/draft-zong-vnfpool-problem-statement-06.txt>.
- Dreibholz, T., "Reliable Server Pooling – Evaluation, Optimization and Extension of a Novel IETF Architecture", , <https://duepublico.uni-duisburg-essen.de/servlets/DerivateServlet/Derivate-16326/Dre2006_final.pdf>.
- Dreibholz, T. and E. P. Rathgeb, "A Powerful Tool-Chain for Setup, Distributed Processing, Analysis and Debugging of OMNeT++ Simulations", Proceedings of the 1st ACM/ICST International Workshop on OMNeT++ ISBN 978-963-9799-20-2, DOI 10.4108/ICST.SIMUTOOLS2008.2990, , <https://www.wiwi.uni-due.de/fileadmin/fileupload/I-TDR/ReliableServer/Publications/OMNeTWorkshop2008.pdf>.
- Dreibholz, T., "Evaluation and Optimisation of Multi-Path Transport using the Stream Control Transmission Protocol", Habilitation Treatise, , <https://duepublico.uni-duisburg-essen.de/servlets/DerivateServlet/Derivate-29737/Dre2012_final.pdf>.
- Dreibholz, T. and E. G. Gran, "Design and Implementation of the NorNet Core Research Testbed for Multi-Homed Systems", Proceedings of the 3nd International Workshop on Protocols and Applications with Multi-Homing Support (PAMS) Pages 1094-1100, ISBN 978-0-7695-4952-1, DOI 10.1109/WAINA.2013.71, , <https://www.simula.no/file/threfereedinproceedingsreference2012-12-207643198512pdf/download>.
- Dreibholz, T., "The NorNet Core Testbed – Introduction and Status", Proceedings of the 1st International NorNet Users Workshop (NNUW-1), , <https://www.simula.no/file/simulasimula2124pdf/download>.
- Dreibholz, T., "The NorNet Core Testbed – An Experiment Tutorial", Proceedings of the 1st International NorNet Users Workshop (NNUW-1), , <https://www.simula.no/file/simulasimula2130pdf/download>.
- Dreibholz, T., "Thomas Dreibholz's RSerPool Page", , <https://www.uni-due.de/~be0001/rserpool/>.
- Dreibholz, T., "NorNet – A Real-World, Large-Scale Multi-Homing Testbed", , <https://www.nntb.no/>.