preface (747.0k) - mcgraw-hill

24
Computer Networks A Top-Down Approach Behrouz A. Forouzan and Firouz Mosharraf for23267_fm_i-xxiv.fm Page i Thursday, January 6, 2011 1:57 PM CONFIRMING PAGES

Upload: others

Post on 11-Feb-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Computer NetworksA Top-Down Approach

Behrouz A. Forouzan

and

Firouz Mosharraf

for23267_fm_i-xxiv.fm Page i Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

COMPUTER NETWORKS: A TOP-DOWN APPROACH

Published by McGraw-Hill, a business unit of The McGraw-Hill Companies, Inc., 1221 Avenue of the Americas, New York, NY 10020. Copyright © 2012 by The McGraw-Hill Companies, Inc. All rights reserved. No part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written consent of The McGraw-Hill Compa-nies, Inc., including, but not limited to, in any network or other electronic storage or transmission, or broadcast for distance learning.

Some ancillaries, including electronic and print components, may not be available to customers outside the United States.

This book is printed on acid-free paper.

1 2 3 4 5 6 7 8 9 0 DOC/DOC 1 0 9 8 7 6 5 4 3 2 1

ISBN 978-0-07-352326-2MHID 0-07-352326-7

Vice President & Editor-in-Chief: Marty LangeVice President EDP/Central Publishing Services: Kimberly Meriwether DavidPublisher: Raghu Srinivasan Senior Marketing Manager: Curt ReynoldsSenior Project Manager: Jane MohrDesign Coordinator: Brenda A. RolwesCover Design: Studio Montage, St. Louis, MissouriCover Image: © Creatas/PunchStockBuyer: Kara KudronowiczMedia Project Manager: Balaji SundararamanCompositor: MPS Limited, a Macmillan CompanyTypeface: 10/12 Times RomanPrinter: R. R. Donnelley

All credits appearing on page or at the end of the book are considered to be an extension of the copyright page.

Library of Congress Cataloging-in-Publication Data

Forouzan, Behrouz A. TCP/IP protocol suite / Behrouz A. Forouzan.—4th ed. p. cm. Includes index. ISBN 978-0-07-337604-2—ISBN 0-07-337604-3 (hard copy : alk. paper) 1. TCP/IP (Computer network protocol) I. Title. TK5105.585.F67 2010 004.6'2—dc22

2008051008

www.mhhe.com

TO COME

for23267_fm_i-xxiv.fm Page ii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

MPS
Note
CF: Applied for

To our beloved ones:Ryan, Lily, Melody, Justin, and William.

for23267_fm_i-xxiv.fm Page iii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

for23267_fm_i-xxiv.fm Page iv Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

v

Brief Contents

Preface xvii

Trademarks xxiii

Chapter 1 Introduction 1

Chapter 2 Application Layer 33

Chapter 3 Transport Layer 139

Chapter 4 Network Layer 241

Chapter 5 Data-Link Layer: Wired Networks 375

Chapter 6 Wireless Networks and Mobile IP 479

Chapter 7 Physical Layer and Transmission Media 547

Chapter 8 Multimedia and Quality of Service 607

Chapter 9 Network Management 701

Chapter 10 Network Security 731

Chapter 11 Socket Programming In Java 805

Appendix A Unicode 841

Appendix B Positional Numbering System 845

Appendix C HTML, CSS, XML, and XSL 853

Appendix D Miscellaneous Information 861

Appendix E 8B/6T Code 865

Glossary 867

References 901

Index 905

for23267_fm_i-xxiv.fm Page v Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

for23267_fm_i-xxiv.fm Page vi Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

vii

Contents

Preface xvii

Trademarks xxiii

Chapter 1 Introduction 1

1.1 OVERVIEW OF THE INTERNET 21.1.1 Networks 21.1.2 Switching 41.1.3 The Internet 61.1.4 Accessing the Internet 71.1.5 Hardware and Software 8

1.2 PROTOCOL LAYERING 91.2.1 Scenarios 91.2.2 TCP/IP Protocol Suite 121.2.3 The OSI Model 20

1.3 INTERNET HISTORY 221.3.1 Early History 221.3.2 Birth of the Internet 221.3.3 Internet Today 24

