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