CONTENTS
PREFACE
1 INTRODUCTION
1.1 USES OF COMPUTER NETWORKS
1.1.1 Networks for Companies
1.1.2 Networks for People
1.1.3 Social Issues
1.2 NETWORK HARDWARE
1.2.1 Local Area Networks
1.2.2 Metropolitan Area Networks
1.2.3 Wide Area Networks
1.2.4 Wireless Networks
1.2.5 Intemetworks
1.3 NETWORK SOFTWARE
1.3.1 Protocol Hierarchies
1.3.2 Design Issues for the Layers
1.3.3 Interfaces and Services
1.3.4 Connection-Oriented and Connectionless Services
1.3.5 Service Primitives
1.3.6 The Relationship of Services to Protocols
1.4 REPERENCE MODELS
1.4.1 The OSI Reference Model
1.4.2 The TCP/IP Reference Model
1.4.3 A Comparison of the OSI and TCP Reference Models
1.4.4 A Critique of the OSI Model and Protocols
1.4.5 A Critique of the TCP/IP Reference Model
1.5 EXAMPLE NETWORKS
1.5.1 Novell Netware
1.5.2 The ARPANET
1.5.3 NSFNET
1.5.4 Thelnternet
1.5.5 Gigabit Testbeds
1.6 EXAMPLE DATA COMMUNICATION SERVICES
1.6.1 SMDS-Switched Multimegabit Data Service
1.6.2 X.25Networks
1.6.3 FrameRelay
1.6.4 Broadband ISDN and ATM
1.6.5 Comparison of Services
1.7 NETWORK STANDARDIZATION
1.7.1 Who's Who in the Telecommunications World
1.7.2 Who's Who in the Intemational Standards World
1.7.3 Who's Who in the Intemet Standards World
OUTLINE OF THE REST OP THE BOOK
SUMMARY
2 THE PHYSICAL LAYER
2.1 THE THEORETICAL BASIS FOR DATA COMMUNICATION
2.1.1 Fourier Analysis
2.1.2 Bandwidth-Limited Signals
2.1.3 The Maximum Data Rate of a Channel
2.2 TRANSMISSION MEDIA
2.2.1 'Magnetic Media
2.2.2 TwistedPair
2.2.3 Baseband Coaxial Cable
2.2.4 Broadband Coaxial Cable
2.2.5 FiberOptics
2.3 WIRELESS TRANSMISSION
2.3.1 The Electromagnetic Spectrum
2.3.2 Radio Transmission
2.3.3 Microwave Transmission
2.3.4 Infrared and Millimeter Waves
2.3.5 Lightwave Transmission
2.4 THE TELEPHONE SYSTEM
2.4.1 Structure of the Telephone System
2.4.2 ThePoliticsofTelephones
2.4.3 The Local Loop
2.4.4 Trunks and Multiplexing
2.4.5 Switching
2.5 NARROWBAND ISDN 139
2.5.1 ISDNServices
2.5.2 ISDN System Architecture
2.5.3 The ISDN Interface
2.5.4 Perspective on N-ISDN
2.6 BROADBAND ISDN AND ATM
2.6.1 Virtual Circuits versus Circuit Switching
2.6.2 Transmission in ATM Networks
2.6.3 ATM Switches
2.7 CELLULAR RADIO
2.7.1 Paging Systems
2.7.2 Cordless Telephones
2.7.3 Analog Cellular Telephones
2.7.4 Digital Cellular Telephones
2.7.5 Personal Communications Services
2.8 COMMUNICATION SATELLITES
2.8.1 Geosynchronous Satellites
2.8.2 Low-Orbit Satellites
2.8.3 Satellites versus Fiber
2.9 SUMMARY
3 THE DATA LINK LAYER
3.1 DATA LINK LAYER DESIGN ISSUES
3.1.1 Services Provided to thc Network Layer
3.1.2 Framing
3.1.3 ErrorControl
3.1.4 Flow Control
3.2 ERROR DETECTION AND CORRECTION
3.2.1 Error-Correcting Codes
3.2.2 Error-Detecting Codes
3.3 ELEMENTARY DATA LINK PROTOCOLS
3.3.1 An Unrestricted Simplex Protocol
3.3.2 A Simplex Stop-and-Wait Protocol
3.3.3 A Simplex Protocol for a Noisy Channel
3.4 SLIDING WINDOW PROTOCOLS
3.4.1 A One Bit Sliding Window Protocol
3.4.2 A Protocol Using Go Back n
3.4.3 A Protocol Using Selective Repeat
3.5 PROTOCOL SPECIFICATION AND VERIFICATION
3.5.1 Finite State Machine Models
3.5.2 Petri Net Models
3.6 EXAMPLE DATA LINK PROTOCOLS
3.6.1 HDLC-High-level Data Link Coritrol
3.6.2 The Data Link Layer in the Intemet
3.6.3 The Data Link Layer in ATM
3.7 SUMMARY
4 THE MEDIUM ACCESS SUBLAYER
4.1 THE CHANNEL ALLOCATION PROBLEM
4.1.1 Static Channel Allocation in LANs and MANs
4.1.2 Dynamic Channel Allocation in LANs and MANs
4.2 MULTIPLE ACCESS PROTOCOLS
4.2.1 ALOHA
4.2.2 Carrier Sense Multiple Access Protocols
4.2.3 Collision-Free Protocols
4.2.4 Limited-Contention Protocols
4.2.5 Wavelength Division Multiple Access Protocols
4.2.6 Wireless LAN Protocols
4.2.7 Digital Cellular Radio
4.3 IEEE STANDARD 802 POR LANS AND MANS
4.3.1 IEEE Standard 802.3 and Ethemet
4.3.2 IEEE Standard 802.4: Token Bus
4.3.3 IEEE Standard 802.5: Token Ring
4.3.4 Comparison of 802.3, 802.4, and 802.5
4.3.5 IEEE Standard 802.6: Distributed Queue Dual Bus
4.3.6 IEEE Standard 802.2: Logical Link Control
4.4 BRIDGES
4.4.1 Bridges from 802.x to 802.y
4.4.2 Transparent Bridges
4.4.3 Source Routing Bridges
4.4.4 Comparison of 802 Bridges
4.4.5 Remote Bridges
4.5 HIGH-SPEED LANS
4.5.1 FDDI
4.5.2 PastEthemet
4.5.3 HIPPI-High-Performance Parallel Interface
4.5.4 Fibre Channel
4.6 SATELLITE NETWORKS
4.6.1 Polling
4.6.2 ALOHA
4.6.3 FDM
4.6.4 TDM
4.6.5 CDMA
4.7 SUMMARY
5 THE NETWORK LAYER
5.1 NETWORK LAYER DESIGN ISSUES
5.1.1 Services Provided to the Transport Layer
5.1.2 Intemal Organization of the Network Layer
5.1.3 Comparison of Virtual Circuit and Datagram Subnets
5.2 ROUTING ALGORITHMS
5.2.1 The Optimality Principle
5.2.2 Shortest Path Routing
5.2.3 Flooding
5.2.4 Flow-Based Routing
5.2.5 Distance Vector Routing
5.2.6 Link State Routing
5.2.7 Hierarchical Routing
5.2.8 Routing for Mobile Hosts
5.2.9 Broadcast Routing
5.2.10 Multicast Routing
5.3 CONGESTION CONTROL ALGORITHMS
5.3.1 General Principles of Congestion Control
5.3.2 Congestion Prevention Policies
5.3.3 Traffic Shaping
5.3.4 Flow Specifications
5.3.5 Congestion Control in Virtual Circuit Subnets
5.3.6 ChokePackets
5.3.7 LoadShedding
5.3.8 Jitter Control
5.3.9 Congestion Control for Multicasting
5.4 INTERNETWORKING
5.4.1 How Networks Differ
5.4.2 Concatenated Virtual Circuits
5.4.3 Connectionless Intemetworking
5.4.4 Tunneling
5.4.5 Intemetwork Routing
5.4.6 Fragmentation
5.4.7 Firewalls
5.5 THE NETWORK LAYER IN THE INTERNET
5.5.1 The IP Protocol
5.5.2 IPAddresses
5.5.3 Subnets
5.5.4 Intemet Control Protocols
5.5.5 The Interior Gateway Routing Protocol: OSPF
5.5.6 The Exterior Gateway Routing Protocol: BGP
5.5.7 Intemet Multicasting
5.5.8 MobileIP
5.5.9 CIDR-Classiess InterDomain Routing
5.5.10IPv6
5.6 THE NETWORK LAYER IN ATM NETWORKS
5.6.1 Cell Formats
5.6.2 Connection Setup
5.6.3 Routing and Switching
5.6.4 Service Categories
5.6.5 Quality of Service
5.6.6 Traffic Shaping and Policing
5.6.7 Congestion Control
5.6.8 ATMLANsSUMMARY
6 THE TRANSPORT LAYER
6.1 THE TRANSPORT SERVICE
6.1.1 Services Provided to the Upper Layers
6.1.2 Quality of Service
6.1.3 Transport Service Primitives
6.2 ELEMENTS OF TRANSPORT PROTOCOLS
6.2.1 Addressing
6.2.2 Establishing a Connection
6.2.3 Releasing a Connection
6.2.4 Flow Control and Buffering
6.2.5 Multiplexing
6.2.6 Crash Recovery
6.3 A SIMPLE TRANSPORT PROTOCOL
6.3.1 The Example Service Primitives
6.3.2 The Example Transport Entity
6.3.3 The Example as a Finite State Machine
6.4 THE INTERNET TRANSPORT PROTOCOLS (TCP AND UDP)
6.4.1 The TCP Service Model
6.4.2 The TCP Protocol
6.4.3 The TCP Segment Header
6.4.4 TCP Connection Management
6.4.5 TCP Transmission Policy
6.4.6 TCP Congestion Control
6.4.7 TCP Timer Management
6.4.8 UDP
6.4.9 Wireless TCP and UDP
6.5 THE ATM AAL LAYER PROTOCOLS
6.5.1 Structure of the ATM Adaptation Layer
6.5.2 AAL 1
6.5.3 AAL2
6.5.4 AAL3/4
6.5.5 AAL5
6.5.6 Comparison of AAL Protocols
6.5.7 SSCOP-Service Specific Connectiori-Oriented Protoco
6.6 PERFORMANCE ISSUES
6.6.1 Performance Problems in Computer Networks
6.6.2 Measuring Network Perfonnance
6.6.3 System Design for Better Performance
6.6.4 Fast TPDU Processing 565
6.6.5 Protocols for Gigabit Networks
6.7 SUMMARY
7 THE APPLICATION LAYER
7.1 NETWORK SECURITY
7.1.1 Traditional Cryptography
7.1.2 Two Fundamental Cryptographic Principles
7.1.3 Secret-Key Algorithms
7.1.4 Public-Key Algorithms
7.1.5 Authentication Protocols
7.1.6 Digital Signatures
7.1.7 Social Issues
7.2 DNS-DOMAIN NAME SYSTEM
7.2.1 The DNS Name Space
7.2.2 Resource Records
7.2.3 Name Servers
7.3 SNMP-SIMPLE NETWORK MANAGEMENT PROTOCOL
7.3.1 TheSNMPModel
7.3.2 ASN.l-Abstract Syntax Notation 1
7.3.3 SMI-Structure of Management Information
7.3.4 The MIB--Management Infonnation Base
7.3.5 The SNMP Protocol
7.4 ELECTRONIC MAIL
7.4.1 Architecture and Services
7.4.2 The User Agent
7.4.3 Message Formats
7.4.4 Message Transfer
7.4.5 Email Privacy
7.5 USENETNEWS
7.5.1 The User View of USENET
7.5.2 How USENET is Implemented
7.6 THE WORLD WIDE WEB
7.6.1 The Client Side
7.6.2 The Server Side
7.6.3 Writing a Web Page in HTML
7.6.4 Java
7.6.5 Locating Information on the Web
7.7 MULTIMEDIA
7.7.1 Audio
7.7.2 Video
7.7.3 Data Compression
7.7.4 Video on Demand
7.7.5 MBone-Multicast Backbone
7.8 SUMMARY
8 READING LIST AND BIBLIOGRAPHY
8.1 " SUGGESTIONS FOR FURTHER READING
8.1.1 Introduction and General Works
8.1.2 The Physical Layer
8.1.3 The Data Link Layer
8.1.4 The Medium Access Control Sublayer
8.1.5 The Network Layer
8.1.6 The Transport Layer
8.1.7 The Application Layer
8.2 ALPHABETICAL BIBLIOGRAPHY
INDEX