Best Current Practice; mandatory IETF RFCs not on standards track, see below.

Similar documents
Internet Engineering Task Force (IETF) Request for Comments: 6522 STD: 73 January 2012 Obsoletes: 3462 Category: Standards Track ISSN:

The Independent Stream an Introduction

Internet Engineering Task Force (IETF) Category: Standards Track September 2018 ISSN:

This Statement of Work describes tasks to be performed by the RFC Production Center (RPC).

This Statement of Work describes tasks to be performed by the RFC Production Center (RPC).

Internet Engineering Task Force (IETF) Request for Comments: 8142 Category: Standards Track April 2017 ISSN:

Network Working Group. Obsoletes: 3452, 3695 March 2009 Category: Standards Track

Project 3: Base64 Content-Transfer-Encoding

Request for Comments: 3548 July 2003 Category: Informational

Internet Engineering Task Force (IETF) Request for Comments: 6858 March 2013 Updates: 3501 Category: Standards Track ISSN:

The IETF. or Where do all those RFCs come from, anyway? Steven M. Bellovin

MIME and the Web. draft-masinter-mime-web-info-01.txt I-D by Larry Masinter Presented by Alexey Melnikov

D. Crocker, Ed. Updates: RFC4871 June 10, 2009 (if approved) Intended status: Standards Track Expires: December 12, 2009

Internet Engineering Task Force (IETF) Request for Comments: Obsoletes: 1652 Category: Standards Track

Request for Comments: 3932 October 2004 BCP: 92 Updates: 3710, 2026 Category: Best Current Practice

Internet Engineering Task Force (IETF) Category: Standards Track March 2015 ISSN:

Updates: 6126 May 2015 Category: Experimental ISSN: Extension Mechanism for the Babel Routing Protocol

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

Administrative Guideline. SMPTE Metadata Registers Maintenance and Publication SMPTE AG 18:2017. Table of Contents

Request for Comments: ISSN: S. Cantor Shibboleth Consortium August 2018

Extending IETF tools for Working Group Draft Tracking. WGDTspec BOF

February Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved.

Request for Comments: 851 Obsoletes RFC: 802. The ARPANET 1822L Host Access Protocol RFC 851. Andrew G. Malis ARPANET Mail:

Internet Engineering Task Force (IETF) Request for Comments: 8508 Category: Standards Track January 2019 ISSN:

Internet Engineering Task Force (IETF) Request for Comments: ISSN: Y. Umaoka IBM December 2010

IVOA Document Standards Version 0.1

Internet Architecture Board (IAB) Category: Informational May 2016 ISSN:

Text Record Type Definition. Technical Specification NFC Forum TM RTD-Text 1.0 NFCForum-TS-RTD_Text_

Internet Engineering Task Force (IETF) Updates: 5451 March 2012 Category: Standards Track ISSN:

Document Shepherds: Doing it well

Internet-Draft November 12, 2005 Obsoletes: 3548 (if approved) Expires: May 16, 2006

Category: Best Current Practice February Early IANA Allocation of Standards Track Code Points

N. Brownlee Independent Submissions Editor Expires: April 21, 2013 October 18, 2012

Internet-Draft Intended status: Standards Track July 4, 2014 Expires: January 5, 2015

Internet Engineering Task Force (IETF) Updates: 5322 March 2013 Category: Standards Track ISSN:

Internet Engineering Task Force (IETF) Updates: 5485 March 2018 Category: Informational ISSN:

Internet Engineering Task Force (IETF) Request for Comments: 8437 Updates: 3501 August 2018 Category: Standards Track ISSN:

Network Working Group. Obsoletes: 1342 September 1993 Category: Standards Track

Internet Engineering Task Force (IETF) Request for Comments: 5987 Category: Standards Track August 2010 ISSN:

Internet Engineering Task Force (IETF) Request for Comments: ISSN: November 2013

Internet Engineering Task Force (IETF) Category: Standards Track April 2013 ISSN: Formally Deprecating Some ICMPv4 Message Types

