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   
Text File  |  1997-12-01  |  44KB  |  942 lines

  1.  
  2.  
  3.  
  4.                       An Overview of TCP/IP Protocols
  5.                              and the Internet
  6.  
  7.                               Gary C. Kessler
  8.                            Hill Associates, Inc.
  9.                                5 August 1994
  10.  
  11.  
  12. Table of Contents
  13.  
  14. 1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
  15. 2. What is TCP/IP and the Internet?  . . . . . . . . . . . . . . . . . .  1
  16. 2.1. The Evolution of TCP/IP (and the Internet)  . . . . . . . . . . . .  1
  17. 2.2. Internet Growth . . . . . . . . . . . . . . . . . . . . . . . . . .  4
  18. 3. The TCP/IP Protocol Architecture  . . . . . . . . . . . . . . . . . .  6
  19. 3.1. The Network Interface Layer . . . . . . . . . . . . . . . . . . . .  6
  20. 3.2. The Internet Layer  . . . . . . . . . . . . . . . . . . . . . . . .  6
  21. 3.2.1. IP Addresses  . . . . . . . . . . . . . . . . . . . . . . . . . .  7
  22. 3.2.2. IP Domains and Host Names . . . . . . . . . . . . . . . . . . . .  8
  23. 3.2.3. ARP and Address Resolution  . . . . . . . . . . . . . . . . . . .  9
  24. 3.2.4. OSPF and RIP  . . . . . . . . . . . . . . . . . . . . . . . . . . 10
  25. 3.2.5. ICMP  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  26. 3.3. The Transport Layer . . . . . . . . . . . . . . . . . . . . . . .   11
  27. 3.4. Applications  . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  28. 3.5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   12
  29. 3.6. The Internet and TCP/IP . . . . . . . . . . . . . . . . . . . . .   13
  30. 4. Other Information Sources . . . . . . . . . . . . . . . . . . . . .   14
  31. 5. Acronyms and Abbreviations  . . . . . . . . . . . . . . . . . . . .   14
  32. 6. References  . . . . . . . . . . . . . . . . . . . . . . . . . . . .   15
  33.  
  34.  
  35. 1. Introduction
  36.  
  37. An increasing number of people are using the Internet and, many for
  38. the first time, are using the tools and utilities that at one time
  39. were only available on a limited number of computer systems (and
  40. only for really intense users!).  One sign of this growth in use
  41. has been the significant number of TCP/IP and Internet books,
  42. articles, courses, and even TV shows that have become available in
  43. the last year.  This memo provides a broad overview of the Internet
  44. and TCP/IP, with an emphasis on history, terms, and concepts.  It
  45. is meant as a brief guide and starting point, referring to many
  46. other sources for more detailed information.
  47.  
  48.  
  49.  
  50.  
  51. 2. What is TCP/IP and the Internet?
  52.  
  53. 2.1. The Evolution of TCP/IP (and the Internet)
  54.  
  55. Prior to the 1960s, what little computer communication existed
  56. comprised simple text and binary data, carried by the most common An Overview of TCP/IP and the Internet                               Page 2
  57.  
  58.  
  59. telecommunications network technology of the day; namely, circuit
  60. switching, the technology of the telephone networks for nearly a
  61. hundred years.  Because most data traffic is bursty in nature
  62. (i.e., most of the transmissions occur during a very short period
  63. of time), circuit switching results in highly inefficient use of
  64. network resources.  In 1962, Paul Baran described packet switching
  65. in a report for the U.S. Air Force.  Packet switching networks were
  66. designed so that all components operated independently, eliminating
  67. single point-of-failure problems.  In addition, network
  68. communication resources appear to be dedicated to individual users
  69. but, in fact, statistical multiplexing and an upper limit on the
  70. size of a transmitted entity result in fast, economical data
  71. networks.
  72.  
  73. The modern Internet began as a U.S. Department of Defense (DoD)
  74. funded experiment in the use of packet switching technology.  In
  75. 1968, the Defense Advanced Research Projects Agency (DARPA) awarded
  76. a contract to design and deploy a packet switching network to Bolt,
  77. Beranek and Newman (BBN).  In 1969, less than a year after the
  78. award of the contract, the network became operational under the
  79. name of ARPANET.  Starting with only four nodes in 1969, the
  80. ARPANET spanned the continental U.S. by 1971 and had connections to
  81. Europe by 1973.
  82.  
  83. The original ARPANET gave life to a number of protocols that were
  84. new to packet switching.  One of the most lasting results of the
  85. ARPANET was the development of a user-network protocol that has
  86. become the standard interface between users and packet switched
  87. networks; namely, ITU-T (formerly CCITT) Recommendation X.25.  This
  88. "standard" interface encouraged BBN to start Telenet, a commercial
  89. packet-switched data service, in 1974; after much renaming, Telenet
  90. is now a part of Sprint's X.25 service.
  91.  
  92. The initial host-to-host communications protocol introduced in the
  93. ARPANET was called the Network Control Protocol (NCP).  Over time,
  94. however, NCP proved to be incapable of keeping up with the growing
  95. network traffic load.  In 1974, a new, more robust suite of
  96. protocols was proposed and implemented throughout the ARPANET, base
  97. upon the Transmission Control Protocol (TCP) and Internet Protocol
  98. (IP). Although the protocol suite is usually referred to simply as
  99. "TCP/IP", we will see that that name is misleading because the
  100. suite actually comprises a large collection of protocols and
  101. applications, of which TCP and IP are only two (albeit perhaps the
  102. most important).  The versions of both TCP and IP that are in
  103. common use today were written in September 1981.  In 1983, the DoD
  104. mandated that all of their computer systems would use the TCP/IP
  105. protocol suite for long-haul communications, further enhancing the
  106. scope and importance of the ARPANET.
  107.  
  108. In 1983, the ARPANET was split into two components.  One component,
  109. still called ARPANET, was used to interconnect research/development An Overview of TCP/IP and the Internet                               Page 3
  110.  
  111.  
  112. and academic sites; the other, called MILNET, was used to carry
  113. military traffic and became part of the Defense Data Network.  That
  114. year also saw a huge boost in the popularity of TCP/IP with its
  115. inclusion as the communications kernel for the University of
  116. California s UNIX implementation, 4.2BSD (Berkeley Software
  117. Distribution) UNIX.
  118.  
  119. In 1986, the National Science Foundation (NSF) built a backbone
  120. network to interconnect four NSF-funded regional supercomputer
  121. networks and the National Center for Atmospheric Research (NCAR). 
  122. This network, dubbed the NSFNET, was originally intended as a
  123. backbone for other networks, not as an interconnection mechanism
  124. for individual systems.  Furthermore, the "Appropriate Use Policy"
  125. defined by the NSF limited traffic to non-commercial use.  The
  126. NSFNET continued to grow and provide connectivity between both NSF-
  127. funded and non-NSF regional networks, eventually becoming the
  128. backbone that we know today as the Internet.  Although early NSFNET
  129. applications were largely multiprotocol in nature, TCP/IP was
  130. employed for interconnectivity (with the ultimate goal of migration
  131. to Open Systems Interconnection).
  132.  
  133. The NSFNET originally comprised 56-kbps links, and was completely
  134. upgraded to T1 (1.544 Mbps) links in 1989.  Migration to a
  135. "professionally-managed" network was supervised by a consortium
  136. comprising Merit (a Michigan state regional network headquartered
  137. at the University of Michigan), IBM, and MCI.  Advanced Network &
  138. Services, Inc. (ANS), a non-profit company formed by IBM and MCI,
  139. is currently responsible for managing the NSFNET.  ANS also
  140. supervised the transition of the NSFNET backbone to its current
  141. state, comprising no links slower than T3 (44.736 Mbps) rates; the
  142. last T1 line was brought down in late 1991.
  143.  
  144. As an aside, while the Internet has had users from the commercial
  145. sector, it has not historically been used for overt commercial
  146. purposes.  This has changed in the last several years.  ANS CO+RE,
  147. for example, is the for-profit side of ANS, offering commercial
  148. service.  In 1991, the Commercial Internet Exchange (CIX)
  149. Association was formed by General Atomics, Performance Systems
  150. International, and UUNET Technologies to promote and provide a
  151. commercial Internet backbone service.
  152.  
  153. In 1988, the DoD and most of the U.S. Government chose to adopt OSI
  154. protocols.  TCP/IP, which was developed with U.S. government funds,
  155. was viewed as an interim, proprietary solution since it ran only on
  156. limited hardware platforms and OSI products were only a couple of
  157. years away.  The DoD mandated that all computer communications
  158. products would have to use OSI protocols by August 1990 and use of
  159. TCP/IP would be phased out.  Subsequently, the U.S. Government OSI
  160. Profile (GOSIP) defined the set of protocols that would have to be
  161. supported by products sold to the federal government and TCP/IP was
  162. not included. An Overview of TCP/IP and the Internet                               Page 4
  163.  
  164.  
  165. Despite this mandate, development of TCP/IP continued during the
  166. late 1980s as the Internet grew.  TCP/IP development had always
  167. been carried out in an open environment (although the size of this
  168. open community was small due to the small number of ARPA/NSF
  169. sites), based upon the creed of "rough consensus and working code"
  170. [NOTE: This quote is attributed to David Clark of M.I.T.].  OSI
  171. products were still a couple of years away while TCP/IP became, in
  172. the minds of many, the real open systems interconnection protocol
  173. suite.
  174.  
  175. It is not the purpose of this memo to take a position in the OSI
  176. vs. TCP/IP debate.  Nevertheless, a number of observations are in
  177. order.  First, the ISO Development Environment (ISODE) was
  178. developed in 1990 to provide an approach for OSI migration for the
  179. DoD.  ISODE software allows OSI applications to operate over
  180. TCP/IP.  During this same period, the Internet and OSI communities
  181. started to work together to bring about the best of both worlds as
  182. many TCP and IP features started to migrate into OSI protocols,
  183. particularly the OSI Transport Protocol class 4 (TP4) and the
  184. Connectionless Network Layer Protocol (CLNP), respectively. 
  185. Finally, a report from the National Institute for Standards and
  186. Technology (NIST) in 1994 suggested that GOSIP should incorporate
  187. TCP/IP and drop the "OSI-only" requirement.  [NOTE: Some industry
  188. observers have pointed out that OSI represents the ultimate example
  189. of a "sliding window"; OSI protocols have been "two years away"
  190. since about 1986.]
  191.  
  192. The administrative and technical activities on the Internet are
  193. governed by the Internet Activities Board (IAB).  Their two main
  194. sub-bodies are the Internet Engineering Task Force (IETF) and the
  195. Internet Engineering Steering Group (IESG).  The IETF's working
  196. groups have primarily responsibility for the technical activities
  197. of the Internet, including writing specifications and protocols;
  198. the impact of these specifications is significant enough that ISO
  199. plans on accrediting the IETF as an international standards body by
  200. the end of 1994.  The IESG provides direction to the IETF.  All of
  201. the activities are monitored and authorized by the IAB; the
  202. Internet Society (ISOC), chartered in 1992, provides oversight and
  203. communications for the IAB.
  204.  
  205. 2.2. Internet Growth
  206.  
  207. The ARPANET started with four nodes in 1969 and grew to just under
  208. 600 nodes before it was split in 1983.  The NSFNET also started
  209. with a modest number of sites in 1986.  After that, the network has
  210. experienced literally exponential growth.  Internet growth between
  211. 1981 and 1991 is documented in RFC 1296 [12].  A quarterly update
  212. with specific information about the size of the Internet is
  213. published by the University of Southern California (USC)
  214. Information Sciences Institute (ISI).  For more information, see
  215. RFC 1296 and/or the "pub/zone" directory on "ftp.nisc.sri.com".  An Overview of TCP/IP and the Internet                                  Page 5
  216.  
  217.  
  218. Internet maps can be downloaded from the "maps" directory at host
  219. "ftp.merit.edu".
  220.  
  221. It is important to again note that the NSFNET/Internet is a
  222. backbone, interconnecting other networks.  CSNET, for example, was
  223. an NSF-funded network linking Computer Science departments at major
  224. colleges and universities in North America that were not connected
  225. via the ARPANET.  Chartered in 1981, a gateway with the ARPANET was
  226. put in place in 1983, and CSNET was shut down in 1991 in favor of
  227. more general Internet access.  BITNET (Because It's Time Network),
  228. formed in 1981 at the City University of New York, was originally
  229. funded by IBM, used IBM communications protocols, and was intended
  230. for electronic mail and information exchange; the European Academic
  231. Research Network (EARN), chartered in 1983, is similar to BITNET. 
  232. Both BITNET and EARN have grown over time and continue to thrive
  233. today.  The European backbone network (EBONE) interconnects the
  234. networks of individual nations in western Europe; it is sometimes
  235. referred to as the "European Internet".  All of these networks, and
  236. more, are today interconnected via the Internet.
  237.  
  238. As of January 1994, the Internet had 2,217,000 hosts attached to
  239. it, representing a 69% increase since January 1993.  The Internet
  240. is growing today at a rate of about 1,000 hosts per week attached
  241. to more than 16,500 networks; it is estimated that the Internet is
  242. now doubling in size every six to eight months.
  243.  
  244. And what of the original ARPANET?  It grew smaller and smaller
  245. during the late 1980s as sites and traffic moved to the Internet,
  246. and was decommissioned in July 1990.  Cerf & Kahn [34] contains a
  247. number of network maps documenting the growth (and demise) of the
  248. ARPANET.
  249.  
  250.  
  251.              ----------------------------------------------------
  252. Application  : Telnet : FTP : SMTP : Finger : DNS : SNMP : Ping :
  253. -----------  -------------------------------+------------+-------
  254.   Transport  :             TCP              :    UDP     :      :
  255. -----------  --------------------------------------------- ICMP :
  256.              :                                           :      :
  257.    Internet  --------------------      IP                --------
  258.              : ARP : OSPF : RIP :                               :
  259. -----------  ----------------------------------------------------
  260.     Network  :Ethernet:Token:FDDI:X.25:Frame:SMDS: ATM :SLIP:PPP:
  261.   Interface  :        :Ring :    :    :Relay:    :     :    :   :
  262.              ----------------------------------------------------
  263.  
  264.                FIGURE 1.  Simplified TCP/IP protocol stack.
  265.  
  266.  
  267.  
  268. Overview of TCP/IP and the Internet                                  Page 6
  269.  
  270.  
  271. 3. The TCP/IP Protocol Architecture
  272.  
  273. Figure 1 shows the TCP/IP protocol architecture.  This diagram is
  274. not exhaustive, but shows the major protocol and application
  275. components common to most commercial TCP/IP software packages.
  276.  
  277. 3.1. The Network Interface Layer
  278.  
  279. The TCP/IP protocols have been designed to operate over nearly any
  280. underlying local or wide area network technology.  Although certain
  281. accommodations may need to be made, IP messages can be transported
  282. over all of the technologies shown in the figure, as well as
  283. numerous others.
  284.  
  285. Two of the underlying interface protocols are particularly relevant
  286. to TCP/IP.  The Serial Line Internet Protocol (SLIP) and Point-to-
  287. Point Protocol (PPP), described in RFC 1055 [30] and STD 51/RFC
  288. 1661 [32], respectively, may be used to provide data link layer
  289. protocol services where no other underlying data link protocol may
  290. be in use, such as in leased line or dial-up environments.  Most
  291. commercial TCP/IP software packages for PC-class systems include
  292. these two protocols.  With SLIP or PPP, a remote computer can
  293. attach directly to a host server and, therefore, connect to the
  294. Internet using IP rather than being limited to an asynchronous
  295. connection.
  296.  
  297. 3.2. The Internet Layer
  298.  
  299. The Internet Protocol, described in STD 5/RFC 791 [23], provides
  300. services that are roughly equivalent to the OSI Network Layer.  IP
  301. provides a datagram (connectionless) transport service across the
  302. network.  This service is sometimes referred to as "unreliable"
  303. because the network does not guarantee delivery nor notify the end
  304. host system about packets lost due to errors or network congestion. 
  305. IP datagrams contain a message, or one fragment of a message, that
  306. may be up to 65,535 bytes (octets) in length.  IP does not provide
  307. a mechanism for flow control.
  308.  
  309.  
  310.                                     1       2     3
  311.                 0           8       6       4     1
  312.                -------------------------------------
  313.      Class A   :0: NET_ID  :         HOST_ID       :
  314.                --+----------------------------------
  315.      Class B   :1:0:    NET_ID     :    HOST_ID    :
  316.                --+-+--------------------------------
  317.      Class C   :1:1:0:         NET_ID      :HOST_ID:
  318.                --+-+-+------------------------------
  319.      Class D   :1:1:1:0:      MULTICAST_ID         :
  320.                --+-+-+-+----------------------------
  321.      Class E   :1:1:1:1:     EXPERIMENTAL_ID       :
  322.                -------------------------------------
  323.  
  324.                     FIGURE 2.  IP Address Format.
  325.  
  326.  
  327.  
  328.  
  329. Overview of TCP/IP and the Internet                                  Page 7
  330.  
  331.  
  332. 3.2.1. IP Addresses
  333.  
  334. One important aspect of IP, even to a typical end-user, is the
  335. format and notation used for addressing.  IP addresses are always
  336. 32 bits in length, as shown in Figure 2.  They are typically
  337. written as a sequence of four numbers, representing the decimal
  338. value of each of the address bytes.  Since the values are separated
  339. by periods, the notation is referred to as "dotted decimal".  A
  340. sample IP address is 199.182.20.17, the author's machine at Hill
  341. Associates in Colchester, VT.
  342.  
  343. IP addresses are hierarchical and are subdivided into two
  344. subfields.  The Network Identifier (NET_ID) subfield identifies the
  345. TCP/IP subnetwork connected to the Internet.  The NET_ID is used
  346. for high-level routing between networks, much the same way as the
  347. country code, city code, or area code is used in the telephone
  348. network.  The Host Identifier (HOST_ID) subfield indicates the
  349. specific host within a subnetwork.
  350.  
  351. To accommodate different size networks, IP defines several address
  352. classes, as shown in the figure.  A Class A address has a 7-bit
  353. NET_ID and 24-bit HOST_ID.  Class A addresses are intended for very
  354. large networks and can address up to 16,777,216 hosts per network. 
  355. The first digit of a Class A addresses will be a number between 0
  356. and 126.  Relatively few Class A addresses have been assigned;
  357. examples include 9.0.0.0 (IBM) and 35.0.0.0 (Merit).
  358.  
  359. A Class B address has a 14-bit NET_ID and 16-bit HOST_ID.  Class B
  360. addresses are intended for moderate sized networks and can address
  361. up to 65,536 hosts per network.  The first digit of a Class B
  362. address will be a number between 128 and 191.  The Class B address
  363. space is in danger of being exhausted and it is very difficult to
  364. get a Class B address assigned at this time; examples include
  365. 128.138.0.0 (Colorado SuperNet) and 147.225.0.0 (ANSNET).
  366.  
  367. A Class C address has a 21-bit NET_ID and 8-bit HOST_ID.  These
  368. addresses are intended for very small networks and can address only
  369. up to 256 hosts per network.  The first digit of a Class C address
  370. will be a number between 192 and 223.  Most addresses assigned to
  371. networks today are Class C; examples include 192.100.81.0 (Netcom)
  372. and 192.80.64.0 (St. Michael's College, Colchester, VT).
  373.  
  374. The remaining two address classes are used for special functions
  375. only and are not commonly assigned to individual hosts.  Class D
  376. addresses may begin with a value between 224 and 239, and are used
  377. for IP multicasting (i.e., sending a single datagram to multiple
  378. hosts).  Class E addresses begin with a value between 240 and 255
  379. and are reserved for experimental use.
  380.  
  381. Several address values are reserved and/or have special meaning. 
  382. A HOST_ID of 0 (as used above) is a dummy value reserved as a place Overview of TCP/IP and the Internet                                  Page 8
  383.  
  384.  
  385. holder when referring to an entire subnetwork; the address
  386. 10.0.0.0, then, refers to the Class A address with a NET_ID of 10
  387. (this was the old ARPANET address).  A HOST_ID of all ones (usually
  388. written "255" when referring to an all-ones byte, but also denoted
  389. as "-1") is a broadcast address and refers to all hosts on a
  390. network.  A NET_ID value of 127 is used for loopback testing.
  391.  
  392. A special case of addressing is that of "subnet masks".  A network
  393. may subdivide their address space to define multiple logical
  394. networks by segmenting the HOST_ID subfield into a Subnetwork
  395. Identifier (SUBNET_ID) and (smaller) HOST_ID.  Most end-users
  396. cannot determine whether subnet masks are being employed merely by
  397. examining the IP address.
  398.  
  399. As of January 1994, 20,539 NET_IDs have been assigned, a 149%
  400. increase since the previous January.  At that time, there were 75
  401. Class A addresses (a 37% increase), 4,043 Class B addresses (a 26%
  402. increases), and 16,422 Class C addresses (a 228% increase).
  403.  
  404. Because of the tremendous growth in Internet users and the rigid
  405. format of IP addresses, the format and assignment of IP addresses
  406. will undoubtedly change in the next several years; some within the
  407. IETF estimate that the current address space will be exhausted
  408. within the next 8 years or so.  While the address format described
  409. here will remain in effect for some time, address longevity is an
  410. area of intense study.
  411.  
  412. 3.2.2. IP Domains and Host Names
  413.  
  414. While IP addresses are all 32 bits in length, most users do not
  415. memorize the numeric addresses of the hosts to which they attach. 
  416. Instead, people are more comfortable with host names.  Most numeric
  417. IP addresses are associated with a host name.  While users would
  418. prefer to use names, however, the name must be translated back to
  419. a numeric address for routing purposes.
  420.  
  421. Internet host names use a hierarchical address structure comprising
  422. a top-level domain, subdomain (optional), host name, and user name
  423. (optional).  Host names and IP addresses are assigned and
  424. maintained by the Internet Assigned Numbers Authority (IANA), which
  425. is responsible for the overall coordination and management of the
  426. Domain Name System (DNS).  The concepts, structure, and delegation
  427. of the DNS is described in STD 13/RFC 1034 [16] and RFC 1591 [20].
  428.  
  429. The IP address name hierarchy is best understood if the address is
  430. read from right-to-left.  IP address names end with a top-level
  431. domain name.  World-wide generic top-level domains (although
  432. generally limited to the U.S.) include:
  433.  
  434.     -     COM: Commercial entities
  435.     -     EDU: Educational institutions Overview of TCP/IP and the Internet                                  Page 9
  436.  
  437.  
  438.     -     NET: Network providers
  439.     -     ORG: Miscellaneous organizations
  440.     -     INT: Organizations established by international treaty
  441.     -     GOV: U.S. Federal government agencies
  442.     -     MIL: U.S. military
  443.  
  444. The host name "smcvax.smcvt.edu", for example, is assigned to a VAX
  445. computer (smcvax) at the St. Michael's College subdomain (smcvt),
  446. which is within the educational top-level domain (edu).  The name
  447. "golem.hill.com" refers to a host (golem) at the Hill Associates
  448. subdomain (hill) within the commercial top-level domain (com). 
  449. Guidelines for selecting host names is the subject of FYI 5/RFC
  450. 1178 [11].
  451.  
  452. Other top-level domain names use the two-letter country codes
  453. defined in ISO standard 3166; "munnari.oz.au", for example, is the
  454. address of the Internet gateway to Australia and
  455. "myo.inst.keio.ac.jp" is a host at the Science and Technology
  456. Department of Keio University in Yokohama, Japan.  Other ISO 3166-
  457. based domain country codes are CA (Canada), DE (Germany), ES
  458. (Spain), FR (France), GB (Great Britain) [NOTE: For some historical
  459. reasons, the top-level domain GB is rarely used; most United
  460. Kingdom sites use the top-level domain UK instead, which is not an
  461. official ISO 3166 country code.], IL (Israel), IE (Ireland), MX
  462. (Mexico), and US (United States).  A list of all ISO 3166 country
  463. codes may be found in the file "pub/zone/iso-country-codes" on
  464. "ftp.nisc.sri.com".  Alternatively, send e-mail to "mail-
  465. server@nisc.sri.com", leave the "Subject:" field blank; place the
  466. command "send COUNTRY_CODES.TXT" in the main body of the message to
  467. get a list of country codes or use the command "send DOMAINS-LIST"
  468. to get a list of domain names.
  469.  
  470. Different countries may organize the country-based subdomains in
  471. any way that they want.  The US domain is organized on the basis of
  472. geography, using an address of the form
  473. <entity-name>.<city/town>.<state-code>.US.  The address
  474. "cnri.reston.va.us", for example, refers to the Corporation for
  475. National Research Initiatives located in Reston, Virginia.  More
  476. information on the US domain may be found in RFC 1480 [5].
  477.  
  478. 3.2.3. ARP and Address Resolution
  479.  
  480. Early IP implementations ran on hosts commonly interconnected by
  481. Ethernet local area networks (LAN).  Every transmission on the LAN
  482. contains the local network, or medium access control (MAC), address
  483. of the source and destination nodes.  The MAC address is 48-bits in
  484. length and is non-hierarchical; MAC addresses are never the same as
  485. IP addresses.
  486.  
  487. When a host needs to send a datagram to another host, the sending
  488. application must know both the IP and MAC addresses of the intended Overview of TCP/IP and the Internet                                 Page 10
  489.  
  490.  
  491. receiver.  Unfortunately, the IP process may not know the MAC
  492. address of the receiver.  The Address Resolution Protocol (ARP),
  493. described in STD 37/RFC 826 [19], provides a mechanism so that a
  494. host can determine a receiver's MAC address from the IP address. 
  495. The process is actually quite simple: the host sends an ARP packet
  496. in a frame containing the MAC broadcast address; the ARP request
  497. advertises the destination IP address and asks for the associated
  498. MAC address.  The station on the LAN that recognizes its own IP
  499. address will send an ARP response with its own MAC address.
  500.  
  501. Other address resolution procedures have also been defined,
  502. including those which allow a disk-less processor to determine its
  503. IP address from its MAC address (Reverse ARP, or RARP), a mechanism
  504. which provides a mapping between an IP address and a frame relay
  505. virtual circuit identifier (Inverse ARP, or InARP), a mechanism
  506. which provides a mapping between an IP address and ATM virtual
  507. path/channel identifiers (ATMARP), and variations on ARP to
  508. accommodate the needs of large public data networks and non-
  509. broadcast data networks (Directed ARP, or DARP).
  510.  
  511. 3.2.4. OSPF and RIP
  512.  
  513. OSPF and RIP are two of the main routing protocols associated with
  514. the Internet.  It is important to note the function of the routing
  515. protocol.  IP, as the Network Layer protocol, is responsible for
  516. routing datagrams.  It performs this task by examining a routing
  517. table.  The routing protocol's job is to populate the routing table
  518. with information that can be used by the Network Layer protocol.
  519.  
  520. The Routing Information Protocol, described in STD 34/RFC 1058 [8],
  521. describes how routers will exchange routing table information using
  522. a distance-vector algorithm.  With RIP, neighboring routers
  523. periodically exchange their entire routing tables.  RIP uses hop
  524. count as the only measure of a path's goodness and a path is
  525. limited to 16 hops.  Unfortunately, RIP has become increasingly
  526. inefficient on the Internet as the network continues its fast rate
  527. of growth.  Current routing protocols for most of today's LANs are
  528. based upon RIP, including those associated with NetWare, AppleTalk,
  529. VINES, and DECnet.
  530.  
  531. The Open Shortest Path First protocol is a link state algorithm
  532. that is more robust than RIP, converges faster, requires less
  533. network bandwidth, and is better able to handle larger networks. 
  534. With OSPF, a router broadcasts only changes in its links' status
  535. rather than entire routing tables.  OSPF Version 2, described in
  536. RFC 1583 [18], is rapidly replacing RIP in the Internet and is also
  537. beginning to be deployed in some LANs.
  538.  
  539. 3.2.5. ICMP
  540.  
  541. The Internet Control Message Protocol, described in STD 5/RFC 792 Overview of TCP/IP and the Internet                                 Page 11
  542.  
  543.  
  544. [21], is an adjunct to IP that returns to the transmitter messages
  545. about abnormal events.  ICMP might indicate, for example, that an
  546. IP datagram cannot reach an intended destination, cannot connect to
  547. the requested service, or that the network has dropped a datagram
  548. due to old age.
  549.  
  550. 3.3. The Transport Layer
  551.  
  552. The TCP/IP protocol suite comprises two protocols that correspond
  553. roughly to the OSI Transport and Session Layers; these protocols
  554. are called the Transmission Control Protocol and the User Datagram
  555. Protocol (UDP).  Individual applications are referred to by a port
  556. identifier in TCP/UDP messages.  The port identifier and IP
  557. address, together, form a "socket".  Well-known port numbers on the
  558. server side of a connection include 20 (FTP data transfer), 21 (FTP
  559. control), 25 (SMTP), 43 (whois), 70 (Gopher), 79 (finger), and 185
  560. (KNOWBOT).
  561.  
  562. TCP, described in STD 7/RFC 793 [26], provides a virtual circuit
  563. (connection-oriented) service across the network.  TCP includes
  564. rules for formatting messages, establishing and terminating virtual
  565. circuits, sequencing, flow control, and error correction.  Most of
  566. the TCP/IP applications operate over the reliable transport service
  567. provided by TCP.
  568.  
  569. UDP, described in STD 6/RFC 768 [27], provides an end-to-end
  570. datagram (connectionless) service.  Some applications, such as
  571. those that involve a simple query and response, are better suited
  572. to the datagram service of UDP because there is no time lost to
  573. virtual circuit establishment and termination.  UDP's primary
  574. function is to add a port number to the IP address to provide a
  575. socket for the application.
  576.  
  577. 3.4. Applications
  578.  
  579. The Application Layer protocols shown in Figure 2 are not a
  580. complete list of TCP/IP applications and utilities.  However, the
  581. list does show many of the commonly available tools and provides a
  582. glimpse into the variety of utilities that are defined by TCP/IP. 
  583. These applications include:
  584.  
  585. Telnet: A virtual terminal protocol allowing a user logged on to
  586.      one system to access other hosts on the network.  Described in
  587.      STD 8/RFC 854 [29].
  588.  
  589. FTP: The File Transfer Protocol, allowing a user to transfer files
  590.      between a local and remote host computer.  Described in STD
  591.      9/RFC 959 [28].
  592.  
  593. SMTP: The Simple Mail Transfer Protocol, the standard for Internet
  594.      electronic mail.  Described in STD 10/RFC 821 [25].  A related Overview of TCP/IP and the Internet                                 Page 12
  595.  
  596.  
  597. document, STD 11/RFC 822 [6], describes the mail message body
  598. format and RFCs 1521 [2] and 1522 [17] describe MIME (Multipurpose
  599. Internet Mail Extensions).  Frey & Adams [38] and Rose [39] provide
  600. a wealth of information on electronic mail systems.
  601.  
  602. Finger: Used to determine the status of other hosts and/or users. 
  603.      Described in RFC 1288 [33].
  604.  
  605. DNS: The Domain Name System, defining the structure of Internet
  606.      names and their association with IP addresses.  See also Frey
  607.      & Adams [38] and Rose [39].
  608.  
  609. SNMP: The Simple Network Management Protocol, defining the
  610.      procedures and management information databases for managing
  611.      network devices.  SNMP, described in STD 15/RFC 1157 [3], is
  612.      widely deployed in local and wide area network.  SNMP Version
  613.      2 (SNMPv2), described in RFC 1441 [4], is slowly growing in
  614.      popularity; while it adds security mechanisms that are missing
  615.      in SNMP, it is also very complex.  Additional general
  616.      information on SNMP and TCP/IP-based network management can be
  617.      found in Feit [36] and Rose [40].
  618.  
  619. Ping: A utility that allows a user at one system to determine the
  620.      status of other hosts and the latency in getting a message to
  621.      that host.  Uses ICMP messages.
  622.  
  623. Other utilities that are commonly employed (but not shown in the
  624. figure) include:
  625.  
  626. Whois/NICNAME: These utilities search databases for information
  627.      about Internet users.  Described in RFC 954 [7].  KNOWBOT is
  628.      a related utility that can search multiple user data bases
  629.      simultaneously.
  630.  
  631. NSLOOKUP: A utility to match IP addresses with host names, as well
  632.      as other DNS lookup functions.
  633.  
  634. Traceroute: A tool to determine the route that packets will take
  635.      when traveling to a remote host.
  636.  
  637. Archie: A utility that allows a user to search anonymous FTP sites
  638.      for files on a specified topic.
  639.  
  640. Gopher: A tool that allows users to search through data
  641.      repositories at a number of sites.  Described in RFC 1436 [1].
  642.  
  643. 3.5. Summary
  644.  
  645. As this discussion has shown, "TCP/IP" is not merely a pair of
  646. communication protocols but denotes a suite of protocols,
  647. applications, and utilities.  Increasingly, these protocols are Overview of TCP/IP and the Internet                                 Page 13
  648.  
  649.  
  650. referred to as the "Internet Protocol Suite".
  651.  
  652. Figure 3 shows the relationship between the various protocol layers
  653. of TCP/IP.  Applications and utilities reside in host, or end-
  654. communicating, systems.  TCP provides a reliable, virtual circuit
  655. connection between the two hosts.  (UDP, not shown, provides an
  656. end-to-end datagram connection at this layer.)  IP provides a
  657. datagram (DG) transport service over any intervening subnetworks,
  658. including local and wide area networks.  The underlying subnetwork
  659. may employ nearly any common local or wide area network technology.
  660.  
  661.  
  662. ----------------                                 ----------------
  663. : Application  :<---- end-to-end connection ---->: Application  :
  664. :--------------:                                 :--------------:
  665. :    TCP       :<------- virtual circuit ------->:    TCP       :
  666. :--------------:        -----------------        :--------------:
  667. :     IP       :<- DG ->:       IP      :<- DG ->:     IP       :
  668. :--------------:        :---------------:        :--------------:
  669. : Subnetwork 1 :<------>:Subnet1:Subnet2:<------>: Subnetwork 2 :
  670. ----------------        -----------------        ----------------
  671.      HOST                     GATEWAY                    HOST
  672.  
  673.  
  674.                FIGURE 3.  TCP/IP protocol suite architecture.
  675.  
  676.  
  677. Note that the term "gateway" is used for the device interconnecting
  678. the two subnets, a device usually called a "router" in LAN
  679. environments or "intermediate system" in OSI environments.  In OSI
  680. terminology, a "gateway" is used to provide protocol conversion
  681. between two networks and/or applications.
  682.        
  683. A large number of books have been written that describe all aspects
  684. of TCP/IP as a protocol suite, including detailed information about
  685. use and implementation of the protocols.  Readers are referred to
  686. RFC 1180 [31], Comer [35], and Feit [37].
  687.  
  688. 3.6. The Internet and TCP/IP
  689.  
  690. Why all of this explanation about TCP/IP?  Because regardless of
  691. what definition of the "Internet" that you subscribe to, the one
  692. consistent thing is that all hosts directly attached to the
  693. Internet use TCP/IP.  At one time, this also implied that the UNIX
  694. operating system was employed, but TCP/IP software is increasingly
  695. being made available for non-UNIX hosts including Digital and IBM
  696. mainframes, as well as Mac, DOS, OS/2, and Windows PC platforms.
  697.  
  698.  
  699. Overview of TCP/IP and the Internet                                 Page 14
  700.  
  701.  
  702. 4.  Other Information Sources
  703.  
  704. This memo has only provided background information about the TCP/IP
  705. protocols and the Internet.  There is a wide range of additional
  706. information that the reader can access to further use and
  707. understand the tools and scope of the Internet.  The real fun
  708. begins now!
  709.  
  710. Frequently Asked Question (FAQ) lists may be found for a number of
  711. topics, ranging from ISDN and cell relay to the Internet and
  712. Gopher.  Two are of particular interest to Internet users: FYI
  713. 4/RFC 1594 [15] is an FAQ for new Internet users and FYI 7/RFC 1207
  714. [13] is an FAQ for experienced Internet users.  Kessler & Shepard
  715. [10] provides detailed examples of the various utilities and
  716. applications not described in this document.  All three of these
  717. documents point to even more information sources.
  718.  
  719. Internet specifications, standards, reports, humor, and tutorials
  720. are distributed as Request for Comments (RFC) documents.  RFCs are
  721. all freely available on-line, usually in ASCII text format.
  722.  
  723. Internet standards are documented in a subset of the RFCs,
  724. identified with an "STD" designation.  RFC 1602 [9] describes the
  725. Internet standards process and RFC 1311 [24] describes the concepts
  726. behind the STD series of RFCs.  The official list of Internet
  727. standards is contained in STD 1/RFC 1610 [22].
  728.  
  729. For Your Information (FYI) documents are another RFC subset,
  730. specifically providing background information for the Internet
  731. community.  The FYI notes are described in FYI 1/RFC 1150 [14].
  732.  
  733.  
  734. 5. Acronyms and Abbreviations
  735.  
  736. ARP       Address Resolution Protocol
  737. ARPANET   Advanced Research Projects Agency Network
  738. ASCII     American Standard Code for Information Interchange
  739. ATM       Asynchronous Transfer Mode
  740. BSD       Berkeley Software Development
  741. CCITT     International Telegraph and Telephone Consultative
  742.           Committee
  743. CIX       Commercial Internet Exchange
  744. DARPA     Defense Advanced Research Projects Agency
  745. DNS       Domain Name System
  746. DoD       U.S. Department of Defense
  747. FAQ       Frequently Asked Questions lists
  748. FDDI      Fiber Distributed Data Interface
  749. FTP       File Transfer Protocol
  750. FYI       For Your Information series of RFCs
  751. GOSIP     U.S. Government Open Systems Interconnection Profile
  752. IAB       Internet Activities Board Overview of TCP/IP and the Internet                                 Page 15
  753.  
  754.  
  755. IANA      Internet Assigned Numbers Authority
  756. ICMP      Internet Control Message Protocol
  757. IESG      Internet Engineering Steering Group
  758. IETF      Internet Engineering Task Force
  759. IP        Internet Protocol
  760. ISO       International Organization for Standardization
  761. ISOC      Internet Society
  762. ITU-T     International Telecommunication Union Telecommunication
  763.           Standardization Sector
  764. MAC       Medium (or Media) Access Control
  765. Mbps      Megabits (millions of bits) per second
  766. NICNAME   Network Information Center name service
  767. NSF       National Science Foundation
  768. NSFNET    National Science Foundation Network
  769. OSI       Open Systems Interconnection
  770. OSPF      Open Shortest Path First
  771. PPP       Point-to-Point Protocol
  772. RARP      Reverse Address Resolution Protocol
  773. RIP       Routing Information Protocol
  774. RFC       Request For Comments
  775. SLIP      Serial Line IP
  776. SMDS      Switched Multimegabit Data Service
  777. SMTP      Simple Mail Transfer Protocol
  778. SNMP      Simple Network Management Protocol
  779. STD       Internet Standards series of RFCs
  780. TCP       Transmission Control Protocol
  781. UDP       User Datagram Protocol
  782.  
  783.  
  784. 6. References
  785.  
  786. [1]  Anklesaria, F., M. McCahill, P. Lindner, D. Johnson, D.
  787.      Torrey, and B. Alberti, "The Internet Gopher Protocol", RFC
  788.      1436, University of Minnesota, March 1993.
  789.  
  790. [2]  Borenstein, N., N. Freed, "MIME (Multipurpose Internet Mail
  791.      Extensions) Part One: Mechanisms for Specifying and Describing
  792.      the Format of Internet Message Bodies", RFC 1521, Bellcore,
  793.      Innosoft, September 1993.
  794.  
  795. [3]  Case, J., M. Fedor, M. Schoffstall, and J. Davin, "A Simple
  796.      Network Management Protocol (SNMP)", STD 15, RFC 1157, SNMP
  797.      Research, Performance Systems International, Performance
  798.      Systems International, MIT Laboratory for Computer Science,
  799.      May 1990.
  800.  
  801. [4]  Case, J., K. McCloghrie, M. Rose, and S. Waldbusser,
  802.      "Introduction to version 2 of the Internet-standard Network
  803.      Management Framework", RFC 1441, SNMP Research, Hughes LAN
  804.      Systems, Dover Beach Consulting, Carnegie Mellon University,
  805.      May 1993. Overview of TCP/IP and the Internet                                 Page 16
  806.  
  807.  
  808. [5]  Cooper, A. and J. Postel, "The US Domain", RFC 1480,
  809.      USC/Information Sciences Institute, June 1993.
  810.  
  811. [6]  Crocker, D., "Standard for the Format of ARPA Internet Text
  812.      Messages", STD 11, RFC 822, University of Delaware, August
  813.      1982.
  814.  
  815. [7]  Harrenstien, K., M. Stahl, and E. Feinler, "NICNAME/WHOIS",
  816.      RFC 954, SRI, October 1985.
  817.  
  818. [8]  Hedrick, C., "Routing Information Protocol", STD 34, RFC 1058,
  819.      Rutgers University, June 1988.
  820.  
  821. [9]  Internet Architecture Board, Internet Engineering Steering
  822.      Group, "The Internet Standards Process -- Revision 2", RFC
  823.      1602, March 1994.
  824.  
  825. [10] Kessler, G. and S. Shepard, "A Primer on Internet and TCP/IP
  826.      Tools", IETF work-in-progress, Hill Associates, April 1994.
  827.  
  828. [11] Libes, D., "Choosing a Name for Your Computer", FYI 5, RFC
  829.      1178, Integrated Systems Group/NIST, August 1990.
  830.  
  831. [12] Lotter, M., "Internet Growth (1981-1991)", RFC 1296, SRI
  832.      International, January 1992.
  833.  
  834. [13] Malkin, G., A. Marine, and J. Reynolds, "FYI on Questions and
  835.      Answers: Answers to Commonly Asked 'Experienced Internet User'
  836.      Questions", FYI 7, RFC 1207, FTP Software, SRI,
  837.      USC/Information Sciences Institute, February 1991.
  838.  
  839. [14] Malkin, G.S. and J.K. Reynolds, "F.Y.I. on F.Y.I.:
  840.      Introduction to the F.Y.I. notes", FYI 1, RFC 1150, Proteon,
  841.      USC/Information Sciences Institute, March 1990.
  842.  
  843. [15] Marine, A., J. Reynolds, and G. Malkin, "FYI on Questions and
  844.      Answers - Answers to Commonly asked 'New Internet User'
  845.      Questions", FYI 4, RFC 1594, NASA Ames Research Center,
  846.      USC/Information Sciences Institute, Xylogics, March, 1994.
  847.  
  848. [16] Mockapetris, P., "Domain Names - Concepts and Facilities", STD
  849.      13, RFC 1034, USC/Information Sciences Institute, November
  850.      1987.
  851.  
  852. [17] Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part
  853.      Two: Message Header Extensions for Non-ASCII Text", RFC 1522,
  854.      University of Tennessee, September 1993.
  855.  
  856. [18] Moy, J., "OSPF Version 2", RFC 1583, Proteon, March 1994.
  857.  
  858. Overview of TCP/IP and the Internet                                 Page 17
  859.  
  860.  
  861. [19] Plummer, D., "An Ethernet Address Resolution Protocol - or -
  862.      Converting Network Addresses to 48.bit Ethernet Address for
  863.      Transmission on Ethernet Hardware", STD 37, RFC 826, MIT,
  864.      November 1982.
  865.  
  866. [20] Postel, J., "Domain Name System Structure and Delegation",
  867.      USC/Information Sciences Institute, RFC 1591, March 1994.
  868.  
  869. [21] Postel, J., "Internet Control Message Protocol", STD 5, RFC
  870.      792, USC/Information Sciences Institute, September 1981.
  871.  
  872. [22] Postel, J., Editor, "Internet Official Protocol Standards",
  873.      STD 1, RFC 1610, Internet Architecture Board, July 1994.
  874.  
  875. [23] Postel, J., "Internet Protocol - DARPA Internet Program
  876.      Protocol Specification", STD 5, RFC 791, DARPA, September
  877.      1981.
  878.  
  879. [24] Postel, J., "Introduction to the STD Notes", RFC 1311,
  880.      USC/Information Sciences Institute, March 1992.
  881.  
  882. [25] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
  883.      USC/Information Sciences Institute, August 1982.
  884.  
  885. [26] Postel, J., "Transmission Control Protocol - DARPA Internet
  886.      Program Protocol Specification", STD 7, RFC 793, DARPA,
  887.      September 1981.
  888.  
  889. [27] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
  890.      USC/Information Sciences Institute, August 1980.
  891.  
  892. [28] Postel, J. and J. Reynolds, "File Transfer Protocol (FTP), STD
  893.      9, RFC 959, USC/Information Sciences Institute, October 1985.
  894.  
  895. [29] Postel, J. and J. Reynolds, "TELNET Protocol Specification",
  896.      STD 8, RFC 854, USC/Information Sciences Institute, May 1983.
  897.  
  898. [30] Romkey, J., "A Nonstandard for Transmission of IP Datagrams
  899.      over Serial Lines: SLIP", RFC 1055, June 1988.
  900.  
  901. [31] Socolofsky, T.J. and C.J. Kale, "TCP/IP Tutorial", RFC 1180,
  902.      Spider Systems Ltd., January 1991.
  903.  
  904. [32] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD
  905.      51, RFC 1661, Daydreamer, July 1994.
  906.  
  907. [33] Zimmerman, D., "The Finger User Information Protocol", RFC
  908.      1288, Rutgers University, December 1991.
  909.  
  910. [34] Cerf, V. and B. Kahn.  "Selected ARPANET Maps."  Computer
  911.      Communications Review", October 1990. Overview of TCP/IP and the Internet                                 Page 18
  912.  
  913.  
  914. [35] Comer, D.  "Internetworking with TCP/IP, Vol. I: Principles,
  915.      Protocols, and Architecture", 2/e.  Englewood Cliffs (NJ):
  916.      Prentice-Hall, 1991.
  917.  
  918. [36] Feit, S.  "SNMP".  New York: McGraw-Hill, 1994.
  919.  
  920. [37] Feit, S.  "TCP/IP".  New York: McGraw-Hill, 1993.
  921.  
  922. [38] Frey D. and R. Adams.  "!%@:: Addressing and Networks". 
  923.      Sebastopol (CA): O'Reilly & Associates, 1993.
  924.  
  925. [39] Rose, M.  "THE INTERNET MESSAGE: Closing the Book With
  926.      Electronic Mail".  Englewood Cliffs (NJ): PTR Prentice Hall,
  927.      1993.
  928.  
  929. [40] Rose, M.  "THE SIMPLE BOOK: An Introduction to Internet
  930.      Management", 2/e.  Englewood Cliffs (NJ): PTR Prentice Hall,
  931.      1994.
  932.  
  933.  
  934.  
  935. Gary C. Kessler          +1 802-655-8633 (DDI)
  936. Hill Associates, Inc.    +1 802-655-0940 (main number)
  937. 17 Roosevelt Highway     +1 802-655-7974 (fax)
  938. Colchester, VT  05446    kumquat@hill.com
  939.  
  940.  
  941.  
  942.