Table of Contents
THE TCP/IP GUIDE
ABOUT THE AUTHOR
ACKNOWLEDGMENTS
INTRODUCTION
Goals of The TCP/IP Guide
Scope of The TCP/IP Guide
The TCP/IP Guide Features
The TCP/IP Guide Online!
Your Feedback and Suggestions
I-1. NETWORKING FUNDAMENTALS
1. NETWORKING INTRODUCTION, CHARACTERISTICS, AND TYPES
Introduction to Networking
What Is Networking?
The Advantages and Benefits of Networking
The Disadvantages and Costs of Networking
Fundamental Network Characteristics
Networking Layers, Models, and Architectures
Protocols: What Are They, Anyway?
Circuit-Switching and Packet-Switching Networks
Circuit Switching
Packet Switching
Which Switching Method to Choose?
Connection-Oriented and Connectionless Protocols
Messages: Packets, Frames, Datagrams, and Cells
Message Formatting: Headers, Payloads, and Footers
Message Addressing and Transmission Methods: Unicast, Broadcast, and Multicast
Network Structural Models and Client-Server and Peer-to-Peer Networking
Types and Sizes of Networks
Segments, Networks, Subnetworks, and Internetworks
The Internet, Intranets, and Extranets
2. NETWORK PERFORMANCE ISSUES AND CONCEPTS
Putting Network Performance in Perspective
Balancing Network Performance with Key Nonperformance Characteristics
Performance Measurements: Speed, Bandwidth, Throughput, and Latency
Speed
Bandwidth
Throughput
Latency
Summary of Performance Measurements
Understanding Performance Measurement Units
Bits and Bytes
Baud
Theoretical and Real-World Throughput, and Factors Affecting Network Performance
Normal Network Overhead
External Performance Limiters
Network Configuration Problems
Asymmetry
Simplex, Full-Duplex, and Half-Duplex Operation
Simplex Operation
Half-Duplex Operation
Full-Duplex Operation
Quality of Service (QoS)
3. NETWORK STANDARDS AND STANDARDS ORGANIZATIONS
Proprietary, Open, and De Facto Standards
Proprietary Standards
Open Standards
De Facto Standards
Networking Standards
International Networking Standards Organizations
Networking Industry Groups
Internet Standards Organizations (ISOC, IAB, IESG, IETF, IRSG, and IRTF)
Internet Registration Authorities and Registries (IANA, ICANN, APNIC, ARIN, LACNIC, and RIPE NCC)
Internet Centralized Registration Authorities
Modern Hierarchy of Registration Authorities
Internet Standards and the Request for Comment (RFC) Process
RFC Categories
The Internet Standardization Process
4. A REVIEW OF DATA REPRESENTATION AND THE MATHEMATICS OF COMPUTING
Binary Information and Representation: Bits, Bytes, Nibbles, Octets, and Characters
Binary Information
Binary Information Representation and Groups
Byte Versus Octet
Decimal, Binary, Octal, and Hexadecimal Numbers
Binary Numbers and Their Decimal Equivalents
Making Binary Numbers Easier to Use by Grouping Bits
Octal Numbers
Hexadecimal Numbers
Decimal, Binary, Octal, and Hexadecimal Number Conversion
Binary, Octal, and Hexadecimal Conversions
Conversion from Binary, Octal, or Hexadecimal to Decimal
Conversion from Decimal to Binary, Octal, or Hexadecimal
Conversion from Decimal to Binary
Conversion from Decimal to Octal or Hexadecimal
Binary, Octal, and Hexadecimal Arithmetic
Binary Arithmetic
Octal and Hexadecimal Arithmetic
Boolean Logic and Logical Functions
Boolean Logical Functions
NOT
AND and OR
Exclusive-OR (XOR or EOR)
Combining Boolean Expressions
Bit Masking (Setting, Clearing, and Inverting) Using Boolean Logical Functions
Setting Groups of Bits with OR
Clearing Bits with AND
Inverting Bits with XOR
I-2. THE OPEN SYSTEMS INTERCONNECTION (OSI) REFERENCE MODEL
5. GENERAL OSI REFERENCE MODEL ISSUES AND CONCEPTS
History of the OSI Reference Model
General Reference Model Issues
The Benefits of Networking Models
Why Understanding the OSI Reference Model Is Important to You
How to Use the OSI Reference Model
Other Network Architectures and Protocol Stacks
Key OSI Reference Model Concepts
OSI Reference Model Networking Layers, Sublayers, and Layer Groupings
"N" Notation and Other OSI Model Layer Terminology
Interfaces: Vertical (Adjacent Layer) Communication
Protocols: Horizontal (Corresponding Layer) Communication
Data Encapsulation, Protocol Data Units (PDUs), and Service Data Units (SDUs)
Indirect Device Connection and Message Routing
6. OSI REFERENCE MODEL LAYERS
Physical Layer (Layer 1)
Data Link Layer (Layer 2)
Network Layer (Layer 3)
Transport Layer (Layer 4)
Session Layer (Layer 5)
Presentation Layer (Layer 6)
Application Layer (Layer 7)
7. OSI REFERENCE MODEL SUMMARY
Understanding the OSI Model: An Analogy
Remembering the OSI Model Layers: Some Mnemonics
Summarizing the OSI Model Layers: A Summary Chart
I-3. TCP/IP PROTOCOL SUITE AND ARCHITECTURE
8. TCP/IP PROTOCOL SUITE AND ARCHITECTURE
TCP/IP Overview and History
TCP/IP History and Development
Important Factors in the Success of TCP/IP
TCP/IP Services
The TCP/IP Client/Server Structural Model
Hardware and Software Roles
Transactional Roles
TCP/IP Architecture and the TCP/IP Model
Network Interface Layer
Internet Layer
Host-to-Host Transport Layer
Application Layer
TCP/IP Protocols
II-1. TCP/IP NETWORK INTERFACE LAYER PROTOCOLS
9. TCP/IP SERIAL LINE INTERNET PROTOCOL (SLIP) AND POINT-TO-POINT PROTOCOL (PPP) OVERVIEW AND FUNDAMENTALS
SLIP versus PPP
Serial Line Internet Protocol (SLIP)
SLIP Data Framing Method and General Operation
Problems and Limitations of SLIP
Point-to-Point Protocol (PPP) Overview and Fundamentals
Development and Standardization
Function and Architecture
Advantages and Benefits
PPP Main Components
PPP Functional Groups
General Operation
PPP Link Setup and Phases
Link Dead Phase
Link Establishment Phase
Authentication Phase
Network Layer Protocol Phase
Link Open Phase
Link Termination Phase
PPP Standards
10. PPP CORE PROTOCOLS: LINK CONTROL, NETWORK CONTROL, AND AUTHENTICATION
Link Control Protocol (LCP)
LCP Packets
LCP Link Configuration
LCP Link Maintenance
LCP Link Termination
Other LCP Messages
The Network Control Protocols (IPCP, IPXCP, NBFCP, and Others)
Operation of NCPs
The Internet Protocol Control Protocol (IPCP): An Example NCP
PPP Authentication Protocols: PAP and CHAP
PAP
CHAP
11. PPP FEATURE PROTOCOLS
PPP Link Quality Monitoring and Reporting (LQM, LQR)
LQR Setup
Using Link Quality Reports
PPP Compression Control Protocol (CCP) and Compression Algorithms
CCP Operation: Compression Setup
CCP Configuration Options and Compression Algorithms
Compression Algorithm Operation: Compressing and Decompressing Data
PPP Encryption Control Protocol (ECP) and Encryption Algorithms
ECP Operation: Encryption Setup
ECP Configuration Options and Encryption Algorithms
Encryption Algorithm Operation: Encrypting and Decrypting Data
PPP Multilink Protocol (MP, MLP, MLPPP)
PPP Multilink Protocol Architecture
PPP Multilink Protocol Setup and Configuration
PPP Multilink Protocol Operation
PPP Bandwidth Allocation Protocol (BAP) and Bandwidth Allocation Control Protocol (BACP)
BACP Operation: Configuring the Use of BAP
BAP Operation: Adding and Removing Links
12. PPP PROTOCOL FRAME FORMATS
PPP General Frame Format
Protocol Field Ranges
Protocol Field Values
PPP Field Compression
PPP General Control Protocol Frame Format and Option Format
PPP Control Messages and Code Values
PPP Control Message Option Format
Summary of PPP Control Message Formatting
PPP Link Control Protocol (LCP) Frame Formats
PAP and CHAP Frame Formats
PPP PAP Control Frame Formats
PPP CHAP Control Frame Formats
PPP Multilink Protocol (MP) Frame Format
PPP MP Frame Fragmentation Process
PPP MP Fragment Frame Format
PPP MP Fragmentation Demonstration
II-2. TCP/IP NETWORK INTERFACE/INTERNET LAYER CONNECTION PROTOCOLS
13. ADDRESS RESOLUTION AND THE TCP/IP ADDRESS RESOLUTION PROTOCOL (ARP)
Address Resolution Concepts and Issues
The Need for Address Resolution
Addressing at Layer 2 and Layer 3
General Address Resolution Methods
Address Resolution Through Direct Mapping
How Direct Mapping Works
Problems with Direct Mapping
Dynamic Address Resolution
How Dynamic Addressing Works
Dynamic Address Resolution Caching and Efficiency Issues
Other Enhancements to Dynamic Resolution
TCP/IP Address Resolution Protocol (ARP)
ARP Address Specification and General Operation
ARP Message Types and Address Designations
ARP General Operation
ARP Message Format
ARP Caching
Static and Dynamic ARP Cache Entries
Cache Entry Expiration
Other Caching Features
Proxy ARP
TCP/IP Address Resolution for IP Multicast Addresses
TCP/IP Address Resolution for IP Version 6
14. REVERSE ADDRESS RESOLUTION AND THE TCP/IP REVERSE ADDRESS RESOLUTION PROTOCOL (RARP)
The Reverse Address Resolution Protocol (RARP)
RARP General Operation
Limitations of RARP
II-3. INTERNET PROTOCOL VERSION 4 (IP/IPV4)
15. INTERNET PROTOCOL VERSIONS, CONCEPTS, AND OVERVIEW
IP Overview and Key Operational Characteristics
IP Functions
IP History, Standards, Versions, and Closely Related Protocols
IP Versions and Version Numbers
IP-Related Protocols
16. IPV4 ADDRESSING CONCEPTS AND ISSUES
IP Addressing Overview and Fundamentals
Number of IP Addresses Per Device
Address Uniqueness and Network Specificity
Contrasting IP Addresses and Data Link Layer Addresses
Private and Public IP Network Addresses
IP Address Configuration and Addressing Types
IP Address Size, Address Space, and Notation
IP Address Size and Binary Notation
IP Address Dotted Decimal Notation
IP Address Space
IP Basic Address Structure and Main Components
Network ID and Host ID
Location of the Division Between Network ID and Host ID
IP Addressing Categories and IP Address Adjuncts
Conventional (Classful) Addressing
Subnetted Classful Addressing
Classless Addressing
Subnet Mask and Default Gateway
Number of IP Addresses and Multihoming
IP Address Management and Assignment Methods and Authorities
17. CLASSFUL (CONVENTIONAL) ADDRESSING
IP Classful Addressing Overview and Address Classes
IP Address Classes
Rationale for Classful Addressing
IP Classful Addressing Network and Host Identification and Address Ranges
Classful Addressing Class Determination Algorithm
Determining Address Class from the First Octet Bit Pattern
IP Address Class A, B, and C Network and Host Capacities
IP Addresses with Special Meanings
IP Reserved, Private, and Loopback Addresses
Reserved Addresses
Private, Unregistered, Nonroutable Addresses
Loopback Addresses
Reserved, Private, and Loopback Addressing Blocks
IP Multicast Addressing
Multicast Address Types and Ranges
Well-Known Multicast Addresses
Problems with Classful IP Addressing
18. IP SUBNET ADDRESSING (SUBNETTING) CONCEPTS
IP Subnet Addressing Overview, Motivation, and Advantages
IP Subnetting: Three-Level Hierarchical IP Subnet Addressing
IP Subnet Masks, Notation, and Subnet Calculations
Function of the Subnet Mask
Subnet Mask Notation
Applying the Subnet Mask: An Example
Rationale for Subnet Mask Notation
IP Default Subnet Masks for Address Classes A, B, and C
IP Custom Subnet Masks
Deciding How Many Subnet Bits to Use
Determining the Custom Subnet Mask
Subtracting Two from the Number of Hosts per Subnet and (Possibly) Subnets per Network
IP Subnet Identifiers, Subnet Addresses, and Host Addresses
Subnet Identifiers
Subnet Addresses
Host Addresses Within Each Subnet
IP Subnetting Summary Tables for Class A, Class B, and Class C Networks
IP Variable Length Subnet Masking (VLSM)
The Solution: Variable Length Subnet Masking
Multiple-Level Subnetting Using VLSM
19. IP SUBNETTING PRACTICAL SUBNET DESIGN AND ADDRESS DETERMINATION EXAMPLE
IP Subnetting Step 1: Analyzing Requirements
IP Subnetting Step 2: Partitioning Network Address Host Bits
Class C Subnetting Design Example
Class B Subnetting Design Example
IP Subnetting Step 3: Determining the Custom Subnet Mask
Calculating the Custom Subnet Mask
Class C Custom Subnet Mask Calculation Example
Class B Custom Subnet Mask Calculation Example
Determining the Custom Subnet Mask Using Subnetting Tables
IP Subnetting Step 4: Determining Subnet Identifiers and Subnet Addresses
Class C Subnet ID and Address Determination Example
Class B Subnet ID and Address Determination Example
Using Subnet Address Formulas to Calculate Subnet Addresses
IP Subnetting Step 5: Determining Host Addresses for Each Subnet
Class C Host Address Determination Example
Class B Host Address Determination Example
Shortcuts for Computing Host Addresses
20. IP CLASSLESS ADDRESSING—CLASSLESS INTER-DOMAIN ROUTING (CIDR)/SUPERNETTING
IP Classless Addressing and Supernetting Overview
The Main Problem with Classful Addressing
The Solution: Eliminate Address Classes
The Many Benefits of Classless Addressing and Routing
IP Supernetting: CIDR Hierarchical Addressing and Notation
CIDR (Slash) Notation
Supernetting: Subnetting the Internet
Common Aspects of Classful and Classless Addressing
IP Classless Addressing Block Sizes and Classful Network Equivalents
IP CIDR Addressing Example
First Level of Division
Second Level of Division
Third Level of Division
21. INTERNET PROTOCOL DATAGRAM ENCAPSULATION AND FORMATTING
IP Datagram Encapsulation
IP Datagram General Format
IP Datagram Time to Live (TTL) Field
IP Datagram Type of Service (TOS) Field
IP Datagram Options and Option Format
22. IP DATAGRAM SIZE, FRAGMENTATION, AND REASSEMBLY
IP Datagram Size, MTU, and Fragmentation Overview
IP Datagram Size and the Underlying Network Frame Size
MTU and Datagram Fragmentation
Multiple-Stage Fragmentation
Internet Minimum MTU: 576 Bytes
MTU Path Discovery
IP Message Fragmentation Process
The IP Fragmentation Process
Fragmentation-Related IP Datagram Header Fields
IP Message Reassembly
23. IP ROUTING AND MULTICASTING
IP Datagram Delivery
Direct Datagram Delivery
Indirect Datagram Delivery (Routing)
The Relationship Between Datagram Routing and Addressing
IP Routing Concepts and the Process of Next-Hop Routing
IP Routes and Routing Tables
IP Routing in a Subnet or Classless Addressing (CIDR) Environment
IP Multicasting
Multicast Addressing
Multicast Group Management
Multicast Datagram Processing and Routing
II-4. INTERNET PROTOCOL VERSION 6 (IPV6)
24. IPV6 OVERVIEW, CHANGES, AND TRANSITION
IPv6 Motivation and Overview
IPv6 Standards
Design Goals of IPv6
Major Changes and Additions in IPv6
Transition from IPv4 to IPv6
IPv4 to IPv6 Transition: Differences of Opinion
IPv4 to IPv6 Transition Methods
25. IPV6 ADDRESSING
IPv6 Addressing Overview: Addressing Model, Address Types, and Address Size
IPv6 Addressing Model Characteristics
IPv6 Supported Address Types
IPv6 Address Size and Address Space
IPv6 Address and Address Notation and Prefix Representation
IPv6 Address Hexadecimal Notation
Zero Compression in IPv6 Addresses
IPv6 Mixed Notation
IPv6 Address Prefix Length Representation
IPv6 Address Space Allocation
IPv6 Global Unicast Address Format
Rationale for a Structured Unicast Address Block
Generic Division of the Unicast Address Space
IPv6 Implementation of the Unicast Address Space
Original Division of the Global Routing Prefix: Aggregators
A Sample Division of the Global Routing Prefix into Levels
IPv6 Interface Identifiers and Physical Address Mapping
IPv6 Special Addresses: Reserved, Private, Unspecified, and Loopback
Special Address Types
IPv6 Private Addresses Type Scopes
IPv6/IPv4 Address Embedding
IPv6 Multicast and Anycast Addressing
IPv6 Multicast Addresses
Multicast Scopes
Well-Known Multicast Addresses
Solicited-Node Multicast Addresses
IPv6 Anycast Addresses
IPv6 Autoconfiguration and Renumbering
IPv6 Stateless Autoconfiguration
IPv6 Device Renumbering
26. IPV6 DATAGRAM ENCAPSULATION AND FORMATTING
IPv6 Datagram Overview and General Structure
IPv6 Datagram Main Header Format
IPv6 Next Header Field
Key Changes to the Main Header Between IPv4 and IPv6
IPv6 Datagram Extension Headers
IPv6 Header Chaining Using the Next Header Field
Summary of IPv6 Extension Headers
IPv6 Routing Extension Header
IPv6 Fragment Extension Header
IPv6 Extension Header Order
IPv6 Datagram Options
27. IPV6 DATAGRAM SIZE, FRAGMENTATION, REASSEMBLY, AND ROUTING
Overview of IPv6 Datagram Sizing and Fragmentation
Implications of IPv6's Source-Only Fragmentation Rule
The IPv6 Fragmentation Process
IPv6 Datagram Delivery and Routing
II-5. IP-RELATED FEATURE PROTOCOLS
28. IP NETWORK ADDRESS TRANSLATION (NAT) PROTOCOL
IP NAT Overview
Advantages of IP NAT
Disadvantages of IP NAT
IP NAT Address Terminology
IP NAT Static and Dynamic Address Mappings
Static Mappings
Dynamic Mappings
Choosing Between Static and Dynamic Mapping
IP NAT Unidirectional (Traditional/Outbound) Operation
IP NAT Bidirectional (Two-Way/Inbound) Operation
IP NAT Port-Based (Overloaded) Operation
IP NAT Overlapping/Twice NAT Operation
IP NAT Compatibility Issues and Special Handling Requirements
29. IP SECURITY (IPSEC) PROTOCOLS
IPsec Overview, History, and Standards
Overview of IPsec Services and Functions
IPsec Standards
IPsec General Operation, Components, and Protocols
IPsec Core Protocols
IPsec Support Components
IPsec Architectures and Implementation Methods
Integrated Architecture
Bump in the Stack (BITS) Architecture
Bump in the Wire (BITW) Architecture
IPsec Modes: Transport and Tunnel
Transport Mode
Tunnel Mode
Comparing Transport and Tunnel Modes
IPsec Security Constructs
Security Policies, Security Associations, and Associated Databases
Selectors
Security Association Triples and Security Parameter Index (SPI)
IPsec Authentication Header (AH)
AH Datagram Placement and Linking
IPv6 AH Placement and Linking
IPv4 AH Placement and Linking
AH Format
IPsec Encapsulating Security Payload (ESP)
ESP Fields
ESP Operations and Field Use
Header Calculation and Placement
Trailer Calculation and Placement
ESP Authentication Field Calculation and Placement
ESP Format
IPsec Internet Key Exchange (IKE)
IKE Overview
IKE Operation
30. INTERNET PROTOCOL MOBILITY SUPPORT (MOBILE IP)
Mobile IP Overview, History, and Motivation
The Problem with Mobile Nodes in TCP/IP
The Solution: Mobile IP
Limitations of Mobile IP
Mobile IP Concepts and General Operation
Mobile IP Device Roles
Mobile IP Functions
Mobile IP Addressing: Home and Care-Of Addresses
Foreign Agent Care-Of Address
Co-Located Care-Of Address
Advantages and Disadvantages of the Care-Of Address Types
Mobile IP Agent Discovery
Agent Discovery Process
Agent Advertisement and Agent Solicitation Messages
Agent Solicitation Message Format
Agent Advertisement Message Format
Mobile IP Home Agent Registration and Registration Messages
Mobile Node Registration Events
Registration Request and Registration Reply Messages
Registration Process
Registration Request Message Format
Registration Reply Message Format
Mobile IP Data Encapsulation and Tunneling
Mobile IP Conventional Tunneling
Mobile IP Reverse Tunneling
Mobile IP and TCP/IP Address Resolution Protocol (ARP) Operation
Mobile IP Efficiency Issues
Mobile IP Security Considerations
II-6. IP SUPPORT PROTOCOLS
31. ICMP CONCEPTS AND GENERAL OPERATION
ICMP Overview, History, Versions, and Standards
ICMP General Operation
The ICMP Message-Passing Service
ICMP Error Reporting Limited to the Datagram Source
ICMP Message Classes, Types, and Codes
ICMP Message Classes
ICMP Message Types
ICMP Message Codes
ICMP Message Class and Type Summary
ICMP Message Creation and Processing Conventions and Rules
Limitations on ICMP Message Responses
ICMP Message Processing Conventions
ICMP Common Message Format and Data Encapsulation
ICMP Common Message Format
Original Datagram Inclusion in ICMP Error Messages
ICMP Data Encapsulation
32. ICMPV4 ERROR MESSAGE TYPES AND FORMATS
ICMPv4 Destination Unreachable Messages
ICMPv4 Destination Unreachable Message Format
ICMPv4 Destination Unreachable Message Subtypes
Interpretation of Destination Unreachable Messages
ICMPv4 Source Quench Messages
ICMPv4 Source Quench Message Format
Problems with Source Quench Messages
ICMPv4 Time Exceeded Messages
ICMPv4 Time Exceeded Message Format
Applications of Time Exceeded Messages
ICMPv4 Redirect Messages
ICMPv4 Redirect Message Format
Redirect Message Interpretation Codes
Limitations of Redirect Messages
ICMPv4 Parameter Problem Messages
ICMPv4 Parameter Problem Message Format
Parameter Problem Message Interpretation Codes and the Pointer Field
33. ICMPV4 INFORMATIONAL MESSAGE TYPES AND FORMATS
ICMPv4 Echo (Request) and Echo Reply Messages
ICMPv4 Echo and Echo Reply Message Format
Application of Echo and Echo Reply Messages
ICMPv4 Timestamp (Request) and Timestamp Reply Messages
ICMPv4 Timestamp and Timestamp Reply Message Format
Issues Using Timestamp and Timestamp Reply Messages
ICMPv4 Router Advertisement and Router Solicitation Messages
The Router Discovery Process
ICMPv4 Router Advertisement Message Format
ICMPv4 Router Solicitation Message Format
Addressing and Use of Router Advertisement and Router Solicitation Messages
ICMPv4 Address Mask Request and Reply Messages
ICMPv4 Address Mask Request and Address Mask Reply Message Format
Use of Address Mask Request and Address Mask Reply Messages
ICMPv4 Traceroute Messages
ICMPv4 Traceroute Message Format
Use of Traceroute Messages
34. ICMPV6 ERROR MESSAGE TYPES AND FORMATS
ICMPv6 Destination Unreachable Messages
ICMPv6 Destination Unreachable Message Format
ICMPv6 Destination Unreachable Message Subtypes
Processing of Destination Unreachable Messages
ICMPv6 Packet Too Big Messages
ICMPv6 Packet Too Big Message Format
Applications of Packet Too Big Messages
ICMPv6 Time Exceeded Messages
ICMPv6 Time Exceeded Message Format
Applications of Time Exceeded Messages
ICMPv6 Parameter Problem Messages
ICMPv6 Parameter Problem Message Format
Parameter Problem Message Interpretation Codes and the Pointer Field
35. ICMPV6 INFORMATIONAL MESSAGE TYPES AND FORMATS
ICMPv6 Echo Request and Echo Reply Messages
ICMPv6 Echo and Echo Reply Message Format
Application of Echo and Echo Reply Messages
ICMPv6 Router Advertisement and Router Solicitation Messages
ICMPv6 Router Advertisement Message Format
ICMPv6 Router Solicitation Message Format
Addressing of Router Advertisement and Router Solicitation Messages
ICMPv6 Neighbor Advertisement and Neighbor Solicitation Messages
ICMPv6 Neighbor Advertisement Message Format
ICMPv6 Neighbor Solicitation Message Format
Addressing of Neighbor Advertisement and Neighbor Solicitation Messages
ICMPv6 Redirect Messages
ICMPv6 Redirect Message Format
Application of Redirect Messages
ICMPv6 Router Renumbering Messages
IPv6 Router Renumbering
ICMPv6 Router Renumbering Message Format
Addressing of Router Renumbering Messages
ICMPv6 Informational Message Options
Source Link-Layer Address Option Format
Target Link-Layer Address Option Format
Prefix Information Option Format
Redirected Header Option Format
MTU Option Format
36. IPV6 NEIGHBOR DISCOVERY (ND) PROTOCOL
IPv6 ND Overview
Formalizing Local Network Functions: The Neighbor Concept
Neighbor Discovery Standards
IPv6 ND General Operational Overview
Host-Router Discovery Functions
Host-Host Communication Functions
Redirect Function
Relationships Between Functions
ICMPv6 Messages Used by ND
IPv6 ND Functions Compared to Equivalent IPv4 Functions
IPv6 ND Host-Router Discovery Functions
Host-Router Discovery Functions Performed by Routers
Host-Router Discovery Functions Performed by Hosts
IPv6 ND Host-Host Communication Functions
Next-Hop Determination
Address Resolution
Updating Neighbors Using Neighbor Advertisement Messages
Neighbor Unreachability Detection and the Neighbor Cache
Duplicate Address Detection
IPv6 ND Redirect Function
II-7. TCP/IP ROUTING PROTOCOLS (GATEWAY PROTOCOLS)
37. OVERVIEW OF KEY ROUTING PROTOCOL CONCEPTS
Routing Protocol Architectures
Core Architecture
Autonomous System (AS) Architecture
Modern Protocol Types: Interior and Exterior Routing Protocols
Routing Protocol Algorithms and Metrics
Distance-Vector (Bellman-Ford) Routing Protocol Algorithm
Link-State (Shortest-Path First) Routing Protocol Algorithm
Hybrid Routing Protocol Algorithms
Static and Dynamic Routing Protocols
38. ROUTING INFORMATION PROTOCOL (RIP, RIP-2, AND RIPNG)
RIP Overview
RIP Standardization
RIP Operational Overview, Advantages, and Limitations
Development of RIP Version 2 (RIP-2) and RIPng for IPv6
RIP Route Determination Algorithm and Metric
RIP Routing Information and Route Distance Metric
RIP Route Determination Algorithm
RIP Route Determination and Information Propagation
Default Routes
RIP General Operation, Messaging, and Timers
RIP Messages and Basic Message Types
RIP Update Messaging and the 30-Second Timer
Preventing Stale Information: The Timeout Timer
Removing Stale Information: The Garbage-Collection Timer
Triggered Updates
RIP Problems and Some Resolutions
Issues with RIP's Algorithm
Slow Convergence
Routing Loops
Counting to Infinity
Small Infinity
Issues with RIP's Metric
RIP Special Features for Resolving RIP Algorithm Problems
Split Horizon
Split Horizon with Poisoned Reverse
Triggered Updates
Hold Down
RIP Version-Specific Message Formats and Features
RIP Version 1 (RIP-1) Message Format and Features
RIP-1 Messaging
RIP-1 Message Format
RIP-1 Version-Specific Features
RIP Version 2 (RIP-2) Message Format and Features
RIP-2 Version-Specific Features
RIP-2 Messaging
RIP-2 Message Format
RIPng (RIPv6) Message Format and Features
RIPng Version-Specific Features
RIPng Messaging
RIPng Message Format
39. OPEN SHORTEST PATH FIRST (OSPF)
OSPF Overview
Development and Standardization of OSPF
Overview of OSPF Operation
OSPF Features and Drawbacks
OSPF Basic Topology and the Link-State Database (LSDB)
OSPF Basic Topology
LSDB Information Storage and Propagation
OSPF Hierarchical Topology
OSPF Areas
Router Roles in OSPF Hierarchical Topology
OSPF Route Determination Using SPF Trees
The SPF Tree
OSPF Route Determination
First Level
Second Level
Third Level
OSPF General Operation
OSPF Message Types
OSPF Messaging
OSPF Message Authentication
OSPF Message Formats
OSPF Common Header Format
OSPF Hello Message Format
OSPF Database Description Message Format
OSPF Link State Request Message Format
OSPF Link State Update Message Format
OSPF Link State Acknowledgment Message Format
OSPF Link State Advertisements and the LSA Header Format
40. BORDER GATEWAY PROTOCOL (BGP/BGP-4)
BGP Overview
BGP Versions and Defining Standards
Overview of BGP Functions and Features
BGP Topology
BGP Speakers, Router Roles, Neighbors, and Peers
BGP AS Types, Traffic Flows, and Routing Policies
BGP Traffic Flow and Traffic Types
BGP AS Types
BGP AS Routing Policies
Issues with Routing Policies and Internetwork Design
BGP Route Storage and Advertisement
BGP Route Information Management Functions
BGP Routing Information Bases (RIBs)
BGP Path Attributes and Algorithm Overview
BGP Path Attribute Classes
BGP Path Attribute Characteristics
BGP Route Determination and the BGP Decision Process
BGP Decision Process Phases
Criteria for Assigning Preferences to Routes
Limitations on BGP's Ability to Select Efficient Routes
Originating New Routes and Withdrawing Unreachable Routes
BGP General Operation and Messaging
Speaker Designation and Connection Establishment
Route Information Exchange
Connectivity Maintenance
Error Reporting
BGP Detailed Messaging, Operation, and Message Formats
BGP Message Generation and Transport
BGP General Message Format
BGP Connection Establishment: Open Messages
BGP Open Message Functions
BGP Open Message Format
BGP Route Information Exchange: Update Messages
BGP Update Message Contents
BGP Update Message Format
BGP Connectivity Maintenance: Keepalive Messages
The BGP Keepalive Message Interval
BGP Keepalive Message Format
BGP Error Reporting: Notification Messages
BGP Notification Message Functions
BGP Notification Message Format
41. OTHER ROUTING PROTOCOLS
TCP/IP Gateway-to-Gateway Protocol (GGP)
The HELLO Protocol (HELLO)
Interior Gateway Routing Protocol (IGRP)
Enhanced Interior Gateway Routing Protocol (EIGRP)
TCP/IP Exterior Gateway Protocol (EGP)
II-8. TCP/IP TRANSPORT LAYER PROTOCOLS
42. OVERVIEW AND COMPARISON OF TCP AND UDP
Two Protocols for TCP/IP Transport Layer Requirements
Applications of TCP and UDP
TCP Applications
UDP Applications
Summary Comparison of UDP and TCP
43. TCP AND UDP ADDRESSING: PORTS AND SOCKETS
TCP/IP Processes, Multiplexing, and Client/Server Application Roles
Multiplexing and Demultiplexing
TCP/IP Client Processes and Server Processes
TCP/IP Ports: TCP/UDP Addressing
Multiplexing and Demultiplexing Using Ports
Source Port and Destination Port Numbers
Summary of Port Use for Datagram Transmission and Reception
TCP/IP Application Assignments and Server Port Number Ranges
Reserved Port Numbers
TCP/UDP Port Number Ranges
TCP/IP Client (Ephemeral) Ports and Client/Server Application Port Use
Ephemeral Port Number Assignment
Ephemeral Port Number Ranges
Port Number Use During a Client/Server Exchange
TCP/IP Sockets and Socket Pairs: Process and Connection Identification
Common TCP/IP Applications and Well-Known and Registered Port Numbers
44. TCP/IP USER DATAGRAM PROTOCOL (UDP)
UDP Overview, History, and Standards
UDP Operation
What UDP Does
What UDP Does Not Do
UDP Message Format
UDP Common Applications and Server Port Assignments
Why Some TCP/IP Applications Use UDP
Common UDP Applications and Server Port Use
Applications That Use Both UDP and TCP
45. TCP OVERVIEW, FUNCTIONS, AND CHARACTERISTICS
TCP Overview, History, and Standards
TCP History
Overview of TCP Operation
TCP Standards
TCP Functions
Functions That TCP Performs
Functions That TCP Doesn't Perform
TCP Characteristics
The Robustness Principle
46. TRANSMISSION CONTROL PROTOCOL (TCP) FUNDAMENTALS AND GENERAL OPERATION
TCP Data Handling and Processing
Increasing the Flexibility of Application Data Handling: TCP's Stream Orientation
TCP Data Packaging: Segments
TCP Data Identification: Sequence Numbers
The Need for Application Data Delimiting
TCP Sliding Window Acknowledgment System
The Problem with Unreliable Protocols: Lack of Feedback
Providing Basic Reliability Using Positive Acknowledgment with Retransmission (PAR)
Improving PAR
TCP's Stream-Oriented Sliding Window Acknowledgment System
Conceptual Division of TCP Transmission Stream into Categories
Sequence Number Assignment and Synchronization
The Send Window and Usable Window
Changes to TCP Categories and Window Sizes After Sending Bytes in the Usable Window
Processing Acknowledgments and Sliding the Send Window
Dealing with Missing Acknowledgments
More Information on TCP Sliding Windows
TCP Ports, Connections, and Connection Identification
TCP Common Applications and Server Port Assignments
47. TCP BASIC OPERATION: CONNECTION ESTABLISHMENT, MANAGEMENT, AND TERMINATION
TCP Operational Overview and the TCP Finite State Machine (FSM)
Basic FSM Concepts
The Simplified TCP FSM
TCP Connection Preparation
Storing Connection Data: The Transmission Control Block (TCB)
Active and Passive Opens
Preparation for Connection
TCP Connection Establishment Process: The Three-Way Handshake
Connection Establishment Functions
Control Messages Used for Connection Establishment: SYN and ACK
Normal Connection Establishment: The Three-Way Handshake
Simultaneous Open Connection Establishment
TCP Connection Establishment Sequence Number Synchronization and Parameter Exchange
Initial Sequence Number Selection
TCP Sequence Number Synchronization
TCP Parameter Exchange
TCP Connection Management and Problem Handling
The TCP Reset Function
Handling Reset Segments
Idle Connection Management and Keepalive Messages
TCP Connection Termination
Requirements and Issues In Connection Termination
Normal Connection Termination
The TIME-WAIT State
Simultaneous Connection Termination
48. TCP MESSAGE FORMATTING AND DATA TRANSFER
TCP Message (Segment) Format
TCP Checksum Calculation and the TCP Pseudo Header
Detecting Transmission Errors Using Checksums
Increasing the Scope of Detected Errors: The TCP Pseudo Header
Advantages of the Pseudo Header Method
TCP Maximum Segment Size (MSS)
MSS Selection
TCP Default MSS
Nondefault MSS Value Specification
TCP Sliding Window Data Transfer and Acknowledgment Mechanics
Sliding Window Transmit and Receive Categories
Send (SND) and Receive (RCV) Pointers
TCP Segment Fields Used to Exchange Pointer Information
An Example of TCP Sliding Window Mechanics
Real-World Complications of the Sliding Window Mechanism
TCP Immediate Data Transfer: Push Function
TCP Priority Data Transfer: Urgent Function
49. TCP RELIABILITY AND FLOW CONTROL FEATURES
TCP Segment Retransmission Timers and the Retransmission Queue
Managing Retransmissions Using the Retransmission Queue
Recognizing When a Segment Is Fully Acknowledged
TCP Noncontiguous Acknowledgment Handling and Selective Acknowledgment (SACK)
Policies for Dealing with Outstanding Unacknowledged Segments
A Better Solution: Selective Acknowledgment (SACK)
TCP Adaptive Retransmission and Retransmission Timer Calculations
Adaptive Retransmission Based on RTT Calculations
Acknowledgment Ambiguity
Refinements to RTT Calculation and Karn's Algorithm
TCP Window Size Adjustment and Flow Control
Reducing Send Window Size to Reduce the Rate Data Is Sent
Reducing Send Window Size to Stop the Sending of New Data
Closing the Send Window
TCP Window Management Issues
Problems Associated with Shrinking the TCP Window
Reducing Buffer Size Without Shrinking the Window
Handling a Closed Window and Sending Probe Segments
TCP Silly Window Syndrome
How Silly Window Syndrome Occurs
Silly Window Syndrome Avoidance Algorithms
Receiver SWS Avoidance
Sender SWS Avoidance and Nagle's Algorithm
TCP Congestion Handling and Congestion Avoidance Algorithms
Congestion Considerations
TCP Congestion-Handling Mechanisms
Slow Start
Congestion Avoidance
Fast Retransmit
Fast Recovery
III-1. NAME SYSTEMS AND TCP/IP NAME REGISTRATION AND NAME RESOLUTION
50. NAME SYSTEM ISSUES, CONCEPTS, AND TECHNIQUES
Name System Overview
Symbolic Names for Addressing
A Paradox: Name Systems Are Both Essential and Unnecessary
Factors That Determine the Necessity of a Name System
Basic Name System Functions: Name Space, Name Registration, and Name Resolution
Name Spaces and Name Architectures
Name Space Functions
Flat Name Architecture (Flat Name Space)
Hierarchical Name Architecture (Structured Name Space)
Comparing Name Architectures
Name Registration Methods, Administration, and Authorities
Name Registration Functions
Hierarchical Name Registration
Name Registration Methods
Table Name Registration
Broadcast Name Registration
Database Registration
Name Resolution Techniques and Elements
Name Resolution Methods
Table-Based Name Resolution
Broadcast Name Resolution
Client/Server Name Resolution
Client/Server Name Resolution Functional Elements
Efficiency, Reliability, and Other Name Resolution Considerations
Efficiency Considerations
Reliability Considerations
Other Considerations
51. TCP/IP NAME SYSTEMS OVERVIEW AND THE HOST TABLE NAME SYSTEM
A Brief History of TCP/IP Host Names and Name Systems
Developing the First Name System: ARPAnet Host Name Lists
Storing Host Names in a Host Table File
Outgrowing the Host Table Name System and Moving to DNS
The TCP/IP Host Table Name System
Host Table Name Resolution
Host Table Name Registration
Weaknesses of the Host Table Name System
Use of the Host Table Name System in Modern Networking
Small "Island" Networks
Local Name Mappings to Supplement DNS
52. DOMAIN NAME SYSTEM (DNS) OVERVIEW, FUNCTIONS, AND CHARACTERISTICS
DNS Overview, History, and Standards
Early DNS Development and the Move to Hierarchical Domains
Standardization of DNS and Initial Defining Standards
DNS Evolution and Important Additional Standards
DNS Adaptation for Internet Protocol Version 6
DNS Design Goals, Objectives, and Assumptions
DNS Design Goals and Objectives
DNS Design Assumptions
DNS Components and General Functions
DNS Name Space
Name Registration (Including Administration and Authorities)
Name Resolution
53. DNS NAME SPACE, ARCHITECTURE, AND TERMINOLOGY
DNS Domains and the DNS Hierarchical Name Architecture
The Essential Concept in the DNS Name Space: Domains
The DNS Hierarchical Tree Structure of Names
DNS Structural Elements and Terminology
DNS Tree-Related Terminology
DNS Domain-Related Terminology
DNS Family-Related Terminology
DNS Labels, Names, and Syntax Rules
DNS Labels and Label Syntax Rules
Domain Name Construction
Absolute (Fully Qualified) and Relative (Partially Qualified) Domain Name Specifications
Fully Qualified Domain Names
Partially Qualified Domain Names
54. DNS NAME REGISTRATION, PUBLIC ADMINISTRATION, ZONES, AND AUTHORITIES
DNS Hierarchical Authority Structure and the Distributed Name Database
The DNS Root Domain Central Authority
TLD Authorities
Lower-Level Authority Delegation
Authority Hierarchy's Relationship to the Name Hierarchy
The DNS Distributed Name Database
DNS Organizational (Generic) TLDs and Authorities
Original Generic TLDs
New Generic TLDs
DNS Geopolitical (Country Code) TLDs and Authorities
Country Code Designations
Country Code TLD Authorities
Leasing/Sale of Country Code Domains
Drawbacks of the Geopolitical TLDs
Public Registration for Second-Level and Lower Domains
Registration Authority
Registration Coordination
DNS Public Registration Disputes and Dispute Resolution
Public Registration Disputes
Methods of Registration Dispute Resolution
The Uniform Domain Name Dispute Resolution Policy
DNS Name Space Administrative Hierarchy Partitioning: DNS Zones of Authority
Methods of Dividing a Name Space into Zones of Authority
The Impact of Zones on Name Resolution: Authoritative Servers
DNS Private Name Registration
Using Publicly Accessible Private Names
Using Private Names for Internal Use
Using Private Names on Networks Not Connected to the Internet
55. DNS NAME SERVER CONCEPTS AND OPERATION
DNS General Operation
DNS Name Server Architecture and the Distributed Name Database
DNS Server Support Functions
The Logical Nature of the DNS Name Server Hierarchy
DNS Name Server Data Storage
Binary and Text Representations of Resource Records
Use of RRs and Master Files
Common RR Types
RR Classes
DNS Name Server Types and Roles
Master (Primary)/Slave (Secondary) Servers
Name Server Roles
Caching-Only Name Servers
DNS Zone Management, Contacts, and Zone Transfers
Domain Contacts
Zone Transfers
Control of When Zone Transfers Occur
Zone Transfer Mechanism
DNS Root Name Servers
Root Name Server Redundancy
Current Root Name Servers
DNS Name Server Caching
Name Server Caching
Caching Data Persistence and the Time to Live Interval
Negative Caching
DNS Name Server Load Balancing
Using Multiple Address Records to Spread Out Requests to a Domain
Using Multiple DNS Servers to Spread Out DNS Requests
DNS Name Server Enhancements
Automating Zone Transfers: DNS Notify
Improving Zone Transfer Efficiency: Incremental Transfers
Dealing with Dynamic IP Addresses: DNS Update/Dynamic DNS
56. DNS RESOLUTION CONCEPTS AND RESOLVER OPERATIONS
DNS Resolver Functions and General Operation
Name Resolution Services
Functions Performed by Name Resolvers
DNS Name Resolution Techniques: Iterative and Recursive Resolution
Iterative Resolution
Recursive Resolution
Contrasting Iterative and Recursive Resolution
DNS Name Resolution Efficiency Improvements: Caching and Local Resolution
The Motivation for Caching: Locality of Reference
Name Resolver Caching
Local Resolution
DNS Name Resolution Process
A Simple Example of DNS Name Resolution
Changes to Resolution to Handle Aliases (CNAME Records)
DNS Reverse Name Resolution Using the IN-ADDR.ARPA Domain
The Original Method: Inverse Querying
The IN-ADDR.ARPA Name Structure for Reverse Resolution
RR Setup for Reverse Resolution
DNS Electronic Mail Support and Mail Exchange (MX) Resource Records
Special Requirements for Email Name Resolution
The Mail Exchange (MX) Record and Its Use
57. DNS MESSAGING AND MESSAGE, RESOURCE RECORD, AND MASTER FILE FORMATS
DNS Message Generation and Transport
DNS Client/Server Messaging Overview
DNS Message Transport Using UDP and TCP
DNS Message Processing and General Message Format
DNS Message Header Format
DNS Question Section Format
DNS Message Resource Record Field Formats
DNS Common RR Format
RData Field Formats for Common RRs
A (Address) RR (Type Value 1)
NS (Name Server) RR (Type Value 2)
CName (Canonical Name) RR (Type Value 5)
SOA (Start Of Authority) RR (Type Value 6)
PTR (Pointer) RR (Type Value 12)
MX (Mail Exchange) RR (Type Value 15)
TXT (Text) RR (Type Value 16)
DNS Name Notation and Message Compression
Standard DNS Name Notation
DNS Electronic Mail Address Notation
DNS Message Compression
Using Message Compression to Avoid Duplication of a Full Name
Using Message Compression to Avoid Duplication of Part of a Name
DNS Master File Format
DNS Common Master File Record Format
Use and Interpretation of Partially Qualified Domain Names (PQDNs)
Master File Directives
Syntax Rules for Master Files
Specific RR Syntax and Examples
A (Address) RR
NS (Name Server) RR
CName (Canonical Name) RR
SOA (Start Of Authority) RR
PTR (Pointer) RR
MX (Mail Exchange) RR
TXT (Text) RR
Sample Master File
DNS Changes to Support IPv6
IPv6 DNS Extensions
Proposed Changes to the IPv6 DNS Extensions
III-2. NETWORK FILE AND RESOURCE SHARING PROTOCOLS
58. NETWORK FILE AND RESOURCE SHARING AND THE TCP/IP NETWORK FILE SYSTEM (NFS)
File and Resource Sharing Concepts and Components
The Power of File and Resource Sharing Protocols
Components of a File and Resource Sharing Protocol
NFS Design Goals, Versions, and Standards
NFS Design Goals
NFS Versions and Standards
NFS Architecture and Components
NFS Main Components
Other Important NFS Functions
NFS Data Definition with the External Data Representation (XDR) Standard
A Method of Universal Data Exchange: XDR
XDR Data Types
NFS Client/Server Operation Using Remote Procedure Calls (RPCs)
RPC Operation and Transport Protocol Usage
Client and Server Responsibilities in NFS
Client and Server Caching
NFS Server Procedures and Operations
NFS Version 2 and Version 3 Server Procedures
NFS Version 4 Server Procedures and Operations
NFS File System Model and the Mount Protocol
The NFS File System Model
The Mount Protocol
III-3. HOST CONFIGURATION AND TCP/IP HOST CONFIGURATION PROTOCOLS
59. HOST CONFIGURATION CONCEPTS, ISSUES, AND MOTIVATION
The Purpose of Host Configuration
The Problems with Manual Host Configuration
Automating the Process: Host Configuration Protocols
The Role of Host Configuration Protocols in TCP/IP
60. TCP/IP BOOTSTRAP PROTOCOL (BOOTP)
BOOTP Overview, History, and Standards
BOOTP: Correcting the Weaknesses of RARP
Vendor-Specific Parameters
Changes to BOOTP and the Development of DHCP
BOOTP Client/Server Messaging and Addressing
BOOTP Messaging and Transport
BOOTP Use of Broadcasts and Ports
Retransmission of Lost Messages
BOOTP Detailed Operation
BOOTP Bootstrapping Procedure
Interpretation of the Client IP Address (CIAddr) Field
BOOTP Message Format
BOOTP Vendor-Specific Area and Vendor Information Extensions
BOOTP Vendor Information Extensions
BOOTP Vendor Information Fields
BOOTP Relay Agents (Forwarding Agents)
The Function of BOOTP Relay Agents
Normal BOOTP Operation Using a Relay Agent
Relaying BOOTP Requests Using Broadcasts
61. DHCP OVERVIEW AND ADDRESS ALLOCATION CONCEPTS
DHCP Overview, History, and Standards
DHCP: Building on BOOTP's Strengths
Overview of DHCP Features
DHCP Address Assignment and Allocation Mechanisms
DHCP Address Allocation
DHCP Manual Allocation
DHCP Dynamic Allocation
DHCP Automatic Allocation
DHCP Leases
DHCP Lease Length Policy
Issues with Infinite Leases
DHCP Lease Life Cycle and Lease Timers
DHCP Lease Life Cycle Phases
Renewal and Rebinding Timers
DHCP Lease Address Pools, Ranges, and Address Management
Address Pool Size Selection
Lease Address Ranges (Scopes)
Other Issues with Address Management
62. DHCP CONFIGURATION AND OPERATION
DHCP Overview of Client and Server Responsibilities
DHCP Server Responsibilities
DHCP Client Responsibilities
DHCP Client/Server Roles
DHCP Relay Agents
DHCP Configuration Parameters, Storage, and Communication
Configuration Parameter Management
Parameter Storage
Configuration Parameter Communication
DHCP General Operation and the Client Finite State Machine
DHCP Lease Allocation, Reallocation, and Renewal
Initial Lease Allocation Process
DHCP Lease Reallocation Process
DHCP Lease Renewal and Rebinding Processes
DHCP Early Lease Termination (Release) Process
DHCP Parameter Configuration Process for Clients with Non-DHCP Addresses
63. DHCP MESSAGING, MESSAGE TYPES, AND FORMATS
DHCP Message Generation, Addressing, Transport, and Retransmission
Message Generation and General Formatting
Message Transport
Retransmission of Lost Messages
DHCP Message Format
DHCP Options
Options and Option Format
Option Categories
Option Overloading
Summary of DHCP Options/BOOTP Vendor Information Fields
RFC 1497 Vendor Extensions
IP Layer Parameters per Host
IP Layer Parameters per Interface
Link Layer Parameters per Interface
TCP Parameters
Application and Service Parameters
DHCP Extensions
64. DHCP CLIENT/SERVER IMPLEMENTATION, FEATURES, AND IPV6 SUPPORT
DHCP Server and Client Implementation and Management Issues
DHCP Server Implementations
DHCP Server Software Features
Choosing the Number of Servers
Server Placement, Setup, and Maintenance
DHCP Client Implementations
DHCP Message Relaying and BOOTP Relay Agents
BOOTP Relay Agents for DHCP
DHCP Relaying Process
DHCP Autoconfiguration/Automatic Private IP Addressing (APIPA)
APIPA Operation
APIPA Limitations
DHCP Server Conflict Detection
DHCP and BOOTP Interoperability
BOOTP Clients Connecting to a DHCP Server
DHCP Clients Connecting to a BOOTP Server
DHCP Security Issues
DHCP Security Concerns
DHCP Authentication
DHCP for IP Version 6 (DHCPv6)
Two Methods for Autoconfiguration in IPv6
DHCPv6 Operation Overview
DHCPv6 Message Exchanges
III-4. TCP/IP NETWORK MANAGEMENT FRAMEWORK AND PROTOCOLS
65. TCP/IP INTERNET STANDARD MANAGEMENT FRAMEWORK OVERVIEW
Overview and History of the TCP/IP Internet Standard Management Framework and Simple Network Management Protocol (SNMP)
Early Development of SNMP
The Two Meanings of SNMP
Design Goals of SNMP
Further Development of SNMP and the Problem of SNMP Variations
TCP/IP SNMP Operational Model, Components, and Terminology
SNMP Device Types
SNMP Entities
Managed Node Entities
Network Management Station Entities
SNMP Operational Model Summary
TCP/IP Internet Standard Management Framework Architecture and Protocol Components
SNMP Framework Components
SNMP Framework Architecture
TCP/IP Internet Standard Management Framework and SNMP Versions (SNMPv1, SNMPv2 Variants, and SNMPv3)
SNMPv1
SNMPsec
SNMPv2
SNMPv2 Variants
SNMPv3
TCP/IP Internet Standard Management Framework and SNMP Standards
66. TCP/IP STRUCTURE OF MANAGEMENT INFORMATION (SMI) AND MANAGEMENT INFORMATION BASES (MIBS)
TCP/IP SMI and MIBs Overview
SNMP's Information-Oriented Design
MIB and MIB Objects
Defining MIB Objects: SMI
TCP/IP MIB Objects, Object Characteristics, and Object Types
MIB Object Characteristics
SMI Data Types
TCP/IP MIB Object Descriptors and Identifiers and the Object Name Hierarchy
Object Descriptors
Object Identifiers
Structure of the MIB Object Name Hierarchy
Recursive Definition of MIB Object Identifiers
TCP/IP MIB Modules and Object Groups
The Organization of MIB Objects into Object Groups
MIB Modules
MIB Module Format
67. TCP/IP SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) CONCEPTS AND OPERATION
SNMP Protocol Overview
Early Development of SNMPv1
SNMPv2 and the Division of SNMP into Protocol Operations and Transport Mappings
SNMP Communication Methods
SNMP Protocol Operations
SNMP PDU Classes
Basic Request/Response Information Poll Using GetRequest and (Get)Response Messages
Table Traversal Using GetNextRequest and GetBulkRequest Messages
SNMPv1 Table Traversal Using GetNextRequest
SNMPv2/v3 Table Traversal Using GetBulkRequest
Object Modification Using SetRequest Messages
Information Notification Using Trap and InformRequest Messages
Use of SNMP Trap and Trapv2 Messages
Use of the SNMPv2 InformRequest Message
SNMP Protocol Security Issues and Methods
Problems with SNMPv1 Security
SNMPv2/v3 Security Methods
68. SNMP PROTOCOL MESSAGING AND MESSAGE FORMATS
SNMP Protocol Message Generation
SNMP Transport Mappings
UDP Message Size Issues
Lost Transmission Issues
SNMP General Message Format
The Difference Between SNMP Messages and PDUs
General PDU Format
SNMP Version 1 (SNMPv1) Message Format
SNMPv1 General Message Format
SNMPv1 PDU Formats
SNMP Version 2 (SNMPv2) Message Formats
SNMP Version 2 (SNMPv2p) Message Format
Community-Based SNMP Version 2 (SNMPv2c) Message Format
User-Based SNMP Version 2 (SNMPv2u) Message Format
SNMPv2 PDU Formats
SNMP Version 3 (SNMPv3) Message Format
69. TCP/IP REMOTE NETWORK MONITORING (RMON)
RMON Standards
RMON MIB Hierarchy and Object Groups
RMON Alarms, Events, and Statistics
III-5. TCP/IP APPLICATION LAYER ADDRESSING AND APPLICATION CATEGORIES
70. TCP/IP APPLICATION LAYER ADDRESSING: UNIFORM RESOURCE IDENTIFIERS, LOCATORS, AND NAMES (URIS, URLS, AND URNS)
URI Overview and Standards
URI Categories: URLs and URNs
URI Standards
URL General Syntax
Common Internet Scheme Syntax
Omission of URL Syntax Elements
URL Fragments
Unsafe Characters and Special Encodings
URL Schemes and Scheme-Specific Syntaxes
World Wide Web/Hypertext Transfer Protocol Syntax (http)
File Transfer Protocol Syntax (ftp)
Electronic Mail Syntax (mailto)
Gopher Protocol Syntax (gopher)
Network News/Usenet Syntax (news)
Network News Transfer Protocol Syntax (nttp)
Telnet Syntax (telnet)
Local File Syntax (file)
Special Syntax Rules
URL Relative Syntax and Base URLs
Interpretation Rules for Relative URLs
Practical Interpretation of Relative URLs
URL Length and Complexity Issues
URL Wrapping and Delimiting
Explicit URL Delimiting and Redirectors
URL Abbreviation
URL Obscuration, Obfuscation, and General Trickery
URNs
The Problem with URLs
Overview of URNs
URN Namespaces and Syntax
URN Resolution and Implementation Difficulties
71. FILE AND MESSAGE TRANSFER OVERVIEW AND APPLICATION CATEGORIES
File Concepts
Application Categories
General File Transfer Applications
Message Transfer Applications
Electronic Mail (Email)
Network News (Usenet)
Hypertext (World Wide Web)
The Merging of File and Message Transfer Methods
III-6. TCP/IP GENERAL FILE TRANSFER PROTOCOLS
72. FILE TRANSFER PROTOCOL (FTP)
FTP Overview, History, and Standards
FTP Development and Standardization
Overview of FTP Operation
FTP Operational Model, Protocol Components, and Key Terminology
The Server-FTP Process and User-FTP Process
FTP Control Connection and Data Connection
FTP Process Components and Terminology
Server-FTP Process Components
User-FTP Process Components
Third-Party File Transfer (Proxy FTP)
FTP Control Connection Establishment, User Authentication, and Anonymous FTP Access
FTP Login Sequence and Authentication
FTP Security Extensions
Anonymous FTP
FTP Data Connection Management
Normal (Active) Data Connections
Passive Data Connections
Efficiency and Security Issues Related to the Connection Methods
FTP General Data Communication and Transmission Modes
Stream Mode
Block Mode
Compressed Mode
FTP Data Representation: Data Types, Format Control, and Data Structures
FTP Data Types
ASCII Data Type Line-Delimiting Issues
FTP Format Control
FTP Data Structures
FTP Internal Command Groups and Protocol Commands
FTP Command Groups and Commands
FTP Replies
Advantages of Using Both Text and Numeric Replies
Reply Code Structure and Digit Interpretation
FTP Multiple-Line Text Replies
FTP User Interface and User Commands
Command-Line and Graphical FTP Interfaces
Typical FTP User Commands
Sample FTP Session
73. TRIVIAL FILE TRANSFER PROTOCOL (TFTP)
TFTP Overview, History, and Standards
Why TFTP Was Needed
Comparing FTP and TFTP
Overview of TFTP Operation
TFTP General Operation, Connection Establishment, and Client/Server Communication
Connection Establishment and Identification
Lock-Step Client/Server Messaging
Difficulties with TFTP's Simplified Messaging Mechanism
TFTP Detailed Operation and Messaging
Initial Message Exchange
Data Block Numbering
TFTP Read Process Steps
TFTP Write Process Steps
TFTP Options and Option Negotiation
TFTP Option Negotiation Process
TFTP Options
TFTP Message Formats
Read Request and Write Request Messages
Data Messages
Acknowledgment Messages
Error Messages
Option Acknowledgment Messages
III-7. TCP/IP ELECTRONIC MAIL SYSTEM: CONCEPTS AND PROTOCOLS
74. TCP/IP ELECTRONIC MAIL SYSTEM OVERVIEW AND CONCEPTS
TCP/IP Electronic Mail System Overview and History
The Early Days of Email
History of TCP/IP Email
Overview of the TCP/IP Email System
TCP/IP Email Communication Overview
TCP/IP Email Message Communication Model
Protocol Roles in Email Communication
75. TCP/IP ELECTRONIC MAIL ADDRESSES AND ADDRESSING
TCP/IP Email Addressing and Address Resolution
Standard DNS-Based Email Addresses
Special Requirements of Email Addresses
TCP/IP Historical and Special Email Addressing
FidoNet Addressing
UUCP-Style Addressing
Addressing for Gatewaying
TCP/IP Email Aliases and Address Books
Multiple Recipient Addressing
Mailing Lists
76. TCP/IP ELECTRONIC MAIL MESSAGE FORMATS AND MESSAGE PROCESSING: RFC 822 AND MIME
TCP/IP Email RFC 822 Standard Message Format Overview
Development of the RFC 822 Message Format Standard
Overview of RFC 822 Messages
General RFC 822 Message Structure
TCP/IP Email RFC 822 Standard Message Format Header Fields and Groups
Header Field Structure
Header Field Groups
Common Header Field Groups and Header Fields
TCP/IP Email RFC 822 Standard Message Format Processing and Interpretation
MIME Overview
The Motivation for MIME
The Motivation for MIME
MIME Capabilities
MIME Standards
MIME Basic Structures and Headers
Basic Structures
MIME Entities
Primary MIME Headers
Additional MIME Headers
MIME Content-Type Header and Discrete Media
Content-Type Header Syntax
Discrete Media Types and Subtypes
Text Media Type (text)
Image Media Type (image)
Audio Media Type (audio)
Video Media Type (video)
Model Media Type (model)
Application Media Type (application)
MIME Composite Media Types: Multipart and Encapsulated Message Structures
MIME Multipart Message Type
MIME Multipart Message Subtypes
Multipart Message Encoding
MIME Encapsulated Message Type
MIME Content-Transfer-Encoding Header and Encoding Methods
7-Bit and 8-Bit Encoding
Quoted-Printable Encoding
Base64 Encoding
MIME Extension for non-ASCII Mail Message Headers
77. TCP/IP ELECTRONIC MAIL DELIVERY PROTOCOL: THE SIMPLE MAIL TRANSFER PROTOCOL (SMTP)
SMTP Overview, History, and Standards
SMTP Standards
SMTP Communication and Message Transport Methods
Early Email Communication Using Relaying
Modern Email Communication Using DNS and Direct Delivery
Terminology: Client/Server and Sender/Receiver
SMTP Connection and Session Establishment and Termination
Overview of Connection Establishment and Termination
Connection Establishment and Greeting Exchange
Connection Establishment Using SMTP Extensions
Connection Termination
SMTP Mail Transaction Process
Overview of SMTP Mail Transaction
SMTP Mail Transaction Details
SMTP Special Features, Capabilities, and Extensions
SMTP Special Features and Capabilities
SMTP Extensions
SMTP Security Issues
SMTP Commands
SMTP Replies and Reply Codes
Reply Code Structure and Digit Interpretation
SMTP Multiple-Line Text Replies
Enhanced Status Code Replies
78. TCP/IP ELECTRONIC MAIL ACCESS AND RETRIEVAL PROTOCOLS AND METHODS
TCP/IP Email Mailbox Access Model, Method, and Protocol Overview
Email Access and Retrieval Models
TCP/IP Post Office Protocol (POP/POP3)
POP Overview, History, Versions, and Standards
POP3 General Operation
POP3 Session States
POP3 Authorization State: User Authentication Process and Commands
POP3 Transaction State: Mail and Information Exchange Process and Commands
POP3 Update State: Mailbox Update and Session Termination Process and Commands
TCP/IP Internet Message Access Protocol (IMAP/IMAP4)
IMAP Overview, History, Versions, and Standards
IMAP Features
IMAP History and Standards
IMAP General Operation
IMAP Session States
Session Establishment and Greeting
Preauthentication
IMAP Commands, Results, and Responses
Command Groups
"Any State" Commands
Results and Responses
Result Codes
Response Codes
IMAP Not Authenticated State: User Authentication Process and Commands
IMAP Authentication Methods
IMAP Authenticated State: Mailbox Manipulation/Selection Process and Commands
Authenticated State Commands
IMAP Selected State: Message Manipulation Process and Commands
Selected State Commands
TCP/IP Direct Server Email Access
TCP/IP World Wide Web Email Access
III-8. TCP/IP WORLD WIDE WEB AND THE HYPERTEXT TRANSFER PROTOCOL (HTTP)
79. WORLD WIDE WEB AND HYPERTEXT OVERVIEW AND CONCEPTS
World Wide Web and Hypertext Overview and History
History of Hypertext
The World Wide Web Today
World Wide Web System Concepts and Components
Major Functional Components of the Web
Web Servers and Web Browsers
World Wide Web Media and the Hypertext Markup Language
Overview of HTML
HTML Elements and Tags
Common HTML Elements
Common Text Formatting Tags
World Wide Web Addressing: HTTP Uniform Resource Locators
HTTP URL Syntax
Resource Paths and Directory Listings
80. HTTP GENERAL OPERATION AND CONNECTIONS
HTTP Versions and Standards
HTTP/0.9
HTTP/1.0
HTTP/1.1
Future HTTP Versions
HTTP Operational Model and Client/Server Communication
Basic HTTP Client/Server Communication
Intermediaries and the HTTP Request/Response Chain
The Impact of Caching on HTTP Communication
HTTP Transitory and Persistent Connections and Pipelining
Persistent Connections
Pipelining
HTTP Persistent Connection Establishment and Management
81. HTTP MESSAGES, METHODS, AND STATUS CODES
HTTP Generic Message Format
HTTP Request Message Format
Request Line
Method
Request URI
HTTP Version
Headers
HTTP Response Message Format
Status Line
HTTP Version
Status Code and Reason Phrase
Headers
HTTP Methods
Common Methods
GET
HEAD
POST
Other Methods
Safe and Idempotent Methods
HTTP Status Codes and Reason Phrases
Status Code Format
Reason Phrases
The 100 (Continue) Preliminary Reply
82. HTTP MESSAGE HEADERS
HTTP General Headers
Cache-Control Headers
Warning
Other HTTP General Headers
HTTP Request Headers
HTTP Response Headers
HTTP Entity Headers
83. HTTP Entities, Transfers, Coding Methods, and Content Management
HTTP Entities and Internet Media Types
Media Types and Subtypes
HTTP's Use of Media Types
Differences in HTTP and MIME Constructs
HTTP Content and Transfer Encodings
HTTP's Two-Level Encoding Scheme
Use of Content and Transfer Encodings
HTTP Data Length Issues, Chunked Transfers, and Message Trailers
Dynamic Data Length
Chunked Transfers and Message Trailers
HTTP Content Negotiation and Quality Values
Content Negotiation Techniques
Quality Values for Preference Weights
84. HTTP FEATURES, CAPABILITIES, AND ISSUES
HTTP Caching Features and Issues
Benefits of HTTP Caching
Cache Locations
Caching on the Web Client
Caching on the Intermediary
Caching on the Web Server
Cache Control
Important Caching Issues
HTTP Proxy Servers and Proxying
Benefits of Proxies
Comparing Proxies and Caches
Important Proxying Issues
HTTP Security and Privacy
HTTP Authentication Methods
Security and Privacy Concerns and Issues
Methods for Ensuring Privacy in HTTP
HTTP State Management Using Cookies
Issues with Cookies
Managing Cookie Use
III-9. OTHER FILE AND MESSAGE TRANSFER APPLICATIONS
85. USENET (NETWORK NEWS) AND THE TCP/IP NETWORK NEWS TRANSFER PROTOCOL (NNTP)
Usenet Overview, History, and Operation
History of Usenet
Usenet Operation and Characteristics
Usenet Transport Methods
Usenet Communication Model
Usenet's Public Distribution Orientation
Usenet Communication Process
Message Propagation and Server Organization
Usenet Addressing: Newsgroups
The Usenet Newsgroup Hierarchies
The "Big Eight" Newsgroup Hierarchies
Alt and Other Newsgroup Hierarchies
Unmoderated and Moderated Newsgroups
Cross-Posting to Multiple Newsgroups
Usenet Message Format and Special Headers
Usenet Header Categories and Common Headers
Additional Usenet Headers
Usenet MIME Messages
NNTP Overview and General Operation
NNTP Interserver Communication Process: News Article Propagation
The Usenet Server Structure
Basic NNTP Propagation Methods
Article Propagation Using the Push Model
Improving Propagation Efficiency with Streaming Mode
Article Propagation Using the Pull Model
NNTP Client-Server Communication Process: News Posting and Access
News Posting, Access, and Reading
News Access Methods
Other Client/Server Functions
Article Threading
NNTP Commands and Command Extensions
Command Syntax
Base Command Set
NNTP Command Extensions
NNTP Transport Extensions
NNTP Newsreader Extensions
Other NNTP Extensions
NNTP Status Responses and Response Codes
86. GOPHER PROTOCOL (GOPHER)
Gopher Overview and General Operation
Information Storage on Gopher Servers
Gopher Client/Server Operation
Important Differences Between Gopher and the Web
Gopher's Role in the Modern Internet
III-10. INTERACTIVE AND ADMINISTRATIVE UTILITIES AND PROTOCOLS
87. TCP/IP INTERACTIVE AND REMOTE APPLICATION PROTOCOLS
Telnet Protocol
Telnet Overview, History, and Standards
Telnet History
Fundamental Telnet Concepts
Telnet Applications
Telnet Connections and Client/Server Operation
TCP Sessions and Client/Server Communication
Use of Telnet to Access Other Servers
Telnet Communications Model and the Network Virtual Terminal (NVT)
The NVT
NVT ASCII Control Codes
Half-Duplex and Full-Duplex Modes
Telnet Protocol Commands
Telnet Interrupt Handling
Telnet Options and Option Negotiation
Common Telnet Options
Telnet Option Negotiation
Option Subnegotiation
Berkeley Remote (r) Commands
Berkeley Remote Login (rlogin)
Berkeley Remote Shell (rsh)
Other Berkeley Remote Commands
Internet Relay Chat Protocol (IRC)
IRC Communication Model and Client/Server Operation
Messaging and IRC Channels
IRC and the Modern Internet
88. TCP/IP ADMINISTRATION AND TROUBLESHOOTING UTILITIES AND PROTOCOLS
TCP/IP Host Name Utility (hostname)
TCP/IP Communication Verification Utility (ping)
Operation of the ping Utility
Basic Use of ping
Methods of Diagnosing Connectivity Problems Using ping
ping Options and Parameters
TCP/IP Route Tracing Utility (traceroute)
Operation of the traceroute Utility
Basic Use of the traceroute Utility
traceroute Options and Parameters
TCP/IP Address Resolution Protocol Utility (arp)
TCP/IP DNS Name Resolution and Lookup Utilities (nslookup, host, and dig)
The nslookup Utility
The host Utility
The dig Utility
TCP/IP DNS Registry Database Lookup Utility (whois/nicname)
TCP/IP Network Status Utility (netstat)
The UNIX netstat Utility
The Windows netstat Utility
TCP/IP Configuration Utilities (ifconfig, ipconfig, and winipcfg)
The ifconfig Utility for UNIX
The ipconfig for Windows NT, 2000, and XP
The winipcfg Utility for Windows 95, 98, and Me
Miscellaneous TCP/IP Troubleshooting Protocols
COLOPHON