<draft-freed-charset-reg-02.txt> IANA Charset Registration Procedures. July Status of this Memo

Network Working Group. Expires: April 30, 2002 October 30, The Refer Method draft-ietf-sip-refer-02. Status of this Memo

Internet Engineering Task Force (IETF) Updates: 4326 June 2014 Category: Standards Track ISSN:

Request for Comments: 3405 BCP: 65 October 2002 Category: Best Current Practice

Category: Standards Track August 2002

ICANN Internet Assigned Numbers Authority Monthly Report May 11, For the Reporting Period of April 1, 2016 April 30, 2016

Internet Engineering Task Force (IETF) Category: Standards Track

Internet Engineering Task Force (IETF) Request for Comments: 6174 Category: Informational March 2011 ISSN:

Network Working Group Request for Comments: Category: Best Current Practice January IANA Charset Registration Procedures

Internet Engineering Task Force (IETF) Request for Comments: J. Haas Juniper Networks March 2019

Internet Engineering Task Force (IETF) Request for Comments: 8297 Category: Experimental December 2017 ISSN:

Internet Engineering Task Force (IETF) September Indicating Handling States in Trace Fields

Internet Engineering Task Force (IETF) Request for Comments: Category: Standards Track ISSN: September 2010

2017 ICANN-IETF MoU Supplemental Agreement Introduction

Internet Engineering Task Force (IETF) Updates: 6376 January 2018 Category: Standards Track ISSN:

Category: Standards Track March Extensible Provisioning Protocol (EPP) Transport Over TCP

October Network News Transfer Protocol (NNTP) Extension for Streaming Feeds

Internet Engineering Task Force (IETF) Request for Comments: 7043 Category: Informational October 2013 ISSN:

Internet Engineering Task Force (IETF) April 2012

Internet Engineering Task Force (IETF) Category: Standards Track December 2012 ISSN:

RFC 4871 DomainKeys Identified Mail (DKIM) Signatures -- Update draft-ietf-dkim-rfc4871-errata-03-01dc

MISB RP May Security Metadata Universal and Local Sets for Digital Motion Imagery. 1. Scope. 2. References

Network Working Group. Category: Informational. Harvard University G. Parsons. Nortel Networks. October 1998

Request for Comments: 5402 Category: Informational February 2010 ISSN:

Internet Engineering Task Force (IETF) Category: Standards Track ISSN: July 2012

Internet Engineering Task Force (IETF) Updates: 2474 August 2018 Category: Standards Track ISSN:

Internet Architecture Board (IAB) Request for Comments: 7994 Category: Informational December 2016 ISSN:

Internet Engineering Task Force (IETF) Category: Informational March 2017 ISSN:

Registry for Performance Metrics

Request for Comments: 3191 Obsoletes: 2303 October 2001 Updates: 2846 Category: Standards Track. Minimal GSTN address format in Internet Mail

Objectives. Upon completion you will be able to: Understand how the Internet came into being

MISB Standard Standard. 03 September Security Metadata Universal and Local Sets for Digital Motion Imagery. 1. Scope. 2.

Memory Addressing, Binary, and Hexadecimal Review

Request for Comments: 4393 Category: Standards Track March MIME Type Registrations for 3GPP2 Multimedia Files

Category: Standards Track July The Post Office Protocol (POP3) Simple Authentication and Security Layer (SASL) Authentication Mechanism

BCP: 9 October 1996 Obsoletes: 1602 Category: Best Current Practice

Internet Engineering Task Force (IETF) Category: Standards Track January 2019 ISSN:

Category: Informational January 2010 ISSN:

Submission Guide.

Request for Comments: 7314 Category: Experimental July 2014 ISSN: Extension Mechanisms for DNS (EDNS) EXPIRE Option.

J. Contreras, Ed. Updates: 2026 November 2008 Category: Best Current Practice

Is IPv4 Sufficient for Another 30 Years?

IANA Protocol Parameter Service Monthly Report February 14, For the Reporting Period of January 1, 2018 January 31, 2018

