Tải bản đầy đủ (.pdf) (630 trang)

Internetworking with TCPIP volume one pearson new international edition

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.12 MB, 630 trang )


Pearson New International Edition
Internetworking with TCP/IP
Volume One
Douglas E. Comer
Sixth Edition


Pearson Education Limited
Edinburgh Gate
Harlow
Essex CM20 2JE
England and Associated Companies throughout the world
Visit us on the World Wide Web at: www.pearsoned.co.uk
© Pearson Education Limited 2014
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without either the
prior written permission of the publisher or a licence permitting restricted copying in the United Kingdom
issued by the Copyright Licensing Agency Ltd, Saffron House, 6–10 Kirby Street, London EC1N 8TS.
All trademarks used herein are the property of their respective owners. The use of any trademark
in this text does not vest in the author or publisher any trademark ownership rights in such
trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this
book by such owners.

ISBN 10: 1-292-04081-5
ISBN 10: 1-269-37450-8
ISBN 13: 978-1-292-04081-3
ISBN 13: 978-1-269-37450-7

British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library


Printed in the United States of America


P

E

A

R

S

O N

C U

S T O

M

L I

B

R A

R Y

Table of Contents

Chapter 1 Introduction And Overview
Douglas E. Comer

1

Chapter 2 Overview Of Underlying Network Technologies
Douglas E. Comer

19

Chapter 3 Internetworking Concept And Architectural Model
Douglas E. Comer

35

Chapter 4 Protocol Layering
Douglas E. Comer

47

Chapter 5 Internet Addressing
Douglas E. Comer

69

Chapter 6 Mapping Internet Addresses To Physical Addresses (ARP)
Douglas E. Comer

101


Chapter 7 Internet Protocol: Connectionless Datagram Delivery (IPv4, IPv6)
Douglas E. Comer

119

Chapter 8 Internet Protocol: Forwarding IP Datagrams
Douglas E. Comer

147

Chapter 9 Internet Protocol: Error And Control Messages (ICMP)
Douglas E. Comer

167

Chapter 10 User Datagram Protocol (UDP)
Douglas E. Comer

185

Chapter 11 Reliable Stream Transport Service (TCP)
Douglas E. Comer

199

Chapter 12 Routing Architecture: Cores, Peers, And Algorithms
Douglas E. Comer

247


Chapter 13 Routing Among Autonomous Systems (BGP)
Douglas E. Comer

263

Chapter 14 Routing Within An Autonomous System (RIP, RIPng, OSPF, IS-IS)
Douglas E. Comer

289

I


II

Chapter 15 Internet Multicasting
Douglas E. Comer

319

Chapter 16 Label Switching, Flows, And MPLS
Douglas E. Comer

353

Chapter 17 Packet Classification
Douglas E. Comer

369


Chapter 18 Mobility And Mobile IP
Douglas E. Comer

381

Chapter 19 Network Virtualization: VPNs, NATs, And Overlays
Douglas E. Comer

399

Chapter 20 Client-Server Model Of Interaction
Douglas E. Comer

419

Chapter 21 The Socket API
Douglas E. Comer

431

Chapter 22 Bootstrap And Autoconfiguration (DHCP, NDP, IPv6-ND)
Douglas E. Comer

463

Chapter 23 The Domain Name System (DNS)
Douglas E. Comer

485


Chapter 24 Electronic Mail (SMTP, POP, IMAP, MIME)
Douglas E. Comer

511

Chapter 25 World Wide Web (HTTP)
Douglas E. Comer

525

Chapter 26 Voice And Video Over IP (RTP, RSVP, QoS)
Douglas E. Comer

539

Chapter 27 Network Management (SNMP)
Douglas E. Comer

559

Chapter 28 Software Defined Networking (SDN, OpenFlow)
Douglas E. Comer

583

Chapter 29 Internet Security And Firewall Design (IPsec, SSL)
Douglas E. Comer

605


Index

623


Chapter Contents
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15

The Motivation For Internetworking, 1
The TCP/IP Internet, 2
Internet Services, 2
History And Scope Of The Internet, 6
The Internet Architecture Board, 7
The IAB Reorganization, 8
Internet Request For Comments (RFCs), 8
Internet Growth, 9

Transition To IPv6, 12
Committee Design And The New Version of IP, 12
Relationship Between IPv4 And IPv6, 13
IPv6 Migration, 14
Dual Stack Systems, 15
Organization Of The Text, 15
Summary, 16

From Chapter 1 of Internetworking with TCP/IP Volume One, Sixth Edition. Douglas E. Comer.
Copyright © 2014 by Pearson Education, Inc. All rights reserved.


1
Introduction And Overview

