Chapter 1 Introduction
1.1 Growth Of Computer Networking
1.2 Complexity In Network Systems
1.3 Mastering The Complexity
1.4 Concepts And Terminology
1.5 Organization Of The Text
1.6 Summary
PART I Data Transmission
Chapter 2 Transmission Media
2.1 Introduction
2.2 Copper Wires
2.3 Glass Fibers
2.4 Radio
2.5 Microwave
2.6 Infrared
2.7 Laser
2.8 Summary
Chapter 3 Local Asynchronous Communication
3.1 Introduction
3.2 The Need For Asynchronous Communication
3.3 Using Electric Current To Send Bits
3.4 Standards For Communication
3.5 Asynchronous character Transmission With RS-232
3.6 Baud Rate ,Framing ,And Errors
3.7 Full Duplex Asynchronous Communication
3.8 Limitations Of Real Hardware
3.9 Hardware Bandwidth And The Transmission Of Bits
3.10 Summary
Chapter 4 Long-Distance Communication (Carriers And Modems)
4.1 Introduction
4.2 Sending Signals Across Long Distances
4.3 Modem Hardware Used For Modulation And Demodulation
4.4 Leased Serial Data Circuits
4.5 Optical ,Radio ,And Dialup Modems
4.6 Carrier Frequencies And Multiplexing
4.7 Time Division Multiplexing
4.8 Summary
PART II Packet Transmission
Chapter 5 Packets,Frames,And Error Detection
5.1 Introduction
5.2 The Concept Of Packets
5.3 packets And Time-Division Multiplexing
5.4 Packets And Hardware Frames
5.5 Byte Stuffing
5.6 Transmission Errors
5.7 Parity Bits And Parity Checking
5.8 Probability,Mathematics,And Error Detection
5.9 Detecting Errors With Checksums
5.10 Detecting Errors With Cyclic Redundancy Checks
5.11 Combining Building Blocks
5.12 Frame Format And Error Detection Mechanisms
5.13 Summary
Chapter 6 LAN Technologies And Network Topology
6.1 Introduction
6.2 Direct Point-to-Point Communication
6.3 Shared Communication Channels
6.4 Significance Of LANs And Locality Of Reference
6.5 LAN Topologies
6.6 Example Bus Network:Ethernet
6.7 Carrier Sense On Multi-Access Networks(CSMA)
6.8 Collision Detection And Backoff(CSMA/CD)
6.9 Another Example Bus Network:LocalTalk
6.10 Example Ring Network:IBM Token Ring
6.11 Another Example Ring Network :FDDL
6.12 Example Star Network:ATM
6.13 Summary
Chapter 7 Hardware Addressing And Frame Type Identification
7.1 Introduction
7.2 Specifying A Recipient
7.3 How LAN Hardware Uses Addresses To Filter Packets
7.4 Format Of A Physical Address
7.5 Broadcasting And A Broadcast Address
7.6 Identifying Packet Contents
7.7 Frame Headers And Frame Format
7.8 An Example Frame Format
7.9 Using Networks That Do Not Have Self0identifying Frames
7.10 Network Analyzers,Physical Addresses,Frame Types
7.11 Summary
7.12 Ethernet Address Assignment
Chapter 8 LAN Wiring ,Physical Topology ,And Interface Hardware
8.1 Introduction
8.2 Speeds Of LANs And Computers
8.3 Network Interface Hardware
8.4 The Connection Between A NIC And A Network
8.5 Original Thick Ethernet Wiring
8.6 Connection Multiplexing
8.7 Thin Ethernet Wiring
8.8 Twisted Pair Ethernet
8.9 Advantages And Disadvantages Of Wiring Schemes
8.10 The Topology paradox
8.11 Network Interface Cards And Wiring Schemes
8.12 Wiring Schemes And Other Network Technologies
8.13 Summary
Chapter 9 Extending LANs:Fiber Modems,Repeaters,Bridges,and Switches
9.1 Introduction
9.2 Distance Limitation And LAN Design
9.3 Fiber Optic Extensions
9.4 Repeaters
9.5 Bridges
9.6 Frame Filtering
9.7 Startup And Steady State Behavior Of Bridged Networks
9.8 Planning A Bridged Network
9.9 Bridging Between Buildings
9.10 Bridging Across Longer Distances
9.11 A Cycle Of Bridges
9.12 Distributed Spanning Tree
9.13 Switching
9.14 Combining Switches And Hubs
9.15 Bridging And Switching With Other Technologies
9.16 Summary
Chapter 10 WAN Technologies And Routing
10.1 Introduction
10.2 Large Networks And Wide Areas
10.3 Packet Switches
10.4 Forming A WAN
10.5 Store And Forward
10.6 Physical Addressing In A WAN
10.7 Next-Hop Forwarding
10.8 Source Independence
10.9 Relationship Of Hierarchical Addresses To Routing
10.10 Routing In A WAN
10.11 Use Of Default Routes
10.12 Routing Table Computation
10.13 Shortest Path Computation In A Graph
10.14 Distributed Route Computation
10.15 Vector Distance Routing
10.16 Link-State Routing(SPF)
10.17 Example WAN Technologies
10.18 Summary
Chapter 11 Network Ownership ,Service Paradigm ,And Performance
11.1 Introduction
11.2 Network Ownership
11.3 Service Paradigm
11.4 Connection Duration And Persistence
11.5 Examples Of Service Paradigms
11.6 Addresses And Connection Identifiers
11.7 Network Performance Characteristics
11.8 Summary
Chapter 12 Protocols And Layering
12.1 Introduction
12.2 The Need For Protocols
12.3 Protocol Suites
12.4 A Plan For Protocol Design
12.5 The Seven Layers
12.6 Stacks:Layered Software
12.7 How Layered Software Works
12.8 Multiple ,Nested Headers
12.9 The Scientific Basics For Layering
12.10 Techniques Protocols Use
12.11 The Art Of Protocol Design
12.12 Summary
PART III Internetworking
Chapter 13 Internetworking :concepts ,Architecture,and Protocols
13.1 Introduction
13.2 Tthe Motivation For Internetworking
13.3 The Concept Of Universal Service
13.4 Universal Service In A Heterogeneous World
13.5 Internetworking
13.6 Physical Network Connection With Routers
13.7 Internet Architecture
13.8 Achieving Universal Service
13.9 A Virtual Network
13.10 Protocols For Internetworking
13.11 Significance Of Internetworking And TCP/IP
13.12 Layering And TCP/IP Protocols
13.13 Host Computers,Routers,And Protocol Layers
13.14 Summary
Chapter 14 IP:Internet Protocol Addresses
14.1 Introduction
14.2 Addresses For The Virtual Internet
14.3 The IP Addressing Scheme
14.4 The IP Address Hierarchy
14.5 Classes Of IP Addresses
14.6 Computing The Class of An Address
14.7 Dotted Decimal Notation
14.8 Classes And Dotted Decimal Notation
14.9 Division Of The Address Space
14.10 Authority For Address
14.11 An Addressing Example
14.12 Special IP Addresses
14.13 Summary Of Special IP Addresses
14.14 The Berkeley Broadcast Address Form
14.15 Routers And The IP Addressing Principle
14.16 Multi-Homed Hosts
14.17 Summary
Chapter 15 Binding Protocol Addresses(ARP)
15.1 Introduction
15.2 Protocol Addresses And Packet Delivery
15.3 Address Resolution
15.4 Address Resolution Techniques
15.5 Address Resolution With Table Lookup
15.6 Address Resolution With Closed -Form Computation
15.7 Address Resolution With Message Exchange
15.8 Address Resolution Protocol
15.9 ARP Message Delivery
15.10 ARP Message Format
15.11 Sending An ARP Message
15.12 Identifying ARP Frames
15.13 Caching ARP Responses
15.14 Processing An Incoming ARP Message
15.15 Layering ,Address Resolution,Protocol Addresses
15.16 Summary
Chapter 16 IP Datagrams And Datagram Forwarding
16.1 Introduction
16.2 Connectionless Service
16.3 Virtual Packets
16.4 The IP Datagram
16.5 Forwarding An IP Datagram
16.6 IP Addresses And Routing Table Entries
16.7 The Mask Field And Datagram Forwarding
16.8 Destination And Next-Hop Addresses
16.9 Best-Effort Delivery
16.10 The IP Datagram Header Format
16.11 Summary
Chapter 17 IP Encapsulation ,Fragmentation,AndReassembly
17.1 Introduction
17.2 Datagram Transmission And Frames
17.3 Encapsulation
17.4 Transmission Across An Internet
17.5 MTU,Datagram
17.6 Reassembly
17.7 Identifying A Datagram
17.8 Fragment Loss
17.9 Fragmenting A Fragment
17.10 Summary
Chapter 18 The Future IP(IPv6)
18.1 Introduction
18.2 The Success Of IP
18.3 The Motivation For Change
18.4 A name And A Version Number
18.5 Characterization Of Features In IPv6
18.6 IPv6 Datagram Format
18.7 IPv6 Base Header Format
18.8 How IPv6 Handles Multiple Headers
18.9 Fragmentation ,Reassembly ,and Path MTU
18.10 The Purpose Of Multiple headers
18.11 IPv6 Purpose Of Multiple Headers
18.12 IPv6 Colon Hexadecimal Notation
18.13 Summary
Chapter 19 An Error Reporting Mechanism(ICMP)
19.1 Introduction
19.2 Best-Effort Semantics And Error Detection
19.3 Internet Control Message Protocol
19.4 ICMP Message Transport
19.5 Using ICMP Messages To Test Ratability
19.6 Using ICMP To Trace A Route
19.7 Using ICMP For Path MTU Discovery
19.8 Summary
Chapter 20 TCP:Reliable Transport Service
20.1 Introduction
20.2 The Need For Reliable Transport
20.3 The Transmission Control Protocol
20.4 The Service TCP Provides To Applications
20.5 End-To=End Service And Datagrams
20.6 Achieving Reliability
20.7 packet Loss And Retransmission
20.8 Adaptive Retransmission
20.9 Comparison Of Retransmission Times
20.10 Buffers,Flow Control,And Windows
20.11 Three-Way Handshake
20.12 Congestion Control
20.13 TCP Segment Format
20.14 Summary
PART IV Network Applications
Chapter 21 Client-Server Interaction
21.1 Introduction
21.2 Th Functionality Software Provides
21.3 The Functionality An Internet Provides
21.4 Making Contact
21.5 The Client-Server Paradigm
21.6 Characteristics Of Clients And Servers
21.7 Server Programs And Server-Class Computers
21.8 Requests,Responses,And Direction Of Data Flow
21.9 Transport Protocols and Client-Server Interaction
21.10 Multiple Services On One Computer
21.11 Identifying A Particular Service
21.12 Multiple Copies Of A Server For A Single Service
21.13 Dynamic Server Creation
21.14 Transport Protocols And Unambiguous Communication
21.15 Connection-Oriented And Connectionless Transport
21.16 A Service Reachable Through Multiple Protocols
21.17 Complex Client-Server Interactions
21.18 Interactions And Circular Dependencies
21.19 Summary
Chapter 22 The Socket Interface
22.1 Introduction
22.2 Application Program Interface
22.3 The Socket API
22.4 Sockets And Socket Libraries
22.5 Socket Communication And UNIX I/O
22.6 Sockets,Descriptors ,And Network I/O
22.7 parameters And The Socket API
22.8 Procedures That Implement The Socket API
22.9 Read And Write With Sockets
22.10 Other Socket Procedures
22.11 Sockets,Threads,And Inheritance
22.12 Summary
Chapter 23 Example Of A Client And A Server
23.1 Introduction
23.2 Connection-Oriented Communication
23.3 An Example Service
23.4 Command-Line Arguments For The Example Programs
23.5 Sequence Of Socket Procedure Calls
23.6 Code For Example Client
23.7 Code For Example Server
23.8 Stream Service And Multiple Recv Calls
23.9 Socket Procedures And Blocking
23.10 Size Of The Code And Error Reporting
23.11 Using The Example Client With Another Service
23.12 Using Another Client To Test The Server
23.13 Summary
Chapter 24 Naming With The Domain Name System
24.1 Introduction
24.2 Structure Of Computer Names
24.3 Geographic Structure
24.4 Domain Names Within An Organization
24.5 The DNS Client-Server Model
24.6 Th DNS Server Hierarchy
24.7 Server Architectures
24.8 Locality Of Reference And Multiple Servers
24.9 Links Among Servers
24.10 Resolving A Name
24.11 Optimization Of DNS Performance
24.12 Types Of DNS Entries
24.13 Aliases Using The CNAME Type
24.14 An Important Consequence Of Multiple Types
24.15 Abbreviations And The DNS
24.16 Summary
Chapter 25 Electronic Mail Representation And Transfer
25.1 Introduction
25.2 The Electronic Mail Paradigm
25.3 Electronic mailboxes And Addresses
25.4 Electronic Mail Message Format
25.5 Carbon Copies
25.6 Multipurpose Internet Mail Extensions
25.7 E-mail And Application Programs
25.8 Mail Transfer
25.9 The Simple Mail Transfer Protocol
25.10 Optimizing For Multiple Recipients On A Computer
25.11 Mail Exploders,Lists ,And Forwarders
25.12 Mail Gateways
25.13 Automated Mailing Lists
25.14 Mail Relays And E-mail Addresses
25.15 Mailbox Access
25.16 Dialup Connections And POP
25.17 Summary
Chapter 26 File Transfer And Remote File Access
26.1 Introduction
26.2 Data Transfer And Distributed Computation
26.3 Saving Intermediate Results
26.4 Generalized File Transfer
26.5 Interactive And Batch Transfer Paradigms
26.6 The File Transfer Protocol
26.7 FTP General Model And User Interface
26.8 FTP Commands
26.9 Connections,Authorization,And File Permissions
26.10 Anonymous File Access
26.11 File Transfer In Either Direction
26.12 Wildcard Expansion In File Names
26.13 File Transfer In Either Direction
26.14 Wildcard Expansion In File Names
26.15 File Types And Transfer Modes
26.16 Example Of Using FTP
26.17 Verbose Output
26.18 Client-Server Interaction In FTP
26.19 Control And Data Connections
26.20 Data Connections And End Of File
26.21 Trivial File Transfer Protocol
26.22 Network File System
26.23 Summary
Chapter 27 World Wide Web Pages And Brosing
27.1 Introduction
27.2 Browser Interface
27.3 Hypertext And Hypermedia
27.4 Document Representation
27.5 HTML Format And Representation
27.6 Example HTML Formatting Tags
27.7 Headings
27.8 Lists
27.9 Embedding Graphics Images In A Web Page
27.10 Identifying A Page
27.11 Hypertext Links From One Document To Another
27.12 Client-Server Interaction
27.13 Web Document Transport And HTTP
27.14 Browser Architecture
27.15 Optional Clients
27.16 Caching In Web Browsers
27.17 Summary
Chapter 28 CGI Technology For Dynamic Web Documents
28.1 Introduction
28.2 Three Basic Types of Web Documents
28.3 Advantages And Disadvantages Of Each Document Type
28.4 Implementation Of Dynamic Documents
28.5 The CGI Standard
28.6 Output From A CGI Program
28.7 An Example CGI Program
28.8 Parameters And Environment Variables
28.9 State Information
28.10 A CGI Script With Long-Term State Information
28.11 A CGT Script With Short-Term State Information
28.12 Forms And Interaction
28.13 Summary
Chapter 29 Java Technology For Active Web Documents
29.1 Introduction
29.2 An Early Form Of Continuous Update
29.3 Active Documents And Server Overhead
29.4 Active Document Representation And Translation
29.5 Java Technology
29.6 The Java Programming Language
29.7 The Java Run-Time Environment
29.8 The Java Library
29.9 A Graphics Toolkit
29.10 Using Java Graphics On A Particular Computer
29.11 Java Interpreters And Browsers
29.12 Compiling A Java Program
29.13 An Example Applet
29.14 Invoking An Applet
29.15 Example Of Interaction With A Browser
29.16 Errors And Exception Handling
29.17 Alternatives And Variations
29.18 Summary
Chapter 30 Network Management(SNMP)
30.1 Introduction
30.2 Managing An Internet
30.3 The Danger Of Hidden Failures
30.4 Network Management Software
30.5 Clients ,Servers,Managers,And Agents
30.6 Simple Network Management Protocol
30.7 Fetch-Store Paradigm
30.8 The MIB And Object Names
30.9 The Variety Of MIB Variables
30.10 MIB Variables That Correspond To Arrays
30.11 Summary
Chapter 31 Network Security
31.1 Introduction
31.2 Secure Networks And Policies
31.3 Aspects Of Security
31.4 Responsibility And Control
31.5 Integrity Mechanisms
31.6 Access Control And Passwords
31.7 Encryption And Privacy
31.8 Public Key Encryption
31.9 Authentication With Digital Signatures
31.10 Packet Filtering
31.11 Internet Firewall Concept
31.12 Summary
Chapter 32 Initialization (Configuration)
32.1 Introduction
32.2 Bootstrapping
32.3 Starting Protocol Software
32.4 Protocol Parameters
32.5 Protocol Configuration
32.6 Examples Of Items That Need To Be Configured
32.7 Example Configuration :Using A Disk File
32.8 The Need To Automate Protocol Configuration
32.9 Methods For Automated Protocol Configuration
32.10 The Address Used To Find An Address
32.11 A Sequence Of Protocols Used During Bootstrap
32.12 Bootstrap Protocol (BOOTP)
32.13 Automatic Address Assignment
32.14 Dynamic Host Configuration Protocol(DHCP)
32.15 Optimizations In DHCP
32.16 DHCP Message Format
32.17 DHCP And Domain Names
32.18 Summary
Appendix 1 Glossary Of Networking Terms And Abbreviations
Appendix 2 The ASCII Character Set
Appendix 3 How To Use The CD-ROM Included With This Book
Bibliography
Index