1.4 STANDARDS AND ADMINISTRATION 241.4.1 Internet Standards 241.4.2 Internet Administration 26

1.5 END-CHAPTER MATERIALS 271.5.1 Further Reading 271.5.2 Key Terms 281.5.3 Summary 28

1.6 PRACTICE SET 291.6.1 Quizzes 291.6.2 Questions 291.6.3 Problems 30

1.7 SIMULATION EXPERIMENTS 311.7.1 Applets 311.7.2 Lab Assignments 32

Chapter 2 Application Layer 33

2.1 INTRODUCTION 342.1.1 Providing Services 352.1.2 Application-Layer Paradigms 36

for23267_fm_i-xxiv.fm Page vii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

viii CONTENTS

2.2 CLIENT-SERVER PARADIGM 382.2.1 Application Programming Interface 392.2.2 Using Services of the Transport Layer 43

2.3 STANDARD CLIENT-SERVER APPLICATIONS 442.3.1 World Wide Web and HTTP 442.3.2 FTP 592.3.3 Electronic Mail 632.3.4 TELNET 762.3.5 Secure Shell (SSH) 782.3.6 Domain Name System (DNS) 81

2.4 PEER-TO-PEER PARADIGM 922.4.1 P2P Networks 922.4.2 Distributed Hash Table (DHT) 952.4.3 Chord 972.4.4 Pastry 1042.4.5 Kademlia 1082.4.6 A Popular P2P Network: BitTorrent 112

2.5 SOCKET INTERFACE PROGRAMMING 1142.5.1 Socket Interface in C 114

2.6 END-CHAPTER MATERIALS 1282.6.1 Further Reading 1282.6.2 Key Terms 1292.6.3 Summary 129

2.7 PRACTICE SET 1302.7.1 Quizzes 1302.7.2 Questions 1302.7.3 Problems 132

2.8 SIMULATION EXPERIMENTS 1362.8.1 Applets 1362.8.2 Lab Assignments 136

2.9 PROGRAMMING ASSIGNMENT 137

Chapter 3 Transport Layer 139

3.1 INTRODUCTION 1403.1.1 Transport-Layer Services 141

3.2 TRANSPORT-LAYER PROTOCOLS 1543.2.1 Simple Protocol 1543.2.2 Stop-and-Wait Protocol 1553.2.3 Go-Back-N Protocol (GBN) 1603.2.4 Selective-Repeat Protocol 1663.2.5 Bidirectional Protocols: Piggybacking 1733.2.6 Internet Transport-Layer Protocols 173

3.3 USER DATAGRAM PROTOCOL (UDP) 1753.3.1 User Datagram 1753.3.2 UDP Services 1763.3.3 UDP Applications 179

3.4 TRANSMISSION CONTROL PROTOCOL (TCP) 1813.4.1 TCP Services 1813.4.2 TCP Features 184

for23267_fm_i-xxiv.fm Page viii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

CONTENTS ix

3.4.3 Segment 1853.4.4 A TCP Connection 1883.4.5 State Transition Diagram 1943.4.6 Windows in TCP 1983.4.7 Flow Control 2003.4.8 Error Control 2053.4.9 TCP Congestion Control 2133.4.10 TCP Timers 2233.4.11 Options 227

3.5 END-CHAPTER MATERIALS 2273.5.1 Further Reading 2273.5.2 Key Terms 2273.5.3 Summary 228

3.6 PRACTICE SET 2283.6.1 Quizzes 2283.6.2 Questions 2293.6.3 Problems 232

3.7 SIMULATION EXPERIMENTS 2393.7.1 Applets 2393.7.2 Lab Assignments 240

3.8 PROGRAMMING ASSIGNMENT 240

Chapter 4 Network Layer 241

4.1 INTRODUCTION 2424.1.1 Network-Layer Services 2434.1.2 Packet Switching 2464.1.3 Network-Layer Performance 2514.1.4 Network-Layer Congestion 2554.1.5 Structure of A Router 258

4.2 NETWORK-LAYER PROTOCOLS 2614.2.1 IPv4 Datagram Format 2624.2.2 IPv4 Addresses 2694.2.3 Forwarding of IP Packets 2864.2.4 ICMPv4 295

