did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780201634426

An Engineering Approach to Computer Networking ATM Networks, the Internet, and the Telephone Network

by
  • ISBN13:

    9780201634426

  • ISBN10:

    0201634422

  • Edition: 1st
  • Format: Paperback
  • Copyright: 1997-05-05
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
List Price: $69.99

Summary

This practical introduction to computer networking takes a unique and highly effective engineering approach that not only describes how networks operate, but also offers invaluable insight into why they work the way they do. You will find clear overviews of three network types-ATM networks, the Internet, and the telephone network-and extensive coverage of all essential networking topics: protocol layering; common system design techniques; multiple access; switching and scheduling algorithms; naming, addressing, and routing; error and flow control; and network control. Practical in focus, this book features many real-world examples and is supported with on-line material providing hands-on implementation exercises and a powerful network simulator.

Author Biography

S. Keshav, Associate Professor of Computer Science at Cornell University, has employed the engineering approach with great success in networking courses he has taught at the Indian Institute of Technology, Delhi, and Columbia University. Formerly a Member of the Technical Staff at AT&T Bell Laboratories, Dr. Keshav received his Ph.D. in 1991 from the University of California at Berkeley. He can be reached at skeshav@cs.cornell.edu.



0201634422AB04062001

Table of Contents

Preface xiii
SECTION 1: INTRODUCTION 3(64)
Chapter 1: Atoms, Bits, and Networks
3(6)
1.1 Introduction
3(2)
1.2 Common network technologies
5(1)
1.3 Networking concepts and techniques
6(1)
1.4 Engineering computer networks
7(1)
1.5 In closing
8(1)
Chapter 2: The Telephone Network: Concepts, History, and Challenges
9(22)
2.1 Concepts
9(2)
2.2 End-systems
11(3)
2.3 Transmission
14(5)
2.4 Switching
19(2)
2.5 Signaling
21(2)
2.6 Cellular communications
23(2)
2.7 Historical sketch
25(2)
2.8 Challenges
27(3)
2.9 Summary
30(1)
Chapter 3: The Internet: Concepts, History, and Challenges
31(16)
3.1 Concepts
32(1)
3.2 Basic Internet technology
33(2)
3.3 Addressing
35(2)
3.4 Routing
37(2)
3.5 Endpoint control
39(1)
3.6 History
40(4)
3.7 Challenges
44(2)
3.8 Summary
46(1)
Chapter 4: ATM Networks: Concepts, History, and Challenges
47(20)
4.1 Virtual circuits
48(5)
4.2 Fixed-size packets
53(2)
4.3 Small packet size
55(2)
4.4 Statistical multiplexing
57(2)
4.5 Integrated service
59(2)
4.6 History
61(2)
4.7 Challenges
63(1)
4.8 Summary
64(3)
SECTION 2: TOOLS AND TECHNIQUES 67(430)
Chapter 5: Protocol Layering
67(18)
5.1 Protocols and protocol layering
67(3)
5.2 Importance of layering
70(1)
5.3 Problems with layering
71(1)
5.4 ISO-OSI reference model
72(1)
5.5 The seven layers
73(11)
5.6 Summary
84(1)
Chapter 6: System Design
85(32)
6.1 Introduction
85(2)
6.2 Resource constraints and their metrics
87(4)
6.3 Common design techniques
91(23)
6.4 Performance analysis and tuning
114(1)
6.5 Summary
115(2)
Chapter 7: Multiple Access
117(42)
7.1 Introduction
117(3)
7.2 Choices and constraints
120(5)
7.3 Base technologies
125(6)
7.4 Centralized access schemes
131(4)
7.5 Distributed schemes
135(18)
7.6 Summary
153(6)
Chapter 8: Switching
159(50)
8.1 Introduction
159(3)
8.2 Circuit switching
162(13)
8.3 Packet switching
175(9)
8.4 Switch fabrics
184(10)
8.5 Buffering
194(9)
8.6 Multicasting
203(1)
8.7 Summary
204(5)
Chapter 9: Scheduling
209(56)
9.1 Introduction
209(4)
9.2 Requirements
213(10)
9.3 Fundamental choices
223(11)
9.4 Scheduling best-effort connections
234(11)
9.5 Scheduling guaranteed-service connections
245(7)
9.6 Comparison
252(4)
9.7 Packet dropping
256(4)
9.8 Summary
260(5)
Chapter 10: Naming and Addressing
265(22)
10.1 Introduction
265(1)
10.2 Naming and addressing
265(1)
10.3 Hierarchical naming
266(2)
10.4 Addressing
268(2)
10.5 Addressing in the telephone network
270(1)
10.6 Addressing in the Internet
270(7)
10.7 NSAPs: Addressing in ATM networks
277(2)
10.8 Name resolution
279(2)
10.9 Datalink layer addressing
281(1)
10.10 Finding datalink layer addresses
282(1)
10.11 Summary
283(4)
Chapter 11: Routing
287(70)
11.1 Introduction
287(2)
11.2 Routing protocol requirements
289(1)
11.3 Choices
290(2)
11.4 Routing in the telephone network
292(6)
11.5 Distance-vector routing
298(7)
11.6 Link-state routing
305(9)
11.7 Choosing link costs
314(4)
11.8 Hierarchical routing
318(6)
11.9 Internet routing protocols
324(3)
11.10 Routing within a broadcast LAN
327(2)
11.11 Multicast routing
329(13)
11.12 Routing with policy constraints
342(3)
11.13 Routing for mobile hosts
345(5)
11.14 Summary
350(7)
Chapter 12: Error Control
357(38)
12.1 Causes of bit errors
358(3)
12.2 Bit-error detection and correction
361(12)
12.3 Causes of packet errors
373(3)
12.4 Packet-error detection and correction
376(15)
12.5 Summary
391(4)
Chapter 13: Flow Control
395(50)
13.1 Model
396(2)
13.2 Classification
398(1)
13.3 Open-loop flow control
398(8)
13.4 Closed-loop flow control
406(35)
13.5 Hybrid flow control
441(1)
13.6 Summary
442(3)
Chapter 14: Traffic Management
445(52)
14.1 Introduction
445(1)
14.2 An economic framework for traffic management
446(5)
14.3 Traffic models
451(4)
14.4 Traffic classes
455(6)
14.5 Time scales of traffic management
461(2)
14.6 Scheduling
463(3)
14.7 Renegotiation
466(2)
14.8 Signaling
468(7)
14.9 Admission control
475(8)
14.10 Peak-load pricing
483(2)
14.11 Capacity planning
485(6)
14.12 Summary
491(6)
SECTION 3: PRACTICE 497(64)
Chapter 15: Common Protocols
497(48)
15.1 Introduction
497(1)
15.2 Telephone network protocols
498(11)
15.3 Internet protocols
509(14)
15.4 ATM network protocols
523(11)
15.5 IP over ATM
534(8)
15.6 Summary
542(3)
Chapter 16: Protocol Implementation
545(16)
16.1 Introduction
545(1)
16.2 Factors affecting protocol stack performance
545(1)
16.3 Common protocol stack procedures
546(1)
16.4 Partitioning strategies
547(4)
16.5 Interface among protocol layers
551(5)
16.6 Protocol implementation
556(1)
16.7 Some rules of thumb
557(3)
16.8 Summary
560(1)
References 561(36)
Glossary 597(28)
Answers to Review Questions and Selected Exercises 625(20)
Index 645

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

