
Reliable Server Pooling Evaluation, Optimization and Extension of a Novel IETF Architecture DISSERTATION to obtain the academic grade doctor rerum naturalium (dr. rer. nat.) in Computer Science Submitted to the Faculty of Economics Institute for Computer Science and Business Information Systems University of Duisburg-Essen by Dipl.-Inform. Thomas Dreibholz born on 29.09.1976 in Bergneustadt, Germany President of the University of Duisburg-Essen: Prof. Dr. Lothar Zechlin Dean of the Faculty of Economics: Prof. Dr. Hendrik Schroder¨ Reviewers: 1. Prof. Dr.-Ing. Erwin P. Rathgeb 2. Prof. Dr. Klaus Echtle Submitted on: November 28, 2006 Date of Disputation: March 07, 2007 ii Selbstandigkeitserkl¨ arung¨ Hiermit erklare¨ ich, die vorliegende Arbeit selbstandig¨ ohne fremde Hilfe verfaßt und nur die angege- bene Literatur und Hilfsmittel verwendet zu haben. Thomas Dreibholz November 28, 2006 iii iv Abstract The Reliable Server Pooling (RSerPool) architecture currently under standardization by the IETF RSerPool Working Group is an overlay network framework to provide server replication and ses- sion failover capabilities to applications using it. These functionalities as such are not new, but their combination into one generic, application-independent framework is. Initial goal of this thesis is to gain insight into the complex RSerPool mechanisms by performing experimental and simulative proof-of-concept tests. The further goals are to systematically validate the RSerPool architecture and its protocols, provide improvements and optimizations where necessary and propose extensions if useful. Based on these evaluations, recommendations to implementers and users of RSerPool should be provided, giving guidelines for the tuning of system parameters and the appropriate configuration of application scenarios. In particular, it is also a goal to transfer insights, optimizations and extensions of the RSerPool protocols from simulation to reality and also to bring the achievements from research into application by supporting and contributing relevant results to the IETF’s ongoing RSerPool standardization process. To achieve the described goals, a prototype implementation as well as a simulation model are designed and realized at first. Using a generic application model and appropriate performance met- rics, the performance of RSerPool systems in failure-free and server failure scenarios is systematically evaluated in order to identify critical parameter ranges and problematic protocol behaviour. Improve- ments developed as result of these performance analyses are evaluated and finally contributed into the standardization process of RSerPool. Keywords: Reliable Server Pooling, Evaluation, Optimization, Extension v vi Acknowledgements This thesis is the result of my work as research associate in the Computer Networking Technology Group of the Institute for Experimental Mathematics at the University of Duisburg-Essen. At this point, I would like to express my acknowledgement to everybody having supported me during my RSerPool research. In particular, I would like to thank my primary advisor, Erwin P. Rathgeb, for his support of my RSerPool research and this thesis, as well as my secondary advisor Klaus Echtle for his thesis review. Furthermore, I would like to express my special thanks to my former colleague Andreas Jungmaier for his great cooperation in the SCTPLIB/SOCKETAPI project (which is the basis of my RSPLIB prototype), as well as Michael Tuxen¨ from the Munster¨ University of Applied Sciences for his support of the RSPLIB project and our IETF standardization contributions. Furthermore, I would like to thank my student assistants Sebastian Rohde (for writing the initial version of the Demonstration System GUI for the RSPLIB prototype) and Jobin Pulinthanath (for application testing, as well as drawing a lot of my hand-written RSerPool sketches using the DIA drawing program). In addition, I would also like to thank the Siemens ICN Information and Communication Networks department for supporting my RSerPool project during its first three years, as well as the Deutsche Forschungsgemeinschaft (DFG) for sponsoring the project for another four years. Finally, I would like to thank my father Ernst Gunter¨ Dreibholz and my mother Annelore Dreib- holz for the years of encouragement and support. vii viii Contents Contents ix 1 Introduction 1 1.1 Motivation ........................................ 1 1.2 Scope and Related Work ................................ 1 1.2.1 Availability ................................... 2 1.2.2 Load Balancing ................................. 2 1.2.3 Fault Tolerance ................................. 3 1.2.4 Reliable Server Pooling ............................ 3 1.3 Goals of this Thesis ................................... 4 1.4 Organization of this Thesis ............................... 5 2 Networking Basics 7 2.1 The OSI and TCP/IP Networking Models ....................... 7 2.2 The Standardization of Network Protocols ....................... 9 2.3 The Network Layer ................................... 9 2.3.1 IP Version 4 ................................... 10 2.3.2 IP Version 6 ................................... 10 2.4 The Transport Layer .................................. 11 2.4.1 UDP ...................................... 11 2.4.2 TCP ....................................... 12 2.4.3 SCTP ...................................... 12 2.4.3.1 Introduction ............................. 12 2.4.3.2 Packet Format ............................ 12 2.4.3.3 Association Establishment ...................... 13 2.4.3.4 Multi-Homing ............................ 15 2.4.3.5 Congestion Control ......................... 15 2.4.3.6 User Data Transport ......................... 15 2.4.3.7 Extensions .............................. 16 2.5 Summary ........................................ 17 3 Reliable Server Pooling 19 3.1 Introduction ....................................... 19 3.2 The Requirements for RSerPool ............................ 20 3.3 The RSerPool Architecture ............................... 21 3.4 A Migration Path for Legacy Applications ....................... 23 ix 3.5 The Protocol Stack ................................... 23 3.6 The Application Scenarios ............................... 24 3.6.1 Telephone Signalling .............................. 25 3.6.2 Session Initiation Protocol (SIP) ........................ 26 3.6.3 IP Flow Information Export (IPFIX) ...................... 27 3.6.4 Load Balancing ................................. 27 3.6.5 Real-Time Distributed Computing ....................... 28 3.6.5.1 Requirements ............................ 29 3.6.5.2 Applicability of RSerPool ...................... 29 3.6.6 Mobility Support for SCTP ........................... 29 3.6.7 Other Application Scenarios .......................... 30 3.7 The RSerPool Components ............................... 31 3.7.1 Registrar .................................... 31 3.7.1.1 Announces .............................. 32 3.7.1.2 Pool Management .......................... 32 3.7.1.3 Pool Monitoring ........................... 33 3.7.1.4 Server Selection and Failure Reporting ............... 35 3.7.1.5 Handlespace Audit and Handling of PR Failures .......... 35 3.7.2 Pool Element .................................. 35 3.7.3 Pool User .................................... 36 3.8 The Protocol Design .................................. 37 3.9 The Aggregate Server Access Protocol ......................... 38 3.9.1 Overview .................................... 38 3.9.2 Pool Element Functionality .......................... 39 3.9.2.1 Registration and Reregistration ................... 39 3.9.2.2 Monitoring .............................. 42 3.9.2.3 Deregistration ............................ 42 3.9.3 Pool User Functionality ............................ 43 3.9.3.1 Handle Resolution .......................... 43 3.9.3.2 Failure Report ............................ 44 3.9.4 Automatic Configuration Functionality .................... 44 3.9.5 Session Layer Functionality .......................... 45 3.9.5.1 Data Channel and Control Channel ................. 45 3.9.5.2 ASAP Cookies ............................ 46 3.9.5.3 ASAP Business Cards ........................ 48 3.10 The Endpoint Handlespace Redundancy Protocol ................... 49 3.10.1 Overview .................................... 49 3.10.2 Automatic Configuration ............................ 49 3.10.2.1 The ENRP Presence Message .................... 49 3.10.2.2 Dynamic and Static Peer Table Configuration ........... 51 3.10.2.3 Maintaining Connections to Peer Registrars ............ 52 3.10.2.4 Obtaining the Peer Table from Peer Registrars ........... 52 3.10.3 Registrar Initialization ............................. 54 3.10.4 Handle Update ................................. 55 3.10.5 Handlespace Audit and Synchronization .................... 56 3.10.6 Takeover Procedure ............................... 57 3.11 The Pool Member Selection Policies .......................... 59 x 3.11.1 Basics ...................................... 60 3.11.2 Non-Adaptive Policies ............................. 60 3.11.2.1 Round Robin and Weighted Round Robin ............. 60 3.11.2.2 Random and Weighted Random ................... 61 3.11.3 Adaptive Policies ................................ 61 3.11.3.1 Least Used .............................. 61 3.11.3.2 Priority Least Used ......................... 61 3.12 The Mechanisms for Service Reliability and Availability ............... 62 3.12.1 Failure Model .................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages267 Page
-
File Size-