4.3 UNICAST ROUTING 2994.3.1 General Idea 3004.3.2 Routing Algorithms 3024.3.3 Unicast Routing Protocols 313

4.4 MULTICAST ROUTING 3334.4.1 Introduction 3334.4.2 Multicasting Basics 3364.4.3 Intradomain Routing Protocols 3434.4.4 Interdomain Routing Protocols 349

4.5 NEXT GENERATION IP 3504.5.1 Packet Format 3514.5.2 IPv6 Addressing 3534.5.3 Transition from IPv4 to IPv6 3584.5.4 ICMPv6 359

for23267_fm_i-xxiv.fm Page ix Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

x CONTENTS

4.6 END-CHAPTER MATERIALS 3614.6.1 Further Reading 3614.6.2 Key Terms 3614.6.3 Summary 362

4.7 PRACTICE SET 3624.7.1 Quizzes 3624.7.2 Questions 3634.7.3 Problems 366

4.8 SIMULATION EXPERIMENTS 3734.8.1 Applets 3734.8.2 Lab Assignments 373

4.9 PROGRAMMING ASSIGNMENT 374

Chapter 5 Data-Link Layer: Wired Networks 375

5.1 INTRODUCTION 3765.1.1 Nodes and Links 3775.1.2 Two Types of Links 3775.1.3 Two Sublayers 378

5.2 DATA LINK CONTROL (DLC) 3785.2.1 Framing 3785.2.2 Flow and Error Control 3815.2.3 Error Detection and Correction 3825.2.4 Two DLC Protocols 396

5.3 MULTIPLE ACCESS PROTOCOLS (MAC) 4035.3.1 Random Access 4045.3.2 Controlled Access 4165.3.3 Channelization 419

5.4 LINK-LAYER ADDRESSING 4195.5 WIRED LANS: ETHERNET PROTOCOL 428

5.5.1 IEEE Project 802 4285.5.2 Standard Ethernet 4295.5.3 Fast Ethernet (100 Mbps) 4365.5.4 Gigabit Ethernet 4375.5.5 10-Gigabit Ethernet 4385.5.6 Virtual LANs 438

5.6 OTHER WIRED NETWORKS 4425.6.1 Point-to-Point Networks 4435.6.2 SONET 4485.6.3 Switched Network: ATM 455

5.7 CONNECTING DEVICES 4605.7.1 Repeaters or Hubs 4605.7.2 Link-Layer Switches 4615.7.3 Routers 463

5.8 END-CHAPTER MATERIALS 4645.8.1 Recommended Reading 4645.8.2 Key Terms 4645.8.3 Summary 465

for23267_fm_i-xxiv.fm Page x Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

CONTENTS xi

5.9 PRACTICE SET 4665.9.1 Quizzes 4665.9.2 Questions 4665.9.3 Problems 468

5.10 SIMULATION EXPERIMENTS 4765.10.1 Applets 4765.10.2 Lab Assignments 477

5.11 PROGRAMMING ASSIGNMENTS 477

Chapter 6 Wireless Networks and Mobile IP 479

6.1 WIRELESS LANs 4806.1.1 Introduction 4806.1.2 IEEE 802.11 Project 4836.1.3 Bluetooth 4956.1.4 WiMAX 501

6.2 OTHER WIRELESS NETWORKS 5036.2.1 Channelization 5036.2.2 Cellular Telephony 5106.2.3 Satellite Networks 521

6.3 MOBILE IP 5276.3.1 Addressing 5276.3.2 Agents 5296.3.3 Three Phases 5306.3.4 Inefficiency in Mobile IP 535

6.4 END-CHAPTER MATERIALS 5366.4.1 Further Reading 5366.4.2 Key terms 5376.4.3 Summary 537

6.5 PRACTICE SET 5386.5.1 Quizzes 5386.5.2 Questions 5386.5.3 Problems 540

6.6 SIMULATION EXPERIMENTS 5456.6.1 Applets 5456.6.2 Lab Assignments 545

6.7 PROGRAMMING ASSIGNMENT 545

Chapter 7 Physical Layer and Transmission Media 547

7.1 DATA AND SIGNALS 5487.1.1 Analog and Digital 5497.1.2 Transmission Impairment 5567.1.3 Data Rate Limits 5587.1.4 Performance 560

