Preface
About the Authors
1 Communication Networks and Services
1.1 Evolution of Network Architecture and Services
1.1.1 Telegraph Networks and Message Switching
1.1.2 Telephone Networks and Circuit Switching
1.1.3 The Intemet, Computer Networks, and Packet Switching
1.2 Future Network Architectures and Their Services
1.3 Key Factors in Communication Network Evolution
1.3.1 Role of Technology
1.3.2 Role of Regulation
1.3.3 Role of the Market
1.3.4 Role of Standards
Checklist of Important Terms
Further Reading
Problems
2 Applications and Layered Architectures
2.1 Examples of Protocols, Services, and Layering
2.1.1 HTTP, DNS, and SMTP
2.1.2 TCP and UDP Transport Layer Services
2.2 The OSI Reference Model
2.2.1 The Seven-Layer OSI Reference Model
2.2.2 Unified View of Layers, Protocols, and Services
2.3 Overview of TCP/IP Architecture
2.3.1 TCP/IP Architecture
2.3.2 TCP/IP Protocol: How the Layers Work Together
2.3.3 Protocol Overview
2.4 The Berkeley API
2.4.1 Socket System Calls
2.4.2 Network Utility Functions
2.5 Application Layer Protocols and TCP/IP Utilities
2.5.1 Telnet
2.5.2 File Transfer Protocol
2.5.3 Hypertext Transfer Protocol and the World Wide Web
2.5.4 IP Utilities
2.5.5 Tcpdump and Network Protocol Analyzers
Summary
Checklist of Important Terms
Further Reading
Problems
3 Digital Transmission Fundamentals
3.1 Digital Representation of Information
3.1.1 Block-Oriented Information
3.1.2 Stream Information
3.2 Why Digital Communications?
3.2.1 Comparison of Analog and Digital Transmission
3.2.2 Basic Properties of Digital Transmission Systems
3.3 Digital Representation of Analog Signals
3.3.1 Bandwidth of Analog Signals
3.3.2 Sampling of an Analog Signal
3.3.3 Digital Transmission of Analog Signals
3.3.4 SNR Performance of Quantizers
3.4 Characterization of Communication Channels
3.4.1 Frequency Domain Characterization
3.4.2 Time Domain Characterization
3.5 Fundamental Limits in Digital Transmission
3.5.1 The Nyquist Signaling Rate
3.5.2 The Shannon Channel Capacity
3.6 Line Coding
3.7 Modems and Digital Modulation
3.7.1 Binary Phase Modulation
3.7.2 QAM and Signal Constellations
3.7.3 Telephone Modem Standards
3.8 Properties of Media and Digital Transmission Systems
3.8.1 Twisted Pair
3.8.2 Coaxial Cable
3.8.3 Optical Fiber
3.8.4 Radio Transmission
3.8.5 lnfrared Light
3.9 Error Detection and Correction
3.9.1 Error Detection
3.9.2 Two-Dimensional Parity Checks
3.9.3 Internet Checksum
3.9.4 Polynomial Codes
3.9.5 Standardized Polynomial Codes
3.9.6 Error-Detecting Capability of a Polynomial Code
3.9.7 Linear Codes
3.9.8 Error Correction
Summary
Checklist of Important Terms
Further Reading
Problems
Appendix 3A: Asynchronous Data Transmission
Appendix 3B: Fourier Series
Appendix 3C: Sampling Theorem
4 Circuit-Switching Networks
4.1 Multiplexing
4.1.1 Frequency-Division Multiplexing
4.1.2 Time-Division Multiplexing
4.1.3 Wavelength-Division Multiplexing
4.2 SONET
4.2.1 SONET Multiplexing
4.2.2 SONET Frame Structure
4.3 Transport Networks
4.3.1 SONET Networks
4.3.2 Optical Transport Networks
4.4 Circuit Switches
4.4.1 Space-Division Switches
4.4.2 Time-Division Switches
4.5 The Telephone Network
4.5.1 Transmission Facilities
4.5.2 End-to-End Digital Services
4.6 Signaling
4.6.1 Signaling in the Telephone Network
4.6.2 Signaling System #7Architecture
4.7 Traffic and Overload Control in Telephone Networks
4.7.1 Concentration
4.7.2 Routing Control
4.7.3 Overload Controls
4.8 Cellular Telephone Networks
Summary
Checklist of Important Terms
Further Reading
Problems
5 Peer-to-Peer Protocols and Data Link Layer
Part I: Peer-to-Peer Protocols
5.1 Peer-to-Peer Protocols and Service Models
5.1.1 Service Models
5.1.2 Examples of Services
5.1.3 End to End versus Hop by Hop
5.2 ARQ Protocols and Reliable Data Transfer Service
5.2.1 Stop-and-Wait ARQ
5.2.2 Go-Back-N ARQ
5.2.3 Selective Repeat ARQ
5.3 Other Peer-to-Peer Protocols
5.3.1 Sliding-Window Flow Control
5.3.2 Timing Recovery for Synchronous Services
5.3.3 TCP Reliable Stream Service and Flow Control
Part II: Data Link Controls
5.4 Framing
5.5 Point-to-Point Protocol
5.6 HDLC Data Link Control
5.6.1 Data Link Services
5.6.2 HDLC Configurations and Transfer Modes
5.6.3 HDLC Frame Format
5.6.4 Typical Frame Exchanges
5.7 Link Sharing Using Packet Multiplexers
5.7.1 Statistical Multiplexing
5.7.2 Speech Interpolation and the Multiplexing of Packetized Speech
Summary
Checklist of Important Terms
Further Reading
Problems
Appendix 5A: Derivation of Efficiency of ARQ Protocols
6 Medium Access Control Protocols and Local Area Networks
Part I: Medium Access Control Protocols
6.1 Multiple Access Communications
6.2 Random Access
6.2.1 ALOHA
6.2.2 Slotted ALOHA
6.2.3 Carrier Sense Multiple Access
6.2.4 Carrier Sense Multiple Access with Collision Detection
6.3 Scheduling Approaches to Medium Access Control
6.3.1 Reservation Systems
6.3.2 Polling
6.3.3 Token-Passing Rings
6.3.4 Comparison of Scheduling Approaches in Medium Access Control
6.3.5 Comparison of Random Access and Scheduling Medium Access Controls
6.4 Channelization
6.4.1 FDMA
6.4.2 TDMA
6.4.3 CDMA
6.4.4 Channelization in Telephone Cellular Networks
6.5 Delay Performance of MAC and Channelization Schemes
6.5.1 Performance of Channelization Techniques with Bursty Traffic
6.5.2 Performance of Polling and Token Ring Systems
6.5.3 Random Access and CSMA-CD
Part II: Local Area Networks
6.6 LAN Protocols
6.6.1 LAN Structure
6.6.2 The Medium Access Control Sublayer
6.6.3 The Logical Link Control Sublayer
6.7 Ethernet and IEEE 802.3 LAN Standard
6.7.1 Ethernet Protocol
6.7.2 Frame Structure
6.7.3 Physical Layers
6.7.4 Fast Ethernet
6.7.5 Gigabit Ethernet
6.7.6 10 Gigabit Ethernet
6.8 Token-Ring and IEEE 802.5 LAN Standard
6.8.1 Token-Ring Protocol
6.8.2 Frame Structure
6.9 FDDI
6.10 Wireless LANs and IEEE 802.11 Standard
6.10.1 Ad hoc and Infrastructure Networks
6.10.2 Frame Structure and Addressing
6.10.3 Medium Access Control
6.10.4 Physical Layers
6.11 LAN Bridges and Ethernet Switches
6.11.1 Transparent Bridges
6.11.2 Source Routing Bridges
6.11.3 Mixed-Media Bridges
6.11.4 Virtual LANs
Summary
Checklist of Important Terms
Further Reading
Problems
7 Packet-Switching Networks
7.1 Network Services and Internal Network Operation
7.2 Packet Network Topology
7.3 Datagrams and Virtual Circuits
7.3.1 Connectionless Packet Switching
7.3.2 Virtual-Circuit Packet Switching
7.3.3 Structure of a Packet Switch
7.4 Routing in Packet Networks
7.4.1 Routing Algorithm Classification
7.4.2 Routing Tables
7.4.3 Hierarchical Routing
7.4.4 Specialized Routing
7.5 Shortest-Path Routing
7.5.1 The Bellman-Ford Algorithm
7.5.2 Dijkstra﹀s Algorithm
7.5.3 Source Routing versus Hop-by-Hop Routing
7.5.4 Link-State Routing versus Distance-Vector Routing
7.6 ATM Networks
7.7 Traffic Management at the Packet Level
7.7.1 FIFO and Priority Queues
7.7.2 Fair Queueing
7.7.3 Weighted Fair Queueing
7.7.4 Random Early Detection
7.8 Traffic Management at the Flow Level
7.8.1 Open-Loop Control
7.8.2 Closed-Loop Control
7.9 Traffic Management at the Flow-Aggregate Level
Summary
Checklist of Important Terms
Further Reading
Problems
8 TCP/IP
8.1 The TCP/IP Architecture
8.2 The Internet Protocol
8.2.1 IP Packet
8.2.2 IP Addressing
8.2.3 Subnet Addressing
8.2.4 IP Routing
8.2.5 Classless Interdomain Routing (CIDR)
8.2.6 Address Resolution
8.2.7 Reverse Address Resolution
8.2.8 Fragmentation and Reassembly
8.2.9 ICMP: Error and Control Messages
8.3 IPv6
8.3.1 Header Format
8.3.2 Network Addressing
8.3.3 Extension Headers
8.3.4 Migration Issues from IPv4 to IPv6
8.4 User Datagram Protocol
8.5 Transmission Control Protocol
8.5.1 TCP Operation and Reliable Stream Service
8.5.2 TCP Protocol
8.5.3 TCP Congestion Control
8.6 Internet Routing Protocols
8.6.1 Routing Information Protocol
8.6.2 Open Shortest Path First
8.6.3 Border Gateway Protocol
8.7 Multicast Routing
8.7.1 Reverse-Path Broadcasting
8.7.2 Intemet Group Management Protocol
8.7.3 Reverse-Pa& Multicasting
8.7.4 Distance-Vector Multicast Routing Protocol
8.8 DHCP, NAT, and Mobile IP
8.8.1 Dynamic Host Configuration Protocol
8.8.2 Network Address Translation
8.8.3 Mobile IP
Summary
Checklist of Important Terms
Further Reading
Problems
9 ATM Networks
9.1 Why ATM?
9.2 BISDN Reference Model
9.3 ATM Layer
9.3.1 ATM Cell Header
9.3.2 Virtual Connections
9.3.3 QoS Parameters
9.3.4 Traffic Descriptors
9.3.5 ATM Service Categories
9.3.6 Traffic Contracts, Connection Admission Control,and Traffic Management
9.4 ATM Adaptation Layer
9.4.1 AAL1
9.4.2 AAL2
9.4.3 AAL3/4
9.4.4 AAL5
9.4.5 Signaling AAL
9.4.6 Applications, AALs, and ATM Service Categories
9.5 ATM Signaling
9.5.1 ATM Addressing
9.5.2 UNI Signaling
9.5.3 PNNI Signaling
9.6 PNNI Routing
9.7 Classical IP Over ATM
Summary
Checklist of Important Terms
Further Reading
Problems
10 Advanced Network Architectures
10.1 Integrated Services in the Internet
10.1.1 Guaranteed Service
10.1.2 Controlled-Load Service
10.2 RSVP
10.2.1 Receiver-Initiated Reservation
10.2.2 Reservation Merging
10.2.3 Reservation Styles
10.2.4 Soft State
10.2.5 RSVP Message Format
10.3 Differentiated Services
10.3.1 DS Field
10.3.2 Per-Hop Behaviors
10.3.3 Traffic Conditioner
10.3.4 Bandwidth Broker
10.4 Network Interconnection Models
10.4.1 Overlay Model
10.4.2 Peer-to-Peer Model
10.5 MPLS
10.5.1 Fundamentals of Labels
10.5.2 Label Stack and LSP Hierarchy
10.5.3 VC Merging
10.5.4 Label Distribution Protocols
10.5.5 MPLS Support for Virtual Networks
10.5.6 Survivability
10.5.7 GMPLS
10.6 Real-Time Transport Protocol
10.6.1 RTP Scenarios and Terminology
10.6.2 RTP Packet Format
10.6.3 RTP Control Protocol (RTCP)
10.7 Session Control Protocols
10.7.1 Session Initiation Protocol
10.7.2 H. 323 Multimedia Communication Systems
10.7.3 Media Gateway Control Protocols
Summary
Checklist of Important Terms
Further Reading
Problems
11 Security Protocols
11.1 Security and Cryptographic Algorithms
11.1.1 Applications of Cryptography to Security
11.1.2 Key Distribution
11.2 Security Protocols
11.2.1 Application Scenarios
11.2.2 Types of Security Service
11.2.3 Setting Up a Security Association
11.2.4 IPSec
11.2.5 Secure Sockets Layer and Transport Layer Security
11.2.6 802.11 and Wired Equivalent Privacy
11.3 Cryptographic Algorithms
11.3.1 DES
11.3.2 RSA
Summary
Checklist of Important Terms
Further Reading
Problems
12 Multimedia Information
12.1 Lossless Data Compression
12.1.1 Huffman Codes
12.1.2 Run-Length Codes
12.1.3 Adaptive Data Compression Codes
12.2 Compression of Analog Signals
12.2.1 Adaptive Quantizers
12.2.2 Predictive Coding
12.2.3 Transform and Subband Coding
12.3 Image and Video Coding
12.3.1 Discrete Cosine Transform Coding
12.3.2 The JPEG Image-Coding Standard
12.3.3 Compression of Video Signals
12.3.4 The MPEG Video-Coding Standards
12.3.5 MPEG Multiplexing
Summary
Checklist of Important Terms
Further Reading
Problems
Epilogue
Appendices
A Delay and Loss Performance
A.1 Delay Analysis and Little﹀s Formula
A.1.1 Arrival Rates and Traffic Load Definitions
A.1.2 Little﹀s Formula
A.2 Basic Queueing Models
A.2.1 Arrival Processes
A.2.2 Service Times
A.2.3 Queueing System Classification
A.3 M/M/1: A Basic Multiplexer Model
A.3.1 M/M/1 Steady State Probabilities and the Notion of Stability
A.3.2 Effect of Scale on Performance
A.3.3 Average Packet Delay in a Network
A.4 The M/G/1 Model
A.4.1 Service Time Variability and Delay
A.4.2 Priority Queueing Systems
A.4.3 Vacation Models and Multiplexer Performance
A.5 Erlang B Formula: M/M/c/c System
Further Reading
B Network Management
B.1 Network Management Overview
B.2 Simple Network Management Protocol (SNMP)
B.3 Structure of Management Information
B.4 Management Information Base
B.5 Remote Network Monitoring
Further Reading
Index