Chapter I Introduction And Overview.
1.1 The Motivation For lnternetworking
1.2 The TCP/IP Internet
1.3 Internet Services
1.4 History And Scope Of The Internet
1.5 The Internet Architecture Board
1.6 The lAB Reorganization
1.7 Internet Request For Comments
1.8 Future Growth And Technology
1.9 Organization Of The Text
1.10 Summary
Chapter 2 Review Of Underlying Network Technologies
2.1 Introduction
2.2 Two Approaches To Network Communication
2.3 Wide Area And Local Area Networks
2.4 Ethernet Technology
2.5 Switched Ethernet
2.6 Asynchronous Transfer Mode
2.7 Summary
Chapter 3 Internetworking Concept And Architectural Model
3.1 Introduction
3.2 Application-Level Interconnection
3.3 Network-Level Interconnection
3.4 Properties Of The Intemet
3.5 Intemet Architecture
3.6 Interconnection Through IP Routers
3.7 The User's View
3.8 All Networks Are Equal
3.9 The Unanswered Questions
3.10 Summary
Chapter 4 Classful Internet Addresses
4.1 Introduction
4.2 Universal Identifiers
4.3 The Original Classful Addressing Scheme
4.4 Addresses Specify Network Connections
4.5 Network And Directed Broadcast Addresses
4.6 Limited Broadcast
4.7 The All-Os Address
4.8 Subnet And Classless Extensions
4.9 IP Multicast Addresses
4.10 Weaknesses In Intemet Addressing
4.11 Dotted Decimal Notation
4.12 Loopback Address
4.13 Summary Of Special Address Conventions
4.14 Intemet Addressing Authority
4.15 Reserved Address Prefixes
4.16 An Example
4.17 Network Byte Order
4.18 Summary
Chapter 5 Mapping Internet Addresses To Physical Addresses (ARP)
5.1 Introduction
5.2 The Address Resolution Problem
5.3 Two Types Of Physical Addresses
5.4 Resolution Through Direct Mapping
5.5 Resolution Through Dynamic Binding
5.6 The Address Resolution Cache
5.7 ARP Cache Timeout
5.8 ARP Refinements
5.9 Relationship Of ARP To Other Protocols
5.10 ARP Implementation
5.11 ARP Encapsulation And Identification
5.12 ARP Protocol Format
5.13 Automatic ARP Cache Revalidation
5.14 Reverse Address Resolution (RARP )
5.15 Summary
Chapter 6 Internet Protocol: Connectionless Datagram Delivery(ipv4)
6.1 Introduction
6.2 A Virtual Network
6.3 Intemet Architecture And Philosophy
6.4 The Conceptual Service Organization
6.5 Connectionless Delivery System
6.6 Purpose Of The Intemet Protocol
6.7 The IPv4 Datagram
6.8 Intemet Datagram Options
6.9 Summary
Chapter 7 Internet Protocol: Forwarding IP Datagrsms
7.1 Introduction
7.2 Forwarding In An Intemet
7.3 Direct And Indirect Delivery
7.4 Table-Driven IP Forwarding
7.5 Next-Hop Forwarding
7.6 Default Routes
7.7 Host-Specific Routes
7.8 The IP Forwarding Algorithm
7.9 Forwarding With IP Addresses
7.10 Handling Incoming Datagrams
7.11 Establishing Routing Tables
7.12 Summary
Chapter 8 Internet Protocol: Error And Control Messages(ICMP)
8.1 Introduction
8.2 The Intemet Control Message Protocol
8.3 Error Reporting Vs. Error Correction
8.4 ICMP Message Delivery
8.5 ICMP Message Format
8.6 Testing Destination Reachability And Status (Ping)
8.7 Echo Request And Reply Message Format
8.8 Reports Of Unreachable Destinations
8.9 Congestion And Datagram Flow Control
8.10 Source Quench Format
8.11 Route Change Requests From Routers
8.12 Detecting Circular Or Excessively Long Routes
8.13 'Reporting Other Problems
8.14 Clock Synchronization And Transit Time Estimation
8.15 Older ICMP Messages No Longer Needed
8.16 Summary
Chapter 9 Classless And Subnet Address Extensions (CIDR)
9.1 Introduction
9.2 Review Of Relevant Facts
9.3 Minimizing Network Numbers
9.4 Proxy ARP
9.5 Subnet Addressing
9.6 Flexibility In Subnet Address Assignment
9. 7 Variable-Length Subnets
9.8 Implementation Of Subnets With Masks
9.9 Subnet Mask Representation ,
9.10 Forwarding In The Presence Of Subnets
9.11 The Subnet Forwarding Algorithm
9.12 A Unified Forwarding Algorithm
9.13 Maintenance Of Subnet Masks
9.14 Broadcasting To Subnets
9.15 Anonymous Point-To-Point Networks
9.16 Classless Addressing And Supernetting
9.17 CIDR Address Blocks And Bit Masks
9.18 Address Blocks And CIDR Notation
9.19 A Classless Addressing Example
9.20 Data Structures And Algorithms For Classless Lookup
9.21 Longest-Match And Mixtures Of Route Types
9.22 CIDR Blocks Reserved For Private Networks
9.23 Summary
Chapter 10 Protocol Layering
10.1 Introduction
10.2 The Need For Multiple Protocols
10.3 The Conceptual Layers Of Protocol Software
10.4 Functionality Of The Layers
10.5 X. 25 And Its Relation To The ISO Model
10.6 Locus Of lnteUigence
10.7 The Protocol Layering Principle
10.8 Layering In The Presence Of Network Substructure
10.9 Two Important Boundaries In The TCP/IP Model
10.10 The Disadvantage Of Layering
10.11 The Basic Idea Behind Multiplexing And Demultiplexing
10.12 Summary
Chapter 11 User Datagram Protocol (UDP)
11.1 Introduction
11.2 Identifying The Ultimate Destination
11.3 The User Datagram Protocol
11.4 Format Of UDP Messages
11.5 UDP Pseudo-Header
11.6 UDP Encapsulation And Protocol Layering
11.7 Layering And The UDP Checksum Computation
11.8 UDP Multiplexing, Demultiplexing, And Ports
11.9 Reserved And Available UDP Port Numbers
11.10 Summary
Chapter 12 Reliable Stream Transport Service (TCP)
12.1 Introduction
12.2 The Need For Stream Delivery
12.3 Properties Of The Reliable Delivery Service
12.4 Providing Reliability
12.5 The Idea Behind Sliding Windows
12.6 The Transmission Control Protocol
12.7 Ports, Connections, And Endpoints
12.8 Passive And Active Opens
12.9 Segments, Streams, And Sequence Numbers
12.10 Variable Window Size And Flow Control
12.11 TCP Segment Format
12.12 Out Of Band Data
12.13 TCP Options
12.14 TCP Checksum Computation
12.15 Acknowledgements, Retransmission, And Timeouts
12.16 Accurate Measurement Of Round Trip Samples
12.17 Karn's Algorithm And Timer Backoff
12.18 Responding To High Variance In Delay
12.19 Response To Congestion
12.20 Fast Recovery And Other Modifications
12.21 Explicit Feedback Mechanisms (SACK and ECN)
12.22 Congestion, Tail Drop, And TCP
12.23 Random Early Detection (RED)
12.24 Establishing A TCP Connection
12.25 Initial Sequence Numbers
12.26 Closing a TCP Connection
12.27 TCP Connection Reset
12.28 TCP State Machine
12.29 Forcing Data Delivery
12.30 Reserved TCP Port Numbers
12.31 TCP Performance
12.32 Silly Window Syndrome And Small Packets
12.33 Avoiding Silly Window Syndrome
12.34 Summary
Chapter 13 Routing Architecture: Cores, Peers, And Algorithms
13.1 Introduction
13.2 The Origin Of Routing Tables
13.3 Forwarding With Partial Information
13.4 Original Internet Architecture And Cores
13.5 Beyond The Core Architecture To Peer Backbones
13.6 Automatic Route Propagation
13.7 Distance Vector (Bellman-Ford) Routing
13.8 Reliability And Routing Protocols
13.9 Link-State (SPF) Routing
13.10 Summary
Chapter 14 Routing Between Peers (BGP)
14.1 Introduction
14.2 Routing Update Protocol Scope
14.3 Determining A Practical Limit On Group Size
14.4 A Fundamental Idea: Extra Hops
14.5 Autonomous System Concept
14.6 Exterior Gateway Protocols And Reachability
14.7 BGP Characteristics
14.8 BGP Functionality And Message Types
14.9 BGP Message Header
14.10 BGP OPEN Message
14.11 BGP UPDATE Message
14.12 Compressed Mask-Address Pairs
14.13 BGP Path Attributes
14.14 BGP KEEPAL1VE Message
14.15 Information From The Receiver's Perspective
14.16 The Key Restriction Of Exterior Gateway Protocols
14.17 The Internet Routing Architecture
14.18 BGP NOTIFICATION Message
14.19 Summary
Chapter 15 Routing Within An Autonomous System (RIP, 0SPF)
15.1 Introduction
15.2 Static Vs. Dynamic Interior Routes
15.3 Routing Information Protocol .(RIP)
15.4 Stow Convergence Problem
15.5 Solving The Slow Convergence Problem
15.6 RIP1 Message Format
15.7 RIP2 Address Conventions
15.8 RIP Route Interpretation And Aggregation
15.9 RIP2 Extensions And Message Format
15.10 The Disadvantage Of RIP Hop Counts
15.11 Delay Metric (HELLO)
15.12 Delay Metrics And Oscillation
15.13 Combining RIP, Hello, And BGP
15.14 Gated: Inter-Autonomous System Communication
15.15 The Open SPF Protocol (OSPF)
15.16 Routing With Partial Information
15.17 Summary
Chapter 16 internet Multicasting
16.1 Introduction
16.2 Hardware Broadcast
16.3 Hardware Origins Of Multicast
16.4 Ethernet Multicast
16.5 IP Multicast
16.6 The Conceptual Pieces
16.7 IP Multicast Addresses
16.8 Multicast Address Semantics
16.9 Mapping IP Multicast To Ethernet Multicast
16.10 Hosts And Multicast Delivery
16.11 Multicast Scope
16.12 Extending Host Software To Handle Multicasting..
16.13 Intemet Group Management Protocol
16.14 IGMP Implementation
16.15 Group Membership State Transitions
16.16 IGMP Membership Query Message Format
16.17 1GMP Membership Report Message Format
16.18 Multicast Forwarding And Routing Information
16.19 Basic Multicast Forwarding Paradigms
16.20 Consequences Of TRPF
16.21 Multicast Trees
16.22 The Essence Of Multicast Route Propagation
16.23 Reverse Path Multicasting
16.24 Multicast Routing Protocols
16.25 Reliable Multicast And ACK Implosions
16.26 Summary
Chapter 17 IP Switching And MPLS
17.1 Introduction
17.2 Switching Technology
17.3 Large Networks, Label Swapping, And Paths
17.4 Using Switching With IP
17.5 IP Switching Technologies And MPLS
17.6 Classification, Flows, And Higher Layer Switching
17.7 Hierarchical Use Of MPLS
17.8 MPLS Encapsulation
17.9 Label Switching Router
17.10 Control Processing And Label Distribution
17.11 MPLS And Fragmentation
17.12 Mesh Topology And Traffic Engineering
17.13 Summary
Chapter 18 Mobile IP
18.1 Introduction
18.2 Mobility, Routing, and Addressing
18.3 Mobile IP Characteristics
18.4 Overview Of Mobile.IP Operation
18.5 Mobile Addressing Details
18.6 Foreign Agent Discovery
18.7 Agent Registration
18.8 Registration Message Format
18.9 Communication With A Foreign Agent
18.10 Datagram Transmission And Reception
18.11 The Two-Crossing Problem
18.12 Communication With Computers On the Home Network
18.13 Summary
Chapter 19 Private Network Interconnection (NAT, VPN)
19.1 Introduction
19.2 Private And Hybrid Networks
19.3 VPN Addressing And Routing
19.4 Extending VPN Technology To Individual Hosts
19.5 A VPN With Private Addresses
19.6 Network Address Translation (NAT)
19.7 NAT Translation Table Creation
19.8 Multi-Address NAT
19.9 Port-Mapped NAT
19.10 Interaction Between NAT And ICMP
19.11 Interaction Between NAT And Applications
19.12 NAT In The Presence Of Fragmentation
19.13 Conceptual Address Domains
19.14 Slirp And Iptables
19.15 Summary
Chapter 20 Client-Server Model Of Interaction
20.1 Introduction
20.2 The Client-Server Model
20.3 A Simple Example: UDP Echo Server
20.4 Time And Date Service
20.5 The Complexity of Servers
20.6 Broadcasting A Request
20.7 Alternatives To The Client-Server Model
20.8 Summary
Chapter 21 The Socket Interface
21.1 Introduction
21.2 The UNIX I/0 Paradigm And Network I/0
21.3 Adding Network I/0 to UNIX
21.4 The Socket Abstraction
21.5 Creating A Socket
21.6 Socket Inheritance And Termination
21.7 Specifying A Local Address
21.8 Connecting Sockets To Destination Addresses
21.9 Sending Data Through A Socket
21.10 Receiving Data Through A Socket
21.11 Obtaining Local And Remote Socket Addresses
21.12 Obtaining And Setting Socket Options
21.13 Specifying A Queue Length Fora Server
21.14 How A Server Accepts Connections
21.15 Servers That Handle Multiple Services
21.16 Obtaining And Setting Host Names
21.17 Obtaining And Setting The Internal Host Domain
21.18 Socket Library Calls
21.19 Network Byte Order Conversion Routines
21.20 IP Address Manipulation Routines
21.21 Accessing The Domain Name System
21.22 Obtaining Information About Hosts
21.23 Obtaining Information About Networks
21.24 Obtaining Information About Protocols
21.25 Obtaining Information About Network Services
21.26 An Example Client
21.27 An Example Server
21.28 Summary
Chapter 22 Bootstrap And Autoconfiguration (DHCP)
22.1 Introduction
22.2 History Of Bootstrapping
22.3 Using IP To Determine An IP Address
22.4 The DHCP Retransmission Policy
22.5 The DHCP Message Format
22.6 The Need For Dynamic Configuration
22.7 DHCP Lease Concept
22.8 Multiple Addresses And Relays
22.9 Address Acquisition States
22.10 Early Lease Termination
22.11 Lease Renewal States
22.12 DHCP Options And Message Type
22.13 Option Overload
22.14 DHCP And Domain Names
22.15 Summary
Chapter 23 The Domain Name System (DNS)
23.1 Introduction
23.2 Names For Machines
23.3 Flat Namespace
23.4 Hierarchical Names
23.5 Delegation Of Authority For Names
23.6 Subset Authority
23.7 Intemet Domain Names
23.8 Top-Level Domains
23.9 Name Syntax And Type
23.10 Mapping Domain Names To Addresses
23.11 Domain Name Resolution
23.12 Efficient Translation
23.13 Caching: The Key To Efficiency
23.14 Domain Name System Message Format
23.15 Compressed Name Format
23.16 Abbreviation Of Domain Names
23.17 Inverse Mappings
23.18 Pointer Queries
23.19 Object Types And Resource Record Contents
23.20 Obtaining Authority For A Subdomain
23.21 Dynamic DNS Update And Notification
23.22 DNS Security Extensions (DNSSEC)
23.23 Summary
Chapter 24 Remote Login And Desktop (TELNET, SSH)
24.1 Introduction
24.2 Remote Interactive Computing
24.3 TELNET Protocol
24.4 Accommodating Heterogeneity
24.5 Passing Commands That Control The Remote Side
24.6 Forcing The Server To Read A Control Function
24.7 TELNET Options
24.8 TELNET Option Negotiation
24.9 Secure Shell (SSH)
24.10 Other Remote Access Technologies
24.11 Summary
Chapter 25 File Transfer And Access (FTP, TFTP, NFS)
25.1 Introduction
25.2 Remote File Access, Transfer, And Storage Networks
25.3 On-line Shared Access
25.4 Sharing By File Transfer
25.5 FTP: The Major TCP/IP File Transfer Protocol
25.6 FTP Features
25.7 FTP Process Model
25.8 TCP Port Numbers And Data Connections
25.9 The User's View Of FTP
25.10 Anonymous FTP
25.11 Secure File Transfer (SSL-FTP, Scp, Sftp)
25.12 TFTP
25.13 NFS
25.14 Implementation Of NFS (RPC And XDR)
25.15 Summary
Chapter 26 Electronic Mall (SMTP, POP, IMAP, MIME)
26.1 Introduction
26.2 Electronic Mail
26.3 Mailbox Names And Aliases
26.4 Alias Expansion And Mail Forwarding
26.5 TCP/IP Standards For Electronic Mail Service
26.6 Simple Mail Transfer Protocol (SMTP)
26.7 Mail Retrieval And Mailbox Manipulation Protocols
26.8 The MIME Extensions For Non-ASCII Data
26.9 MIME Multipart Messages
2610 Summary
Chapter 27 World Wide Web (H'I-I'P)
27.1 Introduction
27.2 Importance Of The Web
27.3 Architectural Components
27.4 Uniform Resource Locators
27.5 An Example Document
27.6 Hypertext Transfer Protocol
27.7 HTTP GET Request
27.8 Error Messages
27.9 Persistent Connections And Lengths
27.10 Data Length And Program Output
27.11 Length Encoding And Headers
27.12 Negotiation
27.13 Conditional Requests
27.14 Proxy Servers And Caching
27.15 Caching
27.16 Other HTTP Functionality
27.17 HTFP, Security, And E-Commerce
27.18 Summary
Chapter 28 Voice And Video Over IP (RTP, RSVP, QoS)
28.1 Introduction
28.2 Digitizing And Encoding
28.3 Audio And Video Transmission And Reproduction
28.4 Jitter And Playback Delay
28.5 Real-time Transport Protocol (RTP)
28.6 Streams, Mixing, And Multicasting
28.7 RTP Encapsulation
28.8 RTP Control Protocol (RTCP)
28.9 RTCP Operation
28.10 IP Telephony And Signaling
28.11 Quality Of Service Controversy
28.12 QoS, Utilization, And Capacity
28.13 IntServ Resource Reservation
28.14 IntServ Enforcement (COPS)
28.15 DiffServ And Per-Hop Behavior
28.16 Traffic Scheduling
28.17 Traffic Policing
28.18 Summary
Chapter 29 Network Management (SNMP)
29.1 Introduction
29.2 The Level Of Management Protocols
29.3 Architectural Model
29.4 Protocol Framework
29.5 Examples of MIB Variables
29.6 The Structure Of Management Information
29.7 Formal Definitions Using ASN. 1
29.8 Structure And Representation Of MIB Object Names
29.9 Simple Network Management Protocol
29.10 SNMP Message Format
29.11 An Example Encoded SNMP Message
29.12 New Features In SNMPv3
29.13 Summary
Chapter 30 Internet Security And Firewall Design (IPsec, SSL)
30.1 Introduction
30.2 Protecting Resources
30.3 Information Policy
30.4 Intemet Security
30.5 1P Security (IPsec)
30.6 IPsec Authentication Header
30.7 Security Association
30.8 IPsec Encapsulating Security Payload
30.9 Authentication And Mutable Header Fields
30.10 IPsec Tunneling
30.11 Required Security Algorithms
30.12 Secure Sockets (SSL and TLS)
30.13 Firewalls And Intemet Access
30.14 Multiple Connections And Weakest Links
30.15 FirewaU Implementation And Packet Filters
30.16 Security And Packet Filter Specification
30.17 The Consequence Of Restricted Access For Clients
30.18 Stateful FirewaUs
30.19 Content Protection And Proxies
30.20 Monitoring And Logging
30.21 Summary
Chapter 31 A Next Generation IP (IPv6)
31.1 Introduction
31.2 Why Change?
31.3 Beyond IPv4
31.4 The Road To A New Version Of lP
31.5 The Name Of The Next IP
31.6 Features Of lPv6
31.7 General Form Of An IPv6 Datagram
31.8 1Pv6 Base Header Format
31.9 IPv6 Extension Headers
31.10 Parsing An 1Pv6 Datagram
31.11 IPv6 Fragmentation And Reassembly
31.12 The Consequence Of End-To-End Fragmentation
31.13 IPv6 Source Routing
31.14 IPv6 Options
31.15 Size Of The IPv6 Address Space
31.16 IPv6 Colon Hexadecimal Notation
31.17 Three Basic IPv6 Address Types
31.18 The Duality Of Broadcast And Multicast
31.19 An Engineering Choice And Simulated Broadcast
31.20 Proposed IPv6 Address Space Assignment
31.21 Embedded IPv4 Addresses And Transition
31.22 Unspecified And Loopback Addresses
31.23 Unicast Address Structure
31.24 Interface Identifiers
31.25 Local Addresses
31.26 Autoconfiguration And Renumbering
31.27 Summary
Appendix I A Look At RFCs
Appendix 2 Glossary Of Internetworklng Terms And Abbreviations
Bibliography
Index