The world is surging toward a digital revolution where computer networks mediate every aspect of modern life, from paying bills to buying real estate, and from reading a book to watching a film. Computer networks are complex systems that almost magically link tens of millions of computers and more than a billion telephones around the world. A single mouse-click in a Web browser can download text, images, and animations from a computer hundreds or thousands of miles away. With a satellite or cellular telephone, even the most intrepid explorer in the remotest corner of the Earth can call home. How do we build these marvelous webs of interconnection? The goal of this book is to introduce readers to what lies at the basis of computer networks, and why they work the way they do. This book is based on a course that I taught at the Indian Institute of Technology, Delhi, India, in the spring of 1993. My aim was to teach students why networks were built the way they were. I wanted them to question every design decision, and to understand how these decisions would change if we changed the assumptions. I call this an engineering approach to computer networking.Perhaps it is easiest to appreciate this approach by comparing it with some other approaches. Suppose you wanted to route packets in a computer network. A protocol approach would describe the routing protocols in common use and their packet formats and algorithms, and perhaps compare several routing protocols. An analytical approach would model the network as a graph, assume a traffic distribution from every source to every destination, then compute optimal routing. In my opinion, both these approaches, though important, miss the point. A purely protocol approach tells the reader how routing works, but not why it was designed that way. The success of an analytical approach depends critically on the assumptions it makes. Unfortunately, because of the complexities of the real world, to make the problem tractable, the analyst must make many simplifying assumptions. In my experience, this simplification leads to "toy" models that do not explain what is really important, and what details we can ignore. In contrast, the engineering approach is to begin by identifying the fundamental constraints on the problem, make reasonable "real-world" assumptions, and then examine several alternative solutions, trading off their pros and cons. An engineer recognizes that no solution is perfect, but that every solution represents a particular trade-off between cost and benefit. This book focuses on identifying the fundamental problems and the trade-offs in solving them.The second aspect of an engineering approach is to learn by doing. This book is meant to be used with implementation exercises on the Internet and on the REAL network simulator. These exercises, which are available on-line at http://www.aw.com/cp/keshav/engcom.html, allow students to learn protocol design and implementation hands-on. Unlike other textbooks in the area, this book simultaneously studies the principles underlying the Internet, the telephone network, and asynchronous transfer mode (ATM) networks. The Internet is the most successful embodiment of a data network, and its study needs no further justification. The global telephone network is arguably the world's largest computer network, though it is specialized to carry voice. Unfortunately, few outside the telephone industry know much about how the telephone network operates, perhaps because of the layers of acronyms and arcana that surround its operations. This book is a small attempt to rectify the situation. Finally, many see ATM networks as the future of computer networking. Although this may not be true, ATM networks are interesting because they draw on experience with the telephone network and the Internet to build an integrated services network that provides end-to-end quality of service. This ambitio

Rewards Program