Readdressing Network Layers
Total Page:16
File Type:pdf, Size:1020Kb
Readdressing Network Layers James McCauley Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2020-161 http://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/EECS-2020-161.html August 14, 2020 Copyright © 2020, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Readdressing Network Layers By James Ash McCauley A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Scott Shenker, Chair Professor Sylvia Ratnasamy Professor Coye Cheshire Summer 2020 Readdressing Network Layers Copyright 2020 by James Ash McCauley 1 Abstract Readdressing Network Layers by James Ash McCauley Doctor of Philosophy in Computer Science University of California, Berkeley Professor Scott Shenker, Chair It has long been common practice to split the functionality of computer networks into distinct layers. In the context of the most common networks today, there are five such layers, bracketed by hardware at the lowest layer and application software at the highest. While this modularization has generally been a huge success story for the field, networks have now been subject to decades of changes in terms of both technologies and use cases. Moreover, we have accumulated significant hindsight. This dissertation examines the three infrastructural layers that fall between hardware and ap- plications, and in each case suggests an improvement. A new approach to resiliency is explored at the link and network layers. In the former case, the result eliminates the need for the typical spanning tree based approach. In the latter, it can radically improve performance during times of routing protocol convergence, eliminating the need for things like precomputed backup paths. At the transport layer, an approach to server load balancing is discussed, which avoids the fate- sharing problem of stateful load balancers as well as the consistency problems of stateless ones. Finally, this dissertation argues that there is a layer “missing” from our common layered model, the inclusion of which is a vital enabler for the continued evolution of the Internet. i Contents List of Figures iv Acknowledgmentsv 1 Introduction1 1.1 Background on Networking Layers..........................2 1.1.1 Layers with Regard to Packets........................4 1.1.2 Limitations of the Common Model.....................5 1.2 Contributions.....................................6 2 Reimagining Ethernet for Resiliency8 2.1 Design.........................................9 2.1.1 Clean Algorithm............................... 11 2.1.2 Practical Algorithm.............................. 14 2.1.3 The Deduplication Filter........................... 15 2.1.4 Details of Practical Algorithm........................ 16 2.1.5 Enhancements to the Design......................... 19 2.1.6 Reasoning About Scale............................ 20 2.2 P4 Implementation.................................. 21 2.3 Multicast....................................... 23 2.4 Evaluation....................................... 25 2.4.1 Simulation Scenarios............................. 25 2.4.2 Static Networks................................ 26 2.4.3 Performance with Link Failures....................... 26 2.4.4 Performance with Host Migrations...................... 28 2.4.5 Deduplication Filter Size........................... 28 2.4.6 Behavior under Load............................. 28 2.4.7 Multicast................................... 31 2.5 Related Work..................................... 32 2.6 Conclusion...................................... 34 CONTENTS ii 3 Augmenting Routing for Resiliency 35 3.1 Approach....................................... 36 3.2 Reconvergence Delays................................ 37 3.3 Design......................................... 38 3.4 Practical Issues.................................... 40 3.4.1 Partial Deployment and Packet Details.................... 40 3.4.2 Implementability............................... 41 3.5 Evaluation....................................... 44 3.5.1 Effectiveness................................. 48 3.5.2 Under Other Loads.............................. 48 3.6 Conclusion...................................... 49 4 Internet Architecture Revolution 50 4.1 Contribution...................................... 51 4.2 Clarifications, Assumptions, and a Question..................... 53 4.2.1 Two Clarifications.............................. 53 4.2.2 Three Key Assumptions........................... 53 4.2.3 What Is an Architecture?........................... 53 4.3 Motivating the Design................................ 54 4.3.1 The Internet Is a Series of Intrinsic Overlays................ 54 4.3.2 Two Design Decisions............................ 56 4.3.3 Making Interdomain an Inherent Overlay.................. 57 4.3.4 Implications for Extensibility........................ 59 4.4 Design......................................... 60 4.4.1 Design Overview............................... 60 4.4.2 Functions Left to L3.5 Designs........................ 61 4.4.3 Functions Left to Domains.......................... 62 4.4.4 How Does This All Fit Together?...................... 63 4.5 Implementation.................................... 63 4.5.1 Trotsky-Processors.............................. 64 4.5.2 Trotsky-Capable Hosts............................ 66 4.6 Evaluation....................................... 67 4.6.1 Implementing L3.5 Designs within Trotsky................. 67 4.6.2 Diversity................................... 69 4.6.3 Deploying a New L3.5............................ 69 4.6.4 Overhead Microbenchmarks......................... 70 4.6.5 Viability of Software L3.5 Implementations................. 70 4.7 Related Work..................................... 71 4.8 Conclusion...................................... 72 CONTENTS iii 5 Packet State Load Balancing 75 5.1 Background and Related Work............................ 78 5.2 PSLB in the Abstract................................. 79 5.2.1 Design Sketch................................ 79 5.2.2 Positive Implications............................. 80 5.2.3 Negative Implications............................ 81 5.3 PSLB and TCP.................................... 81 5.3.1 Basic Approach................................ 82 5.3.2 PAWS..................................... 83 5.3.3 RTT Estimation................................ 85 5.3.4 Missing Timestamps............................. 85 5.3.5 SYN Cookies................................. 88 5.3.6 Non-Problems................................ 89 5.4 Security........................................ 90 5.4.1 Transparency Attacks............................. 90 5.4.2 Corner-Case Attacks............................. 92 5.4.3 State Exhaustion Attacks........................... 92 5.5 P4 Implementation.................................. 92 5.6 Evaluation....................................... 93 5.6.1 Experimental Setup.............................. 93 5.6.2 Fabric Traffic................................. 95 5.6.3 PCC Violations................................ 95 5.7 Discussion....................................... 99 5.7.1 PSLB and QUIC............................... 99 5.7.2 Relationship to L7 Load Balancing..................... 100 5.7.3 The Utility of Echo.............................. 100 5.8 Conclusion...................................... 100 6 Conclusion 102 6.1 Summary of Contributions.............................. 102 6.2 Reflection....................................... 104 Bibliography 108 iv List of Figures 1.1 Common model of Internet layers............................2 2.1 Example network with two hosts............................. 14 2.2 Mapping from Ethernet addresses to learning registers in P4-based AXE........ 22 2.3 Unnecessary drops in AXE compared to Idealized Routing............... 27 2.4 Delayed flows in AXE compared to Idealized Routing.................. 27 2.5 Overhead of host migration in AXE........................... 29 2.6 Effect of AXE deduplication filter size.......................... 30 2.7 Effect of hopcount-based unlearning in AXE....................... 30 2.8 AXE multicast convergence time............................. 32 3.1 Undelivered packets in Ark compared to plain link-state routing............ 46 4.1 Hybrid layer diagram of a network............................ 55 4.2 Hypothetical future Internet deployment......................... 58 4.3 System diagram supporting multiple L3.5 designs.................... 65 5.1 Sequence diagram showing Server ID propagation in Packet-State Load Balancing.. 80 5.2 Fabric traffic load..................................... 96 5.3 Consistency violations when adding a DIP........................ 97 5.4 Consistency violations when removing a DIP...................... 98 v Acknowledgments As discussed in this dissertation, network layers work by building atop other layers. So it is with graduate students too: my work and my success is built atop the work, success, and support of others. I will fall short in fully expressing how true this is for me personally,