7.2 DIGITAL TRANSMISSION 5637.2.1 Digital-to-Digital Conversion 5637.2.2 Analog-to-Digital Conversion 569

for23267_fm_i-xxiv.fm Page xi Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

xii CONTENTS

7.3 ANALOG TRANSMISSION 5747.3.1 Digital-to-Analog Conversion 5747.3.2 Analog-to-Analog Conversion 579

7.4 BANDWIDTH UTILIZATION 5817.4.1 Multiplexing 5817.4.2 Spread Spectrum 587

7.5 TRANSMISSION MEDIA 5917.5.1 Guided Media 5917.5.2 Unguided Media: Wireless 596

7.6 END-CHAPTER MATERIALS 5987.6.1 Recommended Reading 5987.6.2 Key Terms 5987.6.3 Summary 599

7.7 PRACTICE SET 6007.7.1 Quizzes 6007.7.2 Questions 6007.7.3 Problems 601

Chapter 8 Multimedia and Quality of Service 607

8.1 COMPRESSION 6088.1.1 Lossless Compression 6088.1.2 Lossy Compression 617

8.2 MULTIMEDIA DATA 6238.2.1 Text 6238.2.2 Image 6238.2.3 Video 6278.2.4 Audio 629

8.3 MULTIMEDIA IN THE INTERNET 6308.3.1 Streaming Stored Audio/Video 6318.3.2 Streaming Live Audio/Video 6348.3.3 Real-Time Interactive Audio/Video 635

8.4 REAL-TIME INTERACTIVE PROTOCOLS 6418.4.1 Rationale for New Protocols 6428.4.2 RTP 6458.4.3 RTCP 6488.4.4 Session Initialization Protocol (SIP) 6518.4.5 H.323 6588.4.6 SCTP 660

8.5 QUALITY OF SERVICE 6748.5.1 Data-Flow Characteristics 6748.5.2 Flow Classes 6758.5.3 Flow Control to Improve QoS 6768.5.4 Integrated Services (IntServ) 6828.5.5 Differentiated Services (DiffServ) 686

8.6 END-CHAPTER MATERIALS 6878.6.1 Recommended Reading 6878.6.2 Key Terms 6888.6.3 Summary 688

for23267_fm_i-xxiv.fm Page xii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

CONTENTS xiii

8.7 PRACTICE SET 6898.7.1 Quizzes 6898.7.2 Questions 6898.7.3 Problems 692

8.8 SIMULATION EXPERIMENTS 7008.8.1 Applets 7008.8.2 Lab Assignments 700

8.9 PROGRAMMING ASSIGNMENTS 700

Chapter 9 Network Management 701

9.1 INTRODUCTION 7029.1.1 Configuration Management 7029.1.2 Fault Management 7049.1.3 Performance Management 7059.1.4 Security Management 7059.1.5 Accounting Management 705

9.2 SNMP 7069.2.1 Managers and Agents 7069.2.2 Management Components 7079.2.3 An Overview 7099.2.4 SMI 7109.2.5 MIB 7139.2.6 SNMP 716

9.3 ASN.1 7229.3.1 Language Basics 7239.3.2 Data Types 7239.3.3 Encoding 726

9.4 END-CHAPTER MATERIALS 7269.4.1 Further Reading 7269.4.2 Key Terms 7279.4.3 Summary 727

9.5 PRACTICE SET 7279.5.1 Quizzes 7279.5.2 Questions 7279.5.3 Problems 729

Chapter 10 Network Security 731

10.1 INTRODUCTION 73210.1.1 Security Goals 73210.1.2 Attacks 73310.1.3 Services and Techniques 734

10.2 CONFIDENTIALITY 73510.2.1 Symmetric-Key Ciphers 73510.2.2 Asymmetric-Key Ciphers 746

10.3 OTHER ASPECTS OF SECURITY 75110.3.1 Message Integrity 75110.3.2 Message Authentication 75210.3.3 Digital Signature 753

for23267_fm_i-xxiv.fm Page xiii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

xiv CONTENTS

10.3.4 Entity Authentication 75810.3.5 Key Management 761

10.4 INTERNET SECURITY 76610.4.1 Application-Layer Security 76710.4.2 Transport-Layer Security 77610.4.3 Network-Layer Security 782

