Preface
Chapter 1 Introduction
1.1 A BRIEF HISTORY
ARPANET
Birth of the Internet
Transmission Control Protocol/Internetworking Protocol(TCP/IP)
MILNET
CSNET
NSFNET
ANSNET
The Interent Today
Time Line
Growth of the Internet
1.2 PROTOCOLS AND STANDARDS
Protocols
Standards
1.3 STANDARDS ORGANIZATIONS
Standards Creation Committees
Forums
Regulatory Agencies
1.4 INTERNET STANDARDS
Maturinty Levels
Requirement Levels
1.5 INTERNET ADMINISTRATION
Internet Society(ISOC)
Internet Architecture Board(IAB)
Internet Engineering Task Force(IETF)
Internet Research Task Force(IRTF)
Internet Assigned Numbers Authority(IANA)and Internet Corporation for Assigned Names and Numbers(ICANN)
Network Information Center(NIC)
1.6 KEY TERMS
1.7 SUMMARY
1.8 PROBLEM SET
Multiple-Choice Questions
Exercises
Chapter 2 The OSI Model and the TCP/IP Protocol Suite
2.1 THE OSI MODEL
Layered Architecture
Peer-to-Peer Processes
2.2 LAYERS IN THE OSI MODEL
Physical Layer
Data Link Layer
Network Layer
Transport Layer
Session Layer
Presentation Layer
Application Layer
Summary of Layers
2.3 TCP/IP PROTOCOL SUITE
Physical and Data Link Layers
Network Layer
Transport Layer
Application Layer
2.4 ADDRESSING
Physical Address
Internet Address
Port Address
2.5 TCP/IP VERSIONS
Version 4
Version 5
Version 6
2.6 KEY TERMS
2.7 SUMMARY
2.8 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 3 Underlying Technologies
3.1 LOCAL AREA NETWORKS(LANs)
Ethernet
Token Ring
Wireless LANs
3.2 POINT-TO-POINT WANs
Physical Layer
Data Link Layer
3.3 SWITCHED WANs
X.25
Frame Relay
ATM
ATM LANs
3.4 CONNECTING DEVICES
Repeaters
Bridges
Routers
Switches
3.5 KEY TERMS
3.6 SUMMARY
3.7 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercies
Chapter 4 IP Addresses:Classful Addressing
4.1 INTRODUCTION
Address Space
Notation
4.2 CLASSFUL ADDRESSING
Recognizing Classes
Netid and Hostid
Classes and Blocks
Network Addresses
Sufficient Information
Mask
Address Depletion
4.3 OTHER ISSUES
Multihomed Devices
Location,Not Names
Special Addresses
Private Addresses
Unicast,Multicast,and Broadcast Addresses
4.4 A SAMPLE INTERNET WITH CLASSFUL ADDRESSES
4.5 KEY TERMS
4.6 SUMMARY
4.7 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 5 Subnetting/Supernetting and Classless Addressing
5.1 SUBNETTING
Three Levels of Hierarchy
Subnet Mask
Special Addresses in Subnetting
Designing Subnets
Variable-Length Subnet Mask
5.2 SUPERNETTING
Assigning Addresses
Supernet Mask
5.3 CLASSLESS ADDRESSING
Variable-Length Blocks
Finding The Network Address
Subnetting
Supernetting
Migration
Classless Interdomain Routing(CIDR)
5.4 KEY TERMS
5.5 SUMMARY
5.6 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 6 Delivery and Routing of IP Packets
6.1 CONNECTION-ORIENTED VERSUS CONNECTIONLESS SERVICES
6.2 DIRECT VERSUS INDIRECT DELIVERY
Direct Delivery
Indirect Delivery
6.3 ROUTING METHODS
Next-Hop Routing
Network-Specific Routing
Host-Specific Routing
Default Routing
6.4 STATIC VERSUS DYNAMIC ROUTING
Static Routing Table
Dynamic Routing Table
6.5 ROUTING TABLE AND ROUTING MODULE
Routing Table
Routing Module
Some Examples
6.6 CLASSLESS ADDRESSING:CIDR
Routing Table Size
Hierarchical Routing
Geographical Routing
Routing Table Search Algorithms
6.7 KEY TERMS
6.8 SUMMARY
6.9 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 7 ARP and RARP
7.1 ARP
Packet Format
Encapsulation
Operation
ARP Over
Proxy ARP
7.2 ARP PACKAGE
Cache Table
Queues
Output Module
Input Module
Cache-Control Module
More Examples
7.3 RARP
Packet Format
Encapsulation
Alternative Solutions to RARP
7.4 KEY TERMS
7.5 SUMMARY
7.6 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 8 Internet Protocol(IP)
8.1 DATAGRAM
8.2 FRAGMENTATION
Maximum Transfer Unit(MTU)
Fields Related to Fragmentation
8.3 OPTIONS
Format
Option Types
8.4 CHECKSUM
Checksum Calculation at the Sender
Checksum Calculation at the Receiver
Checksum in the IP Packet
8.5 IP PACKAGE
Header-Adding Module
Procesing Module
Queues
Routing Table
Routing Module
MTU Table
Fragmentation Module
Reassembly Table
Ressembly Module
8.6 KEY TERMS
8.7 SUMMARY
8.8 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 9 Internet Control Message Protocol(ICMP)
9.1 TYPES OF MESSAGES
9.2 MESSAGE FORMAT
9.3 ERROR REPORTING
Destination Unreachable
Source Quench
Time Exceeded
Parameter Problem
Redirection
9.4 QUERY
Echo Requet and Reply
Timestamp Request and Reply
Address-Mask Request and Reply
Router Solication and Advertisement
9.5 CHECKSUM
Checksum Calculation
Checksum Testing
Example
9.6 ICMP PACKAGE
Input Module
Output Module
9.7 KEY TERMS
9.8 SUMMARY
9.9 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 10 Internet Group Management Protocol(IGMP)
10.1 GROUP MANAGEMENT
10.2 IGMP MESSAGES
Message Format
10.3 IGMP OPERATION
Joining a Group
Leaving a Group
Monitoring Membership
10.4 ENCAPSULATION
IP Layer
Data Link Layer
10.5 IGMP PACKAGE
Group Table
Timers
Group-Joining Module
Group-Leaving Module
Input Module
Output Module
10.6 KEY TERMS
10.7 SUMMARY
10.8 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 11 User Datagram Protocol(UDP)
11.1 PROCESS-TO-PROCESS COMMUNICATION
Port Numbers
Socket Addresses
11.2 USER DATAGRAM
11.3 CHECKSUM
Checksum Calculation at Sender
Checksum Calculation at Receiver
An Example
Optional Use of the Checksum
11.4 UDP OPERATION
Connectionless Servies
Flow and Error Control
Encapsulation and Decapsulation
Queuing
Multiplexing and Demultiplexing
11.5 USE OF UDP
11.6 UDP PACKAGE
Control-Block Table
Input Queues
Control-Block Module
Input Module
Output Module
Examples
11.7 KEY TERMS
11.8 SUMARY
11.9 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 12 Transmission Control Protocol(TCP)
12.1 PROCESS-TO-PROCESS COMMUNICATION
Port Addresses
Socket Addresses
12.2 TCP SERVICES
Stream Delivery Service
Full-Duplex Service
Connection-Oriented Service
Reliable Service
12.3 NUMBERING BYTES
Byte Numbers
Sequence Number
Acknowledgment Number
12.4 FLOW CONTROL
Sliding Windows Protocol
12.5 SILLY WINDOWS SYNDROME
Syndrome Created by the Sender
Syndrome Created by the Receiver
12.6 ERROR CONTROL
Error Detection and Correction
12.7 TCP TIMERS
Retransmission Timer
Persistence Timer
Keepalive Timer
Time-Waited Timer
12.8 CONGESTION CONTROL
Congestion Window
Congestion Avoidance
12.9 SEGMENT
12.10 OPTIONS
12.11 CHECKSUM
12.12 CONNECTION
Connection Establishment
Connection Termination
Connection Resetting
12.13 STATE TRANSITION DIAGRAM
Client Diagram
Server Diagram
12.14 TCP OPERATION
Encapsulation and Decapsulation
Buffering
Multiplexing and Demultiplexing
Pushing Data
Urgent Data
12.15 TCP PACKAGE
Transmission Control Blocks(TCBs)
Timers
Main Module
Input Processing Module
Output Processing Module
12.16 KEY TERMS
12.17 SUMMARY
12.18 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 13 Unicast Routing Protocols(RIP,OSPF,and BGP)
13.1 INTERIOR AND EXTERIOR ROUTING
13.2 RIP
Distance Vector Routing
RIP Message Format
Requests and Responses
Timers in RIP
Slow Convergence
Instability
Some Remedies for Instability
RIP Version
Authentication
Encapsulation
13.3 OSPF
Areas
Metric
Link State Routing
Types of Packets
Packet Format
Encapsulation
13.4 BGP
Path Vector Routing
Types of Packets
Packet Format
Encapsulation
13.5 KEY TERMS
13.6 SUMMARY
13.7 RACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 14 Multicasting and Multicast Routing Protocols
14.1 INTRODUCTION
Unicast,Multicast,and Broadcast
Multicasting Versus Multiple Unicasting
Emulation of Multicasting with Unicasting
Flooding
Applications
14.2 MULTICAST ROUTING
Tree Versus Graph
Spanning Tree
Shortest Path Spanning
14.3 MULTICAST TREES
Source-Based Tree
Group-Shared Tree
14.4 MULTICAST ROUTING PROTOCOLS
14.5 DVMRP
Formation of Shortest Path Tree
14.6 MOSPF
Least-Cost Tree
14.7 CBT
Formation of the Tree
14.8 PIM
PIM-DM
PIM-SM
14.9 MBONE
14.10 KEY TERMS
14.11 SUMMARY
14.12 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 15 Application Layer and Client-Server Model
15.1 CLIENT-SERVER MODEL
Client
Server
15.2 CONCURRENCY
Concurrency in Clients
Concurrency in Servers
15.3 PROCESSES
Concept
Process Identification
Process Creation
15.4 KEY TERMS
15.5 SUMMARY
15.6 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 16 Socket Interface
16.1 SOME DEFINITIONS
Data Types Defined
Internet Address Structure
Internet Socket Address Structure
16.2 SOCKETS
Socket Types
16.3 BYTE ORDERING
Big-Endian Byte Order
Little-Endian Byte Order
Network Byte Order
Byte-Order Transformation
16.4 ADDRESS TRANSFORMATION
16.5 BYTE MANIPULATION FUNCTIONS
16.6 INFORMATION ABOUT REMOTE HOST
16.7 SOCKET SYSTEM CALLS
Socket
Bind
Connect
Listen
Accept
Sendto
Recvfrom
Read
Write
Close
16.8 CONNECTIONLESS ITERATIVE SERVER
Server
Client
16.9 UDP CLIENT-SERVER PROGRAMS
Server Program
Client Program
16.10 CONNECTION-ORIENTED CONCURRENT SERVER
Server
Client
16.11 TCP CLIENT-SERVER PROGRAMS
Server Program
Client Program
16.12 KEY TERMS
16.13 SUMMARY
16.14 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 17 BOOTP and DHCP
17.1 BOOTP
Packet Format
Operation
UDP Ports
Using TFTP
Relay Agent
Error Control
17.2 DYNAMIC HOST CONFIGURATION PROTOCOL(DHCP)
Leasing
Packet Format
Transition States
Exchanging Messages
17.3 KEY TERMS
17.4 SUMMARY
17.5 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 18 Domain Name System(DNS)
18.1 NAME SPACE
Flat Name Space
Hierarchical Name Space
18.2 DOMAIN NAME SPACE
Label
Domain Name
Domain
18.3 DISTRIBUTION OF NAME SPACE
Hierarchy of Name Servers
Zone
Root Server
Primary and Secondary Servers
18.4 DNS IN THE INTERNET
Generic Domains
Country Domains
Inverse Domain
18.5 RESOLUTION
Resolver
Mapping Names to Addresses
Mapping Addresses to Names
Recursive Resolution
Iterative Resolution
Caching
18.6 DNS MESSAGES
Header
18.7 TYPES OF RECORDS
Question Record
Resource Record
18.8 COMPRESSION
18.9 EXAMPLES
18.10 DDNS
18.11 ENCAPSULATION
18.12 KEY TERMS
18.13 SUMMARY
18.14 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 19 TELNET and Rlogin
19.1 CONCEPT
Time-sharing Environment
Login
19.2 NETWORK VIRTUAL TERMINAL(NVT)
19.3 NVT CHARACTER SET
Data Characters
Remote Control Characters
19.4 EMBEDDING
19.5 OPTIONS
19.6 OPTION NEGOTIATION
Enabling an Option
Disabling an Option
Example
Symmetry
19.7 SUBOPTION NEGOTIATION
19.8 CONTROLLING THE SERVER
19.9 OUT-OF-BAND SIGNALING
19.10 ESCAPE CHARACTER
19.11 MODE OF OPERATION
Default Mode
Character Mode
Line Mode
19.12 EXAMPLES
19.13 USER INTERFACE
19.14 RLOGIN(REMOTE LOGIN)
TCP Port
Connection
Flow Control
Commands
Mode
19.15 SECURITY ISSUE
19.16 KEY TERMS
19.17 SUMMARY
19.18 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 20 File Transfer Protocol(FTP)
20.1 CONNECTIONS
Control Connection
Data Connection
20.2 COMMUNICATION
Communication over Control Connection
Communication over Data Connection
20.3 COMMAND PROCESSING
Connands
Responses
20.4 FILE TRANSFER
20.5 USER INTERFACE
20.6 ANONYMOUS FTP
20.7 KEY TERMS
20.8 SUMMARY
20.9 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 21 Trivial File Transfer Protocol(TFTP)
21.1 MESSAGES
RRQ
WRQ
DATA
ACK
ERROR
21.2 CONNECTION
Connection Establishment
Connection Termination
21.3 DATA TRANSFER
Flow Control
Error Control
Sorcerer's Apprentice Bug
21.4 UDP PORTS
21.5 TFTP EXAMPLE
21.6 TFTP OPTIONS
21.7 SECURITY
21.8 APPLICATIONS
21.9 KEY TERMS
21.10 SUMMARY
21.11 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 22 Simple Mail Transfer Protocol(SMTP)
22.1 USER AGENT(UA)
Sending Mial
Receiveing Mail
22.2 ADDRESSES
Local part
Domain Name
22.3 ELAYED DELIVERY
Sender-Site Delay
Receiver-Site Delay
Intermediate Delay
22.4 ALIASES
One-to-Many Expansion
Many-to-One Expansion
22.5 MAIL TRANSFER AGENT(MTA)
22.6 COMMANDS AND RESPONSES
Commands
Responses
22.7 MAIL TRANSFER PHASES
Connection Establishment
Message Transfer
Connection Termination
22.8 MULTIPURPOSE INTERNET MAIL EXTENSIONS(MIME)
MIME-Version
Content-Type
Content-Transfer-Encoding
Content-Id
Content-Description
22.9 MAIL DELIVERY
First Stage
Second Stage
Third Stage
22.10 MAIL ACCESS PROTOCOLS
POP3
IMAP4
22.11 KEY TERMS
22.12 SUMMARY
22.13 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 23 Simple NetworkManagement Protocol(SNMP)
23.1 CONCEPT
Managers and Agents
23.2 MANAGEMENT COMPONENTS
Role of SNMP
Role of SMI
Role of MIB
An Analogy
23.3 SMI
Name
Type
Encoding Method
23.4 MIB
Accessing MIB Variables
Lexicographic Ordering
23.5 SNMP
PDUs
Format
23.6 MESSAGES
23.7 UDP PORTS
23.8 SECURITY
23.9 KEY TERMS
23.10 SUMMARY
23.11 PRACTICE SET
Multiple-Choice Questions
Exercises
Chaper 24 Hypertext Transfer Protocol(HTTP)
24.1 HTTP TRANSACTION
Messages
24.2 REQUEST MESSAGES
Request Line
Methods
24.3 RESPONSE MESSAGE
Status Line
24.4 HEADER
General Header
Request Header
Response Header
Entity Header
24.5 EXAMPLES
24.6 SOME OTHER FEATURES
Persistent versus Nonpersistent Conection
Proxy SErver
24.7 KEY TERMS
24.8 SUMMARY
24.9 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 25 World Wide Web(WWW)
25.1 HYPERTEXT AND HYPERMEDIA
25.2 BROWSER ARCHITECTURE
25.3 STATIC DOCUMENTS
25.4 HTML
Structure of a Web Page
Tags
Examples
25.5 DYNAMIC DOCUMENTS
25.6 COMMON GATEWAY INTERFACE(CGI)
CGI Program
Environment Variables
Input
Output
Examples
25.7 ACTIVE DOCUMENTS
Creation,Compilation,and Execution
25.8 JAVA
Classes and Objects
Instantiation
Inheritance
Packages
Skeleton of an Applet
Creation and Compilation
HTML Document
Examples
25.9 KEY TERMS
25.10 SUMMARY
25.11 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Chapter 26 IP over ATM
26.1 ATM WANs
Layers
26.2 CARRYING A DATAGRAM IN CELLS
26.3 ROUTING THE CELLS
Addresses
Address Binding
26.4 ATMARP
Packet Format
ATMARP Operation
26.5 LOGICAL IP SUBNET(LIS)
26.6 KEY TERMS
26.7 SUMMARY
26.8 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 27 Mobile
27.1 ADDRESSING
Stationary Hosts
Mobile Hosts
27.2 AGENTS
Home Agent
Foreign Agent
27.3 THREE PHASES
27.4 AGENT DISCOVERY
Agent Advertisement
Agent Solicitation
27.5 REGISTRATION
Request and Reply
Encapsulation
27.6 DATA TRANSFER
From Remote Host to Home Agent
From Home Agent to Foreign Agent
From Foreign Agent to Mobile Host
From Mobile Host to Remote Host
Transparency
27.7 INEFFICIENCY IN MOBILE IP
Double Crossing
Triangle Routing
Solution
27.8 KEY TERMS
27.9 SUMMARY
27.10 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 28 Real-Time Traffic over the Internet
28.1 CHARACTERISTICS
Time Relationship
Ordering
Multicasting
Translation
Mixing
Support from Transport Layer Protocol
28.2 RTP
RTP Packet Format
UDP Port
28.3 RTCP
Sender Report
Receiver Report
Source Description Message
Bye Message
Application Specific Message
UDP Port
28.4 KEY TERMS
28.5 SUMMARY
28.6 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 29 Internet Security
29.1 INTRODUCTION
Privacy
Authentication
Integrity
Nonrepudiation
29.2 PRIV ACY
Secret-Key Encryption/Decryption
Public-Key Encryption
Using the Combination
29.3 DIGITAL SIGNATURE
Signing the Whole Document
Signing the Digest
29.4 SECURITY IN THE INTERNET
29.5 APPLICATION LAYER SECURITY
Pretty Good Privacy(PGP)
Secure Shell(SSH)
29.6 TRANSPORT LAYER SECURITY:TLS
Position of TLS
Two Protocols
29.7 SECURITY AT THE IP LAYER:IPSec
Authentication Header(AH)Protocol
Encapsulating Security Payload
29.8 FIREWALS
Packet-Filter Firewall
Proxy Firewall
29.9 KEY TERMS
29.10 SUMMARY
29.11 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 30 Private Networks,Virtual Private Networks,and Network Address Translation
30.1 PRIVATE NETWORKS
Intranet
Extranet
Addressing
30.2 VIRTUAL PRIVATE NETWORKS(VPN)
Achieving Privacy
VPN Technology
30.3 NETWORK ADDRESS TRANSLATION(NAT)
Address Translation
Translation Table
NAT and ISP
30.4 KEY TERMS
30.5 SUMMARY
30.6 PRACTICE SET
Multiple-Choice Questions
Exercises
Chapter 31 Next Generation:IPv6 and ICMPv6
31.1 IPv6
31.2 IPv6 ADDRESSES
Hexadecimal Colon Notation
Categories of Addresses
Address Space Assignment
31.3 IPv6 PACKET FORMAT
Base Header
Priority
Flow Label
Comparison between IPv4 and IPv6 Headers
Extensioin Headers
Comparison between IPv4 and IPv6
31.4 ICMPv6
Error Reporting
Query
31.5 TRANSITION FROM IPv4 TO IPV6
Dual Stack
Tunneling
Header Translation
31.6 KEY TERMS
31.7 SUMMARY
31.8 PRACTICE SET
Multiple-Choice Questions
Exercises
Programming Exercises
Appendix A ASCII Code
Appendix B Numbering Systems and Transformation
B.1 NUMBERING SYSTEMS
Decimal Numbers
Binary Numbers
Octal Numbers
Hexadecimal Numbers
B.2 TRANSFORMATION
From Other Sysems to Decimal
From Decimal to Other Sysems
From Binary to Octal or Hexadecimal
From Octal or Hexadecimal to Binary
Appendix C Checksum Calculation
C.1 BINARY NOTATION
Partial Sum
Sum
Checksum
C.2 HEXADECIMAL NOTATION
Partial Sum
Sum
Checksum
Appendix D Error Detection
D.1 TYPES OF ERRORS
Single-Bit Error
Burst Error
D.2 DETECTION
Redundancy
D.3 VERTICAL REDUNDANCY CHECK(VRC)
D.4 LOGITUDINAL REDUNDANCY CHECK(LRC)
Performance
D.5 CYCLIC REDUNDANCY CHECK(CRC)
The CRC generator
D.6 CHECKSUM
Appendix E Encryption Methods
E.1 SECRET-KEY METHODS
DES
E.2 PUBLIC KEY METHODS
RSA
Choosing Public and Private Keys
Appendix F Project 802
F.1 PROJECT 802.1
F.2 PROJECT 802.2
LLC
MAC
Appendix G Contact Addresses
Appendix H RFCs
Appendix I UDP and TCP Ports
Glossary
References