1.1 The Motivation For Internetworking
Internet communication has become a fundamental part of life. Social networks,
such as Facebook, provide connections among a group of friends and allow them to
share interests. The World Wide Web contains information about such diverse subjects
as politics, atmospheric conditions, stock prices, crop production, and airline fares.
Family and friends use the Internet to share photos and keep in touch with VoIP telephone calls and live video chats. Consumers use the Internet to purchase goods and
services and for personal banking. Companies take orders and make payments electronically. The move to cloud computing will put more information and services online.
Although it appears to operate as a unified network, the Internet is not engineered
from a single networking technology because no technology suffices for all uses. Instead, networking hardware is designed for specific situations and budgets. Some
groups need high-speed wired networks to connect computers in a single building. Others need a low-cost wireless network for a private home. Because low-cost hardware
that works well inside a building cannot span large geographic distances, an alternative
must be used to connect sites that are thousands of miles apart.
In the 1970s, a technology was created that makes it possible to interconnect many
disparate individual networks and operate them as a coordinated unit. Known as internetworking, the technology forms the basis for the Internet by accommodating multiple,
diverse underlying hardware technologies, providing a way to interconnect the networks, and defining a set of communication conventions that the networks use to interoperate. The internet technology hides the details of network hardware, and permits

computers to communicate independent of their physical network connections.

2


2

Introduction And Overview

Chap. 1

Internet technology is an example of open system interconnection. It is called open
because, unlike proprietary communication systems available from one specific vendor,
the specifications are publicly available. Thus, any individual or company can build the
hardware and software needed to communicate across the Internet. More important, the
entire technology has been designed to foster communication among machines with
diverse hardware architectures, to use almost any packet switched network hardware, to
accommodate a wide variety of applications, and to accommodate arbitrary computer
operating systems.

1.2 The TCP/IP Internet
In the 1970s and 1980s, U.S. government agencies realized the importance and potential of internet technology, and funded research that made possible a global Internet†.
This book discusses principles and ideas that resulted from research funded by the Defense Advanced Research Projects Agency (DARPA‡). The DARPA technology includes a set of network standards that specify the details of how computers communicate, as well as a set of conventions for interconnecting networks and forwarding traffic.
Officially named the TCP/IP Internet Protocol Suite and commonly referred to as
TCP/IP (after the names of its two main standards), it can be used to communicate
across any set of interconnected networks. For example, TCP/IP can be used to interconnect a set of networks within a single building, within a physical campus, or among
a set of campuses.
Although the TCP/IP technology is noteworthy by itself, it is especially interesting
because its viability has been demonstrated on a large scale. It forms the base technology for the global Internet that connects approximately two billion individuals in homes,
schools, corporations, and governments in virtually all populated areas of the planet.

An outstanding success, the Internet demonstrates the viability of the TCP/IP technology and shows how it can accommodate a wide variety of underlying hardware technologies.

1.3 Internet Services
One cannot appreciate the technical details underlying TCP/IP without understanding the services it provides. This section reviews internet services briefly, highlighting
the services most users access, and leaves to later chapters the discussion of how computers connect to a TCP/IP internet and how the functionality is implemented.
Much of our discussion of services will focus on standards called protocols. Protocol specifications, such as those for TCP and IP, define the syntactic and semantic rules
for communication. They give the details of message formats, describe how a computer
responds when a message arrives, and specify how a computer handles errors or other
abnormal conditions. Most important, protocols allow us to discuss computer communication independent of any particular vendor’s network hardware. In a sense, protocols
†We will follow the usual convention of capitalizing Internet when referring specifically to the global
Internet, and use lower case to refer to private internets that use TCP/IP technology.
‡At various times, DARPA has been called the Advanced Research Projects Agency (ARPA).

3


Sec. 1.3

Internet Services

3

are to communication what algorithms are to computation. An algorithm allows one to
specify or understand a computation without knowing the details of a particular programming language or CPU instruction set. Similarly, a communication protocol allows one to specify or understand data communication without depending on detailed
knowledge of a particular vendor’s network hardware.
Hiding the low-level details of communication helps improve productivity in
several ways. First, because they can use higher-level protocol abstractions, programmers do not need to learn or remember as many details about a given hardware configuration. Thus, they can create new network applications quickly. Second, because
software built using higher-level abstractions are not restricted to a particular computer
architecture or a particular network hardware, the applications do not need to be
changed when computers or networks are replaced or reconfigured. Third, because applications built using higher-level protocols are independent of the underlying hardware,

they can be ported to arbitrary computers. That is, a programmer does not need to build
a special version of an application for each type of computer or each type of network.
Instead, applications that use high-level abstractions are more general-purpose — the
same code can be compiled and run on an arbitrary computer.
We will see that the details of each service available on the Internet are given by a
separate protocol. The next sections refer to protocols that specify some of the
application-level services as well as those used to define network-level services. Later
chapters explain each of the protocols in detail.
1.3.1 Application Level Internet Services
From a user’s point of view, the Internet appears to consist of a set of application
programs that use the underlying network to carry out useful tasks. We use the term interoperability to refer to the ability of diverse computing systems to cooperate in solving computational problems. Because the Internet was designed to accommodate
heterogeneous networks and computers, interoperability was a key requirement. Consequently, Internet application programs usually exhibit a high degree of interoperability.
In fact, most users access applications without understanding the types of computers or
networks being used, the communication protocols, or even the path data travels from
its source to its destination. Thus, a user might access a web page from a desktop system connected to a cable modem or from an iPad connected to a 4G wireless network.
The most popular and widespread Internet application services include:
d World Wide Web. The Web became the largest source of traffic on the global Internet between 1994 and 1995, and remains so. Many popular services, including
Internet search (e.g., Google) and social networking (e.g., Facebook), use web
technology. One estimate attributes approximately one quarter of all Internet traffic to Facebook. Although users distinguish among various web-based services,
we will see that they all use the same application-level protocol.