10.5 FIREWALLS 79210.5.1 Packet-Filter Firewall 79310.5.2 Proxy Firewall 793

10.6 END-CHAPTER MATERIALS 79410.6.1 Further Reading 79410.6.2 Key Terms 79410.6.3 Summary 795

10.7 PRACTICE SET 79610.7.1 Quizzes 79610.7.2 Questions 79610.7.3 Problems 798

10.8 SIMULATION EXPERIMENTS 80310.8.1 Applets 80310.8.2 Lab Assignments 803

10.9 PROGRAMMING ASSIGNMENTS 803

Chapter 11 Socket Programming In Java 805

11.1 INTRODUCTION 80611.1.1 Addresses and Ports 80611.1.2 Client-Server Paradigm 809

11.2 PROGRAMMING WITH UDP 81011.2.1 Iterative Approach 81011.2.2 Concurrent Approach 820

11.3 PROGRAMMING WITH TCP 82311.3.1 Iterative Approach 82311.3.2 Concurrent Approach 832

11.4 END-CHAPTER MATERIALS 83511.4.1 Further Reading 83511.4.2 Key terms 83511.4.3 Summary 835

11.5 PRACTICE SET 83611.5.1 Quizzes 83611.5.2 Questions 83611.5.3 Problems 838

11.6 PROGRAMMING ASSIGNMENTS 838

Appendix A Unicode 841

Appendix B Positional Numbering System 845

Appendix C HTML, CSS, XML, and XSL 853

for23267_fm_i-xxiv.fm Page xiv Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

CONTENTS xv

Appendix D Miscellaneous Information 861

Appendix E 8B/6T Code 865

Glossary 867

References 901

Index 905

for23267_fm_i-xxiv.fm Page xv Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

for23267_fm_i-xxiv.fm Page xvi Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

xvii

Preface

echnologies related to networks and internetworking may be the fastest growing inour culture today. The appearance of some new social networking applications

every year is a testimony to this claim. People use the Internet more and more everyday. They use the Internet for research, shopping, airline reservations, checking thelatest news, weather, and so on.

In this Internet-oriented society, specialists need be trained to run and manage theInternet, part of the Internet, or an organization’s network that is connected to the Internet.This book is designed to help students understand the basics of networking in generaland the protocols used in the Internet in particular.

FeaturesAlthough the main goal of the book is to teach the principles of networking, it isdesigned to teach these principles using the following goals:

Protocol Layering

The book is designed to teach the principles of networking by using the protocol layer-ing of the Internet and the TCP/IP protocol suite. Some of the networking principlesmay have been duplicated in some of these layers, but with their own special details.Teaching these principles using protocol layering is beneficial because these principlesare repeated and better understood in relation to each layer. For example, althoughaddressing is an issue that is applied to four layers of the TCP/IP suite, each layer usesa different addressing format for different purposes. In addition, addressing has adifferent domain in each layer. Another example is framing and packetizing, which isrepeated in several layers, but each layer treats the principle differently.

Top-Down Approach

Although one of the authors of this book has written several books about networkingand the Internet (Data Communication and Networking, TCP/IP Protocol Suite, Cryp-tography and Network Security, and Local Area Networks), the approach to networkingin this book is different. It is a top-down approach.

Although each layer in the TCP/IP protocol suite is built on the services providedby the layer below, there are two approaches to learn about the principles in each layer.In the bottom-up approach, we learn about how bits and signals are moving at the phys-ical layer before learning how applications use these bits to send messages. In the top-down approach, we first learn about how application-layer protocols exchangemessages before learning how these messages are actually broken into bits and signalsand physically carried through the Internet. In this book, we use the top-downapproach.

T

for23267_fm_i-xxiv.fm Page xvii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

xviii PREFACE

AudienceThis book is written for both academic and professional audiences. The book can beused as a self-study guide for interested professionals. As a textbook, it can be used fora one-semester or one-quarter course. It is designed for the last year of undergraduatestudy or the first year of graduate study. Although some problems at the end of thechapters require some knowledge of probability, the study of the text needs only gen-eral mathematical knowledge taught in the first year of college.

OrganizationThe book is made of eleven chapters and five appendices.

