
Designs for an Internet David D. Clark Draft version V 2.0 of October 14, 2016 ii Status This version of the book is a pre-release intended to get feedback and comments from members of the network research community and other interested readers. Readers should assume that the book will receive sub- stantial revision. The chapters on economics, management and meeting the needs of society are preliminary, and comments are particularly solicited on these chapters. Suggestions as to how to improve the descriptions of the various architec- tures I have discussed are particularly solicited, as are suggestions about additional citations to relevant material. For those with a technical back- ground, note that the appendix contains a further review of relevant archi- tectural work, beyond what is in Chapter 5. I am particularly interesting in learning which parts of the book non-technical readers find hard to follow. Revision history Version 1.1 first pre-release May 9 2016. Version 2.0 October 2016. Addition of appendix with further review of related work. Addition of a "Chapter zero", which provides an introduction to the Internet for non-technical readers. Substantial revision to several chapters. Contents Preface xiii 0 A primer on the Internet 1 0.1 Introduction . .1 0.2 The basic communication model of the Internet . .3 0.2.1 Protocols . .3 0.3 The role of the router . .4 0.4 Application support services in the end-node . .6 0.4.1 Division of responsibility . .6 0.5 Routing and forwarding . .7 0.5.1 Regions of the Internet . .8 0.6 The Domain Name System . .9 0.7 The design of applications . .9 0.7.1 The World Wide Web as an example . .9 0.7.2 E-mail . 11 0.7.3 Different applications are different . 11 0.8 Onward . 12 iii iv CONTENTS 1 Introduction 13 1.1 What is \architecture" . 13 1.2 The role of interfaces . 18 1.2.1 Layering . 19 1.3 Summary{Thinking about architecture . 20 2 Requirements 21 2.1 Fitness for purpose{What is a network for? . 21 2.1.1 Should the network do more? . 22 2.2 Generality . 24 2.2.1 Generality of purpose . 24 2.2.2 Generality of technology . 26 2.3 Longevity . 26 2.4 Security . 28 2.5 Availability and resilience . 28 2.6 Management . 29 2.7 Economic viability . 29 2.8 Meeting needs of society . 30 2.9 Moving beyond requirements . 31 2.9.1 Requirements and architecture . 31 3 The architecture of the Internet{A historical perspective 33 3.1 The relation of architecture to function . 63 4 Architecture and function 67 CONTENTS v 4.1 Introduction . 67 4.2 Per-hop behaviors . 69 4.3 Tussle . 70 4.4 Reasoning about expressive power . 70 4.4.1 Alignment of interests . 71 4.4.2 Delivery . 72 4.4.3 Parameterization . 73 4.5 Pruning the space of options . 75 4.5.1 Some examples . 76 4.6 Tussle and regions . 77 4.7 Generality . 78 4.8 Expressive power and evolvability . 80 4.9 Alternatives for the future . 81 4.9.1 Addressing . 82 4.9.2 Increasing the expressive power of a design . 83 4.9.3 Per-flow state . 85 4.10 PHBs and control of network resources . 88 4.10.1 Debugging . 88 4.11 What is new . 89 4.11.1 PHBs and layering . 90 5 Alternative network architectures 91 5.1 Introduction . 91 5.2 Different requirements–different approaches . 93 vi CONTENTS 5.2.1 Requirement: regional diversity in architecture . 94 5.2.2 Requirement: performance . 99 5.2.3 Requirement: Information Centric Networking . 99 5.2.4 Requirement: architecting for change . 106 5.2.5 Requirement: intermittent and high-latency connec- tivity . 106 5.2.6 Requirement: mobility . 108 5.2.7 Requirement: services in the net . 108 5.2.8 Industry structure . 113 5.3 The Future Internet Architecture project . 114 5.3.1 Expressive Internet Architecture (XIA) . 114 5.3.2 MobilityFirst (MF) . 115 5.3.3 Named Data Networking (NDN) . 116 5.3.4 Nebula . 118 5.3.5 ChoiceNet (CN) . 119 5.3.6 Some comparisons of the FIA projects . 120 5.4 Different requirements{similar mechanisms . 124 5.4.1 Dealing with adverse interests . 130 5.4.2 Counterpoint{the minimality principle . 131 5.4.3 Expressive power . 132 6 Longevity 133 6.1 Introduction{the goal of longevity . 133 6.2 Classes of theories . 134 CONTENTS vii 6.3 Architecture and longevity . 135 6.3.1 The theory of ossification . 136 6.4 The theory of utility . 136 6.4.1 The theory of the general network . 137 6.4.2 The theory of real options . 138 6.5 The theory of tussle and points of control . 138 6.5.1 Tussle and longevity . 140 6.6 The theory of building blocks and composable elements. 141 6.6.1 The theory of programmable elements (active networks)142 6.7 The theory of the stable platform . 143 6.8 The theory of semantics-free service . 143 6.9 The theories of global agreement . 144 6.10 The theory of technology independence . 146 6.11 The theory of the hourglass . 146 6.12 The theory of cross-layer optimization . 146 6.13 The theory of downloadable code . 147 6.14 Change: hard or easy? . 148 6.15 The theory of hegemony . 150 6.16 The present Internet . 150 6.16.1 Global agreement: . 151 6.17 The future . 152 7 Security 155 7.1 Introduction . 155 viii CONTENTS 7.2 Defining security . 155 7.2.1 Defining network security . 157 7.3 A historical perspective . 159 7.4 Attack and defense of the network itself . 161 7.4.1 A case study: Why is securing the network hard? Se- curing interdomain routing in the Internet . 164 7.5 Attacks on network communication . 168 7.5.1 Traffic analysis . 169 7.6 Attacks on the attached hosts . 170 7.6.1 The role of applications . 173 7.6.2 The role of identity . 175 7.7 Denial of Service attacks . 176 7.8 Balancing the aspects of security . 177 7.9 The role of architecture . 180 7.9.1 Attacks on the network . 181 7.9.2 Attacks on communication . 185 7.9.3 Attacks on hosts . 186 7.9.4 Architecture and identity . 186 7.9.5 DDoS attacks . 187 7.10 Conclusions . 193 7.10.1 Barriers to better security . 193 7.10.2 The centrality of trust . 194 7.11 Acknowledgement . 194 CONTENTS ix 8 Availability 195 8.1 Characterizing availability . 195 8.2 A theory of availability . 196 8.3 Availability and security . 200 8.3.1 Routing and availability . 201 8.4 Architecture . 202 8.5 Conclusion . 204 9 Economics 205 9.1 Introduction . 205 9.1.1 A look back . 207 9.1.2 Scarcity . 210 9.2 What shapes industry structure? . 211 9.2.1 Defining the relationship between the parts . 212 9.2.2 The Expressive Power of the Interface . 214 9.2.3 Alternative architectures . 215 9.2.4 Incentives to invest . 216 9.3 Money flows . 218 9.3.1 Architecture and money flows . 220 9.4 Bad outcomes in the future . 222 9.5 Summary{architecture and economics . 223 10 Network Management and Control 225 10.1 Introduction . 225 x CONTENTS 10.2 What is management? . 226 10.2.1.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages323 Page
-
File Size-