4


4

Introduction And Overview

Chap. 1


d Cloud Access And Remote Desktop. Cloud computing places computation and
storage facilities in cloud data centers, and arranges for users to access the services over the Internet. One access technology, known as a remote desktop service, allows a user to access a computer in a remote data center as if the computer
is local. The user only needs an interface device with a screen, keyboard, mouse
or touchpad, and a network connection. When the data center computer updates
the video display, the remote desktop service captures the information, sends it
across the Internet, and displays it on the user’s screen. When the user moves the
mouse or presses a key, the remote desktop service sends the information to the
data center. Thus, the user has full access to a powerful PC, but only needs to
carry a basic interface device such as a tablet.
d File Transfer. The file transfer protocol allows users to send or receive a copy of
a data file. Many file downloads, including movie downloads, invoke a file
transfer mechanism. Because they often invoke file transfer from a web page,
users may not be aware that a file transfer application has run.
d Electronic Mail (email). Electronic mail, which once accounted for large amounts
of Internet traffic, has largely been replaced by web applications. Many users
now access email through a web application that allows a user to read messages in
their mailbox, select a message for processing, and forward the message or send a
reply. Once a user specifies sending a message, the underlying system uses an
email transfer protocol to send the message to the recipient’s mailbox.
d Voice And Video Services. Both streaming video and audio already account for a
nontrivial fraction of bits transported across the global Internet, and the trend will
continue. More important, a significant change is occurring; video upload is increasing, especially because users are using mobile devices to send video of live
events.

We will return to a discussion of applications in later chapters and examine them in
more detail. We will see exactly how applications use the underlying TCP/IP protocols,
and why having standards for application protocols has helped ensure that they are
widespread.
1.3.2 Network-Level Internet Services
A programmer who creates network applications has an entirely different view of

the Internet than a user who merely runs applications such as web browsers. At the network level, the Internet provides two broad services that all application programs use.
While it is unimportant at this time to understand the details of the services, they are
fundamental to an overview of TCP/IP:
d Connectionless Packet Delivery Service. Packet delivery, explained in detail
throughout the text, forms the basis for all internet services. Connectionless
delivery is an abstraction of the service that most packet-switching networks offer.
It means simply that a TCP/IP internet forwards small messages from one computer to another based on address information carried in the message. Because it

5


Sec. 1.3

Internet Services

5

forwards each packet independently, an internet does not guarantee reliable, inorder delivery. However, because it maps directly onto most of the underlying
hardware technologies, a connectionless delivery service is extremely efficient.
More important, because the design makes connectionless packet delivery the
basis for all internet services, the TCP/IP protocols can accommodate a wide
range of network hardware.
d Reliable Stream Transport Service. Most applications require the communication
software to recover automatically from transmission errors, lost packets, or
failures of intermediate switches along the path between sender and receiver.
Consequently, most applications need a reliable transport service to handle problems. The Internet’s reliable stream service allows an application on one computer to establish a “connection” to an application on another computer, and allows
the applications to transfer arbitrarily large amounts of data across the connection
as if it were a permanent, direct hardware link. Underneath, the communication
protocols divide the stream of data into small packets and send them one at a
time, waiting for the receiver to acknowledge reception.


Many networks provide basic services similar to those outlined above, so one
might wonder what distinguishes TCP/IP services from others. The primary distinguishing features are:
d Network Technology Independence. Although it is based on conventional packet
switching technology, TCP/IP is independent of any particular brand or type of
hardware; the global Internet includes a variety of network technologies. TCP/IP
protocols define the unit of data transmission, called a datagram, and specify how
to transmit datagrams on a particular network, but nothing in a datagram is tied to
specific hardware.
d Universal Interconnection. The Internet allows any arbitrary pair of computers to
communicate. Each computer is assigned an address that is universally recognized throughout the Internet. Every datagram carries the addresses of its source
and destination. Intermediate devices use the destination address to make forwarding decisions; a sender only needs to know the address of a recipient and the
Internet takes care of forwarding datagrams.
d End-to-End Acknowledgements. The TCP/IP Internet protocols provide acknowledgements between the original source and ultimate destination instead of
between successive machines along the path, even if the source and destination do
not connect to a common physical network.
d Application Protocol Standards. In addition to the basic transport-level services
(like reliable stream connections), the TCP/IP protocols include standards for
many common applications, including protocols that specify how to access a web
page, transfer a file, and send email. Thus, when designing applications that use
TCP/IP, programmers often find that existing application protocols provide the
communication services they need.