❑ Chapter 1. Introduction

❑ Chapter 2. Application Layer

❑ Chapter 3. Transport Layer

❑ Chapter 4. Network Layer

❑ Chapter 5. Data-Link Layer: Wired Networks

❑ Chapter 6. Wireless Networks and Mobile IP

❑ Chapter 7. Physical Layer and Transmission Media

❑ Chapter 8. Multimedia and Quality of Service

❑ Chapter 9. Network Management

❑ Chapter 10. Network Security

❑ Chapter 11. Socket Programming In Java

❑ Appendices. Appendices A to E

Pedagogy Several pedagogical features of this text are designed to make it particularly easy forstudents to understand computer networking in general and the Internet in particular.

Visual Approach

The book presents highly technical subject matter without complex formulas by using abalance of text and figures. More than 670 figures accompanying the text provide avisual and intuitive opportunity for understanding the material. Figures are particularlyimportant in explaining networking concepts. For many students, these concepts aremore easily grasped visually than verbally.

Highlighted Points

We have repeated important concepts in boxes for quick reference and immediateattention.

Examples and Applications

Whenever appropriate, we have included examples that illustrate the concepts intro-duced in the text. Also, we have added some real-life applications throughout eachchapter to motivate students.

for23267_fm_i-xxiv.fm Page xviii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

mps
Highlight
MPS
Highlight
CF: We have updated per live chapters. Please check and verify.
n.shah
Note
Unmarked set by n.shah

PREFACE xix

End-of-Chapter Materials

Each chapter ends with a set of materials that includes the following:

Key TermsThe new terms used in each chapter are listed at the end of the chapter and their defini-tions are included in the glossary.

SummaryEach chapter ends with a summary of the material covered by that chapter. The sum-mary glues the important materials together to be seen in one shot.

Further ReadingThis section gives a brief list of references relative to the chapter. The references can beused to quickly find the corresponding literature in the reference section at the end ofthe book.

Practice Set

Each chapter includes a practice set designed to reinforce salient concepts andencourage students to apply them. It consists of three parts: quizzes, questions, andproblems.

QuizzesQuizzes, which are posted on the book website, provide quick concept checking. Stu-dents can take these quizzes to check their understanding of the materials. The feed-back to the students’ responses is given immediately.

QuestionsThis section contains simple questions about the concepts discussed in the book.Answers to the odd-numbered questions are posted on the book website to be checkedby the student.

ProblemsThis section contains more difficult problems that need a deeper understanding of thematerials discussed in the chapter. We strongly recommend that the student try to solveall of these problems. Answers to the odd-numbered problems are also posted on thebook website to be checked by the student.

Simulation Experiments

Network concepts and the flow and contents of the packets can be better understood ifthey can be analyzed in action. Most chapters include a section to help students experi-ment with these. This section is divided into two parts:

AppletsJava applets are interactive experiments that are created by the authors and posted onthe website. Some of these applets are used to better understand the solutions to someproblems; others are used to better understand the network concepts in action.

Lab AssignmentsSome chapters include lab assignments that use Wireshark simulation software. Theinstructions for downloading and using Wireshark are given in Chapter 1. In some other

for23267_fm_i-xxiv.fm Page xix Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

xx PREFACE

chapters, there a few lab assignments that can be used to practice sending and receivingpackets and analyzing their contents.

Programming Assignments

Some chapters also include programming assignments. Writing a program about aprocess or procedure clarifies many subtleties and helps the student better understandthe concept behind the process. Although the student can write and test programs inany computer language she or he is comfortable with, the solutions are given in Javalanguage at the book website for the use of professors.

Appendices

The appendices are intended to provide a quick reference or review of materials neededto understand the concepts discussed in the book.

Glossary and Acronyms

The book contains an extensive glossary and a list of acronyms for finding the corre-sponding term quickly.

Instruction ResourcesThe book contains complete instruction resources that can be downloaded from thebook site http://www.mhhe.com/forouzan (added by McGraw-Hill). They include:

Presentations

The site includes a set of colorful and animated PowerPoint presentations for teachingthe course.

Solution to Practice Set

Solutions to all questions and problems are provided at the book website for the use ofprofessors who teach the course.

Solution to Programming Assignments