Internet Engineering Task Force (IETF) B. Claise Cisco Systems, Inc. G. Muenz Technische Universitaet Muenchen April 2010

Review of Number Systems

Intended status: Informational September 6, 2013 Expires: April 2014

Network Working Group. November 1999

Telemetry Data Sharing Using S/MIME

Internet Engineering Task Force (IETF) Request for Comments: 6175 Category: Informational March 2011 ISSN:

Internet Engineering Task Force (IETF) Request for Comments: Obsoletes: 3177 Category: Best Current Practice. March 2011

Network Working Group. Category: Standards Track July 2007

Chapter 3: Network Protocols and Communications CCENT Routing and Switching Introduction to Networks v6.0 Instructor Planning Guide

Request for Comments: 4329 April 2006 Category: Informational

Internet Engineering Task Force (IETF) Obsoletes: 2831 July 2011 Category: Informational ISSN:

Obsoletes: 5620 Category: Informational June 2012 ISSN:

Internet Engineering Task Force (IETF) Request for Comments: 6266 Updates: 2616 June 2011 Category: Standards Track ISSN:

Internet Engineering Task Force (IETF) Request for Comments: 6028 Category: Experimental ISSN: October 2010

Prefer Header for HTTP

Request for Comments: 2277 BCP: 18 January 1998 Category: Best Current Practice. IETF Policy on Character Sets and Languages. Status of this Memo

Transcription:

Request for Comments In computer network engineering, a Request for Comments () is a memorandum, usually published by the Editor on behalf of the Internet Engineering Task Force (IETF), describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internetconnected systems. Through the Internet Society, engineers and computer scientists may publish discourse in the form of an, either for peer review or simply to convey new concepts, information, or (occasionally) engineering humor. The IETF adopts some of the proposals published as s as Internet standards. Request For Comments documents were invented by Steve Crocker in 1969 to help record unofficial notes on the development of the ARPANET. They have since become the official record for Internet specifications, protocols, procedures, and events. [1] The Editor assigns each a unique serial number. Once assigned a number and published, an is never rescinded or modified; if the document requires amendments, the authors publish a revised document. Therefore, some s supersede others; the superseded s are said to be deprecated, obsolete, or obsoleted by the superseding. Together, the serialized s compose a continuous historical record of the evolution of Internet standards and practices. For more details about s and the process, see 2026, "The Internet Standards Process, Revision 3". [10] The production process differs from the standardization process of formal standards organizations such as ISO. Internet technology experts may submit an Internet Draft without support from an external institution. Standards-track s are published with approval from the IETF, and are usually produced by experts participating in working groups, which first publish an Internet Draft. This approach facilitates initial rounds of peer review before documents mature into s. Sub-series The series contains three sub-series for IETF s: BCP FYI STD Best Current Practice; mandatory IETF s not on standards track, see below. For Your Information; informational s promoted by the IETF as specified in 1150 (FYI 1). In 2011, 6360 obsoleted FYI 1 and concluded this sub-series. Standard; this used to be the third and highest maturity level of the IETF standards track specified in 2026 (BCP 9). In 2011 6410 (a new part of BCP 9) reduced the standards track to two maturity levels. Streams There are four streams of s: (1) IETF, (2) IRTF, (3) IAB, and (4) independent submission. Only the IETF creates BCPs and s on standards track. An independent submission is checked by the IESG for conflicts with IETF work; the quality is assessed by an independent submission editorial board. In other words, IRTF and independent s are supposed to contain relevant info or 1