Later chapters discuss the details of the services provided to the programmer as well as
examples of application protocol standards.

6


6


Introduction And Overview

Chap. 1

1.4 History And Scope Of The Internet
Part of what makes the TCP/IP technology so exciting is its universal adoption, as
well as the size and growth rate of the global Internet. DARPA began working toward
an internet technology in the mid 1970s, with the architecture and protocols taking their
current form around 1977–79. At that time, DARPA was known as the primary funding
agency for packet-switched network research, and pioneered many ideas in packetswitching with its well-known ARPANET. The ARPANET used conventional point-topoint leased line interconnections, but DARPA also funded exploration of packetswitching over radio networks and satellite communication channels. Indeed, the growing diversity of network hardware technologies helped force DARPA to study network
interconnection, and pushed internetworking forward.
The availability of research funding from DARPA caught the attention and imagination of several research groups, especially those researchers who had previous experience using packet switching on the ARPANET. DARPA scheduled informal meetings
of researchers to share ideas and discuss results of experiments. Informally, the group
was known as the Internet Research Group. By 1979, so many researchers were involved in the TCP/IP effort that DARPA created an informal committee to coordinate
and guide the design of the protocols and architecture of the emerging Internet. Called
the Internet Control and Configuration Board (ICCB), the group met regularly until
1983, when it was reorganized.
The global Internet began around 1980 when DARPA started converting computers
attached to its research networks to the new TCP/IP protocols. The ARPANET, already
in place, quickly became the backbone of the new Internet and was used for many of
the early experiments with TCP/IP. The transition to Internet technology became complete in January 1983 when the Office of the Secretary of Defense mandated that all
computers connected to long-haul networks use TCP/IP. At the same time, the Defense
Communication Agency (DCA) split the ARPANET into two separate networks, one for
further research and one for military communication. The research part retained the
name ARPANET; the military part, which was somewhat larger, became known as the
military network (MILNET).
To encourage university researchers to adopt and use the new protocols, DARPA
made an implementation available at low cost. At that time, most university computer
science departments were running a version of the UNIX operating system available in

the University of California’s Berkeley Software Distribution, commonly called BSD
UNIX. By funding Bolt Beranek and Newman, Incorporated (BBN) to implement its
TCP/IP protocols for use with UNIX and funding Berkeley to integrate the protocols
with its software distribution, DARPA was able to reach over 90% of university computer science departments. The new protocol software came at a particularly significant
time because many departments were just acquiring second or third computers and connecting them together with local area networks. The departments needed communication protocols that provided application services such as file transfer.
Besides a set of utility programs, Berkeley UNIX created a new operating system
abstraction known as a socket to allow applications to access the Internet protocols. A

7


Sec. 1.4

History And Scope Of The Internet

7

generalization of the UNIX mechanism for I/O, the socket interface has options for other network protocols besides TCP/IP. The introduction of the socket abstraction was
important because it allowed programmers to use TCP/IP protocols with little effort.
The socket interface has become a de facto standard, and is now used in most operating
systems.
Realizing that network communication would soon be a crucial part of scientific
research, the National Science Foundation (NSF) took an active role in expanding the
TCP/IP Internet to reach as many scientists as possible. In the late 1970s, NSF funded
a project known as the Computer Science NETwork (CSNET), which had as its goal
connecting all computer scientists. Starting in 1985, NSF began a program to establish
access networks centered around its six supercomputer centers, and in 1986 expanded
networking efforts by funding a new wide area backbone network, known as the
NSFNET backbone. NSF also provided seed money for regional networks, each of
which connected major scientific research institutions in a given area.

By 1984, the Internet reached over 1,000 computers. In 1987, the size grew to
over 10,000. By 1990, the size topped 100,000, and by 1993, exceeded 1,000,000. In
1997, more than 10,000,000 computers were permanently attached to the Internet, and
in 2001, the size exceeded 100,000,000. In 2011, the Internet reached over 800,000,000
permanently-attached computers.
The early growth of the Internet did not occur merely because universities and
government-funded groups adopted the protocols. Major computer corporations connected to the Internet, as did many other large corporations including oil companies, the
auto industry, electronics firms, pharmaceutical companies, and telecommunications carriers. Medium and small companies began connecting in the 1990s. In addition, many
companies experimented by using TCP/IP protocols on their internal corporate intranets
before they chose to be part of the global Internet.

1.5 The Internet Architecture Board
Because the TCP/IP Internet protocol suite did not arise from a specific vendor or
from a recognized professional society, it is natural to ask, “who set the technical direction and decided when protocols became standard?” The answer is a group known as
the Internet Architecture Board (IAB†) that was formed in 1983 when DARPA reorganized the Internet Control and Configuration Board. The IAB provided the focus and
coordination for much of the research and development underlying the TCP/IP protocols, and guided the evolution of the Internet. The IAB decided which protocols were a
required part of the TCP/IP suite and set official policies.

†IAB originally stood for Internet Activities Board.

8


8

Introduction And Overview

Chap. 1

