Chapter 1 Introduction And Overview
1.1 The Motivation For Internetworking
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 IAB Reorganization
1.7 The Internet Society
1.8 Internet Request For Comments
1.9 Internet Protocols And Standardization
1.10 Future Growth And Technology
1.11 Organization Of The Text
1.12 Summary
Chapter2 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 Fiber Distributed Data Interconnect(FDDI)
2.6 Asynchronous Transfer Mode
2.7 WAN Technologies:ARPANET
2.8 National Science Foundation Networking
2.9 ANSNET
2.10 A Very High Speed Backbone(vBNS)
2.11 Other Technologies Over Which TCP/IP Has Been Used
2.12 Summary And Conclusion
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 Internet
3.5 Internet Architecture
3.6 Interconnection Through IP Routers
3.7 The User’s View
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 Interpreting Zero To Mean “This”
4.8 Subnet And Supernet Extensions
4.9 IP Multicast Addresses
4.10 Weaknesses In Internet Addressing
4.11 Dotted Decimal Notation
4.12 Loopback Address
4.13 Summary Of Special Address Conventions
4.14 Internet Addressing Authority
4.15 Reserved Address Prefixes
4.16 An Example
4.17 Network Bye 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 The Address Resolution Cache
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 Encapsulation And Identification
5.12 ARP Protocol Format
5.13 Summary
Chapter 6 Determining An Internet Address At Startup(RARP)
6.1 Introduction
6.2 Reverse Address Resolution Protocol(RARP)
6.3 Timing RARP Transactions
6.4 Primary And Backup RARP Servers
6.5 Summary
Chapter 7 Internet Protocol:Connectionless Datagram Delivery
7.1 Introduction
7.2 A Virtual Network
7.3 Internet Architecture And Philosophy
7.4 The Conceptual Service Organization
7.5 Connectionless Delivery System
7.6 Purpose Of The Internet Protocol
7.7 The Internet Datagram
7.8 Internet Datagram Options
7.9 Summary
Chapter 8 Internet Protocol:Routing IP Datagrams
8.1 Introduction
8.2 Routing In An Internet
8.3 Direct And Indirect Delivery
8.4 Table-Driven IP Routing
8.5 Next-Hop Routing
8.6 Default Routes
8.7 Host-Specific Routes
8.8 The IP Routing Algorithm
8.9 Routing With IP Addresses
8.10 Handling Incoming Datagrams
8.11 Establishing Routing Tables
8.12 Summary
Chapter 9 Internet Protocol:Error And Control Messages(ICMP)
9.1 Introduction
9.2 The Internet Control Message Protocol
9.3 Error Reporting vs. Error Correction
9.4 ICMP Message Delivery
9.5 ICMP Message Format
9.6 Testing Destination Reachability And Status(Ping)
9.7 Echo Request And Reply Message Format
9.8 Reports Of Unreachable Destinations
9.9 Congestion And Datagram Flow Control
9.10 Source Quench Format
9.11 Route Change Requests From Routers
9.12 Detecting Circular Or Excessively Long Routes
9.13 Reporting Other Problems
9.14 Clock Synchronization And Transit Time Estimation
9.15 Information Request And Reply Messages
9.16 Obtaining A Subnet Mask
9.17 Router Discovery
9.18 Router Solicitation
9.19 Summary
Chapter 10 Classless And Subnet Address Extensions(CIDR)
10.1 Introduction
10.2 Review Of Relevant Facts
10.3 Minimizing Network Numbers
10.4 Transparent Routers
10.5 Proxy ARP
10.6 Subnet Addressing
10.7 Flexibility In Subnet Address Assignment
10.8 Variable-Length Subnets
10.9 Implementation Of Subnets With Masks
10.10 Subnet Mask Representation
10.11 Routing In The Presence Of Subnets
10.12 The Subnet Routing Algorithm
10.13 A Unified Routing Algorithm
10.14 Maintenance Of Subnet Masks
10.15 Broadcasting To Subnets
10.16 Anonymous Point-To-Point Networks
10.17 Classless Addressing(Supernetting)
10.18 The Effect Of Supernetting On Routing
10.19 CIDR Address Blocks And Bit Masks
10.20 Address Blocks And CIDR Notation
10.21 A Classless Addressing Example
10.22 Data Structures And Algorithms For Classless Lookup
10.23 Longest-Match Routing And Mixtures Of Route Types
10.24 CIDR Blocks Reserved For Private Networks
10.25 Summary
Chapter 11 Protocol Layering
11.1 Introduction
11.2 The Need For Multiple Protocols
11.3 The Conceptual Layers Of Protocol Software
11.4 Functionality Of The Layers
11.5 X.25 And Its Relation To The ISO Model
11.6 Differences Between ISO And Internet Layering
11.7 The Protocol Layering Principle
11.8 Layering In The Presence Of Network Substructure
11.9 Two Important Boundaries In The TCP/IP Model
11.10 The Disadvantage Of Layering
11.11 The Basic Idea Behind Multiplexing And Demultiplexing
11.12 Summary
Chapter 12 User Datagram Protocol(UDP)
12.1 Introduction
12.2 Identifying The Ultimate Destination
12.3 The User Datagram Protocol
12.4 Format Of UDP Messages
12.5 UDP Pseudo-Header
12.6 UDP Encapsulation And Protocol Layering
12.7 Layering And The UDP Checksum Computation
12.8 UDP Multiplexing,Demultiplexing,And Ports
12.9 Reserved And Available UDP Port Numbers
12.10 Summary
Chapter 13 Reliable Stream Transport Service(TCP)
13.1 Introduction
13.2 The Need For Stream Delivery
13.3 Properties Of The Reliable Delivery Service
13.4 Providing Reliability
13.5 The Idea Behind Sliding Windows
13.6 The Transmission Control Protocol
13.7 Ports,Connections,And Endpoints
13.8 Passive And Active Opens
13.9 Segments,Streams,And Sequence Numbers
13.10 Variable Window Size And Flow Control
13.11 TCP Segment Format
13.12 Out Of Band Data
13.13 Maximum Segment Size Option
13.14 TCP Checksum Computation
13.15 Acknowledgements And Retransmission
13.16 Timeout And Retransmission
13.17 Accurate Measurement Of Round Trip Samples
13.18 Karn’s Algorithm And Timer Backoff
13.19 Responding To High Variance In Delay
13.20 Response To Congestion
13.21 Congestion,Tail Drop,And TCP
13.22 Random Early Discard(RED)
13.23 Establishing A TCP Connection
13.24 Initial Sequence Numbers
13.25 Closing a TCP Connection
13.26 TCP Connection Reset
13.27 TCP State Machine
13.28 Forcing Data Delivery
13.29 Reserved TCP Port Numbers
13.30 TCP Performance
13.31 Silly Window Syndrome And Small Packets
13.32 Avoiding Silly Window Syndrome
13.33 Summary
Chapter 14 Routing:Cores,Peers,And Algorithms
14.1 Introduction
14.2 The Origin Of Routing Tables
14.3 Routing With Partial Information
14.4 Original Internet Architecture And Cores
14.5 Core Routers
14.6 Beyond The Core Architecture To Peer Backbones
14.7 Automatic Route Propagation
14.8 Distance Vector (Bellman-Ford)Routing
14.9 Gateway-To-Gateway Protocol(GGP)
14.10 Distance Factoring
14.11 Reliability And Routing Protocols
14.12 Link-State(SPE)Routing
14.13 Summary
Chapter 15 Routing:Exterior Gateway Protocols And Autonomous Systems(BGP)
15.1 Introduction
15.2 Adding Complexity To The Architectural Model
15.3 Determining A Practical Limit On Group Size
15.4 A Fundamental Idea:Extra Hops
15.5 Hidden Networks
15.6 Autonomous System Concept
15.7 From A Core To Independent Autonomous Systems
15.8 An Exterior Gateway Protocol
15.9 BGP Characteristics
15.10 BGP Functionality And Message Types
15.11 BGP Message Header
15.12 BGP OPEN Message
15.13 BGP UPDATE Message
15.14 Compressed Mask-Address Pairs
15.15 BGP Path Attributes
15.16 BGP KEEPALIVE Message
15.17 Information From The Receiver’s Perspective
15.18 The Key Restriction Of Exterior Gateway Protocols
15.19 The Internet Routing Arbiter System
15.20 BGP NOTIFICATION Message
15.21 Decentralization Of Internet Architecture
15.22 Summary
Chapter 16 Routing:In An Autonomous System(RIP,OSPF,HELLO)
16.1 Introduction
16.2 Static Vs. Dynamic Interior Routes
16.3 Routing Information Protocol(RIP)
16.4 The Hello Protocol
16.5 Delay Metrics And Oscillation
16.6 Combining RIP,Hello,And BGP
16.7 Inter-Autonomous System Routing
16.8 Gated:Inter-Autonomous System Communication
16.9 The Open SPF Protocol(OSPF)
16.10 Routing With Partial Information
16.11 Summary
Chapter 17 Internet Multicasting
17.1 Introduction
17.2 Hardware Broadcast
17.3 Hardware Origins Of Multicast
17.4 Ethernet Multicast
17.5 IP Multicast
17.6 The Conceptual Pieces
17.7 IP Multicast Addresses
17.8 Multicast Address Semantics
17.9 Mapping IP Multicast To Ethernet Multicast
17.10 Hosts And Multicast Delivery
17.11 Multicast Scope
17.12 Extending Host Software To Handle Multicasting
17.13 Internet Group Management Protocol
17.14 IGMP Implementation
17.15 Group Membership State Transitions
17.16 IGMP Message Format
17.17 Multicast Forwarding And Routing Information
17.18 Basic Multicast Routing Paradigms
17.19 Consequences Of TRPF
17.20 Multicast Trees
17.21 The Essence Of Multicast Routing
17.22 Reverse Path Multicasting
17.23 Distance Vector Multicast Routing Protocol
17.24 The Mrouted Program
17.25 Alternative Protocols
17.26 Core Based Trees(CBT)
17.27 Protocol Independent Multicast(PIM)
17.28 Multicast Extensions To OSPF(MOSPF)
17.29 Reliable Multicast And ACK Implosions
17.30 Summary
Chapter 18 TCP/IP Over ATM Networks
18.1 Introduction
18.2 ATM Hardware
18.3 Large ATM Networks
18.4 The Logical View Of An ATM Network
18.5 The Two Connection Paradigms
18.6 Paths,Circuits,And Identifiers
18.7 ATM Cell Transport
18.8 ATM Adaptaion Layers
18.9 ATM Adaptation Layer 5
18.10 AAL5 Convergence,Segmentation,And Reassembly
18.11 Datagram Encapsulation And IP MTU Size
18.12 Packet Type And Multiplexing
18.13 IP Address Binding In An ATM Network
18.14 Logical IP Subnet Concept
18.15 Connection Management
18.16 Address Binding Within An LIS
18.17 ATMARP Packet Format
18.18 Using ATMARP packets To Determine An Address
18.19 Obtaining Entries For A Server Database
18.20 Timing Out ATMARP Information In A Server
18.21 Timing Out ATMARP Information In A Host Or Router
18.22 IP Switching Technologies
18.23 Switch Operation
18.24 Optimized IP Forwarding
18.25 Classification,Flows,And Higher Layer Switching
18.26 Applicability Of Switching Technology
18.27 Summary
Chapter 19 Mobile IP
19.1 Introduction
19.2 Mobility,Routing,and Addressing
19.3 Mobile IP Characteristics
19.4 Overview Of Mobile IP Operation
19.5 Mobile Addressing Details
19.6 Foreign Agent Discovery
19.7 Agent Registration
19.8 Registration Message Format
19.9 Communication With A Foreign Agent
19.10 Datagram Transmission And Reception
19.11 The Two-Crossing Problem
19.12 Communication With Computers On the Home Network
19.13 Summary
Chapter 20 Private Network Interconnection(NAT,VPA)
20.1 Introduction
20.2 Private And Hybrid Networks
20.3 A Virtual Private Network(VPN)
20.4 VPN Addressing And Routing
20.5 AVPN With Private Addresses
20.6 Network Address Translation(NAT)
20.7 NAT Translation Table Creation
20.8 Multi-Address NAT
20.9 Port-Mapped NAT
20.10 Interaction Between NAT And ICMP
20.11 Interaction Between NAT And Applications
20.12 Conceptual Address Domains
20.13 Slirp And Masquerade
20.14 Summary
Chapter 21 Client-Server Model Of Interaction
21.1 Introduction
21.2 The Client-Server Model
21.3 A Simple Example:UDP Echo Server
21.4 Time And Date Service
21.5 The Complexity of Servers
21.6 RARP Server
21.7 Alternatives To The Client-Server Model
21.8 Summary
Chapter 22 The Socket Interface
22.1 Introduction
22.2 The UNIX I/O Paradigm And Network I/O
22.3 Adding Network I/O to UNIX
22.4 The Socket Abstraction
22.5 Creating A Socket
22.6 Socket Inheritance And Termination
22.7 Specifying A Local Address
22.8 Connecting Sockets To Destination Addresses
22.9 Sending Data Through A Socket
22.10 Receiving Data Through A Socket Addresses
22.11 Obtaining Local And Remote Socket Addresses
22.12 Obtaining And Setting Socket Options
22.13 Specifying A Queue Length For A Server
22.14 How A Server Accepts Connections
22.15 Servers That Handle Multiple Services
22.16 Obtaining And Setting Host Names
22.17 Obtaining And Setting The Internal Host Domain
22.18 Socket Library Calls
22.19 Network Byte Order Conversion Routines
22.20 IP Address Manipulation Routines
22.21 Accessing The Domain Name System
22.22 Obtaining Information About Hosts
22.23 Obtaining Information About Networks
22.24 Obtaining Information About Protocols
22.25 Obtaining Information About Network Services
22.26 An Example Client
22.27 An Example Server
22.28 Summary
Chapter 23 Bootstrap And Autoconfiguration(NOOTP,DHCP)
23.1 Introduction
23.2 The Need An Alternative To RARP
23.3 Using IP To Determine An IP Address
23.4 The BOOTP Retransmission Policy
23.5 The BOOTP Message Format
23.6 The Two-Step Bootstrap Procedure
23.7 Vendor-Specific Field
23.8 The Need For Dynamic Configuration
23.9 Dynamic Host Configuration
23.10 Dynamic IP Address Assignment
23.11 Obtaining Multiple Addresses
23.12 Address Acquisition States
23.14 Lease Renewal States
23.15 DHCP Message Format
23.16 DHCP Options And Message Type
23.17 Option Overload
23.18 DHCP And Domain Names
23.19 Summary
Chapter 24 The Domain Name System(DNS)
24.1 Introduction
24.2 Names For Machines
24.4 Hierarchical Names
24.5 Delegation Of Authority For Names
24.6 Subset Authority
24.7 Internet Domain Names
24.8 Official And Unofficial Internet Domain Names
24.9 Named Items And Syntax Of Names
24.10 Mapping Domain Names To Addresses
24.11 Domain Name Resolution
24.12 Efficient Translation
24.13 Caching:The Key To Efficiency
24.14 Domain Server Message Format
24.15 Compressed Name Format
24.16 Abbreviation Of Domain Names
24.17 Inverse Mappings
24.18 Pointer Queries
24.19 Object Types And Resource Record Contents
24.20 Obtaining Authority For A Subdomain
24.21 Summary
Chapter 25 Applications:Remote Login(TELNET,Rlogin)
25.1 Introduction
25.2 Remote Interactive Computing
25.3 TELNET Protocol
25.4 Accommodating Heterogeneity
25.5 Passing Commands That Control The Remote Side
25.6 Forcing The Server To Read A Control Function
25.7 TELNET Options
25.8 TELNET Option Negotiation
25.9 Rlogin(BSD UNIX)
25.10 Summary
Chapter 26 Applications:File Transfer And Access(FTP,TFTP,NFS)
26.1 Introduction
26.2 File Access And Transfer
26.3 On-line Shared Access
26.4 Sharing By File Transfer
26.5 FTP:The Major TCP/IP File Transfer Protocol
26.6 FTP Features
26.7 FTP Process Model
26.8 TCP Port Number Assignment
26.9 The User’s View Of FTP
26.10 An Example Anonymous FTP Session
26.11 TFTP
26.12 NFS
26.13 NFS Implementation
26.14 Remote Procedure Call(RPC)
26.15 Summary
Chapter 27 Applications:Electronic Mail(SMTP,POP,IMAP,MIME)
27.1 Introduction
27.2 Electronic Mail
27.3 Mailbox Names And Aliases
27.4 Alias Expansion And Mail Forwarding
27.5 The Relationship Of Internetworking And Mail
27.6 TCP?IP Standards For Electronic Mail Service
27.7 Electronic Mail Addresses
27.8 Pseudo Domain Addresses
27.9 Simple Mail Transfer Protocol(SMTP)
27.10 Mail Retrieval And Mailbox Manipulation Protocols
27.11 The MIME Extension for Non-ASCII Data
27.12 MIME Multipart Messages
27.13 Summary
Chapter 28 Applications :World Wide Web(HTTP)
28.1 Introduction
28.2 Importance Of The Web
28.3 Architectural Components
28.4 Uniform Resource Locators
28.5 An Example Document
28.6 Hypertext Transfer Protocol
28.7 HTTP GET Request
28.8 Error Messages
28.9 Persistent Connections And Lengths
28.10 Data Length And Program Output
28.11 Length Encoding And Headers
28.12 Negotiation
28.13 Conditional Requests
28.14 Support For Proxy Servers
28.15 Caching
28.16 Summary
Chapter 29 Applications :Voice And Video Over IP(RTP)
29.1 Introduction
29.2 Audio Clips And Encoding Standards
29.3 Audio And Video Transmission And Reproduction
29.4 Jitter And Playback Delay
29.5 Real-Time Transport Protocol(RTP)
29.6 Streams,Mixing,And Multicasting
29.7 RTP Encapsulation
29.8 RTP Control Protocol(RTCP)
29.9 RTCP Operation
29.10 IP Telephony And Signaling
29.11 Resource Reservation And Quality Of Service
29.12 QoS,Utilization,And Capacity
29.13 RSVP
29.14 COPS
29.15 Summary
Chapter 30 Applications :Internet Management(SNMP)
30.1 Introduction
30.2 The Level Of Management Protocols
30.3 Architectural Model
30.4 Protocol Framework
30.5 Examples of MIB Variables
30.6 The Structure Of Management Information
30.7 Formal Definitions Using ASN.1
30.8 Structure And Representation Of MIB Object Names
30.9 Simple Network Management Protocol
30.10 SNMP Message Format
30.11 Example Encoded SNMP Message
30.12 New Features In SNMPv3
30.13 Summary
Chapter 31 Summary Of Protocol Dependencies
31.1 Introduction
31.2 Protocol Dependencies
31.3 The Hourglass Model
31.4 Application Program Access
31.5 Summary
Chapter 32 Internet Security And Firewall Design(Ipsec)
32.1 Introduction
32.2 Protecting Resources
32.3 Information Policy
32.4 Internet Security
32.5 IP Security(IPsec)
32.6 IPsec Authentication Header
32.7 Security Association
32.8 IPsec Encapsulating Security Payload
32.9 Authentication And Mutable Header Fields
32.10 IPsec Tunneling
32.11 Required Security Algorithms
32.12 Secure Sockets
32.13 Firewalls And Internet Access
32.14 Multiple Connections And Weakest Links
32.15 Firewall Implementation
32.16 Packet-Level Filters
32.17 Security And Packet Filter Specification
32.18 The Consequence Of Restricted Access For Clients
32.19 Proxy Access Through A Firewall
32.20 The Details Of Firewall Architecture
32.21 Stub Network
32.22 An Alternative Firewall Implementation
32.23 Monitoring And Logging
32.24 Summary
Chapter 33 The Future Of TCP/IP(Ipv6)
33.1 Introduction
33.2 Why Change?
33.3 New Policies
33.4 Motivation For Changing Ipv4
33.5 The Road To A New Version Of IP
33.6 The Name Of The Next IP
33.7 Features Of Ipv6
33.8 General Form Of An Ipv6 Datagram
33.9 Ipv6 Base Header Format
33.10 Ipv6 Extension Headers
33.11 Parsing An Ipv6 Datagram
33.12 Ipv6 Fragmentation And Reassembly
33.13 The Consequence Of End-To-End Fragmentation
33.14 Ipv6 Source Routing
33.15 Ipv6 Options
33.16 Size Of The Ipv6 Address Space
33.17 Ipv6 Colon Hexadecimal Notation
33.18 Three Basic IPv6 Address Types
33.19 The Duality Of Broadcast And Multicast
33.20 An Engineering Choice And Simulated Broadcast
33.21 Proposed Ipv6 Address Space Assignment
33.22 Embedded Ipv4 Addresses And Transition
33.23 Unspecified And Loopback Addresses
33.24 Unicast Address Hierarchy
33.25 Aggregatable Global Unicast Address Structure
33.26 Interface Identifiers
33.27 Additional Hierarchy
33.28 Local Addresses
33.29 Autoconfiguration And Renumbering
33.30 Summary
Appendix 1 A Guide To RFCs
Appendix 2 Glossary Of Internetworking Terms And Abbreviations
Bibliography
Index