patterns in network architecture - gbv

7
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

Upload: others

Post on 20-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Patterns in Network Architecture - GBV

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

Page 3: Patterns in Network Architecture - GBV

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

Page 4: Patterns in Network Architecture - GBV

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

Page 5: Patterns in Network Architecture - GBV

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

Page 6: Patterns in Network Architecture - GBV

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

Page 7: Patterns in Network Architecture - GBV

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