1.6 The IAB Reorganization

By the summer of 1989, both the TCP/IP technology and the Internet had grown
beyond the initial research project into production facilities upon which thousands of
people depended for daily business. It was no longer possible to introduce new ideas
by changing a few installations overnight. To a large extent, the hundreds of commercial companies that offered TCP/IP products determined whether their products would
interoperate by deciding when to incorporate protocol changes in their software.
Researchers who drafted specifications and tested new ideas in laboratories could no
longer expect instant acceptance and use of the ideas. It was ironic that the researchers
who designed and watched TCP/IP develop found themselves overcome by the commercial success of their brainchild. In short, the TCP/IP protocols and the Internet became a successful production technology, and the marketplace began to dominate its
evolution.
To reflect the political and commercial realities of both TCP/IP and the Internet,
the IAB was reorganized in the summer of 1989. Researchers were moved from the
IAB itself to a subsidiary group known as the Internet Research Task Force (IRTF), and
a new IAB board was constituted to include representatives from the wider community.
Responsibility for protocol standards and other technical aspects passed to a group
known as the Internet Engineering Task Force (IETF).
The IETF existed in the original IAB structure, and its success provided part of the
motivation for reorganization. Unlike most IAB task forces, which were limited to a
few individuals who focused on one specific issue, the IETF was large — before the
reorganization, it had grown to include dozens of active members who worked on many
problems concurrently. Following the reorganization, the IETF was divided into over
20 working groups, each of which focused on a specific problem.
Because the IETF was too large for a single chairperson to manage, it has been divided into a set of approximately one dozen areas, each with its own manager. The
IETF chairperson and the area managers constitute the Internet Engineering Steering
Group (IESG), the individuals responsible for coordinating the efforts of IETF working
groups. The name IETF now refers to the entire body, including the chairperson, area
managers, and all members of working groups.

1.7 Internet Request For Comments (RFCs)
We have said that no vendor owns the TCP/IP technology, nor does any professional society or standards body. Thus, the documentation of protocols, standards, and
policies cannot be obtained from a vendor. Instead, the IETF manages the standardization process. The resulting protocol documents are kept in an on-line repository and

made available at no charge.
Documentation of work on the Internet, proposals for new or revised protocols, and
TCP/IP protocol standards all appear in a series of technical reports called Internet Requests For Comments, or RFCs. RFCs can be short or long, can cover broad concepts

9


Sec. 1.7

Internet Request For Comments (RFCs)

9

or details, and can be standards or merely proposals for new protocols. There are references to RFCs throughout the text. While RFCs are not refereed in the same way as
academic research papers, they are reviewed and edited. For many years, a single individual, the late Jon Postel, served as the RFC editor. The task of editing RFCs now
falls to area managers of the IETF; the IESG as a whole approves new RFCs.
The RFC series is numbered sequentially in the chronological order RFCs are written. Each new or revised RFC is assigned a new number, so readers must be careful to
obtain the highest numbered version of a document; an RFC index is available to help
identify the correct version. In addition, preliminary versions of RFC documents, which
are known as Internet drafts, are available.
RFCs and Internet Drafts can be obtained from:
www.ietf.org

1.8 Internet Growth
The Internet has grown rapidly and continues to evolve. New protocols are being
proposed; old ones are being revised. The most significant demand on the underlying
technology does not arise from added network connections, but from additional traffic.
As new users connect to the Internet and new applications appear, traffic patterns
change. For example, when the World Wide Web was introduced, it became incredibly
popular, and Internet traffic increased dramatically. Later, when music sharing became

popular, traffic patterns changed again. More changes are occurring as the Internet is
used for telephone, video, and social networking.
Figure 1.1 summarizes expansion of the Internet, and illustrates an important component of growth: much of the change in complexity has arisen because multiple groups
now manage various parts of the whole.

Number of
networks

Number of
computers

Number of
users

Number of
managers

1980

10

10 2

10 2

10 0

1990

10 3


10 5

10 6

10 1

2000

10 5

10 7

10 8

10 2

2010

10 6

10 8

10 9

10 3

Figure 1.1 Growth of the Internet. In addition to increases in traffic, complexity has resulted from decentralized management.

10



10

Introduction And Overview

Chap. 1

The number of computers attached to the Internet helps illustrate the growth. Figure 1.2
contains a plot.

900M

800M

700M

600M

500M

400M

300M

200M

100M

0M


. .
. .
. .
. . .
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1981

1985

1990

1995

.

.

.

.

.

.


.

.

.

2000

.

.

.

.

..

..

.

.

.

.

.


.

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2005

.

.


.

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2010

Figure 1.2 Computers on the Internet as a function of the year (linear scale).

The plot makes it appear that the Internet did not start to grow until the late 1990s.
However, the linear scale hides an important point: even in the early Internet, the
growth rate was high. Figure 1.3 shows the same data plotted on a log scale. The figure reveals that although the count of computers was much smaller, some of the most


11


Sec. 1.8

Internet Growth

11