experiments for the Internet at large not in conflict with IETF work; compare 4846, 5742, and 5744. Obtaining s The official source for s on the World Wide Web is the Editor. Almost any individual published, for example 5000, can be retrieved via the URL: http://www.rfceditor.org/rfc/rfc5000.txt Every is submitted as plain ASCII text and is published in that form, but may also be available in other formats. However, as of 2008 the definitive version of any standards-track specification is the ASCII version. For easy access to the metadata of an, including abstract, keywords, author(s), publication date, errata, status, and especially later updates, the Editor site offers a search form with many features. A redirection sets some efficient parameters, example: http://purl.net/net/rfc/5000 The official International Standard Serial Number (ISSN) of the series is 2070-1721. [7] Status Not all s are standards. [11] Each is assigned a designation with regard to status within 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 s that were published before the standards track was established. Only the IETF, represented by the Internet Engineering Steering Group (IESG), can approve standards-track s. Each is static; if the document is changed, it is submitted again and assigned a new number. If an becomes an Internet Standard (STD), it is assigned an STD number but retains its number; however, when an Internet Standard is updated, its number stays the same and it simply refers to a different or set of s. A given Internet Standard, STD n, may be s x and y at a given time, but later the same standard may be updated to be z instead. For example, in 2007 3700 was an Internet Standard STD 1 and in May 2008 it was replaced with 5000, so 3700 changed to Historic, 5000 became an Internet Standard, and as of May 2008 STD 1 is 5000. When STD 1 is updated again, it will simply refer to a newer 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 or set of s, but which or s may change over time. The definitive list of Internet Standards is itself an Internet Standard, STD 1: Internet Official Protocol Standards. [12] Status "informational" An informational can be nearly anything from April 1 jokes over proprietary protocols up to widely recognized essential s like Domain Name System Structure and Delegation ( 1591). Some informational s formed the FYI sub-series. 2

Status "experimental" An experimental can be an IETF document or an individual submission to the ' Editor'. A draft is designated experimental if it is unclear the proposal will work as intended or unclear if the proposal will be widely adopted. Experimental s may be promoted to standards track if it becomes popular and works well. [13] Status "best current practice" 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, [14] 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 ( 2827: "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing") is BCP 38. Status "historic" A historic is one that has been made obsolete 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 s are not classified as historic, because the Internet standards process generally does not allow normative references from a standards track to another with lower status. Also, few are interested in working through the required procedural details to get s classified as historic and update all s normatively depending on it. Status "unknown" Status unknown is used for some very old s, where it is unclear which status the document would get if it were published today. Some of these s would not be published at all today; an early was often just that: a simple request for comments, not intended to specify a protocol, administrative procedure, or anything else for which the series is used today. How MIME works? MIME stands for "Multipurpose Internet Mail Extensions". It sound both complicated and meaningless, but MIME extends the original capabilities of internet email in an exciting way. Email messages have been defined by 822 (and later 2822) since 1982, and they will probably continue to obey this standard for a long time to come. Nothing But Text, Plain Text Unfortunately, 822 suffers from a number of shortcomings. Most notably, messages conforming to that standard must not contain anything but plain ASCII text. 3

In order to send files (like pictures, text processor documents or programs), one has to convert them to plain text first and then send the result of the conversion in the body of an email message. The recipient has to extract the text from the message and convert it to the binary file format again. This is a cumbersome process, and before MIME it all had to be done by hand. MIME corrects this problem attached to 822, and it makes it possible to use international characters in email messages, too. With the 822 limitation to plain (English) text, this had not been possible before. The Lack of Structure In addition to being limited to ASCII characters, 822 does not identify the structure of a message or the format of the data. Since it is clear that you always get one junk of plain text data, this was not necessary when the standard was defined. MIME, in contrast, lets you send multiple pieces of different data in one message (say, a picture and a Word document), and it tells the recipient's email client what format the data is in so they can make smart choices displaying the message. When you get a picture, you do no longer have to figure out that it can be viewed with an image viewer. Your email client either displays the image itself or start a program on your computer that can. Building on and Extending 822 Now how does the MIME magic work? Basically, it employs the cumbersome process of sending arbitrary data in plain text described above. The MIME message standard does not replace the standard laid down in 822 but extends it. MIME messages cannot contain anything but ASCII text either. This means that all email data must still be encoded in plain text before the message is sent, and it must be decoded to its original format on the receiving end again. The early email users had to do that manually. MIME does it for us comfortably and seamlessly, usually via a smart process called Base64 encoding. Life as a MIME Email Message When you compose a message in an email program capable of MIME, the program does roughly the following: If the message is in plain ASCII text only, it leaves it alone and only tells the recipient's email client to expect nothing but plain text. If the message contains one or more attachments and a body with HTML formatting, each part is looked at and treated separately. First, the format of the data is determined. This is necessary to tell the recipient's email client what to do with the data, and to ensure proper encoding so nothing is lost during transfer. Then the data is encoded if it is in a format other than plain ASCII text. In the encoding process, the data is converted to the plain text suitable for 822 messages. 4

