IT and communication - The Internet at large:

What RFCs are

People often refer to RFCs as standards applicable to the Internet. This is partly correct, partly incorrect. All so-called Internet standards are published as RFCs, but only a small fraction of RFCs are standards. RFCs are a collection of documents which describe various actual and suggested practices relevant to the Internet. The collection is heterogenous both as regards to the topic of a document and as regards to its status. Most RFCs deal with technical arrangements and conventions, often called protocols. Protocols are essential for the interoperability of systems; programs which send data to each other need to be based on some agreements on the format of the data and related issues. RFC 2026 describes:

RFCs cover a wide range of topics in addition to Internet Standards, from early discussion of new research concepts to status memos about the Internet.

The RFC editor pages contain an overview on RFCs and an RFC FAQ. On Ohio State University pages, in the Internet Requests for Comments (RFC) section, there are some annotated lists of those RFCs which might be particularly interesting to normal Internet users or to people who are in the process of getting acquainted with the technologies of the Internet. Examples include Internet Users' Glossary (which is rather old though) and Users' Security Handbook. They belong to the FYI series (For Your Information) of RFCs, which are typically informative documents intended for a broad audience (though often dated). In contrast with them, "standard track" RFCs are mostly rather technical and intended for specialists in a rather narrow field.

On standards and "standards"

On the Internet, as well as otherwise, the meaning of the word standard varies a lot. It's rather rare to use it in the most official meaning: to refer to a standard approved by the International Organization for Standardization (ISO) or by some of its national member bodies such as ANSI. One of the reasons behind this is that the official standardization process would be much too slow in a rapidly developing area like Internet protocols.

Quite often the word standard is used to refer to so-called industry standard, i.e. relatively stable principles and practices applied by leading manufacturers. This is very vague concept of course.

Between official standards and "industry standards", there is a wide range of "standards" which have been agreed on in some forum. RFCs typically fall into this category.

The RFC system

The most common meaning for the word standard on the Internet is probably 'current (i.e. non-obsoleted) RFC'. This isn't quite as rigorous a concept as it may sound. RFCs are an enumerated series of documents issued by the IETF, varying greatly in their nature and status. Some of them are often called standards - this may apply even to RFCs which explicitly state that they do not define a standard of any kind! - but according to the official terminology, only a few of them have been designated as Internet standards. An Internet standard has, in addition to an RFC number, an STD number, which does not change even if the RFC number is changed; for example, the IP protocol is defined by STD 5 which is currently RFC 791.

Only a few Internet standards have the status "required", which means that they shall be applied everywhere on the Internet; other Internet standards are "recommended" or just "elective". The "required" standards mostly define the fundamental protocols which are indispensable for the whole operation of the Internet.

The system of RFCs is described in RFC 2026, The Internet Standards Process.

Nominally, RFC is short for Request for Comments. This is quite misleading, since when a document has been published as an RFC, no amount of commenting can possibly change it! Instead, if a protocol is changed, a new RFC with a new number is written.

The standardization process

Quite often the production of an RFC is preceded by writing an Internet-Draft, which means, in principle, a completely inofficial draft. Strictly speaking, one shouldn't even mention an Internet-Draft as reference material of any kind. In practice however an Internet-Draft can be the product of extensive cooperation between interested parties, and it may become an RFC after small (or no) modifications. See the IETF pages Internet-Drafts. For more information about this process, see RFC 2026.

You can search for Internet-Drafts using the SunSITE's Internet Standards Archive, which contains (contrary to what its name suggests) both RFCs and Internet-Drafts.

In principle, the process of standardizing things with RFCs starts from an RFC labeled as "proposed standard", then a "draft standard" is written, and finally a "standard". For details of this process, see STD 1.

In practice, only a small fraction of specifications reaches the standard level. One reason to that is that the process takes time and effort, and interested parties often concentrate on improving the protocol itself; instead of making a version of a protocol an official Internet standard, organizations and people typically concentrate on implementing it, or writing an enhanced version of the protocol, or both. Moreover, standardization (in the broad sense of the word) might be carried out elsewhere. (For example, the HTML language version 2.0 is specified in RFC 1866, but the development of the language was in practice transferred to the W3C organization; so HTML is now specified by W3C recommendations, not by RFCs. This was formally clarified in RFC 2854.)

The system of RFCs isn't as rigorous as one might expect. For example, there is RFC 1036, Standard for Interchange of USENET Messages, which is essential for the functionality of Usenet. But it seems that this old (year 1987) RFC isn't even a proposed standard, since STD 1 does not mention it at all in its list of current RFCs, and the official RFC registry by IANA lists it with status UNKNOWN!

There is a large number of RFCs which do not belong to "standards track" protocols at all; that is, they are not intended to be or to become standards of any kind. Such RFCs can be purely informational (in a broad sense which covers poems too) or "experimental". See also RFCs like RFC 1149, A Standard for the Transmission of IP Datagrams on Avian Carriers (dated 1990-04-01).

How to get RFCs

There is a large number of RFC repositories. If you need RFCs, it is useful to spend some time in finding a convenient way to access them e.g. via a Web or FTP server near to you.

Note that not all RFC repositories are up-to-date. And note that if you fetch an RFC by number, there is no guarantee that it is a current RFC on its topic. It might have been superseded by a newer RFC. When in doubt, use an archive which contains information about the current status of RFCs.

RFC editor maintains official documentation which contains information about RFC availability from different sources and in different formats. List of RFC Repositories mentions the following FTP servers as primary distribution sites: nis.nsf.net, nisc.jvnc.net, ftp.isi.edu, wuarchive.wustl.edu, src.doc.ic.ac.uk, ftp.ncren.net, ftp.sesqui.net, ftp.nic.it, ftp.imag.fr, www.normos.org. But a server closer to you might be more convenient, in terms of access time and user intereface.

RFC editor has a search forms for searching for RFCs by number or header keyword. Header keywords refer to the name (title) of the RFC, list of authors, and other header information, not the textual content. Using such a search you get information about the current status of the RFC, including information about being partially changed by newer RFCs ("Updated by.."). For your convenience, here we have simplified versions of the query forms:

Get RFC
Find RFC(s) with the word(s) occurring

For searching by content keywords, you can use a search service provided by the Internet FAQ Consortium, e.g. using the following simplified interface:

Search for RFCs containing the word or phrase

The search gives a list which is ordered by the RFC number in the decreasing order, i.e. from newest to oldest. But to check the status, it's probably best to consult the Active RFC Index.

Other services for searching for RFCs include:

Format of RFCs

The basic format of RFCs is plain text (Ascii text). The internal structure of the text is specified in RFC 2223.

There are RFCs available in HTML format too, as well as in other formats like PostScript, produced by different tools, but the plain text format is the official one.

In particular, the Internet FAQ Consortium maintains an RFC archive, which seems to contain RFCs in a format produced by automatic conversion from plain text to HTML. The format isn't much better than plain text in its appearance, but references to other RFCs are hyperlinks. (There is a somewhat similar collection by FH Köln, namely RFCs in HTML Format.) Freesoft's RFC collection makes more extensive use of HTML, but it covers just a small part of RFCs (though with many important RFCs among them).

There's also a large repository of RFCs in frames-based hypertext format at Zvon.

RFC 2629 contains a proposal on writing Internet-Drafts and RFCs in an XML-based markup language.


German version - Version auf Deutsch: Was RFCs sind.

Finnish version - suomenkielinen versio: Mitä RFC:t ovat.