rapid growth occurred in the late 1980s when the Internet grew from 1,000 computers to
over 10,000 computers.

109

108

107

106

105

104

103

. . . .

.


.

.

.

.

.

.

.

.

.

.

.

.

.

.
. . .

.


.

.

.

.
.
.
.
.
.
.
.
.
.
.

.

.

.

.

.

.


.

.
.

.

.

.

.

.

.

.

.

.

..

.
..

.


.

..

.

..

..

.

.

.

.

.

.

.

.

.

.


.

.

.

.

..

.

..

..

..

.

.

.

..

.

. . .

. . .
. . .
. .
. . .
.
.
.
. .
. .
. .
.
.
. . .
. .
..

102

1981

1985

1990

1995

2000

2005


2010

Figure 1.3 Computers on the Internet as a function of the year (log scale).

The count of computers is not the only significant change. Because the technology
was developed when a single person at DARPA had control of all aspects of the Internet, the designs of many subsystems depended on centralized management and control.

12


12

Introduction And Overview

Chap. 1

As the Internet grew, responsibility and control were divided among multiple organizations. In particular, as the Internet became global, the operation and management needed to span multiple countries. Much of the effort since the early 1990s has been directed toward finding ways to extend the design to accommodate decentralized management.

1.9 Transition To IPv6
Evolution of TCP/IP technology has always been intertwined with evolution of the
global Internet. With billions of users at sites around the world depending on the global
Internet as part of their daily routine, it might appear that we have passed the early
stages of development and now have reached a stable production facility. Despite appearances, however, neither the Internet nor the TCP/IP protocol suite is static. Innovation continues as new applications are developed and new technologies are used to improve underlying mechanisms.
One of the most significant efforts involves a revision of the Internet Protocol, the
foundation of all Internet communication. The change may seem surprising, given the
success of the existing version of IP.
Why change? The current version of the Internet Protocol, IPv4, has been remarkable. It was the first working version, and has remained almost unchanged since its inception in the late 1970s. Its longevity shows that IPv4 is flexible and powerful. Since
the time IPv4 was designed, processor performance has increased over four orders of
magnitude, typical memory sizes have increased by a factor of 2000, bandwidth of the
highest-speed links in the Internet has risen by a factor of 1,000,000. Wireless technologies have emerged, and the number of hosts on the Internet has risen from a handful to

hundreds of millions.
Despite the success of IPv4, critics started arguing in the early 1990s that IPv4 was
insufficient for new applications, such as voice and video, and that growth of the Internet would quickly exhaust the set of available addresses. Since then, two things have
become apparent: applications such as digital telephony do work well over IPv4, and revisions to the Internet addressing mechanism produce sufficient addresses to last another decade. However, if we assign an IP address to each device (e.g., each smart appliance, each car, each mobile phone), the address space will indeed run out.

1.10 Committee Design And The New Version of IP
It took several years for the IETF to formulate a new version of IP. Because the
IETF produces open standards, representatives from the many communities were invited
to participate in the process. Computer manufacturers, hardware and software vendors,
users, managers, programmers, telephone companies, and the cable television industry
all specified their requirements for the next version of IP, and all commented on specific proposals.

13


Sec. 1.10

Committee Design And The New Version of IP

13

Many designs were proposed to serve a particular purpose or a particular community. In the end, the group produced an extended design that included ideas from
several earlier proposals. The IETF assigned the revision of IP version number 6, and
named it IPv6†.

1.11 Relationship Between IPv4 And IPv6
Although proponents wanted to create a complete new Internet, IPv6 inherited
many of the design principles and features of IPv4. Consequently, IPv6 cannot be understood in isolation — we need to review general principles, understand how they are
implemented in IPv4, and then see how they are modified or extended in IPv6. For example, IPv6 uses a hierarchical design for addresses that is inherited directly from IPv4
classless addressing; the use of address masks and even some of the terminology has

been derived from IPv4. In fact, IPv6 includes all the existing IPv4 addresses as one
subset of the new set of addresses. Therefore, throughout the text, we will discuss principles and concepts, study their implementation in IPv4, and then look at IPv6 extensions and modifications.
How does IPv6 differ? The standards state that IPv6 retains many features that
contributed to the success of IPv4. In fact, the designers characterize IPv6 as being basically the same as IPv4 with only minor modifications. For example, both IPv4 and
IPv6 use a connectionless delivery paradigm, allow the sender to choose the size of data
being sent, and require the sender to specify the maximum number of hops a datagram
can make before being terminated. IPv6 retains many of the other IPv4 facilities, such
as fragmentation. The important point is:
Because IPv6 inherits many of the concepts, principles, and mechanisms found in IPv4, we cannot understand IPv6 without understanding IPv4; both are presented throughout the text.
Despite conceptual similarities, IPv6 changes most of the protocol details. IPv6
uses larger addresses and completely revises the format of packets. The changes introduced by IPv6 can be grouped into seven categories:
d Larger Addresses. The new address size is the most noticeable change.
IPv6 quadruples the size of an IPv4 address from 32 bits to 128 bits.
d Extended Address Hierarchy. IPv6 uses the larger address space to create
additional levels of addressing hierarchy (e.g., to allow an ISP to allocate
blocks of addresses to each customer).
d New Header Format. IPv6 uses an entirely new and incompatible packet
format that includes a set of optional headers.
†To avoid confusion and ambiguity, version number 5 was skipped; problems had arisen from a series of
mistakes and misunderstandings.

