Computer Networks 4th Edition Jie Wang Download
Computer Networks 4th Edition Jie Wang Download
download
https://ebookname.com/product/computer-networks-4th-edition-jie-
wang/
https://ebookname.com/product/computer-networks-and-
internets-5th-edition-douglas-comer/
https://ebookname.com/product/data-communications-and-computer-
networks-for-computer-scientists-and-engineers-2nd-edition-
michael-duck/
https://ebookname.com/product/principles-digital-communication-
system-computer-networks-1st-edition-k-v-prasad/
https://ebookname.com/product/the-procurement-and-supply-manager-
s-desk-reference-2e-2nd-edition-fred-sollish/
Environmental Chemistry of Arsenic Books in Soils
Plants and the Environment 1st Edition William T.
Frankenberger Jr
https://ebookname.com/product/environmental-chemistry-of-arsenic-
books-in-soils-plants-and-the-environment-1st-edition-william-t-
frankenberger-jr/
https://ebookname.com/product/facial-hair-and-the-performance-of-
early-modern-masculinity-1st-edition-rycroft/
https://ebookname.com/product/student-grub-stuffed-with-new-
recipes-4th-edition-alastair-williams/
https://ebookname.com/product/church-history-in-plain-
language-4th-edition-bruce-shelley/
https://ebookname.com/product/the-enterprising-city-centre-
manchester-s-development-challenge-1st-edition-gwynda-williams/
Masked by Chaos Mystic Harbor Book 2 1st Edition Suki
Williams
https://ebookname.com/product/masked-by-chaos-mystic-harbor-
book-2-1st-edition-suki-williams/
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
Table of Contents
Computer Networks, Fourth Edition
By Andrew S. Tanenbaum
The world's leading introduction to networking-fully updated for tomorrow's key technologies.
Computer Networks, Fourth Edition is the ideal introduction to today's networks-and tomorrow's. This classic best
seller has been thoroughly updated to reflect the newest and most important networking technologies with a special
emphasis on wireless networking, including 802.11, Bluetooth, broadband wireless, ad hoc networks, i-mode, and
WAP. But fixed networks have not been ignored either with coverage of ADSL, gigabit Ethernet, peer-to-peer
networks, NAT, and MPLS. And there is lots of new material on applications, including over 60 pages on the Web,
plus Internet radio, voice over IP, and video on demand.Finally, the coverage of network security has been revised
and expanded to fill an entire chapter.
Author, educator, and researcher Andrew S. Tanenbaum, winner of the ACM Karl V. Karlstrom Outstanding
Educator Award, carefully explains how networks work on the inside, from underlying hardware at the physical layer
up through the top-level application layer. Tanenbaum covers all this and more:
•
• Physical layer (e.g., copper, fiber, wireless, satellites, and Internet over cable)
•
• Data link layer (e.g., protocol principles, protocol verification, HDLC, and PPP)
•
• MAC Sublayer (e.g., gigabit Ethernet, 802.11, broadband wireless, and switching)
•
• Network layer (e.g., routing algorithms, congestion control, QoS, IPv4, and IPv6)
This document is created with the unregistered version of CHM2PDF Pilot
• Transport layer (e.g., socket programming, UDP, TCP, RTP, and network performance)
•
• Application layer (e.g., e-mail, the Web, PHP, wireless Web, MP3, and streaming audio)
•
• Network security (e.g., AES, RSA, quantum cryptography, IPsec, and Web security)
The book gives detailed descriptions of the principles associated with each layer and presents many examples drawn
from the Internet and wireless networks.
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
Table of Contents
Computer Networks, Fourth Edition
By Andrew S. Tanenbaum
Copyright
Other bestselling titles by Andrew S. Tanenbaum
Preface
About the Author
Chapter 1. Introduction
Section 1.1. Uses of Computer Networks
Section 1.2. Network Hardware
Section 1.3. Network Software
Section 1.4. Reference Models
Section 1.5. Example Networks
Section 1.6. Network Standardization
Section 1.7. Metric Units
Section 1.8. Outline of the Rest of the Book
Section 1.9. Summary
Chapter 2. The Physical Layer
Section 2.1. The Theoretical Basis for Data Communication
Section 2.2. Guided Transmission Media
Section 2.3. Wireless Transmission
Section 2.4. Communication Satellites
Section 2.5. The Public Switched Telephone Network
Section 2.6. The Mobile Telephone System
Section 2.7. Cable Television
Section 2.8. Summary
Chapter 3. The Data Link Layer
Section 3.1. Data Link Layer Design Issues
Section 3.2. Error Detection and Correction
Section 3.3. Elementary Data Link Protocols
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
Copyright
This edition may be sold only in those countries to which it is consigned by Pearson Education International. It is not
to be re-exported and it is not for sale in the U.S.A., Mexico, or Canada.
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This new book, co-authored with Maarten van Steen, covers both the principles and paradigms of modern
distributed systems. In the first part, it covers the principles of communication, processes, naming, synchronization,
consistency and replication, fault tolerance, and security in detail. Then in the second part, it goes into different
paradigms used to build distributed systems, including object-based systems, distributed file systems,
document-based systems, and coordination-based systems. Numerous examples are discussed at length.
This comprehensive text covers the principles of modern operating systems in detail and illustrates them with
numerous real-world examples. After an introductory chapter, the next five chapters deal with the basic concepts:
processes and threads, deadlocks, memory management, input/output, and file systems. The next six chapters deal
with more advanced material, including multimedia systems, multiple processor systems, security. Finally, two
detailed case studies are given: UNIX/Linux and Windows 2000.
This widely-read classic, now in its fourth edition, provides the ideal introduction to computer architecture. It covers
the topic in an easy-to-understand way, bottom up. There is a chapter on digital logic for beginners, followed by
chapters on microarchitecture, the instruction set architecture level, operating systems, assembly language, and
parallel computer architectures.
This popular text on operating systems, co-authored with Albert S. Woodhull, is the only book covering both the
principles of operating systems and their application to a real system. All the traditional operating systems topics are
covered in detail. In addition, the principles are carefully illustrated with MINIX, a free POSIX-based UNIX-like
operating system for personal computers. Each book contains a free CD-ROM containing the complete MINIX
system, including all the source code. The source code is listed in an appendix to the book and explained in detail in
the text.
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
Preface
This book is now in its fourth edition. Each edition has corresponded to a different phase in the way computer
networks were used. When the first edition appeared in 1980, networks were an academic curiosity. When the
second edition appeared in 1988, networks were used by universities and large businesses. When the third edition
appeared in 1996, computer networks, especially the Internet, had become a daily reality for millions of people. The
new item in the fourth edition is the rapid growth of wireless networking in many forms.
The networking picture has changed radically since the third edition. In the mid-1990s, numerous kinds of LANs and
WANs existed, along with multiple protocol stacks. By 2003, the only wired LAN in widespread use was Ethernet,
and virtually all WANs were on the Internet. Accordingly, a large amount of material about these older networks has
been removed.
However, new developments are also plentiful. The most important is the huge increase in wireless networks,
including 802.11, wireless local loops, 2G and 3G cellular networks, Bluetooth, WAP, i-mode, and others.
Accordingly, a large amount of material has been added on wireless networks. Another newly-important topic is
security, so a whole chapter on it has been added.
Although Chap. 1 has the same introductory function as it did in the third edition, the contents have been revised and
brought up to date. For example, introductions to the Internet, Ethernet, and wireless LANs are given there, along
with some history and background. Home networking is also discussed briefly.
Chapter 2 has been reorganized somewhat. After a brief introduction to the principles of data communication, there
are three major sections on transmission (guided media, wireless, and satellite), followed by three more on important
examples (the public switched telephone system, the mobile telephone system, and cable television). Among the new
topics covered in this chapter are ADSL, broadband wireless, wireless MANs, and Internet access over cable and
DOCSIS.
Chapter 3 has always dealt with the fundamental principles of point-to-point protocols. These ideas are essentially
timeless and have not changed for decades. Accordingly, the series of detailed example protocols presented in this
chapter is largely unchanged from the third edition.
In contrast, the MAC sublayer has been an area of great activity in recent years, so many changes are present in
Chap. 4. The section on Ethernet has been expanded to include gigabit Ethernet. Completely new are major sections
on wireless LANs, broadband wireless, Bluetooth, and data link layer switching, including MPLS.
Chapter 5 has also been updated, with the removal of all the ATM material and the addition of additional material on
the Internet. Quality of service is now also a major topic, including discussions of integrated services and
differentiated services. Wireless networks are also present here, with a discussion of routing in ad hoc networks.
Other new topics include NAT and peer-to-peer networks.
Chap. 6 is still about the transport layer, but here, too, some changes have occurred. Among these is an example of
socket programming. A one-page client and a one-page server are given in C and discussed. These programs,
available on the book's Web site, can be compiled and run. Together they provide a primitive remote file or Web
server available for experimentation. Other new topics include remote procedure call, RTP, and transaction/TCP.
Chap. 7, on the application layer, has been more sharply focused. After a short introduction to DNS, the rest of the
chapter deals with just three topics: e-mail, the Web, and multimedia. But each topic is treated in great detail. The
discussion of how the Web works is now over 60 pages, covering a vast array of topics, including static and dynamic
Web pages, HTTP, CGI scripts, content delivery networks, cookies, and Web caching. Material is also present on
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
Andrew S. Tanenbaum has an S.B. degree from M.I.T. and a Ph.D. from the University of California at Berkeley.
He is currently a Professor of Computer Science at the Vrije Universiteit in Amsterdam, The Netherlands, where he
heads the Computer Systems Group. He is also Dean of the Advanced School for Computing and Imaging, an
interuniversity graduate school doing research on advanced parallel, distributed, and imaging systems. Nevertheless,
he is trying very hard to avoid turning into a bureaucrat.
In the past, he has done research on compilers, operating systems, networking, and local-area distributed systems.
His current research focuses primarily on the design and implementation of wide-area distributed systems that scales
to a billion users. This research, being done together with Prof. Maarten van Steen, is described at
www.cs.vu.nl/globe. Together, all these research projects have led to over 100 refereed papers in journals and
conference proceedings and five books.
Prof. Tanenbaum has also produced a considerable volume of software. He was the principal architect of the
Amsterdam Compiler Kit, a widely-used toolkit for writing portable compilers, as well as of MINIX, a small UNIX
clone intended for use in student programming labs. This system provided the inspiration and base on which Linux
was developed. Together with his Ph.D. students and programmers, he helped design the Amoeba distributed
operating system, a high-performance microkernel-based distributed operating system. The MINIX and Amoeba
systems are now available for free via the Internet.
His Ph.D. students have gone on to greater glory after getting their degrees. He is very proud of them. In this respect
he resembles a mother hen.
Prof. Tanenbaum is a Fellow of the ACM, a Fellow of the the IEEE, and a member of the Royal Netherlands
Academy of Arts and Sciences. He is also winner of the 1994 ACM Karl V. Karlstrom Outstanding Educator
Award, winner of the 1997 ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education,
and winner of the 2002 Texty award for excellence in textbooks. He is also listed in Who's Who in the World. His
home page on the World Wide Web can be found at URL http://www.cs.vu.nl/~ast/ .
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
Chapter 1. Introduction
Each of the past three centuries has been dominated by a single technology. The 18th century was the era of the great
mechanical systems accompanying the Industrial Revolution. The 19th century was the age of the steam engine.
During the 20th century, the key technology was information gathering, processing, and distribution. Among other
developments, we saw the installation of worldwide telephone networks, the invention of radio and television, the
birth and unprecedented growth of the computer industry, and the launching of communication satellites.
As a result of rapid technological progress, these areas are rapidly converging and the differences between collecting,
transporting, storing, and processing information are quickly disappearing. Organizations with hundreds of offices
spread over a wide geographical area routinely expect to be able to examine the current status of even their most
remote outpost at the push of a button. As our ability to gather, process, and distribute information grows, the
demand for ever more sophisticated information processing grows even faster.
Although the computer industry is still young compared to other industries (e.g., automobiles and air transportation),
computers have made spectacular progress in a short time. During the first two decades of their existence, computer
systems were highly centralized, usually within a single large room. Not infrequently, this room had glass walls,
through which visitors could gawk at the great electronic wonder inside. A medium-sized company or university might
have had one or two computers, while large institutions had at most a few dozen. The idea that within twenty years
equally powerful computers smaller than postage stamps would be mass produced by the millions was pure science
fiction.
The merging of computers and communications has had a profound influence on the way computer systems are
organized. The concept of the ''computer center'' as a room with a large computer to which users bring their work for
processing is now totally obsolete. The old model of a single computer serving all of the organization's computational
needs has been replaced by one in which a large number of separate but interconnected computers do the job. These
systems are called computer networks. The design and organization of these networks are the subjects of this book.
Throughout the book we will use the term ''computer network'' to mean a collection of autonomous computers
interconnected by a single technology. Two computers are said to be interconnected if they are able to exchange
information. The connection need not be via a copper wire; fiber optics, microwaves, infrared, and communication
satellites can also be used. Networks come in many sizes, shapes and forms, as we will see later. Although it may
sound strange to some people, neither the Internet nor the World Wide Web is a computer network. By the end of
this book, it should be clear why. The quick answer is: the Internet is not a single network but a network of networks
and the Web is a distributed system that runs on top of the Internet.
There is considerable confusion in the literature between a computer network and a distributed system. The key
distinction is that in a distributed system, a collection of independent computers appears to its users as a single
coherent system. Usually, it has a single model or paradigm that it presents to the users. Often a layer of software on
top of the operating system, called middleware, is responsible for implementing this model. A well-known example of
a distributed system is the World Wide Web, in which everything looks like a document (Web page).
In a computer network, this coherence, model, and software are absent. Users are exposed to the actual machines,
without any attempt by the system to make the machines look and act in a coherent way. If the machines have
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
Before we start to examine the technical issues in detail, it is worth devoting some time to pointing out why people are
interested in computer networks and what they can be used for. After all, if nobody were interested in computer
networks, few of them would be built. We will start with traditional uses at companies and for individuals and then
move on to recent developments regarding mobile users and home networking.
Many companies have a substantial number of computers. For example, a company may have separate computers to
monitor production, keep track of inventories, and do the payroll. Initially, each of these computers may have
worked in isolation from the others, but at some point, management may have decided to connect them to be able to
extract and correlate information about the entire company.
Put in slightly more general form, the issue here is resource sharing, and the goal is to make all programs, equipment,
and especially data available to anyone on the network without regard to the physical location of the resource and the
user. An obvious and widespread example is having a group of office workers share a common printer. None of the
individuals really needs a private printer, and a high-volume networked printer is often cheaper, faster, and easier to
maintain than a large collection of individual printers.
However, probably even more important than sharing physical resources such as printers, scanners, and CD burners,
is sharing information. Every large and medium-sized company and many small companies are vitally dependent on
computerized information. Most companies have customer records, inventories, accounts receivable, financial
statements, tax information, and much more online. If all of its computers went down, a bank could not last more than
five minutes. A modern manufacturing plant, with a computer-controlled assembly line, would not last even that long.
Even a small travel agency or three-person law firm is now highly dependent on computer networks for allowing
employees to access relevant information and documents instantly.
For smaller companies, all the computers are likely to be in a single office or perhaps a single building, but for larger
ones, the computers and employees may be scattered over dozens of offices and plants in many countries.
Nevertheless, a sales person in New York might sometimes need access to a product inventory database in
Singapore. In other words, the mere fact that a user happens to be 15,000 km away from his data should not prevent
him from using the data as though they were local. This goal may be summarized by saying that it is an attempt to end
the ''tyranny of geography.''
In the simplest of terms, one can imagine a company's information system as consisting of one or more databases and
some number of employees who need to access them remotely. In this model, the data are stored on powerful
computers called servers. Often these are centrally housed and maintained by a system administrator. In contrast, the
employees have simpler machines, called clients, on their desks, with which they access remote data, for example, to
include in spreadsheets they are constructing. (Sometimes we will refer to the human user of the client machine as the
''client,'' but it should be clear from the context whether we mean the computer or its user.) The client and server
machines are connected by a network, as illustrated in Fig. 1-1. Note that we have shown the network as a simple
oval, without any detail. We will use this form when we mean a network in the abstract sense. When more detail is
required, it will be provided.
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
It is now time to turn our attention from the applications and social aspects of networking (the fun stuff) to the
technical issues involved in network design (the work stuff). There is no generally accepted taxonomy into which all
computer networks fit, but two dimensions stand out as important: transmission technology and scale. We will now
examine each of these in turn.
Broadly speaking, there are two types of transmission technology that are in widespread use. They are as follows:
1.
1. Broadcast links.
2.
2. Point-to-point links.
Broadcast networks have a single communication channel that is shared by all the machines on the network. Short
messages, called packets in certain contexts, sent by any machine are received by all the others. An address field
within the packet specifies the intended recipient. Upon receiving a packet, a machine checks the address field. If the
packet is intended for the receiving machine, that machine processes the packet; if the packet is intended for some
other machine, it is just ignored.
As an analogy, consider someone standing at the end of a corridor with many rooms off it and shouting ''Watson,
come here. I want you.'' Although the packet may actually be received (heard) by many people, only Watson
responds. The others just ignore it. Another analogy is an airport announcement asking all flight 644 passengers to
report to gate 12 for immediate boarding.
Broadcast systems generally also allow the possibility of addressing a packet to all destinations by using a special
code in the address field. When a packet with this code is transmitted, it is received and processed by every machine
on the network. This mode of operation is called broadcasting. Some broadcast systems also support transmission to
a subset of the machines, something known as multicasting. One possible scheme is to reserve one bit to indicate
multicasting. The remaining n - 1 address bits can hold a group number. Each machine can ''subscribe'' to any or all
of the groups. When a packet is sent to a certain group, it is delivered to all machines subscribing to that group.
In contrast, point-to-point networks consist of many connections between individual pairs of machines. To go from
the source to the destination, a packet on this type of network may have to first visit one or more intermediate
machines. Often multiple routes, of different lengths, are possible, so finding good ones is important in point-to-point
networks. As a general rule (although there are many exceptions), smaller, geographically localized networks tend to
use broadcasting, whereas larger networks usually are point-to-point. Point-to-point transmission with one sender
and one receiver is sometimes called unicasting.
An alternative criterion for classifying networks is their scale. In Fig. 1-6 we classify multiple processor systems by
their physical size. At the top are the personal area networks, networks that are meant for one person. For example,
a wireless network connecting a computer with its mouse, keyboard, and printer is a personal area network. Also, a
PDA that controls the user's hearing aid or pacemaker fits in this category. Beyond the personal area networks come
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
[ Team LiB ]
This document is created with the unregistered version of CHM2PDF Pilot
The first computer networks were designed with the hardware as the main concern and the software as an
afterthought. This strategy no longer works. Network software is now highly structured. In the following sections we
examine the software structuring technique in some detail. The method described here forms the keystone of the
entire book and will occur repeatedly later on.
To reduce their design complexity, most networks are organized as a stack of layers or levels, each one built upon
the one below it. The number of layers, the name of each layer, the contents of each layer, and the function of each
layer differ from network to network. The purpose of each layer is to offer certain services to the higher layers,
shielding those layers from the details of how the offered services are actually implemented. In a sense, each layer is a
kind of virtual machine, offering certain services to the layer above it.
This concept is actually a familiar one and used throughout computer science, where it is variously known as
information hiding, abstract data types, data encapsulation, and object-oriented programming. The fundamental idea
is that a particular piece of software (or hardware) provides a service to its users but keeps the details of its internal
state and algorithms hidden from them.
Layer n on one machine carries on a conversation with layer n on another machine. The rules and conventions used in
this conversation are collectively known as the layer n protocol. Basically, a protocol is an agreement between the
communicating parties on how communication is to proceed. As an analogy, when a woman is introduced to a man,
she may choose to stick out her hand. He, in turn, may decide either to shake it or kiss it, depending, for example, on
whether she is an American lawyer at a business meeting or a European princess at a formal ball. Violating the
protocol will make communication more difficult, if not completely impossible.
A five-layer network is illustrated in Fig. 1-13. The entities comprising the corresponding layers on different machines
are called peers. The peers may be processes, hardware devices, or even human beings. In other words, it is the
peers that communicate by using the protocol.
He seisoivat hiljaa aidan takana; mutta viina, sen sijaan että olisi
sammuttanut heidän janonsa, lisäsi vain polttavaa tunnetta
kurkussa. Sitäpaitsi olivat he kuolla nälkään; he olisivat mielellään
syöneet palasen leivästä, joka Mauricella oli pussissa, mutta voivatko
he edes sitä tehdä? Takana tuli yhä uusia joukkoja, jotka työnsivät
heidät edemmäksi. Vihdoinkin he saapuivat viimeiselle kummulle,
ristin juurelle, joka seisoi sammaltuneena kahden harvan lehmuksen
alla.
— Voi, herra kapteeni, siellä tai täällä, no, leikki kun leikki; parasta
pysyä niin hyvällä tuulella kuin suinkin.
— Hevoset valjaisiin!
— Hevoset valjaisiin!
— Hevoset valjaisiin!
— Satulaan!
— Miekat käteen!
— Eteenpäin!
Melu kasvoi niin suureksi, ettei hän voinut kuulla omaa ääntänsä
vaikka huusi täyttä kurkkua, jonka vuoksi äänensä pian oli
painuksissa. Mutta ensimmäisen vihollisrivin takana seisoi toinen,
sen takana taas toinen ja taas toinen.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookname.com