Download - Patterns in Network Architecture - GBV
Patterns in Network Architecture
A Return to Fundamentals
JOHN DAY
Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid
Cape Town • Sydney • Tokyo • Singapore • Mexico City
Contents
Preface The Seven Unanswered Questions xiii
Chapter 1 Foundations for Network Architecture 1
Introduction 1 Beginning at the Beginning 4
Levels of Abstraction 7
Model 10 Service 11 Protocol and Interface 14 Implementation 15
Specifying Protocols 15 Informal Specifications 15 Formal Description Techniques 16
Where to from Here 19
Chapter 2 Protocol Elements 23
Introduction 23
Protocol Architecture 23 Elements of a Protocol 24
Data Units 31 Constructing Protocol 36 The Size of PDUs 38 Mechanism and Policy 39 QoS Versus NoS 43
A Short Catalog of Data Transfer Mechanisms 44
Delimiting 45 Initial State Synchronization 45
Policy Selection 46 Addressing 47 Flow or Connection Identifier 47
Relaying 47 Multiplexing 48
vii
PATTERNS IN NETWORK ARCHITECTURE
Ordering 48
Fragmentation/Reassembly 48 Combining/Separation 48
Data Corruption 49
Lost and Duplicate Detection 50
Flow Control 50 Retransmission Control or Acknowledgment 50 Compression 51
Authentication 51
Access Control 52
Integrity 52 Confidentiality 52 Nonrepudiation 52
Activity 52 Phases of Operation 53
The Enrollment Phase 53 The Establishment or Synchronization Phase 55
The Data Transfer Phase 55 Conclusions 56
Chapter 3 Patterns in Protocols 57
Introduction 57
The Two Major Architecture Paradigms 60 The Layered Model 60 The Beads-on-a-String Model 62
The Connectionless/Connection Debate 66
Background 66
Finding for a Synthesis: The Easy Part 72
The Types of Mechanisms 75 How Many PDUs in a Protocol? 76
The Types of Protocols 78 The Architecture of Data Transfer PMs 82
Finding a Synthesis: The Hard Part 85 Conclusions 94
CONTENTS ix
Chapter 4 Stalking the Upper-Layer Architecture 97
Introduction 97
A Bit of History 99 The Upper Layer(s) of the ARPANET 99
The OSI Attempt or "Green Side Up" 110
Network Management 123
HTTP and the Web 129 Directory- or Name-Resolution Protocols 132
What Distinguishes the Upper Layers 136
Semantic Significance 137 Location Independence 138
Conclusions 140
Chapter 5 Naming and Addressing 141
Introduction 141
Why Do We Need Naming and Addressing? 142
How the Problem Arose 143 Background on Naming and Addressing 146
Foundations of Mathematics and Naming 146 Naming and Addressing in Telephony 151
Naming in Operating Systems 152 X.25 and the ITU 154 The Evolution of Addressing in the Internet: Early IP 154
OSI and NSAPs 161
Addressing in IPv6 168 Looking Back over IPv6 174 "Upper-Layer" or Application Addressing in OSI 178 URI, URL, URN, and So On: Upper-Layer Addressing in the Internet 182
Conclusions 183
Chapter 6 Divining Layers 185
Introduction 185
Putting Protocols Together 186
What We Have Seen 186
PATTERNS IN NETWORK ARCHITECTURE
Listening to the Problem 192
Introduction 192
Communications Within a Single System 194
Communications Between Two Systems 199 Invalidated Assumptions 203 New Elements Required 204
Simultaneous Communications Between Two Systems 205 Communications with N Systems 210
Communication with N Systems on the Cheap 214 Initial Conclusions 219
Taking Stock 223
The Network IPC Architecture (NIPCA) 225 Organizing Layers 228
Conclusions 232
Chapter 7 The Network IPC Model 235
Introduction 235
Basic Structure 237 Definitions 237
Description of the Basic System 239 Naming Concepts for (N)-DIFs and Applications 245
Definitions 245
The (N)-Distributed IPC Facility 248 Definitions 248 The (N)-IPC-Process 250 The (N)-IPC-APM 251
The IPC Management Task 257 Network Management Protocol and Management Architecture 263
The Nature of Layers 264 Operation of the DIF 266
Adding a New Member to an (N)-DIF 266 Creating a New DIF 268 Data Transfer 269
Identifiers in an (N)-DIF 271 The (N)-Port-ID 272 Application Process Names 273 (N)-Addresses 273
CONTENTS
IPC Facilities 277 IPC Structures 277 Multiple (N)-DIFs of the Same Rank 278
Implications for Security 279
Conclusions 281
Chapter 8 Making Addresses Topological 283
Introduction 283 General Properties of Addressing 286
Names and Addresses 286 Introducing Topology to Addressing 289
Definitions . 289 Topologies for Addressing 293 The Role of Hierarchy in Addressing 297
The Hierarchy of Layers 298 The Hierarchical Topology of Address Spaces 299
The Hierarchy of Networks 301 Melding Address Spaces and the Hierarchy of Layers 304
Hierarchical Addressing Architecture 307 Single-Layer Address Topology 308 Single-Layer Hierarchical Address Topology 308
Address Topology for a Hierarchy of Layers 310 Addressing Topologies for Multiple Hierarchies of Layers 313
Modeling the Public Internet 314 Conclusions 316
Chapter 9 Multihoming, Multicast, and Mobility 317
Introduction 317
Multihoming 318
Multicast Architecture 323 Introduction to the Multicast Problem 323 The Multicast Model 326 Multicast "Addressing" 327 Multicast Distribution 329
Sentential Naming Operations and Their Resolution 330
Multicast Distribution in a Recursive Architecture 331
Multiplexing Multicast Groups 333 Reliable Multicast 334
PATTERNS IN NETWORK ARCHITECTURE
Mobility 338
Mobility in IP and Cellular Networks 339 Mobility in NIPCA 342
Ad Hoc Mobile Networking 346
Mobile Application Processes 347 Conclusions 349
Chapter 10 Backing Out of a Blind Alley 351
Introduction 351
Consolidation and the Next Generation 352 How Did This Happen? 362 The Importance of Theory 368 Finding a New Path 373
The High Points 375
Appendix A Outline for Gedanken Experiment on Separating Mechanism and Policy 385
Part I Service Definitions 385 Part II Protocol Specifications 386 Part III Mechanism Specifications 387
Bibliography 389
Index 399