14


14

Introduction And Overview

Chap. 1


d Improved Options. IPv6 allows a packet to include optional control information not available in IPv4.
d Provision For Protocol Extension. Instead of specifying all details, the
IPv6 extension capability allows the IETF to adapt the protocol to new network hardware and new applications.
d Support For Autoconfiguration And Renumbering. IPv6 allows a site to
change from one ISP to another by automating the requisite address
changes.
d Support For Resource Allocation. IPv6 includes a flow abstraction and allows differentiated services

1.12 IPv6 Migration
How can the Internet change from IPv4 to IPv6? The designers considered the
question carefully. By the 1990s, the Internet had already grown too large to simply
take it offline, change every host and router, and then reboot. So, the designers planned
to phase in the change gradually over time. We use the term IPv6 migration to capture
the concept.
Many groups have proposed plans for IPv6 migration. The plans can be grouped
into three major approaches as follows:
d A separate IPv6 Internet running in parallel
d IPv6 islands connected by IPv4 until ISPs install IPv6
d Gateways that translate between IPv4 and IPv6

Parallel Internets. Conceptually, the plan calls for ISPs to create a parallel Internet running IPv6. In practice, IPv6 and IPv4 can share many of the underlying wires
and network devices (provided the devices are upgraded to handle IPv6). However, addressing and routing used by the two protocol versions will be completely independent.
Proponents argue that because IPv6 offers so many advantages, everyone will switch to
IPv6, meaning the IPv4 Internet will be decommissioned quickly.
IPv6 Islands. The plan allows individual organizations to start using IPv6 before
all ISPs run IPv6. Each organization is an IPv6 island in the midst of an IPv4 ocean.
To send a datagram between islands, the IPv6 datagram is wrapped inside an IPv4 datagram, sent across the Internet, and then unwrapped when it reaches the destination island. As ISPs adopt IPv6, sites can start sending IPv6 to more and more destinations
until the entire Internet is using IPv6. Some IPv6 enthusiasts do not like the approach
because it does not provide enough economic incentive for ISPs to adopt IPv6.
Gateways And Translation. The third approach uses network devices that translate

between IPv4 and IPv6. For example, if a site chooses to use IPv6 but their ISP still
uses IPv4, a gateway device can be placed between the site and the ISP to perform

15


Sec. 1.12

IPv6 Migration

15

translation. The gateway will accept outgoing IPv6 packets, create equivalent IPv4
packets, and send the IPv4 packets to the ISP for delivery. Similarly, when an IPv4
packet arrives from the ISP, the gateway will create an equivalent IPv6 packet and send
the IPv6 packet into the organization. Thus, computers in the organization can run IPv6
even if the ISP still uses IPv4. Alternatively, a site can use IPv4 even if the rest of the
Internet has adopted IPv6.
Each strategy for migration has advantages and disadvantages. In the end, a central question arises: what economic incentive does a consumer, enterprise, or an ISP
have to change? Surprisingly, there is little evidence that IPv6 offers much to the average consumer, organization, or provider. Of course there are exceptions. For example,
a company whose business model involves the sale of information to advertisers will
benefit greatly if each individual uses a separate IP address, because the company will
be able to track individual habits much more accurately than when a family shares one
computer or one address. In the end, each of the migration strategies has been used in
some places, but none has emerged as a widely accepted consensus.

1.13 Dual Stack Systems
Many chapters in this text discuss protocol software, commonly known as a protocol stack. The impending change to IPv6 has affected the way protocol software is
designed, especially for individual computers. Most operating systems (e.g., Linux,
Windows, and OS-X) are already classified as dual stack. That is, in addition to all the

software needed for IPv4, the system contains all the software needed for IPv6. In most
systems, the two versions do not interact. That is, each side has an IP address and each
side can send and receive packets. However, the addresses differ and neither side uses
the other (or is even aware that the other side exists). The dual-stack idea is closely related to the parallel Internet approach discussed above.
Dual-stack systems allow applications to choose whether they will use IPv4, IPv6,
or both. Older applications continue to use IPv4. However, a dual-stack mechanism allows an application to choose dynamically, making migration automatic. For example,
consider a browser. If a given URL maps to both an IPv4 address and an IPv6 address,
the browser might try to communicate using IPv6 first. If the attempt fails, the browser
can try IPv4. If the computer is connected to an IPv6 network that reaches the destination, IPv6 communication will succeed. If not, the browser automatically falls back to
using IPv4.

1.14 Organization Of The Text
The material on TCP/IP has been written in three volumes. This volume introduces the TCP/IP technology. It discusses the fundamentals of protocols like TCP and
IP, presents packet formats, and shows how the protocols fit together in the Internet. In
addition to examining individual protocols, the text highlights the general principles

