Request for Comments 25540 223994445 2008-07-06T21:29:13Z Lightbot 7178666 Units/dates/other {{selfref|For the Wikipedia process, see [[Wikipedia:Requests for comment]].}} In [[computer network]] [[engineering]], a '''Request for Comments (RFC)''' is a [[memorandum]] published by the [[Internet Engineering Task Force]] (IETF) describing methods, behaviors, research, or innovations applicable to the working of the [[Internet]] and Internet-connected systems. Through the [[Internet Society]], engineers and computer scientists may publish [[discourse]] in the form of an RFC, either for [[peer review]] or simply to convey new concepts, information, or (occasionally) engineering humor. The IETF adopts some of the proposals published as RFCs as [[Internet standard]]s. ==RFC production and evolution== The ''RFC Editor'' assigns each RFC a unique [[serial number]]. Once assigned a number and published, an RFC is never rescinded or modified; if the document requires amendments, the authors publish a revised document. Therefore, some RFCs supersede others; the superseded RFCs are said to be ''deprecated'', ''obsolete'', or even ''obsoleted'' (sic). Together, the serialized RFCs compose a continuous historical record of the evolution of Internet standards and practices. Note that the term ''RFC'' is not unique to this series. Several other organizations have published documents using the term ''RFC''. However, the IETF RFCs are by far the best-known RFCs series on the Internet. The RFC production process differs from the [[standardization]] process of formal standards organizations such as [[International Organization for Standardization|ISO]]. Internet technology experts may submit an [[Internet Draft]] without support from an external institution. Standards-track RFCs are published with approval from the [[Internet Engineering Task Force|IETF]], and are usually produced by experts participating in [[IETF Working Group|working groups]], which first publish an Internet Draft. This approach facilitates initial rounds of peer review before documents mature into RFCs. The RFC tradition of pragmatic, experience-driven, after-the-fact standards authorship accomplished by individuals or small working groups has important advantages over the more formal, committee-driven process typical of ISO and national standards bodies. Emblematic of some of these advantages is the existence of a flourishing tradition of [[April Fools' Day RFC|joke RFCs]]. Typically at least one is published each year, usually on [[April Fools' Day]]. Most RFCs use a common set of terms such as "MUST" and "NOT RECOMMENDED" (as defined by RFC 2119), [[Augmented Backus–Naur Form]] (ABNF) (as defined by RFC 5234) as a metalanguage, and simple text-based formatting, in order to keep the RFCs consistent and easy to understand.<ref name="RFC Index"> {{cite web |url= http://www.rfc-editor.org/rfc-index2.html |title= ''RFC Index'' |accessdate= 2008-05-26 |date= 2008-05-25 |publisher= RFC Editor }} </ref> For more details about RFCs and the RFC process, see RFC 2026, "The Internet Standards Process, Revision 3".<ref name="RFC Index" /> ==History== The inception of the RFC format occurred in 1969 as part of the seminal [[ARPANET]] project. Today, it is the official publication channel for the Internet Engineering Task Force (IETF), the [[Internet Architecture Board]] (IAB), and—to some extent—the global community of computer network researchers in general. The authors of the first RFCs [[Typewriter|typewrote]] their work and circulated [[Hard copy|hard copies]] among the ARPA researchers. Unlike the modern RFCs, many of the early RFCs ''were'' requests for comments. The RFC leaves questions open and is written in a less formal style. This less formal style is now typical of [[Internet Draft]] documents, the precursor step before being approved as an RFC. In December 1969, researchers began distributing new RFCs via the newly-operational ARPANET. RFC 1, entitled "Host Software", was written by [[Steve Crocker]] of the [[University of California, Los Angeles]] (UCLA), and published on [[April 7]], [[1969]]. Although written by Steve Crocker, the RFC emerged from an early [[working group]] discussion between Steve Crocker, [[Steve Carr]], [[Jeff Rulifson]]. (The document lists [[Bill Duvall]] as having attended only the final working group meeting prior to publication.) In RFC 3, which first defined the RFC series, Steve Crocker started attributing the RFC series to the "Network Working Group". This group seems never to have had a formal existence, being rather defined as "this group of people", but the attribution remains on RFCs to this day. Many of the subsequent RFCs of the 1970s also came from UCLA, not only because of the quality of the [[Scholarly method|scholarship]], but also because UCLA was one of the first [[Interface Message Processor]]s (IMPs) on ARPANET. [[Douglas Engelbart]]'s [[Augmentation Research Center]] (ARC) at [[SRI International|Stanford Research Institute]] was another of the four first ARPANET [[Node (networking)|nodes]], as well as the first [[Network Information Centre]], and (as noted by the [[Sociology|sociologist]] [[Thierry Bardini]]) the source of a large number of early RFCs. From 1969 until 1998, [[Jon Postel]] served as the RFC [[editing|editor]]. Following the expiration of the original ARPANET contract with the U.S. federal government, the Internet Society (acting on behalf of the IETF) contracted with the Networking Division of the [[University of Southern California|USC]] [[Information Sciences Institute]] to assume the editorship and publishing responsibilities (under the direction of the IAB). Jon Postel continued to serve as the RFC Editor until his death. Later, [[Bob Braden]] has taken over the role of project lead, while [[Joyce K. Reynolds]] has continued to be part of the team. ==Obtaining RFCs== The official source for RFCs on the [[World Wide Web]] is the [http://www.rfc-editor.org/rfc.html RFC Editor]. Unofficially, they are obtainable from a multitude of mirrors accessible via the [[HyperText Transfer Protocol]], [[anonymous FTP]], the [[Gopher (protocol)|gopher protocol]], and other prominent [[application layer]] [[Protocol (computing)|protocols]]. One may retrieve almost any individual, published RFC, like RFC 5000, via a [[Uniform Resource Locator|URL]] in the form of the following example: <code>[http://www.rfc-editor.org/rfc/rfc5000.txt http://www.rfc-editor.org/rfc/rfc5000.txt]</code> Every RFC is submitted as plain [[ASCII]] text and is published in that form, but may also be available in other [[file format|formats]]. However, [[as of 2008]] the definitive version of any [[Internet standard|standards-track]] specification is the ASCII version. For easy access to the metadata of an RFC, including abstract, keywords, author(s), publication date, errata, status, and especially later updates, the ''RFC Editor'' site offers a search form with many features. A redirection sets some efficient parameters, example: <code>[http://purl.net/net/rfc/5000 http://purl.net/net/rfc/5000]</code> ==Status== ''Not all RFCs are standards''.<ref> {{cite web |url=http://tools.ietf.org/html/rfc1796 |title= Not All RFCs are Standards (RFC 1796) |accessdate= 2008-05-19 |last= Huitema |first= C. |coauthors= Postel, J.; Crocker, S. |year= 1995 |month= April |publisher= The Internet Engineering Task Force |quote= [E]ach RFC has a status…: Informational, Experimental, or Standards Track (Proposed Standard, Draft Standard, Internet Standard), or Historic. }} </ref> Each RFC is assigned a status with regard to the Internet standardization process. This status is one of the following: ''Informational'', ''Experimental'', ''Best Current Practice'' (''BCP''), ''Standards Track'', or ''Historic'' [sic]. ''Standards-track'' documents are further divided into ''Proposed Standard'', ''Draft Standard'', and ''Internet Standard'' documents. The term ''Historic'' is applied to deprecated standards-track documents or obsolete RFCs that were published before the standards track was established. Only the [[Internet Engineering Task Force|IETF]], represented by the [[Internet Engineering Steering Group]] (IESG), can approve [[Internet standard|standards-track]] RFCs. Each RFC is static; if the document is changed, it is submitted again and assigned a new RFC number. If an RFC becomes an Internet Standard (STD), it is assigned an STD number but retains its RFC number; however, when an Internet Standard is updated, its number stays the same and it simply refers to a different RFC or set of RFCs. A given Internet Standard, STD ''n'', may be RFCs ''x'' and ''y'' at a given time, but later the same standard may be updated to be RFC ''z'' instead. For example, in 2007 RFC 3700 was an Internet Standard—STD 1—and in May 2008 it was replaced with RFC 5000, so RFC 3700 changed to ''Historic'', RFC 5000 became an Internet Standard, and [[as of May 2008]] STD 1 is RFC 5000. When STD 1 is updated again, it will simply refer to a newer RFC that will have completed the standards track, but it will still be STD 1. Best Current Practices work in a similar fashion; BCP ''n'' refers to a certain RFC or set of RFCs, but which RFC or RFCs may change over time. The definitive list of Internet Standards is itself an Internet Standard, STD 1: ''Internet Official Protocol Standards''.<ref> {{cite web |url=ftp://ftp.rfc-editor.org/in-notes/std/std1.txt |title= Internet Official Protocol Standards (STD 1) |accessdate= 2008-05-19 |year= 1995 |month= April |format= plain text |publisher= RFC Editor }} </ref> An '''informational''' RFC can be nearly anything from April 1st jokes over proprietary protocols up to widely recognized essential RFCs like RFC 1591. Some '''informational''' RFCs form the subseries "for your information" (FYI). While rarely added to today, some old FYIs are still interesting, for example [http://rfc.net/fyi0018.html FYI 18] aka RFC 1983, the "Internet User's Glossary". [http://rfc.net/fyi0017.html FYI 17] or "The Tao of IETF" is now RFC 4677, published in 2006. An '''experimental''' RFC can be an [[Internet Engineering Task Force|IETF]] document or an individual submission to the ''RFC Editor''. In theory it is indeed experimental; in practice some documents are not promoted on standards track because there are no volunteers for the procedural details. The '''best current practice''' (BCP) subseries collects administrative documents and other texts which are considered as official rules and not only '''informational''', but which do not affect ''over the wire data''. The border between standards track and BCP is often unclear. If a document only affects the "Internet Standards Process", like BCP 9, or IETF administration, it is clearly a BCP. If it only defines rules and regulations for [[Internet Assigned Numbers Authority|IANA]] registries it is less clear; most of these documents are BCPs, but some are on the standards track. The BCP series also covers technical recommendations for how to practice Internet standards; for instance the recommendation to use source filtering to make DoS attacks more difficult (RFC 2827: "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing") is [http://tools.ietf.org/html/bcp38 BCP 38]. A '''historic''' RFC is one that is obsoleted by a newer version, documents a protocol that is not considered interesting in the current Internet, or has been removed from the standards track for other reasons. Some obsolete RFCs are not classified as '''historic''', because the "Internet Standards Process" generally does not allow normative references from a standards track RFC to another RFC with lower status. Also, few are interested in working through the required procedural details to get RFCs classified as '''historic''' and update all RFCs normatively depending on it. Status '''unknown''' is used for some very old RFCs, where it is unclear which status the document would get if it were published today. Some of these RFCs wouldn't be published at all today; an early RFC was often just that: a simple request for comments, not intended to specify a protocol, administrative procedure, or anything else for which the RFC series is used today. ==See also== *[[Academic publishing]] *[[Internet standard]] *[[List of RFCs]] *[[April Fools' Day RFC]] ==External links== *[http://www.ietf.org/rfc.html IETF's RFC page] *[http://tools.ietf.org/rfc/ RFC Index] (HTML) With the text of each RFC, also mentions what other RFCs this one "updates" or is "updated by". *[http://www.rfc-editor.org/ RFC Editor] *[http://www.rfc-editor.org/rfcfaq.html RFC Frequently Asked Questions] *[http://www.rfc-editor.org/rfc.html RFC Database] *[http://www.rfc-editor.org/errata.html RFC Errata] *[http://www.rfc-editor.org/rfc-index2.html RFC Index] (text) *[http://www.rfc-editor.org/rfcxx00.html Official RFC standardization status] *[http://qrfcview.berlios.de/ qRFCView] Downloads, views, and caches RFCs on Linux. ==References== {{reflist}} {{FOLDOC}} [[Category:Request for Comments]] [[bg:Request for Comments]] [[ca:Request for Comments]] [[cs:RFC]] [[da:Request for Comments]] [[de:Request for Comments]] [[et:RFC]] [[el:RFC]] [[es:Request For Comments]] [[eo:Request for Comments]] [[eu:Request For Comments]] [[fr:Request for comments]] [[ko:RFC]] [[id:RFC]] [[it:Request for Comments]] [[he:Request for Comments]] [[lt:RFC]] [[nl:Request For Comments]] [[ja:Request for Comments]] [[no:Request For Comments]] [[pl:Request For Comments]] [[pt:RFC]] [[ru:RFC]] [[sl:Zahteva za mnenja]] [[fi:RFC]] [[sv:Request for Comments]] [[vi:RFC]] [[uk:RFC]] [[zh:RFC]]