RFC 2151

A Primer On Internet and TCP/IP Tools and Utilities

πŸ“… published June 1997, from ietf

RFC 2151: A Primer On Internet and TCP/IP Tools and Utilities πŸŽ€

Okay bestie, this one is RFC 2151, written by G. Kessler and S. Shepard from Hill Associates, Inc. ✨ It's dated June 1997, it's filed as FYI 30 in the Network Working Group series, and it's Informational. It obsoletes RFC 1739. πŸ’…

Status of This Memo πŸ“

This memo gives information to the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. πŸ¦‹

Abstract 🌸

This memo is an intro guide to a bunch of the most commonly-available TCP/IP and Internet tools and utilities. It also covers discussion lists you can reach from the Internet, ways to get Internet and TCP/IP documents, and some resources that help you weave your way through the Internet. 🧚

Table of Contents πŸ“

   1. Introduction...................................................  2
   2. Nomenclature...................................................  2
   3. Finding Information About Internet Hosts and Domains...........  3
      3.1. NSLOOKUP..................................................  3
      3.2. Ping......................................................  6
      3.3. Finger....................................................  8
      3.4. Traceroute................................................  9
   4. The Two Fundamental Tools...................................... 12
      4.1. TELNET.................................................... 12
      4.2. FTP....................................................... 15
   5. User Database Lookup Tools..................................... 19
      5.1. WHOIS/NICNAME............................................. 19
      5.2. KNOWBOT................................................... 23
   6. Information Servers............................................ 24
      6.1. Archie.................................................... 24
      6.2. Gopher.................................................... 28
      6.3. VERONICA, JUGHEAD, and WAIS............................... 30
   7. The World Wide Web............................................. 31
      7.1. Uniform Resource Locators................................. 34
      7.2. User Directories on the Web............................... 35
      7.3. Other Service Accessible Via the Web...................... 36
   8. Discussion Lists and Newsgroups................................ 37
      8.1. Internet Discussion Lists................................. 37
      8.2. LISTSERV.................................................. 38
      8.3. Majordomo................................................. 38
      8.4. Usenet.................................................... 39
      8.5 Finding Discussion Lists and Newsgroups.................... 40
   9. Internet Documentation......................................... 41
      9.1. Request for Comments (RFCs)............................... 41
      9.2. Internet Standards........................................ 44
      9.3. For Your Information Documents............................ 45
      9.4. Best Current Practices.................................... 45
      9.5. RARE Technical Reports.................................... 46
   10. Perusing the Internet......................................... 46
   11. Acronyms and Abbreviations.................................... 48
   12. Security Considerations....................................... 49
   13. Acknowledgments............................................... 49
   14. References.................................................... 49
   15. Authors' Address.............................................. 51

1. Introduction ✨

This memo is an intro guide to some of the most commonly-available TCP/IP and Internet tools and utilities that let you get at the huge variety of information on the network, from checking whether a particular host is up to reading a multimedia thesis on foreign policy. 🌈 It also covers discussion lists you can reach from the Internet, ways to get Internet and TCP/IP documents, and some resources that help you weave your way through the Internet. This memo can be used as a tutorial for self-study, a step-by-step lab manual for a course, or as the basis for a site's users manual. πŸ“š It's meant to be a basic guide only, and it will point you to other sources for the deep dives. πŸ’œ

2. Nomenclature πŸŽ€

The next sections give descriptions and detailed examples of several TCP/IP utilities and applications, including reproductions of real sessions using these tools (with some extra stuff removed). Each section covers a single TCP/IP-based tool, its application, and, in some cases, how it works. The text description is usually followed by an actual sample session. πŸ’…

The sample dialogues were captured from a bunch of different software and hardware systems, including AIX running on an IBM RS/6000, Linux on an Intel 486, Multinet TCP/IP over VMS on a VAX, and FTP Software's OnNet (formerly PC/TCP) running on a DOS/Windows PC. 🫢 The examples can totally guide you on using and learning the capabilities of TCP/IP tools, but you should know that not every utility will be on every TCP/IP host or in every commercial package. 😭 Also, the interface for each package is different, and the actual command line may look different from what's shown here. This is especially true for graphical interfaces running over Windows, X-Windows, OS/2, or Macintosh systems. πŸ™ˆ

Windows-based sessions aren't shown in this RFC, because the authors wanted a plain text version of the document. Plus, most GUI-based TCP/IP packages hide some of the detail that's essential for understanding what's really happening when you click a button or drag a file. πŸ”₯ The Internet has so many exciting things to offer, but standardized interfaces to the protocols are not yet one of them! πŸ‘‘

This guide won't go into any detail or motivation about the Internet Protocol Suite. For more on the TCP/IP protocols and related issues, check out RFC 1180 [29], Comer [6], Feit [7], Kessler [14], and Stevens [30]. 🧚

Formatting note: in the descriptions, commands are shown in a Courier font (Postscript and HTML versions). Items in square brackets ([]) are optional, and the vertical bar (|) means "or." Parameters with no brackets, or those inside curly brackets ({}), are mandatory. Parameter names that need swapping for a specific value are shown in italics (Postscript and HTML versions) or inside angle brackets (<>, text version). In sample dialogues, user input is in bold (Postscript and HTML versions) or marked with asterisks (**) in the margin (text version). πŸ“

3. Finding Information About Internet Hosts and Domains πŸ”

There are several tools that let you learn info about Internet hosts and domains. These tools let an application or a user do host name/address reconciliation (NSLOOKUP), check whether another host is up and available (PING), learn about another host's users (Finger), and find the route that packets will take to another host (Traceroute). ✨

3.1. NSLOOKUP πŸ’–

NSLOOKUP is the name server lookup program that ships with many TCP/IP software packages. You can use NSLOOKUP to look at entries in the Domain Name System (DNS) database that relate to a particular host or domain. One common use is figuring out a host's IP address from its name, or a host's name from its IP address. The general form of the command for a single query is:

   nslookup [IP_address|host_name]

If the program starts without any parameters, you'll get prompted for input. You can enter either an IP address or a host name then, and the program will respond with the name and address of the default name server, the name server actually used to resolve each request, and the IP address and host name that was queried. To leave the NSLOOKUP application, use Exit. πŸ¦‹

Three simple queries are shown in the example below:

  1. Requests the address of the host named www.hill.com, the World Wide Web server at Hill Associates. Turns out this isn't the true name of the host, just an alias. NSLOOKUP lists the full name of the host and the IP address. 🌸
  2. Requests the address of host syrup.hill.com, which is the same host as in the first query. Notice that NSLOOKUP gives a "non-authoritative" answer. Since NSLOOKUP just asked about this same address, the info is still in its cache memory. Instead of sending more messages to the name server, it gives you an answer it remembers from before. The server didn't look it up again, though, so it isn't guaranteed to still be accurate (because the info might have changed within the last few milliseconds!). 😭
  3. Requests the name of the host with the given IP address. The result points to the Internet gateway to Australia, munnari.oz.au. πŸ‡¦πŸ‡Ί

One more query is shown in the dialogue below. NSLOOKUP examines info stored by the DNS. The default NSLOOKUP queries look at basic address records (called "A records") to reconcile the host name and IP address, though other info is available too. In the final query below, for example, the user wants to know where email addressed to the hill.com domain actually gets delivered, since hill.com isn't the true name of an actual host. πŸ’… To do this, you change the query type to look for mail exchange (MX) records by issuing a set type command (which must be in lower case). The query shows that mail addressed to hill.com is actually sent to a mail server called mail.hill.com. If that system is unavailable, mail delivery will be attempted first to mailme.hill.com and then to netcomsv.netcom.com. The order of these attempts is controlled by the "preference" value. This query also returns the name of the domain's name servers and all associated IP addresses. πŸ‘‘

The DNS is beyond the scope of this intro, but more info about the concepts and structure of the DNS can be found in STD 13/RFC 1034 [19], RFC 1591 [21], and Kessler [16]. You can issue the help command at the program prompt for info about NSLOOKUP's more advanced commands. 🧚

TECHNICAL NOTE: There are other tools that might be on your system or in your software for examining the DNS. Alternatives to NSLOOKUP include HOST and DIG. πŸ™ˆ
  ====================================================================
**SMCVAX$ nslookup

  Default Server:  ns1.ner.bbnplanet.net
  Address:  192.52.71.5

**> www.hill.com
  Name:    syrup.hill.com
  Address:  199.182.20.3
  Aliases:  www.hill.com

**> syrup.hill.com
  Non-authoritative answer:
  Name:    syrup.hill.com
  Address:  199.182.20.3

**> 128.250.1.21
  Name:    munnari.OZ.AU
  Address:  128.250.1.21

**> set type=MX
RFC>>>
**> hill.com
  hill.com  preference = 20, mail exchanger = mail.hill.com
  hill.com  preference = 40, mail exchanger = mailme.hill.com
  hill.com  preference = 60, mail exchanger = netcomsv.netcom.com
  hill.com  nameserver = nameme.hill.com
  hill.com  nameserver = ns1.noc.netcom.net
  hill.com  nameserver = ns.netcom.com
  mail.hill.com  internet address = 199.182.20.4
  mailme.hill.com     internet address = 199.182.20.3
  netcomsv.netcom.com internet address = 192.100.81.101
  ns1.noc.netcom.net  internet address = 204.31.1.1
  ns.netcom.com  internet address = 192.100.81.105

**> exit
  SMCVAX$

3.2. Ping