Solutions to programming assignments are also provided at the book website. The pro-grams are in C language for Chapter 2 and in Java language for other chapters.

How to Use the BookThe chapters in the book are organized to provide a great deal of flexibility. We suggestthe following:

❑ Most of the material discussed in Chapter 1 is essential to understanding the rest ofthe book. The first two sections are critical to understanding the network layeringupon which the whole book is designed. The last two sections, Internet History andInternet Standards and Administration, can be skipped or assigned as self-studymaterials.

❑ Chapters 2 to 6 are based on the four top layers of the TCP/IP protocol suite. Werecommend these be covered in the same order as presented to preserve the top-down

for23267_fm_i-xxiv.fm Page xx Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

PREFACE xxi

approach of the book. However, there are some sections, such as Client-ServerSocket Interface in Chapter 2, Next Generation IP in Chapter 4, or Other WiredNetworks in Chapter 5, that can be skipped without loss of continuity.

❑ Chapter 7, Physical Layer, is added to the book to make the discussion of theTCP/IP protocol suite complete. It can be skipped if the professor feels that thestudents are already familiar with the materials or they have taken some otherrelated courses.

❑ Chapters 8, 9, and 10 can be taught in any order after the first six chapters arediscussed. These chapters can be taught fully, partially, or totally skipped at theprofessor’s discretion.

❑ Chapter 11 is devoted to Java network programming. It has two purposes: First, itgives the idea of client-server programming to make the students better understandthe whole purpose of the Internet. Second, it prepares the student for moreadvanced courses in network programming. A mini duplicate of this chapter wasgiven in Chapter 2 in C language. The professor can either use that section or useChapter 11 to teach the basics of network programming.

Web SiteThe book website, http://www.mhhe.com/forouzan, contains the following:

Quizzes

The quizzes are posted on the website, but the results can be sent to the professor whoteaches the course.

Students’ Solutions

The answer to the odd-numbered questions and problems are posted for the students tocheck their work and get some feedback.

Applets

Applets designed for each chapter are available to the students to see some protocolsand problems in action.

Professor’s Solutions

The answers to all questions and problems are posted for the use of professors whoteach the course.

Programming Assignments

The codes for programming assignments are posted for the use of the professors whoteach the course.

PowerPoint Presentations

Full-colored and animated presentations are posted for the professors who teach thecourse. They are designed to allow the professors to tailor them for their owncourses.

for23267_fm_i-xxiv.fm Page xxi Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

MPS
Highlight
Please check commas here.
mps
Highlight

xxii PREFACE

AcknowledgmentsIt is obvious that the development of a book of this scope needs the support of manypeople. We would like to acknowledge the contributions from peer reviewers to thedevelopment of the book. These reviewers are:

Special thanks go to the staff of McGraw-Hill. Raghu Srinivasan, the publisher,proved how a proficient publisher can make the impossible, possible. Melinda Bilecki,the developmental editor, gave help whenever we needed it. Jane Mohr, the projectmanager, guided us through the production process with enormous enthusiasm.We alsothank Dheeraj Chahal, full-service project manager, in production, Brenda A. Rolwes,the cover designer, and Kathryn DiBernardo, the copy editor.

Forouzan and MosharrafLos Angeles, CA.

Wenbing Zhao Cleveland State UniversityGeorge Kesidis Pennsylvania State UniversityYannis Viniotis North Carolina State UniversityZhi-Li Zhang University of MinnesotaZongming Fei University of KentuckyBin Wang Wright State UniversityRandy J. Fortier University of WindsorVincent Wong University of British ColumbiaSeyed H. Hosseini University of Wisconsin, MilwaukeeAmin Vahdat University of California, San Deigo

for23267_fm_i-xxiv.fm Page xxii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

xxiii

Trademarks

hroughout the text we have used several trademarks. Rather than insert a trademarksymbol with each mention of the trademark name, we acknowledge the trademarks

here and state that they are used with no intention of infringing upon them. Other prod-uct names, trademarks, and registered trademarks are the property of their respectiveowners.

T

for23267_fm_i-xxiv.fm Page xxiii Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES

for23267_fm_i-xxiv.fm Page xxiv Thursday, January 6, 2011 1:57 PM

CONFIRMING PAGES