Finally, the encoded data is inserted in the message, and the recipient's email client is informed what kinds of data to expect: Are there attachments? How are they encoded? What format was the original file in? On the recipient's end, the process is reversed. First, the email client reads the information that was added by the sender's email client: Do I have to look for attachments? How do I decode them? how do I handle the resulting files? Then, each part of the message is extracted and decoded if necessary. Finally, the email client displays the resulting parts to the user. The plain text body is shown in line in the email client together with the image attachment. The program also attached to the message is displayed with an attachment icon, and the user can decide what to do with it. She can save it somewhere on her disk, or start it directly from the email program. Suggested Reading How Base64 Encoding Works MIME (Definition) Base64 encoding makes it possible to send all kinds of data via Internet email. If the internet is the information highway, then the path for email is a narrow ravine. Only very small carts can pass. The transport system of email is designed for plain ASCII text only. Trying to send text in other languages or arbitrary files is like getting a truck through the ravine. How Does the Big Truck go Through the Ravine? Then how do you send a big truck through a small ravine? You have to take it to pieces on the one end, transport the pieces through the ravine, and rebuild the truck from the pieces on the other end. The same happens when you send a file attachment via email. In a process known as encoding the binary data is transformed to ASCII text, which can be transported in email without problems. On the recipient's end, the data is decoded and the original file is rebuilt. One method of encoding arbitrary data as plain ASCII text is Base64. It is one of the techniques employed by the MIME standard to send data other than plain text. Base64 to the Rescue Base64 encoding takes three bytes, each consisting of eight bits, and represents them as four printable characters in the ASCII standard. It does that in essentially two steps. The first step is to convert three bytes to four numbers of six bits. Each character in the ASCII standard consists of seven bits. Base64 only uses 6 bits (corresponding to 2^6 = 64 characters) to ensure encoded data is printable and humanly readable. None of the special characters available in ASCII are used. The 64 characters (hence the name Base64) are 10 digits, 26 lowercase characters, 26 uppercase characters as well as '+' and '/'. If, for example, the three bytes are 155, 162 and 233, the corresponding (and frightening) bit stream is 100110111010001011101001, which in turn corresponds to the 6-bit values 38, 58, 11 and 41. 5

These numbers are converted to ASCII characters in the second step using the Base64 encoding table. The 6-bit values of our example translate to the ASCII sequence "m6lp". 155 -> 10011011 162 -> 10100010 233 -> 11101001 100110 -> 38 111010 -> 58 001011 -> 11 101001 -> 41 38 -> m 58 -> 6 11 -> L 41 -> p This two-step process is applied to the whole sequence of bytes that are encoded. To ensure the encoded data can be properly printed and does not exceed any mail server's line length limit, newline characters are inserted to keep line lengths below 76 characters. The newline characters are encoded like all other data. Solving the Endgame At the end of the encoding process we might run into a problem. If the size of the original data in bytes is a multiple of three, everything works fine. If it is not, we might end up with one or two 8-bit bytes. For proper encoding, we need exactly three bytes, however. The solution is to append enough bytes with a value of '0' to create a 3-byte group. Two such values are appended if we have one extra byte of data, one is appended for two extra bytes. Of course, these artificial trailing '0's cannot be encoded using the encoding table. They must be represented by a 65th character. The Base64 padding character is '='. Naturally, it can only ever appear at the end of encoded data. 6