okay so Ping πŸ“ (it's reportedly short for the Packet Internetwork Groper, which is iconic) is one of the most widely available tools bundled with TCP/IP software packages. It sends a series of Internet Control Message Protocol (ICMP) [22] Echo messages to figure out whether a remote host is active or inactive, and it also tells you the round-trip delay when talking to it. main character energy for a tiny little tool πŸ’…

Here's the common form of the Ping command, with the options general users are most likely to need:

ping [-q] [-v] [-R] [-c Count] [-i Wait] [-s PacketSize] Host

and here's what each piece does πŸŽ€

  • -q gives you quiet output, so nothing is displayed except the summary lines at startup and completion.
  • -v gives you verbose output, which lists the ICMP packets that are received in addition to Echo Responses.
  • -R is the record route option. It includes the RECORD_ROUTE option in the Echo Request packet and displays the route buffer on returned packets.
  • -c Count sets how many Echo Requests get sent before the test wraps up. The default is to keep going until you interrupt it with a control-C.
  • -i Wait sets how many seconds to wait between sending each packet. The default is 1.
  • -s PacketSize sets how many data bytes get sent. The total ICMP packet size is PacketSize+8 bytes because of the ICMP header. The default is 56, which makes a 64 byte packet πŸ“
  • Host is the IP address or host name of the target system.

In the first example, the user pings thumper.bellcore.com, asking for 6 messages (-c) with 64 bytes (-s) of user data in each one. The display shows the round-trip delay for every Echo message that makes it back to the sending host, and then summary statistics show up at the end of the test ✨

In the second example, the user pings smcvax.smcvt.edu, asking for 10 messages in quiet mode (-q). This time you only get a summary at the end, and the individual responses don't get listed πŸ™ˆ

TECHNICAL NOTE: Older versions of Ping, which still show up on some systems, look like this:
ping [-s] {IP_address|host_name} [PacketSize] [Count]

In this older form, the optional -s string tells the system to keep sending an ICMP Echo message every second. The optional PacketSize parameter sets how many bytes are in the Echo message. The message holds PacketSize-8 bytes of data, and the default is 56 bytes of data in a 64 byte message. The optional Count parameter sets how many Echo messages get sent before the test ends, and the default is to keep running until you interrupt it πŸ’€


**syrup:/home$ ping -c 6 -s 64 thumper.bellcore.com
  PING thumper.bellcore.com (128.96.41.1): 64 data bytes
  72 bytes from 128.96.41.1: icmp_seq=0 ttl=240 time=641.8 ms
  72 bytes from 128.96.41.1: icmp_seq=2 ttl=240 time=1072.7 ms
  72 bytes from 128.96.41.1: icmp_seq=3 ttl=240 time=1447.4 ms
  72 bytes from 128.96.41.1: icmp_seq=4 ttl=240 time=758.5 ms
  72 bytes from 128.96.41.1: icmp_seq=5 ttl=240 time=482.1 ms

  --- thumper.bellcore.com ping statistics ---
  6 packets transmitted, 5 packets received, 16% packet loss
  round-trip min/avg/max = 482.1/880.5/1447.4 ms

**syrup:/home$ ping -q -c 10 smcvax.smcvt.edu
  PING smcvax.smcvt.edu (192.80.64.1): 56 data bytes

  --- smcvax.smcvt.edu ping statistics ---

  10 packets transmitted, 8 packets received, 20% packet loss
  round-trip min/avg/max = 217.8/246.4/301.5 ms

3.3. Finger

Finger is the program you use to see who is logged in on another system, or to pull up detailed info about one specific user πŸ‘€ It also gave us a brand new verb: fingering someone on the Internet is not necessarily a rude thing to do! πŸ™ˆ The Finger User Information Protocol is described in RFC 1288 [32]. The most general format of the Finger command is:

finger [username]@host_name

The first example shows what you get when you finger one individual user on a remote system. The first line of the response has the username, the user's real name, their process identifier, application, and terminal port number. The user can also add extra info in "plan" and/or "project" files. These files are often named PLAN.TXT or PROJECT.TXT, and they live in the user's root directory (or somewhere on an appropriate search path). It's giving personal homepage vibes 🌸

The second example shows what you get when you finger a remote system. You'll usually see all the processes currently running on the fingered system, or other info, depending on how that system's administrator set it up to answer Finger requests 🧚


**C:> finger kumquat@smcvax.smcvt.edu
  [smcvax.smcvt.edu]
  KUMQUAT  Gary Kessler            KUMQUAT not logged in
  Last login Fri 16-Sep-1996 3:47PM-EDT

  Plan:

  ===================================================================
  Gary C. Kessler
  Adjunct Faculty Member, Graduate College

  INTERNET:  kumquat@smcvt.edu

  ===================================================================

**C:> finger @smcvax.smcvt.edu
  [smcvax.smcvt.edu]
  Tuesday, September 17, 1996 10:12AM-EDT   Up 30 09:40:18
  5+1 Jobs on SMCVAX  Load ave  0.16 0.19 0.21

   User    Personal Name     Subsys       Terminal  Console Location
  GOODWIN  Dave Goodwin      LYNX           6.NTY2  waldo.smcvt.edu
  JAT      John Tronoan      TELNET         1.TXA5
  HELPDESK System Manager    EDT         2:08.NTY4  [199.93.35.182]
  SMITH    Lorraine Smith    PINE            .NTY3  [199.93.34.139]
  SYSTEM   System Manager    MAIL          23.OPA0  The VAX Console
                              *DCL*     SMCVX1$OPA0  The VAX Console

3.4. Traceroute

Traceroute is another popular TCP/IP tool, and it lets you see the route your packets take from your local host to a remote host πŸ¦‹ Network and system managers use it all the time as a simple but seriously powerful debugging tool. End users can use it too, to learn about how the ever-changing structure of the Internet looks 🌈

The classic Traceroute command has this general format, where "#" stands for a positive integer value tied to the qualifier:

traceroute [-m #] [-q #] [-w #] [-p #] {IP_address|host_name}

Here's what those qualifiers do πŸ’–

  • -m is the maximum allowable TTL value, measured as the number of hops allowed before the program terminates. The default is 30.
  • -q is the number of UDP packets sent with each time-to-live setting. The default is 3.
  • -w is how long, in seconds, to wait for an answer from a particular router before giving up. The default is 5.
  • -p is the invalid port address at the remote host. The default is 33434.

The Traceroute example below shows the route from a host at St. Michael's College (domain smcvt.edu) to a host at Hill Associates (www.hill.com). Both are in Colchester, VT, but they're served by different Internet service providers (ISPs) 🏫

  1. St. Michael's College connects to the Internet through BBN Planet. Since the mid-1980s, BBN has operated the NSF's regional ISP, called the New England Academic and Research Network (NEARNET), which got renamed in 1994. So the first hop goes to St. Mike's BBN Planet gateway router (smc.bbnplanet.net). The next hop goes to another BBN Planet router (shown only by its IP address, since it never got a name), and this continues until the packet reaches the BBN Planet T3 backbone πŸ›œ
  2. The packet takes two hops through routers at BBN Planet's Cambridge (MA) facility, then gets forwarded to BBN Planet in New York City, where it takes four more hops. After that, it gets forwarded to BBN Planet in College Park (MD) πŸ—½
  3. The packet goes to BBN Planet's router at MAE-East, which is MFS Datanet's Network Access Point (NAP) in Washington, D.C. MAE stands for Metropolitan Area Exchange, and it's a Fiber Distributed Data Interface (FDDI) ring that connects routers from subscribing ISPs. From there, the packet is forwarded to NETCOM, which is Hill Associates' ISP πŸ”₯
  4. The packet now travels across NETCOM's T3 backbone, following links from Washington, D.C. to Chicago to Santa Clara (CA), and then on to San Jose (CA) ✈️
  5. The packet is sent to the Hill Associates router (again, just an IP address, since the NETCOM side of the router was never named), and then it gets passed to the target system. Plot twist: the host's real name isn't www.hill.com, it's syrup.hill.com πŸ‘‘
TECHNICAL NOTE: The original version of Traceroute works by sending a sequence of User Datagram Protocol (UDP) datagrams to an invalid port address at the remote host. With the default settings, three datagrams get sent, each with a Time-To-Live (TTL) field value set to one. A TTL of 1 makes the datagram "timeout" as soon as it hits the first router on the path, and that router responds with an ICMP Time Exceeded Message (TEM) saying the datagram has expired. Then three more UDP messages get sent, each with the TTL set to 2, which makes the second router return ICMP TEMs. This keeps going until the packets actually reach the destination. Since these datagrams are trying to access an invalid port on the destination host, ICMP Destination Unreachable Messages come back saying the port is unreachable, and that's the signal that tells the Traceroute program it's finished! πŸŽ‰ The program displays the round-trip delay for each of the attempts. (Some current implementations of Traceroute use the Record-Route option in IP instead of the method described above.)

As an aside, Traceroute didn't start out as a general-purpose utility. It was a quick-and-dirty debugging aid used to track down a routing problem 🧁 The code (complete with comments!) is available by anonymous FTP in the file traceroute.tar.Z from the host ftp.ee.lbl.gov. (See Section 4.2 for a discussion of anonymous FTP.) 🫢


**SMCVAX$ traceroute www.hill.com
  traceroute to syrup.hill.com (199.182.20.3), 30 hops max, 38 byte
  packets
   1  smc.bbnplanet.net (192.80.64.5)  10 ms  0 ms  0 ms
   2  131.192.48.105 (131.192.48.105)  0 ms  10 ms  10 ms
   3  cambridge1-cr4.bbnplanet.net (199.94.204.77)  40 ms  40 ms  50 ms
   4  cambridge1-br1.bbnplanet.net (4.0.1.205)  30 ms  50 ms  50 ms
   5  nyc1-br2.bbnplanet.net (4.0.1.121)  60 ms  60 ms  40 ms
   6  nyc2-br2.bbnplanet.net (4.0.1.154)  60 ms  50 ms  60 ms
   7  nyc2-br2.bbnplanet.net (4.0.1.154)  60 ms  40 ms  50 ms
   8  nyc2-br1.bbnplanet.net (4.0.1.54)  70 ms  60 ms  30 ms
   9  collegepk-br2.bbnplanet.net (4.0.1.21)  50 ms  50 ms  40 ms
  10  maeeast.bbnplanet.net (4.0.1.18)  200 ms  170 ms  210 ms
  11  fddi.mae-east.netcom.net (192.41.177.210)  60 ms  50 ms  70 ms
  12  t3-2.was-dc-gw1.netcom.net (163.179.220.181)  70 ms  60 ms  50 ms
  13  t3-2.chw-il-gw1.netcom.net (163.179.220.186)  70 ms  80 ms  80 ms
  14  t3-2.scl-ca-gw1.netcom.net (163.179.220.190)  140 ms  110 ms  160
  ms
  15  t3-1.sjx-ca-gw1.netcom.net (163.179.220.193)  120 ms  130 ms  120
  ms
  16  198.211.141.8 (198.211.141.8)  220 ms  260 ms  240 ms
  17  syrup.hill.com (199.182.20.3)  220 ms  240 ms  219 ms
  SMCVAX$
  ====================================================================

Okay so that traceroute is giving us the whole road trip πŸš—πŸ’¨ from SMCVAX all the way to syrup.hill.com, with every hop and its timing right there. Each hop is one router the packets pass through on the way, and the ms numbers show how long each probe took to get back. Iconic data, bestie πŸ’–.

4. The Two Fundamental Tools ✨

Okay so the two most basic tools for Internet apps are TELNET and the File Transfer Protocol (FTP) 🫢. TELNET lets you log in to a remote host over a TCP/IP network, while FTP (as the name implies, lol) lets you move files between two TCP/IP hosts πŸ“. Both of these go all the way back to the super early days of the ARPANET πŸ¦‹.

4.1. TELNET

TELNET [27] is TCP/IP's virtual terminal protocol πŸ’…. With TELNET, you connect to one host and log in to another, and it looks like you're sitting right at a directly-attached terminal on the remote system. That's TCP/IP's definition of a virtual terminal, iykyk πŸ™ˆ. The general form of the TELNET command is:

   telnet [IP_address|host_name] [port]

A TELNET connection starts when you type the telnet command and give it either a host_name or an IP_address. If you don't give either one, TELNET will ask for one once the application starts 🌸.

In the example below, someone on a PC uses TELNET to reach the remote host smcvax.smcvt.edu. Once they're logged in, they can literally do anything on that host that they could do from a directly-attached terminal or through a modem 😭. The commands they use are the ones available on the remote system they're attached to. In this dialogue, the user on SMCVAX is using basic VAX/VMS commands:

  • The dir command lists the files having a "COM" file extension.
  • The mail command enters the VMS MAIL subsystem; the dir command here lists waiting mail.
  • Ping checks the status of another host.

When you're finished, the logout command logs you off the remote host, and TELNET automatically closes the connection to the remote host and returns control to the local system πŸ’œ.

It is important to note that TELNET is a very powerful tool πŸ‘‘, one that may give users access to many Internet utilities and services that might not otherwise be available. A lot of these features are reached by adding a port number to the TELNET command, along with a host's address, and knowing port numbers gives users another way to get information with TELNET 🧚.

This guide covers several TCP/IP and Internet utilities that need local client software, such as Finger, Whois, Archie, and Gopher. But what if your software doesn't include the client you need? In some cases, TELNET can be used to reach a remote client and give you the same functionality ✨.

This is done by specifying a port number with the TELNET command. Just as TCP/IP hosts each have a unique IP address, applications on the host are associated with an address called a port πŸŽ€. Finger (see Section 3.3 above), for example, is associated with the well-known port number 79. If you don't have a Finger client, TELNETing to port 79 at a remote host may give you the same information. You can finger another host with TELNET by using a command like:

                            telnet host_name 79

Other well-known TCP port numbers include 25 (Simple Mail Transfer Protocol), 43 (whois), 80 (Hypertext Transfer Protocol), and 119 (Network News Transfer Protocol) 🌈.

Some services are available on the Internet using TELNET and special port numbers. A geographical information database, for example, can be accessed by TELNETing to port 3000 at host martini.eecs.umich.edu, and current weather information is available at port 3000 at host downwind.sprl.umich.edu 🌦️.

  ====================================================================
**C:> telnet smcvax.smcvt.edu
  FTP Software PC/TCP tn 3.10 01/24/95 02:40
  Copyright (c) 1986-1995 by FTP Software, Inc. All rights reserved

  - Connected to St. Michael's College -

**Username: kumquat
**Password:

  St. Michael's College VAX/VMS System.
  Node SMCVAX.

      Last interactive login on Monday, 16-SEP-1996 15:47
      Last non-interactive login on Wednesday,  6-MAR-1996 08:19

              You have 1 new Mail message.

  Good Afternoon User KUMQUAT.  Logged in on 17-SEP-1996 at 1:10 PM.

  User [GUEST,KUMQUAT] has 3225 blocks used, 6775 available,
  of 10000 authorized and permitted overdraft of 100 blocks on $1$DIA2
  To see a complete list of news items, type: NEWS DIR
  To read a particular item, type NEWS followed by
  the name of the item you wish to read.

**SMCVAX$ dir *.com
  Directory $1$DIA2:[GUEST.KUMQUAT]
  BACKUP.COM;24         24  16-JUL-1990 16:22:46.68  (RWED,RWED,RE,)
  DELTREE.COM;17         3  16-JUL-1990 16:22:47.58  (RWED,RWED,RE,)
  EXPANDZ.COM;7          2  22-FEB-1993 10:00:04.35  (RWED,RWED,RE,)
  FTSLOGBLD.COM;3        1  16-JUL-1990 16:22:48.57  (RWED,RWED,RE,)
  FTSRRR.COM;2           1  16-JUL-1990 16:22:48.73  (RWED,RWED,RE,)
  LOGIN.COM;116          5   1-DEC-1993 09:33:21.61  (RWED,RWED,RE,)
  SNOOPY.COM;6           1  16-JUL-1990 16:22:52.06  (RWED,RWED,RE,)
  SYLOGIN.COM;83         8  16-JUL-1990 16:22:52.88  (RWED,RWED,RE,RE)
  SYSTARTUP.COM;88      15  16-JUL-1990 16:22:53.21  (RWED,RWED,RE,)
  WATCH_MAIL.COM;1     173  10-MAY-1994 09:59:52.65  (RWED,RWED,RE,)
  Total of 10 files, 233 blocks.

**SMCVAX$ mail
  You have 1 new message.
**MAIL> dir
  NEWMAIL
    # From                 Date        Subject
    1 IN%"ibug@plainfield. 15-SEP-1996 ANNOUNCE: Burlington WWW Conference
**MAIL> exit

**SMCVAX$ ping kestrel.hill.com /n=5
  PING HILL.COM (199.182.20.24): 56 data bytes
  64 bytes from 199.182.20.24: icmp_seq=0 time=290 ms
  64 bytes from 199.182.20.24: icmp_seq=1 time=260 ms
  64 bytes from 199.182.20.24: icmp_seq=2 time=260 ms
  64 bytes from 199.182.20.24: icmp_seq=3 time=260 ms
  64 bytes from 199.182.20.24: icmp_seq=4 time=260 ms

  ----KESTREL.HILL.COM PING Statistics----
  5 packets transmitted, 5 packets received, 0% packet loss
  round-trip (ms)  min/avg/max = 260/266/290

**SMCVAX$ logout
    KUMQUAT      logged out at 17-SEP-1996 13:17:04.29

  Connection #0 closed
  C:>
  ====================================================================

RFC>>>

4.2. FTP πŸ“‚βœ¨

Okay bestie, FTP [26] is one of the most useful and powerful TCP/IP utilities for the general user πŸ’– It lets you upload and download files between local and remote hosts. Anonymous FTP is the real MVP here πŸ¦‹ It's commonly available at file archive sites so you can grab files without pre-establishing an account at the remote host. TELNET could technically do this too, but TELNET gives you complete access to the remote system, while FTP limits you to file transfer activities. Less drama, more transfer πŸ’…

The general form of the FTP command is:

ftp [IP_address|host_name]

An FTP session can start in a few different ways 🌸 In the example below, an FTP control connection gets opened to a host (the Defense Data Network's Network Information Center) by giving a host name right with the FTP command. You could also use the host's IP address in dotted decimal (numeric) form. If you don't supply a host name or IP address on the command line, you can still connect once the FTP application is running by typing open host_name or open IP_address 🧚

The remote host will ask for a username and password πŸ”‘ If you're a bona fide registered user and you supply a valid username and password, you get access to any files and directories that username has privilege for. For anonymous FTP, the username is anonymous. Historically, the password for the anonymous user (not shown in actual use) has been guest, but most systems today ask for your Internet e-mail address instead. Several sites even try to verify that packets are coming from that address before letting you log in πŸ‘€

The help ? command gives you a list of FTP commands and help topics available in your software. Not every app shows it, but nearly all TCP/IP applications have a help command, so look for one πŸŽ€ An example of the help for FTP's type command shows up in the sample dialogue. This one is super important, by the way 🚨 If you're transferring a binary or executable file, make sure you set the type to image (or binary on some systems).

The dir command gives you a directory listing of the files in the current directory at the remote host. The UNIX ls command can usually be used too πŸ“‹ Heads up: a data transfer connection gets set up to carry the directory info over to your local host. The output of dir is consistent with the native operating system of the remote host. People tend to link TCP/IP with UNIX, but it can (and does) run on nearly all common operating systems, so don't assume 🌈 The directory info in the sample dialogue happens to be in UNIX format and includes the following:

  • File attributes. The first character identifies the type of file entry as a directory (d), link or symbolic name (l), or individual file (-). The next nine characters are the file access permissions list. The first three characters are for the owner, the next three for the owner's group, and the last three for all other users. Three access privileges can be assigned to each file for each of these groups: read (r), write (w), and execute (x) πŸ”
  • Number of entries, or hard links, in this structure. This value will be a 1 if the entry refers to a file or link, or it will be the number of files in the listed directory.
  • File owner.
  • File owner's group.
  • File size, in bytes.
  • Date and time of last modification. If the date is followed by a timestamp, then the date is from the current year.
  • File name.

Once the directory info has been transferred, FTP closes the data transfer connection πŸ’¨

The cd command changes you to another working directory, in this case the rfc directory. Heads up that file and directory names may be case-sensitive πŸ™ˆ Just like in DOS, cd .. takes you up to the parent of the current directory. The CWD command successful message is the only indication that your cd command worked correctly. If it's available, the show command (it may be truncated to fewer characters, as shown) lets you see which working directory you're in πŸ—‚οΈ

Another dir command is used to find all files named rfc173*.txt. Notice the * wildcard character doing its thing ✨ Now we can copy (download) the file of choice. RFC 1739 is the previous version of this primer, so that's the one we want πŸ“š To grab it, use the get (or receive) command, which has this general format:

get remote_file_name local_file_name

FTP opens another data transfer connection for this file transfer. Note that the effective data transfer rate is 93.664 kbps πŸš€

FTP's put (or send) command lets you upload from the local host to the remote one. Put is often not available when you're using anonymous FTP, so don't be surprised if it's missing πŸ™…

Finally, we end the FTP connection with the close command πŸ‘‹ You can start another FTP connection with the open command, or leave FTP entirely by issuing a quit command. Quit can also close a connection and end a session too.

TECHNICAL NOTE: Different FTP packages have different commands available, and even commands with similar names may act differently. In the example here (using MultiNet for VMS), the show command displays the current working directory. In FTP Software's OnNet, show displays a file from the remote host at the local host. Some packages have nothing equivalent to either of these commands. Always check your own app first 🫢

Here's the full sample dialogue 🎬

  ====================================================================
**SMCVAX$ ftp nic.ddn.mil
  SMCVAX.SMCVT.EDU MultiNet FTP user process 3.4(111)
  Connection opened (Assuming 8-bit connections)
  <*****Welcome to the DOD Network Information Center*****
  <    *****Login with username "anonymous" and password "guest"
**Username: anonymous
  <Guest login ok, send "guest" as password.
**Password: guest                             <--- Not displayed
  <Guest login ok, access restrictions apply.

**NIC.DDN.MIL> help type
  TYPE
       Set the transfer type to type.

       Format
         TYPE   type

    Additional information available:
    Parameters Example    Restrictions

**TYPE Subtopic? parameters
  TYPE

    Parameters
      type

         Specify a value of ASCII, BACKUP, BINARY, IMAGE or LOGICAL-
         BYTE.

         Use TYPE ASCII (the default) for transferring text files.

         Use TYPE BACKUP to set the transfer type to IMAGE and write the
         local file with 2048-byte fixed length records. Use this
         command to transfer VAX/VMS BACKUP save sets.

         Use TYPE BINARY to transfer binary files (same as TYPE IMAGE).

         Use TYPE IMAGE to transfer binary files (for example, .EXE).

         Use TYPE LOGICAL-BYTE to transfer binary files to or from a
         TOPS-20 machine.

**TYPE Subtopic?
**Topic?

**NIC.DDN.MIL> dir
  <Opening ASCII mode data connection for /bin/ls.
  total 58
  drwxr-xr-x  2 nic      1             512 Sep 16 23:00 bcp
  drwxr-xr-x  2 root     1             512 Mar 19  1996 bin
  drwxr-xr-x  2 nic      1            1536 Jul 15 23:00 ddn-news
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 demo
  drwxr-xr-x  2 nic      1             512 Mar 25 14:25 dev
  drwxr-xr-x  2 nic      10            512 Mar 19  1996 disn_info
  drwxr-xr-x  2 nic      1             512 Sep 17 07:01 domain
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 etc
  lrwxrwxrwx  1 nic      1               3 Mar 19  1996 fyi -> rfc
  drwxr-xr-x  2 nic      10           1024 Sep 16 23:00 gosip
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 home
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 lost+found
  lrwxrwxrwx  1 nic      1               8 Mar 19  1996 mgt -> ddn-news
  drwxr-xr-x  2 nic      1            1024 Sep 13 12:11 netinfo
  drwxr-xr-x  4 nic      1             512 May  3 23:00 netprog
  drwxr-xr-x  2 nic      1            1024 Mar 19  1996 protocols
  drwxr-xr-x  2 nic      1             512 Mar 19  1996 pub
  drwxr-xr-x  3 140      10            512 Aug 27 21:03 registrar
  drwxr-xr-x  2 nic      1           29696 Sep 16 23:00 rfc
  drwxr-xr-x  2 nic      10           5632 Sep  9 23:00 scc
  drwxr-xr-x  2 nic      1            1536 Sep 16 23:00 std
  drwxr-xr-x  2 nic      1            1024 Sep 16 23:00 templates
  drwxr-xr-x  3 nic      1             512 Mar 19  1996 usr
  <Transfer complete.

  1437 bytes transferred at 33811 bps.
  Run time = 20. ms, Elapsed time = 340. ms.

**NIC.DDN.MIL> cd rfc
  <CWD command successful.

**NIC.DDN.MIL> show
  <"/rfc" is current directory.

**NIC.DDN.MIL> dir rfc173*.txt

  <Opening ASCII mode data connection for /bin/ls.
  -rw-r--r--  1 nic      10         156660 Dec 20  1994 rfc1730.txt
  -rw-r--r--  1 nic      10          11433 Dec 20  1994 rfc1731.txt
  -rw-r--r--  1 nic      10           9276 Dec 20  1994 rfc1732.txt
  -rw-r--r--  1 nic      10           6205 Dec 20  1994 rfc1733.txt
  -rw-r--r--  1 nic      10           8499 Dec 20  1994 rfc1734.txt
  -rw-r--r--  1 nic      10          24485 Sep 15  1995 rfc1735.txt
  -rw-r--r--  1 nic      10          22415 Feb  8  1995 rfc1736.txt
  -rw-r--r--  1 nic      10          16337 Dec 15  1994 rfc1737.txt
  -rw-r--r--  1 nic      10          51348 Dec 15  1994 rfc1738.txt
  -rw-r--r--  1 nic      10         102676 Dec 21  1994 rfc1739.txt
  <Transfer complete.
  670 bytes transferred at 26800 bps.
  Run time = 10. ms, Elapsed time = 200. ms.

**NIC.DDN.MIL> get rfc1739.txt primer.txt
  <Opening ASCII mode data connection for rfc1739.txt (102676 bytes).
  <Transfer complete.
  105255 bytes transferred at 93664 bps.
  Run time = 130. ms, Elapsed time = 8990. ms.

**NIC.DDN.MIL> quit
  <Goodbye.
  SMCVAX$
  ====================================================================

5. User Database Lookup Tools πŸ”πŸ’œ

Finding other users on the Internet is an art, not a science 🎨 There's a distributed database listing all 16+ million hosts on the Internet, but no similar database exists yet for the tens of millions of users. Lots of commercial ISPs provide directories of their network's users, but those databases aren't linked to each other yet πŸ₯Ί The paragraphs below cover some of the tools you can use to find people on the Internet 🌟

5.1. WHOIS/NICNAME

okay so WHOIS and NICNAME are TCP/IP apps that dig through databases to find the names of network and system admins, RFC authors, system and network points-of-contact, and other people registered in the right databases πŸ•΅οΈβ€β™€οΈβœ¨ the original NICNAME/WHOIS protocol is described in RFC 954 [10] πŸ“–

you can get into WHOIS by TELNETing to a WHOIS server and logging in as whois (no password needed) πŸ™Œ the most common Internet name server lives at the Internet Network Information Center (InterNIC) at rs.internic.net πŸ’» that database only holds INTERNET domains, IP network numbers, and domain points of contact, and the rules for it are described in RFC 1400 [31] πŸ“œ the MILNET database is at nic.ddn.mil, and PSI's White Pages pilot service is at psi.com 🌸

tbh a lot of software packages come with a WHOIS/NICNAME client that automatically connects to a default name server database πŸ’… you can usually point it at whatever name server database you want though, which is so convenient 🫢

the dialogues below show a few kinds of WHOIS/NICNAME queries πŸ‘€ in the first session we look up a person (Denis Stratford) with WHOIS locally, a specific domain (hill.com) with NICNAME locally, and then a network address (199.182.20.0) plus a top-level domain (com) by TELNETing to a WHOIS server πŸ¦‹


**SMCVAX$ whois stratford, denis
  Stratford, Denis (DS378)      denis@@SMCVAX.SMCVT.EDU
     St. Michael's College
     Jemery Hall, Room 274
     Winooski Park
     Colchester, VT 05439
     (802) 654-2384

     Record last updated on 02-Nov-92.
  SMCVAX$


**C:> nicname hill.com
  [198.41.0.5]
  Hill Associates (HILL-DOM)
     17 Roosevelt Hwy.
     Colchester, Vermont 05446
     US

     Domain Name: HILL.COM

     Administrative Contact:
        Kessler, Gary C.  (GK34)  g.kessler@HILL.COM
        802-655-0940
     Technical Contact, Zone Contact:
        Monaghan, Carol A.  (CAM4)  c.monaghan@HILL.COM
        802-655-0940

     Billing Contact:
        Parry, Amy  (AP1257)  a.parry@HILL.COM
        802-655-0940

     Record last updated on 11-Jun-96.
     Record created on 11-Jan-93.

     Domain servers in listed order:

     SYRUP.HILL.COM            199.182.20.3
     NS1.NOC.NETCOM.NET        204.31.1.1


**C:> telnet rs.internic.net
  SunOS UNIX 4.1 (rs1) (ttypb)

  ***********************************************************************
  * -- InterNIC Registration Services Center  --
  *
  * For wais, type:                    WAIS <search string> <return>
  * For the *original* whois type:     WHOIS [search string] <return>
  * For referral whois type:           RWHOIS [search string] <return>
  *
  **********************************************************************
  Please be advised that use constitutes consent to monitoring
  (Elec Comm Priv Act, 18 USC 2701-2711)

**[vt220] InterNIC > whois
  InterNIC WHOIS Version: 1.2 Wed, 18 Sep 96 09:49:50

**Whois: 199.182.20.0
  Hill Associates (NET-HILLASSC)
     17 Roosevelt Highway
     Colchester, VT  05446

     Netname: HILLASSC
     Netnumber: 199.182.20.0

     Coordinator:
        Monaghan, Carol A.  (CAM4)  c.monaghan@HILL.COM
        802-655-0940

     Record last updated on 17-May-94.

**Whois: com-dom
  Commercial top-level domain (COM-DOM)
     Network Solutions, Inc.
     505 Huntmar park Dr.
     Herndon, VA 22070

     Domain Name: COM

     Administrative Contact, Technical Contact, Zone Contact:
        Network Solutions, Inc.  (HOSTMASTER)  hostmaster@INTERNIC.NET
        (703) 742-4777 (FAX) (703) 742-4811

     Record last updated on 02-Sep-94.
     Record created on 01-Jan-85.

     Domain servers in listed order:

     A.ROOT-SERVERS.NET           198.41.0.4
     H.ROOT-SERVERS.NET           128.63.2.53
     B.ROOT-SERVERS.NET           128.9.0.107
     C.ROOT-SERVERS.NET           192.33.4.12
     D.ROOT-SERVERS.NET           128.8.10.90
     E.ROOT-SERVERS.NET           192.203.230.10
     I.ROOT-SERVERS.NET           192.36.148.17
     F.ROOT-SERVERS.NET           192.5.5.241
     G.ROOT-SERVERS.NET           192.112.36.4

**Would you like to see the known domains under this top-level domain? n

**Whois: exit

**[vt220] InterNIC > quit

  Wed Sep 18 09:50:29 1996 EST

  Connection #0 closed
  C:>

5.2. KNOWBOT

KNOWBOT is an automated username database search tool that's related to WHOIS πŸ€– the Knowbot Information Service (KIS), run by the Corporation for National Research Initiatives (CNRI) in Reston, Virginia, gives you a simple WHOIS-like interface to query several Internet user databases (White Pages services) all at once ✨ one KIS query automatically searches the InterNIC, MILNET, MCImail, and PSI White Pages Pilot Project, and other databases may get included too πŸ’–

you can access KNOWBOT by TELNETing to host info.cnri.reston.va.us 🧚 the help command gives you enough info to get started 🫢 the sample dialogue below uses the query command to find a user named "Steven Shepard", and this command automatically kicks off a search through the default set of Internet databases πŸ”


**C:> telnet info.cnri.reston.va.us

                  Knowbot Information Service

  KIS Client (V2.0).    Copyright CNRI 1990.    All Rights Reserved.

  KIS searches various Internet directory services
  to find someone's street address, email address and phone number.

  Type 'man' at the prompt for a complete reference with examples.
  Type 'help' for a quick reference to commands.
  Type 'news' for information about recent changes.

  Please enter your email address in our guest book...
**(Your email address?) > s.shepard@hill.com

**> query shepard, steven
  Trying whois at ds.internic.net...
  The ds.internic.net whois server is being queried:
  Nothing returned.

  The rs.internic.net whois server is being queried:

  Shepard, Steven (SS2192)  708-810-5215
  Shepard, Steven (SS1302)  axisteven@AOL.COM  (954)  974-4569
  The nic.ddn.mil whois server is being queried:

  Shepard, Steven (SS2192)
     R.R. Donnelley & Sons
     750 Warrenville Road
     Lisle, IL 60532
  Trying mcimail at cnri.reston.va.us...
  Trying ripe at whois.ripe.net...
  Trying whois at whois.lac.net...

  No match found for .SHEPARD,STEVEN

**> quit
  KIS exiting
  Connection #0 closed
  C:>

6. Information Servers ✨

file transfer, remote login, and email were the main apps on the ARPANET/Internet until the early 1990s πŸ’Œ then the user population shifted from hardcore computer researchers and academics to more casual users, and the Net needed easier-to-use tools to be accepted as a useful resource πŸ’… basically, things had to be easier to find πŸ” this section covers some of the early tools that made it easier to locate and access information on the Internet πŸ¦‹

6.1. Archie

Archie was developed in 1992 at the Computer Science Department at McGill University in Montreal πŸ“ it lets users find software, data, and other information files that live at anonymous FTP archive sites πŸ“‚ the name of the program is, reportedly, derived from the word "archive" and not from the comic book character πŸ™ˆ archie tracks the contents of several thousand anonymous FTP sites holding millions of files 🀯 the archie server automatically updates the info from each registered site about once a month, which keeps things relatively up-to-date without unduly stressing the network ⭐ archie isn't as popular as it used to be, though, and many sites haven't updated their info 😭 as the examples below show, lots of the catalog listings are several years old πŸ’€

before using archie, you have to identify a server address πŸ—ΊοΈ the sites below all support archie, and most (but not all) archie sites support the servers command, which lists all known archie servers πŸ‘‘ because archie is popular at some sites and really demanding on processing, many sites limit access to non-peak hours and/or limit the number of simultaneous archie users πŸ™ƒ the available archie sites include:

  archie.au                       archie.rediris.es
  archie.edvz.uni-linz.ac.at      archie.luth.se
  archie.univie.ac.at             archie.switch.ch
  archie.uqam.ca                  archie.ncu.edu.tw
  archie.funet.fi                 archie.doc.ic.ac.uk
  archie.th-darmstadt.de          archie.unl.edu
  archie.ac.il                    archie.internic.net
  archie.unipi.it                 archie.rutgers.edu
  archie.wide.ad.jp               archie.ans.net
  archie.kr                       archie.sura.net
  archie.sogang.ac.kr

all archie sites can be accessed with archie client software πŸ§‘β€πŸ’» some archie servers can also be accessed using TELNET πŸ’œ when you TELNET to an archie site, login as archie (you must use lower case) and hit <ENTER> if a password is requested 🌈

once you're connected, the help command helps you get more info about using archie πŸ™‹β€β™€οΈ two more useful archie commands are prog, which searches for files in the database, and whatis, which searches for keywords in the program descriptions πŸ”₯

in the dialogue below, the set maxhits command limits the number of responses to any following prog commands πŸ›‘ if you skip this, you might get an enormous amount of info, which is a lot πŸ˜΅β€πŸ’« in this example, the user asks for entries related to "dilbert" πŸŽ€ armed with that info, a user can use anonymous FTP to check out these directories and files πŸ“

**C:> telnet archie.unl.edu
  SunOS UNIX (crcnis2)

**login: archie
**Password:

   Welcome to the ARCHIE server at the University of Nebraska - Lincoln

  # Bunyip Information Systems, 1993

**unl-archie> help
  These are the commands you can use in help:

            .    go up one level in the hierarchy

            ?    display a list of valid subtopics at the current level

  <newline>
  done, ^D, ^C  quit from help entirely

       <string>  help on a topic or subtopic
  Eg.
        "help show"

  will give you the help screen for the "show" command

        "help set search"

  Will give you the help information for the "search" variable.

  The command "manpage" will give you a complete copy of the archie
  manual page.
**help> done

**unl-archie> set maxhits 5
unl-archie> prog dilbert

  # Search type: sub.
  # Your queue position: 2
  # Estimated time for completion: 00:20

  Host ftp.wustl.edu    (128.252.135.4)
  Last updated 10:08 25 Dec 1993

      Location: /multimedia/images/gif/unindexed/931118
        FILE    -rw-r--r--    9747 bytes  19:18 17 Nov 1993  dilbert.gif

unl-archie> whatis tcp/ip
  RFC                       1065          McCloghrie, K.; Rose, M.T.
  Structure and identification of management information for TCP/IP-based
  internets. 1988 August; 21 p. (Obsoleted by RFC 1155)
  RFC                       1066          McCloghrie, K.; Rose, M.T.
  Management Information Base for network management of TCP/IP-based
  internets. 1988 August; 90 p. (Obsoleted by RFC 1156)
  RFC                       1085          Rose, M.T. ISO presentation
  services on top of TCP/IP based internets. 1988 December; 32 p.
  RFC                       1095          Warrier, U.S.; Besaw, L. Common
  Management Information Services and Protocol over TCP/IP (CMOT). 1989
  April; 67 p. (Obsoleted by RFC 1189)
  RFC                       1144          Jacobson, V. Compressing TCP/IP
  headers for low-speed serial links. 1990 February; 43 p.
  RFC                       1147          Stine, R.H.,ed. FYI on a
  network management tool catalog: Tools for monitoring and debugging
  TCP/IP internets and interconnected devices. 1990 April; 126 p. (Also
  FYI 2)
  RFC                       1155          Rose, M.T.; McCloghrie, K.
  Structure and identification of management information for TCP/IP-based
  internets. 1990 May; 22 p. (Obsoletes RFC 1065)
  RFC                       1156          McCloghrie, K.; Rose, M.T.
  Management Information Base for network management of TCP/IP-based
  internets. 1990 May; 91 p. (Obsoletes RFC 1066)
  RFC                       1158          Rose, M.T.,ed. Management
  Information Base for network management of TCP/IP-based internets:
  MIB-II. 1990 May; 133 p.
  RFC                       1180          Socolofsky, T.J.; Kale, C.J.
  TCP/IP tutorial. 1991 January; 28 p.
  RFC                       1195          Callon, R.W. Use of OSI
  IS-IS for routing in TCP/IP and dual environments. 1990 December; 65 p.
  RFC                       1213          McCloghrie, K.; Rose,M.T.,eds.
  Management Information Base for network management of TCP/IP-based
  internets:MIB-II.  1991 March; 70 p. (Obsoletes RFC 1158)
  log_tcp                   Package to monitor tcp/ip connections
  ping                      PD version of the ping(1) command. Send ICMP
  ECHO requests to a host on the network (TCP/IP) to see whether it's
  reachable or not

unl-archie> exit
  # Bye.

  Connection #0 closed

  C:>

6.2. Gopher 🐿️

Okay so the Internet Gopher protocol was built at the University of Minnesota's Microcomputer Center in 1991 as a distributed information search and retrieval tool for the Internet. πŸ’– It's described in RFC 1436 [1], and the name comes from the University's mascot. 🐿️

Gopher gives you a way to organize the publicly available information on a host in a hierarchy, using simple text descriptions, so files can be browsed through a simple menu system. 🌸 It also lets you look at a file on demand without needing extra file transfer protocols, which is so efficient, bestie. ✨ Gopher also introduced the ability to link sites together, so every Gopher site can act as a stepping stone to other sites, which cuts down on duplicate information and effort on the network. 🫢

You can reach any Gopher site with Gopher client software (or a WWW browser). 🌈 In lots of cases you can get to Gopher by TELNETing to a valid Gopher location, and if the site runs a remote Gopher client, you'll see a text-based menu interface. πŸ’… The number of Gopher sites grew really fast between 1991 and 1994, though growth slowed down once the Web showed up. 😭 Either way, most Gopher sites have a menu item that helps you find other Gopher sites. πŸ“ If you're using TELNET, log in with the username gopher (it has to be lowercase), and you don't need a password. πŸ¦‹

In the sample dialogue below, the user connects to the Gopher server at the Internet Network Information Center (InterNIC) by TELNETing to ds.internic.net. πŸ‘‘ With this menu interface, the user just follows the prompts. The main menu shows up first. Picking item 3 makes Gopher open and display the "InterNIC Registration Services (NSI)" menu. You can move to the item you want by typing its number, or by moving the pointer (-->) down to it with the DOWN-ARROW key and then hitting ENTER. ⭐ To quit at any time, press q (quit). ? gives you help and u takes you back up to the previous menu. 🧚 You can also search for strings inside files with the / command, or download the file you're looking at with the D command. πŸ’œ

Menu item 1 in the first submenu (the one picked in the dialogue below) is called "InterNIC Registration Archives." As its name suggests, it's where you can get files with the InterNIC's domain registration policies, domain data, registration forms, and other info about registering names and domains on the Internet. πŸŽ€


SMCVAX$ telnet ds.internic.net

  UNIX(r) System V Release 4.0 (ds2)

login: gopher

  ********************************************************************
           Welcome to the InterNIC Directory and Database Server.
  ********************************************************************

                   Internet Gopher Information Client v2.1.3
                          Home Gopher server: localhost

   -->  1.  About InterNIC Directory and Database Services/
        2.  InterNIC Directory and Database Services (AT&T)/
        3.  InterNIC Registration Services (NSI)/
        4.  README

  Press ? for Help, q to Quit                                 Page: 1/1
View item number: 3


                   Internet Gopher Information Client v2.1.3
                        InterNIC Registration Services (NSI)

   -->  1.  InterNIC Registration Archives/
        2.  Whois Searches (InterNIC IP, ASN, DNS, and POC Registry) <?>

  Press ? for Help, q to Quit, u to go up a menu              Page: 1/1
View item number: 1
                   Internet Gopher Information Client v2.1.3
                           InterNIC Registration Archives

   -->  1.  archives/
        2.  domain/
        3.  netinfo/
        4.  netprog/
        5.  policy/
        6.  pub/
        7.  templates/

  Press ? for Help, q to Quit, u to go up a menu              Page: 1/1
q
Really quit (y/n) ? y

  Connection closed by Foreign Host

  SMCVAX$

6.3. VERONICA, JUGHEAD, and WAIS πŸ”

Here's the thing: getting so much info from FTP, archie, Gopher, and other sources is literally the problem, because there's just too much of it. πŸ’€ To help users figure out which system has the information they want, a bunch of other tools have been built. 🧚

VERONICA (Very Easy Rodent-Oriented Net-wide Index to Computerized Archives) was developed at the University of Nevada at Reno as an archie- like adjunct to Gopher. ✨ Once Gopher sites started multiplying fast after it came out, it got way harder to find stuff in gopherspace, since Gopher was built to search one database at a time. 😩 VERONICA keeps an index of the titles of Gopher items and runs a keyword search across all the Gopher sites it knows about and can reach, so users don't have to dig through menus, site by site, to find things. πŸ’… When a user picks an item from a VERONICA search results menu, "sessions" are set up automatically with the right Gopher servers, and a list of data items comes back to the Gopher client as a Gopher menu so the user can get the files. 🌈 VERONICA is an option on many Gopher servers. πŸŽ€

Another Gopher-adjunct is JUGHEAD (Jonzy's Universal Gopher Hierarchy Excavation And Display). πŸ™ˆ JUGHEAD supports keyword searches and logical operators (AND, OR, and NOT). A JUGHEAD search gives you a display of all the menu items that match the search string and are located in the University of Manchester and UMIST Information Server, working from a static database that gets re-created every day. πŸ“ JUGHEAD is available on many Gopher sites, though VERONICA might be the better tool for global searches. πŸ‘‘

The Wide Area Information Server (WAIS, pronounced "ways") was started jointly by Apple Computer, Dow Jones, KMPG Peat Marwick, and Thinking Machines Corp. πŸ¦‹ It's a set of free-ware, share-ware, and commercial software products for lots of different hardware and software platforms, and they all work together to help users find information on the Internet. 🫢 WAIS gives you one interface to reach many different information databases. The user interface lets you write a query in English, and the WAIS server will automatically pick the right databases to search. πŸ”₯ For more about WAIS, you can read the WAIS FAQ, which is on host rtfm.mit.edu in file /pub/usenet/news.answers/wais-faq. πŸ’œ

RFC>>>

7. The World Wide Web ✨

Okay bestie, so the World Wide Web (WWW) is thought (erroneously) by many people to be the same thing as the Internet πŸ’€. But ngl the confusion is kinda justified πŸ™ˆ. By early 1996, the WWW accounted for over 40% of all of the traffic on the Internet πŸ”₯. The number of hosts on the Internet named www also went from several hundred in mid-1994, to 17,000 in mid-1995, to 212,000 in mid-1996, to over 410,000 by early 1997 πŸ“ˆ. The Web made information on the Internet accessible to users of all ages and computer skill levels 🌈. It also gave nearly anyone a way to become a content provider πŸ’…. Some people say the growth in the number of WWW users is unparalleled by any other event in human history 😭✨.

The WWW was developed in the early 1990s at the CERN Institute for Particle Physics in Geneva, Switzerland 🧚. The Web was designed to combine aspects of information retrieval with multimedia communications πŸŽ€. That's different from archie and Gopher, which were mainly used for indexing text-based files πŸ“š. The Web lets users access information in lots of different formats, including text, sound, image, animation, and video πŸ¦‹. WWW treats all searchable Internet files as hypertext documents. Hypertext is just a term for text that contains pointers to other text. This lets a user reading one document jump to another document for more information on a topic, and then come back to the same spot in the original document πŸ”. WWW hypermedia documents can use images, sound, graphics, video, and animation in addition to text πŸ’œ.

To access WWW servers, users must run client software called a browser πŸ’». The browser and server use the Hypertext Transfer Protocol (HTTP) [3] 🀝. WWW documents are written in the Hypertext Markup Language (HTML) [2, 20], which is a simple text-based formatting language that's hardware and software platform-independent πŸ“. Users point the browser at a location using a shorthand format called a Uniform Resource Locator (URL) 🌸. The URL allows a WWW server to obtain files from any location on the public Internet using a variety of protocols, including HTTP, FTP, Gopher, and TELNET 🌐.

Mosaic was developed in 1994 at the National Center for Supercomputer Applications (NCSA) at the University of Illinois at Urbana-Champaign, and it was the first widely-used browser πŸ‘‘. It was available at no cost over the Internet via anonymous FTP, and it had versions for Windows, Mac, and UNIX systems. Because of that, Mosaic was probably the single reason the Web attracted so many users so quickly πŸš€. The most commonly used browsers today include Netscape Navigator (http://www.netscape.com), Microsoft's Internet Explorer (http://www.microsoft.com), and NCSA Mosaic (http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/) ✨.

The WWW is ideally suited to a windows environment, or to another point-and-click graphical user interface πŸ–±οΈ. Still, several text-based Web browsers do exist, although their usefulness is limited if you're trying to get graphical images, or audio or video clips πŸ™ƒ. One text-based Web browser is Lynx, and an example of its use is shown below. Items in square brackets in the sample dialogue are how Lynx shows an image or other display that can't be shown on an ASCII terminal 🎬.

====================================================================
**gck@zoo.uvm.edu> lynx www.hill.com
  Getting http://www.hill.com/
  Looking up www.hill.com.
  Making HTTP connection to www.hill.com.Sending HTTP request.
  HTTP request sent; waiting for response.Read 176 bytes of data.
  512 of 2502 bytes of data.
  1024 of 2502 bytes of data.
  536
  2048
  502
  Data transfer complete

                 Hill Associates

     [INLINE] Hill Associates, Inc.

  Leaders in Telecommunications Training and Education Worldwide
  _________________________________________________________________

  Hill Associates is an international provider of voice and data
  telecommunications training and education. We cover the full breadth
  of the field, including telephony, computer networks, ISDN, X.25 and
  fast packet technologies (frame relay, SMDS, ATM), wireless, TCP/IP
  and the Internet, LANs and LAN interconnection, legacy networks,
  multimedia and virtual reality, broadband services, regulation,
  service strategies, and network security.

  Hill Associates' products and services include instructor-led,
  computer-based (CBT), and hands-on workshop courses. Courseware
  distribution media include audio tape, video tape, CD-ROM, and 3.5"
  disks (PC).

  _________________________________________________________________

  Hill Associates products, services, and corporate information

  * About Hill Associates
  * HAI Products and Services Catalog
  * Datacomm/2000-ED Series
  * Contacting Hill Associates
  * Employment Opportunities
  * HAI Personnel Home Pages

  On-line information resources from Hill Associates

  * HAI Telecommunications Acronym List
  * Articles, Books, and On-Line Presentations by HAI Staff
  * GCK's Miscellaneous Sites List...

  Hill Associates is host to the:

  * IEEE Local Computer Networks Conference Home Page...
  * Vermont Telecommunications Resource Center
  ________________________________________________________________

  Please send any comments or suggestions to the HAI Webmaster. Come
  back again soon!

  Information at this site (c) 1994-1997 Hill Associates.


  Arrow keys: Up and Down to move. Right to follow a link; Left to go
  back.
  H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search
  [delete]=history list

**G
**URL to open: http://www.bbn.com
  Getting http://www.bbn.com/
  Looking up www.bbn.com.
  Making HTTP connection to www.bbn.com.Sending HTTP request.
  HTTP request sent; waiting for response.Read 119 bytes of data.
  500
  1000 bytes of data.
  2
  5
  925
  Data transfer complete

  BBN On The World Wide Web
  [LINK]
   BBN Reports Fourth-Quarter and Year-End 1996 Results

  [INLINE]
  [ISMAP]
  [ISMAP]
  [LINK]
  [INLINE]

  Who Won Our Sweepstakes
  How The Noc Solves Problems
  Noc Noc Who's There
  BBN Planet Network Map

  [LINK][LINK][LINK][LINK][LINK][LINK]
  [LINK]
  Contact BBN Planet
  Directions to BBN
  Text only index of the BBN Web site
  |
  Corporate Disclaimer
  Send questions and comments about our site to Webmaster@bbn.com
  (c) 1996 BBN Corporation


  Arrow keys: Up and Down to move. Right to follow a link; Left to go
  back.
  H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search
  [delete]=history list
**Q

  gck@zoo.uvm.edu>
  ====================================================================

7.1. Uniform Resource Locators πŸ”—

Okay so as more and more protocols became available to identify files, archive and server sites, news lists, and other information resources on the Internet, it was inevitable that some shorthand would show up to make these sources easier to name πŸ’–. That shorthand is called the Uniform Resource Locator. The list below explains how the URL format should be read for the protocols and resources discussed in this document. A complete description of the URL format can be found in [4] πŸ“–.

  • file://host/directory/file-name identifies a specific file. For example, the file htmlasst in the edu directory at host ftp.cs.da would be written in full URL form as <URL:file://ftp.cs.da/edu/htmlasst> πŸ“.
  • ftp://user:password@host:port/directory/file-name identifies an FTP site. For example: ftp://ftp.eff.org/pub/EFF/Policy/Crypto/* 🌷.
  • gopher://host:port/gopher-path identifies a Gopher site and menu path. A "00" at the start of the path indicates a directory, and "11" indicates a file. For example: gopher://info.umd.edu:901/00/info/Government/Factbook92 πŸ„.
  • http://host:port/directory/file-name?searchpart identifies a WWW server location. For example: http://info.isoc.org/home.html 🌐.
  • mailto:e-mail_address identifies an individual's Internet mail address. For example: mailto:s.shepard@hill.com πŸ’Œ.
  • telnet://user:password@host:port/ identifies a TELNET location (the trailing "/" is optional). For example: telnet://envnet:henniker@envnet.gsfc.nasa.gov πŸ–₯️.

7.2. User Directories on the Web πŸ•΅οΈβ€β™€οΈ

Finding people on the Internet is still kinda like alchemy if you're using the tools and utilities mentioned earlier πŸ§ͺ. The Web added a whole new dimension to finding people though 🌟. Since 1995, many telephone companies have put national white and yellow page telephone directories online, where you can reach them via the World Wide Web πŸ“’.

For a while, the easiest and most reliable way to find someone's e-mail address on the Internet was to look up their telephone number on the Web, call them, and ask for their e-mail address πŸ˜‚! More recently, though, lots of third parties have been adding e-mail directories to the standard telephone directory πŸ“¬. These services mainly rely on users voluntarily registering, which leaves the databases incomplete, because most users don't know about all of the services πŸ™ˆ. Still, some of the personal directory services on the Web where you can find e-mail addresses (and telephone numbers) include Four11 Directory Services (http://www.Four11.com/), Excite (http://www.excite.com/Reference/locators.html), and Yahoo! People Search (http://www.yahoo.com/search/people/) πŸ”βœ¨.

The Knowbot Information Service (KIS), which is CNRI's automated username database search tool described earlier in this document, is also available on the Web, at http://info.cnri.reston.va.us/kis.html πŸ€–. Users can pick several options for the KIS search, including the InterNIC, MILNET, MCImail, and Latin American Internic databases; UNIX finger and whois servers; and X.500 databases πŸ§©πŸ’œ.

7.3. Other Service Accessible Via the Web 🌸

Okay so a bunch of the other tools we've already talked about can be reached through the WWW too, no cap. Usually the browser just acts like a viewer for a remote client, so you don't need specialized software on your own machine. Main character browser energy πŸ’»βœ¨

Lots of sites give you DNS info, so you don't need a local DNS client like NSLOOKUP πŸ™ˆ. The hosts http://ns1.milepost.com/dns/ and http://sh1.ro.com/~mprevost/netutils/dig.html are among the best DNS sites, letting you access all the DNS information πŸ”. The site http://www.bankes.com/nslookup.htm lets you do multiple, sequential searches at a given domain. Other Web sites with simple DNS name/address translation services include http://rhinoceros.cs.inf.shizuoka.ac.jp/dns.html, http://www.engin.umich.edu/htbin/DNSquery, http://www.lublin.pl/cgi-bin/ns/nsgate, and http://www.trytel.com/cgi-bin/weblookup. πŸ’…

Ping is on the Web too πŸ“. The page http://sh1.ro.com/~mprevost/netutils/ping.html lets you select a host name, the number of times to ping (1-10), and the number of seconds between each ping (1-10), and then it returns a set of summary statistics. Other Web-based ping sites include http://www.net.cmu.edu/bin/ping (sends ten pings, and reports the times and min/max/avg summary statistics) and http://www.uia.ac.be/cc/ping.html (indicates whether the target host is alive or not). πŸ¦‹

Traceroute is also on the Web, but ngl it's a little bit of a letdown 😭. These servers trace the route from their host to a host that you choose, rather than from your host to the target. Still, interesting route information can be found at http://www.net.cmu.edu/bin/traceroute. Traceroute service and a list of a bunch of other traceroute sites on the Web can be found at http://www.lublin.pl/cgi-bin/trace/traceroute. 🧚

Archie is available via the WWW as well, where your browser acts as the graphical interface to an archie server 🌈. To find a list of archie servers, and to access them via the Web, point your browser at http://www.yahoo.com/Computers_and_Internet/Internet/FTP_Sites/Searching/Archie/.

And finally, even Finger lives on the World Wide Web πŸ’€. Check out http://sh1.ro.com/~mprevost/netutils/finger.html. πŸ’œ


8. Discussion Lists and Newsgroups πŸ’¬

Discussion lists are honestly one of the most useful features of the Internet ✨. They let people chat about topics they all care about, and the topics range from SCUBA diving and home brewing of beer to AIDS research and foreign policy πŸ“. Several, naturally, deal specifically with the Internet, TCP/IP protocols, and the impact of new technologies πŸ€“.

Most of the discussion lists you can reach from the Internet are unmoderated, which means anyone can send a message to the list's central repository, and the message will then be automatically forwarded to all subscribers of the list. These lists give super fast turn-around between submitting a message and delivery, but they often produce a lot of messages (including inappropriate junk mail, or "spam") 😡. A moderated list has an extra step: a human list moderator checks all messages before they get forwarded, to make sure they fit the list and aren't needlessly inflammatory! 🫢

Heads up bestie: some lists generate a large number of messages each day. Before subscribing to too many lists, be sure you know the local policies and/or charges that govern access to discussion lists and e-mail storage. πŸ’Έ

8.1. Internet Discussion Lists πŸ“¬

You can send mail to almost all Internet lists at an address with the following form:

list_name@host_name

The common convention when you want to subscribe, unsubscribe, or handle any other administrative matter is to send a message to the list administrator. Do not send administrivia to the main list address!! πŸ™…β€β™€οΈ The list administrator can usually be found at:

list_name-REQUEST@host_name

To subscribe, it's often enough to put the word "subscribe" in the main body of the message. A line in this format will satisfy most mail servers:

subscribe list_name your_full_name

A similar message can get you off a list. Just use the word "unsubscribe" followed by the list name. Not every list follows this convention, but it's a safe bet if you don't have better information! πŸŽ€

8.2. LISTSERV 🌷

A big set of discussion groups is maintained using a program called LISTSERV. LISTSERV is a service that's widely provided on BITNET and EARN, though Internet users can access it too. You can find a LISTSERV User Guide on the Web at http://www.earn.net/lug/notice.html. πŸ“–

You can send mail to most LISTSERV lists at an address with the following form:

list_name@host_name

Same rule as before: the common convention for subscribing, unsubscribing, or any other administrative matter is to send commands in a message to the LISTSERV server. Do not send administrivia to the main list address!! πŸ™…β€β™€οΈ The list server can usually be found at:

LISTSERV@host_name

LISTSERV commands go in the main body of e-mail messages sent to an appropriate list server location. Once you've found a list you're into, you can send a message to the right address with any appropriate command, such as:

     subscribe  list_name  your_full_name Subscribe to a list
     unsubscribe  list_name               Unsubscribe from a list
     help                                 Get help & a list of commands
     index                                Get a list of LISTSERV files
     get  file_name                       Obtain a file from the server

8.3. Majordomo 🍭

Majordomo is another popular list server for Internet discussion lists πŸ’–. The Web site http://www.greatcircle.com/majordomo/ has a huge amount of information about Majordomo.

You send mail to Majordomo lists using the same general address format as above:

list_name@host_name

The common convention for subscribing, unsubscribing, or handling any other administrative matter is to send a message to the Majordomo list server. Do not send administrivia to the main list address!! πŸ™…β€β™€οΈ The Majordomo server can usually be found at:

MAJORDOMO@host_name

Majordomo commands go in the main body of e-mail messages sent to an appropriate list server location. The available commands include:

     help          Get help & a list of commands
     subscribe list_name  your_e-mail
                   Subscribe to a list (E-mail address is optional)
     unsubscribe list_name your_e-mail
                   Unsubscribe from a list (E-mail address is optional)
     info list     Sends an introduction about the specified list
     lists         Get a list of lists served by this Majordomo server

8.4. Usenet πŸ“°

Usenet, also known as NETNEWS or Usenet news, is another information source 🌍. It has its own set of special interest mailing lists, organized into newsgroups. Usenet started out on UNIX systems but has migrated to lots of other types of hosts. Usenet clients are called newsreaders. They use the Network News Transfer Protocol [13], and they're available for virtually any operating system. Several web browsers, in fact, have this capability built in 🌐.

Usenet newsgroups are usually accessible at Internet sites, but a prospective Usenet client host must have appropriate newsreader software in order to read news. Users will have to check with their local host or network administrator to find out which Usenet newsgroups are available locally, along with the local policies for using them 🧐.

Usenet newsgroup names are hierarchical. The first part of the name, called the hierarchy, gives you an idea of the general subject area. There are two types of hierarchies, called mainstream and alternative, and the total number of newsgroups is in the thousands 🀯. The news.announce.newusers newsgroup is a great place for new Usenet users to find a detailed introduction to using Usenet, as well as an introduction to its culture πŸ‘‘.

Mainstream hierarchies are established by a process that requires the approval of a majority of Usenet members. Most sites that receive a NETNEWS feed get all of these hierarchies, which include:

    comp      Computers
    misc      Miscellaneous
    news      Network news
    rec       Recreation
    sci       Science
    soc       Social issues
    talk      Various discussion lists

The alternative hierarchies include lists that can be set up at any site that has the server software and disk space. These lists aren't formally part of Usenet, so they may not be received by every site getting NETNEWS. The alternative hierarchies include:

    alt       Alternate miscellaneous discussion lists
    bionet    Biology, medicine, and life sciences
    bit       BITNET discussion lists
    biz       Various business-related discussion lists
    ddn       Defense Data Network
    gnu       GNU lists
    ieee      IEEE information
    info      Various Internet and other networking information
    k12       K-12 education
    u3b       AT&T 3B computers
    vmsnet    Digital's VMS operating system

8.5 Finding Discussion Lists and Newsgroups πŸ”

Now that you know the rules for signing up for a discussion list or accessing a newsgroup, how does someone find a good list for their interests? πŸ€”

There are tens of thousands of e-mail discussion lists on the Internet 😳. One List of Lists can be found using anonymous FTP at ftp://sri.com/netinfo/interest-groups.txt. You can search the List of Lists with a Web browser by going to http://catalog.com/vivian/interest-group-search.html. Other good places to look are the Publicly Accessible Mailing Lists index at http://www.neosoft.com/internet/paml/byname.html and the LISZT Directory of E-Mail Discussion Groups at http://www.liszt.com.

To get a list of LISTSERV lists, send e-mail to listserv@bitnic.cren.net with the command lists global in the body of the message. Or, if you'd rather click around, look on the Web at http://www.tile.net/tile/listserv/index.html. The Web site http://www.liszt.com has a Mailing Lists Database of lists served by LISTSERV and Majordomo πŸŽ€.

There are also thousands of Usenet newsgroups 🌈. One Usenet archive can be found at gopher://rtfm.mit.edu/11//pub/usenet/news.answers. Check out the /active-newsgroups and /alt-hierarchies subdirectories there. You can also read Usenet news at gopher://gopher.bham.ac.uk/11/Usenet. For a good Usenet search facility, try DejaNews at http://www.dejanews.com/, which also lets you post messages to Usenet newsgroups πŸ’….

Note that there's often some overlap between Usenet newsgroups and Internet discussion lists 🫢. Some individuals join both, or, very commonly, messages get cross-posted. Some Usenet newsgroup discussions are forwarded onto an Internet mailing list by an individual site, so users who don't have Usenet available can still get in on the conversation ✨.

9. Internet Documentation ✨

okay bestie, so if you want to really get what's going on in the Internet community, you're gonna want to grab an Internet specification now and then 🧚 The main body of Internet docs is Request for Comments (RFCs), though there are a bunch of RFC subsets made for specific purposes. The sections below walk through the RFCs and other docs and how to get your hands on them πŸ’–

The Internet standardization process gets mentioned in the next bits. The Internet Engineering Task Force (IETF) is the guiding body for Internet standards, and their Web site is http://www.ietf.org. The IETF works under the auspices of the Internet Society (ISOC), which has a Web site at http://www.isoc.org. For complete, up-to-date info on getting Internet documentation, head to the InterNIC's Web site at http://ds.internic.net/ds/dspg0intdoc.html. The IETF's history and role in the Internet today is described in Kessler [15]. For info on the organizations involved in the IETF standards process, see RFC 2028 [11]. For info on the relationship between the IETF and ISOC, see RFC 2031 [12] πŸŽ€

9.1. Request for Comments (RFCs)

RFCs are the whole literature of Internet protocols, standards, research questions, hot topics, humor (especially the ones dated 1 April πŸ™ˆ), and general info πŸ’… Every RFC gets its own number, and that number is never reused or reissued. If a doc gets revised, it gets a brand new RFC number and the old one is said to be obsoleted πŸ’€ Announcements go out to the RFC-DIST mailing list every time a new RFC is issued. Anyone can join by emailing majordomo@zephyr.isi.edu with the line "subscribe rfc-dist" in the body of the message ✨

RFCs can be obtained through the mail (i.e., postal service), but honestly it's way easier and faster to grab them online πŸ¦‹ One easy way to get RFCs online is RFC-INFO, an email-based service that helps you locate and retrieve RFCs and other Internet docs. To use it, send an email to rfc-info@isi.edu and leave the Subject: field blank. These commands can go in the main body of the message:

     help                            (Help file)
     help: ways_to_get_rfcs          (Help file on how to get RFCs)

     RETRIEVE: RFC
        Doc-ID: RFCxxxx              (Retrieve RFC xxxx; use all 4
                                     digits)

     LIST: RFC                       (List all RFCs...)
        [options]                      (...[matching the following
                                       options])
        KEYWORDS: xxx                  (Title contains string "xxx")
        AUTHOR: xxx                    (Written by "xxx")
        ORGANIZATION: xxx              (Issued by company "xxx")
        DATED-AFTER: mmm-dd-yyyy
        DATED-BEFORE: mmm-dd-yyyy
        OBSOLETES: RFCxxxx             (List RFCs obsoleting RFC xxxx)

Another RFC email server lives at the InterNIC 🌸 To use it, send an email message to mailserv@ds.internic.net, again with the Subject: field blank. In the main body, use one or more of these commands:

     help                            (Help file)
     file /ftp/rfc/rfcNNNN.txt       (Text version of RFC NNNN)
     file /ftp/rfc/rfcNNNN.ps        (Postscript version of RFC NNNN)
     document-by-name rfcNNNN        (Text version of RFC NNNN)

Here's the list of primary RFC repositories. Table 1 is the one you want when you're shopping for a mirror πŸ›οΈ

     -------------------------------------------------------------------
            TABLE 1. Primary RFC Repositories.

            HOST ADDRESS           DIRECTORY

            ds.internic.net        rfc
            nis.nsf.net            internet/documents/rfc
            nisc.jvnc.net          rfc
            ftp.isi.edu            in-notes
            wuarchive.wustl.edu    info/rfc
            src.doc.ic.ac.uk       rfc
            ftp.ncren.net          rfc
            ftp.sesqui.net         pub/rfc
            nis.garr.it            mirrors/RFC
            funet.fi               rfc
            munnari.oz.au          rfc
     -------------------------------------------------------------------

To grab an RFC with anonymous FTP, connect to one of the repositories in Table 1 using FTP. Once you're in, use the cd command to change to the right RFC directory (the one shown in Table 1). Then use the get command to pull the file you want 🧚

   GET RFC-INDEX.TXT  local_name       (RFC Index)
   GET RFCxxxx.TXT  local_name         (Text version of RFC xxxx)
   GET RFCxxxx.PS  local_name          (Postscript version of RFC
                                       xxxx)

The RFC index, or a specific reference to an RFC, will tell you whether that RFC comes as ASCII text (.txt) or Postscript (.ps) and yes, the format matters πŸ’– By convention, every RFC is available in ASCII, and some are also in Postscript when graphics and/or different fonts add more info or clarity. An increasing number are also being converted to HTML 🌈 Heads up, the index file is huge, with citations for over 2,000 documents. And not every RFC numbered below 698 (July 1975) is available online, so don't panic if one's missing πŸ™ˆ

Last one: the InterNIC's Web site at http://ds.internic.net/ds/dspg1intdoc.html has the RFC index and a complete set of RFCs. More info on Web-based RFC servers is at http://www.isi.edu/rfc-editor/rfc-sources.html πŸ¦‹

The sample dialogue below is super abbreviated, but it shows a user getting RFC 1594 (Answers to Commonly asked "New Internet User" Questions) using email and anonymous FTP. Iconic energy πŸ’…

====================================================================
**SMCVAX$ mail
**MAIL> send
**To: in%"rfc-info@isi.edu"
  Subject:
  Enter your message below. Press CTRL/Z when complete, CTRL/C to quit
**retrieve: rfc
**doc-id: rfc1594
**^Z
**MAIL> exit

**SMCVAX$ ftp ds.internic.net
**Username: anonymous
**Password:
**NIC.DDN.MIL> cd rfc
**NIC.DDN.MIL> get rfc1594.txt rfc-1594.txt
**NIC.DDN.MIL> exit
  SMCVAX$
====================================================================

9.2. Internet Standards

RFCs describe loads of aspects of the Internet. By the early 1990s, though, so many specs for different protocols had been written that it wasn't always clear which docs were actually standards for the Internet 😭 So a subset of RFCs got designated as STDs, to mark them as Internet standards. Main character energy πŸ‘‘

Unlike RFC numbers, which are never reused, STD numbers always refer to the latest version of the standard. UDP, for example, would be completely identified as "STD-6/RFC-768." Also, an STD number refers to a standard, which isn't necessarily a single document. STD 19, for example, is the NetBIOS Service Protocols standard made up of RFCs 1001 and 1002, so a complete citation for it would be "STD-19/RFC-001/RFC-1002." Wild, right? πŸŽ€

New STDs get announced on the RFC-DIST mailing list. STD-1 [23] always refers to the latest list of "Internet Official Protocol Standards". The Internet standards process is described in RFC 2026 [5], and STD notes are explained in RFC 1311 [24] 🌸

STDs can be obtained as RFCs via anonymous FTP from any RFC repository. Some RFC sites (like ds.internic.net) also have an STD directory, so STD docs can be found at the path /STD/xx.TXT, where xx is the STD number 🧚

STD documents can be obtained as RFCs using the methods in Section 9.1. You can also get STDs through the RFC-INFO server using the RETRIEVE: STD and Doc-ID: STDxxxx commands. And check out the InterNIC's Web site at http://www.internic.net/std/ for the STD index and a complete set of STDs πŸ’œ


9.3. For Your Information Documents

The For Your Information (FYI) series of RFCs gives Internet users info on all kinds of Internet topics 🌈 The topics go from historical to explanatory to tutorial, and they're aimed at the whole spectrum of people who use the Internet. The FYI series includes answers to frequently asked questions from both beginner and seasoned users, an annotated bibliography of Internet books, and an explanation of the domain name system ✨

Just like STDs, an FYI number always refers to the latest version of an FYI. FYI 4, for example, refers to the answers to commonly asked questions by new Internet users, and its complete citation would be "FYI-4/RFC-1594." The FYI notes are explained in FYI 1 [18] πŸ¦‹

FYIs can be obtained as RFCs via anonymous FTP from any RFC repository. Some RFC sites (like ds.internic.net) also have an FYI directory, so FYI docs can be found at the path /FYI/xx.TXT, where xx is the FYI number 🫢

FYI docs can be obtained as RFCs using the methods in Section 9.1. You can also get FYIs through the RFC-INFO server using the RETRIEVE: FYI and Doc-ID: FYIxxxx commands. And check out the InterNIC's Web site at http://www.internic.net/fyi/ for the FYI index and a complete set of FYIs πŸ’…


9.4. Best Current Practices

Standards track RFCs are formally part of the IETF standards process. They get peer reviewed and they're meant to end up as an official Internet Standard πŸ”₯ Other RFCs get published more informally and aren't part of the IETF process. To give the IETF a way to publish relevant technical info it endorsed, the IETF made a new series of RFCs called the Best Current Practices (BCP) series. BCP topics include variances from the Internet standards process and IP address allocation in private networks πŸ“

Like STDs and FYIs, a BCP number always refers to the latest version of a BCP. BCP 5, for example, describes an IP address allocation plan for private networks, and its complete citation would be "BCP-5/RFC-1918." The BCP process is explained in BCP 1 [25] πŸ’–

BCP docs can be obtained as RFCs using the methods in Section 9.1. You can also get BCPs through the RFC-INFO server using the RETRIEVE: BCP and Doc-ID: BCPxxxx commands. And check out the RFC Editor's Web site at http://www.isi.edu/rfc-editor/ for the BCP index and a complete set of BCPs 🌸


9.5. RARE Technical Reports

RARE, the Reseaux Associes pour la Recherche Europeenne (Association of European Research Networks), has a charter to promote and take part in building a high-quality European computer communications infrastructure that supports research 🌍 RARE member networks use Open Systems Interconnection (OSI) protocols and TCP/IP. To bring RARE and the IETF closer together, RARE Technical Reports (RTRs) have also been published as RFCs since the summer of 1993 🧚

RTR docs can be obtained as RFCs using the methods in Section 9.1. You can also get RTRs through the RFC-INFO server using the RETRIEVE: RTR and Doc-ID: RTRxxxx commands. And check out the InterNIC's Web site at http://www.internic.net/rtr/ for the RTR index and a complete set of RTRs. Finally, RTRs can be obtained via anonymous FTP from ftp://ftp.rare.nl/rare/publications/rtr/ that's the whole documentation buffet, bestie πŸŒˆπŸ’–

10. Perusing the Internet πŸ—ΊοΈ

okay bestie, this part is the "where do I even go now??" guide 🧚 The whole point is to give you a basic feel for the utilities that TCP/IP and the Internet hand you. By now it's giving: the only real limits are your knowledge, your skills, and how willing you are to experiment πŸ’…βœ¨

There are a bunch of books that'll help you find sites on the Internet, including The INTERNET Yellow Pages [9]. But honestly, the freshest and most up-to-date info lives on the Internet itself 🌐 Search tools like Yahoo! (http://www.yahoo.com), Excite (http://www.excite.com), Lycos (http://www.lycos.com), WebCrawler (http://www.webcrawler.com), and AltaAvista (http://altavista.digital.com) are the move πŸ¦‹

There are also several other sources that list locations where you can get specific info on a whole range of subjects, using tools like FTP, Telnet, Gopher, and WWW. One of the best periodic lists, and archives, is the Scout Report πŸ“° It's a weekly publication from the InterNIC's Net Scout Services Project at the University of Wisconsin's Computer Science Department. To get it by email every week, send email to listserv@lists.internic.net and put the line subscribe scout-report your_full_name in the body of the message to get the text version, or use subscribe scout-report-html your_full_name to get it in HTML. The Scout Report is also on the Web at http://www.cs.wisc.edu/scout/report and http://rs.internic.net/scout/report, or you can grab it via anonymous FTP at ftp://rs.internic.net/scout/ πŸ’Œ

Another list is Yanoff's Internet Services List 🌸 You can find it at http://www.spectracom.com/islist/ or ftp://ftp.csd.uwm.edu/pub/inet.services.txt. Gary Kessler, one of the co-author's of this document, maintains his own eclectic Miscellaneous Sites List at http://www.together.net/~kessler/gck_site.html. He's so iconic 🫢

If you're looking for Internet-specific info, a good starting point is http://www.yahoo.com/Computers_and_Internet/Internet/. The InterNIC is another valuable resource, with their Scout Report and Scout Toolkit (http://rs.internic.net/scout/toolkit) πŸ”₯

There's also a fair amount of beginner-friendly tutorial info out there πŸ“š The InterNIC cosponsors "The 15 Minute Series" (http://rs.internic.net/nic-support/15min/), a collection of free, modular, and extensible training materials on specific Internet topics. And ROADMAP96 (http://www.ua.edu/~crispen/roadmap.html) is a free, 27-lesson Internet training workshop that runs over e-mail πŸŽ€

More books and specialized articles came out about the Internet in 1993 and 1994 than in all previous years (squared!), and that trend seems to have continued into 1995, 1996, and beyond πŸ“ˆ Three books are worth a notable mention, because they don't directly help you find your way around, or find things on, the Internet. Hafner & Lyon [8] wrote Where Wizards Stay Up Late: The Origins of the Internet, a history of the development of the Advanced Research Projects Agency (ARPA), packet switching, and the ARPANET, focusing mainly on the 1960s and 1970s. It culminates with the APRANET's 25th Anniversary in 1994, but its main thrusts are the groups building the ARPANET backbone (largely BBN) and the host-to-host application and communication protocols (largely the Network Working Group) 🧠

Salus' book, Casting The Net: From ARPANET to INTERNET and beyond... [28], goes into the development of the network from the perspective of the people, protocols, applications, and networks. It includes a set of "diversions," so it's a bit more whimsical than Hafner & Lyon's πŸ¦„

Finally, Carl Malamud wrote a delightful book called Exploring the Internet: A Technical Travelogue [17], which chronicles not so much the history of the Internet as a subset of the people currently active in building and defining it. This book won't teach you how to perform an anonymous FTP file transfer or how to use Gopher, but it gives insights about our network (and Carl's gastro-pathology) that no mere statistics can convey πŸ™ˆπŸ’€


11. Acronyms and Abbreviations πŸ”€

ASCII     American Standard Code for Information Interchange
BCP       Best Current Practices
BITNET    Because It's Time Network
DDN       Defense Data Network
DNS       Domain Name System
EARN      European Academic Research Network
FAQ       Frequently Asked Questions list
FTP       File Transfer Protocol
FYI       For Your Information series of RFCs
HTML      Hypertext Markup Language
HTTP      Hypertext Transport Protocol
ICMP      Internet Control Message Protocol
IP        Internet Protocol
ISO       International Organization for Standardization
NetBIOS   Network Basic Input/Output System
NIC       Network Information Center
NICNAME   Network Information Center name service
NSF       National Science Foundation
NSFNET    National Science Foundation Network
RFC       Request For Comments
RARE      Reseaux Associes pour la Recherche Europeenne
RTR       RARE Technical Reports
STD       Internet Standards series of RFCs
TCP       Transmission Control Protocol
TTL       Time-To-Live
UDP       User Datagram Protocol
URL       Uniform Resource Locator
WAIS      Wide Area Information Server
WWW       World Wide Web

12. Security Considerations πŸ”

Security issues are not discussed in this memo. πŸ™ˆ


13. Acknowledgments πŸ’œ

Our thanks go to all the sites that we accessed, or otherwise used system resources from, while preparing this document 🫢 We also appreciate the comments and suggestions from our students and members of the Internet community, particularly after the last version of this document was circulated. That includes Mark Delany and the rest of the gang at the Australian Public Access Network Association, Margaret Hall (BBN), John Martin (RARE), Tom Maufer (3Com), Carol Monaghan (Hill Associates), Michael Patton (BBN), N. Todd Pritsky (Hill Associates), and Brian Williams. Special thanks are due to Joyce Reynolds for her continued encouragement and direction πŸ‘‘


14. 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] Berners-Lee, T. and D. Connolly, "Hypertext Markup Language - 2.0," RFC 1866, MIT/W3C, November 1995.

[3] _____, R. Fielding, and H. Frystyk, "Hypertext Transfer Protocol - HTTP/1.0," RFC 1945, MIT/LCS, UC Irvine, MIT/LCS, May 1996.

[4] _____, L. Masinter, and M. McCahill, Editors, "Uniform Resource Locators (URL)," RFC 1738, CERN, Xerox Corp., University of Minnesota, December 1994.

[5] Bradner, S. "The Internet Standards Process -- Revision 3," RFC 2026, Harvard University, October 1996.

[6] Comer, D. Internetworking with TCP/IP, Vol. I: Principles, Protocols, and Architecture, 3/e. Englewood Cliffs (NJ): Prentice-Hall, 1995.

[7] Feit, S. TCP/IP: Architecture, Protocols, and Implementation with IPv6 and IP Security, 2/e. New York: McGraw-Hill, 1997.

[8] Hafner, K. and M. Lyon. Where Wizards Stay Up Late: The Origins of the Internet. New York: Simon & Schuster, 1997.

[9] Hahn, H. and R. Stout. The Internet Yellow Pages, 3/e. Berkeley (CA): Osborne McGraw-Hill, 1996.

[10] Harrenstien, K., M. Stahl, and E. Feinler, "NICNAME/WHOIS," RFC 954, SRI, October 1985.

[11] Hovey, R. and S. Bradner. "The Organizations Involved in the IETF Standards Process," RFC 2028, Digital, Harvard University, October 1996.

[12] Huizer, E. "IETF-ISOC Relationship," RFC 2031, SEC, October 1996.

[13] Kantor, B. and P. Lapsley. "Network News Transfer Protocol," RFC 977, U.C. San Diego, U.C. Berkeley, February 1986.

[14] Kessler, G.C. "An Overview of TCP/IP Protocols and the Internet." URL: http://www.hill.com/library/tcpip.html. Last accessed: 17 February 1997

[15] _____. "IETF-History, Background, and Role in Today's Internet." URL: http://www.hill.com/library/ietf_hx.html. Last accessed: 17 February 1997.

[16] _____. "Running Your Own DNS." Network VAR, July 1996. (See also URL: http://www.hill.com/library/dns.html. Last accessed: 17 February 1997.)

[17] Malamud, C. Exploring the Internet: A Technical Travelogue. Englewood Cliffs (NJ): PTR Prentice Hall, 1992.

[18] 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.

[19] Mockapetris, P., "Domain Names - Concepts and Facilities," STD 13/RFC 1034, USC/Information Sciences Institute, November 1987.

[20] National Center for Supercomputer Applications (NCSA). "A Beginner's Guide to HTML." URL: http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html. Last accessed: 2 February 1997.

[21] Postel, J., "Domain Name System Structure and Delegation," USC/Information Sciences Institute, RFC 1591, March 1994.

[22] _____, "Internet Control Message Protocol," USC/Information Sciences Institute, RFC 792, September 1981.

[23] _____, Editor, "Internet Official Protocol Standards," STD 1/RFC 2000, Internet Architecture Board, February 1997.

[24] _____, "Introduction to the STD Notes," RFC 1311, USC/Information Sciences Institute, March 1992.

[25] _____, T. Li, and Y. Rekhter, "Best Current Practices," BCP 1/RFC 1818, USC/Information Sciences Institute, Cisco Systems, August 1995.

[26] _____ and J. Reynolds, "File Transfer Protocol (FTP)," STD 9/RFC 959, USC/Information Sciences Institute, October 1985.

[27] _____ and J. Reynolds, "TELNET Protocol Specification," STD 8/RFC 854, USC/Information Sciences Institute, May 1983.

[28] Salus, P.H. Casting The Net: From ARPANET to INTERNET and beyond... Reading (MA): Addison-Wesley, 1995.

[29] Socolofsky, T.J. and C.J. Kale, "TCP/IP Tutorial," RFC 1180, Spider Systems Ltd., January 1991.

[30] Stevens, W.R. TCP/IP Illustrated, Volume 1: The Protocols. Reading (MA): Addison-Wesley, 1994.

[31] Williamson, S., "Transition and Modernization of the Internet Registration Service," RFC 1400, Network Solutions, Inc., March 1993.

[32] Zimmerman, D., "The Finger User Information Protocol," RFC 1288, Rutgers University, December 1991.


15. Authors' Address πŸ’Œ

Gary C. Kessler
Hill Associates
17 Roosevelt Highway
Colchester, VT  05446
Phone:  +1 802-655-8659
Fax:  +1 802-655-7974
E-mail: kumquat@hill.com

Steven D. Shepard
Hill Associates
17 Roosevelt Highway
Colchester, VT  05446
Phone:  +1 802-655-8646
Fax:  +1 802-655-7974
E-mail: s.shepard@hill.com

And that's a wrap on RFC 2151, bestie! πŸŒˆβœ¨πŸ’–

πŸ“¦ where this page comes from