16


16

Introduction And Overview

Chap. 1

underlying network protocols, and explains why the TCP/IP protocols adapt easily to so
many underlying physical network technologies. The text covers the architecture of the
global Internet, and considers protocols that propagate routing information. Finally the
text presents example network applications and explains how applications use the
TCP/IP protocols.

The second and third volumes focus on implementation. Volume II examines the
implementation of TCP/IP protocols themselves. The volume explains how protocol
software is organized. It discusses data structures as well as facilities such as timer
management. The volume presents algorithms and uses examples of code from a working system to illustrate the ideas. Volume III considers network applications and explains how they use TCP/IP for communication. It focuses on the client-server paradigm, the basis for all distributed programming. It discusses the interface between programs and protocols†, and shows how client and server programs are organized.
So far, we have talked about the TCP/IP technology and the Internet in general
terms, summarizing the services provided and the history of their development. The
next chapter provides a brief summary of the type of network hardware used throughout
the Internet. Its purpose is not to illuminate nuances of a particular vendor’s hardware,
but to focus on the features of each technology that are of primary importance to an Internet architect. Later chapters delve into the protocols and the Internet, fulfilling three
purposes: they explore general concepts and review the Internet architectural model,
they examine the details of TCP/IP protocols, and they look at standards for application
services. Later chapters describe services that span multiple machines, including the
propagation of routing information, name resolution, and applications such as the Web.
An appendix that follows the main text contains an alphabetical list of terms and
abbreviations used throughout the literature and the text. Because beginners often find
the new terminology overwhelming and difficult to remember, they are encouraged to
use the alphabetical list instead of scanning back through the text.

1.15 Summary
An internet consists of a set of connected networks that act as a coordinated whole.
The chief advantage of an internet is that it provides universal interconnection while allowing individual groups to use whatever network hardware is best suited to their needs.
We will examine principles underlying internet communication in general and the details of one internet protocol suite in particular. We will also discuss how internet protocols are used in an internet. Our example technology, called TCP/IP after its two
main protocols, was developed by the Defense Advanced Research Projects Agency. It
provides the basis for the global Internet, which now reaches over two billion people in
countries around the world. The next version of the Internet Protocol (IPv6) draws
heavily on concepts, terminology, and details in the current version (IPv4). Therefore,
chapters throughout the text will examine both versions.

†Volume III is available in two versions: one that uses the Linux socket interface, and a second that uses
the Windows Sockets Interface defined by Microsoft.


17


Exercises

17

EXERCISES
1.1
1.2
1.3

1.4

18

Make a list of all the Internet applications that you use. How many are web-based?
Plot the growth of TCP/IP technology and Internet access at your organization. How many
computers, users, and networks were connected each year?
Starting in 2000, major telephone companies began moving their networks from conventional telephone switching to IP-based networking. The major telephone networks will run
only IP protocols. Why?
Find out when your site switched to IPv6 or when it plans to switch.


Chapter Contents
2.1
2.2
2.3
2.4

2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13

Introduction, 19
Two Approaches To Network Communication, 20
WAN And LAN, 21
Hardware Addressing Schemes, 21
Ethernet (IEEE 802.3), 22
Wi-Fi (IEEE 802.11), 26
ZigBee (IEEE 802.15.4), 26
Optical Carrier And Packet Over SONET (OC, POS), 27
Point-To-Point Networks, 28
VLAN Technology And Broadcast Domains, 28
Bridging, 29
Congestion And Packet Loss, 30
Summary, 31

From Chapter 2 of Internetworking with TCP/IP Volume One, Sixth Edition. Douglas E. Comer.
Copyright © 2014 by Pearson Education, Inc. All rights reserved.


2
Overview Of Underlying

Network Technologies

2.1 Introduction
The Internet introduced a key change in our thinking about computer networking.
Earlier efforts all aimed at producing a new kind of networking. The Internet introduced a new method of interconnecting individual networks and a set of protocols that
allowed computers to interact across many networks. While network hardware plays
only a minor role in the overall design, understanding Internet technology requires one
to distinguish between the low-level mechanisms provided by the hardware itself and
the higher-level facilities that the TCP/IP protocols provide. It is also important to
understand how the interfaces supplied by underlying packet-switched technology affect
our choice of high-level abstractions.
This chapter introduces basic packet-switching concepts and terminology, and then
reviews some of the underlying hardware technologies that have been used in TCP/IP
internets. Later chapters describe how physical networks are interconnected and how
the TCP/IP protocols accommodate vast differences in the hardware. While the list
presented here is certainly not comprehensive, it clearly demonstrates the variety among
physical networks over which TCP/IP operates. The reader can safely skip many of the
technical details, but should try to grasp the idea of packet switching and try to imagine
building a homogeneous communication system using such heterogeneous hardware.
Most important, the reader should look closely at the details of the addressing schemes
that various technologies use; later chapters will discuss in detail how high-level protocols use the hardware addresses.

20


×