Mechanisms, Models, and Tools for Flexible Protocol Development and Accurate Network Experimentation
Total Page:16
File Type:pdf, Size:1020Kb
Mechanisms, Models, and Tools for Flexible Protocol Development and Accurate Network Experimentation Von der Fakult¨at fur¨ Mathematik, Informatik und Naturwissenschaften der RWTH Aachen University zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften genehmigte Dissertation vorgelegt von M.S. Computer Science (USA) Olaf Landsiedel aus Mainz Berichter: Prof. Dr.-Ing. Klaus Wehrle Prof. PhD Anthony D. Joseph Tag der mundlichen¨ Prufung:¨ 22. M¨arz 2010 Diese Dissertation ist auf den Internetseiten der Hochschulbibliothek online verfugbar.¨ WICHTIG: D 82 überprüfen !!! Reports on Communications and Distributed Systems edited by Prof. Dr.-Ing. Klaus Wehrle Communication and Distributed Systems, RWTH Aachen University Volume 1 Olaf Landsiedel Mechanisms, Models, and Tools for Flexible Protocol Development and Accurate Network Experimentation Shaker Verlag Aachen 2010 Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available in the Internet at http://dnb.d-nb.de. Zugl.: D 82 (Diss. RWTH Aachen University, 2010) Copyright Shaker Verlag 2010 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the publishers. Printed in Germany. ISBN 978-3-8322-9451-9 ISSN 2191-0863 Shaker Verlag GmbH • P.O. BOX 101818 • D-52018 Aachen Phone: 0049/2407/9596-0 • Telefax: 0049/2407/9596-9 Internet: www.shaker.de • e-mail: [email protected] Acknowledgements First of all, I want to thank Klaus for hiring me as a young, green PhD student. Thank you for advising me and giving me the opportunity to work in your group. The creative atmosphere, trust, and independence allowed me to realize ideas, gather experience, and to develop as a person. I was allowed to try, to fail, and sometimes to succeed. Working with Klaus introduced me to many different areas in computer networking and I established a wide background and experience. I believe that this wide experi- ence was a key requirement for this thesis, as my work addresses generic techniques for protocol development and evaluation. However, doing a PhD is much more than research: I was introduced to teaching, advising thesis students, paper and proposal writing, and organization. Yet, I still do not know how to make coffee. I want to thank all colleagues for making this group such a pleasant environment for research and for the great years in Aachen and Tubingen.¨ Special thanks go to Hamad, Stefan, Georg, Jo, Tobi, and Raimondas for the long discussions and joint work on many ideas. Furthermore, I want to thank all my thesis students and Hiwis: Without you this work would not have been possible. I am happy that many of you got interested in research and very proud that some of you even became my colleagues and are now working in the Distributed Systems Group. Finally, I would like to thank my family and friends for their love, friendship, and support. Especially, I thank my wife Anna for her love, support, kindness, and understanding. Thank you all for many wonderful years as a PhD student. Curriculum Vitae About Me Name Landsiedel Forename Olaf Date of birth 2nd of March 1979 Place of birth Mainz, Germany Nationality German Education High School 1989 - 1998 Gymnasium Altenholz Abitur: June 1998 University 10/1999 - 07/2002 Christian-Albrechts-Universit¨at zu Kiel Major: Computer Science (Minor: Business) Pre-Diploma: 2001 University 7/2002 - 12/2003 University of Kansas Department of Electrical Engineering and Computer Science Degree: MS Computer Science, with honors PhD Student 3/2004 - 4/2006 University of Tubingen¨ Protokoll Engineering und Verteilte Systeme Advisor: Dr.-Ing. Klaus Wehrle PhD Student 5/2006 - 2/2010 RWTH Aachen University LuFG Informatik IV - Verteilte Systeme Advisor: Prof. Dr.-Ing. Klaus Wehrle Contents 1 Introduction 1 1.1ProblemStatement............................ 2 1.1.1 Diversity and Customization of Communication Protocols . 2 1.1.2 Complexity of Protocol Evaluation ............... 3 1.1.3 LackofRealismandAccuracyinNetworkSimulation..... 4 1.2 Objectives and Contributions ...................... 5 1.2.1 RapidProtocolDevelopmentfromMicroProtocols...... 5 1.2.2 Flexible Network Experimentation ............... 6 1.2.3 Accurate Simulation through Fine-Grained Calibration .... 6 1.3 Outline ................................... 7 2 Fundamentals and Analysis 9 2.1TheInternet................................ 9 2.1.1 InternetArchitecture....................... 9 2.1.2 ProtocolsintheEarlyInternet................. 10 2.2IncreasingProtocolDiversityandFunctionality............ 11 2.2.1 ProtocolDiversityintoday’sInternet.............. 11 2.2.2 RapidProtocolDevelopmentfromMicroProtocols...... 14 2.2.3 StateoftheArt.......................... 15 2.2.4 Discussion.............................15 2.2.5 Summary ............................. 16 2.3DiversityofPlatformsandTools..................... 17 2.3.1 Vision............................... 17 2.3.2 ProtocolDevelopmentCycle................... 18 2.3.3 Flexible Network Experimentation through Platform Abstrac- tion................................ 22 2.3.4 StateoftheArt.......................... 23 2.3.5 Discussion.............................23 2.3.6 Summary ............................. 24 2.4InaccuracyinNetworkSimulation.................... 24 2.4.1 ChallengesinNetworkSimulation................ 24 2.4.2 Accurate Simulation through Fine-Grained Calibration .... 25 2.4.3 StateoftheArt.......................... 25 2.4.4 Discussion.............................26 2.4.5 Summary ............................. 27 2.5Conclusion................................. 27 3 Micro-Protocols as Substrate for Protocol Composition 29 3.1ComponentModel............................ 30 3.1.1 Granularity of Modularization .................. 30 3.1.2 MicroProtocols:OuterLayeroftheComponentModel.... 31 3.1.3 Configurations: The Inner Layer of the Component Model . 34 3.1.4 Discussion.............................35 3.1.5 Example .............................. 36 3.1.6 Summary ............................. 38 3.2 Case Study: Micro Protocols and Configurations in Transport Protocols 38 3.2.1 WidespreadTransportProtocols................. 38 3.2.2 DetectionofPacketLoss..................... 44 3.2.3 Reliable Communication ..................... 49 3.2.4 RoundTripTimeEstimation.................. 50 3.2.5 CongestionControl........................ 52 3.2.6 FlowControl........................... 56 3.2.7 Window Management ...................... 58 3.2.8 Explicit Congestion Notification ................. 61 3.2.9 FurtherMicro-Protocols..................... 63 3.2.10 Summary ............................. 63 3.3ComposingTransportProtocols..................... 64 3.3.1 Transmission Control Protocol (TCP) .............. 64 3.3.2 DatagramCongestionControlProtocol............. 68 3.3.3 StreamControlTransmissionProtocol............. 72 3.3.4 FurtherTransportProtocols .................. 75 3.3.5 Summary ............................. 76 3.4Evaluation................................. 77 3.4.1 Flexible Composition of Protocol Mechanisms ......... 77 3.4.2 ProtocolExperimentationandHypotheticalProtocols..... 82 3.4.3 InternetProtocolStacks..................... 85 3.4.4 EvaluationofReuseinProtocolCompositions......... 87 3.4.5 Discussion.............................88 3.5RelatedWork............................... 90 3.5.1 Modular Communication Systems ................ 90 3.5.2 Modular and Configurable Network Protocols ......... 91 3.5.3 ConfigurableTransportProtocols................ 92 3.5.4 Discussion.............................92 3.6Conclusion................................. 92 3.6.1 FutureDirections......................... 93 3.6.2 Summary ............................. 94 4 Protocol Factory 97 4.1IntroducingtheProtocolFactory.................... 97 4.1.1 SoftwareArchitectureforMicroProtocols........... 98 4.1.2 VirtualPlatformforExperimentation(VIPE)......... 99 4.2SoftwareArchitectureforMicroProtocols............... 99 4.2.1 DesignGoals........................... 99 4.2.2 AnalysisofDesignChoices....................101 4.2.3 Modules as Functional Building Blocks .............104 4.2.4 ProtocolComposition......................106 4.2.5 DynamicProtocolCompositions.................109 4.2.6 Auxiliary Functionality ......................110 4.2.7 Optimizing Protocol Stacks ...................111 4.2.8 ProFabToolChain........................113 4.2.9 Conclusion.............................114 4.3AVirtualPlatformforNetworkExperimentation...........115 4.3.1 Analysis..............................116 4.3.2 OverviewandGoals.......................117 4.3.3 ArchitectureoftheVirtualPlatform..............120 4.3.4 Conclusion.............................126 4.4Evaluation.................................126 4.4.1 VirtualPlatform.........................127 4.4.2 SoftwareArchitectureforMicroProtocols...........128 4.4.3 OverallPerformanceofProFab.................133 4.4.4 Summary .............................133 4.5RelatedWork...............................135 4.5.1 Software Architectures for Communication Protocols .....135 4.5.2 VirtualPlatform.........................135 4.5.3 Summary .............................137 4.6Conclusion.................................137 4.6.1 ProtocolExperimentationwithProFab.............137 4.6.2 Limitations and Lessons Learned ................140