Computer Networking : A Top-Down Approach Featuring the Internet

Why Rent from Knetbooks?

Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!

By starting at the application-layer and working down to the protocol stack, Computer Networking: A Top-Down Approach Featuring the Internet provides a motivational treatment of important concepts for networking students. Based on the rationale that once a student understands the applications of networks they can understand the network services needed to support these applications, this book takes a "top-down" approach where students are first exposed to a concrete application and then drawn into some of the deeper issues of networking. Computer Networking: A Top-Down Approach Featuring the Internet focuses on the Internet as opposed to addressing it as just one of many computer network technologies. Students are enormously curious about what is "under the hood" of the Internet, creating an extremely motivational vehicle for teaching fundamental computer networking concepts. This text features a comprehensive companion website which includes the entire text online. It allows for direct access to some of the best Internet sites relating to computer networks and Internet protocols. The website has many interactive features, including direct access to the Traceroute program, direct access to search engines for Internet Drafts, Java applets that animate difficult concepts, and direct streaming audio. Finally, the website makes it possible to update the material to keep up-to-date with this rapidly changing field.

Jim Kurose is Professor and Chair of the Department of Computer Science at the University of Massachusetts, Amherst Keith Ross is Chair of the Multimedia Communications Department at Institut Eurecom

Computer Networks and the Internet

1

(71)

What Is the Internet?

1

(5)

A Nuts and Bolts Description

1

(3)

A Service Description

4

(1)

Some Good Hyperlinks

5

(1)

What Is a Protocol?

6

(3)

A Human Analogy

7

(1)

Network Protocols

8

(1)

The Network Edge

9

(4)

End Systems, Clients, and Servers

9

(2)

Connectionless and Connection-Oriented Services

11

(2)

The Network Core

13

(16)

Circuit Switching, Packet Switching, and Message Switching

13

(11)

Routing in Data Networks

24

(5)

Access Networks and Physical Media

29

(9)

Access Networks

29

(5)

Physical Media

34

(4)

Delay and Loss in Packet-Switched Networks

38

(6)

Types of Delay

38

(6)

Protocol Layers and Their Service Models

44

(9)

Layered Architecture

45

(4)

The Internet Protocol Stack

49

(4)

Network Entities and Layers

53

(1)

Internet Backbones, NAPs, and ISPs

53

(3)

A Brief History of Computer Networking and the Internet

56

(6)

Development and Demonstration of Early Packet Switching Principles: 1961--1972

56

(1)

Internetworking, and New and Proprietary Networks: 1972--1980

57

(3)

A Proliferation of Networks: 1980--1990

60

(1)

Commercialization and the Web: The 1990s

61

(1)

Summary

62

(10)

Homework Problems and Questions

64

(2)

Problems

66

(2)

Discussion Questions

68

(2)

Interview

70

(2)

Leonard Kleinrock

Application Layer

72

(95)

Principles of Application Layer Protocols

72

(12)

Application-Layer Protocols

73

(5)

What Services Does an Application Need?

78

(2)

Services Provided by the Internet Transport Protocols

80

(3)

Network Applications Covered in this Book

83

(1)

The World Wide Web: HTTP

84

(20)

Overview of HTTP

85

(2)

Nonpersistent and Persistent Connections

87

(3)

HTTP Message Format

90

(4)

User-Server Interaction: Authentication and Cookies

94

(2)

The Conditional GET

96

(1)

Web Caches

97

(7)

File Transfer: FTP

104

(2)

FTP Commands and Replies

105

(1)

Electronic Mail in the Internet

106

(18)

SMTP

109

(2)

Comparison with HTTP

111

(1)

Mail Message Formats and MIME

112

(6)

Mail Access Protocols

118

(5)

Continuous Media E-mail

123

(1)

DNS---The Internet's Directory Service

124

(12)

Services Provided by DNS

124

(3)

Overview of How DNS Works

127

(5)

DNS Records

132

(2)

DNS Messages

134

(2)

Socket Programming with TCP

136

(10)

Socket Programming with TCP

137

(2)

An Example Client/Server Application in Java

139

(7)

Socket Programming with UDP

146

(8)

Building a Simple Web Server

154

(4)

Web Server Functions

154

(4)

Summary

158

(9)

Homework Problems and Questions

159

(2)

Problems

161

(1)

Discussion Questions

162

(1)

Programming Assignments

163

(2)

Interview

165

(2)

Tim Berners-Lee

Transport Layer

167

(104)

Transport-Layer Services and Principles

167

(5)

Relationship between Transport and Network Layers

169

(2)

Overview of the Transport Layer in the Internet

171

(1)

Multiplexing and Demultiplexing Applications

172

(5)

Connectionless Transport: UDP

177

(5)

UDP Segment Structure

180

(1)

UDP Checksum

181

(1)

Principles of Reliable Data Transfer

182

(25)

Building a Reliable Data Transfer Protocol

184

(9)

Pipelined Reliable Data Transfer Protocols

193

(3)

Go-Back-N (GBN)

196

(5)

Selective Repeat (SR)

201

(6)

Connection-Oriented Transport: TCP

207

(24)

The TCP Connection

207

(3)

TCP Segment Structure

210

(1)

Sequence Numbers and Acknowledgment Numbers

211

(2)

Telnet: A Case Study for Sequence and Acknowledgment Numbers

213

(2)

Reliable Data Transfer

215

(6)

Flow Control

221

(3)

Round Trip Time and Timeout

224

(2)

TCP Connection Management

226

(5)

Principles of Congestion Control

231

(9)

The Causes and the Costs of Congestion

231

(6)

Approaches toward Congestion Control

237

(2)

ATM ABR Congestion Control

239

(1)

TCP Congestion Control

240

(18)

Overview of TCP Congestion Control

241

(8)

Modeling Latency: Static Congestion Window

249

(4)

Modeling Latency: Dynamic Congestion Window

253

(5)

Summary

258

(13)

Homework Problems and Questions

260

(1)

Problems

261

(7)

Discussion Question

268

(1)

Programming Assignment

268

(1)

Interview

269

(2)

Sally Floyd

Network Layer and Routing

271

(108)

Introduction and Network Service Models

271

(9)

Network Service Model

273

(6)

Origins of Datagram and Virtual Circuit Service

279

(1)

Routing Principles

280

(17)

A Link State Routing Algorithm

282

(4)

A Distance Vector Routing Algorithm

286

(9)

Other Routing Algorithms

295

(2)

Hierarchical Routing

297

(3)

Internet Protocol

300

(21)

IPvl Addressing

302

(8)

Transporting a Datagram from Source to Destination: Addressing and Routing