home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1997 December
/
Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso
/
infoguide
/
advanced
/
tcp-ip
/
tcp-ip-overview
< prev
Wrap
Text File
|
1997-12-01
|
44KB
|
942 lines
An Overview of TCP/IP Protocols
and the Internet
Gary C. Kessler
Hill Associates, Inc.
5 August 1994
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. What is TCP/IP and the Internet? . . . . . . . . . . . . . . . . . . 1
2.1. The Evolution of TCP/IP (and the Internet) . . . . . . . . . . . . 1
2.2. Internet Growth . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. The TCP/IP Protocol Architecture . . . . . . . . . . . . . . . . . . 6
3.1. The Network Interface Layer . . . . . . . . . . . . . . . . . . . . 6
3.2. The Internet Layer . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.1. IP Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2.2. IP Domains and Host Names . . . . . . . . . . . . . . . . . . . . 8
3.2.3. ARP and Address Resolution . . . . . . . . . . . . . . . . . . . 9
3.2.4. OSPF and RIP . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.5. ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3. The Transport Layer . . . . . . . . . . . . . . . . . . . . . . . 11
3.4. Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.6. The Internet and TCP/IP . . . . . . . . . . . . . . . . . . . . . 13
4. Other Information Sources . . . . . . . . . . . . . . . . . . . . . 14
5. Acronyms and Abbreviations . . . . . . . . . . . . . . . . . . . . 14
6. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction
An increasing number of people are using the Internet and, many for
the first time, are using the tools and utilities that at one time
were only available on a limited number of computer systems (and
only for really intense users!). One sign of this growth in use
has been the significant number of TCP/IP and Internet books,
articles, courses, and even TV shows that have become available in
the last year. This memo provides a broad overview of the Internet
and TCP/IP, with an emphasis on history, terms, and concepts. It
is meant as a brief guide and starting point, referring to many
other sources for more detailed information.
2. What is TCP/IP and the Internet?
2.1. The Evolution of TCP/IP (and the Internet)
Prior to the 1960s, what little computer communication existed
comprised simple text and binary data, carried by the most commonAn Overview of TCP/IP and the Internet Page 2
telecommunications network technology of the day; namely, circuit
switching, the technology of the telephone networks for nearly a
hundred years. Because most data traffic is bursty in nature
(i.e., most of the transmissions occur during a very short period
of time), circuit switching results in highly inefficient use of
network resources. In 1962, Paul Baran described packet switching
in a report for the U.S. Air Force. Packet switching networks were
designed so that all components operated independently, eliminating
single point-of-failure problems. In addition, network
communication resources appear to be dedicated to individual users
but, in fact, statistical multiplexing and an upper limit on the
size of a transmitted entity result in fast, economical data
networks.
The modern Internet began as a U.S. Department of Defense (DoD)
funded experiment in the use of packet switching technology. In
1968, the Defense Advanced Research Projects Agency (DARPA) awarded
a contract to design and deploy a packet switching network to Bolt,
Beranek and Newman (BBN). In 1969, less than a year after the
award of the contract, the network became operational under the
name of ARPANET. Starting with only four nodes in 1969, the
ARPANET spanned the continental U.S. by 1971 and had connections to
Europe by 1973.
The original ARPANET gave life to a number of protocols that were
new to packet switching. One of the most lasting results of the
ARPANET was the development of a user-network protocol that has
become the standard interface between users and packet switched
networks; namely, ITU-T (formerly CCITT) Recommendation X.25. This
"standard" interface encouraged BBN to start Telenet, a commercial
packet-switched data service, in 1974; after much renaming, Telenet
is now a part of Sprint's X.25 service.
The initial host-to-host communications protocol introduced in the
ARPANET was called the Network Control Protocol (NCP). Over time,
however, NCP proved to be incapable of keeping up with the growing
network traffic load. In 1974, a new, more robust suite of
protocols was proposed and implemented throughout the ARPANET, base
upon the Transmission Control Protocol (TCP) and Internet Protocol
(IP). Although the protocol suite is usually referred to simply as
"TCP/IP", we will see that that name is misleading because the
suite actually comprises a large collection of protocols and
applications, of which TCP and IP are only two (albeit perhaps the
most important). The versions of both TCP and IP that are in
common use today were written in September 1981. In 1983, the DoD
mandated that all of their computer systems would use the TCP/IP
protocol suite for long-haul communications, further enhancing the
scope and importance of the ARPANET.
In 1983, the ARPANET was split into two components. One component,
still called ARPANET, was used to interconnect research/developmentAn Overview of TCP/IP and the Internet Page 3
and academic sites; the other, called MILNET, was used to carry
military traffic and became part of the Defense Data Network. That
year also saw a huge boost in the popularity of TCP/IP with its
inclusion as the communications kernel for the University of
California s UNIX implementation, 4.2BSD (Berkeley Software
Distribution) UNIX.
In 1986, the National Science Foundation (NSF) built a backbone
network to interconnect four NSF-funded regional supercomputer
networks and the National Center for Atmospheric Research (NCAR).
This network, dubbed the NSFNET, was originally intended as a
backbone for other networks, not as an interconnection mechanism
for individual systems. Furthermore, the "Appropriate Use Policy"
defined by the NSF limited traffic to non-commercial use. The
NSFNET continued to grow and provide connectivity between both NSF-
funded and non-NSF regional networks, eventually becoming the
backbone that we know today as the Internet. Although early NSFNET
applications were largely multiprotocol in nature, TCP/IP was
employed for interconnectivity (with the ultimate goal of migration
to Open Systems Interconnection).
The NSFNET originally comprised 56-kbps links, and was completely
upgraded to T1 (1.544 Mbps) links in 1989. Migration to a
"professionally-managed" network was supervised by a consortium
comprising Merit (a Michigan state regional network headquartered
at the University of Michigan), IBM, and MCI. Advanced Network &
Services, Inc. (ANS), a non-profit company formed by IBM and MCI,
is currently responsible for managing the NSFNET. ANS also
supervised the transition of the NSFNET backbone to its current
state, comprising no links slower than T3 (44.736 Mbps) rates; the
last T1 line was brought down in late 1991.
As an aside, while the Internet has had users from the commercial
sector, it has not historically been used for overt commercial
purposes. This has changed in the last several years. ANS CO+RE,
for example, is the for-profit side of ANS, offering commercial
service. In 1991, the Commercial Internet Exchange (CIX)
Association was formed by General Atomics, Performance Systems
International, and UUNET Technologies to promote and provide a
commercial Internet backbone service.
In 1988, the DoD and most of the U.S. Government chose to adopt OSI
protocols. TCP/IP, which was developed with U.S. government funds,
was viewed as an interim, proprietary solution since it ran only on
limited hardware platforms and OSI products were only a couple of
years away. The DoD mandated that all computer communications
products would have to use OSI protocols by August 1990 and use of
TCP/IP would be phased out. Subsequently, the U.S. Government OSI
Profile (GOSIP) defined the set of protocols that would have to be
supported by products sold to the federal government and TCP/IP was
not included.An Overview of TCP/IP and the Internet Page 4
Despite this mandate, development of TCP/IP continued during the
late 1980s as the Internet grew. TCP/IP development had always
been carried out in an open environment (although the size of this
open community was small due to the small number of ARPA/NSF
sites), based upon the creed of "rough consensus and working code"
[NOTE: This quote is attributed to David Clark of M.I.T.]. OSI
products were still a couple of years away while TCP/IP became, in
the minds of many, the real open systems interconnection protocol
suite.
It is not the purpose of this memo to take a position in the OSI
vs. TCP/IP debate. Nevertheless, a number of observations are in
order. First, the ISO Development Environment (ISODE) was
developed in 1990 to provide an approach for OSI migration for the
DoD. ISODE software allows OSI applications to operate over
TCP/IP. During this same period, the Internet and OSI communities
started to work together to bring about the best of both worlds as
many TCP and IP features started to migrate into OSI protocols,
particularly the OSI Transport Protocol class 4 (TP4) and the
Connectionless Network Layer Protocol (CLNP), respectively.
Finally, a report from the National Institute for Standards and
Technology (NIST) in 1994 suggested that GOSIP should incorporate
TCP/IP and drop the "OSI-only" requirement. [NOTE: Some industry
observers have pointed out that OSI represents the ultimate example
of a "sliding window"; OSI protocols have been "two years away"
since about 1986.]
The administrative and technical activities on the Internet are
governed by the Internet Activities Board (IAB). Their two main
sub-bodies are the Internet Engineering Task Force (IETF) and the
Internet Engineering Steering Group (IESG). The IETF's working
groups have primarily responsibility for the technical activities
of the Internet, including writing specifications and protocols;
the impact of these specifications is significant enough that ISO
plans on accrediting the IETF as an international standards body by
the end of 1994. The IESG provides direction to the IETF. All of
the activities are monitored and authorized by the IAB; the
Internet Society (ISOC), chartered in 1992, provides oversight and
communications for the IAB.
2.2. Internet Growth
The ARPANET started with four nodes in 1969 and grew to just under
600 nodes before it was split in 1983. The NSFNET also started
with a modest number of sites in 1986. After that, the network has
experienced literally exponential growth. Internet growth between
1981 and 1991 is documented in RFC 1296 [12]. A quarterly update
with specific information about the size of the Internet is
published by the University of Southern California (USC)
Information Sciences Institute (ISI). For more information, see
RFC 1296 and/or the "pub/zone" directory on "ftp.nisc.sri.com". AnOverview of TCP/IP and the Internet Page 5
Internet maps can be downloaded from the "maps" directory at host
"ftp.merit.edu".
It is important to again note that the NSFNET/Internet is a
backbone, interconnecting other networks. CSNET, for example, was
an NSF-funded network linking Computer Science departments at major
colleges and universities in North America that were not connected
via the ARPANET. Chartered in 1981, a gateway with the ARPANET was
put in place in 1983, and CSNET was shut down in 1991 in favor of
more general Internet access. BITNET (Because It's Time Network),
formed in 1981 at the City University of New York, was originally
funded by IBM, used IBM communications protocols, and was intended
for electronic mail and information exchange; the European Academic
Research Network (EARN), chartered in 1983, is similar to BITNET.
Both BITNET and EARN have grown over time and continue to thrive
today. The European backbone network (EBONE) interconnects the
networks of individual nations in western Europe; it is sometimes
referred to as the "European Internet". All of these networks, and
more, are today interconnected via the Internet.
As of January 1994, the Internet had 2,217,000 hosts attached to
it, representing a 69% increase since January 1993. The Internet
is growing today at a rate of about 1,000 hosts per week attached
to more than 16,500 networks; it is estimated that the Internet is
now doubling in size every six to eight months.
And what of the original ARPANET? It grew smaller and smaller
during the late 1980s as sites and traffic moved to the Internet,
and was decommissioned in July 1990. Cerf & Kahn [34] contains a
number of network maps documenting the growth (and demise) of the
ARPANET.
----------------------------------------------------
Application : Telnet : FTP : SMTP : Finger : DNS : SNMP : Ping :
----------- -------------------------------+------------+-------
Transport : TCP : UDP : :
----------- --------------------------------------------- ICMP :
: : :
Internet -------------------- IP --------
: ARP : OSPF : RIP : :
----------- ----------------------------------------------------
Network :Ethernet:Token:FDDI:X.25:Frame:SMDS: ATM :SLIP:PPP:
Interface : :Ring : : :Relay: : : : :
----------------------------------------------------
FIGURE 1. Simplified TCP/IP protocol stack.
Overview of TCP/IP and the Internet Page 6
3. The TCP/IP Protocol Architecture
Figure 1 shows the TCP/IP protocol architecture. This diagram is
not exhaustive, but shows the major protocol and application
components common to most commercial TCP/IP software packages.
3.1. The Network Interface Layer
The TCP/IP protocols have been designed to operate over nearly any
underlying local or wide area network technology. Although certain
accommodations may need to be made, IP messages can be transported
over all of the technologies shown in the figure, as well as
numerous others.
Two of the underlying interface protocols are particularly relevant
to TCP/IP. The Serial Line Internet Protocol (SLIP) and Point-to-
Point Protocol (PPP), described in RFC 1055 [30] and STD 51/RFC
1661 [32], respectively, may be used to provide data link layer
protocol services where no other underlying data link protocol may
be in use, such as in leased line or dial-up environments. Most
commercial TCP/IP software packages for PC-class systems include
these two protocols. With SLIP or PPP, a remote computer can
attach directly to a host server and, therefore, connect to the
Internet using IP rather than being limited to an asynchronous
connection.
3.2. The Internet Layer
The Internet Protocol, described in STD 5/RFC 791 [23], provides
services that are roughly equivalent to the OSI Network Layer. IP
provides a datagram (connectionless) transport service across the
network. This service is sometimes referred to as "unreliable"
because the network does not guarantee delivery nor notify the end
host system about packets lost due to errors or network congestion.
IP datagrams contain a message, or one fragment of a message, that
may be up to 65,535 bytes (octets) in length. IP does not provide
a mechanism for flow control.
1 2 3
0 8 6 4 1
-------------------------------------
Class A :0: NET_ID : HOST_ID :
--+----------------------------------
Class B :1:0: NET_ID : HOST_ID :
--+-+--------------------------------
Class C :1:1:0: NET_ID :HOST_ID:
--+-+-+------------------------------
Class D :1:1:1:0: MULTICAST_ID :
--+-+-+-+----------------------------
Class E :1:1:1:1: EXPERIMENTAL_ID :
-------------------------------------
FIGURE 2. IP Address Format.
Overview of TCP/IP and the Internet Page 7
3.2.1. IP Addresses
One important aspect of IP, even to a typical end-user, is the
format and notation used for addressing. IP addresses are always
32 bits in length, as shown in Figure 2. They are typically
written as a sequence of four numbers, representing the decimal
value of each of the address bytes. Since the values are separated
by periods, the notation is referred to as "dotted decimal". A
sample IP address is 199.182.20.17, the author's machine at Hill
Associates in Colchester, VT.
IP addresses are hierarchical and are subdivided into two
subfields. The Network Identifier (NET_ID) subfield identifies the
TCP/IP subnetwork connected to the Internet. The NET_ID is used
for high-level routing between networks, much the same way as the
country code, city code, or area code is used in the telephone
network. The Host Identifier (HOST_ID) subfield indicates the
specific host within a subnetwork.
To accommodate different size networks, IP defines several address
classes, as shown in the figure. A Class A address has a 7-bit
NET_ID and 24-bit HOST_ID. Class A addresses are intended for very
large networks and can address up to 16,777,216 hosts per network.
The first digit of a Class A addresses will be a number between 0
and 126. Relatively few Class A addresses have been assigned;
examples include 9.0.0.0 (IBM) and 35.0.0.0 (Merit).
A Class B address has a 14-bit NET_ID and 16-bit HOST_ID. Class B
addresses are intended for moderate sized networks and can address
up to 65,536 hosts per network. The first digit of a Class B
address will be a number between 128 and 191. The Class B address
space is in danger of being exhausted and it is very difficult to
get a Class B address assigned at this time; examples include
128.138.0.0 (Colorado SuperNet) and 147.225.0.0 (ANSNET).
A Class C address has a 21-bit NET_ID and 8-bit HOST_ID. These
addresses are intended for very small networks and can address only
up to 256 hosts per network. The first digit of a Class C address
will be a number between 192 and 223. Most addresses assigned to
networks today are Class C; examples include 192.100.81.0 (Netcom)
and 192.80.64.0 (St. Michael's College, Colchester, VT).
The remaining two address classes are used for special functions
only and are not commonly assigned to individual hosts. Class D
addresses may begin with a value between 224 and 239, and are used
for IP multicasting (i.e., sending a single datagram to multiple
hosts). Class E addresses begin with a value between 240 and 255
and are reserved for experimental use.
Several address values are reserved and/or have special meaning.
A HOST_ID of 0 (as used above) is a dummy value reserved as a placeOverview of TCP/IP and the Internet Page 8
holder when referring to an entire subnetwork; the address
10.0.0.0, then, refers to the Class A address with a NET_ID of 10
(this was the old ARPANET address). A HOST_ID of all ones (usually
written "255" when referring to an all-ones byte, but also denoted
as "-1") is a broadcast address and refers to all hosts on a
network. A NET_ID value of 127 is used for loopback testing.
A special case of addressing is that of "subnet masks". A network
may subdivide their address space to define multiple logical
networks by segmenting the HOST_ID subfield into a Subnetwork
Identifier (SUBNET_ID) and (smaller) HOST_ID. Most end-users
cannot determine whether subnet masks are being employed merely by
examining the IP address.
As of January 1994, 20,539 NET_IDs have been assigned, a 149%
increase since the previous January. At that time, there were 75
Class A addresses (a 37% increase), 4,043 Class B addresses (a 26%
increases), and 16,422 Class C addresses (a 228% increase).
Because of the tremendous growth in Internet users and the rigid
format of IP addresses, the format and assignment of IP addresses
will undoubtedly change in the next several years; some within the
IETF estimate that the current address space will be exhausted
within the next 8 years or so. While the address format described
here will remain in effect for some time, address longevity is an
area of intense study.
3.2.2. IP Domains and Host Names
While IP addresses are all 32 bits in length, most users do not
memorize the numeric addresses of the hosts to which they attach.
Instead, people are more comfortable with host names. Most numeric
IP addresses are associated with a host name. While users would
prefer to use names, however, the name must be translated back to
a numeric address for routing purposes.
Internet host names use a hierarchical address structure comprising
a top-level domain, subdomain (optional), host name, and user name
(optional). Host names and IP addresses are assigned and
maintained by the Internet Assigned Numbers Authority (IANA), which
is responsible for the overall coordination and management of the
Domain Name System (DNS). The concepts, structure, and delegation
of the DNS is described in STD 13/RFC 1034 [16] and RFC 1591 [20].
The IP address name hierarchy is best understood if the address is
read from right-to-left. IP address names end with a top-level
domain name. World-wide generic top-level domains (although
generally limited to the U.S.) include:
- COM: Commercial entities
- EDU: Educational institutionsOverview of TCP/IP and the Internet Page 9
- NET: Network providers
- ORG: Miscellaneous organizations
- INT: Organizations established by international treaty
- GOV: U.S. Federal government agencies
- MIL: U.S. military
The host name "smcvax.smcvt.edu", for example, is assigned to a VAX
computer (smcvax) at the St. Michael's College subdomain (smcvt),
which is within the educational top-level domain (edu). The name
"golem.hill.com" refers to a host (golem) at the Hill Associates
subdomain (hill) within the commercial top-level domain (com).
Guidelines for selecting host names is the subject of FYI 5/RFC
1178 [11].
Other top-level domain names use the two-letter country codes
defined in ISO standard 3166; "munnari.oz.au", for example, is the
address of the Internet gateway to Australia and
"myo.inst.keio.ac.jp" is a host at the Science and Technology
Department of Keio University in Yokohama, Japan. Other ISO 3166-
based domain country codes are CA (Canada), DE (Germany), ES
(Spain), FR (France), GB (Great Britain) [NOTE: For some historical
reasons, the top-level domain GB is rarely used; most United
Kingdom sites use the top-level domain UK instead, which is not an
official ISO 3166 country code.], IL (Israel), IE (Ireland), MX
(Mexico), and US (United States). A list of all ISO 3166 country
codes may be found in the file "pub/zone/iso-country-codes" on
"ftp.nisc.sri.com". Alternatively, send e-mail to "mail-
server@nisc.sri.com", leave the "Subject:" field blank; place the
command "send COUNTRY_CODES.TXT" in the main body of the message to
get a list of country codes or use the command "send DOMAINS-LIST"
to get a list of domain names.
Different countries may organize the country-based subdomains in
any way that they want. The US domain is organized on the basis of
geography, using an address of the form
<entity-name>.<city/town>.<state-code>.US. The address
"cnri.reston.va.us", for example, refers to the Corporation for
National Research Initiatives located in Reston, Virginia. More
information on the US domain may be found in RFC 1480 [5].
3.2.3. ARP and Address Resolution
Early IP implementations ran on hosts commonly interconnected by
Ethernet local area networks (LAN). Every transmission on the LAN
contains the local network, or medium access control (MAC), address
of the source and destination nodes. The MAC address is 48-bits in
length and is non-hierarchical; MAC addresses are never the same as
IP addresses.
When a host needs to send a datagram to another host, the sending
application must know both the IP and MAC addresses of the intendedOverview of TCP/IP and the Internet Page 10
receiver. Unfortunately, the IP process may not know the MAC
address of the receiver. The Address Resolution Protocol (ARP),
described in STD 37/RFC 826 [19], provides a mechanism so that a
host can determine a receiver's MAC address from the IP address.
The process is actually quite simple: the host sends an ARP packet
in a frame containing the MAC broadcast address; the ARP request
advertises the destination IP address and asks for the associated
MAC address. The station on the LAN that recognizes its own IP
address will send an ARP response with its own MAC address.
Other address resolution procedures have also been defined,
including those which allow a disk-less processor to determine its
IP address from its MAC address (Reverse ARP, or RARP), a mechanism
which provides a mapping between an IP address and a frame relay
virtual circuit identifier (Inverse ARP, or InARP), a mechanism
which provides a mapping between an IP address and ATM virtual
path/channel identifiers (ATMARP), and variations on ARP to
accommodate the needs of large public data networks and non-
broadcast data networks (Directed ARP, or DARP).
3.2.4. OSPF and RIP
OSPF and RIP are two of the main routing protocols associated with
the Internet. It is important to note the function of the routing
protocol. IP, as the Network Layer protocol, is responsible for
routing datagrams. It performs this task by examining a routing
table. The routing protocol's job is to populate the routing table
with information that can be used by the Network Layer protocol.
The Routing Information Protocol, described in STD 34/RFC 1058 [8],
describes how routers will exchange routing table information using
a distance-vector algorithm. With RIP, neighboring routers
periodically exchange their entire routing tables. RIP uses hop
count as the only measure of a path's goodness and a path is
limited to 16 hops. Unfortunately, RIP has become increasingly
inefficient on the Internet as the network continues its fast rate
of growth. Current routing protocols for most of today's LANs are
based upon RIP, including those associated with NetWare, AppleTalk,
VINES, and DECnet.
The Open Shortest Path First protocol is a link state algorithm
that is more robust than RIP, converges faster, requires less
network bandwidth, and is better able to handle larger networks.
With OSPF, a router broadcasts only changes in its links' status
rather than entire routing tables. OSPF Version 2, described in
RFC 1583 [18], is rapidly replacing RIP in the Internet and is also
beginning to be deployed in some LANs.
3.2.5. ICMP
The Internet Control Message Protocol, described in STD 5/RFC 792Overview of TCP/IP and the Internet Page 11
[21], is an adjunct to IP that returns to the transmitter messages
about abnormal events. ICMP might indicate, for example, that an
IP datagram cannot reach an intended destination, cannot connect to
the requested service, or that the network has dropped a datagram
due to old age.
3.3. The Transport Layer
The TCP/IP protocol suite comprises two protocols that correspond
roughly to the OSI Transport and Session Layers; these protocols
are called the Transmission Control Protocol and the User Datagram
Protocol (UDP). Individual applications are referred to by a port
identifier in TCP/UDP messages. The port identifier and IP
address, together, form a "socket". Well-known port numbers on the
server side of a connection include 20 (FTP data transfer), 21 (FTP
control), 25 (SMTP), 43 (whois), 70 (Gopher), 79 (finger), and 185
(KNOWBOT).
TCP, described in STD 7/RFC 793 [26], provides a virtual circuit
(connection-oriented) service across the network. TCP includes
rules for formatting messages, establishing and terminating virtual
circuits, sequencing, flow control, and error correction. Most of
the TCP/IP applications operate over the reliable transport service
provided by TCP.
UDP, described in STD 6/RFC 768 [27], provides an end-to-end
datagram (connectionless) service. Some applications, such as
those that involve a simple query and response, are better suited
to the datagram service of UDP because there is no time lost to
virtual circuit establishment and termination. UDP's primary
function is to add a port number to the IP address to provide a
socket for the application.
3.4. Applications
The Application Layer protocols shown in Figure 2 are not a
complete list of TCP/IP applications and utilities. However, the
list does show many of the commonly available tools and provides a
glimpse into the variety of utilities that are defined by TCP/IP.
These applications include:
Telnet: A virtual terminal protocol allowing a user logged on to
one system to access other hosts on the network. Described in
STD 8/RFC 854 [29].
FTP: The File Transfer Protocol, allowing a user to transfer files
between a local and remote host computer. Described in STD
9/RFC 959 [28].
SMTP: The Simple Mail Transfer Protocol, the standard for Internet
electronic mail. Described in STD 10/RFC 821 [25]. A relatedOverview of TCP/IP and the Internet Page 12
document, STD 11/RFC 822 [6], describes the mail message body
format and RFCs 1521 [2] and 1522 [17] describe MIME (Multipurpose
Internet Mail Extensions). Frey & Adams [38] and Rose [39] provide
a wealth of information on electronic mail systems.
Finger: Used to determine the status of other hosts and/or users.
Described in RFC 1288 [33].
DNS: The Domain Name System, defining the structure of Internet
names and their association with IP addresses. See also Frey
& Adams [38] and Rose [39].
SNMP: The Simple Network Management Protocol, defining the
procedures and management information databases for managing
network devices. SNMP, described in STD 15/RFC 1157 [3], is
widely deployed in local and wide area network. SNMP Version
2 (SNMPv2), described in RFC 1441 [4], is slowly growing in
popularity; while it adds security mechanisms that are missing
in SNMP, it is also very complex. Additional general
information on SNMP and TCP/IP-based network management can be
found in Feit [36] and Rose [40].
Ping: A utility that allows a user at one system to determine the
status of other hosts and the latency in getting a message to
that host. Uses ICMP messages.
Other utilities that are commonly employed (but not shown in the
figure) include:
Whois/NICNAME: These utilities search databases for information
about Internet users. Described in RFC 954 [7]. KNOWBOT is
a related utility that can search multiple user data bases
simultaneously.
NSLOOKUP: A utility to match IP addresses with host names, as well
as other DNS lookup functions.
Traceroute: A tool to determine the route that packets will take
when traveling to a remote host.
Archie: A utility that allows a user to search anonymous FTP sites
for files on a specified topic.
Gopher: A tool that allows users to search through data
repositories at a number of sites. Described in RFC 1436 [1].
3.5. Summary
As this discussion has shown, "TCP/IP" is not merely a pair of
communication protocols but denotes a suite of protocols,
applications, and utilities. Increasingly, these protocols areOverview of TCP/IP and the Internet Page 13
referred to as the "Internet Protocol Suite".
Figure 3 shows the relationship between the various protocol layers
of TCP/IP. Applications and utilities reside in host, or end-
communicating, systems. TCP provides a reliable, virtual circuit
connection between the two hosts. (UDP, not shown, provides an
end-to-end datagram connection at this layer.) IP provides a
datagram (DG) transport service over any intervening subnetworks,
including local and wide area networks. The underlying subnetwork
may employ nearly any common local or wide area network technology.
---------------- ----------------
: Application :<---- end-to-end connection ---->: Application :
:--------------: :--------------:
: TCP :<------- virtual circuit ------->: TCP :
:--------------: ----------------- :--------------:
: IP :<- DG ->: IP :<- DG ->: IP :
:--------------: :---------------: :--------------:
: Subnetwork 1 :<------>:Subnet1:Subnet2:<------>: Subnetwork 2 :
---------------- ----------------- ----------------
HOST GATEWAY HOST
FIGURE 3. TCP/IP protocol suite architecture.
Note that the term "gateway" is used for the device interconnecting
the two subnets, a device usually called a "router" in LAN
environments or "intermediate system" in OSI environments. In OSI
terminology, a "gateway" is used to provide protocol conversion
between two networks and/or applications.
A large number of books have been written that describe all aspects
of TCP/IP as a protocol suite, including detailed information about
use and implementation of the protocols. Readers are referred to
RFC 1180 [31], Comer [35], and Feit [37].
3.6. The Internet and TCP/IP
Why all of this explanation about TCP/IP? Because regardless of
what definition of the "Internet" that you subscribe to, the one
consistent thing is that all hosts directly attached to the
Internet use TCP/IP. At one time, this also implied that the UNIX
operating system was employed, but TCP/IP software is increasingly
being made available for non-UNIX hosts including Digital and IBM
mainframes, as well as Mac, DOS, OS/2, and Windows PC platforms.
Overview of TCP/IP and the Internet Page 14
4. Other Information Sources
This memo has only provided background information about the TCP/IP
protocols and the Internet. There is a wide range of additional
information that the reader can access to further use and
understand the tools and scope of the Internet. The real fun
begins now!
Frequently Asked Question (FAQ) lists may be found for a number of
topics, ranging from ISDN and cell relay to the Internet and
Gopher. Two are of particular interest to Internet users: FYI
4/RFC 1594 [15] is an FAQ for new Internet users and FYI 7/RFC 1207
[13] is an FAQ for experienced Internet users. Kessler & Shepard
[10] provides detailed examples of the various utilities and
applications not described in this document. All three of these
documents point to even more information sources.
Internet specifications, standards, reports, humor, and tutorials
are distributed as Request for Comments (RFC) documents. RFCs are
all freely available on-line, usually in ASCII text format.
Internet standards are documented in a subset of the RFCs,
identified with an "STD" designation. RFC 1602 [9] describes the
Internet standards process and RFC 1311 [24] describes the concepts
behind the STD series of RFCs. The official list of Internet
standards is contained in STD 1/RFC 1610 [22].
For Your Information (FYI) documents are another RFC subset,
specifically providing background information for the Internet
community. The FYI notes are described in FYI 1/RFC 1150 [14].
5. Acronyms and Abbreviations
ARP Address Resolution Protocol
ARPANET Advanced Research Projects Agency Network
ASCII American Standard Code for Information Interchange
ATM Asynchronous Transfer Mode
BSD Berkeley Software Development
CCITT International Telegraph and Telephone Consultative
Committee
CIX Commercial Internet Exchange
DARPA Defense Advanced Research Projects Agency
DNS Domain Name System
DoD U.S. Department of Defense
FAQ Frequently Asked Questions lists
FDDI Fiber Distributed Data Interface
FTP File Transfer Protocol
FYI For Your Information series of RFCs
GOSIP U.S. Government Open Systems Interconnection Profile
IAB Internet Activities BoardOverview of TCP/IP and the Internet Page 15
IANA Internet Assigned Numbers Authority
ICMP Internet Control Message Protocol
IESG Internet Engineering Steering Group
IETF Internet Engineering Task Force
IP Internet Protocol
ISO International Organization for Standardization
ISOC Internet Society
ITU-T International Telecommunication Union Telecommunication
Standardization Sector
MAC Medium (or Media) Access Control
Mbps Megabits (millions of bits) per second
NICNAME Network Information Center name service
NSF National Science Foundation
NSFNET National Science Foundation Network
OSI Open Systems Interconnection
OSPF Open Shortest Path First
PPP Point-to-Point Protocol
RARP Reverse Address Resolution Protocol
RIP Routing Information Protocol
RFC Request For Comments
SLIP Serial Line IP
SMDS Switched Multimegabit Data Service
SMTP Simple Mail Transfer Protocol
SNMP Simple Network Management Protocol
STD Internet Standards series of RFCs
TCP Transmission Control Protocol
UDP User Datagram Protocol
6. References
[1] Anklesaria, F., M. McCahill, P. Lindner, D. Johnson, D.
Torrey, and B. Alberti, "The Internet Gopher Protocol", RFC
1436, University of Minnesota, March 1993.
[2] Borenstein, N., N. Freed, "MIME (Multipurpose Internet Mail
Extensions) Part One: Mechanisms for Specifying and Describing
the Format of Internet Message Bodies", RFC 1521, Bellcore,
Innosoft, September 1993.
[3] Case, J., M. Fedor, M. Schoffstall, and J. Davin, "A Simple
Network Management Protocol (SNMP)", STD 15, RFC 1157, SNMP
Research, Performance Systems International, Performance
Systems International, MIT Laboratory for Computer Science,
May 1990.
[4] Case, J., K. McCloghrie, M. Rose, and S. Waldbusser,
"Introduction to version 2 of the Internet-standard Network
Management Framework", RFC 1441, SNMP Research, Hughes LAN
Systems, Dover Beach Consulting, Carnegie Mellon University,
May 1993.Overview of TCP/IP and the Internet Page 16
[5] Cooper, A. and J. Postel, "The US Domain", RFC 1480,
USC/Information Sciences Institute, June 1993.
[6] Crocker, D., "Standard for the Format of ARPA Internet Text
Messages", STD 11, RFC 822, University of Delaware, August
1982.
[7] Harrenstien, K., M. Stahl, and E. Feinler, "NICNAME/WHOIS",
RFC 954, SRI, October 1985.
[8] Hedrick, C., "Routing Information Protocol", STD 34, RFC 1058,
Rutgers University, June 1988.
[9] Internet Architecture Board, Internet Engineering Steering
Group, "The Internet Standards Process -- Revision 2", RFC
1602, March 1994.
[10] Kessler, G. and S. Shepard, "A Primer on Internet and TCP/IP
Tools", IETF work-in-progress, Hill Associates, April 1994.
[11] Libes, D., "Choosing a Name for Your Computer", FYI 5, RFC
1178, Integrated Systems Group/NIST, August 1990.
[12] Lotter, M., "Internet Growth (1981-1991)", RFC 1296, SRI
International, January 1992.
[13] Malkin, G., A. Marine, and J. Reynolds, "FYI on Questions and
Answers: Answers to Commonly Asked 'Experienced Internet User'
Questions", FYI 7, RFC 1207, FTP Software, SRI,
USC/Information Sciences Institute, February 1991.
[14] Malkin, G.S. and J.K. Reynolds, "F.Y.I. on F.Y.I.:
Introduction to the F.Y.I. notes", FYI 1, RFC 1150, Proteon,
USC/Information Sciences Institute, March 1990.
[15] Marine, A., J. Reynolds, and G. Malkin, "FYI on Questions and
Answers - Answers to Commonly asked 'New Internet User'
Questions", FYI 4, RFC 1594, NASA Ames Research Center,
USC/Information Sciences Institute, Xylogics, March, 1994.
[16] Mockapetris, P., "Domain Names - Concepts and Facilities", STD
13, RFC 1034, USC/Information Sciences Institute, November
1987.
[17] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part
Two: Message Header Extensions for Non-ASCII Text", RFC 1522,
University of Tennessee, September 1993.
[18] Moy, J., "OSPF Version 2", RFC 1583, Proteon, March 1994.
Overview of TCP/IP and the Internet Page 17
[19] Plummer, D., "An Ethernet Address Resolution Protocol - or -
Converting Network Addresses to 48.bit Ethernet Address for
Transmission on Ethernet Hardware", STD 37, RFC 826, MIT,
November 1982.
[20] Postel, J., "Domain Name System Structure and Delegation",
USC/Information Sciences Institute, RFC 1591, March 1994.
[21] Postel, J., "Internet Control Message Protocol", STD 5, RFC
792, USC/Information Sciences Institute, September 1981.
[22] Postel, J., Editor, "Internet Official Protocol Standards",
STD 1, RFC 1610, Internet Architecture Board, July 1994.
[23] Postel, J., "Internet Protocol - DARPA Internet Program
Protocol Specification", STD 5, RFC 791, DARPA, September
1981.
[24] Postel, J., "Introduction to the STD Notes", RFC 1311,
USC/Information Sciences Institute, March 1992.
[25] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
USC/Information Sciences Institute, August 1982.
[26] Postel, J., "Transmission Control Protocol - DARPA Internet
Program Protocol Specification", STD 7, RFC 793, DARPA,
September 1981.
[27] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
USC/Information Sciences Institute, August 1980.
[28] Postel, J. and J. Reynolds, "File Transfer Protocol (FTP), STD
9, RFC 959, USC/Information Sciences Institute, October 1985.
[29] Postel, J. and J. Reynolds, "TELNET Protocol Specification",
STD 8, RFC 854, USC/Information Sciences Institute, May 1983.
[30] Romkey, J., "A Nonstandard for Transmission of IP Datagrams
over Serial Lines: SLIP", RFC 1055, June 1988.
[31] Socolofsky, T.J. and C.J. Kale, "TCP/IP Tutorial", RFC 1180,
Spider Systems Ltd., January 1991.
[32] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD
51, RFC 1661, Daydreamer, July 1994.
[33] Zimmerman, D., "The Finger User Information Protocol", RFC
1288, Rutgers University, December 1991.
[34] Cerf, V. and B. Kahn. "Selected ARPANET Maps." Computer
Communications Review", October 1990.Overview of TCP/IP and the Internet Page 18
[35] Comer, D. "Internetworking with TCP/IP, Vol. I: Principles,
Protocols, and Architecture", 2/e. Englewood Cliffs (NJ):
Prentice-Hall, 1991.
[36] Feit, S. "SNMP". New York: McGraw-Hill, 1994.
[37] Feit, S. "TCP/IP". New York: McGraw-Hill, 1993.
[38] Frey D. and R. Adams. "!%@:: Addressing and Networks".
Sebastopol (CA): O'Reilly & Associates, 1993.
[39] Rose, M. "THE INTERNET MESSAGE: Closing the Book With
Electronic Mail". Englewood Cliffs (NJ): PTR Prentice Hall,
1993.
[40] Rose, M. "THE SIMPLE BOOK: An Introduction to Internet
Management", 2/e. Englewood Cliffs (NJ): PTR Prentice Hall,
1994.
Gary C. Kessler +1 802-655-8633 (DDI)
Hill Associates, Inc. +1 802-655-0940 (main number)
17 Roosevelt Highway +1 802-655-7974 (fax)
Colchester, VT 05446 kumquat@hill.com