Wiley Networking Council Series
Total Page:16
File Type:pdf, Size:1020Kb
Y L F M A E T Brought to you by Team FLY® Team-Fly® Page i High-Speed Networking A Systematic Approach to High-Bandwidth Low-Latency Communication Page ii This page intentionally left blank. Page iii High-Speed Networking A Systematic Approach to High-Bandwidth Low-Latency Communication James P.G. Sterbenz and Joseph D. Touch with contributions from Julio Escobar Rajesh Krishnan Chunming Qiao technical editor A. Lyman Chapin Page iv Publisher: Robert Ipsen Editor: Carol A. Long Assistant Editor: Adaobi Obi Managing Editor: Gerry Fahey Text Design & Composition: UG / GGS Information Services, Inc. Designations used by companies to distinguish their products are often claimed as trademarks. In all instances where John Wiley & Sons, Inc., is aware of a claim, the product names appear in initial capital or ALL CAPITAL LETTERS. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and registration. Copyright © 2001 by James P.G. Sterbenz and Joseph D. Touch. All rights reserved. Published by John Wiley & Sons, Inc. 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, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per- copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4744. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 605 Third Avenue, New York, NY 10158-0012, (212) 850-6011, fax (212) 850-6008, E-Mail: PERMREQ @ WILEY.COM. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold with the understanding that the publisher is not engaged in professional services. If professional advice or other expert assistance is required, the services of a competent professional person should be sought. This title is also available in print as ISBN 0-471-33036-1 For more information about Wiley products, visit our web site at www.Wiley.com Page v Wiley Networking Council Series Series Editors: Scott Bradner Senior Technical Consultant , Harvard University Vinton Cerf Senior Vice President, MCIWorldCom Lyman Chapin Chief Scientist, BBN Technologies Books in series: ISP Survival Guide: Strategies for Running a Competitive ISP Geoff Huston ISBN: 0-471-31499-4 Implementing IPsec: Making Security Work on VPN's, Intranets, and Extranets Elizabeth Kaufman, Andrew Newman ISBN: 0-471-34467-2 Internet Performance Survival Guide: QoS Strategies for Multiservice Networks Geoff Huston ISBN: 0-471-37808-9 ISP Liability Survival Guide: Strategies for Managing Copyright, Spam, Cache, and Privacy Regulations Tim Casey ISBN: 0-471-37748-1 VPN Applications Guide: Real Solutions for Enterprise Networks Dave McDysan ISBN: 0-471-37175-0 Converged Networks and Services: Internetworking IP and the PSTN Igor Faynberg, Hui -Lan Lu, and Lawrence Gabuzda ISBN: 0-471-35644-1 WAN Survival Guide: Strategies for VPNs and Multiservice Networks Howard C. Berkowitz ISBN: 0-471-38428-3 The NAT Handbook: Implementing and Managing Network Address Translation Bill Dutcher ISBN: 0-471-39089-5 Page vi This page intentionally left blank. Page vii To my wife Kris and daughter Katy Page viii This page intentionally left blank. Page ix Contents Networking Council Foreword xv Acknowledgments xvii Chapter 1 Introduction 1 1.1 Bandwidth and Latency 2 1.1.1 Individual Delay 2 1.1.2 Aggregate Bandwidth 3 1.2 What is High Speed? 3 1.2.1 High-Speed Technologies 4 1.2.2 Barriers and Constraints 4 1.3 Organization of This Book 6 Chapter 1— Introduction 6 Chapter 2— Fundamentals and Design Principles 7 Chapter 3— Network Architecture and Topology 9 Chapter 4— Network Control and Signaling 10 Chapter 5— Network Components 10 Chapter 6— End Systems 10 Chapter 7— End-to -End Protocols 11 Chapter 8— Networked Applications 11 Chapter 9— Future Directions and Conclusion 12 1.4 Who Should Read This Book 12 Chapter 2 Fundamentals and Design Principles 13 2.1 A Brief History of Networking 14 2.1.1 First Generation: Emergence 16 2.1.2 Second Generation: The Internet 16 2.1.3 Third Generation: Convergence and the Web 17 2.1.4 Fourth Generation: Scale, Ubiquity, and Mobility 19 2.2 Drivers and Constraints 20 2.2.1 Applications 20 2.2.2 The Ideal Network 23 2.2.3 Limiting Constraints 27 Page x 2.3 Design Principles and Tradeoffs 31 2.3.1 Critical Path 34 2.3.2 Resource Tradeoffs 37 2.3.3 End-to-End versus Hop-by -Hop 39 2.3.4 Protocol Layering 41 2.3.5 State and Hierarchy 49 2.3.6 Control Mechanisms 54 2.3.7 Distribution of Application Data 60 2.3.8 Protocol Data Units 61 2.4 Design Techniques 63 2.4.1 Scaling Time and Space 63 2.4.2 Cheating and Masking the Speed of Light 64 2.4.3 Specialized Hardware Implementation 65 2.4.4 Parallelism and Pipelining 65 2.4.5 Data Structure Optimization 68 2.4.6 Latency Reduction 70 2.5 Summary 72 2.5.1 Further Reading 72 Key Axioms 73 Key Design Principles Y 75 L Chapter 3 Network Architecture and Topology 79 F 3.1 Topology and Geography 80 3.1.1 Scalability M 81 3.1.2 Latency A 82 3.1.3 Bandwidth 88 3.1.4 Virtual Overlays and LightpathsE 90 3.1.5 Practical Constraints T 94 3.2 Scale 95 3.2.1 Network Engineering 95 3.2.2 Hierarchy 97 3.2.3 Bandwidth Aggregation and Isolation 101 3.2.4 Latency Optimization 102 3.2.5 Wireless Network Density 103 3.2.6 Practical Constraints 107 3.3 Resource Tradeoffs 110 3.3.1 Bandwidth, Processing, and Memory 111 3.3.2 Latency as a Constraint 112 3.3.3 Relative Scaling with High Speed 114 3.3.4 Active Networking 115 3.4 Summary 116 3.4.1 Further Reading 116 Key Network Topology Principles 117 Team-Fly® Page xi Chapter 4 Network Control and Signaling 119 4.1 Signaling and Control 121 4.1.1 Circuit and Message Switching 122 4.1.2 Packet Switching 126 4.1.3 Fast Packet Switching 128 4.1.4 Intermediate Control Mechanisms 134 4.1.5 Fast Circuit and Burst Switching 139 4.1.6 Multicast Flows 143 4.1.7 Session Control 145 4.2 Traffic Management 148 4.2.1 Resource Reservation 151 4.2.2 Network-Based Congestion Control 152 4.3 Path Routing Dynamics 157 4.3.1 Multipoint Groups 158 4.3.2 Node Mobility 159 4.4 Monitoring and Management 161 4.5 Summary 163 4.5.1 Further Reading 163 Axioms and Principles 163 Chapter 5 Network Components 165 5.1 Links 167 5.1.1 Physical Transmission Media 167 5.1.2 Link Technologies 176 5.1.3 Link-Layer Components 188 5.1.4 Support for Higher Layers 192 5.2 Switches and Routers 195 5.2.1 Switching 196 5.2.2 Traditional Store -and-Forward Routers 199 5.2.3 Ideal Switch Architecture 201 5.3 Fast Packet Switches 202 5.3.1 Switch Architecture 202 5.3.2 Input and Label Processing 203 5.3.3 Packet Size and Variability 206 5.3.4 Packet Structure 213 5.3.5 Traffic Management 215 5.3.6 Functional Partitioning 223 5.4 Switch Fabric Architecture 226 5.4.1 Buffering 227 5.4.2 Single-Stage Shared Elements 233 5.4.3 Single-Stage Space Division Elements 236 5.4.4 Multistage Switches 241 5.4.5 Multicast Support 246 Page xii 5.5 Fast Datagram Switches 249 5.5.1 Overall Architecture and Performance 251 5.5.2 Fast Forwarding Lookup 254 5.5.3 Packet Classification and Filtering 268 5.5.4 Output Processing and Packet Scheduling 271 5.6 Higher-Layer and Active Processing 274 5.6.1 Alternative Strategies 275 5.6.2 Active Network Nodes 275 5.7 Summary 279 5.7.1 Further Reading 280 Network Component Axioms and Principles 281 Chapter 6 End Systems 285 6.1 End System Components 287 6.1.1 End System Hardware 287 6.1.2 End System Software 288 6.1.3 End System Bottlenecks 289 6.1.4 Traditional End System Implementation 291 6.1.5 Ideal End System Architecture 294 6.2 Protocol and OS Software 296 6.2.1 Protocol Software 297 6.2.2 Operating Systems 301 6.2.3 Protocol Software Optimizations 309 6.3 End System Organization 313 6.3.1 Host Interconnects 314 6.3.2 Host–Network Interconnection Alternatives 318 6.3.3 Host–Network Interface Issues 321 6.4 Host–Network Interface 326 6.4.1 Offloading of Communication Processing 327 6.4.2 Network Interface Design 330 6.5 Summary 340 6.5.1 Further Reading 340 End System Axioms and Principles 341 Chapter 7 End-to-End Protocols 343 7.1 Functions and Mechanisms 344 7.1.1 End-to-End Semantics 345 7.1.2 End-to-End Mechanisms 352 7.1.3 Transport Protocols 353 7.1.4 Control of State 357 7.2 State Management 360 7.2.1 Impact of High Speed 360 7.2.2 Transfer Modes 364 Page xiii 7.2.3 State Establishment and Maintenance 373 7.2.4 Assumed Initial Conditions 377 7.3 Framing and Multiplexing 378 7.3.1 Framing and Fragmentation 378 7.3.2 Application Layer Framing 382 7.3.3 Multiplexing 384 7.4 Error Control 386 7.4.1 Types and Causes of Errors 386 7.4.2 Impact of High Speed 390 7.4.3 Closed-Loop Retransmission 391 7.4.4 Open-Loop Error Control 398 7.5 Flow and Congestion Control 400 7.5.1 Impact of High Speed 402 7.5.2 Open-Loop Rate Control 402 7.5.3 Closed-Loop Flow Control 408 7.5.4 Closed-Loop Congestion Control 409 7.5.5 Hybrid Flow and Congestion Control 417 7.6 Security and Information Assurance 422 7.6.1 End-to-End Security 423 7.6.2 High-Speed Security 425 7.7 Summary 427 7.7.1 Further Reading 427 End-to-End Axioms and Principles 428 Chapter 8 Networked Applications 431 8.1 Application Characteristics 433 8.1.1 Bandwidth 434 8.1.2 Latency 438 8.1.3 Error Tolerance 444 8.1.4