RFCs and Internet Documentation

In this subject, we concentrate fairly heavily on the protocols and architectures used in the global Internet.

Every aspect of the Internet is documented in a series of documents called "RFCs" (Request For Comment). RFCs are the means by which new technologies are introduced in the Internet: after suitable research work has been done, the new proposals are published as an RFC. On the other hand, some RFCs document standard Internet protocols. RFCs are usually in plain text form.

Once an RFC is published, it is not changed. However, it may be "obsoleted" by later work. Unfortunately, there is no easy way to "browse" RFCs to discover which RFC is the latest on a particular topic, although there are various Indexes which can be useful. RFCs are available on-line on the Internet, and can be downloaded using anonymous ftp. In Australia, they are available at several sites: in particular at ftp://archie.au/rfc/

You may (later) need to learn how to download RFCs to answer some of the assignment questions.


Application Protocols

Application protocols define the way in the TCP reliable service can be used to achieve network- based computing. Because applications can assume reliability, their protocols can be quite simple.

Most application protocols use commands (and, in some cases, responses) in a human-readable form. They normally also use plain ASCII text where possible. This makes debugging the protocols quite straightfoward in most cases.

Some application protocols include:

Telnet
provides remote login allowing a user to log into a remote computer as though it was local. We examine Telnet in this lecture.
SMTP
provides the basic Internet electronic mail delivery protocol. We look at electronic mail later in the unit.
FTP
is used to copy files from one system to another.
HTTP
is the protocol basis of the World Wide Web, and is quite complex. We may look at a subset.

Remote Login

Remote login means to "log in" to a computer as though you were using it locally.

Key concepts:


Telnet

Telnet is the basic remote login utility, and is supported on virtually all time-shared operating systems.

Basic Telnet operation:

  1. The user invokes the telnet client process, usually by name from the command line, eg:
    telnet ironbark
    
    Once running, the client process then establishes a TCP connection to the desired telnet server, which is "waiting for connections" at the well-known port 23 - note that we are again ignoring the question of how the name "ironbark" gets translated to a network address, see later.
  2. In the case of Unix, the telnet server connects the incoming connection to a variation of the standard "login" process on the server host. This may work differently on other systems.
  3. The user's keystrokes are transmitted to the remote server, and output is displayed on the user's screen. Thus, initially the user can "log in", and once authenticated has a normal shell (command line interface) on the remote host.

Telnet Commands and Options


Other Aspects of Remote Login

Programs which implement the telnet protocol are widely (and freely) available, and Telnet is much used.

The BSD version of Unix introduced a remote login utility with enhanced characteristics called "rlogin". Some of its features are:

Finally, the telnet program can be used to connect to other services than the standard telnet server at port 23. Most telnet implementations allow the user to specify a port number on the command line, and will open a TCP connection to that port. This can be very useful in debugging communications software.
This lecture is also available in PostScript format. The tutorial for this lecture is Tutorial #03.
Phil Scott