summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfukachan <fukachan>2001-10-08 05:35:29 +0000
committerfukachan <fukachan>2001-10-08 05:35:29 +0000
commit72b9fdcd785f7657f694dac0380da169d0f05bf9 (patch)
tree2e2cf6a76e2d3b530eef4ae47e30ff30d1aa49c7
parent8046f9e53bed4322a1b4d2c43502d25989924198 (diff)
downloadfml8-72b9fdcd785f7657f694dac0380da169d0f05bf9.tar.gz
fml8-72b9fdcd785f7657f694dac0380da169d0f05bf9.tar.bz2
fml8-72b9fdcd785f7657f694dac0380da169d0f05bf9.zip
add missing rfc in the rfc links (obsolete, update)
-rw-r--r--Documentation/en/rfc/rfc-index.txt11362
-rw-r--r--Documentation/en/rfc/rfc1034.txt3077
-rw-r--r--Documentation/en/rfc/rfc1035.txt3077
-rw-r--r--Documentation/en/rfc/rfc1101.txt787
-rw-r--r--Documentation/en/rfc/rfc1183.txt619
-rw-r--r--Documentation/en/rfc/rfc1341.txt5265
-rw-r--r--Documentation/en/rfc/rfc1342.txt395
-rw-r--r--Documentation/en/rfc/rfc1348.txt227
-rw-r--r--Documentation/en/rfc/rfc1425.txt563
-rw-r--r--Documentation/en/rfc/rfc1426.txt339
-rw-r--r--Documentation/en/rfc/rfc1522.txt563
-rw-r--r--Documentation/en/rfc/rfc1558.txt171
-rw-r--r--Documentation/en/rfc/rfc1590.txt395
-rw-r--r--Documentation/en/rfc/rfc1637.txt619
-rw-r--r--Documentation/en/rfc/rfc1706.txt563
-rw-r--r--Documentation/en/rfc/rfc1806.txt451
-rw-r--r--Documentation/en/rfc/rfc1876.txt1011
-rw-r--r--Documentation/en/rfc/rfc1960.txt171
-rw-r--r--Documentation/en/rfc/rfc1982.txt394
-rw-r--r--Documentation/en/rfc/rfc1995.txt451
-rw-r--r--Documentation/en/rfc/rfc1996.txt395
-rw-r--r--Documentation/en/rfc/rfc2010.txt395
-rw-r--r--Documentation/en/rfc/rfc2047.txt843
-rw-r--r--Documentation/en/rfc/rfc2048.txt1180
-rw-r--r--Documentation/en/rfc/rfc2049.txt1347
-rw-r--r--Documentation/en/rfc/rfc2065.txt2299
-rw-r--r--Documentation/en/rfc/rfc2136.txt1459
-rw-r--r--Documentation/en/rfc/rfc2137.txt619
-rw-r--r--Documentation/en/rfc/rfc2181.txt842
-rw-r--r--Documentation/en/rfc/rfc2183.txt675
-rw-r--r--Documentation/en/rfc/rfc2184.txt507
-rw-r--r--Documentation/en/rfc/rfc2231.txt563
-rw-r--r--Documentation/en/rfc/rfc2308.txt1067
-rw-r--r--Documentation/en/rfc/rfc2376.txt843
-rw-r--r--Documentation/en/rfc/rfc2535.txt2635
-rw-r--r--Documentation/en/rfc/rfc2646.txt787
-rw-r--r--Documentation/en/rfc/rfc2845.txt843
-rw-r--r--Documentation/en/rfc/rfc2931.txt563
-rw-r--r--Documentation/en/rfc/rfc3007.txt507
-rw-r--r--Documentation/en/rfc/rfc3008.txt395
-rw-r--r--Documentation/en/rfc/rfc3023.txt2187
-rw-r--r--Documentation/en/rfc/rfc3090.txt619
-rw-r--r--Documentation/en/rfc/rfc724.txt1869
-rw-r--r--Documentation/en/rfc/rfc733.txt1958
-rw-r--r--Documentation/en/rfc/rfc772.txt1798
-rw-r--r--Documentation/en/rfc/rfc780.txt2599
-rw-r--r--Documentation/en/rfc/rfc788.txt3697
-rw-r--r--Documentation/en/rfc/rfc882.txt1798
-rw-r--r--Documentation/en/rfc/rfc883.txt4349
-rw-r--r--Documentation/en/rfc/rfc912.txt171
-rw-r--r--Documentation/en/rfc/rfc931.txt278
-rw-r--r--Documentation/en/rfc/rfc973.txt570
52 files changed, 71157 insertions, 0 deletions
diff --git a/Documentation/en/rfc/rfc-index.txt b/Documentation/en/rfc/rfc-index.txt
new file mode 100644
index 00000000..d58d4c01
--- /dev/null
+++ b/Documentation/en/rfc/rfc-index.txt
@@ -0,0 +1,11362 @@
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ RFC INDEX
+ -------------
+
+(CREATED ON: 10/04/2001.)
+
+This file contains citations for all RFCs in numeric order.
+
+RFC citations appear in this format:
+
+ #### Title of RFC. Author 1, Author 2, Author 3. Issue date.
+ (Format: ASCII) (Obsoletes xxx) (Obsoleted by xxx) (Updates xxx)
+ (Updated by xxx) (Also FYI ####) (Status: ssssss)
+
+or
+
+ #### Not Issued.
+
+For example:
+
+ 1129 Internet Time Synchronization: The Network Time Protocol. D.L.
+ Mills. Oct-01-1989. (Format: TXT=298, PS=551697, PDF=197036 bytes)
+ (Also RFC1119) (Status: UNKNOWN)
+
+Key to citations:
+
+#### is the RFC number.
+
+Following the RFC number are the title, the author(s), and the
+publication date of the RFC. Each of these is terminated by a period.
+
+Following the number are the title (terminated with a period), the
+author, or list of authors (terminated with a period), and the date
+(terminated with a period).
+
+The format and length follow in parenthesis. One or more of the
+following alternative formats are listed: ASCII text (TXT), PostScript
+(PS), and/or Adobe (PDF). Each format is followed by an equals sign
+and the number of bytes for that version. For example (Format:
+TXT=aaaaa, PS=bbbbbb bytes) shows that the ASCII text version is aaaaa
+bytes, and the PostScript version of the RFC is bbbbbb bytes.
+
+Obsoletes xxxx refers to other RFCs that this one replaces;
+Obsoleted by xxxx refers to RFCs that have replaced this one.
+Updates xxxx refers to other RFCs that this one merely updates but
+does not replace); Updated by xxxx refers to RFCs that have updated
+(but not replaced) this one. Generally, only immediately succeeding
+and/or preceding RFCs are indicated, not the entire history of each
+related earlier or later RFC in a related series.
+
+The (Also FYI ##) or (Also STD ##) or (Also BCP ##) phrase gives the
+equivalent FYI, STD, or BCP number if the RFC is also in those
+document sub-series. Finally, the Status field gives the document's
+current status (see RFC 2026).
+
+RFCs may be obtained in a number of ways, using HTTP, FTP, or email.
+See the RFC Editor Web page http://www.rfc-editor.org
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ RFC INDEX
+ ---------
+
+
+
+0001 Host Software. S. Crocker. Apr-07-1969. (Format: TXT=21088 bytes)
+ (Status: UNKNOWN)
+
+0002 Host software. B. Duvall. Apr-09-1969. (Format: TXT=17145 bytes)
+ (Status: UNKNOWN)
+
+0003 Documentation conventions. S.D. Crocker. Apr-09-1969. (Format:
+ TXT=2323 bytes) (Obsoleted by RFC0010) (Status: UNKNOWN)
+
+0004 Network timetable. E.B. Shapiro. Mar-24-1969. (Format: TXT=5933
+ bytes) (Status: UNKNOWN)
+
+0005 Decode Encode Language (DEL). J. Rulifson. Jun-02-1969. (Format:
+ TXT=26408 bytes) (Status: UNKNOWN)
+
+0006 Conversation with Bob Kahn. S.D. Crocker. Apr-10-1969. (Format:
+ TXT=1568 bytes) (Status: UNKNOWN)
+
+0007 Host-IMP interface. G. Deloche. May-01-1969. (Not online)
+ (Status: UNKNOWN)
+
+0008 Functional specifications for the ARPA Network. G. Deloche.
+ May-05-1969. (Not online) (Status: UNKNOWN)
+
+0009 Host software. G. Deloche. May-01-1969. (Not online) (Status:
+ UNKNOWN)
+
+0010 Documentation conventions. S.D. Crocker. Jul-29-1969. (Format:
+ TXT=3348 bytes) (Obsoletes RFC0003) (Obsoleted by RFC0016) (Updated
+ by RFC0024, RFC0027, RFC0030) (Status: UNKNOWN)
+
+0011 Implementation of the Host-Host software procedures in GORDO. G.
+ Deloche. Aug-01-1969. (Not online) (Obsoleted by RFC0033) (Status:
+ UNKNOWN)
+
+0012 IMP-Host interface flow diagrams. M. Wingfield. Aug-26-1969. (Not
+ online) (Status: UNKNOWN)
+
+0013 Zero Text Length EOF Message. V. Cerf. Aug-20-1969. (Format:
+ TXT=1070 bytes) (Status: UNKNOWN)
+
+0015 Network subsystem for time sharing hosts. C.S. Carr. Sep-25-1969.
+ (Format: TXT=10695 bytes) (Status: UNKNOWN)
+
+0016 M.I.T. S. Crocker. Aug-27-1969. (Format: TXT=682 bytes)
+ (Obsoletes RFC0010) (Obsoleted by RFC0024) (Updated by RFC0024,
+ RFC0027, RFC0030) (Status: UNKNOWN)
+
+0017 Some questions re: Host-IMP Protocol. J.E. Kreznar. Aug-27-1969.
+ (Format: TXT=6065 bytes) (Status: UNKNOWN)
+
+0018 IMP-IMP and HOST-HOST Control Links. V. Cerf. Sep-01-1969.
+ (Format: TXT=634 bytes) (Status: UNKNOWN)
+
+0019 Two protocol suggestions to reduce congestion at swap bound
+ nodes. J.E. Kreznar. Oct-07-1969. (Format: TXT=3392 bytes) (Status:
+ UNKNOWN)
+
+0020 ASCII format for network interchange. V.G. Cerf. Oct-16-1969.
+ (Format: TXT=18504 bytes) (Status: UNKNOWN)
+
+0021 Network meeting. V.G. Cerf. Oct-17-1969. (Format: TXT=2143 bytes)
+ (Status: UNKNOWN)
+
+0022 Host-host control message formats. V.G. Cerf. Oct-17-1969.
+ (Format: TXT=4606 bytes) (Status: UNKNOWN)
+
+0023 Transmission of Multiple Control Messages. G. Gregg. Oct-16-1969.
+ (Format: TXT=690 bytes) (Status: UNKNOWN)
+
+0024 Documentation Conventions. S.D. Crocker. Nov-21-1969. (Format:
+ TXT=3460 bytes) (Obsoletes RFC0016) (Updates RFC0010, RFC0016)
+ (Updated by RFC0027, RFC0030) (Status: UNKNOWN)
+
+0025 No High Link Numbers. S.D. Crocker. Oct-30-1969. (Format: TXT=479
+ bytes) (Status: UNKNOWN)
+
+0027 Documentation Conventions. S.D. Crocker. Dec-09-1969. (Format:
+ TXT=3661 bytes) (Updates RFC0010, RFC0016, RFC0024) (Updated by
+ RFC0030) (Status: UNKNOWN)
+
+0028 Time Standards. W.K. English. Jan-13-1970. (Format: TXT=557
+ bytes) (Status: UNKNOWN)
+
+0029 Response to RFC 28. R.E. Kahn. Jan-19-1970. (Format: TXT=790
+ bytes) (Also RFC0028) (Status: UNKNOWN)
+
+0030 Documentation Conventions. S.D. Crocker. Feb-04-1970. (Format:
+ TXT=4041 bytes) (Updates RFC0010, RFC0016, RFC0024, RFC0027) (Status:
+ UNKNOWN)
+
+0031 Binary Message Forms in Computer. D. Bobrow, W.R. Sutherland.
+ Feb-01-1968. (Format: TXT=11191 bytes) (Status: UNKNOWN)
+
+0032 Connecting M.I.T. Computers to the ARPA Computer-To-Computer
+ Communication Network. D. Vedder. Feb-05-1969. (Format: TXT=2216
+ bytes) (Status: UNKNOWN)
+
+0033 New Host-Host Protocol. S.D. Crocker. Feb-12-1970. (Format:
+ TXT=44167 bytes) (Obsoletes RFC0011) (Updated by RFC0036, RFC0047)
+ (Status: UNKNOWN)
+
+0034 Some Brief Preliminary Notes on the Augmentation Research Center
+ Clock. W.K. English. Feb-26-1970. (Format: TXT=2534 bytes) (Status:
+ UNKNOWN)
+
+0035 Network Meeting. S.D. Crocker. Mar-03-1970. (Format: TXT=1282
+ bytes) (Status: INFORMATIONAL)
+
+0036 Protocol Notes. S.D. Crocker. Mar-16-1970. (Format: TXT=13893
+ bytes) (Updates RFC0033) (Updated by RFC0039, RFC0044) (Status:
+ UNKNOWN)
+
+0037 Network Meeting Epilogue, etc. S.D. Crocker. Mar-20-1970.
+ (Format: TXT=9107 bytes) (Status: UNKNOWN)
+
+0038 Comments on Network Protocol from NWG/RFC #36. S.M. Wolfe.
+ Mar-20-1970. (Format: TXT=2536 bytes) (Status: UNKNOWN)
+
+0039 Comments on Protocol Re: NWG/RFC #36. E. Harslem, J.F. Heafner.
+ Mar-25-1970. (Format: TXT=4779 bytes) (Updates RFC0036) (Status:
+ UNKNOWN)
+
+0040 More Comments on the Forthcoming Protocol. E. Harslem, J.F.
+ Heafner. Mar-27-1970. (Format: TXT=3825 bytes) (Status: UNKNOWN)
+
+0041 IMP-IMP Teletype Communication. J.T. Melvin. Mar-30-1970.
+ (Format: TXT=1038 bytes) (Status: UNKNOWN)
+
+0042 Message Data Types. E. Ancona. Mar-31-1970. (Format: TXT=5247
+ bytes) (Status: UNKNOWN)
+
+0043 Proposed Meeting. A.G. Nemeth. Apr-08-1970. (Format: TXT=1600
+ bytes) (Status: UNKNOWN)
+
+0044 Comments on NWG/RFC 33 and 36. A. Shoshani, R. Long, A.
+ Landsberg. Apr-10-1970. (Format: TXT=7381 bytes) (Updates RFC0036)
+ (Status: UNKNOWN)
+
+0045 New Protocol is Coming. J. Postel, S.D. Crocker. Apr-14-1970.
+ (Format: TXT=1130 bytes) (Status: UNKNOWN)
+
+0046 ARPA Network protocol notes. E. Meyer. Apr-17-1970. (Format:
+ TXT=41338 bytes) (Status: UNKNOWN)
+
+0047 BBN's Comments on NWG/RFC #33. W.R. Crowther. Apr-20-1970.
+ (Format: TXT=5343 bytes) (Updates RFC0033) (Status: UNKNOWN)
+
+0048 Possible protocol plateau. J. Postel, S.D. Crocker. Apr-21-1970.
+ (Format: TXT=41696 bytes) (Status: UNKNOWN)
+
+0049 Conversations with S. Crocker (UCLA). E. Meyer. Apr-25-1970.
+ (Format: TXT=12384 bytes) (Status: UNKNOWN)
+
+0050 Comments on the Meyer Proposal. E. Harslem, J. Haverty.
+ Apr-30-1970. (Format: TXT=4070 bytes) (Status: UNKNOWN)
+
+0051 Proposal for a Network Interchange Language. M. Elie.
+ May-04-1970. (Not online) (Status: UNKNOWN)
+
+0052 Updated distribution list. J. Postel, S.D. Crocker. Jul-01-1970.
+ (Format: TXT=5088 bytes) (Updated by RFC0069) (Status: UNKNOWN)
+
+0053 Official protocol mechanism. S.D. Crocker. Jun-09-1970. (Format:
+ TXT=2330 bytes) (Status: UNKNOWN)
+
+0054 Official Protocol Proffering. S.D. Crocker, J. Postel, J.
+ Newkirk, M. Kraley. Jun-18-1970. (Format: TXT=20131 bytes) (Updated
+ by RFC0057) (Status: UNKNOWN)
+
+0055 Prototypical implementation of the NCP. J. Newkirk, M. Kraley, J.
+ Postel, S.D. Crocker. Jun-19-1970. (Format: TXT=48070 bytes) (Status:
+ UNKNOWN)
+
+0056 Third Level Protocol: Logger Protocol. E. Belove, D. Black, R.
+ Flegal, L.G. Farquar. Jun-01-1970. (Format: TXT=13066 bytes) (Status:
+ UNKNOWN)
+
+0057 Thoughts and Reflections on NWG/RFC 54. M. Kraley, J. Newkirk.
+ Jun-19-1970. (Format: TXT=8360 bytes) (Updates RFC0054) (Status:
+ UNKNOWN)
+
+0058 Logical Message Synchronization. T.P. Skinner. Jun-26-1970.
+ (Format: TXT=3767 bytes) (Status: UNKNOWN)
+
+0059 Flow Control - Fixed Versus Demand Allocation. E. Meyer.
+ Jun-27-1970. (Format: TXT=17691 bytes) (Status: UNKNOWN)
+
+0060 Simplified NCP Protocol. R.B. Kalin. Jul-13-1970. (Format:
+ TXT=18941 bytes) (Status: UNKNOWN)
+
+0061 Note on Interprocess Communication in a Resource Sharing Computer
+ Network. D.C. Walden. Jul-17-1970. (Format: TXT=43946 bytes)
+ (Obsoleted by RFC0062) (Status: UNKNOWN)
+
+0062 Systems for Interprocess Communication in a Resource Sharing
+ Computer Network. D.C. Walden. Aug-03-1970. (Format: TXT=55784 bytes)
+ (Obsoletes RFC0061) (Status: UNKNOWN)
+
+0063 Belated Network Meeting Report. V.G. Cerf. Jul-31-1970. (Format:
+ TXT=2961 bytes) (Status: UNKNOWN)
+
+0064 Getting rid of marking. M. Elie. Jul-01-1970. (Format: TXT=7556
+ bytes) (Status: UNKNOWN)
+
+0065 Comments on Host/Host Protocol document #1. D.C. Walden.
+ Aug-29-1970. (Format: TXT=5628 bytes) (Status: UNKNOWN)
+
+0066 NIC - third level ideas and other noise. S.D. Crocker.
+ Aug-26-1970. (Format: TXT=4575 bytes) (Obsoleted by RFC0123) (Updated
+ by RFC0080, RFC0093) (Status: UNKNOWN)
+
+0067 Proposed Change to Host/IMP Spec to Eliminate Marking. W.R.
+ Crowther. Jan-01-1970. (Format: TXT=1534 bytes) (Status: UNKNOWN)
+
+0068 Comments on Memory Allocation Control Commands: CEASE, ALL, GVB,
+ RET, and RFNM. M. Elie. Aug-31-1970. (Format: TXT=5041 bytes)
+ (Status: UNKNOWN)
+
+0069 Distribution List Change for MIT. A.K. Bhushan. Sep-22-1970.
+ (Format: TXT=841 bytes) (Updates RFC0052) (Status: UNKNOWN)
+
+0070 Note on Padding. S.D. Crocker. Oct-15-1970. (Format: TXT=12790
+ bytes) (Updated by RFC0228) (Status: UNKNOWN)
+
+0071 Reallocation in Case of Input Error. T. Schipper. Sep-25-1970.
+ (Format: TXT=1265 bytes) (Status: UNKNOWN)
+
+0072 Proposed Moratorium on Changes to Network Protocol. R.D.
+ Bressler. Sep-28-1970. (Format: TXT=4047 bytes) (Status: UNKNOWN)
+
+0073 Response to NWG/RFC 67. S.D. Crocker. Sep-25-1970. (Format:
+ TXT=1268 bytes) (Status: UNKNOWN)
+
+0074 Specifications for network use of the UCSB On-Line System. J.E.
+ White. Oct-16-1970. (Not online) (Updated by RFC0217, RFC0225)
+ (Status: UNKNOWN)
+
+0075 Network Meeting. S.D. Crocker. Oct-14-1970. (Format: TXT=1318
+ bytes) (Status: UNKNOWN)
+
+0076 Connection by name: User oriented protocol. J. Bouknight, J.
+ Madden, G.R. Grossman. Oct-28-1970. (Format: TXT=26504 bytes)
+ (Status: UNKNOWN)
+
+0077 Network meeting report. J. Postel. Nov-20-1970. (Format:
+ TXT=19196 bytes) (Status: UNKNOWN)
+
+0078 NCP Status Report: UCSB/Rand. E. Harslem, J.F. Heafner, J.E.
+ White. Oct-01-1970. (Format: TXT=1303 bytes) (Status: UNKNOWN)
+
+0079 Logger Protocol error. E. Meyer. Nov-16-1970. (Format: TXT=1515
+ bytes) (Status: UNKNOWN)
+
+0080 Protocols and Data Formats. E. Harslem, J.F. Heafner.
+ Dec-01-1970. (Not online) (Obsoleted by RFC0123) (Updates RFC0066)
+ (Updated by RFC0093) (Status: UNKNOWN)
+
+0081 Request for Reference Information. J. Bouknight. Dec-03-1970.
+ (Format: TXT=956 bytes) (Status: UNKNOWN)
+
+0082 Network Meeting Notes. E. Meyer. Dec-09-1970. (Format: TXT=38023
+ bytes) (Status: UNKNOWN)
+
+0083 Language-machine for data reconfiguration. R.H. Anderson, E.
+ Harslem, J.F. Heafner. Dec-18-1970. (Not online) (Status: UNKNOWN)
+
+0084 List of NWG/RFC's 1-80. J.B. North. Dec-23-1970. (Format:
+ TXT=12613 bytes) (Status: UNKNOWN)
+
+0085 Network Working Group meeting. S.D. Crocker. Dec-28-1970.
+ (Format: TXT=1547 bytes) (Status: UNKNOWN)
+
+0086 Proposal for a Network Standard Format for a Data Stream to
+ Control Graphics Display. S.D. Crocker. Jan-05-1971. (Format:
+ TXT=7117 bytes) (Updated by RFC0125) (Status: UNKNOWN)
+
+0087 Topic for Discussion at the Next Network Working Group Meeting.
+ A. Vezza. Jan-12-1971. (Format: TXT=3593 bytes) (Status: UNKNOWN)
+
+0088 NETRJS: A third level protocol for Remote Job Entry. R.T. Braden,
+ S.M. Wolfe. Jan-13-1971. (Not online) (Obsoleted by RFC0189) (Status:
+ UNKNOWN)
+
+0089 Some historic moments in networking. R.M. Metcalfe. Jan-19-1971.
+ (Not online) (Status: UNKNOWN)
+
+0090 CCN as a Network Service Center. R.T. Braden. Jan-25-1971.
+ (Format: TXT=11929 bytes) (Status: UNKNOWN)
+
+0091 Proposed User-User Protocol. G.H. Mealy. Dec-27-1970. (Format:
+ TXT=27005 bytes) (Status: UNKNOWN)
+
+0093 Initial Connection Protocol. A.M. McKenzie. Jan-27-1971. (Format:
+ TXT=1746 bytes) (Updates RFC0066, RFC0080) (Status: UNKNOWN)
+
+0094 Some thoughts on Network Graphics. E. Harslem, J.F. Heafner.
+ Feb-03-1971. (Format: TXT=13516 bytes) (Status: UNKNOWN)
+
+0095 Distribution of NWG/RFC's through the NIC. S.D. Crocker.
+ Feb-04-1971. (Format: TXT=8938 bytes) (Obsoleted by RFC0155) (Status:
+ UNKNOWN)
+
+0096 An Interactive Network Experiment to Study Modes of Access the
+ Network Information Center. R.W. Watson. Feb-12-1971. (Format:
+ TXT=11334 bytes) (Status: INFORMATIONAL)
+
+0097 First Cut at a Proposed Telnet Protocol. J.T. Melvin, R.W.
+ Watson. Feb-15-1971. (Not online) (Status: UNKNOWN)
+
+0098 Logger Protocol Proposal. E. Meyer, T. Skinner. Feb-11-1971.
+ (Format: TXT=24536 bytes) (Updated by RFC0123) (Status: UNKNOWN)
+
+0099 Network Meeting. P.M. Karp. Feb-22-1971. (Format: TXT=1010 bytes)
+ (Updated by RFC0116) (Status: UNKNOWN)
+
+0100 Categorization and guide to NWG/RFCs. P.M. Karp. Feb-26-1971.
+ (Format: TXT=62473 bytes) (Status: UNKNOWN)
+
+0101 Notes on the Network Working Group meeting, Urbana, Illinois,
+ February 17, 1971. R.W. Watson. Feb-23-1971. (Format: TXT=30343
+ bytes) (Updated by RFC0108, RFC0123) (Status: UNKNOWN)
+
+0102 Output of the Host-Host Protocol glitch cleaning committee. S.D.
+ Crocker. Feb-22-1971. (Format: TXT=8511 bytes) (Updated by RFC0107)
+ (Status: UNKNOWN)
+
+0103 Implementation of Interrupt Keys. R.B. Kalin. Feb-24-1971.
+ (Format: TXT=7592 bytes) (Status: UNKNOWN)
+
+0104 Link 191. J.B. Postel, S.D. Crocker. Feb-25-1971. (Format:
+ TXT=1017 bytes) (Status: UNKNOWN)
+
+0105 Network Specifications for Remote Job Entry and Remote Job Output
+ Retrieval at UCSB. J.E. White. Mar-22-1971. (Format: TXT=21938 bytes)
+ (Updated by RFC0217) (Status: UNKNOWN)
+
+0106 User/Server Site Protocol Network Host Questionnaire. T.C.
+ O'Sullivan. Mar-03-1971. (Format: TXT=6946 bytes) (Status: UNKNOWN)
+
+0107 Output of the Host-Host Protocol Glitch Cleaning Committee. R.D.
+ Bressler, S.D. Crocker, W.R. Crowther, G.R. Grossman, R.S. Tomlinson,
+ J.E. White. Mar-23-1971. (Format: TXT=18109 bytes) (Updates RFC0102)
+ (Updated by RFC0111, RFC0124, RFC0132, RFC0154, RFC0179) (Status:
+ UNKNOWN)
+
+0108 Attendance list at the Urbana NWG meeting, February 17-19, 1971.
+ R.W. Watson. Mar-25-1971. (Format: TXT=1597 bytes) (Updates RFC0101)
+ (Status: UNKNOWN)
+
+0109 Level III Server Protocol for the Lincoln Laboratory NIC 360/67
+ Host. J.M. Winett. Mar-24-1971. (Not online) (Also RFC0393) (Status:
+ UNKNOWN)
+
+0110 Conventions for using an IBM 2741 terminal as a user console for
+ access to network server hosts. J.M. Winett. Mar-25-1971. (Not
+ online) (Updated by RFC0135) (Status: UNKNOWN)
+
+0111 Pressure from the Chairman. S.D. Crocker. Mar-31-1971. (Format:
+ TXT=2098 bytes) (Updates RFC0107) (Updated by RFC0130) (Status:
+ UNKNOWN)
+
+0112 User/Server Site Protocol: Network host questionnaire responses.
+ T.C. O'Sullivan. Apr-01-1971. (Not online) (Status: UNKNOWN)
+
+0113 Network activity report: UCSB Rand. E. Harslem, J.F. Heafner,
+ J.E. White. Apr-05-1971. (Format: TXT=3442 bytes) (Updated by
+ RFC0227) (Status: UNKNOWN)
+
+0114 File Transfer Protocol. A.K. Bhushan. Apr-10-1971. (Format:
+ TXT=38981 bytes) (Updated by RFC0133, RFC0141, RFC0171, RFC0172)
+ (Status: UNKNOWN)
+
+0115 Some Network Information Center policies on handling documents.
+ R.W. Watson, J.B. North. Apr-16-1971. (Format: TXT=16775 bytes)
+ (Status: UNKNOWN)
+
+0116 Structure of the May NWG Meeting. S.D. Crocker. Apr-12-1971.
+ (Format: TXT=2395 bytes) (Updates RFC0099) (Updated by RFC0131,
+ RFC0156) (Status: UNKNOWN)
+
+0117 Some comments on the official protocol. J. Wong. Apr-07-1971.
+ (Format: TXT=7128 bytes) (Status: UNKNOWN)
+
+0118 Recommendations for facility documentation. R.W. Watson.
+ Apr-16-1971. (Format: TXT=4573 bytes) (Status: UNKNOWN)
+
+0119 Network Fortran subprograms. M. Krilanovich. Apr-21-1971. (Not
+ online) (Status: UNKNOWN)
+
+0120 Network PL1 subprograms. M. Krilanovich. Apr-21-1971. (Format:
+ TXT=37192 bytes) (Status: UNKNOWN)
+
+0121 Network on-line operators. M. Krilanovich. Apr-21-1971. (Format:
+ TXT=29419 bytes) (Status: UNKNOWN)
+
+0122 Network specifications for UCSB's Simple-Minded File System. J.E.
+ White. Apr-26-1971. (Format: TXT=47638 bytes) (Updated by RFC0217,
+ RFC0269, RFC0399, RFC0431) (Status: UNKNOWN)
+
+0123 Proffered Official ICP. S.D. Crocker. Apr-20-1971. (Format:
+ TXT=4812 bytes) (Obsoletes RFC0066, RFC0080) (Obsoleted by RFC0165)
+ (Updates RFC0098, RFC0101) (Updated by RFC0127, RFC0143, RFC0148)
+ (Status: UNKNOWN)
+
+0124 Typographical error in RFC 107. J.T. Melvin. Apr-19-1971.
+ (Format: TXT=659 bytes) (Updates RFC0107) (Status: UNKNOWN)
+
+0125 Response to RFC 86: Proposal for Network Standard Format for a
+ Graphics Data Stream. J. McConnell. Apr-18-1971. (Format: TXT=8133
+ bytes) (Updates RFC0086) (Updated by RFC0177) (Status: UNKNOWN)
+
+0126 Graphics Facilities at Ames Research Center. J. McConnell.
+ Apr-18-1971. (Format: TXT=1974 bytes) (Status: UNKNOWN)
+
+0127 Comments on RFC 123. J. Postel. Apr-20-1971. (Format: TXT=2305
+ bytes) (Obsoleted by RFC0145) (Updates RFC0123) (Updated by RFC0151)
+ (Status: UNKNOWN)
+
+0128 Bytes. J. Postel. Apr-21-1971. (Format: TXT=2745 bytes) (Status:
+ UNKNOWN)
+
+0129 Request for comments on socket name structure. E. Harslem, J.
+ Heafner, E. Meyer. Apr-22-1971. (Format: TXT=11175 bytes) (Updated by
+ RFC0147) (Status: UNKNOWN)
+
+0130 Response to RFC 111: Pressure from the chairman. J.F. Heafner.
+ Apr-22-1971. (Format: TXT=2580 bytes) (Updates RFC0111) (Status:
+ UNKNOWN)
+
+0131 Response to RFC 116: May NWG meeting. E. Harslem, J.F. Heafner.
+ Apr-22-1971. (Format: TXT=5375 bytes) (Updates RFC0116) (Status:
+ UNKNOWN)
+
+0132 Typographical Error in RFC 107. J.E. White. Apr-28-1971. (Format:
+ TXT=1058 bytes) (Obsoleted by RFC0154) (Updates RFC0107) (Status:
+ UNKNOWN)
+
+0133 File Transfer and Recovery. R.L. Sundberg. Apr-27-1971. (Format:
+ TXT=8322 bytes) (Updates RFC0114) (Status: UNKNOWN)
+
+0134 Network Graphics meeting. A. Vezza. Apr-29-1971. (Format:
+ TXT=2684 bytes) (Status: UNKNOWN)
+
+0135 Response to NWG/RFC 110. W. Hathaway. Apr-29-1971. (Not online)
+ (Updates RFC0110) (Status: UNKNOWN)
+
+0136 Host accounting and administrative procedures. R.E. Kahn.
+ Apr-29-1971. (Format: TXT=8016 bytes) (Status: UNKNOWN)
+
+0137 Telnet Protocol - a proposed document. T.C. O'Sullivan.
+ Apr-30-1971. (Not online) (Updated by RFC0139) (Status: UNKNOWN)
+
+0138 Status report on proposed Data Reconfiguration Service. R.H.
+ Anderson, V.G. Cerf, E. Harslem, J.F. Heafner, J. Madden, R.M.
+ Metcalfe, A. Shoshani, J.E. White, D.C.M. Wood. Apr-28-1971. (Format:
+ TXT=46641 bytes) (Status: UNKNOWN)
+
+0139 Discussion of Telnet Protocol. T.C. O'Sullivan. May-07-1971. (Not
+ online) (Updates RFC0137) (Updated by RFC0158) (Also RFC0393)
+ (Status: UNKNOWN)
+
+0140 Agenda for the May NWG meeting. S.D. Crocker. May-04-1971.
+ (Format: TXT=6934 bytes) (Updated by RFC0149) (Status: UNKNOWN)
+
+0141 Comments on RFC 114: A File Transfer Protocol. E. Harslem, J.F.
+ Heafner. Apr-29-1971. (Format: TXT=3781 bytes) (Updates RFC0114)
+ (Status: UNKNOWN)
+
+0142 Time-Out Mechanism in the Host-Host Protocol. C. Kline, J. Wong.
+ May-03-1971. (Format: TXT=4372 bytes) (Status: UNKNOWN)
+
+0143 Regarding proffered official ICP. W. Naylor, J. Wong, C. Kline,
+ J. Postel. May-03-1971. (Format: TXT=6963 bytes) (Obsoleted by
+ RFC0165) (Updates RFC0123, RFC0145) (Status: UNKNOWN)
+
+0144 Data sharing on computer networks. A. Shoshani. Apr-30-1971.
+ (Format: TXT=13744 bytes) (Status: UNKNOWN)
+
+0145 Initial Connection Protocol Control Commands. J. Postel.
+ May-04-1971. (Not online) (Obsoletes RFC0127) (Obsoleted by RFC0165)
+ (Updated by RFC0143) (Status: UNKNOWN)
+
+0146 Views on issues relevant to data sharing on computer networks.
+ P.M. Karp, D.B. McKay, D.C.M. Wood. May-12-1971. (Format: TXT=9828
+ bytes) (Status: UNKNOWN)
+
+0147 Definition of a socket. J.M. Winett. May-07-1971. (Format:
+ TXT=6438 bytes) (Updates RFC0129) (Status: UNKNOWN)
+
+0148 Comments on RFC 123. A.K. Bhushan. May-07-1971. (Format: TXT=1149
+ bytes) (Updates RFC0123) (Status: UNKNOWN)
+
+0149 Best Laid Plans. S.D. Crocker. May-10-1971. (Format: TXT=1057
+ bytes) (Updates RFC0140) (Status: UNKNOWN)
+
+0150 Use of IPC Facilities: A Working Paper. R.B. Kalin. May-05-1971.
+ (Format: TXT=28163 bytes) (Status: UNKNOWN)
+
+0151 Comments on a proffered official ICP: RFCs 123, 127. A. Shoshani.
+ May-10-1971. (Format: TXT=3623 bytes) (Updates RFC0127) (Status:
+ UNKNOWN)
+
+0152 SRI Artificial Intelligence status report. M. Wilber.
+ May-10-1971. (Format: TXT=2726 bytes) (Status: UNKNOWN)
+
+0153 SRI ARC-NIC status. J.T. Melvin, R.W. Watson. May-15-1971.
+ (Format: TXT=8573 bytes) (Status: UNKNOWN)
+
+0154 Exposition Style. S.D. Crocker. May-12-1971. (Format: TXT=1293
+ bytes) (Obsoletes RFC0132) (Updates RFC0107) (Status: UNKNOWN)
+
+0155 ARPA Network mailing lists. J.B. North. May-01-1971. (Format:
+ TXT=11054 bytes) (Obsoletes RFC0095) (Obsoleted by RFC0168) (Status:
+ UNKNOWN)
+
+0156 Status of the Illinois site: Response to RFC 116. J. Bouknight.
+ Apr-26-1971. (Format: TXT=1171 bytes) (Updates RFC0116) (Status:
+ UNKNOWN)
+
+0157 Invitation to the Second Symposium on Problems in the
+ Optimization of Data Communications Systems. V.G. Cerf. May-12-1971.
+ (Format: TXT=3159 bytes) (Status: UNKNOWN)
+
+0158 Telnet Protocol: A Proposed Document. T.C. O'Sullivan.
+ May-19-1971. (Not online) (Obsoleted by RFC0495) (Updates RFC0139)
+ (Updated by RFC0318) (Also RFC0393) (Status: UNKNOWN)
+
+0160 RFC brief list. Network Information Center. Stanford Research
+ Institute. May-18-1971. (Format: TXT=12173 bytes) (Obsoleted by
+ RFC0200, RFC0999) (Updates NIC 6716) (Status: UNKNOWN)
+
+0161 Solution to the race condition in the ICP. A. Shoshani.
+ May-19-1971. (Format: TXT=2026 bytes) (Status: UNKNOWN)
+
+0162 NETBUGGER3. M. Kampe. May-22-1971. (Format: TXT=3153 bytes)
+ (Status: UNKNOWN)
+
+0163 Data transfer protocols. V.G. Cerf. May-19-1971. (Format:
+ TXT=5465 bytes) (Status: UNKNOWN)
+
+0164 Minutes of Network Working Group meeting, 5/16 through 5/19/71.
+ J.F. Heafner. May-25-1971. (Format: TXT=58597 bytes) (Status:
+ UNKNOWN)
+
+0165 Proffered official Initial Connection Protocol. J. Postel.
+ May-25-1971. (Not online) (Obsoletes RFC0145, RFC0143, RFC0123)
+ (Updated by NIC 7101) (Status: UNKNOWN)
+
+0166 Data Reconfiguration Service: An implementation specification.
+ R.H. Anderson, V.G. Cerf, E. Harslem, J.F. Heafner, J. Madden, R.M.
+ Metcalfe, A. Shoshani, J.E. White, D.C.M. Wood. May-25-1971. (Format:
+ TXT=42094 bytes) (Status: UNKNOWN)
+
+0167 Socket conventions reconsidered. A.K. Bhushan, R.M. Metcalfe,
+ J.M. Winett. May-24-1971. (Format: TXT=7643 bytes) (Also RFC0147,
+ RFC0129) (Status: UNKNOWN)
+
+0168 ARPA Network mailing lists. J.B. North. May-26-1971. (Format:
+ TXT=13294 bytes) (Obsoletes RFC0155) (Obsoleted by RFC0211) (Status:
+ UNKNOWN)
+
+0169 Computer networks. S.D. Crocker. May-27-1971. (Not online)
+ (Status: UNKNOWN)
+
+0170 RFC List by Number. Network Information Center, Stanford Research
+ Institute. Jun-01-1971. (Format: TXT=17670 bytes) (Obsoleted by
+ RFC0200) (Status: UNKNOWN)
+
+0171 The Data Transfer Protocol. A. Bhushan, B. Braden, W. Crowther,
+ E. Harslem, J. Heafner, A. McKenize, J. Melvin, B. Sundberg, D.
+ Watson, J. White. Jun-01-1971. (Format: TXT=20616 bytes) (Obsoleted
+ by RFC0264) (Updates RFC0114) (Updated by RFC0238) (Status: UNKNOWN)
+
+0172 The File Transfer Protocol. A. Bhushan, B. Braden, W. Crowther,
+ E. Harslem, J. Heafner, A. McKenzie, J. Melvin, B. Sundberg, D.
+ Watson, J. White. Jun-23-1971. (Format: TXT=21328 bytes) (Obsoleted
+ by RFC0265) (Updates RFC0114) (Updated by RFC0238) (Status: UNKNOWN)
+
+0173 Network Data Management Committee Meeting Announcement. P.M.
+ Karp, D.B. McKay. Jun-04-1971. (Format: TXT=4239 bytes) (Status:
+ UNKNOWN)
+
+0174 UCLA - Computer Science Graphics Overview. J. Postel, V.G. Cerf.
+ Jun-08-1971. (Format: TXT=5037 bytes) (Status: UNKNOWN)
+
+0175 Comments on "Socket Conventions Reconsidered". E. Harslem, J.F.
+ Heafner. Jun-11-1971. (Format: TXT=2225 bytes) (Status: UNKNOWN)
+
+0176 Comments on "Byte size for connections". A.K. Bhushan, R.
+ Kanodia, R.M. Metcalfe, J. Postel. Jun-14-1971. (Format: TXT=7269
+ bytes) (Status: UNKNOWN)
+
+0177 Device independent graphical display description. J. McConnell.
+ Jun-15-1971. (Format: TXT=20474 bytes) (Updates RFC0125) (Updated by
+ RFC0181) (Status: UNKNOWN)
+
+0178 Network graphic attention handling. I.W. Cotton. Jun-27-1971.
+ (Format: TXT=24522 bytes) (Status: UNKNOWN)
+
+0179 Link Number Assignments. A.M. McKenzie. Jun-22-1971. (Format:
+ TXT=1221 bytes) (Updates RFC0107) (Status: UNKNOWN)
+
+0180 File system questionnaire. A.M. McKenzie. Jun-25-1971. (Format:
+ TXT=8154 bytes) (Status: UNKNOWN)
+
+0181 Modifications to RFC 177. J. McConnell. Jul-21-1971. (Format:
+ TXT=4892 bytes) (Updates RFC0177) (Status: UNKNOWN)
+
+0182 Compilation of list of relevant site reports. J.B. North.
+ Jun-25-1971. (Format: TXT=2565 bytes) (Status: UNKNOWN)
+
+0183 EBCDIC codes and their mapping to ASCII. J.M. Winett.
+ Jul-21-1971. (Not online) (Status: UNKNOWN)
+
+0184 Proposed graphic display modes. K.C. Kelley. Jul-06-1971.
+ (Format: TXT=18678 bytes) (Status: UNKNOWN)
+
+0185 NIC distribution of manuals and handbooks. J.B. North.
+ Jul-07-1971. (Format: TXT=1406 bytes) (Status: UNKNOWN)
+
+0186 Network graphics loader. J.C. Michener. Jul-12-1971. (Not online)
+ (Status: UNKNOWN)
+
+0187 Network/440 Protocol Concept. D.B. McKay, D.P. Karp. Jul-01-1971.
+ (Format: TXT=25042 bytes) (Status: UNKNOWN)
+
+0188 Data management meeting announcement. P.M. Karp, D.B. McKay.
+ Jan-28-1971. (Format: TXT=3383 bytes) (Status: UNKNOWN)
+
+0189 Interim NETRJS specifications. R.T. Braden. Jul-15-1971. (Format:
+ TXT=41383 bytes) (Obsoletes RFC0088) (Obsoleted by RFC0599) (Updated
+ by RFC0283) (Status: UNKNOWN)
+
+0190 DEC PDP-10-IMLAC communications system. L.P. Deutsch.
+ Jul-13-1971. (Not online) (Status: UNKNOWN)
+
+0191 Graphics implementation and conceptualization at Augmentation
+ Research Center. C.H. Irby. Jul-13-1971. (Format: TXT=8179 bytes)
+ (Status: UNKNOWN)
+
+0192 Some factors which a Network Graphics Protocol must consider.
+ R.W. Watson. Jul-12-1971. (Not online) (Status: UNKNOWN)
+
+0193 NETWORK CHECKOUT. E. Harslem, J.F. Heafner. Jul-14-1971. (Format:
+ TXT=3622 bytes) (Obsoleted by RFC0198) (Updated by RFC0198) (Status:
+ UNKNOWN)
+
+0194 The Data Reconfiguration Service -- Compiler/Interpreter
+ Implementation Notes. V. Cerf, E. Harslem, J. Heafner, B. Metcalfe,
+ J. White. Jul-14-1971. (Format: TXT=32716 bytes) (Status: UNKNOWN)
+
+0195 Data computers-data descriptions and access language. G.H. Mealy.
+ Jul-16-1971. (Format: TXT=8704 bytes) (Status: UNKNOWN)
+
+0196 Mail Box Protocol. R.W. Watson. Jul-20-1971. (Format: TXT=7016
+ bytes) (Obsoleted by RFC0221) (Status: UNKNOWN)
+
+0197 Initial Connection Protocol - Reviewed. A. Shoshani, E. Harslem.
+ Jul-14-1971. (Format: TXT=7094 bytes) (Status: UNKNOWN)
+
+0198 Site Certification - Lincoln Labs 360/67. J.F. Heafner.
+ Jul-20-1971. (Format: TXT=855 bytes) (Obsoletes RFC0193) (Obsoleted
+ by RFC0214) (Updates RFC0193) (Status: UNKNOWN)
+
+0199 Suggestions for a network data-tablet graphics protocol. T.
+ Williams. Jul-15-1971. (Not online) (Status: UNKNOWN)
+
+0200 RFC list by number. J.B. North. Aug-01-1971. (Format: TXT=19256
+ bytes) (Obsoletes RFC0170, RFC0160) (Obsoleted by NIC 7724) (Status:
+ UNKNOWN)
+
+0202 Possible Deadlock in ICP. S.M. Wolfe, J. Postel. Jul-26-1971.
+ (Format: TXT=2796 bytes) (Status: UNKNOWN)
+
+0203 Achieving reliable communication. R.B. Kalin. Aug-10-1971.
+ (Format: TXT=9253 bytes) (Status: UNKNOWN)
+
+0204 Sockets in use. J. Postel. Aug-05-1971. (Format: TXT=1379 bytes)
+ (Updated by RFC0234) (Status: UNKNOWN)
+
+0205 NETCRT - a character display protocol. R.T. Braden. Aug-06-1971.
+ (Not online) (Status: UNKNOWN)
+
+0206 User Telnet - description of an initial implementation. J.E.
+ White. Aug-09-1971. (Not online) (Status: UNKNOWN)
+
+0207 September Network Working Group meeting. A. Vezza. Aug-09-1971.
+ (Format: TXT=3356 bytes) (Obsoleted by RFC0212) (Status: UNKNOWN)
+
+0208 Address tables. A.M. McKenzie. Aug-09-1971. (Format: TXT=5858
+ bytes) (Status: UNKNOWN)
+
+0209 Host/IMP interface documentation. B. Cosell. Aug-13-1971.
+ (Format: TXT=2566 bytes) (Status: UNKNOWN)
+
+0210 Improvement of Flow Control. W. Conrad. Aug-16-1971. (Format:
+ TXT=3329 bytes) (Status: UNKNOWN)
+
+0211 ARPA Network mailing lists. J.B. North. Aug-18-1971. (Not online)
+ (Obsoletes RFC0168) (Obsoleted by RFC0300) (Status: UNKNOWN)
+
+0212 NWG meeting on network usage. Information Sciences Institute
+ University of Southern California. Aug-23-1971. (Format: TXT=4356
+ bytes) (Obsoletes RFC0207) (Updated by RFC0222) (Status: UNKNOWN)
+
+0213 IMP System change notification. B. Cosell. Aug-20-1971. (Format:
+ TXT=1589 bytes) (Status: UNKNOWN)
+
+0214 Network checkpoint. E. Harslem. Aug-21-1971. (Format: TXT=3152
+ bytes) (Obsoletes RFC0198) (Status: UNKNOWN)
+
+0215 NCP, ICP, and Telnet: The Terminal IMP implementation. A.M.
+ McKenzie. Aug-30-1971. (Format: TXT=16645 bytes) (Status: UNKNOWN)
+
+0216 Telnet access to UCSB's On-Line System. J.E. White. Sep-08-1971.
+ (Not online) (Status: UNKNOWN)
+
+0217 Specifications changes for OLS, RJE/RJOR, and SMFS. J.E. White.
+ Sep-08-1971. (Format: TXT=2956 bytes) (Updates RFC0074, RFC0105,
+ RFC0122) (Status: UNKNOWN)
+
+0218 Changing the IMP status reporting facility. B. Cosell.
+ Sep-08-1971. (Format: TXT=1131 bytes) (Status: UNKNOWN)
+
+0219 User's view of the datacomputer. R. Winter. Sep-03-1971. (Not
+ online) (Status: UNKNOWN)
+
+0221 Mail Box Protocol: Version 2. R.W. Watson. Aug-27-1971. (Format:
+ TXT=9805 bytes) (Obsoletes RFC0196) (Obsoleted by RFC0278) (Status:
+ UNKNOWN)
+
+0222 Subject: System programmer's workshop. R.M. Metcalfe.
+ Sep-13-1971. (Not online) (Updates RFC0212) (Updated by RFC0234)
+ (Status: UNKNOWN)
+
+0223 Network Information Center schedule for network users. J.T.
+ Melvin, R.W. Watson. Sep-14-1971. (Format: TXT=5369 bytes) (Status:
+ UNKNOWN)
+
+0224 Comments on Mailbox Protocol. A.M. McKenzie. Sep-14-1971.
+ (Format: TXT=3583 bytes) (Status: UNKNOWN)
+
+0225 Rand/UCSB network graphics experiment. E. Harslem, R. Stoughton.
+ Sep-13-1971. (Format: TXT=13573 bytes) (Updates RFC0074) (Status:
+ UNKNOWN)
+
+0226 Standardization of host mnemonics. P.M. Karp. Sep-20-1971.
+ (Format: TXT=2012 bytes) (Obsoleted by RFC0247) (Status: UNKNOWN)
+
+0227 Data transfer rates (Rand/UCLA). J.F. Heafner, E. Harslem.
+ Sep-17-1971. (Format: TXT=2451 bytes) (Updates RFC0113) (Status:
+ UNKNOWN)
+
+0228 Clarification. D.C. Walden. Sep-22-1971. (Format: TXT=715 bytes)
+ (Updates RFC0070) (Status: UNKNOWN)
+
+0229 Standard host names. J. Postel. Sep-22-1971. (Format: TXT=3388
+ bytes) (Obsoleted by RFC0236) (Status: UNKNOWN)
+
+0230 Toward reliable operation of minicomputer-based terminals on a
+ TIP. T. Pyke. Sep-24-1971. (Format: TXT=7040 bytes) (Status: UNKNOWN)
+
+0231 Service center standards for remote usage: A user's view. J.F.
+ Heafner, E. Harslem. Sep-21-1971. (Format: TXT=9692 bytes) (Status:
+ UNKNOWN)
+
+0232 Postponement of network graphics meeting. A. Vezza. Sep-23-1971.
+ (Format: TXT=899 bytes) (Status: UNKNOWN)
+
+0233 Standardization of host call letters. A. Bhushan, R. Metcalfe.
+ Sep-28-1971. (Format: TXT=3206 bytes) (Status: UNKNOWN)
+
+0234 Network Working Group meeting schedule. A. Vezza. Oct-05-1971.
+ (Format: TXT=1634 bytes) (Updates RFC0222, RFC0204) (Status: UNKNOWN)
+
+0235 Site status. E. Westheimer. Sep-27-1971. (Format: TXT=7994 bytes)
+ (Obsoleted by RFC0240) (Status: UNKNOWN)
+
+0236 Standard host names. J. Postel. Sep-27-1971. (Format: TXT=5112
+ bytes) (Obsoletes RFC0229) (Status: UNKNOWN)
+
+0237 NIC view of standard host names. R.W. Watson. Oct-05-1971.
+ (Format: TXT=2212 bytes) (Obsoleted by RFC0273) (Status: UNKNOWN)
+
+0238 Comments on DTP and FTP proposals. R.T. Braden. Sep-29-1971.
+ (Format: TXT=2735 bytes) (Updates RFC0171, RFC0172) (Status: UNKNOWN)
+
+0239 Host mnemonics proposed in RFC 226 (NIC 7625). R.T. Braden.
+ Sep-23-1971. (Format: TXT=2236 bytes) (Also RFC0226, RFC0229,
+ RFC0236) (Status: UNKNOWN)
+
+0240 Site Status. A.M. McKenzie. Sep-30-1971. (Format: TXT=7948 bytes)
+ (Obsoletes RFC0235) (Obsoleted by RFC0252) (Status: UNKNOWN)
+
+0241 Connecting computers to MLC ports. A.M. McKenzie. Sep-29-1971.
+ (Format: TXT=3739 bytes) (Status: UNKNOWN)
+
+0242 Data Descriptive Language for Shared Data. L. Haibt, A.P.
+ Mullery. Jul-19-1971. (Format: TXT=18151 bytes) (Status: UNKNOWN)
+
+0243 Network and data sharing bibliography. A.P. Mullery. Oct-05-1971.
+ (Format: TXT=12432 bytes) (Obsoleted by RFC0290) (Status: UNKNOWN)
+
+0245 Reservations for Network Group meeting. C. Falls. Oct-05-1971.
+ (Format: TXT=1142 bytes) (Status: UNKNOWN)
+
+0246 Network Graphics meeting. A. Vezza. Oct-05-1971. (Format: TXT=856
+ bytes) (Status: UNKNOWN)
+
+0247 Proffered set of standard host names. P.M. Karp. Oct-12-1971.
+ (Format: TXT=7122 bytes) (Obsoletes RFC0226) (Status: UNKNOWN)
+
+0249 Coordination of equipment and supplies purchase. R.F. Borelli.
+ Oct-08-1971. (Format: TXT=4561 bytes) (Status: UNKNOWN)
+
+0250 Some thoughts on file transfer. H. Brodie. Oct-07-1971. (Format:
+ TXT=2446 bytes) (Status: UNKNOWN)
+
+0251 Weather data. D. Stern. Oct-13-1971. (Format: TXT=1907 bytes)
+ (Status: UNKNOWN)
+
+0252 Network host status. E. Westheimer. Oct-08-1971. (Format:
+ TXT=5531 bytes) (Obsoletes RFC0240) (Obsoleted by RFC0255) (Status:
+ UNKNOWN)
+
+0253 Second Network Graphics meeting details. J.A. Moorer.
+ Oct-19-1971. (Format: TXT=1981 bytes) (Status: UNKNOWN)
+
+0254 Scenarios for using ARPANET computers. A. Bhushan. Oct-29-1971.
+ (Not online) (Status: UNKNOWN)
+
+0255 Status of network hosts. E. Westheimer. Oct-26-1971. (Format:
+ TXT=4002 bytes) (Obsoletes RFC0252) (Obsoleted by RFC0266) (Status:
+ UNKNOWN)
+
+0256 IMPSYS change notification. B. Cosell. Nov-03-1971. (Format:
+ TXT=1240 bytes) (Status: UNKNOWN)
+
+0263 "Very Distant" Host interface. A.M. McKenzie. Dec-17-1971.
+ (Format: TXT=3914 bytes) (Status: UNKNOWN)
+
+0264 The Data Transfer Protocol. A. Bhushan, B. Braden, W. Crowther,
+ E. Harslem, J. Heafner, A. McKenize, B. Sundberg, D. Watson, J.
+ White. Jan-04-1972. (Not online) (Obsoletes RFC0171) (Obsoleted by
+ RFC0354) (Updated by RFC0310) (Also RFC0265) (Status: UNKNOWN)
+
+0265 The File Transfer Protocol. A. Bhushan, B. Braden, W. Crowther,
+ E. Harslem, J. Heafner, A. McKenzie, J. Melvin, B. Sundberg, D.
+ Watson, J. White. Nov-17-1971. (Format: TXT=3914 bytes) (Obsoletes
+ RFC0172) (Obsoleted by RFC0354) (Updated by RFC0281, RFC0294,
+ RFC0310) (Also RFC0264) (Status: UNKNOWN)
+
+0266 Network host status. E. Westheimer. Nov-08-1971. (Format:
+ TXT=3174 bytes) (Obsoletes RFC0255) (Obsoleted by RFC0267) (Status:
+ UNKNOWN)
+
+0267 Network Host Status. E. Westheimer. Nov-22-1971. (Format:
+ TXT=7862 bytes) (Obsoletes RFC0266) (Obsoleted by RFC0287) (Status:
+ UNKNOWN)
+
+0268 Graphics facilities information. J. Postel. Nov-24-1971. (Format:
+ TXT=1298 bytes) (Status: UNKNOWN)
+
+0269 Some Experience with File Transfer. H. Brodie. Dec-06-1971.
+ (Format: TXT=5961 bytes) (Updates RFC0122) (Status: UNKNOWN)
+
+0270 Correction to BBN Report No. 1822 (NIC NO 7958). A.M. McKenzie.
+ Jan-01-1972. (Format: TXT=1371 bytes) (Updates NIC 7959) (Status:
+ UNKNOWN)
+
+0271 IMP System change notifications. B. Cosell. Jan-03-1972. (Format:
+ TXT=4022 bytes) (Status: UNKNOWN)
+
+0273 More on standard host names. R.W. Watson. Oct-18-1971. (Format:
+ TXT=4589 bytes) (Obsoletes RFC0237) (Status: UNKNOWN)
+
+0274 Establishing a local guide for network usage. E. Forman.
+ Nov-01-1971. (Format: TXT=7114 bytes) (Status: UNKNOWN)
+
+0276 NIC course. R.W. Watson. Nov-08-1971. (Format: TXT=1183 bytes)
+ (Status: UNKNOWN)
+
+0278 Revision of the Mail Box Protocol. A.K. Bhushan, R.T. Braden, E.
+ Harslem, J.F. Heafner, A.M. McKenzie, J.T. Melvin, R.L. Sundberg,
+ R.W. Watson, J.E. White. Nov-17-1971. (Format: TXT=7526 bytes)
+ (Obsoletes RFC0221) (Status: UNKNOWN)
+
+0280 A Draft of Host Names. R.W. Watson. Nov-17-1971. (Format:
+ TXT=3629 bytes) (Status: UNKNOWN)
+
+0281 Suggested addition to File Transfer Protocol. A.M. McKenzie.
+ Dec-08-1971. (Format: TXT=12006 bytes) (Updates RFC0265) (Status:
+ UNKNOWN)
+
+0282 Graphics meeting report. M.A. Padlipsky. Dec-08-1971. (Format:
+ TXT=18100 bytes) (Status: UNKNOWN)
+
+0283 NETRJT: Remote Job Service Protocol for TIPS. R.T. Braden.
+ Dec-20-1971. (Format: TXT=18771 bytes) (Updates RFC0189) (Status:
+ UNKNOWN)
+
+0285 Network graphics. D. Huff. Dec-15-1971. (Format: TXT=18076 bytes)
+ (Status: UNKNOWN)
+
+0286 Network Library Information System. E. Forman. Dec-21-1971.
+ (Format: TXT=2079 bytes) (Status: UNKNOWN)
+
+0287 Status of Network Hosts. E. Westheimer. Dec-22-1971. (Format:
+ TXT=9217 bytes) (Obsoletes RFC0267) (Obsoleted by RFC0288) (Status:
+ UNKNOWN)
+
+0288 Network host status. E. Westheimer. Jan-06-1972. (Format:
+ TXT=8501 bytes) (Obsoletes RFC0287) (Obsoleted by RFC0293) (Updated
+ by RFC0293) (Status: UNKNOWN)
+
+0289 What we hope is an official list of host names. R.W. Watson.
+ Dec-21-1971. (Format: TXT=5069 bytes) (Obsoleted by RFC0384) (Status:
+ UNKNOWN)
+
+0290 Computer networks and data sharing: A bibliography. A.P. Mullery.
+ Jan-11-1972. (Format: TXT=34329 bytes) (Obsoletes RFC0243) (Status:
+ UNKNOWN)
+
+0291 Data Management Meeting Announcement. D.B. McKay. Jan-14-1972.
+ (Format: TXT=3375 bytes) (Status: UNKNOWN)
+
+0292 Graphics Protocol: Level 0 only. J.C. Michener, I.W. Cotton, K.C.
+ Kelley, D.E. Liddle, E. Meyer. Jan-12-1972. (Format: TXT=22342 bytes)
+ (Status: UNKNOWN)
+
+0293 Network Host Status. E. Westheimer. Jan-18-1972. (Format:
+ TXT=7639 bytes) (Obsoletes RFC0288) (Obsoleted by RFC0298) (Updates
+ RFC0288) (Status: UNKNOWN)
+
+0294 The Use of "Set Data Type" Transaction in File Transfer Protocol.
+ A.K. Bhushan. Jan-25-1972. (Format: TXT=3924 bytes) (Updates RFC0265)
+ (Status: UNKNOWN)
+
+0295 Report of the Protocol Workshop, 12 October 1971. J. Postel.
+ Jan-02-1972. (Format: TXT=5432 bytes) (Status: UNKNOWN)
+
+0296 DS-1 display system. D.E. Liddle. Jan-27-1972. (Not online)
+ (Status: UNKNOWN)
+
+0297 TIP Message Buffers. D.C. Walden. Jan-31-1972. (Format: TXT=3517
+ bytes) (Status: UNKNOWN)
+
+0298 Network host status. E. Westheimer. Feb-11-1972. (Format:
+ TXT=8770 bytes) (Obsoletes RFC0293) (Obsoleted by RFC0306) (Status:
+ UNKNOWN)
+
+0299 Information Management System. D. Hopkin. Feb-11-1972. (Format:
+ TXT=1825 bytes) (Status: UNKNOWN)
+
+0300 ARPA Network mailing lists. J.B. North. Jan-25-1972. (Format:
+ TXT=16357 bytes) (Obsoletes RFC0211) (Obsoleted by RFC0303) (Status:
+ UNKNOWN)
+
+0301 BBN IMP (#5) and NCC Schedule March 4, 1971. R. Alter.
+ Feb-11-1972. (Format: TXT=1487 bytes) (Status: UNKNOWN)
+
+0302 Exercising The ARPANET. R.F. Bryan. Feb-08-1972. (Format:
+ TXT=5452 bytes) (Status: UNKNOWN)
+
+0303 ARPA Network mailing lists. Network Information Center. Stanford
+ Research Institute. Mar-03-1972. (Format: TXT=18193 bytes) (Obsoletes
+ RFC0300) (Obsoleted by RFC0329) (Status: UNKNOWN)
+
+0304 Data management system proposal for the ARPA network. D.B. McKay.
+ Feb-17-1972. (Not online) (Status: UNKNOWN)
+
+0305 Unknown Host Numbers. R. Alter. Feb-23-1972. (Format: TXT=1998
+ bytes) (Status: UNKNOWN)
+
+0306 Network host status. E. Westheimer. Feb-15-1972. (Format:
+ TXT=7485 bytes) (Obsoletes RFC0298) (Obsoleted by RFC0315) (Status:
+ UNKNOWN)
+
+0307 Using network Remote Job Entry. E. Harslem. Feb-24-1972. (Format:
+ TXT=12032 bytes) (Status: UNKNOWN)
+
+0308 ARPANET host availability data. M. Seriff. Mar-13-1972. (Format:
+ TXT=5948 bytes) (Status: UNKNOWN)
+
+0309 Data and File Transfer Workshop Announcement. A.K. Bhushan.
+ Mar-17-1972. (Format: TXT=9404 bytes) (Status: UNKNOWN)
+
+0310 Another Look at Data and File Transfer Protocols. A.K. Bhushan.
+ Apr-03-1972. (Format: TXT=18593 bytes) (Updates RFC0264, RFC0265)
+ (Status: UNKNOWN)
+
+0311 New Console Attachments to the USCB Host. R.F. Bryan.
+ Feb-29-1972. (Format: TXT=3141 bytes) (Status: UNKNOWN)
+
+0312 Proposed Change in IMP-to-Host Protocol. A.M. McKenzie.
+ Mar-22-1972. (Format: TXT=3562 bytes) (Status: UNKNOWN)
+
+0313 Computer based instruction. T.C. O'Sullivan. Mar-06-1972.
+ (Format: TXT=19880 bytes) (Status: UNKNOWN)
+
+0314 Network Graphics Working Group Meeting. I.W. Cotton. Mar-14-1972.
+ (Format: TXT=1836 bytes) (Status: UNKNOWN)
+
+0315 Network Host Status. E. Westheimer. Mar-08-1972. (Format:
+ TXT=7818 bytes) (Obsoletes RFC0306) (Obsoleted by RFC0319) (Status:
+ UNKNOWN)
+
+0316 ARPA Network Data Management Working Group. D.B. McKay, A.P.
+ Mullery. Feb-23-1972. (Format: TXT=15494 bytes) (Status: UNKNOWN)
+
+0317 Official Host-Host Protocol Modification: Assigned Link Numbers.
+ J. Postel. Mar-20-1972. (Format: TXT=1593 bytes) (Obsoleted by
+ RFC0604) (Status: UNKNOWN)
+
+0318 Telnet Protocols. J. Postel. Apr-03-1972. (Format: TXT=34928
+ bytes) (Updates RFC0158) (Updated by RFC0435) (Also RFC0139, RFC0158)
+ (Status: UNKNOWN)
+
+0319 Network Host Status. E. Westheimer. Mar-21-1972. (Format:
+ TXT=8955 bytes) (Obsoletes RFC0315) (Updated by RFC0326) (Status:
+ UNKNOWN)
+
+0320 Workshop on Hard Copy Line Printers. R. Reddy. Mar-27-1972. (Not
+ online) (Status: UNKNOWN)
+
+0321 CBI Networking Activity at MITRE. P.M. Karp. Mar-24-1972.
+ (Format: TXT=20500 bytes) (Status: UNKNOWN)
+
+0322 Well known socket numbers. V. Cerf, J. Postel. Mar-26-1972.
+ (Format: TXT=1735 bytes) (Status: UNKNOWN)
+
+0323 Formation of Network Measurement Group (NMG). V. Cerf.
+ Mar-23-1972. (Format: TXT=15777 bytes) (Updated by RFC0388) (Status:
+ UNKNOWN)
+
+0324 RJE Protocol meeting. J. Postel. Apr-03-1972. (Format: TXT=1176
+ bytes) (Status: UNKNOWN)
+
+0325 Network Remote Job Entry program - NETRJS. G. Hicks. Apr-06-1972.
+ (Format: TXT=17499 bytes) (Status: UNKNOWN)
+
+0326 Network Host Status. E. Westheimer. Apr-03-1972. (Format:
+ TXT=7944 bytes) (Obsoleted by RFC0330) (Updates RFC0319) (Status:
+ UNKNOWN)
+
+0327 Data and File Transfer workshop notes. A.K. Bhushan. Apr-27-1972.
+ (Format: TXT=11792 bytes) (Status: UNKNOWN)
+
+0328 Suggested Telnet Protocol Changes. J. Postel. Apr-29-1972.
+ (Format: TXT=2685 bytes) (Status: UNKNOWN)
+
+0329 ARPA Network Mailing Lists. Network Information Center. Stanford
+ Research Institute. May-17-1972. (Format: TXT=23861 bytes) (Obsoletes
+ RFC0303) (Obsoleted by RFC0363) (Status: UNKNOWN)
+
+0330 Network Host Status. E. Westheimer. Apr-13-1972. (Format:
+ TXT=8085 bytes) (Obsoletes RFC0326) (Obsoleted by RFC0332) (Status:
+ UNKNOWN)
+
+0331 IMP System Change Notification. J.M. McQuillan. Apr-19-1972.
+ (Format: TXT=2339 bytes) (Obsoleted by RFC0343) (Status: UNKNOWN)
+
+0332 Network Host Status. E. Westheimer. Apr-25-1972. (Format:
+ TXT=8427 bytes) (Obsoletes RFC0330) (Obsoleted by RFC0342) (Updates
+ RFC0330) (Status: UNKNOWN)
+
+0333 Proposed experiment with a Message Switching Protocol. R.D.
+ Bressler, D. Murphy, D.C. Walden. May-15-1972. (Format: TXT=62507
+ bytes) (Status: UNKNOWN)
+
+0334 Network Use on May 8. A.M. McKenzie. May-01-1972. (Format:
+ TXT=1376 bytes) (Status: UNKNOWN)
+
+0335 New Interface - IMP/360. R.F. Bryan. May-01-1972. (Format:
+ TXT=934 bytes) (Status: UNKNOWN)
+
+0336 Level 0 Graphic Input Protocol. I.W. Cotton. May-05-1972.
+ (Format: TXT=3787 bytes) (Status: UNKNOWN)
+
+0338 EBCDIC/ASCII Mapping for Network RJE. R.T. Braden. May-17-1972.
+ (Not online) (Status: UNKNOWN)
+
+0339 MLTNET: A "Multi Telnet" Subsystem for Tenex. R. Thomas.
+ May-05-1972. (Format: TXT=7941 bytes) (Status: UNKNOWN)
+
+0340 Proposed Telnet Changes. T.C. O'Sullivan. May-15-1972. (Format:
+ TXT=2656 bytes) (Also RFC0328) (Status: UNKNOWN)
+
+0342 Network Host Status. E. Westheimer. May-15-1972. (Format:
+ TXT=8382 bytes) (Obsoletes RFC0332) (Obsoleted by RFC0344) (Status:
+ UNKNOWN)
+
+0343 IMP System change notification. A.M. McKenzie. May-19-1972.
+ (Format: TXT=3370 bytes) (Obsoletes RFC0331) (Obsoleted by RFC0359)
+ (Status: UNKNOWN)
+
+0344 Network Host Status. E. Westheimer. May-22-1972. (Format:
+ TXT=8221 bytes) (Obsoletes RFC0342) (Obsoleted by RFC0353) (Status:
+ UNKNOWN)
+
+0345 Interest in Mixed Integer Programming (MPSX on NIC 360/91 at
+ CCN). K.C. Kelley. May-26-1972. (Format: TXT=1999 bytes) (Status:
+ UNKNOWN)
+
+0346 Satellite Considerations. J. Postel. May-30-1972. (Format:
+ TXT=2778 bytes) (Status: UNKNOWN)
+
+0347 Echo process. J. Postel. May-30-1972. (Format: TXT=1377 bytes)
+ (Status: UNKNOWN)
+
+0348 Discard Process. J. Postel. May-30-1972. (Format: TXT=1181 bytes)
+ (Status: UNKNOWN)
+
+0349 Proposed Standard Socket Numbers. J. Postel. May-30-1972.
+ (Format: TXT=1663 bytes) (Obsoleted by RFC0433) (Also RFC0322,
+ RFC0204) (Status: UNKNOWN)
+
+0350 User Accounts for UCSB On-Line System. R. Stoughton. May-18-1972.
+ (Format: TXT=5117 bytes) (Status: UNKNOWN)
+
+0351 Graphics information form for the ARPANET graphics resources
+ notebook. D. Crocker. Jun-05-1972. (Format: TXT=2150 bytes) (Status:
+ UNKNOWN)
+
+0352 TIP Site Information Form. D. Crocker. Jun-05-1972. (Format:
+ TXT=2266 bytes) (Status: UNKNOWN)
+
+0353 Network host status. E. Westheimer. Jun-12-1972. (Format:
+ TXT=8747 bytes) (Obsoletes RFC0344) (Obsoleted by RFC0362) (Status:
+ UNKNOWN)
+
+0354 File Transfer Protocol. A.K. Bhushan. Jul-08-1972. (Format:
+ TXT=58074 bytes) (Obsoletes RFC0264, RFC0265) (Obsoleted by RFC0542)
+ (Updated by RFC0385, RFC0454, RFC0683) (Status: UNKNOWN)
+
+0355 Response to NWG/RFC 346. J. Davidson. Jun-09-1972. (Format:
+ TXT=3717 bytes) (Status: UNKNOWN)
+
+0356 ARPA Network Control Center. R. Alter. Jun-21-1972. (Format:
+ TXT=1963 bytes) (Status: UNKNOWN)
+
+0357 Echoing strategy for satellite links. J. Davidson. Jun-26-1972.
+ (Format: TXT=30103 bytes) (Status: UNKNOWN)
+
+0359 Status of the Release of the New IMP System (2600). D.C. Walden.
+ Jun-22-1972. (Format: TXT=2015 bytes) (Obsoletes RFC0343) (Status:
+ UNKNOWN)
+
+0360 Proposed Remote Job Entry Protocol. C. Holland. Jun-24-1972. (Not
+ online) (Obsoleted by RFC0407) (Status: UNKNOWN)
+
+0361 Deamon Processes on Host 106. R.D. Bressler. Jul-05-1972.
+ (Format: TXT=1480 bytes) (Status: UNKNOWN)
+
+0362 Network Host Status. E. Westheimer. Jun-28-1972. (Format:
+ TXT=8631 bytes) (Obsoletes RFC0353) (Obsoleted by RFC0366) (Status:
+ UNKNOWN)
+
+0363 ARPA Network mailing lists. Network Information Center. Stanford
+ Research Institute. Aug-08-1972. (Format: TXT=25356 bytes) (Obsoletes
+ RFC0329) (Obsoleted by RFC0402) (Status: UNKNOWN)
+
+0364 Serving remote users on the ARPANET. M.D. Abrams. Jul-11-1972.
+ (Format: TXT=11253 bytes) (Status: UNKNOWN)
+
+0365 Letter to All TIP Users. D.C. Walden. Jul-11-1972. (Format:
+ TXT=10331 bytes) (Status: UNKNOWN)
+
+0366 Network Host Status. E. Westheimer. Jul-11-1972. (Format:
+ TXT=8278 bytes) (Obsoletes RFC0362) (Obsoleted by RFC0367) (Status:
+ UNKNOWN)
+
+0367 Network host status. E. Westheimer. Jul-19-1972. (Format:
+ TXT=8057 bytes) (Obsoletes RFC0366) (Obsoleted by RFC0370) (Status:
+ UNKNOWN)
+
+0368 Comments on "Proposed Remote Job Entry Protocol". R.T. Braden.
+ Jul-21-1972. (Format: TXT=3883 bytes) (Status: UNKNOWN)
+
+0369 Evaluation of ARPANET services January-March, 1972. J.R. Pickens.
+ Jul-25-1972. (Format: TXT=24414 bytes) (Status: UNKNOWN)
+
+0370 Network Host Status. E. Westheimer. Jul-31-1972. (Format:
+ TXT=8389 bytes) (Obsoletes RFC0367) (Updated by RFC0376) (Status:
+ UNKNOWN)
+
+0371 Demonstration at International Computer Communications
+ Conference. R.E. Kahn. Jul-12-1972. (Format: TXT=3728 bytes) (Status:
+ UNKNOWN)
+
+0372 Notes on a Conversation with Bob Kahn on the ICCC. R.W. Watson.
+ Jul-12-1972. (Format: TXT=6040 bytes) (Status: UNKNOWN)
+
+0373 Arbitrary Character Sets. J. McCarthy. Jul-14-1972. (Format:
+ TXT=7783 bytes) (Status: UNKNOWN)
+
+0374 IMP System Announcement. A.M. McKenzie. Jul-19-1972. (Format:
+ TXT=3963 bytes) (Status: UNKNOWN)
+
+0376 Network Host Status. E. Westheimer. Aug-08-1972. (Format:
+ TXT=8861 bytes) (Updates RFC0370) (Status: UNKNOWN)
+
+0377 Using TSO via ARPA Network Virtual Terminal. R.T. Braden.
+ Aug-10-1972. (Format: TXT=7093 bytes) (Status: UNKNOWN)
+
+0378 Traffic statistics (July 1972). A.M. McKenzie. Aug-10-1972.
+ (Format: TXT=5730 bytes) (Obsoleted by RFC0391) (Status: UNKNOWN)
+
+0379 Using TSO at CCN. R.T. Braden. Aug-11-1972. (Format: TXT=8674
+ bytes) (Status: UNKNOWN)
+
+0381 Three aids to improved network operation. J.M. McQuillan.
+ Jul-26-1972. (Format: TXT=9305 bytes) (Updated by RFC0394) (Status:
+ UNKNOWN)
+
+0382 Mathematical Software on the ARPA Network. L. McDaniel.
+ Aug-03-1972. (Format: TXT=2041 bytes) (Status: UNKNOWN)
+
+0384 Official site idents for organizations in the ARPA Network. J.B.
+ North. Aug-28-1972. (Format: TXT=10401 bytes) (Obsoletes RFC0289)
+ (Status: UNKNOWN)
+
+0385 Comments on the File Transfer Protocol. A.K. Bhushan.
+ Aug-18-1972. (Format: TXT=13030 bytes) (Updates RFC0354) (Updated by
+ RFC0414) (Status: UNKNOWN)
+
+0386 Letter to TIP users-2. B. Cosell, D.C. Walden. Aug-16-1972.
+ (Format: TXT=12475 bytes) (Status: UNKNOWN)
+
+0387 Some experiences in implementing Network Graphics Protocol Level
+ 0. K.C. Kelley, J. Meir. Aug-10-1972. (Format: TXT=9059 bytes)
+ (Updated by RFC0401) (Status: UNKNOWN)
+
+0388 NCP statistics. V. Cerf. Aug-23-1972. (Format: TXT=8458 bytes)
+ (Updates RFC0323) (Status: UNKNOWN)
+
+0389 UCLA Campus Computing Network Liaison Staff for ARPA Network. B.
+ Noble. Aug-30-1972. (Format: TXT=2819 bytes) (Obsoleted by RFC0423)
+ (Status: UNKNOWN)
+
+0390 TSO Scenario. R.T. Braden. Sep-12-1972. (Format: TXT=6103 bytes)
+ (Status: UNKNOWN)
+
+0391 Traffic statistics (August 1972). A.M. McKenzie. Sep-15-1972.
+ (Format: TXT=4695 bytes) (Obsoletes RFC0378) (Status: UNKNOWN)
+
+0392 Measurement of host costs for transmitting network data. G.
+ Hicks, B.D. Wessler. Sep-20-1972. (Format: TXT=14462 bytes) (Status:
+ UNKNOWN)
+
+0393 Comments on Telnet Protocol Changes. J.M. Winett. Oct-03-1972.
+ (Format: TXT=9435 bytes) (Also RFC0109, RFC0139, RFC0158, RFC0318,
+ RFC0328) (Status: UNKNOWN)
+
+0394 Two Proposed Changes to the IMP-Host Protocol. J.M. McQuillan.
+ Sep-27-1972. (Format: TXT=5780 bytes) (Updates RFC0381) (Status:
+ UNKNOWN)
+
+0395 Switch Settings on IMPs and TIPs. J.M. McQuillan. Oct-03-1972.
+ (Format: TXT=1827 bytes) (Status: UNKNOWN)
+
+0396 Network Graphics Working Group Meeting - Second Iteration. S.
+ Bunch. Nov-13-1972. (Format: TXT=2224 bytes) (Updated by RFC0474)
+ (Status: UNKNOWN)
+
+0398 ICP Sockets. J.R. Pickens, E. Faeh. Sep-22-1972. (Format:
+ TXT=3846 bytes) (Status: UNKNOWN)
+
+0399 SMFS Login and Logout. M. Krilanovich. Sep-26-1972. (Format:
+ TXT=3024 bytes) (Obsoleted by RFC0431) (Updates RFC0122) (Status:
+ UNKNOWN)
+
+0400 Traffic Statistics (September 1972). A.M. McKenzie. Oct-18-1972.
+ (Format: TXT=5435 bytes) (Status: UNKNOWN)
+
+0401 Conversion of NGP-0 Coordinates to Device Specific Coordinates.
+ J. Hansen. Oct-23-1972. (Format: TXT=3894 bytes) (Updates RFC0387)
+ (Status: UNKNOWN)
+
+0402 ARPA Network Mailing Lists. J.B. North. Oct-26-1972. (Format:
+ TXT=28162 bytes) (Obsoletes RFC0363) (Status: UNKNOWN)
+
+0403 Desirability of a network 1108 service. G. Hicks. Jan-10-1973.
+ (Not online) (Status: UNKNOWN)
+
+0404 Host Address Changes Involving Rand and ISI. A.M. McKenzie.
+ Oct-05-1972. (Format: TXT=944 bytes) (Updated by RFC0405) (Status:
+ UNKNOWN)
+
+0405 Correction to RFC 404. A.M. McKenzie. Oct-10-1972. (Format:
+ TXT=1103 bytes) (Updates RFC0404) (Status: UNKNOWN)
+
+0406 Scheduled IMP Software Releases. J.M. McQuillan. Oct-10-1972.
+ (Format: TXT=2468 bytes) (Status: UNKNOWN)
+
+0407 Remote Job Entry Protocol. R.D. Bressler, R. Guida, A.M.
+ McKenzie. Oct-16-1972. (Format: TXT=47556 bytes) (Obsoletes RFC0360)
+ (Status: HISTORIC)
+
+0408 NETBANK. A.D. Owen, J. Postel. Oct-25-1972. (Format: TXT=1645
+ bytes) (Status: UNKNOWN)
+
+0409 Tenex interface to UCSB's Simple-Minded File System. J.E. White.
+ Dec-08-1972. (Not online) (Status: UNKNOWN)
+
+0410 Removal of the 30-Second Delay When Hosts Come Up. J.M.
+ McQuillan. Nov-10-1972. (Format: TXT=3964 bytes) (Status: UNKNOWN)
+
+0411 New MULTICS Network Software Features. M.A. Padlipsky.
+ Nov-14-1972. (Format: TXT=3024 bytes) (Status: UNKNOWN)
+
+0412 User FTP Documentation. G. Hicks. Nov-27-1972. (Format: TXT=17510
+ bytes) (Status: UNKNOWN)
+
+0413 Traffic statistics (October 1972). A.M. McKenzie. Nov-13-1972.
+ (Format: TXT=16145 bytes) (Status: UNKNOWN)
+
+0414 File Transfer Protocol (FTP) status and further comments. A.K.
+ Bhushan. Dec-29-1972. (Format: TXT=12845 bytes) (Updates RFC0385)
+ (Status: UNKNOWN)
+
+0415 Tenex bandwidth. H. Murray. Nov-29-1972. (Format: TXT=3456 bytes)
+ (Status: UNKNOWN)
+
+0416 ARC System Will Be Unavailable for Use During Thanksgiving Week.
+ J.C. Norton. Nov-07-1972. (Format: TXT=2205 bytes) (Status: UNKNOWN)
+
+0417 Link usage violation. J. Postel, C. Kline. Dec-06-1972. (Format:
+ TXT=901 bytes) (Status: UNKNOWN)
+
+0418 Server file transfer under TSS/360 at NASA Ames. W. Hathaway.
+ Nov-27-1972. (Not online) (Status: UNKNOWN)
+
+0419 To: Network liaisons and station agents. A. Vezza. Dec-12-1972.
+ (Format: TXT=1252 bytes) (Status: UNKNOWN)
+
+0420 CCA ICCC weather demo. H. Murray. Jan-04-1973. (Format: TXT=14752
+ bytes) (Status: UNKNOWN)
+
+0421 Software Consulting Service for Network Users. A.M. McKenzie.
+ Nov-27-1972. (Format: TXT=2483 bytes) (Status: UNKNOWN)
+
+0422 Traffic statistics (November 1972). A.M. McKenzie. Dec-11-1972.
+ (Format: TXT=5494 bytes) (Status: UNKNOWN)
+
+0423 UCLA Campus Computing Network Liaison Staff for ARPANET. B.
+ Noble. Dec-12-1972. (Format: TXT=2890 bytes) (Obsoletes RFC0389)
+ (Status: UNKNOWN)
+
+0425 "But my NCP costs $500 a day". R.D. Bressler. Dec-19-1972.
+ (Format: TXT=1763 bytes) (Status: UNKNOWN)
+
+0426 Reconnection Protocol. R. Thomas. Jan-26-1973. (Format: TXT=26548
+ bytes) (Status: UNKNOWN)
+
+0429 Character Generator Process. J. Postel. Dec-12-1972. (Format:
+ TXT=1319 bytes) (Status: UNKNOWN)
+
+0430 Comments on File Transfer Protocol. R.T. Braden. Feb-07-1973.
+ (Format: TXT=18696 bytes) (Status: UNKNOWN)
+
+0431 Update on SMFS Login and Logout. M. Krilanovich. Dec-15-1972.
+ (Format: TXT=4196 bytes) (Obsoletes RFC0399) (Updates RFC0122)
+ (Status: UNKNOWN)
+
+0432 Network logical map. N. Neigus. Dec-29-1972. (Format: TXT=1291,
+ PDF=148880, PS=1344571 bytes) (Status: UNKNOWN)
+
+0433 Socket number list. J. Postel. Dec-22-1972. (Format: TXT=6834
+ bytes) (Obsoletes RFC0349) (Obsoleted by RFC0503) (Status: UNKNOWN)
+
+0434 IMP/TIP memory retrofit schedule. A.M. McKenzie. Jan-04-1973.
+ (Format: TXT=2242 bytes) (Obsoleted by RFC0447) (Status: UNKNOWN)
+
+0435 Telnet issues. B. Cosell, D.C. Walden. Jan-05-1973. (Format:
+ TXT=23019 bytes) (Updates RFC0318) (Status: UNKNOWN)
+
+0436 Announcement of RJS at UCSB. M. Krilanovich. Jan-10-1973.
+ (Format: TXT=2579 bytes) (Status: UNKNOWN)
+
+0437 Data Reconfiguration Service at UCSB. E. Faeh. Jun-30-1973.
+ (Format: TXT=21562 bytes) (Status: UNKNOWN)
+
+0438 FTP server-server interaction. R. Thomas, R. Clements.
+ Jan-15-1973. (Format: TXT=6514 bytes) (Status: UNKNOWN)
+
+0439 PARRY encounters the DOCTOR. V. Cerf. Jan-21-1973. (Format:
+ TXT=7066 bytes) (Status: UNKNOWN)
+
+0440 Scheduled network software maintenance. D.C. Walden. Jan-01-1973.
+ (Format: TXT=1870 bytes) (Status: UNKNOWN)
+
+0441 Inter-Entity Communication - an experiment. R.D. Bressler, R.
+ Thomas. Jan-19-1973. (Format: TXT=12876 bytes) (Status: UNKNOWN)
+
+0442 Current flow-control scheme for IMPSYS. V. Cerf. Jan-24-1973.
+ (Format: TXT=16315 bytes) (Updated by RFC0449) (Status: UNKNOWN)
+
+0443 Traffic statistics (December 1972). A.M. McKenzie. Jan-18-1973.
+ (Format: TXT=5664 bytes) (Status: UNKNOWN)
+
+0445 IMP/TIP preventive maintenance schedule. A.M. McKenzie.
+ Jan-22-1973. (Format: TXT=2668 bytes) (Status: UNKNOWN)
+
+0446 Proposal to consider a network program resource notebook. L.P.
+ Deutsch. Jan-25-1973. (Format: TXT=3053 bytes) (Status: UNKNOWN)
+
+0447 IMP/TIP memory retrofit schedule. A.M. McKenzie. Jan-29-1973.
+ (Format: TXT=2332 bytes) (Obsoletes RFC0434) (Obsoleted by RFC0476)
+ (Status: UNKNOWN)
+
+0448 Print files in FTP. R.T. Braden. Feb-27-1973. (Format: TXT=6838
+ bytes) (Status: UNKNOWN)
+
+0449 Current flow-control scheme for IMPSYS. D.C. Walden. Jan-06-1973.
+ (Format: TXT=1662 bytes) (Updates RFC0442) (Status: UNKNOWN)
+
+0450 MULTICS sampling timeout change. M.A. Padlipsky. Feb-08-1973.
+ (Format: TXT=924 bytes) (Status: UNKNOWN)
+
+0451 Tentative proposal for a Unified User Level Protocol. M.A.
+ Padlipsky. Feb-22-1973. (Format: TXT=8114 bytes) (Status: UNKNOWN)
+
+0452 TELENET Command at Host LL. J. Winett. Feb-08-1973. (Not online)
+ (Status: UNKNOWN)
+
+0453 Meeting announcement to discuss a network mail system. M.D.
+ Kudlick. Feb-07-1973. (Format: TXT=4572 bytes) (Status: UNKNOWN)
+
+0454 File Transfer Protocol - meeting announcement and a new proposed
+ document. A.M. McKenzie. Feb-16-1973. (Format: TXT=78966 bytes)
+ (Updates RFC0354) (Status: UNKNOWN)
+
+0455 Traffic statistics (January 1973). A.M. McKenzie. Feb-12-1973.
+ (Format: TXT=5746 bytes) (Status: UNKNOWN)
+
+0456 Memorandum: Date change of mail meeting. M.D. Kudlick.
+ Feb-13-1973. (Format: TXT=950 bytes) (Status: UNKNOWN)
+
+0457 TIPUG. D.C. Walden. Feb-15-1973. (Format: TXT=845 bytes) (Status:
+ UNKNOWN)
+
+0458 Mail retrieval via FTP. R.D. Bressler, R. Thomas. Feb-20-1973.
+ (Format: TXT=2705 bytes) (Status: UNKNOWN)
+
+0459 Network questionnaires. W. Kantrowitz. Feb-26-1973. (Format:
+ TXT=1950 bytes) (Status: UNKNOWN)
+
+0460 NCP survey. C. Kline. Feb-13-1973. (Not online) (Status: UNKNOWN)
+
+0461 Telnet Protocol meeting announcement. A.M. McKenzie. Feb-14-1973.
+ (Format: TXT=1966 bytes) (Status: UNKNOWN)
+
+0462 Responding to user needs. J. Iseli, D. Crocker. Feb-22-1973.
+ (Format: TXT=2808 bytes) (Status: UNKNOWN)
+
+0463 FTP comments and response to RFC 430. A.K. Bhushan. Feb-21-1973.
+ (Format: TXT=5729 bytes) (Status: UNKNOWN)
+
+0464 Resource notebook framework. M.D. Kudlick. Feb-27-1973. (Format:
+ TXT=3684 bytes) (Status: UNKNOWN)
+
+0466 Telnet logger/server for host LL-67. J.M. Winett. Feb-27-1973.
+ (Not online) (Status: UNKNOWN)
+
+0467 Proposed change to Host-Host Protocol: Resynchronization of
+ connection status. J.D. Burchfiel, R.S. Tomlinson. Feb-20-1973.
+ (Format: TXT=14325 bytes) (Updated by RFC0492) (Status: UNKNOWN)
+
+0468 FTP data compression. R.T. Braden. Mar-08-1973. (Format:
+ TXT=14909 bytes) (Status: UNKNOWN)
+
+0469 Network mail meeting summary. M.D. Kudlick. Mar-08-1973. (Format:
+ TXT=17774 bytes) (Status: UNKNOWN)
+
+0470 Change in socket for TIP news facility. R. Thomas. Mar-13-1973.
+ (Format: TXT=1014 bytes) (Status: UNKNOWN)
+
+0471 Workshop on multi-site executive programs. R. Thomas.
+ Mar-13-1973. (Format: TXT=3339 bytes) (Status: UNKNOWN)
+
+0472 Illinois' reply to Maxwell's request for graphics information
+ (NIC 14925). S. Bunch. Mar-01-1973. (Format: TXT=4780 bytes) (Status:
+ UNKNOWN)
+
+0473 MIX and MIXAL?. D.C. Walden. Feb-28-1973. (Format: TXT=868 bytes)
+ (Status: UNKNOWN)
+
+0474 Announcement of NGWG meeting: Call for papers. S. Bunch.
+ Mar-01-1973. (Format: TXT=1170 bytes) (Updates RFC0396) (Status:
+ UNKNOWN)
+
+0475 FTP and network mail system. A.K. Bhushan. Mar-06-1973. (Not
+ online) (Status: UNKNOWN)
+
+0476 IMP/TIP memory retrofit schedule (rev 2). A.M. McKenzie.
+ Mar-07-1973. (Format: TXT=2281 bytes) (Obsoletes RFC0447) (Status:
+ UNKNOWN)
+
+0477 Remote Job Service at UCSB. M. Krilanovich. May-23-1973. (Format:
+ TXT=40535 bytes) (Status: UNKNOWN)
+
+0478 FTP server-server interaction - II. R.D. Bressler, R. Thomas.
+ Mar-26-1973. (Format: TXT=4199 bytes) (Status: UNKNOWN)
+
+0479 Use of FTP by the NIC Journal. J.E. White. Mar-08-1973. (Format:
+ TXT=11183 bytes) (Status: UNKNOWN)
+
+0480 Host-dependent FTP parameters. J.E. White. Mar-08-1973. (Format:
+ TXT=2084 bytes) (Status: UNKNOWN)
+
+0482 Traffic statistics (February 1973). A.M. McKenzie. Mar-12-1973.
+ (Format: TXT=6162 bytes) (Status: UNKNOWN)
+
+0483 Cancellation of the resource notebook framework meeting. M.D.
+ Kudlick. Mar-14-1973. (Format: TXT=1021 bytes) (Status: UNKNOWN)
+
+0485 MIX and MIXAL at UCSB. J.R. Pickens. Mar-19-1973. (Format:
+ TXT=2226 bytes) (Status: UNKNOWN)
+
+0486 Data transfer revisited. R.D. Bressler. Mar-20-1973. (Format:
+ TXT=4664 bytes) (Status: UNKNOWN)
+
+0487 Free file transfer. R.D. Bressler. Apr-06-1973. (Format: TXT=3249
+ bytes) (Status: UNKNOWN)
+
+0488 NLS classes at network sites. M.F. Auerbach. Mar-23-1973.
+ (Format: TXT=3806 bytes) (Status: UNKNOWN)
+
+0489 Comment on resynchronization of connection status proposal. J.
+ Postel. Mar-26-1973. (Format: TXT=2010 bytes) (Status: UNKNOWN)
+
+0490 Surrogate RJS for UCLA-CCN. J.R. Pickens. Mar-06-1973. (Format:
+ TXT=9858 bytes) (Status: UNKNOWN)
+
+0491 What is "Free"?. M.A. Padlipsky. Apr-12-1973. (Format: TXT=5872
+ bytes) (Status: UNKNOWN)
+
+0492 Response to RFC 467. E. Meyer. Apr-18-1973. (Format: TXT=18791
+ bytes) (Updates RFC0467) (Status: UNKNOWN)
+
+0493 Graphics Protocol. J.C. Michener, I.W. Cotton, K.C. Kelley, D.E.
+ Liddle, E. Meyer. Apr-26-1973. (Not online) (Status: UNKNOWN)
+
+0494 Availability of MIX and MIXAL in the Network. D.C. Walden.
+ Apr-20-1973. (Format: TXT=2007 bytes) (Status: UNKNOWN)
+
+0495 Telnet Protocol specifications. A.M. McKenzie. May-01-1973.
+ (Format: TXT=4260 bytes) (Obsoletes RFC0158) (Status: UNKNOWN)
+
+0496 TNLS quick reference card is available. M.F. Auerbach.
+ Apr-05-1973. (Format: TXT=1110 bytes) (Status: UNKNOWN)
+
+0497 Traffic statistics (March 1973). A.M. McKenzie. Apr-10-1973. (Not
+ online) (Status: UNKNOWN)
+
+0498 On mail service to CCN. R.T. Braden. Apr-17-1973. (Format:
+ TXT=5315 bytes) (Status: UNKNOWN)
+
+0499 Harvard's network RJE. B.R. Reussow. Apr-01-1973. (Format:
+ TXT=12584 bytes) (Status: UNKNOWN)
+
+0500 Integration of data management systems on a computer network. A.
+ Shoshani, I. Spiegler. Apr-16-1973. (Not online) (Status: UNKNOWN)
+
+0501 Un-muddling "free file transfer". K.T. Pogran. May-11-1973.
+ (Format: TXT=13177 bytes) (Status: UNKNOWN)
+
+0503 Socket number list. N. Neigus, J. Postel. Apr-12-1973. (Format:
+ TXT=8690 bytes) (Obsoletes RFC0433) (Obsoleted by RFC0739) (Status:
+ UNKNOWN)
+
+0504 Distributed resources workshop announcement. R. Thomas.
+ Apr-30-1973. (Format: TXT=9061 bytes) (Status: UNKNOWN)
+
+0505 Two solutions to a file transfer access problem. M.A. Padlipsky.
+ Jun-25-1973. (Format: TXT=7476 bytes) (Status: UNKNOWN)
+
+0506 FTP command naming problem. M.A. Padlipsky. Jun-26-1973. (Format:
+ TXT=1974 bytes) (Status: UNKNOWN)
+
+0508 Real-time data transmission on the ARPANET. L. Pfeifer, J.
+ McAfee. May-07-1973. (Not online) (Status: UNKNOWN)
+
+0509 Traffic statistics (April 1973). A.M. McKenzie. Apr-07-1973.
+ (Format: TXT=6538 bytes) (Status: UNKNOWN)
+
+0510 Request for network mailbox addresses. J.E. White. May-30-1973.
+ (Format: TXT=4150 bytes) (Status: UNKNOWN)
+
+0511 Enterprise phone service to NIC from ARPANET sites. J.B. North.
+ May-23-1973. (Format: TXT=4664 bytes) (Status: UNKNOWN)
+
+0512 More on lost message detection. W. Hathaway. May-23-1973.
+ (Format: TXT=3641 bytes) (Status: UNKNOWN)
+
+0513 Comments on the new Telnet specifications. W. Hathaway.
+ May-30-1973. (Format: TXT=7980 bytes) (Status: UNKNOWN)
+
+0514 Network make-work. W. Kantrowitz. Jun-05-1973. (Format: TXT=8734
+ bytes) (Status: UNKNOWN)
+
+0515 Specifications for datalanguage: Version 0/9. R. Winter.
+ Jun-06-1973. (Not online) (Status: UNKNOWN)
+
+0516 Lost message detection. J. Postel. May-18-1973. (Format: TXT=4086
+ bytes) (Status: UNKNOWN)
+
+0518 ARPANET accounts. N. Vaughan, E.J. Feinler. Jun-19-1973. (Format:
+ TXT=12880 bytes) (Status: UNKNOWN)
+
+0519 Resource evaluation. J.R. Pickens. Jun-01-1973. (Not online)
+ (Status: UNKNOWN)
+
+0520 Memo to FTP group: Proposal for File Access Protocol. J.D. Day.
+ Jun-25-1973. (Format: TXT=16825 bytes) (Status: UNKNOWN)
+
+0521 Restricted use of IMP DDT. A.M. McKenzie. May-30-1973. (Format:
+ TXT=3724 bytes) (Status: UNKNOWN)
+
+0522 Traffic statistics (May 1973). A.M. McKenzie. Jun-05-1973. (Not
+ online) (Status: UNKNOWN)
+
+0523 SURVEY is in operation again. A.K. Bhushan. Jun-05-1973. (Format:
+ TXT=2852 bytes) (Status: UNKNOWN)
+
+0524 Proposed Mail Protocol. J.E. White. Jun-13-1973. (Not online)
+ (Status: UNKNOWN)
+
+0525 MIT-MATHLAB meets UCSB-OLS -an example of resource sharing. W.
+ Parrish, J.R. Pickens. Jun-01-1973. (Not online) (Status: UNKNOWN)
+
+0526 Technical meeting: Digital image processing software systems.
+ W.K. Pratt. Jun-25-1973. (Format: TXT=4062 bytes) (Status: UNKNOWN)
+
+0527 ARPAWOCKY. D.L. Covill. May-01-1973. (Format: TXT=1857 bytes)
+ (Status: UNKNOWN)
+
+0528 Software checksumming in the IMP and network reliability. J.M.
+ McQuillan. Jun-20-1973. (Not online) (Status: UNKNOWN)
+
+0529 Note on protocol synch sequences. A.M. McKenzie, R. Thomas, R.S.
+ Tomlinson, K.T. Pogran. Jun-29-1973. (Format: TXT=9068 bytes)
+ (Status: UNKNOWN)
+
+0530 Report on the Survey project. A.K. Bhushan. Jun-22-1973. (Not
+ online) (Status: UNKNOWN)
+
+0531 Feast or famine? A response to two recent RFC's about network
+ information. M.A. Padlipsky. Jun-26-1973. (Format: TXT=5070 bytes)
+ (Status: UNKNOWN)
+
+0532 UCSD-CC Server-FTP facility. R.G. Merryman. Jul-12-1973. (Not
+ online) (Status: UNKNOWN)
+
+0533 Message-ID numbers. D.C. Walden. Jul-17-1973. (Format: TXT=2102
+ bytes) (Status: UNKNOWN)
+
+0534 Lost message detection. D.C. Walden. Jul-17-1973. (Format:
+ TXT=3227 bytes) (Status: UNKNOWN)
+
+0535 Comments on File Access Protocol. R. Thomas. Jul-25-1973. (Not
+ online) (Status: UNKNOWN)
+
+0537 Announcement of NGG meeting July 16-17. S. Bunch. Jun-27-1973.
+ (Format: TXT=2695 bytes) (Status: UNKNOWN)
+
+0538 Traffic statistics (June 1973). A.M. McKenzie. Jul-05-1973. (Not
+ online) (Status: UNKNOWN)
+
+0539 Thoughts on the mail protocol proposed in RFC 524. D. Crocker, J.
+ Postel. Jul-07-1973. (Format: TXT=6213 bytes) (Status: UNKNOWN)
+
+0542 File Transfer Protocol. N. Neigus. Aug-12-1973. (Format:
+ TXT=100666 bytes) (Obsoletes RFC0354) (Obsoleted by RFC0765) (Updated
+ by RFC0614, RFC0640) (Also RFC0454, RFC0495) (Status: UNKNOWN)
+
+0543 Network journal submission and delivery. N.D. Meyer. Jul-24-1973.
+ (Not online) (Status: UNKNOWN)
+
+0544 Locating on-line documentation at SRI-ARC. N.D. Meyer, K. Kelley.
+ Jul-13-1973. (Format: TXT=1541 bytes) (Status: UNKNOWN)
+
+0545 Of what quality be the UCSB resources evaluators?. J.R. Pickens.
+ Jul-23-1973. (Not online) (Status: UNKNOWN)
+
+0546 Tenex load averages for July 1973. R. Thomas. Aug-10-1973. (Not
+ online) (Status: UNKNOWN)
+
+0547 Change to the Very Distant Host specification. D.C. Walden.
+ Aug-13-1973. (Not online) (Status: UNKNOWN)
+
+0548 Hosts using the IMP Going Down message. D.C. Walden. Aug-16-1973.
+ (Format: TXT=1435 bytes) (Status: UNKNOWN)
+
+0549 Minutes of Network Graphics Group meeting, 15-17 July 1973. J.C.
+ Michener. Jul-17-1973. (Not online) (Status: UNKNOWN)
+
+0550 NIC NCP experiment. L.P. Deutsch. Aug-24-1973. (Format: TXT=3688
+ bytes) (Status: UNKNOWN)
+
+0552 Single access to standard protocols. A.D. Owen. Jul-13-1973.
+ (Format: TXT=1404 bytes) (Status: UNKNOWN)
+
+0553 Draft design for a text/graphics protocol. C.H. Irby, K. Victor.
+ Jul-14-1973. (Not online) (Status: UNKNOWN)
+
+0555 Responses to critiques of the proposed mail protocol. J.E. White.
+ Jul-30-1973. (Format: TXT=21521 bytes) (Status: UNKNOWN)
+
+0556 Traffic statistics (July 1973). A.M. McKenzie. Aug-13-1973. (Not
+ online) (Status: UNKNOWN)
+
+0557 Revelations in network host measurements. B.D. Wessler.
+ Aug-30-1973. (Not online) (Status: UNKNOWN)
+
+0559 Comments on The New Telnet Protocol and its Implementation. A.K.
+ Bhushan. Aug-15-1973. (Format: TXT=10643 bytes) (Status: UNKNOWN)
+
+0560 Remote Controlled Transmission and Echoing Telnet option. D.
+ Crocker, J. Postel. Aug-18-1973. (Not online) (Status: UNKNOWN)
+
+0561 Standardizing Network Mail Headers. A.K. Bhushan, K.T. Pogran,
+ R.S. Tomlinson, J.E. White. Sep-05-1973. (Format: TXT=6159 bytes)
+ (Updated by RFC0680) (Status: UNKNOWN)
+
+0562 Modifications to the Telnet specification. A.M. McKenzie.
+ Aug-28-1973. (Not online) (Status: UNKNOWN)
+
+0563 Comments on the RCTE Telnet option. J. Davidson. Aug-28-1973.
+ (Format: TXT=10788 bytes) (Status: UNKNOWN)
+
+0565 Storing network survey data at the datacomputer. D. Cantor.
+ Aug-28-1973. (Format: TXT=9307 bytes) (Status: UNKNOWN)
+
+0566 Traffic statistics (August 1973). A.M. McKenzie. Sep-04-1973.
+ (Not online) (Status: UNKNOWN)
+
+0567 Cross Country Network Bandwidth. L.P. Deutsch. Sep-06-1973.
+ (Format: TXT=1529 bytes) (Updated by RFC0568) (Status: UNKNOWN)
+
+0568 Response to RFC 567 - cross country network bandwidth. J.M.
+ McQuillan. Sep-18-1973. (Format: TXT=3244 bytes) (Updates RFC0567)
+ (Status: UNKNOWN)
+
+0569 NETED: A Common Editor for the ARPA Network. M.A. Padlipsky.
+ Oct-15-1973. (Format: TXT=17717 bytes) (Status: HISTORIC)
+
+0570 Experimental input mapping between NVT ASCII and UCSB On Line
+ System. J.R. Pickens. Oct-30-1973. (Not online) (Status: UNKNOWN)
+
+0571 Tenex FTP problem. R.T. Braden. Nov-15-1973. (Not online)
+ (Status: UNKNOWN)
+
+0573 Data and file transfer: Some measurement results. A.K. Bhushan.
+ Sep-14-1973. (Not online) (Status: UNKNOWN)
+
+0574 Announcement of a mail facility at UCSB. M. Krilanovich.
+ Sep-26-1973. (Not online) (Status: UNKNOWN)
+
+0576 Proposal for modifying linking. K. Victor. Sep-26-1973. (Not
+ online) (Status: UNKNOWN)
+
+0577 Mail priority. D. Crocker. Oct-18-1973. (Not online) (Status:
+ UNKNOWN)
+
+0578 Using MIT-Mathlab MACSYMA from MIT-DMS Muddle. A.K. Bhushan, N.D.
+ Ryan. Oct-29-1973. (Not online) (Status: UNKNOWN)
+
+0579 Traffic statistics (September 1973). A.M. McKenzie. Nov-26-1973.
+ (Not online) (Status: UNKNOWN)
+
+0580 Note to Protocol Designers and Implementers. J. Postel.
+ Oct-25-1973. (Format: TXT=1451 bytes) (Updated by RFC0582) (Status:
+ UNKNOWN)
+
+0581 Corrections to RFC 560: Remote Controlled Transmission and
+ Echoing Telnet Option. D. Crocker, J. Postel. Nov-02-1973. (Not
+ online) (Status: UNKNOWN)
+
+0582 Comments on RFC 580: Machine readable protocols. R. Clements.
+ Nov-05-1973. (Not online) (Updates RFC0580) (Status: UNKNOWN)
+
+0584 Charter for ARPANET Users Interest Working Group. J. Iseli, D.
+ Crocker, N. Neigus. Nov-06-1973. (Format: TXT=3461 bytes) (Status:
+ UNKNOWN)
+
+0585 ARPANET users interest working group meeting. D. Crocker, N.
+ Neigus, E.J. Feinler, J. Iseli. Nov-06-1973. (Format: TXT=18243
+ bytes) (Status: UNKNOWN)
+
+0586 Traffic statistics (October 1973). A.M. McKenzie. Nov-08-1973.
+ (Not online) (Status: UNKNOWN)
+
+0587 Announcing new Telnet options. J. Postel. Nov-13-1973. (Not
+ online) (Status: UNKNOWN)
+
+0588 London node is now up. A.V. Stokes. Oct-29-1973. (Not online)
+ (Status: UNKNOWN)
+
+0589 CCN NETRJS server messages to remote user. R.T. Braden.
+ Nov-26-1973. (Format: TXT=7998 bytes) (Status: UNKNOWN)
+
+0590 MULTICS address change. M.A. Padlipsky. Nov-19-1973. (Not online)
+ (Status: UNKNOWN)
+
+0591 Addition to the Very Distant Host specifications. D.C. Walden.
+ Nov-29-1973. (Format: TXT=901 bytes) (Status: UNKNOWN)
+
+0592 Some thoughts on system design to facilitate resource sharing.
+ R.W. Watson. Nov-20-1973. (Not online) (Status: UNKNOWN)
+
+0593 Telnet and FTP implementation schedule change. A.M. McKenzie, J.
+ Postel. Nov-29-1973. (Format: TXT=2506 bytes) (Status: UNKNOWN)
+
+0594 Speedup of Host-IMP interface. J.D. Burchfiel. Dec-10-1973. (Not
+ online) (Status: UNKNOWN)
+
+0595 Second thoughts in defense of the Telnet Go-Ahead. W. Hathaway.
+ Dec-12-1973. (Format: TXT=13507 bytes) (Status: UNKNOWN)
+
+0596 Second thoughts on Telnet Go-Ahead. E.A. Taft. Dec-08-1973.
+ (Format: TXT=11919 bytes) (Status: UNKNOWN)
+
+0597 Host status. N. Neigus, E.J. Feinler. Dec-12-1973. (Format:
+ TXT=11678 bytes) (Updated by RFC0603) (Status: UNKNOWN)
+
+0598 RFC index - December 5, 1973. Network Information Center.
+ Stanford Research Institute. Dec-05-1973. (Not online) (Status:
+ UNKNOWN)
+
+0599 Update on NETRJS. R.T. Braden. Dec-13-1973. (Format: TXT=16590
+ bytes) (Obsoletes RFC0189) (Obsoleted by RFC0740) (Status: UNKNOWN)
+
+0600 Interfacing an Illinois plasma terminal to the ARPANET. A.
+ Berggreen. Nov-26-1973. (Not online) (Status: UNKNOWN)
+
+0601 Traffic statistics (November 1973). A.M. McKenzie. Dec-14-1973.
+ (Format: TXT=9100 bytes) (Status: UNKNOWN)
+
+0602 "The stockings were hung by the chimney with care". R.M.
+ Metcalfe. Dec-27-1973. (Format: TXT=1988 bytes) (Status: UNKNOWN)
+
+0603 Response to RFC 597: Host status. J.D. Burchfiel. Dec-31-1973.
+ (Format: TXT=1482 bytes) (Updates RFC0597) (Updated by RFC0613)
+ (Status: UNKNOWN)
+
+0604 Assigned link numbers. J. Postel. Dec-26-1973. (Format: TXT=2758
+ bytes) (Obsoletes RFC0317) (Obsoleted by RFC0739) (Status: UNKNOWN)
+
+0606 Host names on-line. L.P. Deutsch. Dec-29-1973. (Format: TXT=6855
+ bytes) (Status: UNKNOWN)
+
+0607 Comments on the File Transfer Protocol. M. Krilanovich, G. Gregg.
+ Jan-07-1974. (Format: TXT=8652 bytes) (Obsoleted by RFC0624) (Updated
+ by RFC0614) (Status: UNKNOWN)
+
+0608 Host names on-line. M.D. Kudlick. Jan-10-1974. (Format: TXT=7010
+ bytes) (Obsoleted by RFC0810) (Status: UNKNOWN)
+
+0609 Statement of upcoming move of NIC/NLS service. B. Ferguson.
+ Jan-10-1974. (Format: TXT=1260 bytes) (Status: UNKNOWN)
+
+0610 Further datalanguage design concepts. R. Winter, J. Hill, W.
+ Greiff. Dec-15-1973. (Format: TXT=198692 bytes) (Status: UNKNOWN)
+
+0611 Two changes to the IMP/Host Protocol to improve user/network
+ communications. D.C. Walden. Feb-14-1974. (Format: TXT=7481 bytes)
+ (Status: UNKNOWN)
+
+0612 Traffic statistics (December 1973). A.M. McKenzie. Jan-16-1974.
+ (Format: TXT=9667 bytes) (Status: UNKNOWN)
+
+0613 Network connectivity: A response to RFC 603. A.M. McKenzie.
+ Jan-21-1974. (Format: TXT=2557 bytes) (Updates RFC0603) (Status:
+ UNKNOWN)
+
+0614 Response to RFC 607: "Comments on the File Transfer Protocol".
+ K.T. Pogran, N. Neigus. Jan-28-1974. (Format: TXT=11409 bytes)
+ (Updates RFC0542, RFC0607) (Status: UNKNOWN)
+
+0615 Proposed Network Standard Data Pathname syntax. D. Crocker.
+ Mar-01-1974. (Format: TXT=9448 bytes) (Status: UNKNOWN)
+
+0616 Latest network maps. D.C. Walden. Feb-11-1973. (Not online)
+ (Status: UNKNOWN)
+
+0617 Note on socket number assignment. E.A. Taft. Feb-19-1974.
+ (Format: TXT=8062 bytes) (Status: UNKNOWN)
+
+0618 Few observations on NCP statistics. E.A. Taft. Feb-19-1974.
+ (Format: TXT=4929 bytes) (Status: UNKNOWN)
+
+0619 Mean round-trip times in the ARPANET. W. Naylor, H. Opderbeck.
+ Mar-07-1974. (Format: TXT=30946 bytes) (Status: UNKNOWN)
+
+0620 Request for monitor host table updates. B. Ferguson. Mar-01-1974.
+ (Format: TXT=1950 bytes) (Status: UNKNOWN)
+
+0621 NIC user directories at SRI ARC. M.D. Kudlick. Mar-06-1974.
+ (Format: TXT=1351 bytes) (Status: UNKNOWN)
+
+0622 Scheduling IMP/TIP down time. A.M. McKenzie. Mar-13-1974.
+ (Format: TXT=4367 bytes) (Status: UNKNOWN)
+
+0623 Comments on on-line host name service. M. Krilanovich.
+ Feb-22-1974. (Format: TXT=3740 bytes) (Status: UNKNOWN)
+
+0624 Comments on the File Transfer Protocol. M. Krilanovich, G. Gregg,
+ W. Hathaway, J.E. White. Feb-28-1974. (Format: TXT=10105 bytes)
+ (Obsoletes RFC0607) (Status: UNKNOWN)
+
+0625 On-line hostnames service. M.D. Kudlick, E.J. Feinler.
+ Mar-07-1974. (Format: TXT=2172 bytes) (Status: UNKNOWN)
+
+0626 On a possible lockup condition in IMP subnet due to message
+ sequencing. L. Kleinrock, H. Opderbeck. Mar-14-1974. (Format:
+ TXT=13150 bytes) (Status: UNKNOWN)
+
+0627 ASCII text file of hostnames. M.D. Kudlick, E.J. Feinler.
+ Mar-25-1974. (Format: TXT=2007 bytes) (Status: UNKNOWN)
+
+0628 Status of RFC numbers and a note on pre-assigned journal numbers.
+ M.L. Keeney. Mar-27-1974. (Format: TXT=1036 bytes) (Status: UNKNOWN)
+
+0629 Scenario for using the Network Journal. J.B. North. Mar-27-1974.
+ (Format: TXT=4504 bytes) (Status: UNKNOWN)
+
+0630 FTP error code usage for more reliable mail service. J. Sussmann.
+ Apr-10-1974. (Format: TXT=4070 bytes) (Status: UNKNOWN)
+
+0631 International meeting on minicomputers and data communication:
+ Call for papers. A. Danthine. Apr-17-1974. (Format: TXT=2707 bytes)
+ (Status: UNKNOWN)
+
+0632 Throughput degradations for single packet messages. H. Opderbeck.
+ May-20-1974. (Format: TXT=14563 bytes) (Status: UNKNOWN)
+
+0633 IMP/TIP preventive maintenance schedule. A.M. McKenzie.
+ Mar-18-1974. (Format: TXT=3733 bytes) (Obsoleted by RFC0638) (Status:
+ UNKNOWN)
+
+0634 Change in network address for Haskins Lab. A.M. McKenzie.
+ Apr-10-1974. (Format: TXT=1098 bytes) (Status: UNKNOWN)
+
+0635 Assessment of ARPANET protocols. V. Cerf. Apr-22-1974. (Not
+ online) (Status: UNKNOWN)
+
+0636 TIP/Tenex reliability improvements. J.D. Burchfiel, B. Cosell,
+ R.S. Tomlinson, D.C. Walden. Jun-10-1974. (Format: TXT=19914 bytes)
+ (Status: UNKNOWN)
+
+0637 Change of network address for SU-DSL. A.M. McKenzie. Apr-23-1974.
+ (Format: TXT=916 bytes) (Status: UNKNOWN)
+
+0638 IMP/TIP preventive maintenance schedule. A.M. McKenzie.
+ Apr-25-1974. (Format: TXT=4088 bytes) (Obsoletes RFC0633) (Status:
+ UNKNOWN)
+
+0640 Revised FTP reply codes. J. Postel. Jun-19-1974. (Format:
+ TXT=39670 bytes) (Updates RFC0542) (Status: UNKNOWN)
+
+0642 Ready line philosophy and implementation. J.D. Burchfiel.
+ Jul-05-1974. (Format: TXT=8414 bytes) (Status: UNKNOWN)
+
+0643 Network Debugging Protocol. E. Mader. Jul-01-1974. (Format:
+ TXT=12563 bytes) (Status: UNKNOWN)
+
+0644 On the problem of signature authentication for network mail. R.
+ Thomas. Jul-22-1974. (Format: TXT=9501 bytes) (Status: UNKNOWN)
+
+0645 Network Standard Data Specification syntax. D. Crocker.
+ Jun-26-1974. (Not online) (Status: UNKNOWN)
+
+0647 Proposed protocol for connecting host computers to ARPA-like
+ networks via front end processors. M.A. Padlipsky. Nov-12-1974. (Not
+ online) (Status: UNKNOWN)
+
+0651 Revised Telnet status option. D. Crocker. Oct-25-1974. (Format:
+ TXT=4360 bytes) (Obsoleted by RFC0859) (Status: UNKNOWN)
+
+0652 Telnet output carriage-return disposition option. D. Crocker.
+ Oct-25-1974. (Format: TXT=7003 bytes) (Status: HISTORIC)
+
+0653 Telnet output horizontal tabstops option. D. Crocker.
+ Oct-25-1974. (Format: TXT=4694 bytes) (Status: HISTORIC)
+
+0654 Telnet output horizontal tab disposition option. D. Crocker.
+ Oct-25-1974. (Format: TXT=6158 bytes) (Status: HISTORIC)
+
+0655 Telnet output formfeed disposition option. D. Crocker.
+ Oct-25-1974. (Format: TXT=5991 bytes) (Status: HISTORIC)
+
+0656 Telnet output vertical tabstops option. D. Crocker. Oct-25-1974.
+ (Format: TXT=4858 bytes) (Status: HISTORIC)
+
+0657 Telnet output vertical tab disposition option. D. Crocker.
+ Oct-25-1974. (Format: TXT=5759 bytes) (Status: HISTORIC)
+
+0658 Telnet output linefeed disposition. D. Crocker. Oct-25-1974.
+ (Format: TXT=6484 bytes) (Status: HISTORIC)
+
+0659 Announcing additional Telnet options. J. Postel. Oct-18-1974.
+ (Not online) (Status: UNKNOWN)
+
+0660 Some changes to the IMP and the IMP/Host interface. D.C. Walden.
+ Oct-23-1974. (Format: TXT=4991 bytes) (Status: UNKNOWN)
+
+0661 Protocol information. J. Postel. Nov-23-1974. (Not online)
+ (Status: UNKNOWN)
+
+0662 Performance improvement in ARPANET file transfers from Multics.
+ R. Kanodia. Nov-26-1974. (Format: TXT=8872 bytes) (Status: UNKNOWN)
+
+0663 Lost message detection and recovery protocol. R. Kanodia.
+ Nov-29-1974. (Format: TXT=44702 bytes) (Status: UNKNOWN)
+
+0666 Specification of the Unified User-Level Protocol. M.A. Padlipsky.
+ Nov-26-1974. (Not online) (Status: UNKNOWN)
+
+0667 BBN host ports. S.G. Chipman. Dec-17-1974. (Not online) (Status:
+ UNKNOWN)
+
+0669 November, 1974, survey of New-Protocol Telnet servers. D.W.
+ Dodds. Dec-04-1974. (Not online) (Status: UNKNOWN)
+
+0671 Note on Reconnection Protocol. R. Schantz. Dec-06-1974. (Not
+ online) (Status: UNKNOWN)
+
+0672 Multi-site data collection facility. R. Schantz. Dec-06-1974.
+ (Format: TXT=25736 bytes) (Status: UNKNOWN)
+
+0674 Procedure call documents: Version 2. J. Postel, J.E. White.
+ Dec-12-1974. (Format: TXT=12178 bytes) (Status: UNKNOWN)
+
+0675 Specification of Internet Transmission Control Program. V. Cerf,
+ Y. Dalal, C. Sunshine. Dec-01-1974. (Format: TXT=156874 bytes)
+ (Status: UNKNOWN)
+
+0677 Maintenance of duplicate databases. P.R. Johnson, R. Thomas.
+ Jan-27-1975. (Format: TXT=22990 bytes) (Status: UNKNOWN)
+
+0678 Standard file formats. J. Postel. Dec-19-1974. (Format: TXT=12393
+ bytes) (Status: UNKNOWN)
+
+0679 February, 1975, survey of New-Protocol Telnet servers. D.W.
+ Dodds. Feb-21-1975. (Not online) (Status: UNKNOWN)
+
+0680 Message Transmission Protocol. T.H. Myer, D.A. Henderson.
+ Apr-30-1975. (Not online) (Updates RFC0561) (Status: UNKNOWN)
+
+0681 Network UNIX. S. Holmgren. Mar-18-1975. (Format: TXT=18874 bytes)
+ (Status: UNKNOWN)
+
+0683 FTPSRV - Tenex extension for paged files. R. Clements.
+ Apr-03-1975. (Format: TXT=8806 bytes) (Updates RFC0354) (Status:
+ UNKNOWN)
+
+0684 Commentary on procedure calling as a network protocol. R.
+ Schantz. Apr-15-1975. (Format: TXT=21164 bytes) (Status: UNKNOWN)
+
+0685 Response time in cross network debugging. M. Beeler. Apr-16-1975.
+ (Format: TXT=6914 bytes) (Status: UNKNOWN)
+
+0686 Leaving well enough alone. B. Harvey. May-10-1975. (Format:
+ TXT=24605 bytes) (Status: UNKNOWN)
+
+0687 IMP/Host and Host/IMP Protocol changes. D.C. Walden. Jun-02-1975.
+ (Format: TXT=6013 bytes) (Obsoleted by RFC0704) (Updated by RFC0690)
+ (Status: UNKNOWN)
+
+0688 Tentative schedule for the new Telnet implementation for the TIP.
+ D.C. Walden. Jun-04-1975. (Format: TXT=1593 bytes) (Status: UNKNOWN)
+
+0689 Tenex NCP finite state machine for connections. R. Clements.
+ May-23-1975. (Format: TXT=13101 bytes) (Status: UNKNOWN)
+
+0690 Comments on the proposed Host/IMP Protocol changes. J. Postel.
+ Jun-06-1975. (Format: TXT=7215 bytes) (Updates RFC0687) (Updated by
+ RFC0692) (Status: UNKNOWN)
+
+0691 One more try on the FTP. B. Harvey. Jun-06-1975. (Format:
+ TXT=32821 bytes) (Status: UNKNOWN)
+
+0692 Comments on IMP/Host Protocol changes (RFCs 687 and 690). S.M.
+ Wolfe. Jun-20-1975. (Format: TXT=2681 bytes) (Updates RFC0690)
+ (Status: UNKNOWN)
+
+0694 Protocol information. J. Postel. Jun-18-1975. (Not online)
+ (Status: UNKNOWN)
+
+0695 Official change in Host-Host Protocol. M. Krilanovich.
+ Jul-05-1975. (Format: TXT=3425 bytes) (Status: UNKNOWN)
+
+0696 Comments on the IMP/Host and Host/IMP Protocol changes. V.G.
+ Cerf. Jul-13-1975. (Not online) (Status: UNKNOWN)
+
+0697 CWD command of FTP. J. Lieb. Jul-14-1975. (Format: TXT=3047
+ bytes) (Status: UNKNOWN)
+
+0698 Telnet extended ASCII option. T. Mock. Jul-23-1975. (Format:
+ TXT=5086 bytes) (Status: PROPOSED STANDARD)
+
+0699 Request For Comments summary notes: 600-699. J. Postel, J.
+ Vernon. Nov-01-1982. (Format: TXT=14688 bytes) (Status:
+ INFORMATIONAL)
+
+0700 Protocol experiment. E. Mader, W.W. Plummer, R.S. Tomlinson.
+ Aug-01-1974. (Format: TXT=14600 bytes) (Status: UNKNOWN)
+
+0701 August, 1974, survey of New-Protocol Telnet servers. D.W. Dodds.
+ Aug-01-1974. (Format: TXT=3549 bytes) (Status: UNKNOWN)
+
+0702 September, 1974, survey of New-Protocol Telnet servers. D.W.
+ Dodds. Sep-25-1974. (Format: TXT=5386 bytes) (Status: UNKNOWN)
+
+0703 July, 1975, survey of New-Protocol Telnet Servers. D.W. Dodds.
+ Jul-11-1975. (Format: TXT=5691 bytes) (Status: UNKNOWN)
+
+0704 IMP/Host and Host/IMP Protocol change. P.J. Santos. Sep-15-1975.
+ (Format: TXT=7504 bytes) (Obsoletes RFC0687) (Status: UNKNOWN)
+
+0705 Front-end Protocol B6700 version. R.F. Bryan. Nov-05-1975.
+ (Format: TXT=70998 bytes) (Status: UNKNOWN)
+
+0706 On the junk mail problem. J. Postel. Nov-08-1975. (Format:
+ TXT=2085 bytes) (Status: UNKNOWN)
+
+0707 High-level framework for network-based resource sharing. J.E.
+ White. Dec-23-1975. (Format: TXT=57254 bytes) (Status: UNKNOWN)
+
+0708 Elements of a Distributed Programming System. J.E. White.
+ Jan-28-1976. (Format: TXT=57888 bytes) (Status: UNKNOWN)
+
+0709 Not Issued.
+
+0710 Not Issued.
+
+0711 Not Issued.
+
+0712 Distributed Capability Computing System (DCCS). J.E. Donnelley.
+ Feb-05-1976. (Not online) (Status: UNKNOWN)
+
+0713 MSDTP-Message Services Data Transmission Protocol. J. Haverty.
+ Apr-06-1976. (Format: TXT=41175 bytes) (Status: UNKNOWN)
+
+0714 Host-Host Protocol for an ARPANET-Type Network. A.M. McKenzie.
+ Apr-21-1976. (Not online) (Status: UNKNOWN)
+
+0715 Not Issued.
+
+0716 Interim Revision to Appendix F of BBN 1822. D.C. Walden, J.
+ Levin. May-24-1976. (Format: TXT=3345 bytes) (Status: UNKNOWN)
+
+0717 Assigned Network Numbers. J. Postel. Jul-01-1976. (Format:
+ TXT=2322 bytes) (Status: HISTORIC)
+
+0718 Comments on RCTE from the Tenex Implementation Experience. J.
+ Postel. Jun-30-1976. (Format: TXT=3829 bytes) (Status: UNKNOWN)
+
+0719 Discussion on RCTE. J. Postel. Jul-22-1976. (Format: TXT=4708
+ bytes) (Status: UNKNOWN)
+
+0720 Address Specification Syntax for Network Mail. D. Crocker.
+ Aug-05-1976. (Format: TXT=6602 bytes) (Status: UNKNOWN)
+
+0721 Out-of-Band Control Signals in a Host-to-Host Protocol. L.L.
+ Garlick. Sep-01-1976. (Format: TXT=13566 bytes) (Status: UNKNOWN)
+
+0722 Thoughts on Interactions in Distributed Services. J. Haverty.
+ Sep-16-1976. (Format: TXT=29478 bytes) (Status: UNKNOWN)
+
+0723 Not Issued.
+
+0724 Proposed official standard for the format of ARPA Network
+ messages. D. Crocker, K.T. Pogran, J. Vittal, D.A. Henderson.
+ May-12-1977. (Format: TXT=75554 bytes) (Obsoleted by RFC0733)
+ (Status: UNKNOWN)
+
+0725 RJE protocol for a resource sharing network. J.D. Day, G.R.
+ Grossman. Mar-01-1977. (Format: TXT=44025 bytes) (Status: UNKNOWN)
+
+0726 Remote Controlled Transmission and Echoing Telnet option. J.
+ Postel, D. Crocker. Mar-08-1977. (Format: TXT=38651 bytes) (Status:
+ PROPOSED STANDARD)
+
+0727 Telnet logout option. M.R. Crispin. Apr-27-1977. (Format:
+ TXT=5674 bytes) (Status: PROPOSED STANDARD)
+
+0728 Minor pitfall in the Telnet Protocol. J.D. Day. Apr-27-1977.
+ (Format: TXT=2224 bytes) (Status: UNKNOWN)
+
+0729 Telnet byte macro option. D. Crocker. May-13-1977. (Format:
+ TXT=6509 bytes) (Obsoleted by RFC0735) (Status: UNKNOWN)
+
+0730 Extensible field addressing. J. Postel. May-20-1977. (Format:
+ TXT=9519 bytes) (Status: UNKNOWN)
+
+0731 Telnet Data Entry Terminal option. J.D. Day. Jun-27-1977.
+ (Format: TXT=61648 bytes) (Obsoleted by RFC0732) (Status: UNKNOWN)
+
+0732 Telnet Data Entry Terminal option. J.D. Day. Sep-12-1977.
+ (Format: TXT=57160 bytes) (Obsoletes RFC0731) (Updated by RFC1043)
+ (Status: UNKNOWN)
+
+0733 Standard for the format of ARPA network text messages. D.
+ Crocker, J. Vittal, K.T. Pogran, D.A. Henderson. Nov-21-1977.
+ (Format: TXT=73006 bytes) (Obsoletes RFC0724) (Obsoleted by RFC0822)
+ (Status: UNKNOWN)
+
+0734 SUPDUP Protocol. M.R. Crispin. Oct-07-1977. (Format: TXT=33256
+ bytes) (Status: HISTORIC)
+
+0735 Revised Telnet byte macro option. D. Crocker, R.H. Gumpertz.
+ Nov-03-1977. (Format: TXT=10585 bytes) (Obsoletes RFC0729) (Status:
+ PROPOSED STANDARD)
+
+0736 Telnet SUPDUP option. M.R. Crispin. Oct-31-1977. (Format:
+ TXT=3081 bytes) (Status: PROPOSED STANDARD)
+
+0737 FTP extension: XSEN. K. Harrenstien. Oct-31-1977. (Format:
+ TXT=2127 bytes) (Status: UNKNOWN)
+
+0738 Time server. K. Harrenstien. Oct-31-1977. (Format: TXT=1851
+ bytes) (Status: UNKNOWN)
+
+0739 Assigned numbers. J. Postel. Nov-11-1977. (Format: TXT=16346
+ bytes) (Obsoletes RFC0604, RFC0503) (Obsoleted by RFC0750) (Status:
+ HISTORIC)
+
+0740 NETRJS Protocol. R.T. Braden. Nov-22-1977. (Format: TXT=38833
+ bytes) (Obsoletes RFC0599) (Status: HISTORIC)
+
+0741 Specifications for the Network Voice Protocol (NVP). D. Cohen.
+ Nov-22-1977. (Format: TXT=57581 bytes) (Status: UNKNOWN)
+
+0742 NAME/FINGER Protocol. K. Harrenstien. Dec-30-1977. (Format:
+ TXT=12321 bytes) (Obsoleted by RFC1288, RFC1196, RFC1194) (Status:
+ UNKNOWN)
+
+0743 FTP extension: XRSQ/XRCP. K. Harrenstien. Dec-30-1977. (Format:
+ TXT=16249 bytes) (Status: UNKNOWN)
+
+0744 MARS - a Message Archiving and Retrieval Service. J. Sattley.
+ Jan-08-1978. (Format: TXT=10984 bytes) (Status: UNKNOWN)
+
+0745 JANUS interface specifications. M. Beeler. Mar-30-1978. (Format:
+ TXT=21453 bytes) (Status: UNKNOWN)
+
+0746 SUPDUP graphics extension. R. Stallman. Mar-17-1978. (Format:
+ TXT=30197 bytes) (Status: UNKNOWN)
+
+0747 Recent extensions to the SUPDUP Protocol. M.R. Crispin.
+ Mar-21-1978. (Format: TXT=2870 bytes) (Status: UNKNOWN)
+
+0748 Telnet randomly-lose option. M.R. Crispin. Apr-01-1978. (Format:
+ TXT=2741 bytes) (Status: UNKNOWN)
+
+0749 Telnet SUPDUP-Output option. B. Greenberg. Sep-18-1978. (Format:
+ TXT=8933 bytes) (Status: PROPOSED STANDARD)
+
+0750 Assigned numbers. J. Postel. Sep-26-1978. (Format: TXT=19979
+ bytes) (Obsoletes RFC0739) (Obsoleted by RFC0755) (Status: HISTORIC)
+
+0751 Survey of FTP mail and MLFL. P.D. Lebling. Dec-10-1978. (Format:
+ TXT=10069 bytes) (Status: UNKNOWN)
+
+0752 Universal host table. M.R. Crispin. Jan-02-1979. (Format:
+ TXT=33793 bytes) (Status: UNKNOWN)
+
+0753 Internet Message Protocol. J. Postel. Mar-01-1979. (Format:
+ TXT=93363 bytes) (Status: UNKNOWN)
+
+0754 Out-of-net host addresses for mail. J. Postel. Apr-06-1979.
+ (Format: TXT=19212 bytes) (Status: UNKNOWN)
+
+0755 Assigned numbers. J. Postel. May-03-1979. (Format: TXT=22039
+ bytes) (Obsoletes RFC0750) (Obsoleted by RFC0758) (Status: HISTORIC)
+
+0756 NIC name server - a datagram-based information utility. J.R.
+ Pickens, E.J. Feinler, J.E. Mathis. Jul-01-1979. (Format: TXT=23491
+ bytes) (Status: UNKNOWN)
+
+0757 Suggested solution to the naming, addressing, and delivery
+ problem for ARPANET message systems. D.P. Deutsch. Sep-10-1979.
+ (Format: TXT=35618 bytes) (Status: UNKNOWN)
+
+0758 Assigned numbers. J. Postel. Aug-01-1979. (Format: TXT=22911
+ bytes) (Obsoletes RFC0755) (Obsoleted by RFC0762) (Status: HISTORIC)
+
+0759 Internet Message Protocol. J. Postel. Aug-01-1980. (Format:
+ TXT=123606 bytes) (Status: HISTORIC)
+
+0760 DoD standard Internet Protocol. J. Postel. Jan-01-1980. (Format:
+ TXT=81507 bytes) (Obsoletes IEN 123) (Obsoleted by RFC0791) (Updated
+ by RFC0777) (Status: UNKNOWN)
+
+0761 DoD standard Transmission Control Protocol. J. Postel.
+ Jan-01-1980. (Format: TXT=167049 bytes) (Status: UNKNOWN)
+
+0762 Assigned numbers. J. Postel. Jan-01-1980. (Format: TXT=24668
+ bytes) (Obsoletes RFC0758) (Obsoleted by RFC0770) (Status: HISTORIC)
+
+0763 Role mailboxes. M.D. Abrams. May-07-1980. (Format: TXT=942 bytes)
+ (Status: UNKNOWN)
+
+0764 Telnet Protocol specification. J. Postel. Jun-01-1980. (Format:
+ TXT=40005 bytes) (Obsoleted by RFC0854) (Status: UNKNOWN)
+
+0765 File Transfer Protocol specification. J. Postel. Jun-01-1980.
+ (Format: TXT=146641 bytes) (Obsoletes RFC0542) (Obsoleted by RFC0959)
+ (Status: UNKNOWN)
+
+0766 Internet Protocol Handbook: Table of contents. J. Postel.
+ Jul-01-1980. (Format: TXT=3465 bytes) (Obsoleted by RFC0774) (Status:
+ UNKNOWN)
+
+0767 Structured format for transmission of multi-media documents. J.
+ Postel. Aug-01-1980. (Format: TXT=59971 bytes) (Status: UNKNOWN)
+
+0768 User Datagram Protocol. J. Postel. Aug-28-1980. (Format: TXT=5896
+ bytes) (Also STD0006) (Status: STANDARD)
+
+0769 Rapicom 450 facsimile file format. J. Postel. Sep-26-1980.
+ (Format: TXT=4079 bytes) (Status: UNKNOWN)
+
+0770 Assigned numbers. J. Postel. Sep-01-1980. (Format: TXT=26248
+ bytes) (Obsoletes RFC0762) (Obsoleted by RFC0776) (Status: HISTORIC)
+
+0771 Mail transition plan. V.G. Cerf, J. Postel. Sep-01-1980. (Format:
+ TXT=18623 bytes) (Status: UNKNOWN)
+
+0772 Mail Transfer Protocol. S. Sluizer, J. Postel. Sep-01-1980.
+ (Format: TXT=61061 bytes) (Obsoleted by RFC0780) (Status: UNKNOWN)
+
+0773 Comments on NCP/TCP mail service transition strategy. V.G. Cerf.
+ Oct-01-1980. (Format: TXT=22181 bytes) (Status: UNKNOWN)
+
+0774 Internet Protocol Handbook: Table of contents. J. Postel.
+ Oct-01-1980. (Format: TXT=3452 bytes) (Obsoletes RFC0766) (Status:
+ UNKNOWN)
+
+0775 Directory oriented FTP commands. D. Mankins, D. Franklin, A.D.
+ Owen. Dec-01-1980. (Format: TXT=9511 bytes) (Status: UNKNOWN)
+
+0776 Assigned numbers. J. Postel. Jan-01-1981. (Format: TXT=30311
+ bytes) (Obsoletes RFC0770) (Obsoleted by RFC0790) (Status: HISTORIC)
+
+0777 Internet Control Message Protocol. J. Postel. Apr-01-1981.
+ (Format: TXT=19407 bytes) (Obsoleted by RFC0792) (Updates RFC0760)
+ (Status: UNKNOWN)
+
+0778 DCNET Internet Clock Service. D.L. Mills. Apr-18-1981. (Format:
+ TXT=9464 bytes) (Status: HISTORIC)
+
+0779 Telnet send-location option. E. Killian. Apr-01-1981. (Format:
+ TXT=2564 bytes) (Status: PROPOSED STANDARD)
+
+0780 Mail Transfer Protocol. S. Sluizer, J. Postel. May-01-1981.
+ (Format: TXT=80352 bytes) (Obsoletes RFC0772) (Obsoleted by RFC0788)
+ (Status: UNKNOWN)
+
+0781 Specification of the Internet Protocol (IP) timestamp option. Z.
+ Su. May-01-1981. (Format: TXT=4002 bytes) (Status: UNKNOWN)
+
+0782 Virtual Terminal management model. J. Nabielsky, A.P. Skelton.
+ Jan-01-1981. (Format: TXT=43589 bytes) (Status: UNKNOWN)
+
+0783 TFTP Protocol (revision 2). K.R. Sollins. Jun-01-1981. (Format:
+ TXT=23522 bytes) (Obsoletes IEN 133) (Obsoleted by RFC1350) (Status:
+ UNKNOWN)
+
+0784 Mail Transfer Protocol: ISI TOPS20 implementation. S. Sluizer, J.
+ Postel. Jul-01-1981. (Format: TXT=5856 bytes) (Status: UNKNOWN)
+
+0785 Mail Transfer Protocol: ISI TOPS20 file definitions. S. Sluizer,
+ J. Postel. Jul-01-1981. (Format: TXT=7032 bytes) (Status: UNKNOWN)
+
+0786 Mail Transfer Protocol: ISI TOPS20 MTP-NIMAIL interface. S.
+ Sluizer, J. Postel. Jul-01-1981. (Format: TXT=3129 bytes) (Status:
+ UNKNOWN)
+
+0787 Connectionless data transmission survey/tutorial. A.L. Chapin.
+ Jul-01-1981. (Format: TXT=84265 bytes) (Status: UNKNOWN)
+
+0788 Simple Mail Transfer Protocol. J. Postel. Nov-01-1981. (Format:
+ TXT=109001 bytes) (Obsoletes RFC0780) (Obsoleted by RFC0821) (Status:
+ UNKNOWN)
+
+0789 Vulnerabilities of network control protocols: An example. E.C.
+ Rosen. Jul-01-1981. (Format: TXT=25541 bytes) (Status: UNKNOWN)
+
+0790 Assigned numbers. J. Postel. Sep-01-1981. (Format: TXT=35316
+ bytes) (Obsoletes RFC0776) (Obsoleted by RFC0820) (Status: HISTORIC)
+
+0791 Internet Protocol. J. Postel. Sep-01-1981. (Format: TXT=97779
+ bytes) (Obsoletes RFC0760) (Also STD0005) (Status: STANDARD)
+
+0792 Internet Control Message Protocol. J. Postel. Sep-01-1981.
+ (Format: TXT=30404 bytes) (Obsoletes RFC0777) (Updated by RFC0950)
+ (Also STD0005) (Status: STANDARD)
+
+0793 Transmission Control Protocol. J. Postel. Sep-01-1981. (Format:
+ TXT=172710 bytes) (Also STD0007) (Status: STANDARD)
+
+0794 Pre-emption. V.G. Cerf. Sep-01-1981. (Format: TXT=5906 bytes)
+ (Updates IEN 125) (Status: UNKNOWN)
+
+0795 Service mappings. J. Postel. Sep-01-1981. (Format: TXT=5228
+ bytes) (Status: UNKNOWN)
+
+0796 Address mappings. J. Postel. Sep-01-1981. (Format: TXT=11239
+ bytes) (Obsoletes IEN 115) (Status: UNKNOWN)
+
+0797 Format for Bitmap files. A.R. Katz. Sep-01-1981. (Format:
+ TXT=3067 bytes) (Status: UNKNOWN)
+
+0798 Decoding facsimile data from the Rapicom 450. A.R. Katz.
+ Sep-01-1981. (Format: TXT=38867 bytes) (Status: UNKNOWN)
+
+0799 Internet name domains. D.L. Mills. Sep-01-1981. (Format:
+ TXT=13896 bytes) (Status: UNKNOWN)
+
+0800 Request For Comments summary notes: 700-799. J. Postel, J.
+ Vernon. Nov-01-1982. (Format: TXT=18354 bytes) (Status:
+ INFORMATIONAL)
+
+0801 NCP/TCP transition plan. J. Postel. Nov-01-1981. (Format:
+ TXT=42041 bytes) (Status: UNKNOWN)
+
+0802 ARPANET 1822L Host Access Protocol. A.G. Malis. Nov-01-1981.
+ (Format: TXT=62470 bytes) (Obsoleted by RFC0851) (Status: UNKNOWN)
+
+0803 Dacom 450/500 facsimile data transcoding. A. Agarwal, M.J.
+ O'Connor, D.L. Mills. Nov-02-1981. (Format: TXT=33826 bytes) (Status:
+ UNKNOWN)
+
+0804 CCITT draft recommendation T.4. International Telegraph and
+ Telephone Consultative Committee of the International
+ Telecommunication Union. Jan-01-1981. (Format: TXT=17025 bytes)
+ (Status: UNKNOWN)
+
+0805 Computer mail meeting notes. J. Postel. Feb-08-1982. (Format:
+ TXT=12522 bytes) (Status: UNKNOWN)
+
+0806 Proposed Federal Information Processing Standard: Specification
+ for message format for computer based message systems. National
+ Bureau of Standards. Sep-01-1981. (Format: TXT=216377 bytes)
+ (Obsoleted by RFC0841) (Status: UNKNOWN)
+
+0807 Multimedia mail meeting notes. J. Postel. Feb-09-1982. (Format:
+ TXT=11633 bytes) (Status: UNKNOWN)
+
+0808 Summary of computer mail services meeting held at BBN on 10
+ January 1979. J. Postel. Mar-01-1982. (Format: TXT=15930 bytes)
+ (Status: UNKNOWN)
+
+0809 UCL facsimile system. T. Chang. Feb-01-1982. (Format: TXT=171153
+ bytes) (Status: UNKNOWN)
+
+0810 DoD Internet host table specification. E.J. Feinler, K.
+ Harrenstien, Z. Su, V. White. Mar-01-1982. (Format: TXT=14196 bytes)
+ (Obsoletes RFC0608) (Obsoleted by RFC0952) (Status: UNKNOWN)
+
+0811 Hostnames Server. K. Harrenstien, V. White, E.J. Feinler.
+ Mar-01-1982. (Format: TXT=7771 bytes) (Obsoleted by RFC0953) (Status:
+ UNKNOWN)
+
+0812 NICNAME/WHOIS. K. Harrenstien, V. White. Mar-01-1982. (Format:
+ TXT=5389 bytes) (Obsoleted by RFC0954) (Status: UNKNOWN)
+
+0813 Window and Acknowledgement Strategy in TCP. D.D. Clark.
+ Jul-01-1982. (Format: TXT=38110 bytes) (Status: UNKNOWN)
+
+0814 Name, addresses, ports, and routes. D.D. Clark. Jul-01-1982.
+ (Format: TXT=24663 bytes) (Status: UNKNOWN)
+
+0815 IP datagram reassembly algorithms. D.D. Clark. Jul-01-1982.
+ (Format: TXT=14575 bytes) (Status: UNKNOWN)
+
+0816 Fault isolation and recovery. D.D. Clark. Jul-01-1982. (Format:
+ TXT=20106 bytes) (Status: UNKNOWN)
+
+0817 Modularity and efficiency in protocol implementation. D.D. Clark.
+ Jul-01-1982. (Format: TXT=45931 bytes) (Status: UNKNOWN)
+
+0818 Remote User Telnet service. J. Postel. Nov-01-1982. (Format:
+ TXT=3693 bytes) (Status: HISTORIC)
+
+0819 Domain naming convention for Internet user applications. Z. Su,
+ J. Postel. Aug-01-1982. (Format: TXT=35314 bytes) (Status: UNKNOWN)
+
+0820 Assigned numbers. J. Postel. Aug-14-1982. (Format: TXT=54213
+ bytes) (Obsoletes RFC0790) (Obsoleted by RFC0870) (Status: HISTORIC)
+
+0821 Simple Mail Transfer Protocol. J. Postel. Aug-01-1982. (Format:
+ TXT=124482 bytes) (Obsoletes RFC0788) (Obsoleted by RFC2821) (Also
+ STD0010) (Status: STANDARD)
+
+0822 Standard for the format of ARPA Internet text messages. D.
+ Crocker. Aug-13-1982. (Format: TXT=109200 bytes) (Obsoletes RFC0733)
+ (Obsoleted by RFC2822) (Updated by RFC1123, RFC1138, RFC1148,
+ RFC1327, RFC2156) (Also STD0011) (Status: STANDARD)
+
+0823 DARPA Internet gateway. R.M. Hinden, A. Sheltzer. Sep-01-1982.
+ (Format: TXT=62620 bytes) (Updates IEN 109, IEN 30) (Status:
+ HISTORIC)
+
+0824 CRONUS Virtual Local Network. W.I. MacGregor, D.C. Tappan.
+ Aug-25-1982. (Format: TXT=58732 bytes) (Status: UNKNOWN)
+
+0825 Request for comments on Requests For Comments. J. Postel.
+ Nov-01-1982. (Format: TXT=4255 bytes) (Obsoleted by RFC1111, RFC1543,
+ RFC2223) (Status: UNKNOWN)
+
+0826 Ethernet Address Resolution Protocol: Or converting network
+ protocol addresses to 48.bit Ethernet address for transmission on
+ Ethernet hardware. D.C. Plummer. Nov-01-1982. (Format: TXT=22026
+ bytes) (Also STD0037) (Status: STANDARD)
+
+0827 Exterior Gateway Protocol (EGP). E.C. Rosen. Oct-01-1982.
+ (Format: TXT=68436 bytes) (Updated by RFC0904) (Status: UNKNOWN)
+
+0828 Data communications: IFIP's international "network" of experts.
+ K. Owen. Aug-01-1982. (Format: TXT=29922 bytes) (Status: UNKNOWN)
+
+0829 Packet satellite technology reference sources. V.G. Cerf.
+ Nov-01-1982. (Format: TXT=10919 bytes) (Status: UNKNOWN)
+
+0830 Distributed system for Internet name service. Z. Su. Oct-01-1982.
+ (Format: TXT=31597 bytes) (Status: UNKNOWN)
+
+0831 Backup access to the European side of SATNET. R.T. Braden.
+ Dec-01-1982. (Format: TXT=11735 bytes) (Status: UNKNOWN)
+
+0832 Who talks TCP?. D. Smallberg. Dec-07-1982. (Format: TXT=42751
+ bytes) (Obsoleted by RFC0833) (Status: UNKNOWN)
+
+0833 Who talks TCP?. D. Smallberg. Dec-14-1982. (Format: TXT=42973
+ bytes) (Obsoletes RFC0832) (Obsoleted by RFC0834) (Status: UNKNOWN)
+
+0834 Who talks TCP?. D. Smallberg. Dec-22-1982. (Format: TXT=42764
+ bytes) (Obsoletes RFC0833) (Obsoleted by RFC0835) (Status: UNKNOWN)
+
+0835 Who talks TCP?. D. Smallberg. Dec-29-1982. (Format: TXT=42959
+ bytes) (Obsoletes RFC0834) (Obsoleted by RFC0836) (Status: UNKNOWN)
+
+0836 Who talks TCP?. D. Smallberg. Jan-05-1983. (Format: TXT=43643
+ bytes) (Obsoletes RFC0835) (Obsoleted by RFC0837) (Status: UNKNOWN)
+
+0837 Who talks TCP?. D. Smallberg. Jan-12-1983. (Format: TXT=44864
+ bytes) (Obsoletes RFC0836) (Obsoleted by RFC0838) (Status: UNKNOWN)
+
+0838 Who talks TCP?. D. Smallberg. Jan-20-1983. (Format: TXT=45033
+ bytes) (Obsoletes RFC0837) (Obsoleted by RFC0839) (Status: UNKNOWN)
+
+0839 Who talks TCP?. D. Smallberg. Jan-26-1983. (Format: TXT=45175
+ bytes) (Obsoletes RFC0838) (Obsoleted by RFC0842) (Status: UNKNOWN)
+
+0840 Official protocols. J. Postel. Apr-13-1983. (Format: TXT=33534
+ bytes) (Obsoleted by RFC0880) (Status: HISTORIC)
+
+0841 Specification for message format for Computer Based Message
+ Systems. National Bureau of Standards. Jan-27-1983. (Format:
+ TXT=231871 bytes) (Obsoletes RFC0806) (Status: UNKNOWN)
+
+0842 Who talks TCP? - survey of 1 February 83. D. Smallberg.
+ Feb-03-1983. (Format: TXT=45962 bytes) (Obsoletes RFC0839) (Obsoleted
+ by RFC0843) (Status: UNKNOWN)
+
+0843 Who talks TCP? - survey of 8 February 83. D. Smallberg.
+ Feb-09-1983. (Format: TXT=46193 bytes) (Obsoletes RFC0842) (Obsoleted
+ by RFC0845) (Updated by RFC0844) (Status: UNKNOWN)
+
+0844 Who talks ICMP, too? - Survey of 18 February 1983. R. Clements.
+ Feb-18-1983. (Format: TXT=9078 bytes) (Updates RFC0843) (Status:
+ UNKNOWN)
+
+0845 Who talks TCP? - survey of 15 February 1983. D. Smallberg.
+ Feb-17-1983. (Format: TXT=45983 bytes) (Obsoletes RFC0843) (Obsoleted
+ by RFC0846) (Status: UNKNOWN)
+
+0846 Who talks TCP? - survey of 22 February 1983. D. Smallberg.
+ Feb-23-1983. (Format: TXT=45597 bytes) (Obsoletes RFC0845) (Obsoleted
+ by RFC0847) (Status: UNKNOWN)
+
+0847 Summary of Smallberg surveys. D. Smallberg, A. Westine, J.
+ Postel. Feb-01-1983. (Format: TXT=3789 bytes) (Obsoletes RFC0846)
+ (Status: UNKNOWN)
+
+0848 Who provides the "little" TCP services?. D. Smallberg.
+ Mar-14-1983. (Format: TXT=10985 bytes) (Status: UNKNOWN)
+
+0849 Suggestions for improved host table distribution. M.R. Crispin.
+ May-01-1983. (Format: TXT=5178 bytes) (Status: UNKNOWN)
+
+0850 Standard for interchange of USENET messages. M.R. Horton.
+ Jun-01-1983. (Format: TXT=43871 bytes) (Obsoleted by RFC1036)
+ (Status: UNKNOWN)
+
+0851 ARPANET 1822L Host Access Protocol. A.G. Malis. Apr-18-1983.
+ (Format: TXT=72042 bytes) (Obsoletes RFC0802) (Obsoleted by RFC0878)
+ (Status: UNKNOWN)
+
+0852 ARPANET short blocking feature. A.G. Malis. Apr-01-1983. (Format:
+ TXT=17151 bytes) (Status: UNKNOWN)
+
+0853 Not Issued.
+
+0854 Telnet Protocol Specification. J. Postel, J.K. Reynolds.
+ May-01-1983. (Format: TXT=39371 bytes) (Obsoletes RFC0764) (Also
+ STD0008) (Status: STANDARD)
+
+0855 Telnet Option Specifications. J. Postel, J.K. Reynolds.
+ May-01-1983. (Format: TXT=6218 bytes) (Obsoletes NIC 18640) (Also
+ STD0008) (Status: STANDARD)
+
+0856 Telnet Binary Transmission. J. Postel, J.K. Reynolds.
+ May-01-1983. (Format: TXT=9192 bytes) (Obsoletes NIC 15389) (Also
+ STD0027) (Status: STANDARD)
+
+0857 Telnet Echo Option. J. Postel, J.K. Reynolds. May-01-1983.
+ (Format: TXT=11143 bytes) (Obsoletes NIC 15390) (Also STD0028)
+ (Status: STANDARD)
+
+0858 Telnet Suppress Go Ahead Option. J. Postel, J.K. Reynolds.
+ May-01-1983. (Format: TXT=3825 bytes) (Obsoletes NIC 15392) (Also
+ STD0029) (Status: STANDARD)
+
+0859 Telnet Status Option. J. Postel, J.K. Reynolds. May-01-1983.
+ (Format: TXT=4443 bytes) (Obsoletes RFC0651) (Also STD0030) (Status:
+ STANDARD)
+
+0860 Telnet Timing Mark Option. J. Postel, J.K. Reynolds. May-01-1983.
+ (Format: TXT=8108 bytes) (Obsoletes NIC 16238) (Also STD0031)
+ (Status: STANDARD)
+
+0861 Telnet Extended Options: List Option. J. Postel, J.K. Reynolds.
+ May-01-1983. (Format: TXT=3181 bytes) (Obsoletes NIC 16239) (Also
+ STD0032) (Status: STANDARD)
+
+0862 Echo Protocol. J. Postel. May-01-1983. (Format: TXT=1294 bytes)
+ (Also STD0020) (Status: STANDARD)
+
+0863 Discard Protocol. J. Postel. May-01-1983. (Format: TXT=1297
+ bytes) (Also STD0021) (Status: STANDARD)
+
+0864 Character Generator Protocol. J. Postel. May-01-1983. (Format:
+ TXT=7016 bytes) (Also STD0022) (Status: STANDARD)
+
+0865 Quote of the Day Protocol. J. Postel. May-01-1983. (Format:
+ TXT=1734 bytes) (Also STD0023) (Status: STANDARD)
+
+0866 Active users. J. Postel. May-01-1983. (Format: TXT=2087 bytes)
+ (Also STD0024) (Status: STANDARD)
+
+0867 Daytime Protocol. J. Postel. May-01-1983. (Format: TXT=2405
+ bytes) (Also STD0025) (Status: STANDARD)
+
+0868 Time Protocol. J. Postel, K. Harrenstien. May-01-1983. (Format:
+ TXT=3140 bytes) (Also STD0026) (Status: STANDARD)
+
+0869 Host Monitoring Protocol. R. Hinden. Dec-01-1983. (Format:
+ TXT=94550 bytes) (Status: HISTORIC)
+
+0870 Assigned numbers. J.K. Reynolds, J. Postel. Oct-01-1983. (Format:
+ TXT=56055 bytes) (Obsoletes RFC0820) (Obsoleted by RFC0900) (Status:
+ HISTORIC)
+
+0871 Perspective on the ARPANET reference model. M.A. Padlipsky.
+ Sep-01-1982. (Format: TXT=74455 bytes) (Status: UNKNOWN)
+
+0872 TCP-on-a-LAN. M.A. Padlipsky. Sep-01-1982. (Format: TXT=22446
+ bytes) (Status: UNKNOWN)
+
+0873 Illusion of vendor support. M.A. Padlipsky. Sep-01-1982. (Format:
+ TXT=23095 bytes) (Status: UNKNOWN)
+
+0874 Critique of X.25. M.A. Padlipsky. Sep-01-1982. (Format: TXT=36386
+ bytes) (Status: UNKNOWN)
+
+0875 Gateways, architectures, and heffalumps. M.A. Padlipsky.
+ Sep-01-1982. (Format: TXT=22816 bytes) (Status: UNKNOWN)
+
+0876 Survey of SMTP implementations. D. Smallberg. Sep-01-1983.
+ (Format: TXT=37775 bytes) (Status: UNKNOWN)
+
+0877 Standard for the transmission of IP datagrams over public data
+ networks. J.T. Korb. Sep-01-1983. (Format: TXT=3272 bytes) (Obsoleted
+ by RFC1356) (Status: UNKNOWN)
+
+0878 ARPANET 1822L Host Access Protocol. A.G. Malis. Dec-01-1983.
+ (Format: TXT=74774 bytes) (Obsoletes RFC0851) (Status: UNKNOWN)
+
+0879 TCP maximum segment size and related topics. J. Postel.
+ Nov-01-1983. (Format: TXT=22024 bytes) (Status: UNKNOWN)
+
+0880 Official protocols. J.K. Reynolds, J. Postel. Oct-01-1983.
+ (Format: TXT=37332 bytes) (Obsoletes RFC0840) (Obsoleted by RFC0901)
+ (Status: HISTORIC)
+
+0881 Domain names plan and schedule. J. Postel. Nov-01-1983. (Format:
+ TXT=23490 bytes) (Updated by RFC0897) (Status: UNKNOWN)
+
+0882 Domain names: Concepts and facilities. P.V. Mockapetris.
+ Nov-01-1983. (Format: TXT=79776 bytes) (Obsoleted by RFC1034,
+ RFC1035) (Updated by RFC0973) (Status: UNKNOWN)
+
+0883 Domain names: Implementation specification. P.V. Mockapetris.
+ Nov-01-1983. (Format: TXT=175067 bytes) (Obsoleted by RFC1034,
+ RFC1035) (Updated by RFC0973) (Status: UNKNOWN)
+
+0884 Telnet terminal type option. M. Solomon, E. Wimmers. Dec-01-1983.
+ (Format: TXT=7881 bytes) (Obsoleted by RFC0930) (Status: UNKNOWN)
+
+0885 Telnet end of record option. J. Postel. Dec-01-1983. (Format:
+ TXT=3232 bytes) (Status: PROPOSED STANDARD)
+
+0886 Proposed standard for message header munging. M.T. Rose.
+ Dec-15-1983. (Format: TXT=30566 bytes) (Status: UNKNOWN)
+
+0887 Resource Location Protocol. M. Accetta. Dec-01-1983. (Format:
+ TXT=36770 bytes) (Status: EXPERIMENTAL)
+
+0888 "STUB" Exterior Gateway Protocol. L. Seamonson, E.C. Rosen.
+ Jan-01-1984. (Format: TXT=53227 bytes) (Updated by RFC0904) (Status:
+ UNKNOWN)
+
+0889 Internet delay experiments. D.L. Mills. Dec-01-1983. (Format:
+ TXT=27128 bytes) (Status: UNKNOWN)
+
+0890 Exterior Gateway Protocol implementation schedule. J. Postel.
+ Feb-01-1984. (Format: TXT=5899 bytes) (Status: UNKNOWN)
+
+0891 DCN local-network protocols. D.L. Mills. Dec-01-1983. (Format:
+ TXT=66769 bytes) (Also STD0044) (Status: STANDARD)
+
+0892 ISO Transport Protocol specification. International Organization
+ for Standardization. Dec-01-1983. (Format: TXT=158151 bytes)
+ (Obsoleted by RFC0905) (Status: UNKNOWN)
+
+0893 Trailer encapsulations. S. Leffler, M.J. Karels. Apr-01-1984.
+ (Format: TXT=13353 bytes) (Status: UNKNOWN)
+
+0894 Standard for the transmission of IP datagrams over Ethernet
+ networks. C. Hornig. Apr-01-1984. (Format: TXT=5697 bytes) (Also
+ STD0041) (Status: STANDARD)
+
+0895 Standard for the transmission of IP datagrams over experimental
+ Ethernet networks. J. Postel. Apr-01-1984. (Format: TXT=4985 bytes)
+ (Also STD0042) (Status: STANDARD)
+
+0896 Congestion control in IP/TCP internetworks. J. Nagle.
+ Jan-06-1984. (Format: TXT=26782 bytes) (Status: UNKNOWN)
+
+0897 Domain name system implementation schedule. J. Postel.
+ Feb-01-1984. (Format: TXT=15683 bytes) (Updates RFC0881) (Updated by
+ RFC0921) (Status: UNKNOWN)
+
+0898 Gateway special interest group meeting notes. R.M. Hinden, J.
+ Postel, M. Muuss, J.K. Reynolds. Apr-01-1984. (Format: TXT=42112
+ bytes) (Status: UNKNOWN)
+
+0899 Request For Comments summary notes: 800-899. J. Postel, A.
+ Westine. May-01-1984. (Format: TXT=39996 bytes) (Status:
+ INFORMATIONAL)
+
+0900 Assigned Numbers. J.K. Reynolds, J. Postel. Jun-01-1984. (Format:
+ TXT=82116 bytes) (Obsoletes RFC0870) (Obsoleted by RFC0923) (Status:
+ HISTORIC)
+
+0901 Official ARPA-Internet protocols. J.K. Reynolds, J. Postel.
+ Jun-01-1984. (Format: TXT=41058 bytes) (Obsoletes RFC0880) (Obsoleted
+ by RFC0924) (Status: UNKNOWN)
+
+0902 ARPA Internet Protocol policy. J.K. Reynolds, J. Postel.
+ Jul-01-1984. (Format: TXT=11027 bytes) (Status: UNKNOWN)
+
+0903 Reverse Address Resolution Protocol. R. Finlayson, T. Mann, J.C.
+ Mogul, M. Theimer. Jun-01-1984. (Format: TXT=9345 bytes) (Also
+ STD0038) (Status: STANDARD)
+
+0904 Exterior Gateway Protocol formal specification. D.L. Mills.
+ Apr-01-1984. (Format: TXT=65226 bytes) (Updates RFC0827, RFC0888)
+ (Status: HISTORIC)
+
+0905 ISO Transport Protocol specification ISO DP 8073. A.M. McKenzie.
+ Apr-01-1984. (Format: TXT=249214 bytes) (Obsoletes RFC0892) (Status:
+ UNKNOWN)
+
+0906 Bootstrap loading using TFTP. R. Finlayson. Jun-01-1984. (Format:
+ TXT=10102 bytes) (Status: UNKNOWN)
+
+0907 Host Access Protocol specification. Bolt, Beranek and Newman,
+ Inc.. Jul-01-1984. (Format: TXT=129985 bytes) (Updated by RFC1221)
+ (Also STD0040) (Status: STANDARD)
+
+0908 Reliable Data Protocol. D. Velten, R.M. Hinden, J. Sax.
+ Jul-01-1984. (Format: TXT=97646 bytes) (Updated by RFC1151) (Status:
+ EXPERIMENTAL)
+
+0909 Loader Debugger Protocol. C. Welles, W. Milliken. Jul-01-1984.
+ (Format: TXT=209813 bytes) (Status: EXPERIMENTAL)
+
+0910 Multimedia mail meeting notes. H.C. Forsdick. Aug-01-1984.
+ (Format: TXT=24915 bytes) (Status: UNKNOWN)
+
+0911 EGP Gateway under Berkeley UNIX 4.2. P. Kirton. Aug-22-1984.
+ (Format: TXT=55908 bytes) (Status: UNKNOWN)
+
+0912 Authentication service. M. St. Johns. Sep-01-1984. (Format:
+ TXT=4544 bytes) (Obsoleted by RFC0931) (Status: UNKNOWN)
+
+0913 Simple File Transfer Protocol. M. Lottor. Sep-01-1984. (Format:
+ TXT=20929 bytes) (Status: HISTORIC)
+
+0914 Thinwire protocol for connecting personal computers to the
+ Internet. D.J. Farber, G. Delp, T.M. Conte. Sep-01-1984. (Format:
+ TXT=57288 bytes) (Status: HISTORIC)
+
+0915 Network mail path service. M.A. Elvy, R. Nedved. Dec-01-1984.
+ (Format: TXT=21635 bytes) (Status: UNKNOWN)
+
+0916 Reliable Asynchronous Transfer Protocol (RATP). G.G. Finn.
+ Oct-01-1984. (Format: TXT=110737 bytes) (Status: HISTORIC)
+
+0917 Internet subnets. J.C. Mogul. Oct-01-1984. (Format: TXT=47072
+ bytes) (Status: UNKNOWN)
+
+0918 Post Office Protocol. J.K. Reynolds. Oct-01-1984. (Format:
+ TXT=9876 bytes) (Obsoleted by RFC0937) (Status: UNKNOWN)
+
+0919 Broadcasting Internet Datagrams. J.C. Mogul. Oct-01-1984.
+ (Format: TXT=16382 bytes) (Also STD0005) (Status: STANDARD)
+
+0920 Domain requirements. J. Postel, J.K. Reynolds. Oct-01-1984.
+ (Format: TXT=27823 bytes) (Status: UNKNOWN)
+
+0921 Domain name system implementation schedule - revised. J. Postel.
+ Oct-01-1984. (Format: TXT=23318 bytes) (Updates RFC0897) (Status:
+ UNKNOWN)
+
+0922 Broadcasting Internet datagrams in the presence of subnets. J.C.
+ Mogul. Oct-01-1984. (Format: TXT=24147 bytes) (Also STD0005) (Status:
+ STANDARD)
+
+0923 Assigned numbers. J.K. Reynolds, J. Postel. Oct-01-1984. (Format:
+ TXT=96467 bytes) (Obsoletes RFC0900) (Obsoleted by RFC0943) (Status:
+ HISTORIC)
+
+0924 Official ARPA-Internet protocols for connecting personal
+ computers to the Internet. J.K. Reynolds, J. Postel. Oct-01-1984.
+ (Format: TXT=48513 bytes) (Obsoletes RFC0901) (Obsoleted by RFC0944)
+ (Status: UNKNOWN)
+
+0925 Multi-LAN address resolution. J. Postel. Oct-01-1984. (Format:
+ TXT=31137 bytes) (Status: UNKNOWN)
+
+0926 Protocol for providing the connectionless mode network services.
+ International Organization for Standardization. Dec-01-1984. (Format:
+ TXT=165895 bytes) (Obsoleted by RFC0994) (Status: UNKNOWN)
+
+0927 TACACS user identification Telnet option. B.A. Anderson.
+ Dec-01-1984. (Format: TXT=5474 bytes) (Status: PROPOSED STANDARD)
+
+0928 Introduction to proposed DoD standard H-FP. M.A. Padlipsky.
+ Dec-01-1984. (Format: TXT=60461 bytes) (Status: UNKNOWN)
+
+0929 Proposed Host-Front End Protocol. J. Lilienkamp, R. Mandell, M.A.
+ Padlipsky. Dec-01-1984. (Format: TXT=135042 bytes) (Status: HISTORIC)
+
+0930 Telnet terminal type option. M. Solomon, E. Wimmers. Jan-01-1985.
+ (Format: TXT=6583 bytes) (Obsoletes RFC0884) (Obsoleted by RFC1091)
+ (Status: UNKNOWN)
+
+0931 Authentication server. M. St. Johns. Jan-01-1985. (Format:
+ TXT=8982 bytes) (Obsoletes RFC0912) (Obsoleted by RFC1413) (Status:
+ UNKNOWN)
+
+0932 Subnetwork addressing scheme. D.D. Clark. Jan-01-1985. (Format:
+ TXT=9283 bytes) (Status: UNKNOWN)
+
+0933 Output marking Telnet option. S. Silverman. Jan-01-1985. (Format:
+ TXT=6715 bytes) (Status: PROPOSED STANDARD)
+
+0934 Proposed standard for message encapsulation. M.T. Rose, E.A.
+ Stefferud. Jan-01-1985. (Format: TXT=21770 bytes) (Status: UNKNOWN)
+
+0935 Reliable link layer protocols. J.G. Robinson. Jan-01-1985.
+ (Format: TXT=31625 bytes) (Status: UNKNOWN)
+
+0936 Another Internet subnet addressing scheme. M.J. Karels.
+ Feb-01-1985. (Format: TXT=10179 bytes) (Status: UNKNOWN)
+
+0937 Post Office Protocol: Version 2. M. Butler, J. Postel, D. Chase,
+ J. Goldberger, J.K. Reynolds. Feb-01-1985. (Format: TXT=42370 bytes)
+ (Obsoletes RFC0918) (Status: HISTORIC)
+
+0938 Internet Reliable Transaction Protocol functional and interface
+ specification. T. Miller. Feb-01-1985. (Format: TXT=39478 bytes)
+ (Status: EXPERIMENTAL)
+
+0939 Executive summary of the NRC report on transport protocols for
+ Department of Defense data networks. National Research Council.
+ Feb-01-1985. (Format: TXT=42345 bytes) (Status: UNKNOWN)
+
+0940 Toward an Internet standard scheme for subnetting. Gateway
+ Algorithms and Data Structures Task Force. Apr-01-1985. (Format:
+ TXT=6881 bytes) (Status: UNKNOWN)
+
+0941 Addendum to the network service definition covering network layer
+ addressing. International Organization for Standardization.
+ Apr-01-1985. (Format: TXT=68733 bytes) (Status: UNKNOWN)
+
+0942 Transport protocols for Department of Defense data networks.
+ National Research Council. Feb-01-1985. (Format: TXT=217284 bytes)
+ (Status: UNKNOWN)
+
+0943 Assigned numbers. J.K. Reynolds, J. Postel. Apr-01-1985. (Format:
+ TXT=105234 bytes) (Obsoletes RFC0923) (Obsoleted by RFC0960) (Status:
+ HISTORIC)
+
+0944 Official ARPA-Internet protocols. J.K. Reynolds, J. Postel.
+ Apr-01-1985. (Format: TXT=61373 bytes) (Obsoletes RFC0924) (Obsoleted
+ by RFC0961) (Status: UNKNOWN)
+
+0945 DoD statement on the NRC report. J. Postel. May-01-1985. (Format:
+ TXT=5017 bytes) (Obsoleted by RFC1039) (Status: UNKNOWN)
+
+0946 Telnet terminal location number option. R. Nedved. May-01-1985.
+ (Format: TXT=6285 bytes) (Status: PROPOSED STANDARD)
+
+0947 Multi-network broadcasting within the Internet. K. Lebowitz, D.
+ Mankins. Jun-01-1985. (Format: TXT=12569 bytes) (Status: UNKNOWN)
+
+0948 Two methods for the transmission of IP datagrams over IEEE 802.3
+ networks. I. Winston. Jun-01-1985. (Format: TXT=11495 bytes)
+ (Obsoleted by RFC1042) (Status: UNKNOWN)
+
+0949 FTP unique-named store command. M.A. Padlipsky. Jul-01-1985.
+ (Format: TXT=4017 bytes) (Status: UNKNOWN)
+
+0950 Internet Standard Subnetting Procedure. J.C. Mogul, J. Postel.
+ Aug-01-1985. (Format: TXT=37985 bytes) (Updates RFC0792) (Also
+ STD0005) (Status: STANDARD)
+
+0951 Bootstrap Protocol. W.J. Croft, J. Gilmore. Sep-01-1985. (Format:
+ TXT=28354 bytes) (Updated by RFC1395, RFC1497, RFC1532, RFC1542)
+ (Status: DRAFT STANDARD)
+
+0952 DoD Internet host table specification. K. Harrenstien, M.K.
+ Stahl, E.J. Feinler. Oct-01-1985. (Format: TXT=12388 bytes)
+ (Obsoletes RFC0810) (Status: UNKNOWN)
+
+0953 Hostname Server. K. Harrenstien, M.K. Stahl, E.J. Feinler.
+ Oct-01-1985. (Format: TXT=8305 bytes) (Obsoletes RFC0811) (Status:
+ HISTORIC)
+
+0954 NICNAME/WHOIS. K. Harrenstien, M.K. Stahl, E.J. Feinler.
+ Oct-01-1985. (Format: TXT=7397 bytes) (Obsoletes RFC0812) (Status:
+ DRAFT STANDARD)
+
+0955 Towards a transport service for transaction processing
+ applications. R.T. Braden. Sep-01-1985. (Format: TXT=22497 bytes)
+ (Status: UNKNOWN)
+
+0956 Algorithms for synchronizing network clocks. D.L. Mills.
+ Sep-01-1985. (Format: TXT=67387 bytes) (Status: UNKNOWN)
+
+0957 Experiments in network clock synchronization. D.L. Mills.
+ Sep-01-1985. (Format: TXT=68952 bytes) (Status: UNKNOWN)
+
+0958 Network Time Protocol (NTP). D.L. Mills. Sep-01-1985. (Format:
+ TXT=30723 bytes) (Obsoleted by RFC1059, RFC1119, RFC1305) (Status:
+ UNKNOWN)
+
+0959 File Transfer Protocol. J. Postel, J.K. Reynolds. Oct-01-1985.
+ (Format: TXT=151249 bytes) (Obsoletes RFC0765) (Updated by RFC2228,
+ RFC2640, RFC2773) (Also STD0009) (Status: STANDARD)
+
+0960 Assigned numbers. J.K. Reynolds, J. Postel. Dec-01-1985. (Format:
+ TXT=125814 bytes) (Obsoletes RFC0943) (Obsoleted by RFC0990) (Status:
+ HISTORIC)
+
+0961 Official ARPA-Internet protocols. J.K. Reynolds, J. Postel.
+ Dec-01-1985. (Format: TXT=52672 bytes) (Obsoletes RFC0944) (Obsoleted
+ by RFC0991) (Status: UNKNOWN)
+
+0962 TCP-4 prime. M.A. Padlipsky. Nov-01-1985. (Format: TXT=2773
+ bytes) (Status: UNKNOWN)
+
+0963 Some problems with the specification of the Military Standard
+ Internet Protocol. D.P. Sidhu. Nov-01-1985. (Format: TXT=44019 bytes)
+ (Status: UNKNOWN)
+
+0964 Some problems with the specification of the Military Standard
+ Transmission Control Protocol. D.P. Sidhu. Nov-01-1985. (Format:
+ TXT=20972 bytes) (Status: UNKNOWN)
+
+0965 Format for a graphical communication protocol. L. Aguilar.
+ Dec-01-1985. (Format: TXT=105456 bytes) (Status: UNKNOWN)
+
+0966 Host groups: A multicast extension to the Internet Protocol. S.E.
+ Deering, D.R. Cheriton. Dec-01-1985. (Format: TXT=59469 bytes)
+ (Obsoleted by RFC0988) (Status: UNKNOWN)
+
+0967 All victims together. M.A. Padlipsky. Dec-01-1985. (Format:
+ TXT=4706 bytes) (Status: UNKNOWN)
+
+0968 Twas the night before start-up. V.G. Cerf. Dec-01-1985. (Format:
+ TXT=2459 bytes) (Status: UNKNOWN)
+
+0969 NETBLT: A bulk data transfer protocol. D.D. Clark, M.L. Lambert,
+ L. Zhang. Dec-01-1985. (Format: TXT=40040 bytes) (Obsoleted by
+ RFC0998) (Status: UNKNOWN)
+
+0970 On packet switches with infinite storage. J. Nagle. Dec-01-1985.
+ (Format: TXT=35316 bytes) (Status: UNKNOWN)
+
+0971 Survey of data representation standards. A.L. DeSchon.
+ Jan-01-1986. (Format: TXT=22883 bytes) (Status: UNKNOWN)
+
+0972 Password Generator Protocol. F.J. Wancho. Jan-01-1986. (Format:
+ TXT=3890 bytes) (Status: UNKNOWN)
+
+0973 Domain system changes and observations. P.V. Mockapetris.
+ Jan-01-1986. (Format: TXT=22364 bytes) (Obsoleted by RFC1034,
+ RFC1035) (Updates RFC0882, RFC0883) (Status: UNKNOWN)
+
+0974 Mail routing and the domain system. C. Partridge. Jan-01-1986.
+ (Format: TXT=18581 bytes) (Obsoleted by RFC2821) (Status: HISTORIC)
+
+0975 Autonomous confederations. D.L. Mills. Feb-01-1986. (Format:
+ TXT=28010 bytes) (Status: UNKNOWN)
+
+0976 UUCP mail interchange format standard. M.R. Horton. Feb-01-1986.
+ (Format: TXT=26814 bytes) (Updated by RFC1137) (Status: UNKNOWN)
+
+0977 Network News Transfer Protocol. B. Kantor, P. Lapsley.
+ Feb-01-1986. (Format: TXT=55062 bytes) (Status: PROPOSED STANDARD)
+
+0978 Voice File Interchange Protocol (VFIP). J.K. Reynolds, R.
+ Gillman, W.A. Brackenridge, A. Witkowski, J. Postel. Feb-01-1986.
+ (Format: TXT=9223 bytes) (Status: UNKNOWN)
+
+0979 PSN End-to-End functional specification. A.G. Malis. Mar-01-1986.
+ (Format: TXT=39472 bytes) (Status: UNKNOWN)
+
+0980 Protocol document order information. O.J. Jacobsen, J. Postel.
+ Mar-01-1986. (Format: TXT=24416 bytes) (Status: UNKNOWN)
+
+0981 Experimental multiple-path routing algorithm. D.L. Mills.
+ Mar-01-1986. (Format: TXT=59069 bytes) (Status: UNKNOWN)
+
+0982 Guidelines for the specification of the structure of the Domain
+ Specific Part (DSP) of the ISO standard NSAP address. H.W. Braun.
+ Apr-01-1986. (Format: TXT=22595 bytes) (Status: UNKNOWN)
+
+0983 ISO transport arrives on top of the TCP. D.E. Cass, M.T. Rose.
+ Apr-01-1986. (Format: TXT=59819 bytes) (Obsoleted by RFC1006)
+ (Status: UNKNOWN)
+
+0984 PCMAIL: A distributed mail system for personal computers. D.D.
+ Clark, M.L. Lambert. May-01-1986. (Format: TXT=69333 bytes)
+ (Obsoleted by RFC0993) (Status: UNKNOWN)
+
+0985 Requirements for Internet gateways - draft. National Science
+ Foundation, Network Technical Advisory Group. May-01-1986. (Format:
+ TXT=59221 bytes) (Obsoleted by RFC1009) (Status: UNKNOWN)
+
+0986 Guidelines for the use of Internet-IP addresses in the ISO
+ Connectionless-Mode Network Protocol. R.W. Callon, H.W. Braun.
+ Jun-01-1986. (Format: TXT=13950 bytes) (Obsoleted by RFC1069)
+ (Status: UNKNOWN)
+
+0987 Mapping between X.400 and RFC 822. S.E. Kille. Jun-01-1986.
+ (Format: TXT=127540 bytes) (Obsoleted by RFC1327, RFC2156) (Updated
+ by RFC1026, RFC1138, RFC1148) (Status: UNKNOWN)
+
+0988 Host extensions for IP multicasting. S.E. Deering. Jul-01-1986.
+ (Format: TXT=45220 bytes) (Obsoletes RFC0966) (Obsoleted by RFC1054,
+ RFC1112) (Status: UNKNOWN)
+
+0989 Privacy enhancement for Internet electronic mail: Part I: Message
+ encipherment and authentication procedures. J. Linn. Feb-01-1987.
+ (Format: TXT=63934 bytes) (Obsoleted by RFC1040, RFC1113) (Status:
+ UNKNOWN)
+
+0990 Assigned numbers. J.K. Reynolds, J. Postel. Nov-01-1986. (Format:
+ TXT=174784 bytes) (Obsoletes RFC0960) (Obsoleted by RFC1010) (Updated
+ by RFC0997) (Status: HISTORIC)
+
+0991 Official ARPA-Internet protocols. J.K. Reynolds, J. Postel.
+ Nov-01-1986. (Format: TXT=65205 bytes) (Obsoletes RFC0961) (Obsoleted
+ by RFC1011) (Status: UNKNOWN)
+
+0992 On communication support for fault tolerant process groups. K.P.
+ Birman, T.A. Joseph. Nov-01-1986. (Format: TXT=52313 bytes) (Status:
+ UNKNOWN)
+
+0993 PCMAIL: A distributed mail system for personal computers. D.D.
+ Clark, M.L. Lambert. Dec-01-1986. (Format: TXT=71725 bytes)
+ (Obsoletes RFC0984) (Obsoleted by RFC1056) (Status: UNKNOWN)
+
+0994 Final text of DIS 8473, Protocol for Providing the
+ Connectionless-mode Network Service. International Organization for
+ Standardization. Mar-01-1986. (Format: TXT=129006 bytes) (Obsoletes
+ RFC0926) (Status: UNKNOWN)
+
+0995 End System to Intermediate System Routing Exchange Protocol for
+ use in conjunction with ISO 8473. International Organization for
+ Standardization. Apr-01-1986. (Format: TXT=94069 bytes) (Status:
+ UNKNOWN)
+
+0996 Statistics server. D.L. Mills. Feb-01-1987. (Format: TXT=6127
+ bytes) (Status: HISTORIC)
+
+0997 Internet numbers. J.K. Reynolds, J. Postel. Mar-01-1987. (Format:
+ TXT=123919 bytes) (Obsoleted by RFC1020, RFC1117) (Updates RFC0990)
+ (Status: UNKNOWN)
+
+0998 NETBLT: A bulk data transfer protocol. D.D. Clark, M.L. Lambert,
+ L. Zhang. Mar-01-1987. (Format: TXT=57147 bytes) (Obsoletes RFC0969)
+ (Status: EXPERIMENTAL)
+
+0999 Requests For Comments summary notes: 900-999. A. Westine, J.
+ Postel. Apr-01-1987. (Format: TXT=62877 bytes) (Obsoletes RFC0160)
+ (Obsoleted by RFC1000) (Status: UNKNOWN)
+
+1000 Request For Comments reference guide. J.K. Reynolds, J. Postel.
+ Aug-01-1987. (Format: TXT=323960 bytes) (Obsoletes RFC0999) (Status:
+ UNKNOWN)
+
+1001 Protocol standard for a NetBIOS service on a TCP/UDP transport:
+ Concepts and methods. NetBIOS Working Group in the Defense Advanced
+ Research Projects Agency, Internet Activities Board, End-to-End
+ Services Task Force. Mar-01-1987. (Format: TXT=158437 bytes) (Also
+ STD0019) (Status: STANDARD)
+
+1002 Protocol standard for a NetBIOS service on a TCP/UDP transport:
+ Detailed specifications. NetBIOS Working Group in the Defense
+ Advanced Research Projects Agency, Internet Activities Board,
+ End-to-End Services Task Force. Mar-01-1987. (Format: TXT=170262
+ bytes) (Also STD0019) (Status: STANDARD)
+
+1003 Issues in defining an equations representation standard. A.R.
+ Katz. Mar-01-1987. (Format: TXT=19816 bytes) (Status: UNKNOWN)
+
+1004 Distributed-protocol authentication scheme. D.L. Mills.
+ Apr-01-1987. (Format: TXT=21402 bytes) (Status: EXPERIMENTAL)
+
+1005 ARPANET AHIP-E Host Access Protocol (enhanced AHIP). A. Khanna,
+ A.G. Malis. May-01-1987. (Format: TXT=69957 bytes) (Status: UNKNOWN)
+
+1006 ISO transport services on top of the TCP: Version 3. M.T. Rose,
+ D.E. Cass. May-01-1987. (Format: TXT=31935 bytes) (Obsoletes RFC0983)
+ (Updated by RFC2126) (Also STD0035) (Status: STANDARD)
+
+1007 Military supplement to the ISO Transport Protocol. W. McCoy.
+ Jun-01-1987. (Format: TXT=51280 bytes) (Status: UNKNOWN)
+
+1008 Implementation guide for the ISO Transport Protocol. W. McCoy.
+ Jun-01-1987. (Format: TXT=204664 bytes) (Status: UNKNOWN)
+
+1009 Requirements for Internet gateways. R.T. Braden, J. Postel.
+ Jun-01-1987. (Format: TXT=128173 bytes) (Obsoletes RFC0985)
+ (Obsoleted by RFC1812) (Status: HISTORIC)
+
+1010 Assigned numbers. J.K. Reynolds, J. Postel. May-01-1987. (Format:
+ TXT=78179 bytes) (Obsoletes RFC0990) (Obsoleted by RFC1060) (Status:
+ HISTORIC)
+
+1011 Official Internet protocols. J.K. Reynolds, J. Postel.
+ May-01-1987. (Format: TXT=74593 bytes) (Obsoletes RFC0991) (Status:
+ UNKNOWN)
+
+1012 Bibliography of Request For Comments 1 through 999. J.K.
+ Reynolds, J. Postel. Jun-01-1987. (Format: TXT=129194 bytes) (Status:
+ INFORMATIONAL)
+
+1013 X Window System Protocol, version 11: Alpha update April 1987.
+ R.W. Scheifler. Jun-01-1987. (Format: TXT=244905 bytes) (Status:
+ UNKNOWN)
+
+1014 XDR: External Data Representation standard. Sun Microsystems.
+ Jun-01-1987. (Format: TXT=39316 bytes) (Status: UNKNOWN)
+
+1015 Implementation plan for interagency research Internet. B.M.
+ Leiner. Jul-01-1987. (Format: TXT=63159 bytes) (Status: UNKNOWN)
+
+1016 Something a host could do with source quench: The Source Quench
+ Introduced Delay (SQuID). W. Prue, J. Postel. Jul-01-1987. (Format:
+ TXT=47922 bytes) (Status: UNKNOWN)
+
+1017 Network requirements for scientific research: Internet task force
+ on scientific computing. B.M. Leiner. Aug-01-1987. (Format: TXT=49512
+ bytes) (Status: UNKNOWN)
+
+1018 Some comments on SQuID. A.M. McKenzie. Aug-01-1987. (Format:
+ TXT=7931 bytes) (Status: UNKNOWN)
+
+1019 Report of the Workshop on Environments for Computational
+ Mathematics. D. Arnon. Sep-01-1987. (Format: TXT=21151 bytes)
+ (Status: UNKNOWN)
+
+1020 Internet numbers. S. Romano, M.K. Stahl. Nov-01-1987. (Format:
+ TXT=146864 bytes) (Obsoletes RFC0997) (Obsoleted by RFC1062, RFC1117,
+ RFC1166) (Status: UNKNOWN)
+
+1021 High-level Entity Management System (HEMS). C. Partridge, G.
+ Trewitt. Oct-01-1987. (Format: TXT=12993 bytes) (Status: HISTORIC)
+
+1022 High-level Entity Management Protocol (HEMP). C. Partridge, G.
+ Trewitt. Oct-01-1987. (Format: TXT=25348 bytes) (Status: UNKNOWN)
+
+1023 HEMS monitoring and control language. G. Trewitt, C. Partridge.
+ Oct-01-1987. (Format: TXT=40992 bytes) (Obsoleted by RFC1076)
+ (Status: UNKNOWN)
+
+1024 HEMS variable definitions. C. Partridge, G. Trewitt. Oct-01-1987.
+ (Format: TXT=126536 bytes) (Status: UNKNOWN)
+
+1025 TCP and IP bake off. J. Postel. Sep-01-1987. (Format: TXT=11648
+ bytes) (Status: UNKNOWN)
+
+1026 Addendum to RFC 987: (Mapping between X.400 and RFC-822). S.E.
+ Kille. Sep-01-1987. (Format: TXT=7117 bytes) (Obsoleted by RFC1327,
+ RFC2156) (Updates RFC0987) (Updated by RFC1138, RFC1148) (Status:
+ UNKNOWN)
+
+1027 Using ARP to implement transparent subnet gateways. S.
+ Carl-Mitchell, J.S. Quarterman. Oct-01-1987. (Format: TXT=21297
+ bytes) (Status: UNKNOWN)
+
+1028 Simple Gateway Monitoring Protocol. J. Davin, J.D. Case, M.
+ Fedor, M.L. Schoffstall. Nov-01-1987. (Format: TXT=82440 bytes)
+ (Status: HISTORIC)
+
+1029 More fault tolerant approach to address resolution for a
+ Multi-LAN system of Ethernets. G. Parr. May-01-1988. (Format:
+ TXT=44019 bytes) (Status: UNKNOWN)
+
+1030 On testing the NETBLT Protocol over divers networks. M.L.
+ Lambert. Nov-01-1987. (Format: TXT=40964 bytes) (Status: UNKNOWN)
+
+1031 MILNET name domain transition. W.D. Lazear. Nov-01-1987. (Format:
+ TXT=20137 bytes) (Status: UNKNOWN)
+
+1032 Domain administrators guide. M.K. Stahl. Nov-01-1987. (Format:
+ TXT=29454 bytes) (Status: UNKNOWN)
+
+1033 Domain administrators operations guide. M. Lottor. Nov-01-1987.
+ (Format: TXT=37263 bytes) (Status: UNKNOWN)
+
+1034 Domain names - concepts and facilities. P.V. Mockapetris.
+ Nov-01-1987. (Format: TXT=129180 bytes) (Obsoletes RFC0973, RFC0882,
+ RFC0883) (Updated by RFC1101, RFC1183, RFC1348, RFC1876, RFC1982,
+ RFC2065, RFC2181, RFC2308, RFC2535) (Also STD0013) (Status: STANDARD)
+
+1035 Domain names - implementation and specification. P.V.
+ Mockapetris. Nov-01-1987. (Format: TXT=125626 bytes) (Obsoletes
+ RFC0973, RFC0882, RFC0883) (Updated by RFC1101, RFC1183, RFC1348,
+ RFC1876, RFC1982, RFC1995, RFC1996, RFC2065, RFC2136, RFC2181,
+ RFC2137, RFC2308, RFC2535, RFC2845) (Also STD0013) (Status: STANDARD)
+
+1036 Standard for interchange of USENET messages. M.R. Horton, R.
+ Adams. Dec-01-1987. (Format: TXT=46891 bytes) (Obsoletes RFC0850)
+ (Status: UNKNOWN)
+
+1037 NFILE - a file access protocol. B. Greenberg, S. Keene.
+ Dec-01-1987. (Format: TXT=197312 bytes) (Status: HISTORIC)
+
+1038 Draft revised IP security option. M. St. Johns. Jan-01-1988.
+ (Format: TXT=15879 bytes) (Obsoleted by RFC1108) (Status: UNKNOWN)
+
+1039 DoD statement on Open Systems Interconnection protocols. D.
+ Latham. Jan-01-1988. (Format: TXT=6194 bytes) (Obsoletes RFC0945)
+ (Status: UNKNOWN)
+
+1040 Privacy enhancement for Internet electronic mail: Part I: Message
+ encipherment and authentication procedures. J. Linn. Jan-01-1988.
+ (Format: TXT=76276 bytes) (Obsoletes RFC0989) (Obsoleted by RFC1113)
+ (Status: UNKNOWN)
+
+1041 Telnet 3270 regime option. Y. Rekhter. Jan-01-1988. (Format:
+ TXT=11608 bytes) (Status: PROPOSED STANDARD)
+
+1042 Standard for the transmission of IP datagrams over IEEE 802
+ networks. J. Postel, J.K. Reynolds. Feb-01-1988. (Format: TXT=34359
+ bytes) (Obsoletes RFC0948) (Also STD0043) (Status: STANDARD)
+
+1043 Telnet Data Entry Terminal option: DODIIS implementation. A.
+ Yasuda, T. Thompson. Feb-01-1988. (Format: TXT=59478 bytes) (Updates
+ RFC0732) (Status: PROPOSED STANDARD)
+
+1044 Internet Protocol on Network System's HYPERchannel: Protocol
+ specification. K. Hardwick, J. Lekashman. Feb-01-1988. (Format:
+ TXT=103241 bytes) (Also STD0045) (Status: STANDARD)
+
+1045 VMTP: Versatile Message Transaction Protocol: Protocol
+ specification. D.R. Cheriton. Feb-01-1988. (Format: TXT=272058 bytes)
+ (Status: EXPERIMENTAL)
+
+1046 Queuing algorithm to provide type-of-service for IP links. W.
+ Prue, J. Postel. Feb-01-1988. (Format: TXT=30106 bytes) (Status:
+ UNKNOWN)
+
+1047 Duplicate messages and SMTP. C. Partridge. Feb-01-1988. (Format:
+ TXT=5888 bytes) (Status: UNKNOWN)
+
+1048 BOOTP vendor information extensions. P.A. Prindeville.
+ Feb-01-1988. (Format: TXT=15423 bytes) (Obsoleted by RFC1084,
+ RFC1395, RFC1497, RFC1533) (Status: UNKNOWN)
+
+1049 Content-type header field for Internet messages. M.A. Sirbu.
+ Mar-01-1988. (Format: TXT=18923 bytes) (Status: HISTORIC)
+
+1050 RPC: Remote Procedure Call Protocol specification. Sun
+ Microsystems. Apr-01-1988. (Format: TXT=51540 bytes) (Obsoleted by
+ RFC1057) (Status: HISTORIC)
+
+1051 Standard for the transmission of IP datagrams and ARP packets
+ over ARCNET networks. P.A. Prindeville. Mar-01-1988. (Format:
+ TXT=7779 bytes) (Obsoleted by RFC1201) (Status: HISTORIC)
+
+1052 IAB recommendations for the development of Internet network
+ management standards. V.G. Cerf. Apr-01-1988. (Format: TXT=30569
+ bytes) (Status: UNKNOWN)
+
+1053 Telnet X.3 PAD option. S. Levy, T. Jacobson. Apr-01-1988.
+ (Format: TXT=48952 bytes) (Status: PROPOSED STANDARD)
+
+1054 Host extensions for IP multicasting. S.E. Deering. May-01-1988.
+ (Format: TXT=45465 bytes) (Obsoletes RFC0988) (Obsoleted by RFC1112)
+ (Status: UNKNOWN)
+
+1055 Nonstandard for transmission of IP datagrams over serial lines:
+ SLIP. J.L. Romkey. Jun-01-1988. (Format: TXT=12911 bytes) (Also
+ STD0047) (Status: STANDARD)
+
+1056 PCMAIL: A distributed mail system for personal computers. M.L.
+ Lambert. Jun-01-1988. (Format: TXT=85368 bytes) (Obsoletes RFC0993)
+ (Status: INFORMATIONAL)
+
+1057 RPC: Remote Procedure Call Protocol specification: Version 2. Sun
+ Microsystems. Jun-01-1988. (Format: TXT=52462 bytes) (Obsoletes
+ RFC1050) (Status: INFORMATIONAL)
+
+1058 Routing Information Protocol. C.L. Hedrick. Jun-01-1988. (Format:
+ TXT=93285 bytes) (Updated by RFC1388, RFC1723) (Status: HISTORIC)
+
+1059 Network Time Protocol (version 1) specification and
+ implementation. D.L. Mills. Jul-01-1988. (Format: TXT=140890 bytes)
+ (Obsoletes RFC0958) (Obsoleted by RFC1119, RFC1305) (Status: UNKNOWN)
+
+1060 Assigned numbers. J.K. Reynolds, J. Postel. Mar-01-1990. (Format:
+ TXT=177923 bytes) (Obsoletes RFC1010) (Obsoleted by RFC1340) (Status:
+ HISTORIC)
+
+1061 Not Issued.
+
+1062 Internet numbers. S. Romano, M.K. Stahl, M. Recker. Aug-01-1988.
+ (Format: TXT=198729 bytes) (Obsoletes RFC1020) (Obsoleted by RFC1117,
+ RFC1166) (Status: UNKNOWN)
+
+1063 IP MTU discovery options. J.C. Mogul, C.A. Kent, C. Partridge, K.
+ McCloghrie. Jul-01-1988. (Format: TXT=27121 bytes) (Obsoleted by
+ RFC1191) (Status: UNKNOWN)
+
+1064 Interactive Mail Access Protocol: Version 2. M.R. Crispin.
+ Jul-01-1988. (Format: TXT=57813 bytes) (Obsoleted by RFC1176,
+ RFC1203) (Status: UNKNOWN)
+
+1065 Structure and identification of management information for
+ TCP/IP-based internets. K. McCloghrie, M.T. Rose. Aug-01-1988.
+ (Format: TXT=38858 bytes) (Obsoleted by RFC1155) (Status: STANDARD)
+
+1066 Management Information Base for network management of
+ TCP/IP-based internets. K. McCloghrie, M.T. Rose. Aug-01-1988.
+ (Format: TXT=135177 bytes) (Obsoleted by RFC1156) (Status: UNKNOWN)
+
+1067 Simple Network Management Protocol. J.D. Case, M. Fedor, M.L.
+ Schoffstall, J. Davin. Aug-01-1988. (Format: TXT=69592 bytes)
+ (Obsoleted by RFC1098) (Status: UNKNOWN)
+
+1068 Background File Transfer Program (BFTP). A.L. DeSchon, R.T.
+ Braden. Aug-01-1988. (Format: TXT=51004 bytes) (Status: UNKNOWN)
+
+1069 Guidelines for the use of Internet-IP addresses in the ISO
+ Connectionless-Mode Network Protocol. R.W. Callon, H.W. Braun.
+ Feb-01-1989. (Format: TXT=24268 bytes) (Obsoletes RFC0986) (Status:
+ UNKNOWN)
+
+1070 Use of the Internet as a subnetwork for experimentation with the
+ OSI network layer. R.A. Hagens, N.E. Hall, M.T. Rose. Feb-01-1989.
+ (Format: TXT=37354 bytes) (Status: UNKNOWN)
+
+1071 Computing the Internet checksum. R.T. Braden, D.A. Borman, C.
+ Partridge. Sep-01-1988. (Format: TXT=54941 bytes) (Updated by
+ RFC1141) (Status: UNKNOWN)
+
+1072 TCP extensions for long-delay paths. V. Jacobson, R.T. Braden.
+ Oct-01-1988. (Format: TXT=36000 bytes) (Obsoleted by RFC1323,
+ RFC2018) (Status: UNKNOWN)
+
+1073 Telnet window size option. D. Waitzman. Oct-01-1988. (Format:
+ TXT=7639 bytes) (Status: PROPOSED STANDARD)
+
+1074 NSFNET backbone SPF based Interior Gateway Protocol. J. Rekhter.
+ Oct-01-1988. (Format: TXT=10872 bytes) (Status: UNKNOWN)
+
+1075 Distance Vector Multicast Routing Protocol. D. Waitzman, C.
+ Partridge, S.E. Deering. Nov-01-1988. (Format: TXT=54731 bytes)
+ (Status: EXPERIMENTAL)
+
+1076 HEMS monitoring and control language. G. Trewitt, C. Partridge.
+ Nov-01-1988. (Format: TXT=98774 bytes) (Obsoletes RFC1023) (Status:
+ UNKNOWN)
+
+1077 Critical issues in high bandwidth networking. B.M. Leiner.
+ Nov-01-1988. (Format: TXT=116464 bytes) (Status: UNKNOWN)
+
+1078 TCP port service Multiplexer (TCPMUX). M. Lottor. Nov-01-1988.
+ (Format: TXT=3248 bytes) (Status: UNKNOWN)
+
+1079 Telnet terminal speed option. C.L. Hedrick. Dec-01-1988. (Format:
+ TXT=4942 bytes) (Status: PROPOSED STANDARD)
+
+1080 Telnet remote flow control option. C.L. Hedrick. Nov-01-1988.
+ (Format: TXT=6688 bytes) (Obsoleted by RFC1372) (Status: UNKNOWN)
+
+1081 Post Office Protocol: Version 3. M.T. Rose. Nov-01-1988. (Format:
+ TXT=37009 bytes) (Obsoleted by RFC1225) (Status: UNKNOWN)
+
+1082 Post Office Protocol: Version 3: Extended service offerings. M.T.
+ Rose. Nov-01-1988. (Format: TXT=25423 bytes) (Status: UNKNOWN)
+
+1083 IAB official protocol standards. Defense Advanced Research
+ Projects Agency, Internet Activities Board. Dec-01-1988. (Format:
+ TXT=27128 bytes) (Obsoleted by RFC1100) (Status: HISTORIC)
+
+1084 BOOTP vendor information extensions. J.K. Reynolds. Dec-01-1988.
+ (Format: TXT=16327 bytes) (Obsoletes RFC1048) (Obsoleted by RFC1395,
+ RFC1497, RFC1533) (Status: UNKNOWN)
+
+1085 ISO presentation services on top of TCP/IP based internets. M.T.
+ Rose. Dec-01-1988. (Format: TXT=64643 bytes) (Status: UNKNOWN)
+
+1086 ISO-TP0 bridge between TCP and X.25. J.P. Onions, M.T. Rose.
+ Dec-01-1988. (Format: TXT=19934 bytes) (Status: UNKNOWN)
+
+1087 Ethics and the Internet. Defense Advanced Research Projects
+ Agency, Internet Activities Board. Jan-01-1989. (Format: TXT=4582
+ bytes) (Status: UNKNOWN)
+
+1088 Standard for the transmission of IP datagrams over NetBIOS
+ networks. L.J. McLaughlin. Feb-01-1989. (Format: TXT=5749 bytes)
+ (Also STD0048) (Status: STANDARD)
+
+1089 SNMP over Ethernet. M.L. Schoffstall, C. Davin, M. Fedor, J.D.
+ Case. Feb-01-1989. (Format: TXT=4458 bytes) (Status: UNKNOWN)
+
+1090 SMTP on X.25. R. Ullmann. Feb-01-1989. (Format: TXT=6141 bytes)
+ (Status: UNKNOWN)
+
+1091 Telnet terminal-type option. J. VanBokkelen. Feb-01-1989.
+ (Format: TXT=13439 bytes) (Obsoletes RFC0930) (Status: PROPOSED
+ STANDARD)
+
+1092 EGP and policy based routing in the new NSFNET backbone. J.
+ Rekhter. Feb-01-1989. (Format: TXT=11865 bytes) (Status: UNKNOWN)
+
+1093 NSFNET routing architecture. H.W. Braun. Feb-01-1989. (Format:
+ TXT=20629 bytes) (Status: UNKNOWN)
+
+1094 NFS: Network File System Protocol specification. Sun
+ Microsystems. Mar-01-1989. (Format: TXT=51454 bytes) (Obsoleted by
+ RFC3010) (Also RFC1813) (Status: INFORMATIONAL)
+
+1095 Common Management Information Services and Protocol over TCP/IP
+ (CMOT). U.S. Warrier, L. Besaw. Apr-01-1989. (Format: TXT=157506
+ bytes) (Obsoleted by RFC1189) (Status: UNKNOWN)
+
+1096 Telnet X display location option. G.A. Marcy. Mar-01-1989.
+ (Format: TXT=4634 bytes) (Status: PROPOSED STANDARD)
+
+1097 Telnet subliminal-message option. B. Miller. Apr-01-1989.
+ (Format: TXT=5490 bytes) (Status: UNKNOWN)
+
+1098 Simple Network Management Protocol (SNMP). J.D. Case, M. Fedor,
+ M.L. Schoffstall, C. Davin. April 1989. (Format: TXT=71563 bytes)
+ (Obsoletes RFC1067) (Obsoleted by RFC1157) (Status: UNKNOWN)
+
+1099 Request for Comments Summary: RFC Numbers 1000-1099. J. Reynolds.
+ December 1991. (Format: TXT=49108 bytes) (Status: INFORMATIONAL)
+
+1100 IAB official protocol standards. Defense Advanced Research
+ Projects Agency, Internet Activities Board. Apr-01-1989. (Format:
+ TXT=30101 bytes) (Obsoletes RFC1083) (Obsoleted by RFC1130) (Status:
+ HISTORIC)
+
+1101 DNS encoding of network names and other types. P.V. Mockapetris.
+ Apr-01-1989. (Format: TXT=28677 bytes) (Updates RFC1034, RFC1035)
+ (Status: UNKNOWN)
+
+1102 Policy routing in Internet protocols. D.D. Clark. May-01-1989.
+ (Format: TXT=59664 bytes) (Status: UNKNOWN)
+
+1103 Proposed standard for the transmission of IP datagrams over FDDI
+ Networks. D. Katz. Jun-01-1989. (Format: TXT=19439 bytes) (Obsoleted
+ by RFC1188) (Status: UNKNOWN)
+
+1104 Models of policy based routing. H.W. Braun. Jun-01-1989. (Format:
+ TXT=25468 bytes) (Status: UNKNOWN)
+
+1105 Border Gateway Protocol (BGP). K. Lougheed, Y. Rekhter.
+ Jun-01-1989. (Format: TXT=37644 bytes) (Obsoleted by RFC1163)
+ (Status: EXPERIMENTAL)
+
+1106 TCP big window and NAK options. R. Fox. Jun-01-1989. (Format:
+ TXT=37105 bytes) (Status: UNKNOWN)
+
+1107 Plan for Internet directory services. K.R. Sollins. Jul-01-1989.
+ (Format: TXT=51773 bytes) (Status: INFORMATIONAL)
+
+1108 U.S. Department of Defense Security Options for the Internet
+ Protocol. S. Kent. November 1991. (Format: TXT=41791 bytes)
+ (Obsoletes RFC1038) (Status: HISTORIC)
+
+1109 Report of the second Ad Hoc Network Management Review Group. V.G.
+ Cerf. Aug-01-1989. (Format: TXT=20642 bytes) (Status: UNKNOWN)
+
+1110 Problem with the TCP big window option. A.M. McKenzie.
+ Aug-01-1989. (Format: TXT=5778 bytes) (Status: UNKNOWN)
+
+1111 Request for comments on Request for Comments: Instructions to RFC
+ authors. J. Postel. Aug-01-1989. (Format: TXT=11793 bytes) (Obsoletes
+ RFC0825) (Obsoleted by RFC1543, RFC2223) (Status: INFORMATIONAL)
+
+1112 Host extensions for IP multicasting. S.E. Deering. Aug-01-1989.
+ (Format: TXT=39904 bytes) (Obsoletes RFC0988, RFC1054) (Updated by
+ RFC2236) (Also STD0005) (Status: STANDARD)
+
+1113 Privacy enhancement for Internet electronic mail: Part I -
+ message encipherment and authentication procedures. J. Linn.
+ Aug-01-1989. (Format: TXT=89293 bytes) (Obsoletes RFC0989, RFC1040)
+ (Obsoleted by RFC1421) (Status: HISTORIC)
+
+1114 Privacy enhancement for Internet electronic mail: Part II -
+ certificate-based key management. S.T. Kent, J. Linn. Aug-01-1989.
+ (Format: TXT=69661 bytes) (Obsoleted by RFC1422) (Status: HISTORIC)
+
+1115 Privacy enhancement for Internet electronic mail: Part III -
+ algorithms, modes, and identifiers. J. Linn. Aug-01-1989. (Format:
+ TXT=18226 bytes) (Obsoleted by RFC1423) (Status: HISTORIC)
+
+1116 Telnet Linemode option. D.A. Borman. Aug-01-1989. (Format:
+ TXT=47473 bytes) (Obsoleted by RFC1184) (Status: PROPOSED STANDARD)
+
+1117 Internet numbers. S. Romano, M.K. Stahl, M. Recker. Aug-01-1989.
+ (Format: TXT=324666 bytes) (Obsoletes RFC1062, RFC1020, RFC0997)
+ (Obsoleted by RFC1166) (Status: INFORMATIONAL)
+
+1118 Hitchhikers guide to the Internet. E. Krol. Sep-01-1989. (Format:
+ TXT=62757 bytes) (Status: INFORMATIONAL)
+
+1119 Network Time Protocol (version 2) specification and
+ implementation. D.L. Mills. Sep-01-1989. (Format: TXT=143, PS=518020,
+ PDF=187940 bytes) (Obsoletes RFC0958, RFC1059) (Obsoleted by RFC1305)
+ (Also STD0012) (Status: STANDARD)
+
+1120 Internet Activities Board. V. Cerf. Sep-01-1989. (Format:
+ TXT=26123 bytes) (Obsoleted by RFC1160) (Status: INFORMATIONAL)
+
+1121 Act one - the poems. J. Postel, L. Kleinrock, V.G. Cerf, B.
+ Boehm. Sep-01-1989. (Format: TXT=10644 bytes) (Status: INFORMATIONAL)
+
+1122 Requirements for Internet Hosts - Communication Layers. R.
+ Braden, Ed.. October 1989. (Format: TXT=295992 bytes) (Also STD0003)
+ (Status: STANDARD)
+
+1123 Requirements for Internet Hosts - Application and Support. R.
+ Braden, Ed.. October 1989. (Format: TXT=245503 bytes) (Updates
+ RFC0822) (Updated by RFC2181) (Also STD0003) (Status: STANDARD)
+
+1124 Policy issues in interconnecting networks. B.M. Leiner.
+ Sep-01-1989. (Format: TXT=118, PS=315692, PDF=143819 bytes) (Status:
+ UNKNOWN)
+
+1125 Policy requirements for inter Administrative Domain routing. D.
+ Estrin. Nov-01-1989. (Format: TXT=55248, PS=282123, PDF=289862 bytes)
+ (Status: UNKNOWN)
+
+1126 Goals and functional requirements for inter-autonomous system
+ routing. M. Little. Oct-01-1989. (Format: TXT=62725 bytes) (Status:
+ UNKNOWN)
+
+1127 Perspective on the Host Requirements RFCs. R.T. Braden.
+ Oct-01-1989. (Format: TXT=41267 bytes) (Status: INFORMATIONAL)
+
+1128 Measured performance of the Network Time Protocol in the Internet
+ system. D.L. Mills. Oct-01-1989. (Format: TXT=314, PS=633742,
+ PDF=197897 bytes) (Status: UNKNOWN)
+
+1129 Internet Time Synchronization: The Network Time Protocol. D.L.
+ Mills. Oct-01-1989. (Format: TXT=298, PS=551697, PDF=197036 bytes)
+ (Also RFC1119) (Status: INFORMATIONAL)
+
+1130 IAB official protocol standards. Defense Advanced Research
+ Projects Agency, Internet Activities Board. Oct-01-1989. (Format:
+ TXT=33858 bytes) (Obsoletes RFC1100) (Obsoleted by RFC1140) (Status:
+ HISTORIC)
+
+1131 OSPF specification. J. Moy. Oct-01-1989. (Format: TXT=268,
+ PS=857280, PDF=398863 bytes) (Obsoleted by RFC1247) (Status: PROPOSED
+ STANDARD)
+
+1132 Standard for the transmission of 802.2 packets over IPX networks.
+ L.J. McLaughlin. Nov-01-1989. (Format: TXT=8128 bytes) (Also STD0049)
+ (Status: STANDARD)
+
+1133 Routing between the NSFNET and the DDN. J.Y. Yu, H.W. Braun.
+ Nov-01-1989. (Format: TXT=23169 bytes) (Status: INFORMATIONAL)
+
+1134 Point-to-Point Protocol: A proposal for multi-protocol
+ transmission of datagrams over Point-to-Point links. D. Perkins.
+ Nov-01-1989. (Format: TXT=87352 bytes) (Obsoleted by RFC1171)
+ (Status: PROPOSED STANDARD)
+
+1135 Helminthiasis of the Internet. J.K. Reynolds. Dec-01-1989.
+ (Format: TXT=77033 bytes) (Status: INFORMATIONAL)
+
+1136 Administrative Domains and Routing Domains: A model for routing
+ in the Internet. S. Hares, D. Katz. Dec-01-1989. (Format: TXT=22158
+ bytes) (Status: INFORMATIONAL)
+
+1137 Mapping between full RFC 822 and RFC 822 with restricted
+ encoding. S. Kille. Dec-01-1989. (Format: TXT=6266 bytes) (Updates
+ RFC0976) (Status: HISTORIC)
+
+1138 Mapping between X.400(1988) / ISO 10021 and RFC 822. S.E. Kille.
+ Dec-01-1989. (Format: TXT=191029 bytes) (Obsoleted by RFC1327,
+ RFC2156) (Updates RFC0822, RFC0987, RFC1026) (Updated by RFC1148)
+ (Status: EXPERIMENTAL)
+
+1139 Echo function for ISO 8473. R.A. Hagens. Jan-01-1990. (Format:
+ TXT=14229 bytes) (Obsoleted by RFC1574, RFC1575) (Status: PROPOSED
+ STANDARD)
+
+1140 IAB official protocol standards. Defense Advanced Research
+ Projects Agency, Internet Activities Board. May-01-1990. (Format:
+ TXT=60501 bytes) (Obsoletes RFC1130) (Obsoleted by RFC1200) (Status:
+ HISTORIC)
+
+1141 Incremental updating of the Internet checksum. T. Mallory, A.
+ Kullberg. Jan-01-1990. (Format: TXT=3587 bytes) (Updates RFC1071)
+ (Updated by RFC1624) (Status: INFORMATIONAL)
+
+1142 OSI IS-IS Intra-domain Routing Protocol. D. Oran. Feb-01-1990.
+ (Format: TXT=425379, PS=1440951, PDF=490300 bytes) (Status:
+ INFORMATIONAL)
+
+1143 The Q Method of Implementing TELNET Option Negotiation. D.J.
+ Bernstein. Feb-01-1990. (Format: TXT=23331 bytes) (Status:
+ EXPERIMENTAL)
+
+1144 Compressing TCP/IP headers for low-speed serial links. V.
+ Jacobson. Feb-01-1990. (Format: TXT=120959, PS=534729, PDF=255616
+ bytes) (Status: PROPOSED STANDARD)
+
+1145 TCP alternate checksum options. J. Zweig, C. Partridge.
+ Feb-01-1990. (Format: TXT=11052 bytes) (Obsoleted by RFC1146)
+ (Status: EXPERIMENTAL)
+
+1146 TCP alternate checksum options. J. Zweig, C. Partridge.
+ Mar-01-1990. (Format: TXT=10955 bytes) (Obsoletes RFC1145) (Status:
+ EXPERIMENTAL)
+
+1147 FYI on a Network Management Tool Catalog: Tools for Monitoring
+ and Debugging TCP/IP Internets and Interconnected Devices. R.H.
+ Stine. Apr-01-1990. (Format: TXT=336906, PS=555225, PDF=308602 bytes)
+ (Obsoleted by RFC1470) (Status: INFORMATIONAL)
+
+1148 Mapping between X.400(1988) / ISO 10021 and RFC 822. S.E. Kille.
+ Mar-01-1990. (Format: TXT=194292 bytes) (Obsoleted by RFC1327,
+ RFC2156) (Updates RFC0822, RFC0987, RFC1026, RFC1138) (Status:
+ EXPERIMENTAL)
+
+1149 Standard for the transmission of IP datagrams on avian carriers.
+ D. Waitzman. Apr-01-1990. (Format: TXT=3329 bytes) (Updated by
+ RFC2549) (Status: EXPERIMENTAL)
+
+1150 FYI on FYI: Introduction to the FYI Notes. G.S. Malkin, J.K.
+ Reynolds. Mar-01-1990. (Format: TXT=7867 bytes) (Also FYI0001)
+ (Status: INFORMATIONAL)
+
+1151 Version 2 of the Reliable Data Protocol (RDP). C. Partridge, R.M.
+ Hinden. Apr-01-1990. (Format: TXT=8293 bytes) (Updates RFC0908)
+ (Status: EXPERIMENTAL)
+
+1152 Workshop report: Internet research steering group workshop on
+ very-high-speed networks. C. Partridge. Apr-01-1990. (Format:
+ TXT=64003 bytes) (Status: INFORMATIONAL)
+
+1153 Digest message format. F.J. Wancho. Apr-01-1990. (Format:
+ TXT=6632 bytes) (Status: EXPERIMENTAL)
+
+1154 Encoding header field for internet messages. D. Robinson, R.
+ Ullmann. Apr-01-1990. (Format: TXT=12214 bytes) (Obsoleted by
+ RFC1505) (Status: EXPERIMENTAL)
+
+1155 Structure and identification of management information for
+ TCP/IP-based internets. M.T. Rose, K. McCloghrie. May-01-1990.
+ (Format: TXT=40927 bytes) (Obsoletes RFC1065) (Also STD0016) (Status:
+ STANDARD)
+
+1156 Management Information Base for network management of
+ TCP/IP-based internets. K. McCloghrie, M.T. Rose. May-01-1990.
+ (Format: TXT=138781 bytes) (Obsoletes RFC1066) (Status: HISTORIC)
+
+1157 Simple Network Management Protocol (SNMP). J.D. Case, M. Fedor,
+ M.L. Schoffstall, C. Davin. May-01-1990. (Format: TXT=74894 bytes)
+ (Obsoletes RFC1098) (Also STD0015) (Status: STANDARD)
+
+1158 Management Information Base for network management of
+ TCP/IP-based internets: MIB-II. M.T. Rose. May-01-1990. (Format:
+ TXT=212152 bytes) (Obsoleted by RFC1213) (Status: PROPOSED STANDARD)
+
+1159 Message Send Protocol. R. Nelson. Jun-01-1990. (Format: TXT=3957
+ bytes) (Obsoleted by RFC1312) (Status: EXPERIMENTAL)
+
+1160 Internet Activities Board. V. Cerf. May-01-1990. (Format:
+ TXT=28182 bytes) (Obsoletes RFC1120) (Status: INFORMATIONAL)
+
+1161 SNMP over OSI. M.T. Rose. Jun-01-1990. (Format: TXT=16036 bytes)
+ (Obsoleted by RFC1418) (Status: EXPERIMENTAL)
+
+1162 Connectionless Network Protocol (ISO 8473) and End System to
+ Intermediate System (ISO 9542) Management Information Base. G. Satz.
+ Jun-01-1990. (Format: TXT=109893 bytes) (Obsoleted by RFC1238)
+ (Status: EXPERIMENTAL)
+
+1163 Border Gateway Protocol (BGP). K. Lougheed, Y. Rekhter.
+ Jun-01-1990. (Format: TXT=69404 bytes) (Obsoletes RFC1105) (Obsoleted
+ by RFC1267) (Status: HISTORIC)
+
+1164 Application of the Border Gateway Protocol in the Internet. J.C.
+ Honig, D. Katz, M. Mathis, Y. Rekhter, J.Y. Yu. Jun-01-1990. (Format:
+ TXT=56278 bytes) (Obsoleted by RFC1268) (Status: HISTORIC)
+
+1165 Network Time Protocol (NTP) over the OSI Remote Operations
+ Service. J. Crowcroft, J.P. Onions. Jun-01-1990. (Format: TXT=18277
+ bytes) (Status: EXPERIMENTAL)
+
+1166 Internet numbers. S. Kirkpatrick, M.K. Stahl, M. Recker.
+ Jul-01-1990. (Format: TXT=566778 bytes) (Obsoletes RFC1117, RFC1062,
+ RFC1020) (Status: INFORMATIONAL)
+
+1167 Thoughts on the National Research and Education Network. V.G.
+ Cerf. Jul-01-1990. (Format: TXT=20682 bytes) (Status: INFORMATIONAL)
+
+1168 Intermail and Commercial Mail Relay services. A. Westine, A.L.
+ DeSchon, J. Postel, C.E. Ward. Jul-01-1990. (Format: TXT=40306,
+ PS=149816, PDF=55890 bytes) (Status: INFORMATIONAL)
+
+1169 Explaining the role of GOSIP. V.G. Cerf, K.L. Mills. Aug-01-1990.
+ (Format: TXT=30255 bytes) (Status: INFORMATIONAL)
+
+1170 Public key standards and licenses. R.B. Fougner. Jan-01-1991.
+ (Format: TXT=3144 bytes) (Status: INFORMATIONAL)
+
+1171 Point-to-Point Protocol for the transmission of multi-protocol
+ datagrams over Point-to-Point links. D. Perkins. Jul-01-1990.
+ (Format: TXT=92321 bytes) (Obsoletes RFC1134) (Obsoleted by RFC1331)
+ (Status: DRAFT STANDARD)
+
+1172 Point-to-Point Protocol (PPP) initial configuration options. D.
+ Perkins, R. Hobby. Jul-01-1990. (Format: TXT=76132 bytes) (Obsoleted
+ by RFC1331, RFC1332) (Status: PROPOSED STANDARD)
+
+1173 Responsibilities of host and network managers: A summary of the
+ "oral tradition" of the Internet. J. VanBokkelen. Aug-01-1990.
+ (Format: TXT=12527 bytes) (Status: INFORMATIONAL)
+
+1174 IAB recommended policy on distributing internet identifier
+ assignment and IAB recommended policy change to internet "connected"
+ status. V.G. Cerf. Aug-01-1990. (Format: TXT=21321 bytes) (Status:
+ INFORMATIONAL)
+
+1175 FYI on where to start: A bibliography of internetworking
+ information. K.L. Bowers, T.L. LaQuey, J.K. Reynolds, K. Roubicek,
+ M.K. Stahl, A. Yuan. Aug-01-1990. (Format: TXT=67330 bytes) (Also
+ FYI0003) (Status: INFORMATIONAL)
+
+1176 Interactive Mail Access Protocol: Version 2. M.R. Crispin.
+ Aug-01-1990. (Format: TXT=67330 bytes) (Obsoletes RFC1064) (Status:
+ EXPERIMENTAL)
+
+1177 FYI on Questions and Answers: Answers to commonly asked "new
+ internet user" questions. G.S. Malkin, A.N. Marine, J.K. Reynolds.
+ Aug-01-1990. (Format: TXT=52852 bytes) (Obsoleted by RFC1206)
+ (Status: INFORMATIONAL)
+
+1178 Choosing a name for your computer. D. Libes. Aug-01-1990.
+ (Format: TXT=18472 bytes) (Also FYI0005) (Status: INFORMATIONAL)
+
+1179 Line printer daemon protocol. L. McLaughlin. Aug-01-1990.
+ (Format: TXT=24324 bytes) (Status: INFORMATIONAL)
+
+1180 TCP/IP tutorial. T.J. Socolofsky, C.J. Kale. Jan-01-1991.
+ (Format: TXT=65494 bytes) (Status: INFORMATIONAL)
+
+1181 RIPE Terms of Reference. R. Blokzijl. Sep-01-1990. (Format:
+ TXT=2523 bytes) (Status: INFORMATIONAL)
+
+1182 Not Issued.
+
+1183 New DNS RR Definitions. C.F. Everhart, L.A. Mamakos, R. Ullmann,
+ P.V. Mockapetris. Oct-01-1990. (Format: TXT=23788 bytes) (Updates
+ RFC1034, RFC1035) (Status: EXPERIMENTAL)
+
+1184 Telnet Linemode Option. D.A. Borman. Oct-01-1990. (Format:
+ TXT=53085 bytes) (Obsoletes RFC1116) (Status: DRAFT STANDARD)
+
+1185 TCP Extension for High-Speed Paths. V. Jacobson, R.T. Braden, L.
+ Zhang. Oct-01-1990. (Format: TXT=49508 bytes) (Obsoleted by RFC1323)
+ (Status: EXPERIMENTAL)
+
+1186 MD4 Message Digest Algorithm. R.L. Rivest. Oct-01-1990. (Format:
+ TXT=35391 bytes) (Obsoleted by RFC1320) (Status: INFORMATIONAL)
+
+1187 Bulk Table Retrieval with the SNMP. M.T. Rose, K. McCloghrie,
+ J.R. Davin. Oct-01-1990. (Format: TXT=27220 bytes) (Status:
+ EXPERIMENTAL)
+
+1188 Proposed Standard for the Transmission of IP Datagrams over FDDI
+ Networks. D. Katz. Oct-01-1990. (Format: TXT=22424 bytes) (Obsoletes
+ RFC1103) (Status: DRAFT STANDARD)
+
+1189 Common Management Information Services and Protocols for the
+ Internet (CMOT and CMIP). U.S. Warrier, L. Besaw, L. LaBarre, B.D.
+ Handspicker. Oct-01-1990. (Format: TXT=32928 bytes) (Obsoletes
+ RFC1095) (Status: HISTORIC)
+
+1190 Experimental Internet Stream Protocol: Version 2 (ST-II). C.
+ Topolcic. Oct-01-1990. (Format: TXT=386909 bytes) (Obsoletes IEN 119)
+ (Obsoleted by RFC1819) (Status: EXPERIMENTAL)
+
+1191 Path MTU discovery. J.C. Mogul, S.E. Deering. Nov-01-1990.
+ (Format: TXT=47936 bytes) (Obsoletes RFC1063) (Status: DRAFT
+ STANDARD)
+
+1192 Commercialization of the Internet summary report. B. Kahin.
+ Nov-01-1990. (Format: TXT=35253 bytes) (Status: INFORMATIONAL)
+
+1193 Client requirements for real-time communication services. D.
+ Ferrari. Nov-01-1990. (Format: TXT=61540 bytes) (Status:
+ INFORMATIONAL)
+
+1194 Finger User Information Protocol. D.P. Zimmerman. Nov-01-1990.
+ (Format: TXT=24626 bytes) (Obsoletes RFC0742) (Obsoleted by RFC1196,
+ RFC1288) (Status: DRAFT STANDARD)
+
+1195 Use of OSI IS-IS for routing in TCP/IP and dual environments.
+ R.W. Callon. Dec-01-1990. (Format: TXT=187866, PS=362052 bytes)
+ (Status: PROPOSED STANDARD)
+
+1196 Finger User Information Protocol. D.P. Zimmerman. Dec-01-1990.
+ (Format: TXT=24799 bytes) (Obsoletes RFC1194, RFC0742) (Obsoleted by
+ RFC1288) (Status: DRAFT STANDARD)
+
+1197 Using ODA for translating multimedia information. M. Sherman.
+ Dec-01-1990. (Format: TXT=3620 bytes) (Status: INFORMATIONAL)
+
+1198 FYI on the X window system. R.W. Scheifler. Jan-01-1991. (Format:
+ TXT=3629 bytes) (Also FYI0006) (Status: INFORMATIONAL)
+
+1199 Request for Comments Summary Notes: 1100-1199. J. Reynolds.
+ Dec-01-1991. (Format: TXT=46443 bytes) (Status: INFORMATIONAL)
+
+1200 IAB official protocol standards. Defense Advanced Research
+ Projects Agency, Internet Activities Board. Apr-01-1991. (Format:
+ TXT=67069 bytes) (Obsoletes RFC1140) (Obsoleted by RFC1250) (Status:
+ HISTORIC)
+
+1201 Transmitting IP traffic over ARCNET networks. D. Provan.
+ Feb-01-1991. (Format: TXT=16959 bytes) (Obsoletes RFC1051) (Also
+ STD0046) (Status: STANDARD)
+
+1202 Directory Assistance service. M.T. Rose. Feb-01-1991. (Format:
+ TXT=21645 bytes) (Status: INFORMATIONAL)
+
+1203 Interactive Mail Access Protocol: Version 3. J. Rice.
+ Feb-01-1991. (Format: TXT=123325 bytes) (Obsoletes RFC1064) (Status:
+ HISTORIC)
+
+1204 Message Posting Protocol (MPP). S. Yeh, D. Lee. Feb-01-1991.
+ (Format: TXT=11371 bytes) (Status: EXPERIMENTAL)
+
+1205 5250 Telnet interface. P. Chmielewski. Feb-01-1991. (Format:
+ TXT=27179 bytes) (Updated by RFC2877) (Status: INFORMATIONAL)
+
+1206 FYI on Questions and Answers: Answers to commonly asked "new
+ Internet user" questions. G.S. Malkin, A.N. Marine. Feb-01-1991.
+ (Format: TXT=72479 bytes) (Obsoletes RFC1177) (Obsoleted by RFC1325)
+ (Status: INFORMATIONAL)
+
+1207 FYI on Questions and Answers: Answers to commonly asked
+ "experienced Internet user" questions. G.S. Malkin, A.N. Marine, J.K.
+ Reynolds. Feb-01-1991. (Format: TXT=33385 bytes) (Also FYI0007)
+ (Status: INFORMATIONAL)
+
+1208 Glossary of networking terms. O.J. Jacobsen, D.C. Lynch.
+ Mar-01-1991. (Format: TXT=41156 bytes) (Status: INFORMATIONAL)
+
+1209 Transmission of IP datagrams over the SMDS Service. D.M.
+ Piscitello, J. Lawrence. Mar-01-1991. (Format: TXT=25280 bytes) (Also
+ STD0052) (Status: STANDARD)
+
+1210 Network and infrastructure user requirements for transatlantic
+ research collaboration: Brussels, July 16-18, and Washington July
+ 24-25, 1990. V.G. Cerf, P.T. Kirstein, B. Randell. Mar-01-1991.
+ (Format: TXT=79048 bytes) (Status: INFORMATIONAL)
+
+1211 Problems with the maintenance of large mailing lists. A. Westine,
+ J. Postel. Mar-01-1991. (Format: TXT=96167 bytes) (Status:
+ INFORMATIONAL)
+
+1212 Concise MIB definitions. M.T. Rose, K. McCloghrie. Mar-01-1991.
+ (Format: TXT=43579 bytes) (Also STD0016) (Status: STANDARD)
+
+1213 Management Information Base for Network Management of
+ TCP/IP-based internets:MIB-II. K. McCloghrie, M.T. Rose. Mar-01-1991.
+ (Format: TXT=146080 bytes) (Obsoletes RFC1158) (Updated by RFC2011,
+ RFC2012, RFC2013) (Also STD0017) (Status: STANDARD)
+
+1214 OSI internet management: Management Information Base. L. LaBarre.
+ Apr-01-1991. (Format: TXT=172564 bytes) (Status: HISTORIC)
+
+1215 Convention for defining traps for use with the SNMP. M.T. Rose.
+ Mar-01-1991. (Format: TXT=19336 bytes) (Status: INFORMATIONAL)
+
+1216 Gigabit network economics and paradigm shifts. P. Richard, P.
+ Kynikos. Apr-01-1991. (Format: TXT=8130 bytes) (Status:
+ INFORMATIONAL)
+
+1217 Memo from the Consortium for Slow Commotion Research (CSCR). V.G.
+ Cerf. Apr-01-1991. (Format: TXT=11079 bytes) (Status: INFORMATIONAL)
+
+1218 Naming scheme for c=US. North American Directory Forum.
+ Apr-01-1991. (Format: TXT=42698 bytes) (Obsoleted by RFC1255,
+ RFC1417) (Status: INFORMATIONAL)
+
+1219 On the assignment of subnet numbers. P.F. Tsuchiya. Apr-01-1991.
+ (Format: TXT=30609 bytes) (Status: INFORMATIONAL)
+
+1220 Point-to-Point Protocol extensions for bridging. F. Baker.
+ Apr-01-1991. (Format: TXT=38165 bytes) (Obsoleted by RFC1638)
+ (Status: PROPOSED STANDARD)
+
+1221 Host Access Protocol (HAP) specification: Version 2. W. Edmond.
+ Apr-01-1991. (Format: TXT=152740 bytes) (Updates RFC0907) (Status:
+ INFORMATIONAL)
+
+1222 Advancing the NSFNET routing architecture. H.W. Braun, Y.
+ Rekhter. May-01-1991. (Format: TXT=15067 bytes) (Status:
+ INFORMATIONAL)
+
+1223 OSI CLNS and LLC1 protocols on Network Systems HYPERchannel. J.M.
+ Halpern. May-01-1991. (Format: TXT=29601 bytes) (Status:
+ INFORMATIONAL)
+
+1224 Techniques for managing asynchronously generated alerts. L.
+ Steinberg. May-01-1991. (Format: TXT=54303 bytes) (Status:
+ EXPERIMENTAL)
+
+1225 Post Office Protocol: Version 3. M.T. Rose. May-01-1991. (Format:
+ TXT=37340 bytes) (Obsoletes RFC1081) (Obsoleted by RFC1460) (Status:
+ DRAFT STANDARD)
+
+1226 Internet protocol encapsulation of AX.25 frames. B. Kantor.
+ May-01-1991. (Format: TXT=2573 bytes) (Status: EXPERIMENTAL)
+
+1227 SNMP MUX protocol and MIB. M.T. Rose. May-01-1991. (Format:
+ TXT=25868 bytes) (Status: HISTORIC)
+
+1228 SNMP-DPI: Simple Network Management Protocol Distributed Program
+ Interface. G. Carpenter, B. Wijnen. May-01-1991. (Format: TXT=96972
+ bytes) (Obsoleted by RFC1592) (Status: EXPERIMENTAL)
+
+1229 Extensions to the generic-interface MIB. K. McCloghrie.
+ May-01-1991. (Format: TXT=36022 bytes) (Obsoleted by RFC1573)
+ (Updated by RFC1239) (Status: PROPOSED STANDARD)
+
+1230 IEEE 802.4 Token Bus MIB. K. McCloghrie, R. Fox. May-01-1991.
+ (Format: TXT=53100 bytes) (Updated by RFC1239) (Status: HISTORIC)
+
+1231 IEEE 802.5 Token Ring MIB. K. McCloghrie, R. Fox, E. Decker.
+ May-01-1991. (Format: TXT=53542 bytes) (Obsoleted by RFC1743,
+ RFC1748) (Updated by RFC1239) (Status: PROPOSED STANDARD)
+
+1232 Definitions of managed objects for the DS1 Interface type. F.
+ Baker, C.P. Kolb. May-01-1991. (Format: TXT=60757 bytes) (Obsoleted
+ by RFC1406) (Updated by RFC1239) (Status: PROPOSED STANDARD)
+
+1233 Definitions of managed objects for the DS3 Interface type. T.A.
+ Cox, K. Tesink. May-01-1991. (Format: TXT=49559 bytes) (Obsoleted by
+ RFC1407) (Updated by RFC1239) (Status: PROPOSED STANDARD)
+
+1234 Tunneling IPX traffic through IP networks. D. Provan.
+ Jun-01-1991. (Format: TXT=12333 bytes) (Status: PROPOSED STANDARD)
+
+1235 Coherent File Distribution Protocol. J. Ioannidis, G. Maguire.
+ Jun-01-1991. (Format: TXT=29345 bytes) (Status: EXPERIMENTAL)
+
+1236 IP to X.121 address mapping for DDN. L. Morales, P. Hasse.
+ Jun-01-1991. (Format: TXT=12626 bytes) (Status: INFORMATIONAL)
+
+1237 Guidelines for OSI NSAP Allocation in the Internet. R. Collela,
+ E.P. Gardner, R.W. Callon. Jul-01-1991. (Format: TXT=116989,
+ PS=160478, PDF=171423 bytes) (Obsoleted by RFC1629) (Status: PROPOSED
+ STANDARD)
+
+1238 CLNS MIB for use with Connectionless Network Protocol (ISO 8473)
+ and End System to Intermediate System (ISO 9542). G. Satz.
+ Jun-01-1991. (Format: TXT=65159 bytes) (Obsoletes RFC1162) (Status:
+ EXPERIMENTAL)
+
+1239 Reassignment of experimental MIBs to standard MIBs. J.K.
+ Reynolds. Jun-01-1991. (Format: TXT=3656 bytes) (Updates RFC1229,
+ RFC1230, RFC1231, RFC1232, RFC1233) (Status: PROPOSED STANDARD)
+
+1240 OSI connectionless transport services on top of UDP: Version 1.
+ C. Shue, W. Haggerty, K. Dobbins. Jun-01-1991. (Format: TXT=18140
+ bytes) (Status: HISTORIC)
+
+1241 Scheme for an internet encapsulation protocol: Version 1. R.A.
+ Woodburn, D.L. Mills. Jul-01-1991. (Format: TXT=42468, PS=128921,
+ PDF=44593 bytes) (Status: EXPERIMENTAL)
+
+1242 Benchmarking terminology for network interconnection devices. S.
+ Bradner. Jul-01-1991. (Format: TXT=22817 bytes) (Status:
+ INFORMATIONAL)
+
+1243 AppleTalk Management Information Base. S. Waldbusser.
+ Jul-01-1991. (Format: TXT=61985 bytes) (Obsoleted by RFC1742)
+ (Status: PROPOSED STANDARD)
+
+1244 Site Security Handbook. J.P. Holbrook, J.K. Reynolds.
+ Jul-01-1991. (Format: TXT=259129 bytes) (Obsoleted by RFC2196)
+ (Status: INFORMATIONAL)
+
+1245 OSPF Protocol Analysis. J. Moy. Jul-01-1991. (Format: TXT=26160,
+ PS=33546, PDF=31723 bytes) (Also RFC1247, RFC1246) (Status:
+ INFORMATIONAL)
+
+1246 Experience with the OSPF Protocol. J. Moy. Jul-01-1991. (Format:
+ TXT=70441, PS=141924, PDF=84633 bytes) (Also RFC1247, RFC1245)
+ (Status: INFORMATIONAL)
+
+1247 OSPF Version 2. J. Moy. Jul-01-1991. (Format: TXT=433332,
+ PS=989724, PDF=490300 bytes) (Obsoletes RFC1131) (Obsoleted by
+ RFC1583) (Also RFC1246, RFC1245) (Status: DRAFT STANDARD)
+
+1248 OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
+ Jul-01-1991. (Format: TXT=74347 bytes) (Obsoleted by RFC1252)
+ (Status: PROPOSED STANDARD)
+
+1249 DIXIE Protocol Specification. T. Howes, M. Smith, B. Beecher.
+ Aug-01-1991. (Format: TXT=20028 bytes) (Also RFC1202) (Status:
+ INFORMATIONAL)
+
+1250 IAB Official Protocol Standards. J. Postel. Aug-01-1991. (Format:
+ TXT=62555 bytes) (Obsoletes RFC1200) (Obsoleted by RFC2200, RFC1280)
+ (Status: HISTORIC)
+
+1251 Who's Who in the Internet: Biographies of IAB, IESG and IRSG
+ Members. G. Malkin. Aug-01-1991. (Format: TXT=70383 bytes) (Obsoleted
+ by RFC1336) (Status: INFORMATIONAL)
+
+1252 OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
+ Aug-01-1991. (Format: TXT=74471 bytes) (Obsoletes RFC1248) (Obsoleted
+ by RFC1253) (Also RFC1247, RFC1245) (Status: PROPOSED STANDARD)
+
+1253 OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
+ Aug-01-1991. (Format: TXT=74453 bytes) (Obsoletes RFC1252) (Obsoleted
+ by RFC1850) (Also RFC1247, RFC1245, RFC1246) (Status: PROPOSED
+ STANDARD)
+
+1254 Gateway Congestion Control Survey. A. Mankin, K. Ramakrishnan.
+ Aug-01-1991. (Format: TXT=67609 bytes) (Status: INFORMATIONAL)
+
+1255 A Naming Scheme for c=US. The North American Directory Forum.
+ Sep-01-1991. (Format: TXT=51103 bytes) (Obsoletes RFC1218) (Obsoleted
+ by RFC1417) (Status: INFORMATIONAL)
+
+1256 ICMP Router Discovery Messages. S. Deering. Sep-01-1991. (Format:
+ TXT=43059 bytes) (Also RFC0792) (Status: PROPOSED STANDARD)
+
+1257 Isochronous applications do not require jitter-controlled
+ networks. C. Partridge. Sep-01-1991. (Format: TXT=11075 bytes)
+ (Status: INFORMATIONAL)
+
+1258 BSD Rlogin. B. Kantor. Sep-01-1991. (Format: TXT=10763 bytes)
+ (Status: INFORMATIONAL)
+
+1259 Building the open road: The NREN as test-bed for the national
+ public network. M. Kapor. Sep-01-1991. (Format: TXT=61654 bytes)
+ (Status: INFORMATIONAL)
+
+1260 Not Issued.
+
+1261 Transition of Nic Services. S. Williamson, L. Nobile.
+ Sep-01-1991. (Format: TXT=4244 bytes) (Status: INFORMATIONAL)
+
+1262 Guidelines for Internet Measurement Activities. V.G. Cerf.
+ Oct-01-1991. (Format: TXT=6381 bytes) (Status: INFORMATIONAL)
+
+1263 TCP Extensions Considered Harmful. S. O'Malley, L.L. Peterson.
+ Oct-01-1991. (Format: TXT=54078 bytes) (Status: INFORMATIONAL)
+
+1264 Internet Engineering Task Force Internet Routing Protocol
+ Standardization Criteria. R.M. Hinden. Oct-01-1991. (Format:
+ TXT=17016 bytes) (Status: INFORMATIONAL)
+
+1265 BGP Protocol Analysis. Y. Rekhter. Oct-01-1991. (Format:
+ TXT=20728 bytes) (Status: INFORMATIONAL)
+
+1266 Experience with the BGP Protocol. Y. Rekhter. Oct-01-1991.
+ (Format: TXT=21938 bytes) (Status: INFORMATIONAL)
+
+1267 Border Gateway Protocol 3 (BGP-3). K. Lougheed, Y. Rekhter.
+ Oct-01-1991. (Format: TXT=80724 bytes) (Obsoletes RFC1163) (Status:
+ HISTORIC)
+
+1268 Application of the Border Gateway Protocol in the Internet. Y.
+ Rekhter, P. Gross. Oct-01-1991. (Format: TXT=31102 bytes) (Obsoletes
+ RFC1164) (Obsoleted by RFC1655) (Status: HISTORIC)
+
+1269 Definitions of Managed Objects for the Border Gateway Protocol:
+ Version 3. S. Willis, J.W. Burruss. Oct-01-1991. (Format: TXT=25717
+ bytes) (Status: PROPOSED STANDARD)
+
+1270 SNMP Communications Services. F. Kastenholz. Oct-01-1991.
+ (Format: TXT=26167 bytes) (Status: INFORMATIONAL)
+
+1271 Remote Network Monitoring Management Information Base. S.
+ Waldbusser. Nov-01-1991. (Format: TXT=184111 bytes) (Obsoleted by
+ RFC1757) (Updated by RFC1513) (Status: PROPOSED STANDARD)
+
+1272 Internet Accounting: Background. C. Mills, D. Hirsh, G.R. Ruth.
+ Nov-01-1991. (Format: TXT=46562 bytes) (Status: INFORMATIONAL)
+
+1273 Measurement Study of Changes in Service-Level Reachability in the
+ Global TCP/IP Internet: Goals, Experimental Design, Implementation,
+ and Policy Considerations. M.F. Schwartz. Nov-01-1991. (Format:
+ TXT=19949 bytes) (Status: INFORMATIONAL)
+
+1274 The COSINE and Internet X.500 Schema. P. Barker, S. Kille.
+ November 1991. (Format: TXT=92827 bytes) (Status: PROPOSED STANDARD)
+
+1275 Replication Requirements to provide an Internet Directory using
+ X.500. S.E. Hardcastle-Kille. November 1991. (Format: TXT=4616,
+ PS=83736, PDF=62498 bytes) (Status: INFORMATIONAL)
+
+1276 Replication and Distributed Operations extensions to provide an
+ Internet Directory using X.500. S.E. Hardcastle-Kille. November 1991.
+ (Format: TXT=33731, PS=217170 bytes) (Status: PROPOSED STANDARD)
+
+1277 Encoding Network Addresses to Support Operation over Non-OSI
+ Lower Layers. S.E. Hardcastle-Kille. November 1991. (Format:
+ TXT=22254, PS=176169 bytes) (Status: PROPOSED STANDARD)
+
+1278 A string encoding of Presentation Address. S.E. Hardcastle-Kille.
+ November 1991. (Format: TXT=10256, PS=128696 bytes) (Status:
+ INFORMATIONAL)
+
+1279 X.500 and Domains. S.E. Hardcastle-Kille. November 1991. (Format:
+ TXT=26669, PS=170029 bytes) (Status: EXPERIMENTAL)
+
+1280 IAB Official Protocol Standards. J. Postel. March 1992. (Format:
+ TXT=70458 bytes) (Obsoletes RFC1250) (Obsoleted by RFC1360) (Status:
+ HISTORIC)
+
+1281 Guidelines for the Secure Operation of the Internet. R. Pethia,
+ S. Crocker, B. Fraser. November 1991. (Format: TXT=22618 bytes)
+ (Status: INFORMATIONAL)
+
+1282 BSD Rlogin. B. Kantor. December 1991. (Format: TXT=10704 bytes)
+ (Status: INFORMATIONAL)
+
+1283 SNMP over OSI. M. Rose. December 1991. (Format: TXT=16857 bytes)
+ (Obsoleted by RFC1418) (Status: EXPERIMENTAL)
+
+1284 Definitions of Managed Objects for the Ethernet-like Interface
+ Types. J. Cook. December 1991. (Format: TXT=43225 bytes) (Obsoleted
+ by RFC1398) (Status: PROPOSED STANDARD)
+
+1285 FDDI Management Information Base. J. Case. January 1992. (Format:
+ TXT=99747 bytes) (Updated by RFC1512) (Status: PROPOSED STANDARD)
+
+1286 Definitions of Managed Objects for Bridges. E. Decker, P.
+ Langille, A. Rijsinghani, K. McCloghrie. December 1991. (Format:
+ TXT=79104 bytes) (Obsoleted by RFC1493, RFC1525) (Status: PROPOSED
+ STANDARD)
+
+1287 Towards the Future Internet Architecture. D. Clark, L. Chapin, V.
+ Cerf, R. Braden, R. Hobby. December 1991. (Format: TXT=59812 bytes)
+ (Status: INFORMATIONAL)
+
+1288 The Finger User Information Protocol. D. Zimmerman. December
+ 1991. (Format: TXT=25161 bytes) (Obsoletes RFC1196, RFC1194, RFC0742)
+ (Status: DRAFT STANDARD)
+
+1289 DECnet Phase IV MIB Extensions. J. Saperia. December 1991.
+ (Format: TXT=122272 bytes) (Obsoleted by RFC1559) (Status: PROPOSED
+ STANDARD)
+
+1290 There's Gold in them thar Networks! or Searching for Treasure in
+ all the Wrong Places. J. Martin. December 1991. (Format: TXT=46997
+ bytes) (Obsoleted by RFC1402) (Status: INFORMATIONAL)
+
+1291 Mid-Level Networks Potential Technical Services. V. Aggarwal.
+ December 1991. (Format: TXT=24314, PS=218918 bytes) (Status:
+ INFORMATIONAL)
+
+1292 A Catalog of Available X.500 Implementations. R. Lang, R. Wright.
+ January 1992. (Format: TXT=129468 bytes) (Obsoleted by RFC1632)
+ (Status: INFORMATIONAL)
+
+1293 Inverse Address Resolution Protocol. T. Bradley, C. Brown.
+ January 1992. (Format: TXT=11368 bytes) (Obsoleted by RFC2390)
+ (Status: PROPOSED STANDARD)
+
+1294 Multiprotocol Interconnect over Frame Relay. T. Bradley, C.
+ Brown, A. Malis. January 1992. (Format: TXT=54992 bytes) (Obsoleted
+ by RFC1490, RFC2427) (Status: PROPOSED STANDARD)
+
+1295 User Bill of Rights for entries and listings in the Public
+ Directory. The North American Directory Forum. January 1992. (Format:
+ TXT=3502 bytes) (Obsoleted by RFC1417) (Status: INFORMATIONAL)
+
+1296 Internet Growth (1981-1991). M. Lottor. January 1992. (Format:
+ TXT=20103 bytes) (Status: INFORMATIONAL)
+
+1297 NOC Internal Integrated Trouble Ticket System Functional
+ Specification Wishlist ("NOC TT REQUIREMENTS"). D. Johnson. January
+ 1992. (Format: TXT=32964 bytes) (Status: INFORMATIONAL)
+
+1298 SNMP over IPX. R. Wormley, S. Bostock. February 1992. (Format:
+ TXT=7878 bytes) (Obsoleted by RFC1420) (Status: INFORMATIONAL)
+
+1299 Summary of 1200-1299. M. Kennedy. January 1997. (Format:
+ TXT=36594 bytes) (Status: INFORMATIONAL)
+
+1300 Remembrances of Things Past. S. Greenfield. February 1992.
+ (Format: TXT=4963 bytes) (Status: INFORMATIONAL)
+
+1301 Multicast Transport Protocol. S. Armstrong, A. Freier, K.
+ Marzullo. February 1992. (Format: TXT=91976 bytes) (Status:
+ INFORMATIONAL)
+
+1302 Building a Network Information Services Infrastructure. D.
+ Sitzler, P. Smith, A. Marine. February 1992. (Format: TXT=29135
+ bytes) (Also FYI0012) (Status: INFORMATIONAL)
+
+1303 A Convention for Describing SNMP-based Agents. K. McCloghrie, M.
+ Rose. February 1992. (Format: TXT=22915 bytes) (Also RFC1155,
+ RFC1212, RFC1213, RFC1157) (Status: INFORMATIONAL)
+
+1304 Definitions of Managed Objects for the SIP Interface Type. T.
+ Cox, K. Tesink, Editors. February 1992. (Format: TXT=52491 bytes)
+ (Obsoleted by RFC1694) (Status: PROPOSED STANDARD)
+
+1305 Network Time Protocol (Version 3) Specification, Implementation.
+ David L. Mills. March 1992. (Format: TXT=307085, PDF=442493 bytes)
+ (Obsoletes RFC0958, RFC1059, RFC1119) (Status: DRAFT STANDARD)
+
+1306 Experiences Supporting By-Request Circuit-Switched T3 Networks.
+ A. Nicholson, J. Young. March 1992. (Format: TXT=25788 bytes)
+ (Status: INFORMATIONAL)
+
+1307 Dynamically Switched Link Control Protocol. J. Young, A.
+ Nicholson. March 1992. (Format: TXT=24145 bytes) (Status:
+ EXPERIMENTAL)
+
+1308 Executive Introduction to Directory Services Using the X.500
+ Protocol. C. Weider, J. Reynolds. March 1992. (Format: TXT=9392
+ bytes) (Also FYI0013) (Status: INFORMATIONAL)
+
+1309 Technical Overview of Directory Services Using the X.500
+ Protocol. C. Weider, J. Reynolds, S. Heker. March 1992. (Format:
+ TXT=35694 bytes) (Also FYI0014) (Status: INFORMATIONAL)
+
+1310 The Internet Standards Process. L. Chapin. March 1992. (Format:
+ TXT=54738 bytes) (Obsoleted by RFC1602) (Status: INFORMATIONAL)
+
+1311 Introduction to the STD Notes. J. Postel. March 1992. (Format:
+ TXT=11308 bytes) (Status: INFORMATIONAL)
+
+1312 Message Send Protocol 2. R. Nelson, G. Arnold. April 1992.
+ (Format: TXT=18037 bytes) (Obsoletes RFC1159) (Status: EXPERIMENTAL)
+
+1313 Today's Programming for KRFC AM 1313 Internet Talk Radio. C.
+ Partridge. Apr-01-1992. (Format: TXT=5444 bytes) (Status:
+ INFORMATIONAL)
+
+1314 A File Format for the Exchange of Images in the Internet. A.
+ Katz, D. Cohen. April 1992. (Format: TXT=54072 bytes) (Status:
+ PROPOSED STANDARD)
+
+1315 Management Information Base for Frame Relay DTEs. C. Brown, F.
+ Baker, C. Carvalho. April 1992. (Format: TXT=33825 bytes) (Obsoleted
+ by RFC2115) (Status: PROPOSED STANDARD)
+
+1316 Definitions of Managed Objects for Character Stream Devices. B.
+ Stewart. April 1992. (Format: TXT=35143 bytes) (Obsoleted by RFC1658)
+ (Status: PROPOSED STANDARD)
+
+1317 Definitions of Managed Objects for RS-232-like Hardware Devices.
+ B. Stewart. April 1992. (Format: TXT=30442 bytes) (Obsoleted by
+ RFC1659) (Status: PROPOSED STANDARD)
+
+1318 Definitions of Managed Objects for Parallel-printer-like Hardware
+ Devices. B. Stewart. April 1992. (Format: TXT=19570 bytes) (Obsoleted
+ by RFC1660) (Status: PROPOSED STANDARD)
+
+1319 The MD2 Message-Digest Algorithm. B. Kaliski. April 1992.
+ (Format: TXT=25661 bytes) (Status: INFORMATIONAL)
+
+1320 The MD4 Message-Digest Algorithm. R. Rivest. April 1992. (Format:
+ TXT=32407 bytes) (Obsoletes RFC1186) (Status: INFORMATIONAL)
+
+1321 The MD5 Message-Digest Algorithm. R. Rivest. April 1992. (Format:
+ TXT=35222 bytes) (Status: INFORMATIONAL)
+
+1322 A Unified Approach to Inter-Domain Routing. D. Estrin, Y.
+ Rekhter, S. Hotz. May 1992. (Format: TXT=96934 bytes) (Status:
+ INFORMATIONAL)
+
+1323 TCP Extensions for High Performance. V. Jacobson, R. Braden, D.
+ Borman. May 1992. (Format: TXT=84558 bytes) (Obsoletes RFC1072,
+ RFC1185) (Status: PROPOSED STANDARD)
+
+1324 A Discussion on Computer Network Conferencing. D. Reed. May 1992.
+ (Format: TXT=24988 bytes) (Status: INFORMATIONAL)
+
+1325 FYI on Questions and Answers Answers to Commonly asked "New
+ Internet User" Questions. G. Malkin, A. Marine. May 1992. (Format:
+ TXT=91884 bytes) (Obsoletes RFC1206) (Obsoleted by RFC1594) (Status:
+ INFORMATIONAL)
+
+1326 Mutual Encapsulation Considered Dangerous. P. Tsuchiya. May 1992.
+ (Format: TXT=11277 bytes) (Status: INFORMATIONAL)
+
+1327 Mapping between X.400(1988) / ISO 10021 and RFC 822. S.
+ Hardcastle-Kille. May 1992. (Format: TXT=228598 bytes) (Obsoletes
+ RFC0987, RFC1026, RFC1138, RFC1148) (Obsoleted by RFC2156) (Updates
+ RFC0822) (Updated by RFC1495) (Status: PROPOSED STANDARD)
+
+1328 X.400 1988 to 1984 downgrading. S. Hardcastle-Kille. May 1992.
+ (Format: TXT=10006 bytes) (Status: PROPOSED STANDARD)
+
+1329 Thoughts on Address Resolution for Dual MAC FDDI Networks. P.
+ Kuehn. May 1992. (Format: TXT=58150 bytes) (Status: INFORMATIONAL)
+
+1330 Recommendations for the Phase I Deployment of OSI Directory
+ Services (X.500) and OSI Message Handling Services (X.400) within the
+ ESNET Community. ESCC X.500/X.400 Task Force, ESnet Site Coordinating
+ Committee (ESCC). May 1992. (Format: TXT=192925 bytes) (Status:
+ INFORMATIONAL)
+
+1331 The Point-to-Point Protocol (PPP) for the Transmission of
+ Multi-protocol Datagrams over Point-to-Point Links. W. Simpson. May
+ 1992. (Format: TXT=129892 bytes) (Obsoletes RFC1171, RFC1172)
+ (Obsoleted by RFC1548) (Status: PROPOSED STANDARD)
+
+1332 The PPP Internet Protocol Control Protocol (IPCP). G. McGregor.
+ May 1992. (Format: TXT=17613 bytes) (Obsoletes RFC1172) (Status:
+ PROPOSED STANDARD)
+
+1333 PPP Link Quality Monitoring. W. Simpson. May 1992. (Format:
+ TXT=29965 bytes) (Obsoleted by RFC1989) (Status: PROPOSED STANDARD)
+
+1334 PPP Authentication Protocols. B. Lloyd, W. Simpson. October 1992.
+ (Format: TXT=33248 bytes) (Obsoleted by RFC1994) (Status: PROPOSED
+ STANDARD)
+
+1335 A Two-Tier Address Structure for the Internet: A Solution to the
+ Problem of Address Space Exhaustion. Z. Wang, J. Crowcroft. May 1992.
+ (Format: TXT=15418 bytes) (Status: INFORMATIONAL)
+
+1336 Who's Who in the Internet: Biographies of IAB, IESG and IRSG
+ Members. G. Malkin. May 1992. (Format: TXT=92119 bytes) (Obsoletes
+ RFC1251) (Also FYI0009) (Status: INFORMATIONAL)
+
+1337 TIME-WAIT Assassination Hazards in TCP. R. Braden. May 1992.
+ (Format: TXT=22887 bytes) (Status: INFORMATIONAL)
+
+1338 Supernetting: an Address Assignment and Aggregation Strategy. V.
+ Fuller, T. Li, J. Yu, K. Varadhan. June 1992. (Format: TXT=47975
+ bytes) (Obsoleted by RFC1519) (Status: INFORMATIONAL)
+
+1339 Remote Mail Checking Protocol. S. Dorner, P. Resnick. June 1992.
+ (Format: TXT=13115 bytes) (Status: EXPERIMENTAL)
+
+1340 Assigned Numbers. J. Reynolds, J. Postel. July 1992. (Format:
+ TXT=232974 bytes) (Obsoletes RFC1060) (Obsoleted by RFC1700) (Status:
+ HISTORIC)
+
+1341 MIME (Multipurpose Internet Mail Extensions): Mechanisms for
+ Specifying and Describing the Format of Internet Message Bodies. N.
+ Borenstein, N. Freed. June 1992. (Format: TXT=211117, PS=347082,
+ PDF=192244 bytes) (Obsoleted by RFC1521) (Status: PROPOSED STANDARD)
+
+1342 Representation of Non-ASCII Text in Internet Message Headers. K.
+ Moore. June 1992. (Format: TXT=15845 bytes) (Obsoleted by RFC1522)
+ (Status: PROPOSED STANDARD)
+
+1343 A User Agent Configuration Mechanism for Multimedia Mail Format
+ Information. N. Borenstein. June 1992. (Format: TXT=29295, PS=59978,
+ PDF=28495 bytes) (Status: INFORMATIONAL)
+
+1344 Implications of MIME for Internet Mail Gateways. N. Borenstein.
+ June 1992. (Format: TXT=25872, PS=51812, PDF=24430 bytes) (Status:
+ INFORMATIONAL)
+
+1345 Character Mnemonics and Character Sets. K. Simonsen. June 1992.
+ (Format: TXT=249737 bytes) (Status: INFORMATIONAL)
+
+1346 Resource Allocation, Control, and Accounting for the Use of
+ Network Resources. P. Jones. June 1992. (Format: TXT=13084 bytes)
+ (Status: INFORMATIONAL)
+
+1347 TCP and UDP with Bigger Addresses (TUBA), A Simple Proposal for
+ Internet Addressing and Routing. R. Callon. June 1992. (Format:
+ TXT=26563, PS=42398, PDF=22398 bytes) (Status: INFORMATIONAL)
+
+1348 DNS NSAP RRs. B. Manning. July 1992. (Format: TXT=6871 bytes)
+ (Obsoleted by RFC1637) (Updates RFC1034, RFC1035) (Status:
+ EXPERIMENTAL)
+
+1349 Type of Service in the Internet Protocol Suite. P. Almquist. July
+ 1992. (Format: TXT=68949 bytes) (Obsoleted by RFC2474) (Status:
+ PROPOSED STANDARD)
+
+1350 The TFTP Protocol (Revision 2). K. Sollins. July 1992. (Format:
+ TXT=24599 bytes) (Obsoletes RFC0783) (Updated by RFC1782, RFC1783,
+ RFC1784, RFC1785, RFC2347, RFC2348, RFC2349) (Also STD0033) (Status:
+ STANDARD)
+
+1351 SNMP Administrative Model. J. Davin, J. Galvin, K. McCloghrie.
+ July 1992. (Format: TXT=80721 bytes) (Status: HISTORIC)
+
+1352 SNMP Security Protocols. J. Galvin, K. McCloghrie, J. Davin. July
+ 1992. (Format: TXT=95732 bytes) (Status: HISTORIC)
+
+1353 Definitions of Managed Objects for Administration of SNMP
+ Parties. K. McCloghrie, J. Davin, J. Galvin. July 1992. (Format:
+ TXT=59556 bytes) (Status: HISTORIC)
+
+1354 IP Forwarding Table MIB. F. Baker. July 1992. (Format: TXT=24905
+ bytes) (Obsoleted by RFC2096) (Status: PROPOSED STANDARD)
+
+1355 Privacy and Accuracy Issues in Network Information Center
+ Databases. J. Curran, A. Marine. August 1992. (Format: TXT=8858
+ bytes) (Also FYI0015) (Status: INFORMATIONAL)
+
+1356 Multiprotocol Interconnect on X.25 and ISDN in the Packet Mode.
+ A. Malis, D. Robinson, R. Ullmann. August 1992. (Format: TXT=32043
+ bytes) (Obsoletes RFC0877) (Status: DRAFT STANDARD)
+
+1357 A Format for E-mailing Bibliographic Records. D. Cohen. July
+ 1992. (Format: TXT=25021 bytes) (Obsoleted by RFC1807) (Status:
+ INFORMATIONAL)
+
+1358 Charter of the Internet Architecture Board (IAB). L. Chapin.
+ August 1992. (Format: TXT=11328 bytes) (Obsoleted by RFC1601)
+ (Status: INFORMATIONAL)
+
+1359 Connecting to the Internet - What Connecting Institutions Should
+ Anticipate. ACM SIGUCCS. August 1992. (Format: TXT=53449 bytes) (Also
+ FYI0016) (Status: INFORMATIONAL)
+
+1360 IAB Official Protocol Standards. J. Postel. September 1992.
+ (Format: TXT=71860 bytes) (Obsoletes RFC1280) (Obsoleted by RFC1410)
+ (Status: HISTORIC)
+
+1361 Simple Network Time Protocol (SNTP). D. Mills. August 1992.
+ (Format: TXT=23812 bytes) (Obsoleted by RFC1769) (Also RFC1305)
+ (Status: INFORMATIONAL)
+
+1362 Novell IPX over Various WAN Media (IPXWAN). M. Allen. September
+ 1992. (Format: TXT=30219 bytes) (Obsoleted by RFC1634) (Status:
+ INFORMATIONAL)
+
+1363 A Proposed Flow Specification. C. Partridge. September 1992.
+ (Format: TXT=59214 bytes) (Status: INFORMATIONAL)
+
+1364 BGP OSPF Interaction. K. Varadhan. September 1992. (Format:
+ TXT=32121 bytes) (Obsoleted by RFC1403) (Also RFC1247, RFC1267)
+ (Status: PROPOSED STANDARD)
+
+1365 An IP Address Extension Proposal. K. Siyan. September 1992.
+ (Format: TXT=12790 bytes) (Status: INFORMATIONAL)
+
+1366 Guidelines for Management of IP Address Space. E. Gerich. October
+ 1992. (Format: TXT=17793 bytes) (Obsoleted by RFC1466) (Status:
+ INFORMATIONAL)
+
+1367 Schedule for IP Address Space Management Guidelines. C. Topolcic.
+ October 1992. (Format: TXT=4780 bytes) (Obsoleted by RFC1467)
+ (Status: INFORMATIONAL)
+
+1368 Definition of Managed Objects for IEEE 802.3 Repeater Devices. D.
+ McMaster, K. McCloghrie. October 1992. (Format: TXT=83905 bytes)
+ (Obsoleted by RFC1516) (Status: PROPOSED STANDARD)
+
+1369 Implementation Notes and Experience for the Internet Ethernet
+ MIB. F. Kastenholz. October 1992. (Format: TXT=13961 bytes) (Status:
+ INFORMATIONAL)
+
+1370 Applicability Statement for OSPF. Internet Architecture Board, L.
+ Chapin. October 1992. (Format: TXT=4303 bytes) (Status: PROPOSED
+ STANDARD)
+
+1371 Choosing a Common IGP for the IP Internet. P. Gross. October
+ 1992. (Format: TXT=18168 bytes) (Status: INFORMATIONAL)
+
+1372 Telnet Remote Flow Control Option. C. Hedrick, D. Borman. October
+ 1992. (Format: TXT=11098 bytes) (Obsoletes RFC1080) (Status: PROPOSED
+ STANDARD)
+
+1373 Portable DUAs. T. Tignor. October 1992. (Format: TXT=19931 bytes)
+ (Status: INFORMATIONAL)
+
+1374 IP and ARP on HIPPI. J. Renwick, A. Nicholson. October 1992.
+ (Format: TXT=100903 bytes) (Obsoleted by RFC2834) (Status: PROPOSED
+ STANDARD)
+
+1375 Suggestion for New Classes of IP Addresses. P. Robinson. October
+ 1992. (Format: TXT=16990 bytes) (Status: INFORMATIONAL)
+
+1376 The PPP DECnet Phase IV Control Protocol (DNCP). S. Senum.
+ November 1992. (Format: TXT=12448 bytes) (Obsoleted by RFC1762)
+ (Status: PROPOSED STANDARD)
+
+1377 The PPP OSI Network Layer Control Protocol (OSINLCP). D. Katz.
+ November 1992. (Format: TXT=22109 bytes) (Status: PROPOSED STANDARD)
+
+1378 The PPP AppleTalk Control Protocol (ATCP). B. Parker. November
+ 1992. (Format: TXT=28496 bytes) (Status: PROPOSED STANDARD)
+
+1379 Extending TCP for Transactions -- Concepts. R. Braden. November
+ 1992. (Format: TXT=91353 bytes) (Updated by RFC1644) (Status:
+ INFORMATIONAL)
+
+1380 IESG Deliberations on Routing and Addressing. P. Gross, P.
+ Almquist. November 1992. (Format: TXT=49415 bytes) (Status:
+ INFORMATIONAL)
+
+1381 SNMP MIB Extension for X.25 LAPB. D. Throop, F. Baker. November
+ 1992. (Format: TXT=71253 bytes) (Status: PROPOSED STANDARD)
+
+1382 SNMP MIB Extension for the X.25 Packet Layer. D. Throop. November
+ 1992. (Format: TXT=153877 bytes) (Status: PROPOSED STANDARD)
+
+1383 An Experiment in DNS Based IP Routing. C. Huitema. December 1992.
+ (Format: TXT=32680 bytes) (Status: EXPERIMENTAL)
+
+1384 Naming Guidelines for Directory Pilots. P. Barker, S.E.
+ Hardcastle-Kille. January 1993. (Format: TXT=25870, PS=175044,
+ PDF=134487 bytes) (Obsoleted by RFC1617, RTR0011) (Status:
+ INFORMATIONAL)
+
+1385 EIP: The Extended Internet Protocol. Z. Wang. November 1992.
+ (Format: TXT=39123 bytes) (Status: INFORMATIONAL)
+
+1386 The US Domain. A. Cooper, J. Postel. December 1992. (Format:
+ TXT=62310 bytes) (Obsoleted by RFC1480) (Status: INFORMATIONAL)
+
+1387 RIP Version 2 Protocol Analysis. G. Malkin. January 1993.
+ (Format: TXT=5598 bytes) (Obsoleted by RFC1721) (Status:
+ INFORMATIONAL)
+
+1388 RIP Version 2 Carrying Additional Information. G. Malkin. January
+ 1993. (Format: TXT=16227 bytes) (Obsoleted by RFC1723) (Updates
+ RFC1058) (Status: PROPOSED STANDARD)
+
+1389 RIP Version 2 MIB Extensions. G. Malkin, F. Baker. January 1993.
+ (Format: TXT=23569 bytes) (Obsoleted by RFC1724) (Status: PROPOSED
+ STANDARD)
+
+1390 Transmission of IP and ARP over FDDI Networks. D. Katz. January
+ 1993. (Format: TXT=22077 bytes) (Also STD0036) (Status: STANDARD)
+
+1391 The Tao of the IETF: A Guide for New Attendees of the Internet
+ Engineering Task Force. G. Malkin. January 1993. (Format: TXT=41892
+ bytes) (Obsoleted by RFC1539) (Status: INFORMATIONAL)
+
+1392 Internet Users' Glossary. G. Malkin, T. LaQuey Parker. January
+ 1993. (Format: TXT=104624 bytes) (Obsoleted by RFC1983) (Status:
+ INFORMATIONAL)
+
+1393 Traceroute Using an IP Option. G. Malkin. January 1993. (Format:
+ TXT=13140 bytes) (Status: EXPERIMENTAL)
+
+1394 Relationship of Telex Answerback Codes to Internet Domains. P.
+ Robinson. January 1993. (Format: TXT=43776 bytes) (Status:
+ INFORMATIONAL)
+
+1395 BOOTP Vendor Information Extensions. J. Reynolds. January 1993.
+ (Format: TXT=16314 bytes) (Obsoletes RFC1084, RFC1048) (Obsoleted by
+ RFC1497, RFC1533) (Updates RFC0951) (Status: DRAFT STANDARD)
+
+1396 The Process for Organization of Internet Standards Working Group
+ (POISED). S. Crocker. January 1993. (Format: TXT=22096 bytes)
+ (Status: INFORMATIONAL)
+
+1397 Default Route Advertisement In BGP2 and BGP3 Version of The
+ Border Gateway Protocol. D. Haskin. January 1993. (Format: TXT=4124
+ bytes) (Status: PROPOSED STANDARD)
+
+1398 Definitions of Managed Objects for the Ethernet-Like Interface
+ Types. F. Kastenholz. January 1993. (Format: TXT=36684 bytes)
+ (Obsoletes RFC1284) (Obsoleted by RFC1623) (Status: DRAFT STANDARD)
+
+1399 Summary of 1300-1399. J. Elliott. January 1997. (Format:
+ TXT=43662 bytes) (Status: INFORMATIONAL)
+
+1400 Transition and Modernization of the Internet Registration
+ Service. S. Williamson. March 1993. (Format: TXT=13008 bytes)
+ (Status: INFORMATIONAL)
+
+1401 Correspondence between the IAB and DISA on the use of DNS.
+ Internet Architecture Board. January 1993. (Format: TXT=12528 bytes)
+ (Status: INFORMATIONAL)
+
+1402 There's Gold in them thar Networks! or Searching for Treasure in
+ all the Wrong Places. J. Martin. January 1993. (Format: TXT=71176
+ bytes) (Obsoletes RFC1290) (Also FYI0010) (Status: INFORMATIONAL)
+
+1403 BGP OSPF Interaction. K. Varadhan. January 1993. (Format:
+ TXT=36173 bytes) (Obsoletes RFC1364) (Status: HISTORIC)
+
+1404 A Model for Common Operational Statistics. B. Stockman. January
+ 1993. (Format: TXT=52814 bytes) (Obsoleted by RFC1857) (Status:
+ INFORMATIONAL)
+
+1405 Mapping between X.400(1984/1988) and Mail-11 (DECnet mail). C.
+ Allocchio. January 1993. (Format: TXT=33885 bytes) (Obsoleted by
+ RFC2162) (Status: EXPERIMENTAL)
+
+1406 Definitions of Managed Objects for the DS1 and E1 Interface
+ Types. F. Baker, J. Watt, Editors. January 1993. (Format: TXT=97559
+ bytes) (Obsoletes RFC1232) (Obsoleted by RFC2495) (Status: PROPOSED
+ STANDARD)
+
+1407 Definitions of Managed Objects for the DS3/E3 Interface Type. T.
+ Cox, K. Tesink. January 1993. (Format: TXT=90682 bytes) (Obsoletes
+ RFC1233) (Obsoleted by RFC2496) (Status: PROPOSED STANDARD)
+
+1408 Telnet Environment Option. D. Borman, Editor. January 1993.
+ (Format: TXT=13936 bytes) (Updated by RFC1571) (Status: HISTORIC)
+
+1409 Telnet Authentication Option. D. Borman, Editor. January 1993.
+ (Format: TXT=13119 bytes) (Obsoleted by RFC1416) (Status:
+ EXPERIMENTAL)
+
+1410 IAB Official Protocol Standards. J. Postel, Editor. March 1993.
+ (Format: TXT=76524 bytes) (Obsoletes RFC1360) (Obsoleted by RFC1500)
+ (Status: HISTORIC)
+
+1411 Telnet Authentication: Kerberos Version 4. D. Borman, Editor.
+ January 1993. (Format: TXT=7967 bytes) (Status: EXPERIMENTAL)
+
+1412 Telnet Authentication: SPX. K. Alagappan. January 1993. (Format:
+ TXT=6952 bytes) (Status: EXPERIMENTAL)
+
+1413 Identification Protocol. M. St. Johns. February 1993. (Format:
+ TXT=16291 bytes) (Obsoletes RFC0931) (Status: PROPOSED STANDARD)
+
+1414 Identification MIB. M. St. Johns, M. Rose. February 1993.
+ (Format: TXT=14165 bytes) (Status: PROPOSED STANDARD)
+
+1415 FTP-FTAM Gateway Specification. J. Mindel, R. Slaski. January
+ 1993. (Format: TXT=128261 bytes) (Status: PROPOSED STANDARD)
+
+1416 Telnet Authentication Option. D. Borman, Editor. February 1993.
+ (Format: TXT=13270 bytes) (Obsoletes RFC1409) (Obsoleted by RFC2941)
+ (Status: EXPERIMENTAL)
+
+1417 NADF Standing Documents: A Brief Overview. The North American
+ Directory Forum. February 1993. (Format: TXT=7270 bytes) (Obsoletes
+ RFC1295, RFC1255, RFC1218) (Obsoleted by RFC1758) (Status:
+ INFORMATIONAL)
+
+1418 SNMP over OSI. M. Rose. March 1993. (Format: TXT=7721 bytes)
+ (Obsoletes RFC1161, RFC1283) (Status: PROPOSED STANDARD)
+
+1419 SNMP over AppleTalk. G. Minshall, M. Ritter. March 1993. (Format:
+ TXT=16470 bytes) (Status: PROPOSED STANDARD)
+
+1420 SNMP over IPX. S. Bostock. March 1993. (Format: TXT=6762 bytes)
+ (Obsoletes RFC1298) (Status: PROPOSED STANDARD)
+
+1421 Privacy Enhancement for Internet Electronic Mail: Part I: Message
+ Encryption and Authentication Procedures. J. Linn. February 1993.
+ (Format: TXT=103894 bytes) (Obsoletes RFC1113) (Status: PROPOSED
+ STANDARD)
+
+1422 Privacy Enhancement for Internet Electronic Mail: Part II:
+ Certificate-Based Key Management. S. Kent. February 1993. (Format:
+ TXT=86085 bytes) (Obsoletes RFC1114) (Status: PROPOSED STANDARD)
+
+1423 Privacy Enhancement for Internet Electronic Mail: Part III:
+ Algorithms, Modes, and Identifiers. D. Balenson. February 1993.
+ (Format: TXT=33277 bytes) (Obsoletes RFC1115) (Status: PROPOSED
+ STANDARD)
+
+1424 Privacy Enhancement for Internet Electronic Mail: Part IV: Key
+ Certification and Related Services. B. Kaliski. February 1993.
+ (Format: TXT=17537 bytes) (Status: PROPOSED STANDARD)
+
+1425 SMTP Service Extensions. J. Klensin, WG Chair, N. Freed, Editor,
+ M. Rose, E. Stefferud, D. Crocker. February 1993. (Format: TXT=20932
+ bytes) (Obsoleted by RFC1651) (Status: PROPOSED STANDARD)
+
+1426 SMTP Service Extension for 8bit-MIMEtransport. J. Klensin, WG
+ Chair, N. Freed, Editor, M. Rose, E. Stefferud, D. Crocker. February
+ 1993. (Format: TXT=11661 bytes) (Obsoleted by RFC1652) (Status:
+ PROPOSED STANDARD)
+
+1427 SMTP Service Extension for Message Size Declaration. J. Klensin,
+ WG Chair, N. Freed, Editor, K. Moore. February 1993. (Format:
+ TXT=17856 bytes) (Obsoleted by RFC1653) (Status: PROPOSED STANDARD)
+
+1428 Transition of Internet Mail from Just-Send-8 to 8bit-SMTP/MIME.
+ G. Vaudreuil. February 1993. (Format: TXT=12064 bytes) (Status:
+ INFORMATIONAL)
+
+1429 Listserv Distribute Protocol. E. Thomas. February 1993. (Format:
+ TXT=17759 bytes) (Status: INFORMATIONAL)
+
+1430 A Strategic Plan for Deploying an Internet X.500 Directory
+ Service. S. Hardcastle-Kille, E. Huizer, V. Cerf, R. Hobby, S. Kent.
+ February 1993. (Format: TXT=47587 bytes) (Status: INFORMATIONAL)
+
+1431 DUA Metrics (OSI-DS 33 (v2)). P. Barker. February 1993. (Format:
+ TXT=42240 bytes) (Status: INFORMATIONAL)
+
+1432 Recent Internet Books. J. Quarterman. March 1993. (Format:
+ TXT=27089 bytes) (Status: INFORMATIONAL)
+
+1433 Directed ARP. J. Garrett, J. Hagan, J. Wong. March 1993. (Format:
+ TXT=41028 bytes) (Status: EXPERIMENTAL)
+
+1434 Data Link Switching: Switch-to-Switch Protocol. R. Dixon, D.
+ Kushi. March 1993. (Format: TXT=80182, PS=292006, PDF=181839 bytes)
+ (Obsoleted by RFC1795) (Status: INFORMATIONAL)
+
+1435 IESG Advice from Experience with Path MTU Discovery. S. Knowles.
+ March 1993. (Format: TXT=2708 bytes) (Status: INFORMATIONAL)
+
+1436 The Internet Gopher Protocol (a distributed document search and
+ retrieval protocol). F. Anklesaria, M. McCahill, P. Lindner, D.
+ Johnson, D. Torrey, B. Albert. March 1993. (Format: TXT=36493 bytes)
+ (Status: INFORMATIONAL)
+
+1437 The Extension of MIME Content-Types to a New Medium. N.
+ Borenstein, M. Linimon. Apr-01-1993. (Format: TXT=13356 bytes)
+ (Status: INFORMATIONAL)
+
+1438 Internet Engineering Task Force Statements Of Boredom (SOBs). A.
+ Lyman Chapin, C. Huitema. Apr-01-1993. (Format: TXT=3044 bytes)
+ (Status: INFORMATIONAL)
+
+1439 The Uniqueness of Unique Identifiers. C. Finseth. March 1993.
+ (Format: TXT=20477 bytes) (Status: INFORMATIONAL)
+
+1440 SIFT/UFT: Sender-Initiated/Unsolicited File Transfer. R. Troth.
+ July 1993. (Format: TXT=17366 bytes) (Status: EXPERIMENTAL)
+
+1441 Introduction to version 2 of the Internet-standard Network
+ Management Framework. J. Case, K. McCloghrie, M. Rose, S. Waldbusser.
+ April 1993. (Format: TXT=25386 bytes) (Status: PROPOSED STANDARD)
+
+1442 Structure of Management Information for version 2 of the Simple
+ Network Management Protocol (SNMPv2). J. Case, K. McCloghrie, M.
+ Rose, S. Waldbusser. April 1993. (Format: TXT=95779 bytes) (Obsoleted
+ by RFC1902) (Status: PROPOSED STANDARD)
+
+1443 Textual Conventions for version 2 of the Simple Network
+ Management Protocol (SNMPv2). J. Case, K. McCloghrie, M. Rose, S.
+ Waldbusser. April 1993. (Format: TXT=60947 bytes) (Obsoleted by
+ RFC1903) (Status: PROPOSED STANDARD)
+
+1444 Conformance Statements for version 2 of the Simple Network
+ Management Protocol (SNMPv2). J. Case, K. McCloghrie, M. Rose, S.
+ Waldbusser. April 1993. (Format: TXT=57744 bytes) (Obsoleted by
+ RFC1904) (Status: PROPOSED STANDARD)
+
+1445 Administrative Model for version 2 of the Simple Network
+ Management Protocol (SNMPv2). J. Galvin, K. McCloghrie. April 1993.
+ (Format: TXT=99443 bytes) (Status: HISTORIC)
+
+1446 Security Protocols for version 2 of the Simple Network Management
+ Protocol (SNMPv2). J. Galvin, K. McCloghrie. April 1993. (Format:
+ TXT=108733 bytes) (Status: HISTORIC)
+
+1447 Party MIB for version 2 of the Simple Network Management Protocol
+ (SNMPv2). K. McCloghrie, J. Galvin. April 1993. (Format: TXT=80762
+ bytes) (Status: HISTORIC)
+
+1448 Protocol Operations for version 2 of the Simple Network
+ Management Protocol (SNMPv2). J. Case, K. McCloghrie, M. Rose, S.
+ Waldbusser. April 1993. (Format: TXT=74224 bytes) (Obsoleted by
+ RFC1905) (Status: PROPOSED STANDARD)
+
+1449 Transport Mappings for version 2 of the Simple Network Management
+ Protocol (SNMPv2). J. Case, K. McCloghrie, M. Rose, S. Waldbusser.
+ April 1993. (Format: TXT=41161 bytes) (Obsoleted by RFC1906) (Status:
+ PROPOSED STANDARD)
+
+1450 Management Information Base for version 2 of the Simple Network
+ Management Protocol (SNMPv2). J. Case, K. McCloghrie, M. Rose, S.
+ Waldbusser. April 1993. (Format: TXT=42172 bytes) (Obsoleted by
+ RFC1907) (Status: PROPOSED STANDARD)
+
+1451 Manager-to-Manager Management Information Base. J. Case, K.
+ McCloghrie, M. Rose, S. Waldbusser. April 1993. (Format: TXT=62935
+ bytes) (Status: HISTORIC)
+
+1452 Coexistence between version 1 and version 2 of the
+ Internet-standard Network Management Framework. J. Case, K.
+ McCloghrie, M. Rose, S. Waldbusser. April 1993. (Format: TXT=32176
+ bytes) (Obsoleted by RFC1908) (Status: PROPOSED STANDARD)
+
+1453 A Comment on Packet Video Remote Conferencing and the
+ Transport/Network Layers. W. Chimiak. April 1993. (Format: TXT=23563
+ bytes) (Status: INFORMATIONAL)
+
+1454 Comparison of Proposals for Next Version of IP. T. Dixon. May
+ 1993. (Format: TXT=35064 bytes) (Status: INFORMATIONAL)
+
+1455 Physical Link Security Type of Service. D. Eastlake. May 1993.
+ (Format: TXT=12391 bytes) (Obsoleted by RFC2474) (Status:
+ EXPERIMENTAL)
+
+1456 Conventions for Encoding the Vietnamese Language VISCII:
+ VIetnamese Standard Code for Information Interchange VIQR: VIetnamese
+ Quoted-Readable Specification. Vietnamese Standardization Working
+ Group. May 1993. (Format: TXT=14775 bytes) (Status: INFORMATIONAL)
+
+1457 Security Label Framework for the Internet. R. Housley. May 1993.
+ (Format: TXT=35802 bytes) (Status: INFORMATIONAL)
+
+1458 Requirements for Multicast Protocols. R. Braudes, S. Zabele. May
+ 1993. (Format: TXT=48106 bytes) (Status: INFORMATIONAL)
+
+1459 Internet Relay Chat Protocol. J. Oikarinen, D. Reed. May 1993.
+ (Format: TXT=138964 bytes) (Updated by RFC2810, RFC2811, RFC2812,
+ RFC2813) (Status: EXPERIMENTAL)
+
+1460 Post Office Protocol - Version 3. M. Rose. June 1993. (Format:
+ TXT=38827 bytes) (Obsoletes RFC1225) (Obsoleted by RFC1725) (Status:
+ DRAFT STANDARD)
+
+1461 SNMP MIB extension for Multiprotocol Interconnect over X.25. D.
+ Throop. May 1993. (Format: TXT=47945 bytes) (Status: PROPOSED
+ STANDARD)
+
+1462 FYI on "What is the Internet?". E. Krol, E. Hoffman. May 1993.
+ (Format: TXT=27811 bytes) (Also FYI0020) (Status: INFORMATIONAL)
+
+1463 FYI on Introducing the Internet-- A Short Bibliography of
+ Introductory Internetworking Readings. E. Hoffman, L. Jackson. May
+ 1993. (Format: TXT=7116 bytes) (Also FYI0019) (Status: INFORMATIONAL)
+
+1464 Using the Domain Name System To Store Arbitrary String
+ Attributes. R. Rosenbaum. May 1993. (Format: TXT=7953 bytes) (Status:
+ EXPERIMENTAL)
+
+1465 Routing Coordination for X.400 MHS Services Within a Multi
+ Protocol / Multi Network Environment Table Format V3 for Static
+ Routing. D. Eppenberger. May 1993. (Format: TXT=66833 bytes) (Status:
+ EXPERIMENTAL)
+
+1466 Guidelines for Management of IP Address Space. E. Gerich. May
+ 1993. (Format: TXT=22262 bytes) (Obsoletes RFC1366) (Obsoleted by
+ RFC2050) (Status: INFORMATIONAL)
+
+1467 Status of CIDR Deployment in the Internet. C. Topolcic. August
+ 1993. (Format: TXT=20720 bytes) (Obsoletes RFC1367) (Status:
+ INFORMATIONAL)
+
+1468 Japanese Character Encoding for Internet Messages. J. Murai, M.
+ Crispin, E. van der Poel. June 1993. (Format: TXT=10970 bytes)
+ (Status: INFORMATIONAL)
+
+1469 IP Multicast over Token-Ring Local Area Networks. T. Pusateri.
+ June 1993. (Format: TXT=8189 bytes) (Status: PROPOSED STANDARD)
+
+1470 FYI on a Network Management Tool Catalog: Tools for Monitoring
+ and Debugging TCP/IP Internets and Interconnected Devices. R. Enger,
+ J. Reynolds. June 1993. (Format: TXT=308528 bytes) (Obsoletes
+ RFC1147) (Also FYI0002) (Status: INFORMATIONAL)
+
+1471 The Definitions of Managed Objects for the Link Control Protocol
+ of the Point-to-Point Protocol. F. Kastenholz. June 1993. (Format:
+ TXT=53558 bytes) (Status: PROPOSED STANDARD)
+
+1472 The Definitions of Managed Objects for the Security Protocols of
+ the Point-to-Point Protocol. F. Kastenholz. June 1993. (Format:
+ TXT=27152 bytes) (Status: PROPOSED STANDARD)
+
+1473 The Definitions of Managed Objects for the IP Network Control
+ Protocol of the Point-to-Point Protocol. F. Kastenholz. June 1993.
+ (Format: TXT=20484 bytes) (Status: PROPOSED STANDARD)
+
+1474 The Definitions of Managed Objects for the Bridge Network Control
+ Protocol of the Point-to-Point Protocol. F. Kastenholz. June 1993.
+ (Format: TXT=31846 bytes) (Status: PROPOSED STANDARD)
+
+1475 TP/IX: The Next Internet. R. Ullmann. June 1993. (Format:
+ TXT=77854 bytes) (Status: EXPERIMENTAL)
+
+1476 RAP: Internet Route Access Protocol. R. Ullmann. June 1993.
+ (Format: TXT=45560 bytes) (Status: EXPERIMENTAL)
+
+1477 IDPR as a Proposed Standard. M. Steenstrup. July 1993. (Format:
+ TXT=32238 bytes) (Status: INFORMATIONAL)
+
+1478 An Architecture for Inter-Domain Policy Routing. M. Steenstrup.
+ June 1993. (Format: TXT=90673 bytes) (Status: PROPOSED STANDARD)
+
+1479 Inter-Domain Policy Routing Protocol Specification: Version 1. M.
+ Steenstrup. July 1993. (Format: TXT=275823 bytes) (Status: PROPOSED
+ STANDARD)
+
+1480 The US Domain. A. Cooper, J. Postel. June 1993. (Format:
+ TXT=100556 bytes) (Obsoletes RFC1386) (Status: INFORMATIONAL)
+
+1481 IAB Recommendation for an Intermediate Strategy to Address the
+ Issue of Scaling. C. Huitema. July 1993. (Format: TXT=3502 bytes)
+ (Status: INFORMATIONAL)
+
+1482 Aggregation Support in the NSFNET Policy-Based Routing Database.
+ M. Knopper, S. Richardson. June 1993. (Format: TXT=25330 bytes)
+ (Status: INFORMATIONAL)
+
+1483 Multiprotocol Encapsulation over ATM Adaptation Layer 5. Juha
+ Heinanen. July 1993. (Format: TXT=35192 bytes) (Obsoleted by RFC2684)
+ (Status: PROPOSED STANDARD)
+
+1484 Using the OSI Directory to achieve User Friendly Naming (OSI-DS
+ 24 (v1.2)). S. Hardcastle-Kille. July 1993. (Format: TXT=48974 bytes)
+ (Obsoleted by RFC1781) (Status: EXPERIMENTAL)
+
+1485 A String Representation of Distinguished Names (OSI-DS 23 (v5)).
+ S. Hardcastle-Kille. July 1993. (Format: TXT=11158 bytes) (Obsoleted
+ by RFC1779) (Status: PROPOSED STANDARD)
+
+1486 An Experiment in Remote Printing. M. Rose, C. Malamud. July 1993.
+ (Format: TXT=26373 bytes) (Obsoleted by RFC1528, RFC1529) (Status:
+ EXPERIMENTAL)
+
+1487 X.500 Lightweight Directory Access Protocol. W. Yeong, T. Howes,
+ S. Kille. July 1993. (Format: TXT=44947 bytes) (Obsoleted by RFC1777)
+ (Status: PROPOSED STANDARD)
+
+1488 The X.500 String Representation of Standard Attribute Syntaxes.
+ T. Howes, S. Kille, W. Yeong, C. Robbins. July 1993. (Format:
+ TXT=17182 bytes) (Obsoleted by RFC1778) (Status: PROPOSED STANDARD)
+
+1489 Registration of a Cyrillic Character Set. A. Chernov. July 1993.
+ (Format: TXT=7798 bytes) (Status: INFORMATIONAL)
+
+1490 Multiprotocol Interconnect over Frame Relay. T. Bradley, C.
+ Brown, A. Malis. July 1993. (Format: TXT=75206 bytes) (Obsoletes
+ RFC1294) (Obsoleted by RFC2427) (Status: DRAFT STANDARD)
+
+1491 A Survey of Advanced Usages of X.500. C. Weider, R. Wright. July
+ 1993. (Format: TXT=34883 bytes) (Also FYI0021) (Status:
+ INFORMATIONAL)
+
+1492 An Access Control Protocol, Sometimes Called TACACS. C. Finseth.
+ July 1993. (Format: TXT=41880 bytes) (Status: INFORMATIONAL)
+
+1493 Definitions of Managed Objects for Bridges. E. Decker, P.
+ Langille, A. Rijsinghani, K. McCloghrie. July 1993. (Format:
+ TXT=74493 bytes) (Obsoletes RFC1286) (Status: DRAFT STANDARD)
+
+1494 Equivalences between 1988 X.400 and RFC-822 Message Bodies. H.
+ Alvestrand, S. Thompson. August 1993. (Format: TXT=37273 bytes)
+ (Status: PROPOSED STANDARD)
+
+1495 Mapping between X.400 and RFC-822 Message Bodies. H. Alvestrand,
+ S. Kille, R. Miles, M. Rose, S. Thompson. August 1993. (Format:
+ TXT=20071 bytes) (Obsoleted by RFC2156) (Updates RFC1327) (Status:
+ PROPOSED STANDARD)
+
+1496 Rules for downgrading messages from X.400/88 to X.400/84 when
+ MIME content-types are present in the messages. H. Alvestrand, J.
+ Romaguera, K. Jordan. August 1993. (Format: TXT=8411 bytes) (Status:
+ PROPOSED STANDARD)
+
+1497 BOOTP Vendor Information Extensions. J. Reynolds. August 1993.
+ (Format: TXT=16805 bytes) (Obsoletes RFC1395, RFC1084, RFC1048)
+ (Obsoleted by RFC1533) (Updates RFC0951) (Status: DRAFT STANDARD)
+
+1498 On the Naming and Binding of Network Destinations. J. Saltzer.
+ August 1993. (Format: TXT=24698 bytes) (Status: INFORMATIONAL)
+
+1499 Summary of 1400-1499. J. Elliott. January 1997. (Format:
+ TXT=40923 bytes) (Status: INFORMATIONAL)
+
+1500 Internet Official Protocol Standards. J. Postel. August 1993.
+ (Format: TXT=79557 bytes) (Obsoletes RFC1410) (Obsoleted by RFC1540)
+ (Status: HISTORIC)
+
+1501 OS/2 User Group. E. Brunsen. August 1993. (Format: TXT=3636
+ bytes) (Status: INFORMATIONAL)
+
+1502 X.400 Use of Extended Character Sets. H. Alvestrand. August 1993.
+ (Format: TXT=27976 bytes) (Status: PROPOSED STANDARD)
+
+1503 Algorithms for Automating Administration in SNMPv2 Managers. K.
+ McCloghrie, M. Rose. August 1993. (Format: TXT=33542 bytes) (Status:
+ INFORMATIONAL)
+
+1504 Appletalk Update-Based Routing Protocol: Enhanced Appletalk
+ Routing. A. Oppenheimer. August 1993. (Format: TXT=201553 bytes)
+ (Status: INFORMATIONAL)
+
+1505 Encoding Header Field for Internet Messages. A. Costanzo, D.
+ Robinson, R. Ullmann. August 1993. (Format: TXT=63796 bytes)
+ (Obsoletes RFC1154) (Status: EXPERIMENTAL)
+
+1506 A Tutorial on Gatewaying between X.400 and Internet Mail. J.
+ Houttuin. August 1993. (Format: TXT=85550 bytes) (Status:
+ INFORMATIONAL)
+
+1507 DASS - Distributed Authentication Security Service. C. Kaufman.
+ September 1993. (Format: TXT=287809 bytes) (Status: EXPERIMENTAL)
+
+1508 Generic Security Service Application Program Interface. J. Linn.
+ September 1993. (Format: TXT=111228 bytes) (Obsoleted by RFC2078)
+ (Status: PROPOSED STANDARD)
+
+1509 Generic Security Service API : C-bindings. J. Wray. September
+ 1993. (Format: TXT=99608 bytes) (Obsoleted by RFC2744) (Status:
+ PROPOSED STANDARD)
+
+1510 The Kerberos Network Authentication Service (V5). J. Kohl, C.
+ Neuman. September 1993. (Format: TXT=275395 bytes) (Status: PROPOSED
+ STANDARD)
+
+1511 Common Authentication Technology Overview. J. Linn. September
+ 1993. (Format: TXT=4185 bytes) (Status: INFORMATIONAL)
+
+1512 FDDI Management Information Base. J. Case, A. Rijsinghani.
+ September 1993. (Format: TXT=108589 bytes) (Updates RFC1285) (Status:
+ PROPOSED STANDARD)
+
+1513 Token Ring Extensions to the Remote Network Monitoring MIB. S.
+ Waldbusser. September 1993. (Format: TXT=121974 bytes) (Updates
+ RFC1271) (Status: PROPOSED STANDARD)
+
+1514 Host Resources MIB. P. Grillo, S. Waldbusser. September 1993.
+ (Format: TXT=63775 bytes) (Obsoleted by RFC2790) (Status: PROPOSED
+ STANDARD)
+
+1515 Definitions of Managed Objects for IEEE 802.3 Medium Attachment
+ Units (MAUs). D. McMaster, K. McCloghrie, S. Roberts. September 1993.
+ (Format: TXT=52828 bytes) (Status: PROPOSED STANDARD)
+
+1516 Definitions of Managed Objects for IEEE 802.3 Repeater Devices.
+ D. McMaster, K. McCloghrie. September 1993. (Format: TXT=82918 bytes)
+ (Obsoletes RFC1368) (Obsoleted by RFC2108) (Status: DRAFT STANDARD)
+
+1517 Applicability Statement for the Implementation of Classless
+ Inter-Domain Routing (CIDR). Internet Engineering Steering Group, R.
+ Hinden. September 1993. (Format: TXT=7357 bytes) (Status: PROPOSED
+ STANDARD)
+
+1518 An Architecture for IP Address Allocation with CIDR. Y. Rekhter,
+ T. Li. September 1993. (Format: TXT=72609 bytes) (Status: PROPOSED
+ STANDARD)
+
+1519 Classless Inter-Domain Routing (CIDR): an Address Assignment and
+ Aggregation Strategy. V. Fuller, T. Li, J. Yu, K. Varadhan. September
+ 1993. (Format: TXT=59998 bytes) (Obsoletes RFC1338) (Status: PROPOSED
+ STANDARD)
+
+1520 Exchanging Routing Information Across Provider Boundaries in the
+ CIDR Environment. Y. Rekhter, C. Topolcic. September 1993. (Format:
+ TXT=20389 bytes) (Status: INFORMATIONAL)
+
+1521 MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms
+ for Specifying and Describing the Format of Internet Message Bodies.
+ N. Borenstein, N. Freed. September 1993. (Format: TXT=187424,
+ PS=393670, PDF=205091 bytes) (Obsoletes RFC1341) (Obsoleted by
+ RFC2045, RFC2046, RFC2047, RFC2048, RFC2049) (Updated by RFC1590)
+ (Status: DRAFT STANDARD)
+
+1522 MIME (Multipurpose Internet Mail Extensions) Part Two: Message
+ Header Extensions for Non-ASCII Text. K. Moore. September 1993.
+ (Format: TXT=22502 bytes) (Obsoletes RFC1342) (Obsoleted by RFC2045,
+ RFC2046, RFC2047, RFC2048, RFC2049) (Status: DRAFT STANDARD)
+
+1523 The text/enriched MIME Content-type. N. Borenstein. September
+ 1993. (Format: TXT=32691 bytes) (Obsoleted by RFC1563, RFC1896)
+ (Status: INFORMATIONAL)
+
+1524 A User Agent Configuration Mechanism For Multimedia Mail Format
+ Information. N. Borenstein. September 1993. (Format: TXT=26464 bytes)
+ (Status: INFORMATIONAL)
+
+1525 Definitions of Managed Objects for Source Routing Bridges. E.
+ Decker, K. McCloghrie, P. Langille, A. Rijsinghani. September 1993.
+ (Format: TXT=38100 bytes) (Obsoletes RFC1286) (Status: PROPOSED
+ STANDARD)
+
+1526 Assignment of System Identifiers for TUBA/CLNP Hosts. D.
+ Piscitello. September 1993. (Format: TXT=16848 bytes) (Status:
+ INFORMATIONAL)
+
+1527 What Should We Plan Given the Dilemma of the Network?. G. Cook.
+ September 1993. (Format: TXT=46935 bytes) (Status: INFORMATIONAL)
+
+1528 Principles of Operation for the TPC.INT Subdomain: Remote
+ Printing -- Technical Procedures. C. Malamud, M. Rose. October 1993.
+ (Format: TXT=18576 bytes) (Obsoletes RFC1486) (Status: EXPERIMENTAL)
+
+1529 Principles of Operation for the TPC.INT Subdomain: Remote
+ Printing -- Administrative Policies. C. Malamud, M. Rose. October
+ 1993. (Format: TXT=11142 bytes) (Obsoletes RFC1486) (Status:
+ INFORMATIONAL)
+
+1530 Principles of Operation for the TPC.INT Subdomain: General
+ Principles and Policy. C. Malamud, M. Rose. October 1993. (Format:
+ TXT=15031 bytes) (Status: INFORMATIONAL)
+
+1531 Dynamic Host Configuration Protocol. R. Droms. October 1993.
+ (Format: TXT=96192 bytes) (Obsoleted by RFC1541) (Status: PROPOSED
+ STANDARD)
+
+1532 Clarifications and Extensions for the Bootstrap Protocol. W.
+ Wimer. October 1993. (Format: TXT=51545 bytes) (Obsoleted by RFC1542)
+ (Updates RFC0951) (Status: PROPOSED STANDARD)
+
+1533 DHCP Options and BOOTP Vendor Extensions. S. Alexander, R. Droms.
+ October 1993. (Format: TXT=50919 bytes) (Obsoletes RFC1497, RFC1395,
+ RFC1084, RFC1048) (Obsoleted by RFC2132) (Status: PROPOSED STANDARD)
+
+1534 Interoperation Between DHCP and BOOTP. R. Droms. October 1993.
+ (Format: TXT=6966 bytes) (Status: DRAFT STANDARD)
+
+1535 A Security Problem and Proposed Correction With Widely Deployed
+ DNS Software. E. Gavron. October 1993. (Format: TXT=9722 bytes)
+ (Status: INFORMATIONAL)
+
+1536 Common DNS Implementation Errors and Suggested Fixes. A. Kumar,
+ J. Postel, C. Neuman, P. Danzig, S. Miller. October 1993. (Format:
+ TXT=25476 bytes) (Status: INFORMATIONAL)
+
+1537 Common DNS Data File Configuration Errors. P. Beertema. October
+ 1993. (Format: TXT=19825 bytes) (Obsoleted by RFC1912) (Status:
+ INFORMATIONAL)
+
+1538 Advanced SNA/IP : A Simple SNA Transport Protocol. W. Behl, B.
+ Sterling, W. Teskey. October 1993. (Format: TXT=21217 bytes) (Status:
+ INFORMATIONAL)
+
+1539 The Tao of IETF - A Guide for New Attendees of the Internet
+ Engineering Task Force. G. Malkin. October 1993. (Format: TXT=48199
+ bytes) (Obsoletes RFC1391) (Obsoleted by RFC1718) (Status:
+ INFORMATIONAL)
+
+1540 Internet Official Protocol Standards. J. Postel. October 1993.
+ (Format: TXT=75496 bytes) (Obsoletes RFC1500) (Obsoleted by RFC1600)
+ (Status: HISTORIC)
+
+1541 Dynamic Host Configuration Protocol. R. Droms. October 1993.
+ (Format: TXT=96950 bytes) (Obsoletes RFC1531) (Obsoleted by RFC2131)
+ (Status: PROPOSED STANDARD)
+
+1542 Clarifications and Extensions for the Bootstrap Protocol. W.
+ Wimer. October 1993. (Format: TXT=52948 bytes) (Obsoletes RFC1532)
+ (Updates RFC0951) (Status: DRAFT STANDARD)
+
+1543 Instructions to RFC Authors. J. Postel. October 1993. (Format:
+ TXT=31383 bytes) (Obsoletes RFC1111, RFC0825) (Obsoleted by RFC2223)
+ (Status: INFORMATIONAL)
+
+1544 The Content-MD5 Header Field. M. Rose. November 1993. (Format:
+ TXT=6478 bytes) (Obsoleted by RFC1864) (Status: PROPOSED STANDARD)
+
+1545 FTP Operation Over Big Address Records (FOOBAR). D. Piscitello.
+ November 1993. (Format: TXT=8985 bytes) (Obsoleted by RFC1639)
+ (Status: EXPERIMENTAL)
+
+1546 Host Anycasting Service. C. Partridge, T. Mendez, W. Milliken.
+ November 1993. (Format: TXT=22263 bytes) (Status: INFORMATIONAL)
+
+1547 Requirements for an Internet Standard Point-to-Point Protocol. D.
+ Perkins. December 1993. (Format: TXT=49810 bytes) (Status:
+ INFORMATIONAL)
+
+1548 The Point-to-Point Protocol (PPP). W. Simpson. December 1993.
+ (Format: TXT=111638 bytes) (Obsoletes RFC1331) (Obsoleted by RFC1661)
+ (Updated by RFC1570) (Status: DRAFT STANDARD)
+
+1549 PPP in HDLC Framing. W. Simpson. December 1993. (Format:
+ TXT=36352 bytes) (Obsoleted by RFC1662) (Status: DRAFT STANDARD)
+
+1550 IP: Next Generation (IPng) White Paper Solicitation. S. Bradner,
+ A. Mankin. December 1993. (Format: TXT=12472 bytes) (Status:
+ INFORMATIONAL)
+
+1551 Novell IPX Over Various WAN Media (IPXWAN). M. Allen. December
+ 1993. (Format: TXT=54210 bytes) (Obsoleted by RFC1634) (Status:
+ INFORMATIONAL)
+
+1552 The PPP Internetworking Packet Exchange Control Protocol (IPXCP).
+ W. Simpson. December 1993. (Format: TXT=29173 bytes) (Status:
+ PROPOSED STANDARD)
+
+1553 Compressing IPX Headers Over WAN Media (CIPX). S. Mathur, M.
+ Lewis. December 1993. (Format: TXT=47450 bytes) (Status: PROPOSED
+ STANDARD)
+
+1554 ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP. M. Ohta, K.
+ Handa. December 1993. (Format: TXT=11449 bytes) (Status:
+ INFORMATIONAL)
+
+1555 Hebrew Character Encoding for Internet Messages. H. Nussbacher,
+ Y. Bourvine. December 1993. (Format: TXT=9273 bytes) (Status:
+ INFORMATIONAL)
+
+1556 Handling of Bi-directional Texts in MIME. H. Nussbacher. December
+ 1993. (Format: TXT=5602 bytes) (Status: INFORMATIONAL)
+
+1557 Korean Character Encoding for Internet Messages. U. Choi, K.
+ Chon, H. Park. December 1993. (Format: TXT=8736 bytes) (Status:
+ INFORMATIONAL)
+
+1558 A String Representation of LDAP Search Filters. T. Howes.
+ December 1993. (Format: TXT=5239 bytes) (Obsoleted by RFC1960)
+ (Status: INFORMATIONAL)
+
+1559 DECnet Phase IV MIB Extensions. J. Saperia. December 1993.
+ (Format: TXT=125427 bytes) (Obsoletes RFC1289) (Status: DRAFT
+ STANDARD)
+
+1560 The MultiProtocol Internet. B. Leiner, Y. Rekhter. December 1993.
+ (Format: TXT=16651 bytes) (Status: INFORMATIONAL)
+
+1561 Use of ISO CLNP in TUBA Environments. D. Piscitello. December
+ 1993. (Format: TXT=55902 bytes) (Status: EXPERIMENTAL)
+
+1562 Naming Guidelines for the AARNet X.500 Directory Service. G.
+ Michaelson, M. Prior. December 1993. (Format: TXT=6884 bytes)
+ (Status: INFORMATIONAL)
+
+1563 The text/enriched MIME Content-type. N. Borenstein. January 1994.
+ (Format: TXT=32913, PS=73543, PDF=37459 bytes) (Obsoletes RFC1523)
+ (Obsoleted by RFC1896) (Status: INFORMATIONAL)
+
+1564 DSA Metrics (OSI-DS 34 (v3)). P. Barker, R. Hedberg. January
+ 1994. (Format: TXT=46205 bytes) (Status: INFORMATIONAL)
+
+1565 Network Services Monitoring MIB. S. Kille, N. Freed. January
+ 1994. (Format: TXT=29761 bytes) (Obsoleted by RFC2248) (Status:
+ PROPOSED STANDARD)
+
+1566 Mail Monitoring MIB. S. Kille, N. Freed. January 1994. (Format:
+ TXT=33136 bytes) (Obsoleted by RFC2249, RFC2789) (Status: PROPOSED
+ STANDARD)
+
+1567 X.500 Directory Monitoring MIB. G. Mansfield, S. Kille. January
+ 1994. (Format: TXT=33527 bytes) (Obsoleted by RFC2605) (Status:
+ PROPOSED STANDARD)
+
+1568 Simple Network Paging Protocol - Version 1(b). A. Gwinn. January
+ 1994. (Format: TXT=16558 bytes) (Obsoleted by RFC1645) (Status:
+ INFORMATIONAL)
+
+1569 Principles of Operation for the TPC.INT Subdomain: Radio Paging
+ -- Technical Procedures. M. Rose. January 1994. (Format: TXT=12597
+ bytes) (Obsoleted by RFC1703) (Status: INFORMATIONAL)
+
+1570 PPP LCP Extensions. W. Simpson. January 1994. (Format: TXT=35719
+ bytes) (Updates RFC1548) (Updated by RFC2484) (Status: PROPOSED
+ STANDARD)
+
+1571 Telnet Environment Option Interoperability Issues. D. Borman.
+ January 1994. (Format: TXT=8117 bytes) (Updates RFC1408) (Status:
+ INFORMATIONAL)
+
+1572 Telnet Environment Option. S. Alexander. January 1994. (Format:
+ TXT=14676 bytes) (Status: PROPOSED STANDARD)
+
+1573 Evolution of the Interfaces Group of MIB-II. K. McCloghrie, F.
+ Kastenholz. January 1994. (Format: TXT=123057 bytes) (Obsoletes
+ RFC1229) (Obsoleted by RFC2233) (Status: PROPOSED STANDARD)
+
+1574 Essential Tools for the OSI Internet. S. Hares, C. Wittbrodt.
+ February 1994. (Format: TXT=27735 bytes) (Obsoletes RFC1139) (Status:
+ INFORMATIONAL)
+
+1575 An Echo Function for CLNP (ISO 8473). S. Hares, C. Wittbrodt.
+ February 1994. (Format: TXT=22479 bytes) (Obsoletes RFC1139) (Status:
+ DRAFT STANDARD)
+
+1576 TN3270 Current Practices. J. Penner. January 1994. (Format:
+ TXT=24477 bytes) (Status: INFORMATIONAL)
+
+1577 Classical IP and ARP over ATM. M. Laubach. January 1994. (Format:
+ TXT=41239 bytes) (Obsoleted by RFC2225) (Status: PROPOSED STANDARD)
+
+1578 FYI on Questions and Answers - Answers to Commonly Asked "Primary
+ and Secondary School Internet User" Questions. J. Sellers. February
+ 1994. (Format: TXT=113646 bytes) (Obsoleted by RFC1941) (Status:
+ INFORMATIONAL)
+
+1579 Firewall-Friendly FTP. S. Bellovin. February 1994. (Format:
+ TXT=8806 bytes) (Status: INFORMATIONAL)
+
+1580 Guide to Network Resource Tools. EARN Staff. March 1994. (Format:
+ TXT=235112 bytes) (Also FYI0023) (Status: INFORMATIONAL)
+
+1581 Protocol Analysis for Extensions to RIP to Support Demand
+ Circuits. G. Meyer. February 1994. (Format: TXT=7536 bytes) (Status:
+ INFORMATIONAL)
+
+1582 Extensions to RIP to Support Demand Circuits. G. Meyer. February
+ 1994. (Format: TXT=63271 bytes) (Status: PROPOSED STANDARD)
+
+1583 OSPF Version 2. J. Moy. March 1994. (Format: TXT=532636,
+ PS=990794, PDF=465711 bytes) (Obsoletes RFC1247) (Obsoleted by
+ RFC2178) (Status: DRAFT STANDARD)
+
+1584 Multicast Extensions to OSPF. J. Moy. March 1994. (Format:
+ TXT=262463, PS=426358, PDF=243185 bytes) (Status: PROPOSED STANDARD)
+
+1585 MOSPF: Analysis and Experience. J. Moy. March 1994. (Format:
+ TXT=29754 bytes) (Status: INFORMATIONAL)
+
+1586 Guidelines for Running OSPF Over Frame Relay Networks. O.
+ deSouza, M. Rodrigues. March 1994. (Format: TXT=14968 bytes) (Status:
+ INFORMATIONAL)
+
+1587 The OSPF NSSA Option. R. Coltun, V. Fuller. March 1994. (Format:
+ TXT=37412 bytes) (Status: PROPOSED STANDARD)
+
+1588 White Pages Meeting Report. J. Postel, C. Anderson. February
+ 1994. (Format: TXT=77945 bytes) (Status: INFORMATIONAL)
+
+1589 A Kernel Model for Precision Timekeeping. D. Mills. March 1994.
+ (Format: TXT=88129 bytes) (Status: INFORMATIONAL)
+
+1590 Media Type Registration Procedure. J. Postel. March 1994.
+ (Format: TXT=13044 bytes) (Obsoleted by RFC2045, RFC2046, RFC2047,
+ RFC2048, RFC2049) (Updates RFC1521) (Status: INFORMATIONAL)
+
+1591 Domain Name System Structure and Delegation. J. Postel. March
+ 1994. (Format: TXT=16481 bytes) (Status: INFORMATIONAL)
+
+1592 Simple Network Management Protocol Distributed Protocol Interface
+ Version 2.0. B. Wijnen, G. Carpenter, K. Curran, A. Sehgal, G.
+ Waters. March 1994. (Format: TXT=135259 bytes) (Obsoletes RFC1228)
+ (Status: EXPERIMENTAL)
+
+1593 SNA APPN Node MIB. W. McKenzie, J. Cheng. March 1994. (Format:
+ TXT=207882 bytes) (Status: INFORMATIONAL)
+
+1594 FYI on Questions and Answers - Answers to Commonly asked "New
+ Internet User" Questions. A. Marine, J. Reynolds, G. Malkin. March
+ 1994. (Format: TXT=98753 bytes) (Obsoletes RFC1325) (Obsoleted by
+ RFC2664) (Status: INFORMATIONAL)
+
+1595 Definitions of Managed Objects for the SONET/SDH Interface Type.
+ T. Brown, K. Tesink. March 1994. (Format: TXT=121937 bytes)
+ (Obsoleted by RFC2558) (Status: PROPOSED STANDARD)
+
+1596 Definitions of Managed Objects for Frame Relay Service. T. Brown,
+ Editor. March 1994. (Format: TXT=88795 bytes) (Obsoleted by RFC1604)
+ (Status: PROPOSED STANDARD)
+
+1597 Address Allocation for Private Internets. Y. Rekhter, B.
+ Moskowitz, D. Karrenberg, G. de Groot. March 1994. (Format: TXT=17430
+ bytes) (Obsoleted by RFC1918) (Status: INFORMATIONAL)
+
+1598 PPP in X.25. W. Simpson. March 1994. (Format: TXT=13835 bytes)
+ (Status: PROPOSED STANDARD)
+
+1599 Summary of 1500-1599. M. Kennedy. January 1997. (Format:
+ TXT=43761 bytes) (Status: INFORMATIONAL)
+
+1600 Internet Official Protocol Standards. J. Postel. March 1994.
+ (Format: TXT=80958 bytes) (Obsoletes RFC1540) (Obsoleted by RFC1610)
+ (Status: HISTORIC)
+
+1601 Charter of the Internet Architecture Board (IAB). C. Huitema.
+ March 1994. (Format: TXT=12424 bytes) (Obsoletes RFC1358) (Obsoleted
+ by RFC2850) (Status: INFORMATIONAL)
+
+1602 The Internet Standards Process -- Revision 2. Internet
+ Architecture Board and Internet Engineering Steering Group. March
+ 1994. (Format: TXT=88465 bytes) (Obsoletes RFC1310) (Obsoleted by
+ RFC2026) (Updated by RFC1871) (Status: INFORMATIONAL)
+
+1603 IETF Working Group Guidelines and Procedures. E. Huizer, D.
+ Crocker. March 1994. (Format: TXT=63900 bytes) (Obsoleted by RFC2418)
+ (Updated by RFC1871) (Status: INFORMATIONAL)
+
+1604 Definitions of Managed Objects for Frame Relay Service. T. Brown,
+ Editor. March 1994. (Format: TXT=88770 bytes) (Obsoletes RFC1596)
+ (Obsoleted by RFC2954) (Status: PROPOSED STANDARD)
+
+1605 SONET to Sonnet Translation. W. Shakespeare. Apr-01-1994.
+ (Format: TXT=4451 bytes) (Status: INFORMATIONAL)
+
+1606 A Historical Perspective On The Usage Of IP Version 9. J. Onions.
+ Apr-01-1994. (Format: TXT=8398 bytes) (Status: INFORMATIONAL)
+
+1607 A VIEW FROM THE 21ST CENTURY. V. Cerf. Apr-01-1994. (Format:
+ TXT=28165 bytes) (Status: INFORMATIONAL)
+
+1608 Representing IP Information in the X.500 Directory. T. Johannsen,
+ G. Mansfield, M. Kosters, S. Sataluri. March 1994. (Format: TXT=40269
+ bytes) (Status: EXPERIMENTAL)
+
+1609 Charting Networks in the X.500 Directory. G. Mansfield, T.
+ Johannsen, M. Knopper. March 1994. (Format: TXT=30044 bytes) (Status:
+ EXPERIMENTAL)
+
+1610 Internet Official Protocol Standards. J. Postel. July 1994.
+ (Format: TXT=81346 bytes) (Obsoletes RFC1600) (Obsoleted by RFC1720)
+ (Status: HISTORIC)
+
+1611 DNS Server MIB Extensions. R. Austein, J. Saperia. May 1994.
+ (Format: TXT=58700 bytes) (Status: PROPOSED STANDARD)
+
+1612 DNS Resolver MIB Extensions. R. Austein, J. Saperia. May 1994.
+ (Format: TXT=61382 bytes) (Status: PROPOSED STANDARD)
+
+1613 cisco Systems X.25 over TCP (XOT). J. Forster, G. Satz, G. Glick,
+ R. Day. May 1994. (Format: TXT=29267 bytes) (Status: INFORMATIONAL)
+
+1614 Network Access to Multimedia Information. C. Adie. May 1994.
+ (Format: TXT=187253 bytes) (Status: INFORMATIONAL)
+
+1615 Migrating from X.400(84) to X.400(88). J. Houttuin, J. Craigie.
+ May 1994. (Format: TXT=39693 bytes) (Status: INFORMATIONAL)
+
+1616 X.400(1988) for the Academic and Research Community in Europe.
+ RARE WG-MSG Task Force 88, E. Huizer, J. Romaguera, Editors. May
+ 1994. (Format: TXT=107432 bytes) (Status: INFORMATIONAL)
+
+1617 Naming and Structuring Guidelines for X.500 Directory Pilots. P.
+ Barker, S. Kille, T. Lenggenhager. May 1994. (Format: TXT=56739
+ bytes) (Obsoletes RFC1384) (Status: INFORMATIONAL)
+
+1618 PPP over ISDN. W. Simpson. May 1994. (Format: TXT=14896 bytes)
+ (Status: PROPOSED STANDARD)
+
+1619 PPP over SONET/SDH. W. Simpson. May 1994. (Format: TXT=8893
+ bytes) (Obsoleted by RFC2615) (Status: PROPOSED STANDARD)
+
+1620 Internet Architecture Extensions for Shared Media. B. Braden, J.
+ Postel, Y. Rekhter. May 1994. (Format: TXT=44999 bytes) (Status:
+ INFORMATIONAL)
+
+1621 Pip Near-term Architecture. P. Francis. May 1994. (Format:
+ TXT=128905 bytes) (Status: INFORMATIONAL)
+
+1622 Pip Header Processing. P. Francis. May 1994. (Format: TXT=34837
+ bytes) (Status: INFORMATIONAL)
+
+1623 Definitions of Managed Objects for the Ethernet-like Interface
+ Types. F. Kastenholz. May 1994. (Format: TXT=38745 bytes) (Obsoletes
+ RFC1398) (Obsoleted by RFC1643) (Status: HISTORIC)
+
+1624 Computation of the Internet Checksum via Incremental Update. A.
+ Rijsinghani, Editor. May 1994. (Format: TXT=9836 bytes) (Updates
+ RFC1141) (Status: INFORMATIONAL)
+
+1625 WAIS over Z39.50-1988. M. St. Pierre, J. Fullton, K. Gamiel, J.
+ Goldman, B. Kahle, J. Kunze, H. Morris, F. Schiettecatte. June 1994.
+ (Format: TXT=14694 bytes) (Status: INFORMATIONAL)
+
+1626 Default IP MTU for use over ATM AAL5. R. Atkinson. May 1994.
+ (Format: TXT=11841 bytes) (Obsoleted by RFC2225) (Status: PROPOSED
+ STANDARD)
+
+1627 Network 10 Considered Harmful (Some Practices Shouldn't be
+ Codified). E. Lear, E. Fair, D. Crocker, T. Kessler. July 1994.
+ (Format: TXT=18823 bytes) (Obsoleted by RFC1918) (Status:
+ INFORMATIONAL)
+
+1628 UPS Management Information Base. J. Case. May 1994. (Format:
+ TXT=83439 bytes) (Status: PROPOSED STANDARD)
+
+1629 Guidelines for OSI NSAP Allocation in the Internet. R. Colella,
+ R. Callon, E. Gardner, Y. Rekhter. May 1994. (Format: TXT=131640
+ bytes) (Obsoletes RFC1237) (Status: DRAFT STANDARD)
+
+1630 Universal Resource Identifiers in WWW: A Unifying Syntax for the
+ Expression of Names and Addresses of Objects on the Network as used
+ in the World-Wide Web. T. Berners-Lee. June 1994. (Format: TXT=57601
+ bytes) (Status: INFORMATIONAL)
+
+1631 The IP Network Address Translator (NAT). K. Egevang, P. Francis.
+ May 1994. (Format: TXT=22714 bytes) (Obsoleted by RFC3022) (Status:
+ INFORMATIONAL)
+
+1632 A Revised Catalog of Available X.500 Implementations. A.
+ Getchell, S. Sataluri, Editors. May 1994. (Format: TXT=124111 bytes)
+ (Obsoletes RFC1292) (Obsoleted by RFC2116) (Status: INFORMATIONAL)
+
+1633 Integrated Services in the Internet Architecture: an Overview. R.
+ Braden, D. Clark, S. Shenker. June 1994. (Format: TXT=89691,
+ PS=207016, PDF=201858 bytes) (Status: INFORMATIONAL)
+
+1634 Novell IPX Over Various WAN Media (IPXWAN). M. Allen. May 1994.
+ (Format: TXT=55347 bytes) (Obsoletes RFC1551, RFC1362) (Status:
+ INFORMATIONAL)
+
+1635 How to Use Anonymous FTP. P. Deutsch, A. Emtage, A. Marine. May
+ 1994. (Format: TXT=27258 bytes) (Also FYI0024) (Status:
+ INFORMATIONAL)
+
+1636 Report of IAB Workshop on Security in the Internet Architecture -
+ February 8-10, 1994. R. Braden, D. Clark, S. Crocker, C. Huitema.
+ June 1994. (Format: TXT=130761 bytes) (Status: INFORMATIONAL)
+
+1637 DNS NSAP Resource Records. B. Manning, R. Colella. June 1994.
+ (Format: TXT=21768 bytes) (Obsoletes RFC1348) (Obsoleted by RFC1706)
+ (Status: EXPERIMENTAL)
+
+1638 PPP Bridging Control Protocol (BCP). F. Baker, R. Bowen. June
+ 1994. (Format: TXT=58477 bytes) (Obsoletes RFC1220) (Obsoleted by
+ RFC2878) (Status: PROPOSED STANDARD)
+
+1639 FTP Operation Over Big Address Records (FOOBAR). D. Piscitello.
+ June 1994. (Format: TXT=10055 bytes) (Obsoletes RFC1545) (Status:
+ EXPERIMENTAL)
+
+1640 The Process for Organization of Internet Standards Working Group
+ (POISED). S. Crocker. June 1994. (Format: TXT=21780 bytes) (Status:
+ INFORMATIONAL)
+
+1641 Using Unicode with MIME. D. Goldsmith, M. Davis. July 1994.
+ (Format: TXT=11258, PS=20451, PDF=11658 bytes) (Status: EXPERIMENTAL)
+
+1642 UTF-7 - A Mail-Safe Transformation Format of Unicode. D.
+ Goldsmith, M. Davis. July 1994. (Format: TXT=27770, PS=50907,
+ PDF=29573 bytes) (Obsoleted by RFC2152) (Status: EXPERIMENTAL)
+
+1643 Definitions of Managed Objects for the Ethernet-like Interface
+ Types. F. Kastenholz. July 1994. (Format: TXT=39008 bytes) (Obsoletes
+ RFC1623) (Also STD0050) (Status: STANDARD)
+
+1644 T/TCP -- TCP Extensions for Transactions Functional
+ Specification. R. Braden. July 1994. (Format: TXT=87362 bytes)
+ (Updates RFC1379) (Status: EXPERIMENTAL)
+
+1645 Simple Network Paging Protocol - Version 2. A. Gwinn. July 1994.
+ (Format: TXT=31243 bytes) (Obsoletes RFC1568) (Obsoleted by RFC1861)
+ (Status: INFORMATIONAL)
+
+1646 TN3270 Extensions for LUname and Printer Selection. C. Graves, T.
+ Butts, M. Angel. July 1994. (Format: TXT=27564 bytes) (Status:
+ INFORMATIONAL)
+
+1647 TN3270 Enhancements. B. Kelly. July 1994. (Format: TXT=84420
+ bytes) (Obsoleted by RFC2355) (Status: PROPOSED STANDARD)
+
+1648 Postmaster Convention for X.400 Operations. A. Cargille. July
+ 1994. (Format: TXT=8761 bytes) (Status: PROPOSED STANDARD)
+
+1649 Operational Requirements for X.400 Management Domains in the
+ GO-MHS Community. R. Hagens, A. Hansen. July 1994. (Format: TXT=28138
+ bytes) (Status: INFORMATIONAL)
+
+1650 Definitions of Managed Objects for the Ethernet-like Interface
+ Types using SMIv2. F. Kastenholz. August 1994. (Format: TXT=40484
+ bytes) (Obsoleted by RFC2358) (Status: PROPOSED STANDARD)
+
+1651 SMTP Service Extensions. J. Klensin, N. Freed, M. Rose, E.
+ Stefferud, D. Crocker. July 1994. (Format: TXT=22153 bytes)
+ (Obsoletes RFC1425) (Obsoleted by RFC1869) (Status: DRAFT STANDARD)
+
+1652 SMTP Service Extension for 8bit-MIMEtransport. J. Klensin, N.
+ Freed, M. Rose, E. Stefferud, D. Crocker. July 1994. (Format:
+ TXT=11842 bytes) (Obsoletes RFC1426) (Status: DRAFT STANDARD)
+
+1653 SMTP Service Extension for Message Size Declaration. J. Klensin,
+ N. Freed, K. Moore. July 1994. (Format: TXT=17883 bytes) (Obsoletes
+ RFC1427) (Obsoleted by RFC1870) (Status: DRAFT STANDARD)
+
+1654 A Border Gateway Protocol 4 (BGP-4). Y. Rekhter, T. Li, Editors.
+ July 1994. (Format: TXT=130118 bytes) (Obsoleted by RFC1771) (Status:
+ PROPOSED STANDARD)
+
+1655 Application of the Border Gateway Protocol in the Internet. Y.
+ Rekhter, P. Gross, Editors. July 1994. (Format: TXT=43664 bytes)
+ (Obsoletes RFC1268) (Obsoleted by RFC1772) (Status: PROPOSED
+ STANDARD)
+
+1656 BGP-4 Protocol Document Roadmap and Implementation Experience. P.
+ Traina. July 1994. (Format: TXT=7705 bytes) (Obsoleted by RFC1773)
+ (Status: INFORMATIONAL)
+
+1657 Definitions of Managed Objects for the Fourth Version of the
+ Border Gateway Protocol (BGP-4) using SMIv2. S. Willis, J. Burruss,
+ J. Chu, Editor. July 1994. (Format: TXT=45505 bytes) (Status: DRAFT
+ STANDARD)
+
+1658 Definitions of Managed Objects for Character Stream Devices using
+ SMIv2. B. Stewart. July 1994. (Format: TXT=32579 bytes) (Obsoletes
+ RFC1316) (Status: DRAFT STANDARD)
+
+1659 Definitions of Managed Objects for RS-232-like Hardware Devices
+ using SMIv2. B. Stewart. July 1994. (Format: TXT=36479 bytes)
+ (Obsoletes RFC1317) (Status: DRAFT STANDARD)
+
+1660 Definitions of Managed Objects for Parallel-printer-like Hardware
+ Devices using SMIv2. B. Stewart. July 1994. (Format: TXT=16784 bytes)
+ (Obsoletes RFC1318) (Status: DRAFT STANDARD)
+
+1661 The Point-to-Point Protocol (PPP). W. Simpson, Editor. July 1994.
+ (Format: TXT=103026 bytes) (Obsoletes RFC1548) (Updated by RFC2153)
+ (Also STD0051) (Status: STANDARD)
+
+1662 PPP in HDLC-like Framing. W. Simpson, Editor. July 1994. (Format:
+ TXT=48058 bytes) (Obsoletes RFC1549) (Also STD0051) (Status:
+ STANDARD)
+
+1663 PPP Reliable Transmission. D. Rand. July 1994. (Format: TXT=17281
+ bytes) (Status: PROPOSED STANDARD)
+
+1664 Using the Internet DNS to Distribute RFC1327 Mail Address Mapping
+ Tables. C. Allocchio, A. Bonito, B. Cole, S. Giordano, R. Hagens.
+ August 1994. (Format: TXT=50783 bytes) (Obsoleted by RFC2163)
+ (Status: EXPERIMENTAL)
+
+1665 Definitions of Managed Objects for SNA NAUs using SMIv2. Z.
+ Kielczewski, D. Kostick, K. Shih, Editors. July 1994. (Format:
+ TXT=133381 bytes) (Obsoleted by RFC1666) (Status: PROPOSED STANDARD)
+
+1666 Definitions of Managed Objects for SNA NAUs using SMIv2. Z.
+ Kielczewski, D. Kostick, K. Shih, Editors. August 1994. (Format:
+ TXT=134385 bytes) (Obsoletes RFC1665) (Status: PROPOSED STANDARD)
+
+1667 Modeling and Simulation Requirements for IPng. S. Symington, D.
+ Wood, M. Pullen. August 1994. (Format: TXT=17291 bytes) (Status:
+ INFORMATIONAL)
+
+1668 Unified Routing Requirements for IPng. D. Estrin, T. Li, Y.
+ Rekhter. August 1994. (Format: TXT=5106 bytes) (Status:
+ INFORMATIONAL)
+
+1669 Market Viability as a IPng Criteria. J. Curran. August 1994.
+ (Format: TXT=8099 bytes) (Status: INFORMATIONAL)
+
+1670 Input to IPng Engineering Considerations. D. Heagerty. August
+ 1994. (Format: TXT=5350 bytes) (Status: INFORMATIONAL)
+
+1671 IPng White Paper on Transition and Other Considerations. B.
+ Carpenter. August 1994. (Format: TXT=17631 bytes) (Status:
+ INFORMATIONAL)
+
+1672 Accounting Requirements for IPng. N. Brownlee. August 1994.
+ (Format: TXT=6185 bytes) (Status: INFORMATIONAL)
+
+1673 Electric Power Research Institute Comments on IPng. R. Skelton.
+ August 1994. (Format: TXT=7476 bytes) (Status: INFORMATIONAL)
+
+1674 A Cellular Industry View of IPng. M. Taylor. August 1994.
+ (Format: TXT=6157 bytes) (Status: INFORMATIONAL)
+
+1675 Security Concerns for IPng. S. Bellovin. August 1994. (Format:
+ TXT=8290 bytes) (Status: INFORMATIONAL)
+
+1676 INFN Requirements for an IPng. A. Ghiselli, D. Salomoni, C.
+ Vistoli. August 1994. (Format: TXT=8493 bytes) (Status:
+ INFORMATIONAL)
+
+1677 Tactical Radio Frequency Communication Requirements for IPng. B.
+ Adamson. August 1994. (Format: TXT=24065 bytes) (Status:
+ INFORMATIONAL)
+
+1678 IPng Requirements of Large Corporate Networks. E. Britton, J.
+ Tavs. August 1994. (Format: TXT=18650 bytes) (Status: INFORMATIONAL)
+
+1679 HPN Working Group Input to the IPng Requirements Solicitation. D.
+ Green, P. Irey, D. Marlow, K. O'Donoghue. August 1994. (Format:
+ TXT=22974 bytes) (Status: INFORMATIONAL)
+
+1680 IPng Support for ATM Services. C. Brazdziunas. August 1994.
+ (Format: TXT=17846 bytes) (Status: INFORMATIONAL)
+
+1681 On Many Addresses per Host. S. Bellovin. August 1994. (Format:
+ TXT=11964 bytes) (Status: INFORMATIONAL)
+
+1682 IPng BSD Host Implementation Analysis. J. Bound. August 1994.
+ (Format: TXT=22295 bytes) (Status: INFORMATIONAL)
+
+1683 Multiprotocol Interoperability In IPng. R. Clark, M. Ammar, K.
+ Calvert. August 1994. (Format: TXT=28201 bytes) (Status:
+ INFORMATIONAL)
+
+1684 Introduction to White Pages Services based on X.500. P. Jurg.
+ August 1994. (Format: TXT=22985 bytes) (Status: INFORMATIONAL)
+
+1685 Writing X.400 O/R Names. H. Alvestrand. August 1994. (Format:
+ TXT=21242 bytes) (Also RTR0012) (Status: INFORMATIONAL)
+
+1686 IPng Requirements: A Cable Television Industry Viewpoint. M.
+ Vecchi. August 1994. (Format: TXT=39052 bytes) (Status:
+ INFORMATIONAL)
+
+1687 A Large Corporate User's View of IPng. E. Fleischman. August
+ 1994. (Format: TXT=34120 bytes) (Status: INFORMATIONAL)
+
+1688 IPng Mobility Considerations. W. Simpson. August 1994. (Format:
+ TXT=19151 bytes) (Status: INFORMATIONAL)
+
+1689 A Status Report on Networked Information Retrieval: Tools and
+ Groups. J. Foster. August 1994. (Format: TXT=375469 bytes) (Also
+ FYI0025) (Status: INFORMATIONAL)
+
+1690 Introducing the Internet Engineering and Planning Group (IEPG).
+ G. Huston. August 1994. (Format: TXT=3013 bytes) (Status:
+ INFORMATIONAL)
+
+1691 The Document Architecture for the Cornell Digital Library. W.
+ Turner. August 1994. (Format: TXT=20438 bytes) (Status:
+ INFORMATIONAL)
+
+1692 Transport Multiplexing Protocol (TMux). P. Cameron, D. Crocker,
+ D. Cohen, J. Postel. August 1994. (Format: TXT=26163 bytes) (Status:
+ PROPOSED STANDARD)
+
+1693 An Extension to TCP : Partial Order Service. T. Connolly, P.
+ Amer, P. Conrad. November 1994. (Format: TXT=90100 bytes) (Status:
+ EXPERIMENTAL)
+
+1694 Definitions of Managed Objects for SMDS Interfaces using SMIv2.
+ T. Brown, K. Tesink, Editors. August 1994. (Format: TXT=70856 bytes)
+ (Obsoletes RFC1304) (Status: DRAFT STANDARD)
+
+1695 Definitions of Managed Objects for ATM Management Version 8.0
+ using SMIv2. M. Ahmed, K. Tesink, Editors. August 1994. (Format:
+ TXT=175461 bytes) (Obsoleted by RFC2515) (Status: PROPOSED STANDARD)
+
+1696 Modem Management Information Base (MIB) using SMIv2. J. Barnes,
+ L. Brown, R. Royston, S. Waldbusser. August 1994. (Format: TXT=54054
+ bytes) (Status: PROPOSED STANDARD)
+
+1697 Relational Database Management System (RDBMS) Management
+ Information Base (MIB) using SMIv2. D. Brower, Editor, B. Purvy,
+ RDBMSMIB Working Group Chair, A. Daniel, M. Sinykin, J. Smith. August
+ 1994. (Format: TXT=76202 bytes) (Status: PROPOSED STANDARD)
+
+1698 Octet Sequences for Upper-Layer OSI to Support Basic
+ Communications Applications. P. Furniss. October 1994. (Format:
+ TXT=67433 bytes) (Status: INFORMATIONAL)
+
+1699 Summary of 1600-1699. J. Elliott. January 1997. (Format:
+ TXT=40674 bytes) (Status: INFORMATIONAL)
+
+1700 Assigned Numbers. J. Reynolds, J. Postel. October 1994. (Format:
+ TXT=458860 bytes) (Obsoletes RFC1340) (Also STD0002) (Status:
+ STANDARD)
+
+1701 Generic Routing Encapsulation (GRE). S. Hanks, T. Li, D.
+ Farinacci, P. Traina. October 1994. (Format: TXT=15460 bytes)
+ (Status: INFORMATIONAL)
+
+1702 Generic Routing Encapsulation over IPv4 networks. S. Hanks, T.
+ Li, D. Farinacci, P. Traina. October 1994. (Format: TXT=7288 bytes)
+ (Status: INFORMATIONAL)
+
+1703 Principles of Operation for the TPC.INT Subdomain: Radio Paging
+ -- Technical Procedures. M. Rose. October 1994. (Format: TXT=17985
+ bytes) (Obsoletes RFC1569) (Status: INFORMATIONAL)
+
+1704 On Internet Authentication. N. Haller, R. Atkinson. October 1994.
+ (Format: TXT=42269 bytes) (Status: INFORMATIONAL)
+
+1705 Six Virtual Inches to the Left: The Problem with IPng. R.
+ Carlson, D. Ficarella. October 1994. (Format: TXT=65222 bytes)
+ (Status: INFORMATIONAL)
+
+1706 DNS NSAP Resource Records. B. Manning, R. Colella. October 1994.
+ (Format: TXT=19721 bytes) (Obsoletes RFC1637) (Status: INFORMATIONAL)
+
+1707 CATNIP: Common Architecture for the Internet. M. McGovern, R.
+ Ullmann. October 1994. (Format: TXT=37568 bytes) (Status:
+ INFORMATIONAL)
+
+1708 NTP PICS PROFORMA - For the Network Time Protocol Version 3. D.
+ Gowin. October 1994. (Format: TXT=26523 bytes) (Status:
+ INFORMATIONAL)
+
+1709 K-12 Internetworking Guidelines. J. Gargano, D. Wasley. November
+ 1994. (Format: TXT=66659, PS=662030, PDF=134065 bytes) (Also FYI0026)
+ (Status: INFORMATIONAL)
+
+1710 Simple Internet Protocol Plus White Paper. R. Hinden. October
+ 1994. (Format: TXT=56910 bytes) (Status: INFORMATIONAL)
+
+1711 Classifications in E-mail Routing. J. Houttuin. October 1994.
+ (Format: TXT=47584 bytes) (Status: INFORMATIONAL)
+
+1712 DNS Encoding of Geographical Location. C. Farrell, M. Schulze, S.
+ Pleitner, D. Baldoni. November 1994. (Format: TXT=13237 bytes)
+ (Status: EXPERIMENTAL)
+
+1713 Tools for DNS debugging. A. Romao. November 1994. (Format:
+ TXT=33500 bytes) (Also FYI0027) (Status: INFORMATIONAL)
+
+1714 Referral Whois Protocol (RWhois). S. Williamson, M. Kosters.
+ November 1994. (Format: TXT=85395, PS=204207, PDF=85556 bytes)
+ (Obsoleted by RFC2167) (Status: INFORMATIONAL)
+
+1715 The H Ratio for Address Assignment Efficiency. C. Huitema.
+ November 1994. (Format: TXT=7392 bytes) (Status: INFORMATIONAL)
+
+1716 Towards Requirements for IP Routers. P. Almquist, F. Kastenholz.
+ November 1994. (Format: TXT=432330 bytes) (Obsoleted by RFC1812)
+ (Status: INFORMATIONAL)
+
+1717 The PPP Multilink Protocol (MP). K. Sklower, B. Lloyd, G.
+ McGregor, D. Carr. November 1994. (Format: TXT=46264 bytes)
+ (Obsoleted by RFC1990) (Status: PROPOSED STANDARD)
+
+1718 The Tao of IETF - A Guide for New Attendees of the Internet
+ Engineering Task Force. IETF Secretariat, G. Malkin. November 1994.
+ (Format: TXT=50458 bytes) (Obsoletes RFC1539) (Obsoleted by RFC3160)
+ (Status: INFORMATIONAL)
+
+1719 A Direction for IPng. P. Gross. December 1994. (Format: TXT=11118
+ bytes) (Status: INFORMATIONAL)
+
+1720 Internet Official Protocol Standards. J. Postel. November 1994.
+ (Format: TXT=89063 bytes) (Obsoletes RFC1610) (Obsoleted by RFC1780)
+ (Status: HISTORIC)
+
+1721 RIP Version 2 Protocol Analysis. G. Malkin. November 1994.
+ (Format: TXT=6680 bytes) (Obsoletes RFC1387) (Status: INFORMATIONAL)
+
+1722 RIP Version 2 Protocol Applicability Statement. G. Malkin.
+ November 1994. (Format: TXT=10236 bytes) (Also STD0057) (Status:
+ STANDARD)
+
+1723 RIP Version 2 - Carrying Additional Information. G. Malkin.
+ November 1994. (Format: TXT=18597 bytes) (Obsoletes RFC1388)
+ (Obsoleted by RFC2453) (Updates RFC1058) (Also STD0056) (Status:
+ STANDARD)
+
+1724 RIP Version 2 MIB Extension. G. Malkin, F. Baker. November 1994.
+ (Format: TXT=29645 bytes) (Obsoletes RFC1389) (Status: DRAFT
+ STANDARD)
+
+1725 Post Office Protocol - Version 3. J. Myers, M. Rose. November
+ 1994. (Format: TXT=35058 bytes) (Obsoletes RFC1460) (Obsoleted by
+ RFC1939) (Also STD0053) (Status: STANDARD)
+
+1726 Technical Criteria for Choosing IP The Next Generation (IPng). C.
+ Partridge, F. Kastenholz. December 1994. (Format: TXT=74109 bytes)
+ (Status: INFORMATIONAL)
+
+1727 A Vision of an Integrated Internet Information Service. C.
+ Weider, P. Deutsch. December 1994. (Format: TXT=28468 bytes) (Status:
+ INFORMATIONAL)
+
+1728 Resource Transponders. C. Weider. December 1994. (Format:
+ TXT=12092 bytes) (Status: INFORMATIONAL)
+
+1729 Using the Z39.50 Information Retrieval Protocol. C. Lynch.
+ December 1994. (Format: TXT=20927 bytes) (Status: INFORMATIONAL)
+
+1730 Internet Message Access Protocol - Version 4. M. Crispin.
+ December 1994. (Format: TXT=156660 bytes) (Obsoleted by RFC2060,
+ RFC2061) (Status: PROPOSED STANDARD)
+
+1731 IMAP4 Authentication Mechanisms. J. Myers. December 1994.
+ (Format: TXT=11433 bytes) (Status: PROPOSED STANDARD)
+
+1732 IMAP4 Compatibility with IMAP2 and IMAP2bis. M. Crispin. December
+ 1994. (Format: TXT=9276 bytes) (Status: INFORMATIONAL)
+
+1733 Distributed Electronic Mail Models in IMAP4. M. Crispin. December
+ 1994. (Format: TXT=6205 bytes) (Status: INFORMATIONAL)
+
+1734 POP3 AUTHentication command. J. Myers. December 1994. (Format:
+ TXT=8499 bytes) (Status: PROPOSED STANDARD)
+
+1735 NBMA Address Resolution Protocol (NARP). J. Heinanen, R.
+ Govindan. December 1994. (Format: TXT=24485 bytes) (Status:
+ EXPERIMENTAL)
+
+1736 Functional Recommendations for Internet Resource Locators. J.
+ Kunze. February 1995. (Format: TXT=22415 bytes) (Status:
+ INFORMATIONAL)
+
+1737 Functional Requirements for Uniform Resource Names. K. Sollins,
+ L. Masinter. December 1994. (Format: TXT=16337 bytes) (Status:
+ INFORMATIONAL)
+
+1738 Uniform Resource Locators (URL). T. Berners-Lee, L. Masinter, M.
+ McCahill. December 1994. (Format: TXT=51348 bytes) (Updated by
+ RFC1808, RFC2368, RFC2396) (Status: PROPOSED STANDARD)
+
+1739 A Primer On Internet and TCP/IP Tools. G. Kessler, S. Shepard.
+ December 1994. (Format: TXT=102676 bytes) (Obsoleted by RFC2151)
+ (Status: INFORMATIONAL)
+
+1740 MIME Encapsulation of Macintosh Files - MacMIME. P. Faltstrom, D.
+ Crocker, E. Fair. December 1994. (Format: TXT=31297 bytes) (Status:
+ PROPOSED STANDARD)
+
+1741 MIME Content Type for BinHex Encoded Files. P. Faltstrom, D.
+ Crocker, E. Fair. December 1994. (Format: TXT=10155 bytes) (Status:
+ INFORMATIONAL)
+
+1742 AppleTalk Management Information Base II. S. Waldbusser, K.
+ Frisa. January 1995. (Format: TXT=168306 bytes) (Obsoletes RFC1243)
+ (Status: PROPOSED STANDARD)
+
+1743 IEEE 802.5 MIB using SMIv2. K. McCloghrie, E. Decker. December
+ 1994. (Format: TXT=43224 bytes) (Obsoletes RFC1231) (Obsoleted by
+ RFC1748) (Status: DRAFT STANDARD)
+
+1744 Observations on the Management of the Internet Address Space. G.
+ Huston. December 1994. (Format: TXT=32411 bytes) (Status:
+ INFORMATIONAL)
+
+1745 BGP4/IDRP for IP---OSPF Interaction. K. Varadhan, S. Hares, Y.
+ Rekhter. December 1994. (Format: TXT=43675 bytes) (Status: HISTORIC)
+
+1746 Ways to Define User Expectations. B. Manning, D. Perkins.
+ December 1994. (Format: TXT=46164 bytes) (Status: INFORMATIONAL)
+
+1747 Definitions of Managed Objects for SNA Data Link Control (SDLC)
+ using SMIv2. J. Hilgeman, Chair, S. Nix, A. Bartky, W. Clark, Editor.
+ January 1995. (Format: TXT=147388 bytes) (Status: PROPOSED STANDARD)
+
+1748 IEEE 802.5 MIB using SMIv2. K. McCloghrie, E. Decker. December
+ 1994. (Format: TXT=43224 bytes) (Obsoletes RFC1743, RFC1231) (Updated
+ by RFC1749) (Status: DRAFT STANDARD)
+
+1749 IEEE 802.5 Station Source Routing MIB using SMIv2. K. McCloghrie,
+ F. Baker, E. Decker. December 1994. (Format: TXT=17563 bytes)
+ (Updates RFC1748) (Status: PROPOSED STANDARD)
+
+1750 Randomness Recommendations for Security. D. Eastlake, S. Crocker,
+ J. Schiller. December 1994. (Format: TXT=73842 bytes) (Status:
+ INFORMATIONAL)
+
+1751 A Convention for Human-Readable 128-bit Keys. D. McDonald.
+ December 1994. (Format: TXT=31428 bytes) (Status: INFORMATIONAL)
+
+1752 The Recommendation for the IP Next Generation Protocol. S.
+ Bradner, A. Mankin. January 1995. (Format: TXT=127784 bytes) (Status:
+ PROPOSED STANDARD)
+
+1753 IPng Technical Requirements Of the Nimrod Routing and Addressing
+ Architecture. N. Chiappa. December 1994. (Format: TXT=46586 bytes)
+ (Status: INFORMATIONAL)
+
+1754 IP over ATM Working Group's Recommendations for the ATM Forum's
+ Multiprotocol BOF Version 1. M. Laubach. January 1995. (Format:
+ TXT=13483 bytes) (Status: INFORMATIONAL)
+
+1755 ATM Signaling Support for IP over ATM. M. Perez, F. Liaw, D.
+ Grossman, A. Mankin, E. Hoffman, A. Malis. February 1995. (Format:
+ TXT=55209 bytes) (Status: PROPOSED STANDARD)
+
+1756 Remote Write Protocol - Version 1.0. T. Rinne. January 1995.
+ (Format: TXT=22078 bytes) (Status: EXPERIMENTAL)
+
+1757 Remote Network Monitoring Management Information Base. S.
+ Waldbusser. February 1995. (Format: TXT=208117 bytes) (Obsoletes
+ RFC1271) (Obsoleted by RFC2819) (Status: DRAFT STANDARD)
+
+1758 NADF Standing Documents: A Brief Overview. The North American
+ Directory Forum. February 1995. (Format: TXT=7294 bytes) (Obsoletes
+ RFC1417) (Status: INFORMATIONAL)
+
+1759 Printer MIB. R. Smith, F. Wright, T. Hastings, S. Zilles, J.
+ Gyllenskog. March 1995. (Format: TXT=239228 bytes) (Status: PROPOSED
+ STANDARD)
+
+1760 The S/KEY One-Time Password System. N. Haller. February 1995.
+ (Format: TXT=31124 bytes) (Status: INFORMATIONAL)
+
+1761 Snoop Version 2 Packet Capture File Format. B. Callaghan, R.
+ Gilligan. February 1995. (Format: TXT=10761 bytes) (Status:
+ INFORMATIONAL)
+
+1762 The PPP DECnet Phase IV Control Protocol (DNCP). S. Senum. March
+ 1995. (Format: TXT=12709 bytes) (Obsoletes RFC1376) (Status: DRAFT
+ STANDARD)
+
+1763 The PPP Banyan Vines Control Protocol (BVCP). S. Senum. March
+ 1995. (Format: TXT=17817 bytes) (Status: PROPOSED STANDARD)
+
+1764 The PPP XNS IDP Control Protocol (XNSCP). S. Senum. March 1995.
+ (Format: TXT=9525 bytes) (Status: PROPOSED STANDARD)
+
+1765 OSPF Database Overflow. J. Moy. March 1995. (Format: TXT=21613
+ bytes) (Status: EXPERIMENTAL)
+
+1766 Tags for the Identification of Languages. H. Alvestrand. March
+ 1995. (Format: TXT=16966 bytes) (Obsoleted by RFC3066) (Status:
+ PROPOSED STANDARD)
+
+1767 MIME Encapsulation of EDI Objects. D. Crocker. March 1995.
+ (Format: TXT=15293 bytes) (Status: PROPOSED STANDARD)
+
+1768 Host Group Extensions for CLNP Multicasting. D. Marlow. March
+ 1995. (Format: TXT=111499 bytes) (Status: EXPERIMENTAL)
+
+1769 Simple Network Time Protocol (SNTP). D. Mills. March 1995.
+ (Format: TXT=34454 bytes) (Obsoletes RFC1361) (Obsoleted by RFC2030)
+ (Status: INFORMATIONAL)
+
+1770 IPv4 Option for Sender Directed Multi-Destination Delivery. C.
+ Graff. March 1995. (Format: TXT=11606 bytes) (Status: INFORMATIONAL)
+
+1771 A Border Gateway Protocol 4 (BGP-4). Y. Rekhter, T. Li. March
+ 1995. (Format: TXT=131903 bytes) (Obsoletes RFC1654) (Status: DRAFT
+ STANDARD)
+
+1772 Application of the Border Gateway Protocol in the Internet. Y.
+ Rekhter, P. Gross. March 1995. (Format: TXT=43916 bytes) (Obsoletes
+ RFC1655) (Status: DRAFT STANDARD)
+
+1773 Experience with the BGP-4 protocol. P. Traina. March 1995.
+ (Format: TXT=19936 bytes) (Obsoletes RFC1656) (Status: INFORMATIONAL)
+
+1774 BGP-4 Protocol Analysis. P. Traina, Editor. March 1995. (Format:
+ TXT=23823 bytes) (Status: INFORMATIONAL)
+
+1775 To Be "On" the Internet. D. Crocker. March 1995. (Format:
+ TXT=8454 bytes) (Status: INFORMATIONAL)
+
+1776 The Address is the Message. S. Crocker. Apr-01-1995. (Format:
+ TXT=2051 bytes) (Status: INFORMATIONAL)
+
+1777 Lightweight Directory Access Protocol. W. Yeong, T. Howes, S.
+ Kille. March 1995. (Format: TXT=45459 bytes) (Obsoletes RFC1487)
+ (Status: DRAFT STANDARD)
+
+1778 The String Representation of Standard Attribute Syntaxes. T.
+ Howes, S. Kille, W. Yeong, C. Robbins. March 1995. (Format: TXT=19053
+ bytes) (Obsoletes RFC1488) (Updated by RFC2559) (Status: DRAFT
+ STANDARD)
+
+1779 A String Representation of Distinguished Names. S. Kille. March
+ 1995. (Format: TXT=12429 bytes) (Obsoletes RFC1485) (Obsoleted by
+ RFC2253) (Status: DRAFT STANDARD)
+
+1780 Internet Official Protocol Standards. J. Postel, Editor. March
+ 1995. (Format: TXT=86594 bytes) (Obsoletes RFC1720) (Obsoleted by
+ RFC1800) (Status: HISTORIC)
+
+1781 Using the OSI Directory to Achieve User Friendly Naming. S.
+ Kille. March 1995. (Format: TXT=47129 bytes) (Obsoletes RFC1484)
+ (Status: PROPOSED STANDARD)
+
+1782 TFTP Option Extension. G. Malkin, A. Harkin. March 1995. (Format:
+ TXT=11508 bytes) (Obsoleted by RFC2347) (Updates RFC1350) (Status:
+ PROPOSED STANDARD)
+
+1783 TFTP Blocksize Option. G. Malkin, A. Harkin. March 1995. (Format:
+ TXT=7814 bytes) (Obsoleted by RFC2348) (Updates RFC1350) (Status:
+ PROPOSED STANDARD)
+
+1784 TFTP Timeout Interval and Transfer Size Options. G. Malkin, A.
+ Harkin. March 1995. (Format: TXT=6106 bytes) (Obsoleted by RFC2349)
+ (Updates RFC1350) (Status: PROPOSED STANDARD)
+
+1785 TFTP Option Negotiation Analysis. G. Malkin, A. Harkin. March
+ 1995. (Format: TXT=3354 bytes) (Updates RFC1350) (Status:
+ INFORMATIONAL)
+
+1786 Representation of IP Routing Policies in a Routing Registry
+ (ripe-81++). T. Bates, E. Gerich, L. Joncheray, J-M. Jouanigot, D.
+ Karrenberg, M. Terpstra, J. Yu. March 1995. (Format: TXT=133643
+ bytes) (Status: INFORMATIONAL)
+
+1787 Routing in a Multi-provider Internet. Y. Rekhter. April 1995.
+ (Format: TXT=20754 bytes) (Status: INFORMATIONAL)
+
+1788 ICMP Domain Name Messages. W. Simpson. April 1995. (Format:
+ TXT=11722 bytes) (Status: EXPERIMENTAL)
+
+1789 INETPhone: Telephone Services and Servers on Internet. C. Yang.
+ April 1995. (Format: TXT=14186 bytes) (Status: INFORMATIONAL)
+
+1790 An Agreement between the Internet Society and Sun Microsystems,
+ Inc. in the Matter of ONC RPC and XDR Protocols. V. Cerf. April 1995.
+ (Format: TXT=8226 bytes) (Status: INFORMATIONAL)
+
+1791 TCP And UDP Over IPX Networks With Fixed Path MTU. T. Sung. April
+ 1995. (Format: TXT=22347 bytes) (Status: EXPERIMENTAL)
+
+1792 TCP/IPX Connection Mib Specification. T. Sung. April 1995.
+ (Format: TXT=16389 bytes) (Status: EXPERIMENTAL)
+
+1793 Extending OSPF to Support Demand Circuits. J. Moy. April 1995.
+ (Format: TXT=78728 bytes) (Status: PROPOSED STANDARD)
+
+1794 DNS Support for Load Balancing. T. Brisco. April 1995. (Format:
+ TXT=15494 bytes) (Status: INFORMATIONAL)
+
+1795 Data Link Switching: Switch-to-Switch Protocol AIW DLSw RIG: DLSw
+ Closed Pages, DLSw Standard Version 1. L. Wells, Chair, A. Bartky,
+ Editor. April 1995. (Format: TXT=214848 bytes) (Obsoletes RFC1434)
+ (Status: INFORMATIONAL)
+
+1796 Not All RFCs are Standards. C. Huitema, J. Postel, S. Crocker.
+ April 1995. (Format: TXT=7049 bytes) (Status: INFORMATIONAL)
+
+1797 Class A Subnet Experiment. Internet Assigned Numbers Authority
+ (IANA). April 1995. (Format: TXT=6779 bytes) (Status: EXPERIMENTAL)
+
+1798 Connection-less Lightweight X.500 Directory Access Protocol. A.
+ Young. June 1995. (Format: TXT=18548 bytes) (Status: PROPOSED
+ STANDARD)
+
+1799 Request for Comments Summary RFC Numbers 1700-1799. M. Kennedy.
+ January 1997. (Format: TXT=42038 bytes) (Status: INFORMATIONAL)
+
+1800 Internet Official Protocol Standards. J. Postel, Editor. July
+ 1995. (Format: TXT=83649 bytes) (Obsoletes RFC1780) (Obsoleted by
+ RFC1880) (Status: HISTORIC)
+
+1801 MHS use of the X.500 Directory to support MHS Routing. S. Kille.
+ June 1995. (Format: TXT=156462 bytes) (Status: EXPERIMENTAL)
+
+1802 Introducing Project Long Bud: Internet Pilot Project for the
+ Deployment of X.500 Directory Information in Support of X.400
+ Routing. H. Alvestrand, K. Jordan, S. Langlois, J. Romaguera. June
+ 1995. (Format: TXT=24637 bytes) (Status: INFORMATIONAL)
+
+1803 Recommendations for an X.500 Production Directory Service. R.
+ Wright, A. Getchell, T. Howes, S. Sataluri, P. Yee, W. Yeong. June
+ 1995. (Format: TXT=14721 bytes) (Status: INFORMATIONAL)
+
+1804 Schema Publishing in X.500 Directory. G. Mansfield, P. Rajeev, S.
+ Raghavan, T. Howes. June 1995. (Format: TXT=18268 bytes) (Status:
+ EXPERIMENTAL)
+
+1805 Location-Independent Data/Software Integrity Protocol. A. Rubin.
+ June 1995. (Format: TXT=13352 bytes) (Status: INFORMATIONAL)
+
+1806 Communicating Presentation Information in Internet Messages: The
+ Content-Disposition Header. R. Troost, S. Dorner. June 1995. (Format:
+ TXT=15548 bytes) (Updated by RFC2183) (Status: EXPERIMENTAL)
+
+1807 A Format for Bibliographic Records. R. Lasher, D. Cohen. June
+ 1995. (Format: TXT=29417 bytes) (Obsoletes RFC1357) (Status:
+ INFORMATIONAL)
+
+1808 Relative Uniform Resource Locators. R. Fielding. June 1995.
+ (Format: TXT=34950 bytes) (Updates RFC1738) (Updated by RFC2368,
+ RFC2396) (Status: PROPOSED STANDARD)
+
+1809 Using the Flow Label Field in IPv6. C. Partridge. June 1995.
+ (Format: TXT=13591 bytes) (Status: INFORMATIONAL)
+
+1810 Report on MD5 Performance. J. Touch. June 1995. (Format:
+ TXT=16607 bytes) (Status: INFORMATIONAL)
+
+1811 U.S. Government Internet Domain Names. Federal Networking
+ Council. June 1995. (Format: TXT=6641 bytes) (Obsoleted by RFC1816)
+ (Status: INFORMATIONAL)
+
+1812 Requirements for IP Version 4 Routers. F. Baker. June 1995.
+ (Format: TXT=415740 bytes) (Obsoletes RFC1716, RFC1009) (Updated by
+ RFC2644) (Status: PROPOSED STANDARD)
+
+1813 NFS Version 3 Protocol Specification. B. Callaghan, B. Pawlowski,
+ P. Staubach. June 1995. (Format: TXT=229793 bytes) (Obsoleted by
+ RFC3010) (Also RFC1094) (Status: INFORMATIONAL)
+
+1814 Unique Addresses are Good. E. Gerich. June 1995. (Format:
+ TXT=5936 bytes) (Status: INFORMATIONAL)
+
+1815 Character Sets ISO-10646 and ISO-10646-J-1. M. Ohta. July 1995.
+ (Format: TXT=11823 bytes) (Status: INFORMATIONAL)
+
+1816 U.S. Government Internet Domain Names. Federal Networking
+ Council. August 1995. (Format: TXT=17979 bytes) (Obsoletes RFC1811)
+ (Obsoleted by RFC2146) (Status: INFORMATIONAL)
+
+1817 CIDR and Classful Routing. Y. Rekhter. August 1995. (Format:
+ TXT=3416 bytes) (Status: INFORMATIONAL)
+
+1818 Best Current Practices. J. Postel, T. Li, Y. Rekhter. August
+ 1995. (Format: TXT=4114 bytes) (Also BCP0001) (Status: BEST CURRENT
+ PRACTICE)
+
+1819 Internet Stream Protocol Version 2 (ST2) Protocol Specification -
+ Version ST2+. L. Delgrossi, L. Berger, Editors. August 1995. (Format:
+ TXT=266875 bytes) (Obsoletes RFC1190, IEN 119) (Status: EXPERIMENTAL)
+
+1820 Multimedia E-mail (MIME) User Agent Checklist. E. Huizer. August
+ 1995. (Format: TXT=14672 bytes) (Obsoleted by RFC1844) (Status:
+ INFORMATIONAL)
+
+1821 Integration of Real-time Services in an IP-ATM Network
+ Architecture. M. Borden, E. Crawley, B. Davie, S. Batsell. August
+ 1995. (Format: TXT=64466 bytes) (Status: INFORMATIONAL)
+
+1822 A Grant of Rights to Use a Specific IBM patent with Photuris. J.
+ Lowe. August 1995. (Format: TXT=2664 bytes) (Status: INFORMATIONAL)
+
+1823 The LDAP Application Program Interface. T. Howes, M. Smith.
+ August 1995. (Format: TXT=41081 bytes) (Status: INFORMATIONAL)
+
+1824 The Exponential Security System TESS: An Identity-Based
+ Cryptographic Protocol for Authenticated Key-Exchange
+ (E.I.S.S.-Report 1995/4). H. Danisch. August 1995. (Format: TXT=45540
+ bytes) (Status: INFORMATIONAL)
+
+1825 Security Architecture for the Internet Protocol. R. Atkinson.
+ August 1995. (Format: TXT=56772 bytes) (Obsoleted by RFC2401)
+ (Status: PROPOSED STANDARD)
+
+1826 IP Authentication Header. R. Atkinson. August 1995. (Format:
+ TXT=27583 bytes) (Obsoleted by RFC2402) (Status: PROPOSED STANDARD)
+
+1827 IP Encapsulating Security Payload (ESP). R. Atkinson. August
+ 1995. (Format: TXT=30278 bytes) (Obsoleted by RFC2406) (Status:
+ PROPOSED STANDARD)
+
+1828 IP Authentication using Keyed MD5. P. Metzger, W. Simpson. August
+ 1995. (Format: TXT=9800 bytes) (Status: PROPOSED STANDARD)
+
+1829 The ESP DES-CBC Transform. P. Karn, P. Metzger, W. Simpson.
+ August 1995. (Format: TXT=19291 bytes) (Status: PROPOSED STANDARD)
+
+1830 SMTP Service Extensions for Transmission of Large and Binary MIME
+ Messages. G. Vaudreuil. August 1995. (Format: TXT=16555 bytes)
+ (Obsoleted by RFC3030) (Status: EXPERIMENTAL)
+
+1831 RPC: Remote Procedure Call Protocol Specification Version 2. R.
+ Srinivasan. August 1995. (Format: TXT=37798 bytes) (Status: PROPOSED
+ STANDARD)
+
+1832 XDR: External Data Representation Standard. R. Srinivasan. August
+ 1995. (Format: TXT=47418 bytes) (Status: DRAFT STANDARD)
+
+1833 Binding Protocols for ONC RPC Version 2. R. Srinivasan. August
+ 1995. (Format: TXT=24449 bytes) (Status: PROPOSED STANDARD)
+
+1834 Whois and Network Information Lookup Service, Whois++. J.
+ Gargano, K. Weiss. August 1995. (Format: TXT=14429 bytes) (Status:
+ INFORMATIONAL)
+
+1835 Architecture of the WHOIS++ service. P. Deutsch, R. Schoultz, P.
+ Faltstrom, C. Weider. August 1995. (Format: TXT=80581 bytes) (Status:
+ PROPOSED STANDARD)
+
+1836 Representing the O/R Address hierarchy in the X.500 Directory
+ Information Tree. S. Kille. August 1995. (Format: TXT=20175 bytes)
+ (Obsoleted by RFC2294) (Status: EXPERIMENTAL)
+
+1837 Representing Tables and Subtrees in the X.500 Directory. S.
+ Kille. August 1995. (Format: TXT=10924 bytes) (Obsoleted by RFC2293)
+ (Status: EXPERIMENTAL)
+
+1838 Use of the X.500 Directory to support mapping between X.400 and
+ RFC 822 Addresses. S. Kille. August 1995. (Format: TXT=12216 bytes)
+ (Obsoleted by RFC2164) (Status: EXPERIMENTAL)
+
+1841 PPP Network Control Protocol for LAN Extension. J. Chapman, D.
+ Coli, A. Harvey, B. Jensen, K. Rowett. September 1995. (Format:
+ TXT=146206 bytes) (Status: INFORMATIONAL)
+
+1842 ASCII Printable Characters-Based Chinese Character Encoding for
+ Internet Messages. Y. Wei, Y. Zhang, J. Li, J. Ding, Y. Jiang. August
+ 1995. (Format: TXT=24143 bytes) (Status: INFORMATIONAL)
+
+1843 HZ - A Data Format for Exchanging Files of Arbitrarily Mixed
+ Chinese and ASCII characters. F. Lee. August 1995. (Format: TXT=8787
+ bytes) (Status: INFORMATIONAL)
+
+1844 Multimedia E-mail (MIME) User Agent Checklist. E. Huizer. August
+ 1995. (Format: TXT=15072 bytes) (Obsoletes RFC1820) (Status:
+ INFORMATIONAL)
+
+1845 SMTP Service Extension for Checkpoint/Restart. D. Crocker, N.
+ Freed, A. Cargille. September 1995. (Format: TXT=15399 bytes)
+ (Status: EXPERIMENTAL)
+
+1846 SMTP 521 Reply Code. A. Durand, F. Dupont. September 1995.
+ (Format: TXT=6558 bytes) (Status: EXPERIMENTAL)
+
+1847 Security Multiparts for MIME: Multipart/Signed and
+ Multipart/Encrypted. J. Galvin, S. Murphy, S. Crocker, N. Freed.
+ October 1995. (Format: TXT=23679 bytes) (Status: PROPOSED STANDARD)
+
+1848 MIME Object Security Services. S. Crocker, N. Freed, J. Galvin,
+ S. Murphy. October 1995. (Format: TXT=95010 bytes) (Status: PROPOSED
+ STANDARD)
+
+1850 OSPF Version 2 Management Information Base. F. Baker, R. Coltun.
+ November 1995. (Format: TXT=140255 bytes) (Obsoletes RFC1253)
+ (Status: DRAFT STANDARD)
+
+1851 The ESP Triple DES Transform. P. Karn, P. Metzger, W. Simpson.
+ September 1995. (Format: TXT=20000 bytes) (Status: EXPERIMENTAL)
+
+1852 IP Authentication using Keyed SHA. P. Metzger, W. Simpson.
+ September 1995. (Format: TXT=9367 bytes) (Obsoleted by RFC2841)
+ (Status: EXPERIMENTAL)
+
+1853 IP in IP Tunneling. W. Simpson. October 1995. (Format: TXT=14803
+ bytes) (Status: INFORMATIONAL)
+
+1854 SMTP Service Extension for Command Pipelining. N. Freed. October
+ 1995. (Format: TXT=14097 bytes) (Obsoleted by RFC2197) (Status:
+ PROPOSED STANDARD)
+
+1855 Netiquette Guidelines. S. Hambridge. October 1995. (Format:
+ TXT=46185 bytes) (Also FYI0028) (Status: INFORMATIONAL)
+
+1856 The Opstat Client-Server Model for Statistics Retrieval. H.
+ Clark. September 1995. (Format: TXT=29954 bytes) (Status:
+ INFORMATIONAL)
+
+1857 A Model for Common Operational Statistics. M. Lambert. October
+ 1995. (Format: TXT=55314 bytes) (Obsoletes RFC1404) (Status:
+ INFORMATIONAL)
+
+1858 Security Considerations for IP Fragment Filtering. G. Ziemba, D.
+ Reed, P. Traina. October 1995. (Format: TXT=20468 bytes) (Status:
+ INFORMATIONAL)
+
+1859 ISO Transport Class 2 Non-use of Explicit Flow Control over TCP
+ RFC1006 extension. Y. Pouffary. October 1995. (Format: TXT=14572
+ bytes) (Status: INFORMATIONAL)
+
+1860 Variable Length Subnet Table For IPv4. T. Pummill, B. Manning.
+ October 1995. (Format: TXT=5694 bytes) (Obsoleted by RFC1878)
+ (Status: INFORMATIONAL)
+
+1861 Simple Network Paging Protocol - Version 3 -Two-Way Enhanced. A.
+ Gwinn. October 1995. (Format: TXT=49181 bytes) (Obsoletes RFC1645)
+ (Status: INFORMATIONAL)
+
+1862 Report of the IAB Workshop on Internet Information
+ Infrastructure, October 12-14, 1994. M. McCahill, J. Romkey, M.
+ Schwartz, K. Sollins, T. Verschuren, C. Weider. November 1995.
+ (Format: TXT=62483 bytes) (Status: INFORMATIONAL)
+
+1863 A BGP/IDRP Route Server alternative to a full mesh routing. D.
+ Haskin. October 1995. (Format: TXT=37426 bytes) (Status:
+ EXPERIMENTAL)
+
+1864 The Content-MD5 Header Field. J. Myers, M. Rose. October 1995.
+ (Format: TXT=7216 bytes) (Obsoletes RFC1544) (Status: DRAFT STANDARD)
+
+1865 EDI Meets the Internet Frequently Asked Questions about
+ Electronic Data Interchange (EDI) on the Internet. W. Houser, J.
+ Griffin, C. Hage. January 1996. (Format: TXT=98361 bytes) (Status:
+ INFORMATIONAL)
+
+1866 Hypertext Markup Language - 2.0. T. Berners-Lee, D. Connolly.
+ November 1995. (Format: TXT=146904 bytes) (Obsoleted by RFC2854)
+ (Status: HISTORIC)
+
+1867 Form-based File Upload in HTML. E. Nebel, L. Masinter. November
+ 1995. (Format: TXT=26183 bytes) (Obsoleted by RFC2854) (Status:
+ HISTORIC)
+
+1868 ARP Extension - UNARP. G. Malkin. November 1995. (Format:
+ TXT=7681 bytes) (Status: EXPERIMENTAL)
+
+1869 SMTP Service Extensions. J. Klensin, N. Freed, M. Rose, E.
+ Stefferud, D. Crocker. November 1995. (Format: TXT=23299 bytes)
+ (Obsoletes RFC1651) (Obsoleted by RFC2821) (Also STD0010) (Status:
+ STANDARD)
+
+1870 SMTP Service Extension for Message Size Declaration. J. Klensin,
+ N. Freed, K. Moore. November 1995. (Format: TXT=18226 bytes)
+ (Obsoletes RFC1653) (Also STD0010) (Status: STANDARD)
+
+1871 Addendum to RFC 1602 -- Variance Procedure. J. Postel. November
+ 1995. (Format: TXT=7747 bytes) (Updates RFC1602, RFC1603) (Also
+ BCP0002) (Status: BEST CURRENT PRACTICE)
+
+1872 The MIME Multipart/Related Content-type. E. Levinson. December
+ 1995. (Format: TXT=15565 bytes) (Obsoleted by RFC2112) (Status:
+ EXPERIMENTAL)
+
+1873 Message/External-Body Content-ID Access Type. E. Levinson.
+ December 1995. (Format: TXT=5878 bytes) (Status: EXPERIMENTAL)
+
+1874 SGML Media Types. E. Levinson. December 1995. (Format: TXT=12515
+ bytes) (Status: EXPERIMENTAL)
+
+1875 UNINETT PCA Policy Statements. N. Berge. December 1995. (Format:
+ TXT=19089 bytes) (Status: INFORMATIONAL)
+
+1876 A Means for Expressing Location Information in the Domain Name
+ System. C. Davis, P. Vixie, T. Goodwin, I. Dickinson. January 1996.
+ (Format: TXT=29631 bytes) (Updates RFC1034, RFC1035) (Status:
+ EXPERIMENTAL)
+
+1877 PPP Internet Protocol Control Protocol Extensions for Name Server
+ Addresses. S. Cobb. December 1995. (Format: TXT=10591 bytes) (Status:
+ INFORMATIONAL)
+
+1878 Variable Length Subnet Table For IPv4. T. Pummill, B. Manning.
+ December 1995. (Format: TXT=19414 bytes) (Obsoletes RFC1860) (Status:
+ INFORMATIONAL)
+
+1879 Class A Subnet Experiment Results and Recommendations. B.
+ Manning. January 1996. (Format: TXT=10589 bytes) (Status:
+ INFORMATIONAL)
+
+1880 Internet Official Protocol Standards. J. Postel, Editor. November
+ 1995. (Format: TXT=89153 bytes) (Obsoletes RFC1800) (Obsoleted by
+ RFC1920) (Status: HISTORIC)
+
+1881 IPv6 Address Allocation Management. IAB, IESG. December 1995.
+ (Format: TXT=3215 bytes) (Status: INFORMATIONAL)
+
+1882 The 12-Days of Technology Before Christmas. B. Hancock. December
+ 1995. (Format: TXT=9130 bytes) (Status: INFORMATIONAL)
+
+1883 Internet Protocol, Version 6 (IPv6) Specification. S. Deering, R.
+ Hinden. December 1995. (Format: TXT=82089 bytes) (Obsoleted by
+ RFC2460) (Status: PROPOSED STANDARD)
+
+1884 IP Version 6 Addressing Architecture. R. Hinden, S. Deering,
+ Editors. December 1995. (Format: TXT=37860 bytes) (Obsoleted by
+ RFC2373) (Status: HISTORIC)
+
+1885 Internet Control Message Protocol (ICMPv6) for the Internet
+ Protocol Version 6 (IPv6). A. Conta, S. Deering. December 1995.
+ (Format: TXT=32214 bytes) (Obsoleted by RFC2463) (Status: PROPOSED
+ STANDARD)
+
+1886 DNS Extensions to support IP version 6. S. Thomson, C. Huitema.
+ December 1995. (Format: TXT=6424 bytes) (Updated by RFC3152) (Status:
+ PROPOSED STANDARD)
+
+1887 An Architecture for IPv6 Unicast Address Allocation. Y. Rekhter,
+ T. Li, Editors. December 1995. (Format: TXT=66066 bytes) (Status:
+ INFORMATIONAL)
+
+1888 OSI NSAPs and IPv6. J. Bound, B. Carpenter, D. Harrington, J.
+ Houldsworth, A. Lloyd. August 1996. (Format: TXT=36469 bytes)
+ (Status: EXPERIMENTAL)
+
+1889 RTP: A Transport Protocol for Real-Time Applications. Audio-Video
+ Transport Working Group, H. Schulzrinne, S. Casner, R. Frederick, V.
+ Jacobson. January 1996. (Format: TXT=188544 bytes) (Status: PROPOSED
+ STANDARD)
+
+1890 RTP Profile for Audio and Video Conferences with Minimal Control.
+ Audio-Video Transport Working Group, H. Schulzrinne. January 1996.
+ (Format: TXT=37509 bytes) (Status: PROPOSED STANDARD)
+
+1891 SMTP Service Extension for Delivery Status Notifications. K.
+ Moore. January 1996. (Format: TXT=65192 bytes) (Status: PROPOSED
+ STANDARD)
+
+1892 The Multipart/Report Content Type for the Reporting of Mail
+ System Administrative Messages. G. Vaudreuil. January 1996. (Format:
+ TXT=7800 bytes) (Status: PROPOSED STANDARD)
+
+1893 Enhanced Mail System Status Codes. G. Vaudreuil. January 1996.
+ (Format: TXT=28218 bytes) (Status: PROPOSED STANDARD)
+
+1894 An Extensible Message Format for Delivery Status Notifications.
+ K. Moore, G. Vaudreuil. January 1996. (Format: TXT=77462 bytes)
+ (Updated by RFC2852) (Status: PROPOSED STANDARD)
+
+1895 The Application/CALS-1840 Content-type. E. Levinson. February
+ 1996. (Format: TXT=10576 bytes) (Status: INFORMATIONAL)
+
+1896 The text/enriched MIME Content-type. P. Resnick, A. Walker.
+ February 1996. (Format: TXT=45926, PS=81217 bytes) (Obsoletes
+ RFC1523, RFC1563) (Status: INFORMATIONAL)
+
+1897 IPv6 Testing Address Allocation. R. Hinden, J. Postel. January
+ 1996. (Format: TXT=6643 bytes) (Obsoleted by RFC2471) (Status:
+ EXPERIMENTAL)
+
+1898 CyberCash Credit Card Protocol Version 0.8. D. Eastlake, B.
+ Boesch, S. Crocker, M. Yesil. February 1996. (Format: TXT=113633
+ bytes) (Status: INFORMATIONAL)
+
+1899 Request for Comments Summary RFC Numbers 1800-1899. J. Elliott.
+ January 1997. (Format: TXT=37984 bytes) (Status: INFORMATIONAL)
+
+1900 Renumbering Needs Work. B. Carpenter, Y. Rekhter. February 1996.
+ (Format: TXT=9528 bytes) (Status: INFORMATIONAL)
+
+1901 Introduction to Community-based SNMPv2. SNMPv2 Working Group, J.
+ Case, K. McCloghrie, M. Rose, S. Waldbusser. January 1996. (Format:
+ TXT=15903 bytes) (Status: EXPERIMENTAL)
+
+1902 Structure of Management Information for Version 2 of the Simple
+ Network Management Protocol (SNMPv2). SNMPv2 Working Group, J. Case,
+ K. McCloghrie, M. Rose, S. Waldbusser. January 1996. (Format:
+ TXT=77453 bytes) (Obsoletes RFC1442) (Obsoleted by RFC2578) (Status:
+ DRAFT STANDARD)
+
+1903 Textual Conventions for Version 2 of the Simple Network
+ Management Protocol (SNMPv2). SNMPv2 Working Group, J. Case, K.
+ McCloghrie, M. Rose, S. Waldbusser. January 1996. (Format: TXT=52652
+ bytes) (Obsoletes RFC1443) (Obsoleted by RFC2579) (Status: DRAFT
+ STANDARD)
+
+1904 Conformance Statements for Version 2 of the Simple Network
+ Management Protocol (SNMPv2). SNMPv2 Working Group, J. Case, K.
+ McCloghrie, M. Rose, S. Waldbusser. January 1996. (Format: TXT=47083
+ bytes) (Obsoletes RFC1444) (Obsoleted by RFC2580) (Status: DRAFT
+ STANDARD)
+
+1905 Protocol Operations for Version 2 of the Simple Network
+ Management Protocol (SNMPv2). SNMPv2 Working Group, J. Case, K.
+ McCloghrie, M. Rose, S. Waldbusser. January 1996. (Format: TXT=55526
+ bytes) (Obsoletes RFC1448) (Status: DRAFT STANDARD)
+
+1906 Transport Mappings for Version 2 of the Simple Network Management
+ Protocol (SNMPv2). SNMPv2 Working Group, J. Case, K. McCloghrie, M.
+ Rose, S. Waldbusser. January 1996. (Format: TXT=27465 bytes)
+ (Obsoletes RFC1449) (Status: DRAFT STANDARD)
+
+1907 Management Information Base for Version 2 of the Simple Network
+ Management Protocol (SNMPv2). SNMPv2 Working Group, J. Case, K.
+ McCloghrie, M. Rose, S. Waldbusser. January 1996. (Format: TXT=34881
+ bytes) (Obsoletes RFC1450) (Status: DRAFT STANDARD)
+
+1908 Coexistence between Version 1 and Version 2 of the
+ Internet-standard Network Management Framework. SNMPv2 Working Group,
+ J. Case, K. McCloghrie, M. Rose, S. Waldbusser. January 1996.
+ (Format: TXT=21463 bytes) (Obsoletes RFC1452) (Obsoleted by RFC2576)
+ (Status: DRAFT STANDARD)
+
+1909 An Administrative Infrastructure for SNMPv2. K. McCloghrie.
+ February 1996. (Format: TXT=45773 bytes) (Status: EXPERIMENTAL)
+
+1910 User-based Security Model for SNMPv2. G. Waters. February 1996.
+ (Format: TXT=98252 bytes) (Status: EXPERIMENTAL)
+
+1911 Voice Profile for Internet Mail. G. Vaudreuil. February 1996.
+ (Format: TXT=50242 bytes) (Obsoleted by RFC2421, RFC2422, RFC2423)
+ (Status: EXPERIMENTAL)
+
+1912 Common DNS Operational and Configuration Errors. D. Barr.
+ February 1996. (Format: TXT=38252 bytes) (Obsoletes RFC1537) (Status:
+ INFORMATIONAL)
+
+1913 Architecture of the Whois++ Index Service. C. Weider, J. Fullton,
+ S. Spero. February 1996. (Format: TXT=33743 bytes) (Status: PROPOSED
+ STANDARD)
+
+1914 How to Interact with a Whois++ Mesh. P. Faltstrom, R. Schoultz,
+ C. Weider. February 1996. (Format: TXT=17842 bytes) (Status: PROPOSED
+ STANDARD)
+
+1915 Variance for The PPP Connection Control Protocol and The PPP
+ Encryption Control Protocol. F. Kastenholz. February 1996. (Format:
+ TXT=14347 bytes) (Also BCP0003) (Status: BEST CURRENT PRACTICE)
+
+1916 Enterprise Renumbering: Experience and Information Solicitation.
+ H. Berkowitz, P. Ferguson, W. Leland, P. Nesser. February 1996.
+ (Format: TXT=16117 bytes) (Status: INFORMATIONAL)
+
+1917 An Appeal to the Internet Community to Return Unused IP Networks
+ (Prefixes) to the IANA. P. Nesser II. February 1996. (Format:
+ TXT=23623 bytes) (Also BCP0004) (Status: BEST CURRENT PRACTICE)
+
+1918 Address Allocation for Private Internets. Y. Rekhter, B.
+ Moskowitz, D. Karrenberg, G. J. de Groot, E. Lear. February 1996.
+ (Format: TXT=22270 bytes) (Obsoletes RFC1627, RFC1597) (Also BCP0005)
+ (Status: BEST CURRENT PRACTICE)
+
+1919 Classical versus Transparent IP Proxies. M. Chatel. March 1996.
+ (Format: TXT=87374 bytes) (Status: INFORMATIONAL)
+
+1920 Internet Official Protocol Standards. J. Postel. March 1996.
+ (Format: TXT=91936 bytes) (Obsoletes RFC1880) (Obsoleted by RFC2000)
+ (Status: HISTORIC)
+
+1921 TNVIP Protocol. J. Dujonc. March 1996. (Format: TXT=57475 bytes)
+ (Status: INFORMATIONAL)
+
+1922 Chinese Character Encoding for Internet Messages. HF. Zhu, DY.
+ Hu, ZG. Wang, TC. Kao, WCH. Chang, M. Crispin. March 1996. (Format:
+ TXT=50995 bytes) (Status: INFORMATIONAL)
+
+1923 RIPv1 Applicability Statement for Historic Status. J. Halpern, S.
+ Bradner. March 1996. (Format: TXT=5560 bytes) (Status: INFORMATIONAL)
+
+1924 A Compact Representation of IPv6 Addresses. R. Elz. Apr-01-1996.
+ (Format: TXT=10409 bytes) (Status: INFORMATIONAL)
+
+1925 The Twelve Networking Truths. R. Callon. Apr-01-1996. (Format:
+ TXT=4294 bytes) (Status: INFORMATIONAL)
+
+1926 An Experimental Encapsulation of IP Datagrams on Top of ATM. J.
+ Eriksson. Apr-01-1996. (Format: TXT=2969 bytes) (Status:
+ INFORMATIONAL)
+
+1927 Suggested Additional MIME Types for Associating Documents. C.
+ Rogers. Apr-01-1996. (Format: TXT=5254 bytes) (Status: INFORMATIONAL)
+
+1928 SOCKS Protocol Version 5. M. Leech, M. Ganis, Y. Lee, R. Kuris,
+ D. Koblas, L. Jones. March 1996. (Format: TXT=19741 bytes) (Status:
+ PROPOSED STANDARD)
+
+1929 Username/Password Authentication for SOCKS V5. M. Leech. March
+ 1996. (Format: TXT=3568 bytes) (Status: PROPOSED STANDARD)
+
+1930 Guidelines for creation, selection, and registration of an
+ Autonomous System (AS). J. Hawkinson, T. Bates. March 1996. (Format:
+ TXT=22073 bytes) (Also BCP0006) (Status: BEST CURRENT PRACTICE)
+
+1931 Dynamic RARP Extensions for Automatic Network Address
+ Acquisition. D. Brownell. April 1996. (Format: TXT=27544 bytes)
+ (Status: INFORMATIONAL)
+
+1932 IP over ATM: A Framework Document. R. Cole, D. Shur,, C.
+ Villamizar. April 1996. (Format: TXT=68031 bytes) (Status:
+ INFORMATIONAL)
+
+1933 Transition Mechanisms for IPv6 Hosts and Routers. R. Gilligan, E.
+ Nordmark. April 1996. (Format: TXT=47005 bytes) (Obsoleted by
+ RFC2893) (Status: PROPOSED STANDARD)
+
+1934 Ascend's Multilink Protocol Plus (MP+). K. Smith. April 1996.
+ (Format: TXT=87072 bytes) (Status: INFORMATIONAL)
+
+1935 What is the Internet, Anyway?. J. Quarterman, S. Carl-Mitchell.
+ April 1996. (Format: TXT=30369 bytes) (Status: INFORMATIONAL)
+
+1936 Implementing the Internet Checksum in Hardware. J. Touch, B.
+ Parham. April 1996. (Format: TXT=36618 bytes) (Status: INFORMATIONAL)
+
+1937 "Local/Remote" Forwarding Decision in Switched Data Link
+ Subnetworks. Y. Rekhter, D. Kandlur. May 1996. (Format: TXT=18302
+ bytes) (Status: INFORMATIONAL)
+
+1938 A One-Time Password System. N. Haller, C. Metz. May 1996.
+ (Format: TXT=44844 bytes) (Obsoleted by RFC2289) (Status: PROPOSED
+ STANDARD)
+
+1939 Post Office Protocol - Version 3. J. Myers, M. Rose. May 1996.
+ (Format: TXT=47018 bytes) (Obsoletes RFC1725) (Updated by RFC1957,
+ RFC2449) (Also STD0053) (Status: STANDARD)
+
+1940 Source Demand Routing: Packet Format and Forwarding Specification
+ (Version 1). D. Estrin, T. Li, Y. Rekhter, K. Varadhan, D. Zappala.
+ May 1996. (Format: TXT=60858 bytes) (Status: INFORMATIONAL)
+
+1941 Frequently Asked Questions for Schools. J. Sellers, J. Robichaux.
+ May 1996. (Format: TXT=150980 bytes) (Obsoletes RFC1578) (Also
+ FYI0022) (Status: INFORMATIONAL)
+
+1942 HTML Tables. D. Raggett. May 1996. (Format: TXT=68705 bytes)
+ (Obsoleted by RFC2854) (Status: HISTORIC)
+
+1943 Building an X.500 Directory Service in the US. B. Jennings. May
+ 1996. (Format: TXT=51266 bytes) (Status: INFORMATIONAL)
+
+1944 Benchmarking Methodology for Network Interconnect Devices. S.
+ Bradner, J. McQuaid. May 1996. (Format: TXT=66061 bytes) (Obsoleted
+ by RFC2544) (Status: INFORMATIONAL)
+
+1945 Hypertext Transfer Protocol -- HTTP/1.0. T. Berners-Lee, R.
+ Fielding, H. Frystyk. May 1996. (Format: TXT=137582 bytes) (Status:
+ INFORMATIONAL)
+
+1946 Native ATM Support for ST2+. S. Jackowski. May 1996. (Format:
+ TXT=50430 bytes) (Status: INFORMATIONAL)
+
+1947 Greek Character Encoding for Electronic Mail Messages. D.
+ Spinellis. May 1996. (Format: TXT=14428 bytes) (Status:
+ INFORMATIONAL)
+
+1948 Defending Against Sequence Number Attacks. S. Bellovin. May 1996.
+ (Format: TXT=13074 bytes) (Status: INFORMATIONAL)
+
+1949 Scalable Multicast Key Distribution. A. Ballardie. May 1996.
+ (Format: TXT=41853 bytes) (Status: EXPERIMENTAL)
+
+1950 ZLIB Compressed Data Format Specification version 3.3. P.
+ Deutsch, J-L. Gailly. May 1996. (Format: TXT=20502, PS=37768,
+ PDF=36393 bytes) (Status: INFORMATIONAL)
+
+1951 DEFLATE Compressed Data Format Specification version 1.3. P.
+ Deutsch. May 1996. (Format: TXT=36944, PS=57408, PDF=56620 bytes)
+ (Status: INFORMATIONAL)
+
+1952 GZIP file format specification version 4.3. P. Deutsch. May 1996.
+ (Format: TXT=25036, PS=43337, PDF=43211 bytes) (Status:
+ INFORMATIONAL)
+
+1953 Ipsilon Flow Management Protocol Specification for IPv4 Version
+ 1.0. P. Newman, W. Edwards, R. Hinden, E. Hoffman, F. Ching Liaw, T.
+ Lyon, G. Minshall. May 1996. (Format: TXT=43749 bytes) (Status:
+ INFORMATIONAL)
+
+1954 Transmission of Flow Labelled IPv4 on ATM Data Links Ipsilon
+ Version 1.0. P. Newman, W. Edwards, R. Hinden, E. Hoffman, F. Ching
+ Liaw, T. Lyon, G. Minshall. May 1996. (Format: TXT=16075 bytes)
+ (Status: INFORMATIONAL)
+
+1955 New Scheme for Internet Routing and Addressing (ENCAPS) for IPNG.
+ R. Hinden. June 1996. (Format: TXT=10115 bytes) (Status:
+ INFORMATIONAL)
+
+1956 Registration in the MIL Domain. D. Engebretson, R. Plzak. June
+ 1996. (Format: TXT=2923 bytes) (Status: INFORMATIONAL)
+
+1957 Some Observations on Implementations of the Post Office Protocol
+ (POP3). R. Nelson. June 1996. (Format: TXT=2325 bytes) (Updates
+ RFC1939) (Status: INFORMATIONAL)
+
+1958 Architectural Principles of the Internet. B. Carpenter. June
+ 1996. (Format: TXT=17345 bytes) (Status: INFORMATIONAL)
+
+1959 An LDAP URL Format. T. Howes, M. Smith. June 1996. (Format:
+ TXT=7243 bytes) (Obsoleted by RFC2255) (Status: PROPOSED STANDARD)
+
+1960 A String Representation of LDAP Search Filters. T. Howes. June
+ 1996. (Format: TXT=5288 bytes) (Obsoletes RFC1558) (Obsoleted by
+ RFC2254) (Status: PROPOSED STANDARD)
+
+1961 GSS-API Authentication Method for SOCKS Version 5. P. McMahon.
+ June 1996. (Format: TXT=16036 bytes) (Status: PROPOSED STANDARD)
+
+1962 The PPP Compression Control Protocol (CCP). D. Rand. June 1996.
+ (Format: TXT=18005 bytes) (Updated by RFC2153) (Status: PROPOSED
+ STANDARD)
+
+1963 PPP Serial Data Transport Protocol (SDTP). K. Schneider, S.
+ Venters. August 1996. (Format: TXT=38185 bytes) (Status:
+ INFORMATIONAL)
+
+1964 The Kerberos Version 5 GSS-API Mechanism. J. Linn. June 1996.
+ (Format: TXT=47413 bytes) (Status: PROPOSED STANDARD)
+
+1965 Autonomous System Confederations for BGP. P. Traina. June 1996.
+ (Format: TXT=13575 bytes) (Obsoleted by RFC3065) (Status:
+ EXPERIMENTAL)
+
+1966 BGP Route Reflection An alternative to full mesh IBGP. T. Bates,
+ R. Chandrasekeran. June 1996. (Format: TXT=14320 bytes) (Updated by
+ RFC2796) (Status: EXPERIMENTAL)
+
+1967 PPP LZS-DCP Compression Protocol (LZS-DCP). K. Schneider, R.
+ Friend. August 1996. (Format: TXT=40039 bytes) (Status:
+ INFORMATIONAL)
+
+1968 The PPP Encryption Control Protocol (ECP). G. Meyer. June 1996.
+ (Format: TXT=20781 bytes) (Status: PROPOSED STANDARD)
+
+1969 The PPP DES Encryption Protocol (DESE). K. Sklower, G. Meyer.
+ June 1996. (Format: TXT=20383 bytes) (Obsoleted by RFC2419) (Status:
+ INFORMATIONAL)
+
+1970 Neighbor Discovery for IP Version 6 (IPv6). T. Narten, E.
+ Nordmark, W. Simpson. August 1996. (Format: TXT=197632 bytes)
+ (Obsoleted by RFC2461) (Status: PROPOSED STANDARD)
+
+1971 IPv6 Stateless Address Autoconfiguration. S. Thomson, T. Narten.
+ August 1996. (Format: TXT=56890 bytes) (Obsoleted by RFC2462)
+ (Status: PROPOSED STANDARD)
+
+1972 A Method for the Transmission of IPv6 Packets over Ethernet
+ Networks. M. Crawford. August 1996. (Format: TXT=6353 bytes)
+ (Obsoleted by RFC2464) (Status: PROPOSED STANDARD)
+
+1973 PPP in Frame Relay. W. Simpson. June 1996. (Format: TXT=14780
+ bytes) (Status: PROPOSED STANDARD)
+
+1974 PPP Stac LZS Compression Protocol. R. Friend, W. Simpson. August
+ 1996. (Format: TXT=45267 bytes) (Status: INFORMATIONAL)
+
+1975 PPP Magnalink Variable Resource Compression. D. Schremp, J.
+ Black, J. Weiss. August 1996. (Format: TXT=8655 bytes) (Status:
+ INFORMATIONAL)
+
+1976 PPP for Data Compression in Data Circuit-Terminating Equipment
+ (DCE). K. Schneider, S. Venters. August 1996. (Format: TXT=19781
+ bytes) (Status: INFORMATIONAL)
+
+1977 PPP BSD Compression Protocol. V. Schryver. August 1996. (Format:
+ TXT=50747 bytes) (Status: INFORMATIONAL)
+
+1978 PPP Predictor Compression Protocol. D. Rand. August 1996.
+ (Format: TXT=17424 bytes) (Status: INFORMATIONAL)
+
+1979 PPP Deflate Protocol. J. Woods. August 1996. (Format: TXT=18803
+ bytes) (Status: INFORMATIONAL)
+
+1980 A Proposed Extension to HTML : Client-Side Image Maps. J.
+ Seidman. August 1996. (Format: TXT=13448 bytes) (Obsoleted by
+ RFC2854) (Status: HISTORIC)
+
+1981 Path MTU Discovery for IP version 6. J. McCann, S. Deering, J.
+ Mogul. August 1996. (Format: TXT=34088 bytes) (Status: PROPOSED
+ STANDARD)
+
+1982 Serial Number Arithmetic. R. Elz, R. Bush. August 1996. (Format:
+ TXT=14440 bytes) (Updates RFC1034, RFC1035) (Status: PROPOSED
+ STANDARD)
+
+1983 Internet Users' Glossary. G. Malkin. August 1996. (Format:
+ TXT=123008 bytes) (Obsoletes RFC1392) (Also FYI0018) (Status:
+ INFORMATIONAL)
+
+1984 IAB and IESG Statement on Cryptographic Technology and the
+ Internet. IAB, IESG. August 1996. (Format: TXT=10738 bytes) (Status:
+ INFORMATIONAL)
+
+1985 SMTP Service Extension for Remote Message Queue Starting. J. De
+ Winter. August 1996. (Format: TXT=14815 bytes) (Status: PROPOSED
+ STANDARD)
+
+1986 Experiments with a Simple File Transfer Protocol for Radio Links
+ using Enhanced Trivial File Transfer Protocol (ETFTP). W. Polites, W.
+ Wollman, D. Woo, R. Langan. August 1996. (Format: TXT=49772 bytes)
+ (Status: EXPERIMENTAL)
+
+1987 Ipsilon's General Switch Management Protocol Specification
+ Version 1.1. P. Newman, W. Edwards, R. Hinden, E. Hoffman, F. Ching
+ Liaw, T. Lyon, G. Minshall. August 1996. (Format: TXT=105821 bytes)
+ (Updated by RFC2297) (Status: INFORMATIONAL)
+
+1988 Conditional Grant of Rights to Specific Hewlett-Packard Patents
+ In Conjunction With the Internet Engineering Task Force's
+ Internet-Standard Network Management Framework. G. McAnally, D.
+ Gilbert, J. Flick. August 1996. (Format: TXT=3821 bytes) (Status:
+ INFORMATIONAL)
+
+1989 PPP Link Quality Monitoring. W. Simpson. August 1996. (Format:
+ TXT=29289 bytes) (Obsoletes RFC1333) (Status: DRAFT STANDARD)
+
+1990 The PPP Multilink Protocol (MP). K. Sklower, B. Lloyd, G.
+ McGregor, D. Carr, T. Coradetti. August 1996. (Format: TXT=53271
+ bytes) (Obsoletes RFC1717) (Status: DRAFT STANDARD)
+
+1991 PGP Message Exchange Formats. D. Atkins, W. Stallings, P.
+ Zimmermann. August 1996. (Format: TXT=46255 bytes) (Status:
+ INFORMATIONAL)
+
+1992 The Nimrod Routing Architecture. I. Castineyra, N. Chiappa, M.
+ Steenstrup. August 1996. (Format: TXT=59848 bytes) (Status:
+ INFORMATIONAL)
+
+1993 PPP Gandalf FZA Compression Protocol. A. Barbir, D. Carr, W.
+ Simpson. August 1996. (Format: TXT=9811 bytes) (Status:
+ INFORMATIONAL)
+
+1994 PPP Challenge Handshake Authentication Protocol (CHAP). W.
+ Simpson. August 1996. (Format: TXT=24094 bytes) (Obsoletes RFC1334)
+ (Updated by RFC2484) (Status: DRAFT STANDARD)
+
+1995 Incremental Zone Transfer in DNS. M. Ohta. August 1996. (Format:
+ TXT=16810 bytes) (Updates RFC1035) (Status: PROPOSED STANDARD)
+
+1996 A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY).
+ P. Vixie. August 1996. (Format: TXT=15247 bytes) (Updates RFC1035)
+ (Status: PROPOSED STANDARD)
+
+1997 BGP Communities Attribute. R. Chandra, P. Traina, T. Li. August
+ 1996. (Format: TXT=8275 bytes) (Status: PROPOSED STANDARD)
+
+1998 An Application of the BGP Community Attribute in Multi-home
+ Routing. E. Chen, T. Bates. August 1996. (Format: TXT=16953 bytes)
+ (Status: INFORMATIONAL)
+
+1999 Request for Comments Summary RFC Numbers 1900-1999. J. Elliott.
+ January 1997. (Format: TXT=39819 bytes) (Status: INFORMATIONAL)
+
+2000 Internet Official Protocol Standards. J. Postel, Editor. February
+ 1997. (Format: TXT=121356 bytes) (Obsoletes RFC1920) (Obsoleted by
+ RFC2200) (Status: HISTORIC)
+
+2001 TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast
+ Recovery Algorithms. W. Stevens. January 1997. (Format: TXT=12981
+ bytes) (Obsoleted by RFC2581) (Status: PROPOSED STANDARD)
+
+2002 IP Mobility Support. C. Perkins. October 1996. (Format:
+ TXT=193103 bytes) (Updated by RFC2290) (Status: PROPOSED STANDARD)
+
+2003 IP Encapsulation within IP. C. Perkins. October 1996. (Format:
+ TXT=30291 bytes) (Status: PROPOSED STANDARD)
+
+2004 Minimal Encapsulation within IP. C. Perkins. October 1996.
+ (Format: TXT=12202 bytes) (Status: PROPOSED STANDARD)
+
+2005 Applicability Statement for IP Mobility Support. J. Solomon.
+ October 1996. (Format: TXT=10509 bytes) (Status: PROPOSED STANDARD)
+
+2006 The Definitions of Managed Objects for IP Mobility Support using
+ SMIv2. D. Cong, M. Hamlen, C. Perkins. October 1996. (Format:
+ TXT=95030 bytes) (Status: PROPOSED STANDARD)
+
+2007 Catalogue of Network Training Materials. J. Foster, M. Isaacs, M.
+ Prior. October 1996. (Format: TXT=78941 bytes) (Also FYI0029)
+ (Status: INFORMATIONAL)
+
+2008 Implications of Various Address Allocation Policies for Internet
+ Routing. Y. Rekhter, T. Li. October 1996. (Format: TXT=34717 bytes)
+ (Also BCP0007) (Status: BEST CURRENT PRACTICE)
+
+2009 GPS-Based Addressing and Routing. T. Imielinski, J. Navas.
+ November 1996. (Format: TXT=66229 bytes) (Status: EXPERIMENTAL)
+
+2010 Operational Criteria for Root Name Servers. B. Manning, P. Vixie.
+ October 1996. (Format: TXT=14870 bytes) (Obsoleted by RFC2870)
+ (Status: INFORMATIONAL)
+
+2011 SNMPv2 Management Information Base for the Internet Protocol
+ using SMIv2. K. McCloghrie. November 1996. (Format: TXT=31168 bytes)
+ (Updates RFC1213) (Status: PROPOSED STANDARD)
+
+2012 SNMPv2 Management Information Base for the Transmission Control
+ Protocol using SMIv2. K. McCloghrie. November 1996. (Format:
+ TXT=16792 bytes) (Updates RFC1213) (Status: PROPOSED STANDARD)
+
+2013 SNMPv2 Management Information Base for the User Datagram Protocol
+ using SMIv2. K. McCloghrie. November 1996. (Format: TXT=9333 bytes)
+ (Updates RFC1213) (Status: PROPOSED STANDARD)
+
+2014 IRTF Research Group Guidelines and Procedures. A. Weinrib, J.
+ Postel. October 1996. (Format: TXT=27507 bytes) (Also BCP0008)
+ (Status: BEST CURRENT PRACTICE)
+
+2015 MIME Security with Pretty Good Privacy (PGP). M. Elkins. October
+ 1996. (Format: TXT=14223 bytes) (Updated by RFC3156) (Status:
+ PROPOSED STANDARD)
+
+2016 Uniform Resource Agents (URAs). L. Daigle, P. Deutsch, B. Heelan,
+ C. Alpaugh, M. Maclachlan. October 1996. (Format: TXT=38355 bytes)
+ (Status: EXPERIMENTAL)
+
+2017 Definition of the URL MIME External-Body Access-Type. N. Freed,
+ K. Moore, A. Cargille. October 1996. (Format: TXT=9000 bytes)
+ (Status: PROPOSED STANDARD)
+
+2018 TCP Selective Acknowledgement Options. M. Mathis, J. Mahdavi, S.
+ Floyd, A. Romanow. October 1996. (Format: TXT=25671 bytes) (Obsoletes
+ RFC1072) (Status: PROPOSED STANDARD)
+
+2019 Transmission of IPv6 Packets Over FDDI. M. Crawford. October
+ 1996. (Format: TXT=12344 bytes) (Obsoleted by RFC2467) (Status:
+ PROPOSED STANDARD)
+
+2020 IEEE 802.12 Interface MIB. J. Flick. October 1996. (Format:
+ TXT=72135 bytes) (Status: PROPOSED STANDARD)
+
+2021 Remote Network Monitoring Management Information Base Version 2
+ using SMIv2. S. Waldbusser. January 1997. (Format: TXT=262223 bytes)
+ (Status: PROPOSED STANDARD)
+
+2022 Support for Multicast over UNI 3.0/3.1 based ATM Networks. G.
+ Armitage. November 1996. (Format: TXT=189219 bytes) (Status: PROPOSED
+ STANDARD)
+
+2023 IP Version 6 over PPP. D. Haskin, E. Allen. October 1996.
+ (Format: TXT=20275 bytes) (Obsoleted by RFC2472) (Status: PROPOSED
+ STANDARD)
+
+2024 Definitions of Managed Objects for Data Link Switching using
+ SMIv2. D. Chen, P. Gayek, S. Nix. October 1996. (Format: TXT=173952
+ bytes) (Status: PROPOSED STANDARD)
+
+2025 The Simple Public-Key GSS-API Mechanism (SPKM). C. Adams. October
+ 1996. (Format: TXT=101692 bytes) (Status: PROPOSED STANDARD)
+
+2026 The Internet Standards Process -- Revision 3. S. Bradner. October
+ 1996. (Format: TXT=86731 bytes) (Obsoletes RFC1602) (Also BCP0009)
+ (Status: BEST CURRENT PRACTICE)
+
+2027 IAB and IESG Selection, Confirmation, and Recall Process:
+ Operation of the Nominating and Recall Committees. J. Galvin. October
+ 1996. (Format: TXT=24207 bytes) (Obsoleted by RFC2282) (Status:
+ INFORMATIONAL)
+
+2028 The Organizations Involved in the IETF Standards Process. R.
+ Hovey, S. Bradner. October 1996. (Format: TXT=13865 bytes) (Also
+ BCP0011) (Status: BEST CURRENT PRACTICE)
+
+2029 RTP Payload Format of Sun's CellB Video Encoding. M. Speer, D.
+ Hoffman. October 1996. (Format: TXT=11216 bytes) (Status: PROPOSED
+ STANDARD)
+
+2030 Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and
+ OSI. D. Mills. October 1996. (Format: TXT=48620 bytes) (Obsoletes
+ RFC1769) (Status: INFORMATIONAL)
+
+2031 IETF-ISOC relationship. E. Huizer. October 1996. (Format:
+ TXT=8816 bytes) (Status: INFORMATIONAL)
+
+2032 RTP Payload Format for H.261 Video Streams. T. Turletti, C.
+ Huitema. October 1996. (Format: TXT=27488 bytes) (Status: PROPOSED
+ STANDARD)
+
+2033 Local Mail Transfer Protocol. J. Myers. October 1996. (Format:
+ TXT=14711 bytes) (Status: INFORMATIONAL)
+
+2034 SMTP Service Extension for Returning Enhanced Error Codes. N.
+ Freed. October 1996. (Format: TXT=10460 bytes) (Status: PROPOSED
+ STANDARD)
+
+2035 RTP Payload Format for JPEG-compressed Video. L. Berc, W. Fenner,
+ R. Frederick, S. McCanne. October 1996. (Format: TXT=30079 bytes)
+ (Obsoleted by RFC2435) (Status: PROPOSED STANDARD)
+
+2036 Observations on the use of Components of the Class A Address
+ Space within the Internet. G. Huston. October 1996. (Format:
+ TXT=20743 bytes) (Status: INFORMATIONAL)
+
+2037 Entity MIB using SMIv2. K. McCloghrie, A. Bierman. October 1996.
+ (Format: TXT=74362 bytes) (Obsoleted by RFC2737) (Status: PROPOSED
+ STANDARD)
+
+2038 RTP Payload Format for MPEG1/MPEG2 Video. D. Hoffman, G.
+ Fernando, V. Goyal. October 1996. (Format: TXT=23266 bytes)
+ (Obsoleted by RFC2250) (Status: PROPOSED STANDARD)
+
+2039 Applicability of Standards Track MIBs to Management of World Wide
+ Web Servers. C. Kalbfleisch. November 1996. (Format: TXT=31966 bytes)
+ (Status: INFORMATIONAL)
+
+2040 The RC5, RC5-CBC, RC5-CBC-Pad, and RC5-CTS Algorithms. R.
+ Baldwin, R. Rivest. October 1996. (Format: TXT=54598 bytes) (Status:
+ INFORMATIONAL)
+
+2041 Mobile Network Tracing. B. Noble, G. Nguyen, M. Satyanarayanan,
+ R. Katz. October 1996. (Format: TXT=64688 bytes) (Status:
+ INFORMATIONAL)
+
+2042 Registering New BGP Attribute Types. B. Manning. January 1997.
+ (Format: TXT=4001 bytes) (Status: INFORMATIONAL)
+
+2043 The PPP SNA Control Protocol (SNACP). A. Fuqua. October 1996.
+ (Format: TXT=13719 bytes) (Status: PROPOSED STANDARD)
+
+2044 UTF-8, a transformation format of Unicode and ISO 10646. F.
+ Yergeau. October 1996. (Format: TXT=11932 bytes) (Obsoleted by
+ RFC2279) (Status: INFORMATIONAL)
+
+2045 Multipurpose Internet Mail Extensions (MIME) Part One: Format of
+ Internet Message Bodies. N. Freed, N. Borenstein. November 1996.
+ (Format: TXT=72932 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
+ (Updated by RFC2184, RFC2231) (Status: DRAFT STANDARD)
+
+2046 Multipurpose Internet Mail Extensions (MIME) Part Two: Media
+ Types. N. Freed, N. Borenstein. November 1996. (Format: TXT=105854
+ bytes) (Obsoletes RFC1521, RFC1522, RFC1590) (Updated by RFC2646)
+ (Status: DRAFT STANDARD)
+
+2047 MIME (Multipurpose Internet Mail Extensions) Part Three: Message
+ Header Extensions for Non-ASCII Text. K. Moore. November 1996.
+ (Format: TXT=33262 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
+ (Updated by RFC2184, RFC2231) (Status: DRAFT STANDARD)
+
+2048 Multipurpose Internet Mail Extensions (MIME) Part Four:
+ Registration Procedures. N. Freed, J. Klensin, J. Postel. November
+ 1996. (Format: TXT=45033 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
+ (Updated by RFC3023) (Also BCP0013) (Status: BEST CURRENT PRACTICE)
+
+2049 Multipurpose Internet Mail Extensions (MIME) Part Five:
+ Conformance Criteria and Examples. N. Freed, N. Borenstein. November
+ 1996. (Format: TXT=51207 bytes) (Obsoletes RFC1521, RFC1522, RFC1590)
+ (Status: DRAFT STANDARD)
+
+2050 Internet Registry IP Allocation Guidelines. K. Hubbard, M.
+ Kosters, D. Conrad, D. Karrenberg, J. Postel. November 1996. (Format:
+ TXT=28975 bytes) (Obsoletes RFC1466) (Also BCP0012) (Status: BEST
+ CURRENT PRACTICE)
+
+2051 Definitions of Managed Objects for APPC using SMIv2. M. Allen, B.
+ Clouston, Z. Kielczewski, W. Kwan, B. Moore. October 1996. (Format:
+ TXT=239359 bytes) (Status: PROPOSED STANDARD)
+
+2052 A DNS RR for specifying the location of services (DNS SRV). A.
+ Gulbrandsen, P. Vixie. October 1996. (Format: TXT=19257 bytes)
+ (Obsoleted by RFC2782) (Status: EXPERIMENTAL)
+
+2053 The AM (Armenia) Domain. E. Der-Danieliantz. October 1996.
+ (Format: TXT=4128 bytes) (Status: INFORMATIONAL)
+
+2054 WebNFS Client Specification. B. Callaghan. October 1996. (Format:
+ TXT=36354 bytes) (Status: INFORMATIONAL)
+
+2055 WebNFS Server Specification. B. Callaghan. October 1996. (Format:
+ TXT=20498 bytes) (Status: INFORMATIONAL)
+
+2056 Uniform Resource Locators for Z39.50. R. Denenberg, J. Kunze, D.
+ Lynch. November 1996. (Format: TXT=14204 bytes) (Status: PROPOSED
+ STANDARD)
+
+2057 Source Directed Access Control on the Internet. S. Bradner.
+ November 1996. (Format: TXT=56664 bytes) (Status: INFORMATIONAL)
+
+2058 Remote Authentication Dial In User Service (RADIUS). C. Rigney,
+ A. Rubens, W. Simpson, S. Willens. January 1997. (Format: TXT=118880
+ bytes) (Obsoleted by RFC2138) (Status: PROPOSED STANDARD)
+
+2059 RADIUS Accounting. C. Rigney. January 1997. (Format: TXT=44237
+ bytes) (Obsoleted by RFC2139) (Status: INFORMATIONAL)
+
+2060 Internet Message Access Protocol - Version 4rev1. M. Crispin.
+ December 1996. (Format: TXT=166513 bytes) (Obsoletes RFC1730)
+ (Status: PROPOSED STANDARD)
+
+2061 IMAP4 Compatibility with IMAP2bis. M. Crispin. December 1996.
+ (Format: TXT=5867 bytes) (Obsoletes RFC1730) (Status: INFORMATIONAL)
+
+2062 Internet Message Access Protocol - Obsolete Syntax. M. Crispin.
+ December 1996. (Format: TXT=14222 bytes) (Status: INFORMATIONAL)
+
+2063 Traffic Flow Measurement: Architecture. N. Brownlee, C. Mills, G.
+ Ruth. January 1997. (Format: TXT=89092 bytes) (Obsoleted by RFC2722)
+ (Status: EXPERIMENTAL)
+
+2064 Traffic Flow Measurement: Meter MIB. N. Brownlee. January 1997.
+ (Format: TXT=67520 bytes) (Obsoleted by RFC2720) (Status:
+ EXPERIMENTAL)
+
+2065 Domain Name System Security Extensions. D. Eastlake, C. Kaufman.
+ January 1997. (Format: TXT=97718 bytes) (Obsoleted by RFC2535)
+ (Updates RFC1034, RFC1035) (Status: PROPOSED STANDARD)
+
+2066 TELNET CHARSET Option. R. Gellens. January 1997. (Format:
+ TXT=26088 bytes) (Status: EXPERIMENTAL)
+
+2067 IP over HIPPI. J. Renwick. January 1997. (Format: TXT=66702
+ bytes) (Status: DRAFT STANDARD)
+
+2068 Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys,
+ J. Mogul, H. Frystyk, T. Berners-Lee. January 1997. (Format:
+ TXT=378114 bytes) (Obsoleted by RFC2616) (Status: PROPOSED STANDARD)
+
+2069 An Extension to HTTP : Digest Access Authentication. J. Franks,
+ P. Hallam-Baker, J. Hostetler, P. Leach, A. Luotonen, E. Sink, L.
+ Stewart. January 1997. (Format: TXT=41733 bytes) (Obsoleted by
+ RFC2617) (Status: PROPOSED STANDARD)
+
+2070 Internationalization of the Hypertext Markup Language. F.
+ Yergeau, G. Nicol, G. Adams, M. Duerst. January 1997. (Format:
+ TXT=91887 bytes) (Obsoleted by RFC2854) (Status: HISTORIC)
+
+2071 Network Renumbering Overview: Why would I want it and what is it
+ anyway?. P. Ferguson, H. Berkowitz. January 1997. (Format: TXT=33218
+ bytes) (Status: INFORMATIONAL)
+
+2072 Router Renumbering Guide. H. Berkowitz. January 1997. (Format:
+ TXT=110591 bytes) (Status: INFORMATIONAL)
+
+2073 An IPv6 Provider-Based Unicast Address Format. Y. Rekhter, P.
+ Lothberg, R. Hinden, S. Deering, J. Postel. January 1997. (Format:
+ TXT=15549 bytes) (Obsoleted by RFC2374) (Status: PROPOSED STANDARD)
+
+2074 Remote Network Monitoring MIB Protocol Identifiers. A. Bierman,
+ R. Iddon. January 1997. (Format: TXT=81262 bytes) (Obsoleted by
+ RFC2895) (Status: PROPOSED STANDARD)
+
+2075 IP Echo Host Service. C. Partridge. January 1997. (Format:
+ TXT=12536 bytes) (Status: EXPERIMENTAL)
+
+2076 Common Internet Message Headers. J. Palme. February 1997.
+ (Format: TXT=47639 bytes) (Status: INFORMATIONAL)
+
+2077 The Model Primary Content Type for Multipurpose Internet Mail
+ Extensions. S. Nelson, C. Parks, Mitra. January 1997. (Format:
+ TXT=30158 bytes) (Status: PROPOSED STANDARD)
+
+2078 Generic Security Service Application Program Interface, Version
+ 2. J. Linn. January 1997. (Format: TXT=185990 bytes) (Obsoletes
+ RFC1508) (Obsoleted by RFC2743) (Status: PROPOSED STANDARD)
+
+2079 Definition of an X.500 Attribute Type and an Object Class to Hold
+ Uniform Resource Identifiers (URIs). M. Smith. January 1997. (Format:
+ TXT=8757 bytes) (Status: PROPOSED STANDARD)
+
+2080 RIPng for IPv6. G. Malkin, R. Minnear. January 1997. (Format:
+ TXT=47534 bytes) (Status: PROPOSED STANDARD)
+
+2081 RIPng Protocol Applicability Statement. G. Malkin. January 1997.
+ (Format: TXT=6821 bytes) (Status: INFORMATIONAL)
+
+2082 RIP-2 MD5 Authentication. F. Baker, R. Atkinson. January 1997.
+ (Format: TXT=25436 bytes) (Status: PROPOSED STANDARD)
+
+2083 PNG (Portable Network Graphics) Specification Version 1.0. T.
+ Boutell. March 1997. (Format: TXT=242528 bytes) (Status:
+ INFORMATIONAL)
+
+2084 Considerations for Web Transaction Security. G. Bossert, S.
+ Cooper, W. Drummond. January 1997. (Format: TXT=9022 bytes) (Status:
+ INFORMATIONAL)
+
+2085 HMAC-MD5 IP Authentication with Replay Prevention. M. Oehler, R.
+ Glenn. February 1997. (Format: TXT=13399 bytes) (Status: PROPOSED
+ STANDARD)
+
+2086 IMAP4 ACL extension. J. Myers. January 1997. (Format: TXT=13925
+ bytes) (Status: PROPOSED STANDARD)
+
+2087 IMAP4 QUOTA extension. J. Myers. January 1997. (Format: TXT=8542
+ bytes) (Status: PROPOSED STANDARD)
+
+2088 IMAP4 non-synchronizing literals. J. Myers. January 1997.
+ (Format: TXT=4052 bytes) (Status: PROPOSED STANDARD)
+
+2089 V2ToV1 Mapping SNMPv2 onto SNMPv1 within a bi-lingual SNMP agent.
+ B. Wijnen, D. Levi. January 1997. (Format: TXT=23814 bytes)
+ (Obsoleted by RFC2576) (Status: INFORMATIONAL)
+
+2090 TFTP Multicast Option. A. Emberson. February 1997. (Format:
+ TXT=11857 bytes) (Status: EXPERIMENTAL)
+
+2091 Triggered Extensions to RIP to Support Demand Circuits. G. Meyer,
+ S. Sherry. January 1997. (Format: TXT=44835 bytes) (Status: PROPOSED
+ STANDARD)
+
+2092 Protocol Analysis for Triggered RIP. S. Sherry, G. Meyer. January
+ 1997. (Format: TXT=10865 bytes) (Status: INFORMATIONAL)
+
+2093 Group Key Management Protocol (GKMP) Specification. H. Harney, C.
+ Muckenhirn. July 1997. (Format: TXT=48678 bytes) (Status:
+ EXPERIMENTAL)
+
+2094 Group Key Management Protocol (GKMP) Architecture. H. Harney, C.
+ Muckenhirn. July 1997. (Format: TXT=53097 bytes) (Status:
+ EXPERIMENTAL)
+
+2095 IMAP/POP AUTHorize Extension for Simple Challenge/Response. J.
+ Klensin, R. Catoe, P. Krumviede. January 1997. (Format: TXT=10446
+ bytes) (Obsoleted by RFC2195) (Status: PROPOSED STANDARD)
+
+2096 IP Forwarding Table MIB. F. Baker. January 1997. (Format:
+ TXT=35930 bytes) (Obsoletes RFC1354) (Status: PROPOSED STANDARD)
+
+2097 The PPP NetBIOS Frames Control Protocol (NBFCP). G. Pall. January
+ 1997. (Format: TXT=27104 bytes) (Status: PROPOSED STANDARD)
+
+2098 Toshiba's Router Architecture Extensions for ATM : Overview. Y.
+ Katsube, K. Nagami, H. Esaki. February 1997. (Format: TXT=43622
+ bytes) (Status: INFORMATIONAL)
+
+2099 Request for Comments Summary RFC Numbers 2000-2099. J. Elliott.
+ March 1997. (Format: TXT=40763 bytes) (Status: INFORMATIONAL)
+
+2100 The Naming of Hosts. J. Ashworth. Apr-01-1997. (Format: TXT=4077
+ bytes) (Status: INFORMATIONAL)
+
+2101 IPv4 Address Behaviour Today. B. Carpenter, J. Crowcroft, Y.
+ Rekhter. February 1997. (Format: TXT=31407 bytes) (Status:
+ INFORMATIONAL)
+
+2102 Multicast Support for Nimrod : Requirements and Solution
+ Approaches. R. Ramanathan. February 1997. (Format: TXT=50963 bytes)
+ (Status: INFORMATIONAL)
+
+2103 Mobility Support for Nimrod : Challenges and Solution Approaches.
+ R. Ramanathan. February 1997. (Format: TXT=41352 bytes) (Status:
+ INFORMATIONAL)
+
+2104 HMAC: Keyed-Hashing for Message Authentication. H. Krawczyk, M.
+ Bellare, R. Canetti. February 1997. (Format: TXT=22297 bytes)
+ (Status: INFORMATIONAL)
+
+2105 Cisco Systems' Tag Switching Architecture Overview. Y. Rekhter,
+ B. Davie, D. Katz, E. Rosen, G. Swallow. February 1997. (Format:
+ TXT=33013 bytes) (Status: INFORMATIONAL)
+
+2106 Data Link Switching Remote Access Protocol. S. Chiang, J. Lee, H.
+ Yasuda. February 1997. (Format: TXT=40819 bytes) (Obsoleted by
+ RFC2114) (Status: INFORMATIONAL)
+
+2107 Ascend Tunnel Management Protocol - ATMP. K. Hamzeh. February
+ 1997. (Format: TXT=44300 bytes) (Status: INFORMATIONAL)
+
+2108 Definitions of Managed Objects for IEEE 802.3 Repeater Devices
+ using SMIv2. K. de Graaf, D. Romascanu, D. McMaster, K. McCloghrie.
+ February 1997. (Format: TXT=166336 bytes) (Obsoletes RFC1516)
+ (Status: PROPOSED STANDARD)
+
+2109 HTTP State Management Mechanism. D. Kristol, L. Montulli.
+ February 1997. (Format: TXT=43469 bytes) (Obsoleted by RFC2965)
+ (Status: PROPOSED STANDARD)
+
+2110 MIME E-mail Encapsulation of Aggregate Documents, such as HTML
+ (MHTML). J. Palme, A. Hopmann. March 1997. (Format: TXT=41961 bytes)
+ (Obsoleted by RFC2557) (Status: PROPOSED STANDARD)
+
+2111 Content-ID and Message-ID Uniform Resource Locators. E. Levinson.
+ March 1997. (Format: TXT=9099 bytes) (Obsoleted by RFC2392) (Status:
+ PROPOSED STANDARD)
+
+2112 The MIME Multipart/Related Content-type. E. Levinson. March 1997.
+ (Format: TXT=17052 bytes) (Obsoletes RFC1872) (Obsoleted by RFC2387)
+ (Status: PROPOSED STANDARD)
+
+2113 IP Router Alert Option. D. Katz. February 1997. (Format: TXT=7924
+ bytes) (Status: PROPOSED STANDARD)
+
+2114 Data Link Switching Client Access Protocol. S. Chiang, J. Lee, H.
+ Yasuda. February 1997. (Format: TXT=50872 bytes) (Obsoletes RFC2106)
+ (Status: INFORMATIONAL)
+
+2115 Management Information Base for Frame Relay DTEs Using SMIv2. C.
+ Brown, F. Baker. September 1997. (Format: TXT=59950 bytes) (Obsoletes
+ RFC1315) (Status: DRAFT STANDARD)
+
+2116 X.500 Implementations Catalog-96. C. Apple, K. Rossen. April
+ 1997. (Format: TXT=243994 bytes) (Obsoletes RFC1632) (Also FYI0011)
+ (Status: INFORMATIONAL)
+
+2117 Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol
+ Specification. D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S.
+ Deering, M. Handley, V. Jacobson, C. Liu, P. Sharma, L. Wei. June
+ 1997. (Format: TXT=151886 bytes) (Obsoleted by RFC2362) (Status:
+ EXPERIMENTAL)
+
+2118 Microsoft Point-To-Point Compression (MPPC) Protocol. G. Pall.
+ March 1997. (Format: TXT=17443 bytes) (Status: INFORMATIONAL)
+
+2119 Key words for use in RFCs to Indicate Requirement Levels. S.
+ Bradner. March 1997. (Format: TXT=4723 bytes) (Also BCP0014) (Status:
+ BEST CURRENT PRACTICE)
+
+2120 Managing the X.500 Root Naming Context. D. Chadwick. March 1997.
+ (Format: TXT=30773 bytes) (Status: EXPERIMENTAL)
+
+2121 Issues affecting MARS Cluster Size. G. Armitage. March 1997.
+ (Format: TXT=26781 bytes) (Status: INFORMATIONAL)
+
+2122 VEMMI URL Specification. D. Mavrakis, H. Layec, K. Kartmann.
+ March 1997. (Format: TXT=25043 bytes) (Status: PROPOSED STANDARD)
+
+2123 Traffic Flow Measurement: Experiences with NeTraMet. N. Brownlee.
+ March 1997. (Format: TXT=81874 bytes) (Status: INFORMATIONAL)
+
+2124 Cabletron's Light-weight Flow Admission Protocol Specification
+ Version 1.0. P. Amsden, J. Amweg, P. Calato, S. Bensley, G. Lyons.
+ March 1997. (Format: TXT=47912 bytes) (Status: INFORMATIONAL)
+
+2125 The PPP Bandwidth Allocation Protocol (BAP) / The PPP Bandwidth
+ Allocation Control Protocol (BACP). C. Richards, K. Smith. March
+ 1997. (Format: TXT=49213 bytes) (Status: PROPOSED STANDARD)
+
+2126 ISO Transport Service on top of TCP (ITOT). Y. Pouffary, A.
+ Young. March 1997. (Format: TXT=51032 bytes) (Updates RFC1006)
+ (Status: PROPOSED STANDARD)
+
+2127 ISDN Management Information Base using SMIv2. G. Roeck. March
+ 1997. (Format: TXT=95994 bytes) (Status: PROPOSED STANDARD)
+
+2128 Dial Control Management Information Base using SMIv2. G. Roeck.
+ March 1997. (Format: TXT=66153 bytes) (Status: PROPOSED STANDARD)
+
+2129 Toshiba's Flow Attribute Notification Protocol (FANP)
+ Specification. K. Nagami, Y. Katsube, Y. Shobatake, A. Mogi, S.
+ Matsuzawa, T. Jinmei, H. Esaki. April 1997. (Format: TXT=41137 bytes)
+ (Status: INFORMATIONAL)
+
+2130 The Report of the IAB Character Set Workshop held 29 February - 1
+ March, 1996. C. Weider, C. Preston, K. Simonsen, H. Alvestrand, R.
+ Atkinson, M. Crispin, P. Svanberg. April 1997. (Format: TXT=63443
+ bytes) (Status: INFORMATIONAL)
+
+2131 Dynamic Host Configuration Protocol. R. Droms. March 1997.
+ (Format: TXT=113738 bytes) (Obsoletes RFC1541) (Status: DRAFT
+ STANDARD)
+
+2132 DHCP Options and BOOTP Vendor Extensions. S. Alexander, R. Droms.
+ March 1997. (Format: TXT=63670 bytes) (Obsoletes RFC1533) (Status:
+ DRAFT STANDARD)
+
+2133 Basic Socket Interface Extensions for IPv6. R. Gilligan, S.
+ Thomson, J. Bound, W. Stevens. April 1997. (Format: TXT=69737 bytes)
+ (Obsoleted by RFC2553) (Status: INFORMATIONAL)
+
+2134 Articles of Incorporation of Internet Society. ISOC Board of
+ Trustees. April 1997. (Format: TXT=9131 bytes) (Status:
+ INFORMATIONAL)
+
+2135 Internet Society By-Laws. ISOC Board of Trustees. April 1997.
+ (Format: TXT=20467 bytes) (Status: INFORMATIONAL)
+
+2136 Dynamic Updates in the Domain Name System (DNS UPDATE). P. Vixie,
+ Ed., S. Thomson, Y. Rekhter, J. Bound. April 1997. (Format: TXT=56354
+ bytes) (Updates RFC1035) (Updated by RFC3007) (Status: PROPOSED
+ STANDARD)
+
+2137 Secure Domain Name System Dynamic Update. D. Eastlake. April
+ 1997. (Format: TXT=24824 bytes) (Obsoleted by RFC3007) (Updates
+ RFC1035) (Status: PROPOSED STANDARD)
+
+2138 Remote Authentication Dial In User Service (RADIUS). C. Rigney,
+ A. Rubens, W. Simpson, S. Willens. April 1997. (Format: TXT=120407
+ bytes) (Obsoletes RFC2058) (Obsoleted by RFC2865) (Status: PROPOSED
+ STANDARD)
+
+2139 RADIUS Accounting. C. Rigney. April 1997. (Format: TXT=44919
+ bytes) (Obsoletes RFC2059) (Obsoleted by RFC2866) (Status:
+ INFORMATIONAL)
+
+2140 TCP Control Block Interdependence. J. Touch. April 1997. (Format:
+ TXT=26032 bytes) (Status: INFORMATIONAL)
+
+2141 URN Syntax. R. Moats. May 1997. (Format: TXT=14077 bytes)
+ (Status: PROPOSED STANDARD)
+
+2142 Mailbox Names for Common Services, Roles and Functions. D.
+ Crocker. May 1997. (Format: TXT=12195 bytes) (Status: PROPOSED
+ STANDARD)
+
+2143 Encapsulating IP with the Small Computer System Interface. B.
+ Elliston. May 1997. (Format: TXT=10749 bytes) (Status: EXPERIMENTAL)
+
+2144 The CAST-128 Encryption Algorithm. C. Adams. May 1997. (Format:
+ TXT=37532 bytes) (Status: INFORMATIONAL)
+
+2145 Use and Interpretation of HTTP Version Numbers. J. C. Mogul, R.
+ Fielding, J. Gettys, H. Frystyk. May 1997. (Format: TXT=13659 bytes)
+ (Status: INFORMATIONAL)
+
+2146 U.S. Government Internet Domain Names. Federal Networking
+ Council. May 1997. (Format: TXT=26564 bytes) (Obsoletes RFC1816)
+ (Status: INFORMATIONAL)
+
+2147 TCP and UDP over IPv6 Jumbograms. D. Borman. May 1997. (Format:
+ TXT=1883 bytes) (Obsoleted by RFC2675) (Status: PROPOSED STANDARD)
+
+2148 Deployment of the Internet White Pages Service. H. Alvestrand, P.
+ Jurg. September 1997. (Format: TXT=31539 bytes) (Also BCP0015)
+ (Status: BEST CURRENT PRACTICE)
+
+2149 Multicast Server Architectures for MARS-based ATM multicasting.
+ R. Talpade, M. Ammar. May 1997. (Format: TXT=42007 bytes) (Status:
+ INFORMATIONAL)
+
+2150 Humanities and Arts: Sharing Center Stage on the Internet. J.
+ Max, W. Stickle. October 1997. (Format: TXT=154037 bytes) (Also
+ FYI0031) (Status: INFORMATIONAL)
+
+2151 A Primer On Internet and TCP/IP Tools and Utilities. G. Kessler,
+ S. Shepard. June 1997. (Format: TXT=114130 bytes) (Obsoletes RFC1739)
+ (Also FYI0030) (Status: INFORMATIONAL)
+
+2152 UTF-7 A Mail-Safe Transformation Format of Unicode. D. Goldsmith,
+ M. Davis. May 1997. (Format: TXT=28065 bytes) (Obsoletes RFC1642)
+ (Status: INFORMATIONAL)
+
+2153 PPP Vendor Extensions. W. Simpson. May 1997. (Format: TXT=10780
+ bytes) (Updates RFC1661, RFC1962) (Status: INFORMATIONAL)
+
+2154 OSPF with Digital Signatures. S. Murphy, M. Badger, B.
+ Wellington. June 1997. (Format: TXT=72701 bytes) (Status:
+ EXPERIMENTAL)
+
+2155 Definitions of Managed Objects for APPN using SMIv2. B. Clouston,
+ B. Moore. June 1997. (Format: TXT=213809 bytes) (Obsoleted by
+ RFC2455) (Status: PROPOSED STANDARD)
+
+2156 MIXER (Mime Internet X.400 Enhanced Relay): Mapping between X.400
+ and RFC 822/MIME. S. Kille. January 1998. (Format: TXT=280385 bytes)
+ (Obsoletes RFC0987, RFC1026, RFC1138, RFC1148, RFC1327, RFC1495)
+ (Updates RFC0822) (Status: PROPOSED STANDARD)
+
+2157 Mapping between X.400 and RFC-822/MIME Message Bodies. H.
+ Alvestrand. January 1998. (Format: TXT=92554 bytes) (Status: PROPOSED
+ STANDARD)
+
+2158 X.400 Image Body Parts. H. Alvestrand. January 1998. (Format:
+ TXT=5547 bytes) (Status: PROPOSED STANDARD)
+
+2159 A MIME Body Part for FAX. H. Alvestrand. January 1998. (Format:
+ TXT=11471 bytes) (Status: PROPOSED STANDARD)
+
+2160 Carrying PostScript in X.400 and MIME. H. Alvestrand. January
+ 1998. (Format: TXT=7059 bytes) (Status: PROPOSED STANDARD)
+
+2161 A MIME Body Part for ODA. H. Alvestrand. January 1998. (Format:
+ TXT=8009 bytes) (Status: EXPERIMENTAL)
+
+2162 MaXIM-11 - Mapping between X.400 / Internet mail and Mail-11
+ mail. C. Allocchio. January 1998. (Format: TXT=58553 bytes)
+ (Obsoletes RFC1405) (Status: EXPERIMENTAL)
+
+2163 Using the Internet DNS to Distribute MIXER Conformant Global
+ Address Mapping (MCGAM). C. Allocchio. January 1998. (Format:
+ TXT=58789 bytes) (Obsoletes RFC1664) (Status: PROPOSED STANDARD)
+
+2164 Use of an X.500/LDAP directory to support MIXER address mapping.
+ S. Kille. January 1998. (Format: TXT=16701 bytes) (Obsoletes RFC1838)
+ (Status: PROPOSED STANDARD)
+
+2165 Service Location Protocol. J. Veizades, E. Guttman, C. Perkins,
+ S. Kaplan. June 1997. (Format: TXT=169889 bytes) (Updated by RFC2608,
+ RFC2609) (Status: PROPOSED STANDARD)
+
+2166 APPN Implementer's Workshop Closed Pages Document DLSw v2.0
+ Enhancements. D. Bryant, P. Brittain. June 1997. (Format: TXT=75527
+ bytes) (Status: INFORMATIONAL)
+
+2167 Referral Whois (RWhois) Protocol V1.5. S. Williamson, M. Kosters,
+ D. Blacka, J. Singh, K. Zeilstra. June 1997. (Format: TXT=136355
+ bytes) (Obsoletes RFC1714) (Status: INFORMATIONAL)
+
+2168 Resolution of Uniform Resource Identifiers using the Domain Name
+ System. R. Danie1, M. Mealling. June 1997. (Format: TXT=46528 bytes)
+ (Updated by RFC2915) (Status: EXPERIMENTAL)
+
+2169 A Trivial Convention for using HTTP in URN Resolution. R. Danie1.
+ June 1997. (Format: TXT=17763 bytes) (Status: EXPERIMENTAL)
+
+2170 Application REQuested IP over ATM (AREQUIPA). W. Almesberger, J.
+ Le Boudec, P. Oechslin. July 1997. (Format: TXT=22874 bytes) (Status:
+ INFORMATIONAL)
+
+2171 MAPOS - Multiple Access Protocol over SONET/SDH Version 1. K.
+ Murakami, M. Maruyama. June 1997. (Format: TXT=17480 bytes) (Status:
+ INFORMATIONAL)
+
+2172 MAPOS Version 1 Assigned Numbers. M. Maruyama, K. Murakami. June
+ 1997. (Format: TXT=4857 bytes) (Status: INFORMATIONAL)
+
+2173 A MAPOS version 1 Extension - Node Switch Protocol. K. Murakami,
+ M. Maruyama. June 1997. (Format: TXT=12251 bytes) (Status:
+ INFORMATIONAL)
+
+2174 A MAPOS version 1 Extension - Switch-Switch Protocol. K.
+ Murakami, M. Maruyama. June 1997. (Format: TXT=47967 bytes) (Status:
+ INFORMATIONAL)
+
+2175 MAPOS 16 - Multiple Access Protocol over SONET/SDH with 16 Bit
+ Addressing. K. Murakami, M. Maruyama. June 1997. (Format: TXT=11677
+ bytes) (Status: INFORMATIONAL)
+
+2176 IPv4 over MAPOS Version 1. K. Murakami, M. Maruyama. June 1997.
+ (Format: TXT=12305 bytes) (Status: INFORMATIONAL)
+
+2177 IMAP4 IDLE command. B. Leiba. June 1997. (Format: TXT=6770 bytes)
+ (Status: PROPOSED STANDARD)
+
+2178 OSPF Version 2. J. Moy. July 1997. (Format: TXT=495866 bytes)
+ (Obsoletes RFC1583) (Obsoleted by RFC2328) (Status: DRAFT STANDARD)
+
+2179 Network Security For Trade Shows. A. Gwinn. July 1997. (Format:
+ TXT=20690 bytes) (Status: INFORMATIONAL)
+
+2180 IMAP4 Multi-Accessed Mailbox Practice. M. Gahrns. July 1997.
+ (Format: TXT=24750 bytes) (Status: INFORMATIONAL)
+
+2181 Clarifications to the DNS Specification. R. Elz, R. Bush. July
+ 1997. (Format: TXT=36989 bytes) (Updates RFC1034, RFC1035, RFC1123)
+ (Updated by RFC2535) (Status: PROPOSED STANDARD)
+
+2182 Selection and Operation of Secondary DNS Servers. R. Elz, R.
+ Bush, S. Bradner, M. Patton. July 1997. (Format: TXT=27456 bytes)
+ (Also BCP0016) (Status: BEST CURRENT PRACTICE)
+
+2183 Communicating Presentation Information in Internet Messages: The
+ Content-Disposition Header Field. R. Troost, S. Dorner, K. Moore.
+ August 1997. (Format: TXT=23150 bytes) (Updates RFC1806) (Updated by
+ RFC2184, RFC2231) (Status: PROPOSED STANDARD)
+
+2184 MIME Parameter Value and Encoded Word Extensions: Character Sets,
+ Languages, and Continuations. N. Freed, K. Moore. August 1997.
+ (Format: TXT=17635 bytes) (Obsoleted by RFC2231) (Updates RFC2045,
+ RFC2047, RFC2183) (Status: PROPOSED STANDARD)
+
+2185 Routing Aspects of IPv6 Transition. R. Callon, D. Haskin.
+ September 1997. (Format: TXT=31281 bytes) (Status: INFORMATIONAL)
+
+2186 Internet Cache Protocol (ICP), version 2. D. Wessels, K. Claffy.
+ September 1997. (Format: TXT=18808 bytes) (Status: INFORMATIONAL)
+
+2187 Application of Internet Cache Protocol (ICP), version 2. D.
+ Wessels, K. Claffy. September 1997. (Format: TXT=51662 bytes)
+ (Status: INFORMATIONAL)
+
+2188 AT&T/Neda's Efficient Short Remote Operations (ESRO) Protocol
+ Specification Version 1.2. M. Banan, M. Taylor, and J. Cheng.
+ September 1997. (Format: TXT=118374 bytes) (Status: INFORMATIONAL)
+
+2189 Core Based Trees (CBT version 2) Multicast Routing -- Protocol
+ Specification --. A. Ballardie. September 1997. (Format: TXT=52043
+ bytes) (Status: EXPERIMENTAL)
+
+2190 RTP Payload Format for H.263 Video Streams. C. Zhu. September
+ 1997. (Format: TXT=26409 bytes) (Status: PROPOSED STANDARD)
+
+2191 VENUS - Very Extensive Non-Unicast Service. G. Armitage.
+ September 1997. (Format: TXT=31316 bytes) (Status: INFORMATIONAL)
+
+2192 IMAP URL Scheme. C. Newman. September 1997. (Format: TXT=31426
+ bytes) (Status: PROPOSED STANDARD)
+
+2193 IMAP4 Mailbox Referrals. M. Gahrns. September 1997. (Format:
+ TXT=16248 bytes) (Status: PROPOSED STANDARD)
+
+2194 Review of Roaming Implementations. B. Aboba, J. Lu, J. Alsop, J.
+ Ding, W. Wang. September 1997. (Format: TXT=81533 bytes) (Status:
+ INFORMATIONAL)
+
+2195 IMAP/POP AUTHorize Extension for Simple Challenge/Response. J.
+ Klensin, R. Catoe, P. Krumviede. September 1997. (Format: TXT=10468
+ bytes) (Obsoletes RFC2095) (Status: PROPOSED STANDARD)
+
+2196 Site Security Handbook. B. Fraser. September 1997. (Format:
+ TXT=191772 bytes) (Obsoletes RFC1244) (Also FYI0008) (Status:
+ INFORMATIONAL)
+
+2197 SMTP Service Extension for Command Pipelining. N. Freed.
+ September 1997. (Format: TXT=15003 bytes) (Obsoletes RFC1854)
+ (Obsoleted by RFC2920) (Status: DRAFT STANDARD)
+
+2198 RTP Payload for Redundant Audio Data. C. Perkins, I. Kouvelas, O.
+ Hodson, V. Hardman, M. Handley, J.C. Bolot, A. Vega-Garcia, S.
+ Fosse-Parisis. September 1997. (Format: TXT=25166 bytes) (Status:
+ PROPOSED STANDARD)
+
+2199 Request for Comments Summary RFC Numbers 2100-2199. A. Ramos.
+ January 1998. (Format: TXT=47664 bytes) (Status: INFORMATIONAL)
+
+2200 Internet Official Protocol Standards. J. Postel. June 1997.
+ (Format: TXT=94506 bytes) (Obsoletes RFC1250, RFC2000) (Obsoleted by
+ RFC2300) (Status: HISTORIC)
+
+2201 Core Based Trees (CBT) Multicast Routing Architecture. A.
+ Ballardie. September 1997. (Format: TXT=38040 bytes) (Status:
+ EXPERIMENTAL)
+
+2202 Test Cases for HMAC-MD5 and HMAC-SHA-1. P. Cheng, R. Glenn.
+ September 1997. (Format: TXT=11945 bytes) (Status: INFORMATIONAL)
+
+2203 RPCSEC_GSS Protocol Specification. M. Eisler, A. Chiu, L. Ling.
+ September 1997. (Format: TXT=50937 bytes) (Status: PROPOSED STANDARD)
+
+2204 ODETTE File Transfer Protocol. D. Nash. September 1997. (Format:
+ TXT=151857 bytes) (Status: INFORMATIONAL)
+
+2205 Resource ReSerVation Protocol (RSVP) -- Version 1 Functional
+ Specification. R. Braden, Ed., L. Zhang, S. Berson, S. Herzog, S.
+ Jamin. September 1997. (Format: TXT=223974 bytes) (Updated by
+ RFC2750) (Status: PROPOSED STANDARD)
+
+2206 RSVP Management Information Base using SMIv2. F. Baker, J.
+ Krawczyk, A. Sastry. September 1997. (Format: TXT=112937 bytes)
+ (Status: PROPOSED STANDARD)
+
+2207 RSVP Extensions for IPSEC Data Flows. L. Berger, T. O'Malley.
+ September 1997. (Format: TXT=30473 bytes) (Status: PROPOSED STANDARD)
+
+2208 Resource ReSerVation Protocol (RSVP) -- Version 1 Applicability
+ Statement Some Guidelines on Deployment. A. Mankin, Ed., F. Baker, B.
+ Braden, S. Bradner, M. O`Dell, A. Romanow, A. Weinrib, L. Zhang.
+ September 1997. (Format: TXT=14289 bytes) (Status: INFORMATIONAL)
+
+2209 Resource ReSerVation Protocol (RSVP) -- Version 1 Message
+ Processing Rules. R. Braden, L. Zhang. September 1997. (Format:
+ TXT=51690 bytes) (Status: INFORMATIONAL)
+
+2210 The Use of RSVP with IETF Integrated Services. J. Wroclawski.
+ September 1997. (Format: TXT=77613 bytes) (Status: PROPOSED STANDARD)
+
+2211 Specification of the Controlled-Load Network Element Service. J.
+ Wroclawski. September 1997. (Format: TXT=46523 bytes) (Status:
+ PROPOSED STANDARD)
+
+2212 Specification of Guaranteed Quality of Service. S. Shenker, C.
+ Partridge, R. Guerin. September 1997. (Format: TXT=52330 bytes)
+ (Status: PROPOSED STANDARD)
+
+2213 Integrated Services Management Information Base using SMIv2. F.
+ Baker, J. Krawczyk, A. Sastry. September 1997. (Format: TXT=36147
+ bytes) (Status: PROPOSED STANDARD)
+
+2214 Integrated Services Management Information Base Guaranteed
+ Service Extensions using SMIv2. F. Baker, J. Krawczyk, A. Sastry.
+ September 1997. (Format: TXT=15971 bytes) (Status: PROPOSED STANDARD)
+
+2215 General Characterization Parameters for Integrated Service
+ Network Elements. S. Shenker, J. Wroclawski. September 1997. (Format:
+ TXT=39552 bytes) (Status: PROPOSED STANDARD)
+
+2216 Network Element Service Specification Template. S. Shenker, J.
+ Wroclawski. September 1997. (Format: TXT=53655 bytes) (Status:
+ INFORMATIONAL)
+
+2217 Telnet Com Port Control Option. G. Clark. October 1997. (Format:
+ TXT=31664 bytes) (Status: EXPERIMENTAL)
+
+2218 A Common Schema for the Internet White Pages Service. T.
+ Genovese, B. Jennings. October 1997. (Format: TXT=16258 bytes)
+ (Status: PROPOSED STANDARD)
+
+2219 Use of DNS Aliases for Network Services. M. Hamilton, R. Wright.
+ October 1997. (Format: TXT=17858 bytes) (Also BCP0017) (Status: BEST
+ CURRENT PRACTICE)
+
+2220 The Application/MARC Content-type. R. Guenther. October 1997.
+ (Format: TXT=7025 bytes) (Status: INFORMATIONAL)
+
+2221 IMAP4 Login Referrals. M. Gahrns. October 1997. (Format: TXT=9251
+ bytes) (Status: PROPOSED STANDARD)
+
+2222 Simple Authentication and Security Layer (SASL). J. Myers.
+ October 1997. (Format: TXT=35010 bytes) (Updated by RFC2444) (Status:
+ PROPOSED STANDARD)
+
+2223 Instructions to RFC Authors. J. Postel, J. Reynolds. October
+ 1997. (Format: TXT=37948 bytes) (Obsoletes RFC1543, RFC1111, RFC0825)
+ (Status: INFORMATIONAL)
+
+2224 NFS URL Scheme. B. Callaghan. October 1997. (Format: TXT=22726
+ bytes) (Status: INFORMATIONAL)
+
+2225 Classical IP and ARP over ATM. M. Laubach, J. Halpern. April
+ 1998. (Format: TXT=65779 bytes) (Obsoletes RFC1626, RFC1577) (Status:
+ PROPOSED STANDARD)
+
+2226 IP Broadcast over ATM Networks. T. Smith, G. Armitage. October
+ 1997. (Format: TXT=30661 bytes) (Status: PROPOSED STANDARD)
+
+2227 Simple Hit-Metering and Usage-Limiting for HTTP. J. Mogul, P.
+ Leach. October 1997. (Format: TXT=85127 bytes) (Status: PROPOSED
+ STANDARD)
+
+2228 FTP Security Extensions. M. Horowitz, S. Lunt. October 1997.
+ (Format: TXT=58733 bytes) (Updates RFC0959) (Status: PROPOSED
+ STANDARD)
+
+2229 A Dictionary Server Protocol. R. Faith, B. Martin. October 1997.
+ (Format: TXT=59551 bytes) (Status: INFORMATIONAL)
+
+2230 Key Exchange Delegation Record for the DNS. R. Atkinson. November
+ 1997. (Format: TXT=25563 bytes) (Status: INFORMATIONAL)
+
+2231 MIME Parameter Value and Encoded Word Extensions: Character Sets,
+ Languages, and Continuations. N. Freed, K. Moore. November 1997.
+ (Format: TXT=19280 bytes) (Obsoletes RFC2184) (Updates RFC2045,
+ RFC2047, RFC2183) (Status: PROPOSED STANDARD)
+
+2232 Definitions of Managed Objects for DLUR using SMIv2. B. Clouston,
+ B. Moore. November 1997. (Format: TXT=37955 bytes) (Status: PROPOSED
+ STANDARD)
+
+2233 The Interfaces Group MIB using SMIv2. K. McCloghrie, F.
+ Kastenholz. November 1997. (Format: TXT=148033 bytes) (Obsoletes
+ RFC1573) (Obsoleted by RFC2863) (Status: PROPOSED STANDARD)
+
+2234 Augmented BNF for Syntax Specifications: ABNF. D. Crocker, Ed.,
+ P. Overell. November 1997. (Format: TXT=24265 bytes) (Status:
+ PROPOSED STANDARD)
+
+2235 Hobbes' Internet Timeline. R. Zakon. November 1997. (Format:
+ TXT=43060 bytes) (Also FYI0032) (Status: INFORMATIONAL)
+
+2236 Internet Group Management Protocol, Version 2. W. Fenner.
+ November 1997. (Format: TXT=51048 bytes) (Updates RFC1112) (Status:
+ PROPOSED STANDARD)
+
+2237 Japanese Character Encoding for Internet Messages. K. Tamaru.
+ November 1997. (Format: TXT=11628 bytes) (Status: INFORMATIONAL)
+
+2238 Definitions of Managed Objects for HPR using SMIv2. B. Clouston,
+ B. Moore. November 1997. (Format: TXT=65498 bytes) (Status: PROPOSED
+ STANDARD)
+
+2239 Definitions of Managed Objects for IEEE 802.3 Medium Attachment
+ Units (MAUs) using SMIv2. K. de Graaf, D. Romascanu, D. McMaster, K.
+ McCloghrie, S. Roberts. November 1997. (Format: TXT=80651 bytes)
+ (Obsoleted by RFC2668) (Status: PROPOSED STANDARD)
+
+2240 A Legal Basis for Domain Name Allocation. O. Vaughan. November
+ 1997. (Format: TXT=13602 bytes) (Obsoleted by RFC2352) (Status:
+ INFORMATIONAL)
+
+2241 DHCP Options for Novell Directory Services. D. Provan. November
+ 1997. (Format: TXT=8419 bytes) (Status: PROPOSED STANDARD)
+
+2242 NetWare/IP Domain Name and Information. R. Droms, K. Fong.
+ November 1997. (Format: TXT=10653 bytes) (Status: PROPOSED STANDARD)
+
+2243 OTP Extended Responses. C. Metz. November 1997. (Format:
+ TXT=19730 bytes) (Status: PROPOSED STANDARD)
+
+2244 ACAP -- Application Configuration Access Protocol. C. Newman, J.
+ G. Myers. November 1997. (Format: TXT=154610 bytes) (Status: PROPOSED
+ STANDARD)
+
+2245 Anonymous SASL Mechanism. C. Newman. November 1997. (Format:
+ TXT=9974 bytes) (Status: PROPOSED STANDARD)
+
+2246 The TLS Protocol Version 1.0. T. Dierks, C. Allen. January 1999.
+ (Format: TXT=170401 bytes) (Status: PROPOSED STANDARD)
+
+2247 Using Domains in LDAP/X.500 Distinguished Names. S. Kille, M.
+ Wahl, A. Grimstad, R. Huber, S. Sataluri. January 1998. (Format:
+ TXT=12411 bytes) (Status: PROPOSED STANDARD)
+
+2248 Network Services Monitoring MIB. N. Freed, S. Kille. January
+ 1998. (Format: TXT=34106 bytes) (Obsoletes RFC1565) (Obsoleted by
+ RFC2788) (Status: PROPOSED STANDARD)
+
+2249 Mail Monitoring MIB. N. Freed, S. Kille. January 1998. (Format:
+ TXT=52334 bytes) (Obsoletes RFC1566) (Obsoleted by RFC2789) (Status:
+ PROPOSED STANDARD)
+
+2250 RTP Payload Format for MPEG1/MPEG2 Video. D. Hoffman, G.
+ Fernando, V. Goyal, M. Civanlar. January 1998. (Format: TXT=34293
+ bytes) (Obsoletes RFC2038) (Status: PROPOSED STANDARD)
+
+2251 Lightweight Directory Access Protocol (v3). M. Wahl, T. Howes, S.
+ Kille. December 1997. (Format: TXT=114488 bytes) (Status: PROPOSED
+ STANDARD)
+
+2252 Lightweight Directory Access Protocol (v3): Attribute Syntax
+ Definitions. M. Wahl, A. Coulbeck, T. Howes, S. Kille. December 1997.
+ (Format: TXT=60204 bytes) (Status: PROPOSED STANDARD)
+
+2253 Lightweight Directory Access Protocol (v3): UTF-8 String
+ Representation of Distinguished Names. M. Wahl, S. Kille, T. Howes.
+ December 1997. (Format: TXT=18226 bytes) (Obsoletes RFC1779) (Status:
+ PROPOSED STANDARD)
+
+2254 The String Representation of LDAP Search Filters. T. Howes.
+ December 1997. (Format: TXT=13511 bytes) (Obsoletes RFC1960) (Status:
+ PROPOSED STANDARD)
+
+2255 The LDAP URL Format. T. Howes, M. Smith. December 1997. (Format:
+ TXT=20685 bytes) (Obsoletes RFC1959) (Status: PROPOSED STANDARD)
+
+2256 A Summary of the X.500(96) User Schema for use with LDAPv3. M.
+ Wahl. December 1997. (Format: TXT=32377 bytes) (Status: PROPOSED
+ STANDARD)
+
+2257 Agent Extensibility (AgentX) Protocol Version 1. M. Daniele, B.
+ Wijnen, D. Francisco. January 1998. (Format: TXT=177452 bytes)
+ (Obsoleted by RFC2741) (Status: PROPOSED STANDARD)
+
+2258 Internet Nomenclator Project. J. Ordille. January 1998. (Format:
+ TXT=34871 bytes) (Status: INFORMATIONAL)
+
+2259 Simple Nomenclator Query Protocol (SNQP). J. Elliott, J. Ordille.
+ January 1998. (Format: TXT=58508 bytes) (Status: INFORMATIONAL)
+
+2260 Scalable Support for Multi-homed Multi-provider Connectivity. T.
+ Bates, Y. Rekhter. January 1998. (Format: TXT=28085 bytes) (Status:
+ INFORMATIONAL)
+
+2261 An Architecture for Describing SNMP Management Frameworks. D.
+ Harrington, R. Presuhn, B. Wijnen. January 1998. (Format: TXT=128036
+ bytes) (Obsoleted by RFC2271) (Status: PROPOSED STANDARD)
+
+2262 Message Processing and Dispatching for the Simple Network
+ Management Protocol (SNMP). J. Case, D. Harrington, R. Presuhn, B.
+ Wijnen. January 1998. (Format: TXT=88254 bytes) (Obsoleted by
+ RFC2272) (Status: PROPOSED STANDARD)
+
+2263 SNMPv3 Applications. D. Levi, P. Meyer, B. Stewart. January 1998.
+ (Format: TXT=143493 bytes) (Obsoleted by RFC2273) (Status: PROPOSED
+ STANDARD)
+
+2264 User-based Security Model (USM) for version 3 of the Simple
+ Network Management Protocol (SNMPv3). U. Blumenthal, B. Wijnen.
+ January 1998. (Format: TXT=168759 bytes) (Obsoleted by RFC2274)
+ (Status: PROPOSED STANDARD)
+
+2265 View-based Access Control Model (VACM) for the Simple Network
+ Management Protocol (SNMP). B. Wijnen, R. Presuhn, K. McCloghrie.
+ January 1998. (Format: TXT=77807 bytes) (Obsoleted by RFC2275)
+ (Status: PROPOSED STANDARD)
+
+2266 Definitions of Managed Objects for IEEE 802.12 Repeater Devices.
+ J. Flick. January 1998. (Format: TXT=134027 bytes) (Status: PROPOSED
+ STANDARD)
+
+2267 Network Ingress Filtering: Defeating Denial of Service Attacks
+ which employ IP Source Address Spoofing. P. Ferguson, D. Senie.
+ January 1998. (Format: TXT=21032 bytes) (Obsoleted by RFC2827)
+ (Status: INFORMATIONAL)
+
+2268 A Description of the RC2(r) Encryption Algorithm. R. Rivest.
+ March 1998. (Format: TXT=19048 bytes) (Status: INFORMATIONAL)
+
+2269 Using the MARS Model in non-ATM NBMA Networks. G. Armitage.
+ January 1998. (Format: TXT=12094 bytes) (Status: INFORMATIONAL)
+
+2270 Using a Dedicated AS for Sites Homed to a Single Provider. J.
+ Stewart, T. Bates, R. Chandra, E. Chen. January 1998. (Format:
+ TXT=12063 bytes) (Status: INFORMATIONAL)
+
+2271 An Architecture for Describing SNMP Management Frameworks. D.
+ Harrington, R. Presuhn, B. Wijnen. January 1998. (Format: TXT=128227
+ bytes) (Obsoletes RFC2261) (Obsoleted by RFC2571) (Status: PROPOSED
+ STANDARD)
+
+2272 Message Processing and Dispatching for the Simple Network
+ Management Protocol (SNMP). J. Case, D. Harrington, R. Presuhn, B.
+ Wijnen. January 1998. (Format: TXT=88445 bytes) (Obsoletes RFC2262)
+ (Obsoleted by RFC2572) (Status: PROPOSED STANDARD)
+
+2273 SNMPv3 Applications. D. Levi, P. Meyer, B. Stewart. January 1998.
+ (Format: TXT=143754 bytes) (Obsoletes RFC2263) (Obsoleted by RFC2573)
+ (Status: PROPOSED STANDARD)
+
+2274 User-based Security Model (USM) for version 3 of the Simple
+ Network Management Protocol (SNMPv3). U. Blumenthal, B. Wijnen.
+ January 1998. (Format: TXT=168950 bytes) (Obsoletes RFC2264)
+ (Obsoleted by RFC2574) (Status: PROPOSED STANDARD)
+
+2275 View-based Access Control Model (VACM) for the Simple Network
+ Management Protocol (SNMP). B. Wijnen, R. Presuhn, K. McCloghrie.
+ January 1998. (Format: TXT=77998 bytes) (Obsoletes RFC2265)
+ (Obsoleted by RFC2575) (Status: PROPOSED STANDARD)
+
+2276 Architectural Principles of Uniform Resource Name Resolution. K.
+ Sollins. January 1998. (Format: TXT=64811 bytes) (Status:
+ INFORMATIONAL)
+
+2277 IETF Policy on Character Sets and Languages. H. Alvestrand.
+ January 1998. (Format: TXT=16622 bytes) (Also BCP0018) (Status: BEST
+ CURRENT PRACTICE)
+
+2278 IANA Charset Registration Procedures. N. Freed, J. Postel.
+ January 1998. (Format: TXT=18881 bytes) (Obsoleted by RFC2978)
+ (Status: INFORMATIONAL)
+
+2279 UTF-8, a transformation format of ISO 10646. F. Yergeau. January
+ 1998. (Format: TXT=21634 bytes) (Obsoletes RFC2044) (Status: DRAFT
+ STANDARD)
+
+2280 Routing Policy Specification Language (RPSL). C. Alaettinoglu, T.
+ Bates, E. Gerich, D. Karrenberg, D. Meyer, M. Terpstra, C.
+ Villamizar. January 1998. (Format: TXT=114985 bytes) (Obsoleted by
+ RFC2622) (Status: PROPOSED STANDARD)
+
+2281 Cisco Hot Standby Router Protocol (HSRP). T. Li, B. Cole, P.
+ Morton, D. Li. March 1998. (Format: TXT=35161 bytes) (Status:
+ INFORMATIONAL)
+
+2282 IAB and IESG Selection, Confirmation, and Recall Process:
+ Operation of the Nominating and Recall Committees. J. Galvin.
+ February 1998. (Format: TXT=29852 bytes) (Obsoletes RFC2027)
+ (Obsoleted by RFC2727) (Status: INFORMATIONAL)
+
+2283 Multiprotocol Extensions for BGP-4. T. Bates, R. Chandra, D.
+ Katz, Y. Rekhter. February 1998. (Format: TXT=18946 bytes) (Obsoleted
+ by RFC2858) (Status: PROPOSED STANDARD)
+
+2284 PPP Extensible Authentication Protocol (EAP). L. Blunk, J.
+ Vollbrecht. March 1998. (Format: TXT=29452 bytes) (Updated by
+ RFC2484) (Status: PROPOSED STANDARD)
+
+2285 Benchmarking Terminology for LAN Switching Devices. R.
+ Mandeville. February 1998. (Format: TXT=43130 bytes) (Status:
+ INFORMATIONAL)
+
+2286 Test Cases for HMAC-RIPEMD160 and HMAC-RIPEMD128. J. Kapp.
+ February 1998. (Format: TXT=11849 bytes) (Status: INFORMATIONAL)
+
+2287 Definitions of System-Level Managed Objects for Applications. C.
+ Krupczak, J. Saperia. February 1998. (Format: TXT=98210 bytes)
+ (Status: PROPOSED STANDARD)
+
+2288 Using Existing Bibliographic Identifiers as Uniform Resource
+ Names. C. Lynch, C. Preston, R. Daniel. February 1998. (Format:
+ TXT=21628 bytes) (Status: INFORMATIONAL)
+
+2289 A One-Time Password System. N. Haller, C. Metz, P. Nesser, M.
+ Straw. February 1998. (Format: TXT=56495 bytes) (Obsoletes RFC1938)
+ (Also STD0061) (Status: STANDARD)
+
+2290 Mobile-IPv4 Configuration Option for PPP IPCP. J. Solomon, S.
+ Glass. February 1998. (Format: TXT=39421 bytes) (Updates RFC2002)
+ (Updated by RFC2794) (Status: PROPOSED STANDARD)
+
+2291 Requirements for a Distributed Authoring and Versioning Protocol
+ for the World Wide Web. J. Slein, F. Vitali, E. Whitehead, D. Durand.
+ February 1998. (Format: TXT=44036 bytes) (Status: INFORMATIONAL)
+
+2292 Advanced Sockets API for IPv6. W. Stevens, M. Thomas. February
+ 1998. (Format: TXT=152077 bytes) (Status: INFORMATIONAL)
+
+2293 Representing Tables and Subtrees in the X.500 Directory. S.
+ Kille. March 1998. (Format: TXT=12539 bytes) (Obsoletes RFC1837)
+ (Status: PROPOSED STANDARD)
+
+2294 Representing the O/R Address hierarchy in the X.500 Directory
+ Information Tree. S. Kille. March 1998. (Format: TXT=22059 bytes)
+ (Obsoletes RFC1836) (Status: PROPOSED STANDARD)
+
+2295 Transparent Content Negotiation in HTTP. K. Holtman, A. Mutz.
+ March 1998. (Format: TXT=125130 bytes) (Status: EXPERIMENTAL)
+
+2296 HTTP Remote Variant Selection Algorithm -- RVSA/1.0. K. Holtman,
+ A. Mutz. March 1998. (Format: TXT=26932 bytes) (Status: EXPERIMENTAL)
+
+2297 Ipsilon's General Switch Management Protocol Specification
+ Version 2.0. P. Newman, W. Edwards, R. Hinden, E. Hoffman, F. Ching
+ Liaw, T. Lyon, G. Minshall. March 1998. (Format: TXT=280484 bytes)
+ (Updates RFC1987) (Status: INFORMATIONAL)
+
+2298 An Extensible Message Format for Message Disposition
+ Notifications. R. Fajman. March 1998. (Format: TXT=62059 bytes)
+ (Status: PROPOSED STANDARD)
+
+2299 Request for Comments Summary. A. Ramos. January 1999. (Format:
+ TXT=51234 bytes) (Status: INFORMATIONAL)
+
+2300 Internet Official Protocol Standards. J. Postel. May 1998.
+ (Format: TXT=128322 bytes) (Obsoletes RFC2200) (Obsoleted by RFC2400)
+ (Status: HISTORIC)
+
+2301 File Format for Internet Fax. L. McIntyre, S. Zilles, R. Buckley,
+ D. Venable, G. Parsons, J. Rafferty. March 1998. (Format: TXT=200525
+ bytes) (Status: PROPOSED STANDARD)
+
+2302 Tag Image File Format (TIFF) - image/tiff MIME Sub-type
+ Registration. G. Parsons, J. Rafferty, S. Zilles. March 1998.
+ (Format: TXT=14375 bytes) (Status: PROPOSED STANDARD)
+
+2303 Minimal PSTN address format in Internet Mail. C. Allocchio. March
+ 1998. (Format: TXT=14625 bytes) (Status: PROPOSED STANDARD)
+
+2304 Minimal FAX address format in Internet Mail. C. Allocchio. March
+ 1998. (Format: TXT=13236 bytes) (Status: PROPOSED STANDARD)
+
+2305 A Simple Mode of Facsimile Using Internet Mail. K. Toyoda, H.
+ Ohno, J. Murai, D. Wing. March 1998. (Format: TXT=24624 bytes)
+ (Status: PROPOSED STANDARD)
+
+2306 Tag Image File Format (TIFF) - F Profile for Facsimile. G.
+ Parsons, J. Rafferty. March 1998. (Format: TXT=59358 bytes) (Status:
+ INFORMATIONAL)
+
+2307 An Approach for Using LDAP as a Network Information Service. L.
+ Howard. March 1998. (Format: TXT=41396 bytes) (Status: EXPERIMENTAL)
+
+2308 Negative Caching of DNS Queries (DNS NCACHE). M. Andrews. March
+ 1998. (Format: TXT=41428 bytes) (Updates RFC1034, RFC1035) (Status:
+ PROPOSED STANDARD)
+
+2309 Recommendations on Queue Management and Congestion Avoidance in
+ the Internet. B. Braden, D. Clark, J. Crowcroft, B. Davie, S.
+ Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C. Partridge,
+ L. Peterson, K. Ramakrishnan, S. Shenker, J. Wroclawski, L. Zhang.
+ April 1998. (Format: TXT=38079 bytes) (Status: INFORMATIONAL)
+
+2310 The Safe Response Header Field. K. Holtman. April 1998. (Format:
+ TXT=8091 bytes) (Status: EXPERIMENTAL)
+
+2311 S/MIME Version 2 Message Specification. S. Dusse, P. Hoffman, B.
+ Ramsdell, L. Lundblade, L. Repka. March 1998. (Format: TXT=70901
+ bytes) (Status: INFORMATIONAL)
+
+2312 S/MIME Version 2 Certificate Handling. S. Dusse, P. Hoffman, B.
+ Ramsdell, J. Weinstein. March 1998. (Format: TXT=39829 bytes)
+ (Status: INFORMATIONAL)
+
+2313 PKCS #1: RSA Encryption Version 1.5. B. Kaliski. March 1998.
+ (Format: TXT=37777 bytes) (Obsoleted by RFC2437) (Status:
+ INFORMATIONAL)
+
+2314 PKCS #10: Certification Request Syntax Version 1.5. B. Kaliski.
+ March 1998. (Format: TXT=15814 bytes) (Obsoleted by RFC2986) (Status:
+ INFORMATIONAL)
+
+2315 PKCS #7: Cryptographic Message Syntax Version 1.5. B. Kaliski.
+ March 1998. (Format: TXT=69679 bytes) (Status: INFORMATIONAL)
+
+2316 Report of the IAB Security Architecture Workshop. S. Bellovin.
+ April 1998. (Format: TXT=19733 bytes) (Status: INFORMATIONAL)
+
+2317 Classless IN-ADDR.ARPA delegation. H. Eidnes, G. de Groot, P.
+ Vixie. March 1998. (Format: TXT=17744 bytes) (Also BCP0020) (Status:
+ BEST CURRENT PRACTICE)
+
+2318 The text/css Media Type. H. Lie, B. Bos, C. Lilley. March 1998.
+ (Format: TXT=7819 bytes) (Status: INFORMATIONAL)
+
+2319 Ukrainian Character Set KOI8-U. KOI8-U Working Group. April 1998.
+ (Format: TXT=18042 bytes) (Status: INFORMATIONAL)
+
+2320 Definitions of Managed Objects for Classical IP and ARP Over ATM
+ Using SMIv2 (IPOA-MIB). M. Greene, J. Luciani, K. White, T. Kuo.
+ April 1998. (Format: TXT=102116 bytes) (Status: PROPOSED STANDARD)
+
+2321 RITA -- The Reliable Internetwork Troubleshooting Agent. A.
+ Bressen. Apr-01-1998. (Format: TXT=12302 bytes) (Status:
+ INFORMATIONAL)
+
+2322 Management of IP numbers by peg-dhcp. K. van den Hout, A. Koopal,
+ R. van Mook. Apr-01-1998. (Format: TXT=12665 bytes) (Status:
+ INFORMATIONAL)
+
+2323 IETF Identification and Security Guidelines. A. Ramos.
+ Apr-01-1998. (Format: TXT=9257 bytes) (Status: INFORMATIONAL)
+
+2324 Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0). L. Masinter.
+ Apr-01-1998. (Format: TXT=19610 bytes) (Status: INFORMATIONAL)
+
+2325 Definitions of Managed Objects for Drip-Type Heated Beverage
+ Hardware Devices using SMIv2. M. Slavitch. Apr-01-1998. (Format:
+ TXT=12726 bytes) (Status: INFORMATIONAL)
+
+2326 Real Time Streaming Protocol (RTSP). H. Schulzrinne, A. Rao, R.
+ Lanphier. April 1998. (Format: TXT=195010 bytes) (Status: PROPOSED
+ STANDARD)
+
+2327 SDP: Session Description Protocol. M. Handley, V. Jacobson. April
+ 1998. (Format: TXT=87096 bytes) (Status: PROPOSED STANDARD)
+
+2328 OSPF Version 2. J. Moy. April 1998. (Format: TXT=447367 bytes)
+ (Obsoletes RFC2178) (Also STD0054) (Status: STANDARD)
+
+2329 OSPF Standardization Report. J. Moy. April 1998. (Format:
+ TXT=15130 bytes) (Status: INFORMATIONAL)
+
+2330 Framework for IP Performance Metrics. V. Paxson, G. Almes, J.
+ Mahdavi, M. Mathis. May 1998. (Format: TXT=94387 bytes) (Status:
+ INFORMATIONAL)
+
+2331 ATM Signalling Support for IP over ATM - UNI Signalling 4.0
+ Update. M. Maher. April 1998. (Format: TXT=61119 bytes) (Status:
+ PROPOSED STANDARD)
+
+2332 NBMA Next Hop Resolution Protocol (NHRP). J. Luciani, D. Katz, D.
+ Piscitello, B. Cole, N. Doraswamy. April 1998. (Format: TXT=126978
+ bytes) (Status: PROPOSED STANDARD)
+
+2333 NHRP Protocol Applicability Statement. D. Cansever. April 1998.
+ (Format: TXT=20164 bytes) (Status: PROPOSED STANDARD)
+
+2334 Server Cache Synchronization Protocol (SCSP). J. Luciani, G.
+ Armitage, J. Halpern, N. Doraswamy. April 1998. (Format: TXT=98161
+ bytes) (Status: PROPOSED STANDARD)
+
+2335 A Distributed NHRP Service Using SCSP. J. Luciani. April 1998.
+ (Format: TXT=14007 bytes) (Status: PROPOSED STANDARD)
+
+2336 Classical IP to NHRP Transition. J. Luciani. July 1998. (Format:
+ TXT=10500 bytes) (Status: INFORMATIONAL)
+
+2337 Intra-LIS IP multicast among routers over ATM using Sparse Mode
+ PIM. D. Farinacci, D. Meyer, Y. Rekhter. April 1998. (Format:
+ TXT=16357 bytes) (Status: EXPERIMENTAL)
+
+2338 Virtual Router Redundancy Protocol. S. Knight, D. Weaver, D.
+ Whipple, R. Hinden, D. Mitzel, P. Hunt, P. Higginson, M. Shand, A.
+ Lindem. April 1998. (Format: TXT=59871 bytes) (Status: PROPOSED
+ STANDARD)
+
+2339 An Agreement Between the Internet Society, the IETF, and Sun
+ Microsystems, Inc. in the matter of NFS V.4 Protocols. The Internet
+ Society, Sun Microsystems. May 1998. (Format: TXT=10745 bytes)
+ (Status: INFORMATIONAL)
+
+2340 Nortel's Virtual Network Switching (VNS) Overview. B. Jamoussi,
+ D. Jamieson, D. Williston, S. Gabe. May 1998. (Format: TXT=30731
+ bytes) (Status: INFORMATIONAL)
+
+2341 Cisco Layer Two Forwarding (Protocol) "L2F". A. Valencia, M.
+ Littlewood, T. Kolar. May 1998. (Format: TXT=66592 bytes) (Status:
+ HISTORIC)
+
+2342 IMAP4 Namespace. M. Gahrns, C. Newman. May 1998. (Format:
+ TXT=19489 bytes) (Status: PROPOSED STANDARD)
+
+2343 RTP Payload Format for Bundled MPEG. M. Civanlar, G. Cash, B.
+ Haskell. May 1998. (Format: TXT=16557 bytes) (Status: EXPERIMENTAL)
+
+2344 Reverse Tunneling for Mobile IP. G. Montenegro. May 1998.
+ (Format: TXT=39468 bytes) (Obsoleted by RFC3024) (Status: PROPOSED
+ STANDARD)
+
+2345 Domain Names and Company Name Retrieval. J. Klensin, T. Wolf, G.
+ Oglesby. May 1998. (Format: TXT=29707 bytes) (Status: EXPERIMENTAL)
+
+2346 Making Postscript and PDF International. J. Palme. May 1998.
+ (Format: TXT=12382 bytes) (Status: INFORMATIONAL)
+
+2347 TFTP Option Extension. G. Malkin, A. Harkin. May 1998. (Format:
+ TXT=13060 bytes) (Obsoletes RFC1782) (Updates RFC1350) (Status: DRAFT
+ STANDARD)
+
+2348 TFTP Blocksize Option. G. Malkin, A. Harkin. May 1998. (Format:
+ TXT=9515 bytes) (Obsoletes RFC1783) (Updates RFC1350) (Status: DRAFT
+ STANDARD)
+
+2349 TFTP Timeout Interval and Transfer Size Options. G. Malkin, A.
+ Harkin. May 1998. (Format: TXT=7848 bytes) (Obsoletes RFC1784)
+ (Updates RFC1350) (Status: DRAFT STANDARD)
+
+2350 Expectations for Computer Security Incident Response. N.
+ Brownlee, E. Guttman. June 1998. (Format: TXT=86545 bytes) (Also
+ BCP0021) (Status: BEST CURRENT PRACTICE)
+
+2351 Mapping of Airline Reservation, Ticketing, and Messaging Traffic
+ over IP. A. Rober. May 1998. (Format: TXT=43440 bytes) (Status:
+ INFORMATIONAL)
+
+2352 A Convention For Using Legal Names as Domain Names. O. Vaughan.
+ May 1998. (Format: TXT=16354 bytes) (Obsoletes RFC2240) (Status:
+ INFORMATIONAL)
+
+2353 APPN/HPR in IP Networks APPN Implementers' Workshop Closed Pages
+ Document. G. Dudley. May 1998. (Format: TXT=116972 bytes) (Status:
+ INFORMATIONAL)
+
+2354 Options for Repair of Streaming Media. C. Perkins, O. Hodson.
+ June 1998. (Format: TXT=28876 bytes) (Status: INFORMATIONAL)
+
+2355 TN3270 Enhancements. B. Kelly. June 1998. (Format: TXT=89394
+ bytes) (Obsoletes RFC1647) (Status: DRAFT STANDARD)
+
+2356 Sun's SKIP Firewall Traversal for Mobile IP. G. Montenegro, V.
+ Gupta. June 1998. (Format: TXT=53198 bytes) (Status: INFORMATIONAL)
+
+2357 IETF Criteria for Evaluating Reliable Multicast Transport and
+ Application Protocols. A. Mankin, A. Romanow, S. Bradner, V. Paxson.
+ June 1998. (Format: TXT=24130 bytes) (Status: INFORMATIONAL)
+
+2358 Definitions of Managed Objects for the Ethernet-like Interface
+ Types. J. Flick, J. Johnson. June 1998. (Format: TXT=87891 bytes)
+ (Obsoletes RFC1650) (Obsoleted by RFC2665) (Status: PROPOSED
+ STANDARD)
+
+2359 IMAP4 UIDPLUS extension. J. Myers. June 1998. (Format: TXT=10862
+ bytes) (Status: PROPOSED STANDARD)
+
+2360 Guide for Internet Standards Writers. G. Scott. June 1998.
+ (Format: TXT=47280 bytes) (Also BCP0022) (Status: BEST CURRENT
+ PRACTICE)
+
+2361 WAVE and AVI Codec Registries. E. Fleischman. June 1998. (Format:
+ TXT=97796 bytes) (Status: INFORMATIONAL)
+
+2362 Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol
+ Specification. D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S.
+ Deering, M. Handley, V. Jacobson, C. Liu, P. Sharma, L. Wei. June
+ 1998. (Format: TXT=159833 bytes) (Obsoletes RFC2117) (Status:
+ EXPERIMENTAL)
+
+2363 PPP Over FUNI. G. Gross, M. Kaycee, A. Li, A. Malis, J. Stephens.
+ July 1998. (Format: TXT=22576 bytes) (Status: PROPOSED STANDARD)
+
+2364 PPP Over AAL5. G. Gross, M. Kaycee, A. Li, A. Malis, J. Stephens.
+ July 1998. (Format: TXT=23539 bytes) (Status: PROPOSED STANDARD)
+
+2365 Administratively Scoped IP Multicast. D. Meyer. July 1998.
+ (Format: TXT=17770 bytes) (Also BCP0023) (Status: BEST CURRENT
+ PRACTICE)
+
+2366 Definitions of Managed Objects for Multicast over UNI 3.0/3.1
+ based ATM Networks. C. Chung, M. Greene. July 1998. (Format:
+ TXT=134312 bytes) (Obsoleted by RFC2417) (Status: PROPOSED STANDARD)
+
+2367 PF_KEY Key Management API, Version 2. D. McDonald, C. Metz, B.
+ Phan. July 1998. (Format: TXT=146754 bytes) (Status: INFORMATIONAL)
+
+2368 The mailto URL scheme. P. Hoffman, L. Masinter, J. Zawinski. July
+ 1998. (Format: TXT=16502 bytes) (Updates RFC1738, RFC1808) (Status:
+ PROPOSED STANDARD)
+
+2369 The Use of URLs as Meta-Syntax for Core Mail List Commands and
+ their Transport through Message Header Fields. G. Neufeld, J. Baer.
+ July 1998. (Format: TXT=30853 bytes) (Status: PROPOSED STANDARD)
+
+2370 The OSPF Opaque LSA Option. R. Coltun. July 1998. (Format:
+ TXT=33789 bytes) (Also RFC2328) (Status: PROPOSED STANDARD)
+
+2371 Transaction Internet Protocol Version 3.0. J. Lyon, K. Evans, J.
+ Klein. July 1998. (Format: TXT=71399 bytes) (Status: PROPOSED
+ STANDARD)
+
+2372 Transaction Internet Protocol - Requirements and Supplemental
+ Information. K. Evans, J. Klein, J. Lyon. July 1998. (Format:
+ TXT=53699 bytes) (Status: INFORMATIONAL)
+
+2373 IP Version 6 Addressing Architecture. R. Hinden, S. Deering. July
+ 1998. (Format: TXT=52526 bytes) (Obsoletes RFC1884) (Status: PROPOSED
+ STANDARD)
+
+2374 An IPv6 Aggregatable Global Unicast Address Format. R. Hinden, M.
+ O'Dell, S. Deering. July 1998. (Format: TXT=25068 bytes) (Obsoletes
+ RFC2073) (Status: PROPOSED STANDARD)
+
+2375 IPv6 Multicast Address Assignments. R. Hinden, S. Deering. July
+ 1998. (Format: TXT=14356 bytes) (Status: INFORMATIONAL)
+
+2376 XML Media Types. E. Whitehead, M. Murata. July 1998. (Format:
+ TXT=32143 bytes) (Obsoleted by RFC3023) (Status: INFORMATIONAL)
+
+2377 Naming Plan for Internet Directory-Enabled Applications. A.
+ Grimstad, R. Huber, S. Sataluri, M. Wahl. September 1998. (Format:
+ TXT=38274 bytes) (Status: INFORMATIONAL)
+
+2378 The CCSO Nameserver (Ph) Architecture. R. Hedberg, P. Pomes.
+ September 1998. (Format: TXT=38960 bytes) (Status: INFORMATIONAL)
+
+2379 RSVP over ATM Implementation Guidelines. L. Berger. August 1998.
+ (Format: TXT=15174 bytes) (Also BCP0024) (Status: BEST CURRENT
+ PRACTICE)
+
+2380 RSVP over ATM Implementation Requirements. L. Berger. August
+ 1998. (Format: TXT=31234 bytes) (Status: PROPOSED STANDARD)
+
+2381 Interoperation of Controlled-Load Service and Guaranteed Service
+ with ATM. M. Garrett, M. Borden. August 1998. (Format: TXT=107299
+ bytes) (Status: PROPOSED STANDARD)
+
+2382 A Framework for Integrated Services and RSVP over ATM. E.
+ Crawley, L. Berger, S. Berson, F. Baker, M. Borden, J. Krawczyk.
+ August 1998. (Format: TXT=73865 bytes) (Status: INFORMATIONAL)
+
+2383 ST2+ over ATM Protocol Specification - UNI 3.1 Version. M.
+ Suzuki. August 1998. (Format: TXT=99889 bytes) (Status:
+ INFORMATIONAL)
+
+2384 POP URL Scheme. R. Gellens. August 1998. (Format: TXT=13649
+ bytes) (Status: PROPOSED STANDARD)
+
+2385 Protection of BGP Sessions via the TCP MD5 Signature Option. A.
+ Heffernan. August 1998. (Format: TXT=12315 bytes) (Status: PROPOSED
+ STANDARD)
+
+2386 A Framework for QoS-based Routing in the Internet. E. Crawley, R.
+ Nair, B. Rajagopalan, H. Sandick. August 1998. (Format: TXT=93459
+ bytes) (Status: INFORMATIONAL)
+
+2387 The MIME Multipart/Related Content-type. E. Levinson. August
+ 1998. (Format: TXT=18864 bytes) (Obsoletes RFC2112) (Status: PROPOSED
+ STANDARD)
+
+2388 Returning Values from Forms: multipart/form-data. L. Masinter.
+ August 1998. (Format: TXT=16531 bytes) (Status: PROPOSED STANDARD)
+
+2389 Feature negotiation mechanism for the File Transfer Protocol. P.
+ Hethmon, R. Elz. August 1998. (Format: TXT=18536 bytes) (Also
+ RFC0959) (Status: PROPOSED STANDARD)
+
+2390 Inverse Address Resolution Protocol. T. Bradley, C. Brown, A.
+ Malis. September 1998. (Format: TXT=20849 bytes) (Obsoletes RFC1293)
+ (Status: DRAFT STANDARD)
+
+2391 Load Sharing using IP Network Address Translation (LSNAT). P.
+ Srisuresh, D. Gan. August 1998. (Format: TXT=44884 bytes) (Status:
+ INFORMATIONAL)
+
+2392 Content-ID and Message-ID Uniform Resource Locators. E. Levinson.
+ August 1998. (Format: TXT=11141 bytes) (Obsoletes RFC2111) (Status:
+ PROPOSED STANDARD)
+
+2393 IP Payload Compression Protocol (IPComp). A. Shacham, R. Monsour,
+ R. Pereira, M. Thomas. December 1998. (Format: TXT=20757 bytes)
+ (Obsoleted by RFC3173) (Status: PROPOSED STANDARD)
+
+2394 IP Payload Compression Using DEFLATE. R. Pereira. December 1998.
+ (Format: TXT=11053 bytes) (Status: INFORMATIONAL)
+
+2395 IP Payload Compression Using LZS. R. Friend, R. Monsour. December
+ 1998. (Format: TXT=14882 bytes) (Status: INFORMATIONAL)
+
+2396 Uniform Resource Identifiers (URI): Generic Syntax. T.
+ Berners-Lee, R. Fielding, L. Masinter. August 1998. (Format:
+ TXT=83639 bytes) (Updates RFC1808, RFC1738) (Status: DRAFT STANDARD)
+
+2397 The "data" URL scheme. L. Masinter. August 1998. (Format:
+ TXT=9514 bytes) (Status: PROPOSED STANDARD)
+
+2398 Some Testing Tools for TCP Implementors. S. Parker, C. Schmechel.
+ August 1998. (Format: TXT=24107 bytes) (Also FYI0033) (Status:
+ INFORMATIONAL)
+
+2399 Request for Comments Summary. A. Ramos. January 1999. (Format:
+ TXT=45853 bytes) (Status: INFORMATIONAL)
+
+2400 Internet Official Protocol Standards. J. Postel, J. Reynolds.
+ September 1998. (Format: TXT=110969 bytes) (Obsoletes RFC2300)
+ (Obsoleted by RFC2500) (Status: HISTORIC)
+
+2401 Security Architecture for the Internet Protocol. S. Kent, R.
+ Atkinson. November 1998. (Format: TXT=168162 bytes) (Obsoletes
+ RFC1825) (Status: PROPOSED STANDARD)
+
+2402 IP Authentication Header. S. Kent, R. Atkinson. November 1998.
+ (Format: TXT=52831 bytes) (Obsoletes RFC1826) (Status: PROPOSED
+ STANDARD)
+
+2403 The Use of HMAC-MD5-96 within ESP and AH. C. Madson, R. Glenn.
+ November 1998. (Format: TXT=13578 bytes) (Status: PROPOSED STANDARD)
+
+2404 The Use of HMAC-SHA-1-96 within ESP and AH. C. Madson, R. Glenn.
+ November 1998. (Format: TXT=13089 bytes) (Status: PROPOSED STANDARD)
+
+2405 The ESP DES-CBC Cipher Algorithm With Explicit IV. C. Madson, N.
+ Doraswamy. November 1998. (Format: TXT=20208 bytes) (Status: PROPOSED
+ STANDARD)
+
+2406 IP Encapsulating Security Payload (ESP). S. Kent, R. Atkinson.
+ November 1998. (Format: TXT=54202 bytes) (Obsoletes RFC1827) (Status:
+ PROPOSED STANDARD)
+
+2407 The Internet IP Security Domain of Interpretation for ISAKMP. D.
+ Piper. November 1998. (Format: TXT=67878 bytes) (Status: PROPOSED
+ STANDARD)
+
+2408 Internet Security Association and Key Management Protocol
+ (ISAKMP). D. Maughan, M. Schertler, M. Schneider, J. Turner. November
+ 1998. (Format: TXT=209175 bytes) (Status: PROPOSED STANDARD)
+
+2409 The Internet Key Exchange (IKE). D. Harkins, D. Carrel. November
+ 1998. (Format: TXT=94949 bytes) (Status: PROPOSED STANDARD)
+
+2410 The NULL Encryption Algorithm and Its Use With IPsec. R. Glenn,
+ S. Kent. November 1998. (Format: TXT=11239 bytes) (Status: PROPOSED
+ STANDARD)
+
+2411 IP Security Document Roadmap. R. Thayer, N. Doraswamy, R. Glenn.
+ November 1998. (Format: TXT=22983 bytes) (Status: INFORMATIONAL)
+
+2412 The OAKLEY Key Determination Protocol. H. Orman. November 1998.
+ (Format: TXT=118649 bytes) (Status: INFORMATIONAL)
+
+2413 Dublin Core Metadata for Resource Discovery. S. Weibel, J. Kunze,
+ C. Lagoze, M. Wolf. September 1998. (Format: TXT=15501 bytes)
+ (Status: INFORMATIONAL)
+
+2414 Increasing TCP's Initial Window. M. Allman, S. Floyd, C.
+ Partridge. September 1998. (Format: TXT=32019 bytes) (Status:
+ EXPERIMENTAL)
+
+2415 Simulation Studies of Increased Initial TCP Window Size. K.
+ Poduri, K. Nichols. September 1998. (Format: TXT=24205 bytes)
+ (Status: INFORMATIONAL)
+
+2416 When TCP Starts Up With Four Packets Into Only Three Buffers. T.
+ Shepard, C. Partridge. September 1998. (Format: TXT=12663 bytes)
+ (Status: INFORMATIONAL)
+
+2417 Definitions of Managed Objects for Multicast over UNI 3.0/3.1
+ based ATM Networks. C. Chung, M. Greene. September 1998. (Format:
+ TXT=134862 bytes) (Obsoletes RFC2366) (Status: PROPOSED STANDARD)
+
+2418 IETF Working Group Guidelines and Procedures. S. Bradner.
+ September 1998. (Format: TXT=62857 bytes) (Obsoletes RFC1603) (Also
+ BCP0025) (Status: BEST CURRENT PRACTICE)
+
+2419 The PPP DES Encryption Protocol, Version 2 (DESE-bis). K.
+ Sklower, G. Meyer. September 1998. (Format: TXT=24414 bytes)
+ (Obsoletes RFC1969) (Status: PROPOSED STANDARD)
+
+2420 The PPP Triple-DES Encryption Protocol (3DESE). H. Kummert.
+ September 1998. (Format: TXT=16729 bytes) (Status: PROPOSED STANDARD)
+
+2421 Voice Profile for Internet Mail - version 2. G. Vaudreuil, G.
+ Parsons. September 1998. (Format: TXT=123663 bytes) (Obsoletes
+ RFC1911) (Status: PROPOSED STANDARD)
+
+2422 Toll Quality Voice - 32 kbit/s ADPCM MIME Sub-type Registration.
+ G. Vaudreuil, G. Parsons. September 1998. (Format: TXT=10157 bytes)
+ (Obsoletes RFC1911) (Status: PROPOSED STANDARD)
+
+2423 VPIM Voice Message MIME Sub-type Registration. G. Vaudreuil, G.
+ Parsons. September 1998. (Format: TXT=10729 bytes) (Obsoletes
+ RFC1911) (Status: PROPOSED STANDARD)
+
+2424 Content Duration MIME Header Definition. G. Vaudreuil, G.
+ Parsons. September 1998. (Format: TXT=7116 bytes) (Status: PROPOSED
+ STANDARD)
+
+2425 A MIME Content-Type for Directory Information. T. Howes, M.
+ Smith, F. Dawson. September 1998. (Format: TXT=64478 bytes) (Status:
+ PROPOSED STANDARD)
+
+2426 vCard MIME Directory Profile. F. Dawson, T. Howes. September
+ 1998. (Format: TXT=74646 bytes) (Status: PROPOSED STANDARD)
+
+2427 Multiprotocol Interconnect over Frame Relay. C. Brown, A. Malis.
+ September 1998. (Format: TXT=74671 bytes) (Obsoletes RFC1490,
+ RFC1294) (Also STD0055) (Status: STANDARD)
+
+2428 FTP Extensions for IPv6 and NATs. M. Allman, S. Ostermann, C.
+ Metz. September 1998. (Format: TXT=16028 bytes) (Status: PROPOSED
+ STANDARD)
+
+2429 RTP Payload Format for the 1998 Version of ITU-T Rec. H.263 Video
+ (H.263+). C. Bormann, L. Cline, G. Deisher, T. Gardos, C. Maciocco,
+ D. Newell, J. Ott, G. Sullivan, S. Wenger, C. Zhu. October 1998.
+ (Format: TXT=43166 bytes) (Status: PROPOSED STANDARD)
+
+2430 A Provider Architecture for Differentiated Services and Traffic
+ Engineering (PASTE). T. Li, Y. Rekhter. October 1998. (Format:
+ TXT=40148 bytes) (Status: INFORMATIONAL)
+
+2431 RTP Payload Format for BT.656 Video Encoding. D. Tynan. October
+ 1998. (Format: TXT=22323 bytes) (Status: PROPOSED STANDARD)
+
+2432 Terminology for IP Multicast Benchmarking. K. Dubray. October
+ 1998. (Format: TXT=29758 bytes) (Status: INFORMATIONAL)
+
+2433 Microsoft PPP CHAP Extensions. G. Zorn, S. Cobb. October 1998.
+ (Format: TXT=34502 bytes) (Status: INFORMATIONAL)
+
+2434 Guidelines for Writing an IANA Considerations Section in RFCs. T.
+ Narten, H. Alvestrand. October 1998. (Format: TXT=25092 bytes) (Also
+ BCP0026) (Status: BEST CURRENT PRACTICE)
+
+2435 RTP Payload Format for JPEG-compressed Video. L. Berc, W. Fenner,
+ R. Frederick, S. McCanne, P. Stewart. October 1998. (Format:
+ TXT=54173 bytes) (Obsoletes RFC2035) (Status: PROPOSED STANDARD)
+
+2436 Collaboration between ISOC/IETF and ITU-T. R. Brett, S. Bradner,
+ G. Parsons. October 1998. (Format: TXT=31154 bytes) (Status:
+ INFORMATIONAL)
+
+2437 PKCS #1: RSA Cryptography Specifications Version 2.0. B. Kaliski,
+ J. Staddon. October 1998. (Format: TXT=73529 bytes) (Obsoletes
+ RFC2313) (Status: INFORMATIONAL)
+
+2438 Advancement of MIB specifications on the IETF Standards Track. M.
+ O'Dell, H. Alvestrand, B. Wijnen, S. Bradner. October 1998. (Format:
+ TXT=13633 bytes) (Also BCP0027) (Status: BEST CURRENT PRACTICE)
+
+2439 BGP Route Flap Damping. C. Villamizar, R. Chandra, R. Govindan.
+ November 1998. (Format: TXT=86376 bytes) (Status: PROPOSED STANDARD)
+
+2440 OpenPGP Message Format. J. Callas, L. Donnerhacke, H. Finney, R.
+ Thayer. November 1998. (Format: TXT=141371 bytes) (Status: PROPOSED
+ STANDARD)
+
+2441 Working with Jon, Tribute delivered at UCLA, October 30, 1998. D.
+ Cohen. November 1998. (Format: TXT=11992 bytes) (Status:
+ INFORMATIONAL)
+
+2442 The Batch SMTP Media Type. N. Freed, D. Newman, J. Belissen, M.
+ Hoy. November 1998. (Format: TXT=18384 bytes) (Status: INFORMATIONAL)
+
+2443 A Distributed MARS Service Using SCSP. J. Luciani, A. Gallo.
+ November 1998. (Format: TXT=41451 bytes) (Status: EXPERIMENTAL)
+
+2444 The One-Time-Password SASL Mechanism. C. Newman. October 1998.
+ (Format: TXT=13408 bytes) (Updates RFC2222) (Status: PROPOSED
+ STANDARD)
+
+2445 Internet Calendaring and Scheduling Core Object Specification
+ (iCalendar). F. Dawson, D. Stenerson. November 1998. (Format:
+ TXT=291838 bytes) (Status: PROPOSED STANDARD)
+
+2446 iCalendar Transport-Independent Interoperability Protocol (iTIP)
+ Scheduling Events, BusyTime, To-dos and Journal Entries. S.
+ Silverberg, S. Mansour, F. Dawson, R. Hopson. November 1998. (Format:
+ TXT=225964 bytes) (Status: PROPOSED STANDARD)
+
+2447 iCalendar Message-Based Interoperability Protocol (iMIP). F.
+ Dawson, S. Mansour, S. Silverberg. November 1998. (Format: TXT=33480
+ bytes) (Status: PROPOSED STANDARD)
+
+2448 AT&T's Error Resilient Video Transmission Technique. M. Civanlar,
+ G. Cash, B. Haskell. November 1998. (Format: TXT=14655 bytes)
+ (Status: INFORMATIONAL)
+
+2449 POP3 Extension Mechanism. R. Gellens, C. Newman, L. Lundblade.
+ November 1998. (Format: TXT=36017 bytes) (Updates RFC1939) (Status:
+ PROPOSED STANDARD)
+
+2450 Proposed TLA and NLA Assignment Rule. R. Hinden. December 1998.
+ (Format: TXT=24486 bytes) (Status: INFORMATIONAL)
+
+2451 The ESP CBC-Mode Cipher Algorithms. R. Pereira, R. Adams.
+ November 1998. (Format: TXT=26400 bytes) (Status: PROPOSED STANDARD)
+
+2452 IP Version 6 Management Information Base for the Transmission
+ Control Protocol. M. Daniele. December 1998. (Format: TXT=19066
+ bytes) (Status: PROPOSED STANDARD)
+
+2453 RIP Version 2. G. Malkin. November 1998. (Format: TXT=98462
+ bytes) (Obsoletes RFC1723) (Also STD0056) (Status: STANDARD)
+
+2454 IP Version 6 Management Information Base for the User Datagram
+ Protocol. M. Daniele. December 1998. (Format: TXT=15862 bytes)
+ (Status: PROPOSED STANDARD)
+
+2455 Definitions of Managed Objects for APPN. B. Clouston, B. Moore.
+ November 1998. (Format: TXT=251061 bytes) (Obsoletes RFC2155)
+ (Status: PROPOSED STANDARD)
+
+2456 Definitions of Managed Objects for APPN TRAPS. B. Clouston, B.
+ Moore. November 1998. (Format: TXT=44023 bytes) (Status: PROPOSED
+ STANDARD)
+
+2457 Definitions of Managed Objects for Extended Border Node. B.
+ Clouston, B. Moore. November 1998. (Format: TXT=54380 bytes) (Status:
+ PROPOSED STANDARD)
+
+2458 Toward the PSTN/Internet Inter-Networking--Pre-PINT
+ Implementations. H. Lu, M. Krishnaswamy, L. Conroy, S. Bellovin, F.
+ Burg, A., DeSimone, K. Tewani, P. Davidson, H. Schulzrinne, K.
+ Vishwanathan. November 1998. (Format: TXT=139100 bytes) (Status:
+ INFORMATIONAL)
+
+2459 Internet X.509 Public Key Infrastructure Certificate and CRL
+ Profile. R. Housley, W. Ford, W. Polk, D. Solo. January 1999.
+ (Format: TXT=278438 bytes) (Status: PROPOSED STANDARD)
+
+2460 Internet Protocol, Version 6 (IPv6) Specification. S. Deering, R.
+ Hinden. December 1998. (Format: TXT=85490 bytes) (Obsoletes RFC1883)
+ (Status: DRAFT STANDARD)
+
+2461 Neighbor Discovery for IP Version 6 (IPv6). T. Narten, E.
+ Nordmark, W. Simpson. December 1998. (Format: TXT=222516 bytes)
+ (Obsoletes RFC1970) (Status: DRAFT STANDARD)
+
+2462 IPv6 Stateless Address Autoconfiguration. S. Thomson, T. Narten.
+ December 1998. (Format: TXT=61210 bytes) (Obsoletes RFC1971) (Status:
+ DRAFT STANDARD)
+
+2463 Internet Control Message Protocol (ICMPv6) for the Internet
+ Protocol Version 6 (IPv6) Specification. A. Conta, S. Deering.
+ December 1998. (Format: TXT=34190 bytes) (Obsoletes RFC1885) (Status:
+ DRAFT STANDARD)
+
+2464 Transmission of IPv6 Packets over Ethernet Networks. M. Crawford.
+ December 1998. (Format: TXT=12725 bytes) (Obsoletes RFC1972) (Status:
+ PROPOSED STANDARD)
+
+2465 Management Information Base for IP Version 6: Textual Conventions
+ and General Group. D. Haskin, S. Onishi. December 1998. (Format:
+ TXT=77339 bytes) (Status: PROPOSED STANDARD)
+
+2466 Management Information Base for IP Version 6: ICMPv6 Group. D.
+ Haskin, S. Onishi. December 1998. (Format: TXT=27547 bytes) (Status:
+ PROPOSED STANDARD)
+
+2467 Transmission of IPv6 Packets over FDDI Networks. M. Crawford.
+ December 1998. (Format: TXT=16028 bytes) (Obsoletes RFC2019) (Status:
+ PROPOSED STANDARD)
+
+2468 I REMEMBER IANA. V. Cerf. October 1998. (Format: TXT=8543 bytes)
+ (Status: INFORMATIONAL)
+
+2469 A Caution On The Canonical Ordering Of Link-Layer Addresses. T.
+ Narten, C. Burton. December 1998. (Format: TXT=9948 bytes) (Status:
+ INFORMATIONAL)
+
+2470 Transmission of IPv6 Packets over Token Ring Networks. M.
+ Crawford, T. Narten, S. Thomas. December 1998. (Format: TXT=21677
+ bytes) (Status: PROPOSED STANDARD)
+
+2471 IPv6 Testing Address Allocation. R. Hinden, R. Fink, J. Postel
+ (deceased). December 1998. (Format: TXT=8031 bytes) (Obsoletes
+ RFC1897) (Status: EXPERIMENTAL)
+
+2472 IP Version 6 over PPP. D. Haskin, E. Allen. December 1998.
+ (Format: TXT=29696 bytes) (Obsoletes RFC2023) (Status: PROPOSED
+ STANDARD)
+
+2473 Generic Packet Tunneling in IPv6 Specification. A. Conta, S.
+ Deering. December 1998. (Format: TXT=77956 bytes) (Status: PROPOSED
+ STANDARD)
+
+2474 Definition of the Differentiated Services Field (DS Field) in the
+ IPv4 and IPv6 Headers. K. Nichols, S. Blake, F. Baker, D. Black.
+ December 1998. (Format: TXT=50576 bytes) (Obsoletes RFC1455, RFC1349)
+ (Status: PROPOSED STANDARD)
+
+2475 An Architecture for Differentiated Service. S. Blake, D. Black,
+ M. Carlson, E. Davies, Z. Wang, W. Weiss. December 1998. (Format:
+ TXT=94786 bytes) (Status: INFORMATIONAL)
+
+2476 Message Submission. R. Gellens, J. Klensin. December 1998.
+ (Format: TXT=30050 bytes) (Status: PROPOSED STANDARD)
+
+2477 Criteria for Evaluating Roaming Protocols. B. Aboba, G. Zorn.
+ January 1999. (Format: TXT=23530 bytes) (Status: INFORMATIONAL)
+
+2478 The Simple and Protected GSS-API Negotiation Mechanism. E. Baize,
+ D. Pinkas. December 1998. (Format: TXT=35581 bytes) (Status: PROPOSED
+ STANDARD)
+
+2479 Independent Data Unit Protection Generic Security Service
+ Application Program Interface (IDUP-GSS-API). C. Adams. December
+ 1998. (Format: TXT=156070 bytes) (Status: INFORMATIONAL)
+
+2480 Gateways and MIME Security Multiparts. N. Freed. January 1999.
+ (Format: TXT=11751 bytes) (Status: PROPOSED STANDARD)
+
+2481 A Proposal to add Explicit Congestion Notification (ECN) to IP.
+ K. Ramakrishnan, S. Floyd. January 1999. (Format: TXT=64559 bytes)
+ (Status: EXPERIMENTAL)
+
+2482 Language Tagging in Unicode Plain Text. K. Whistler, G. Adams.
+ January 1999. (Format: TXT=27800 bytes) (Status: INFORMATIONAL)
+
+2483 URI Resolution Services Necessary for URN Resolution. M.
+ Mealling, R. Daniel. January 1999. (Format: TXT=30518 bytes) (Status:
+ EXPERIMENTAL)
+
+2484 PPP LCP Internationalization Configuration Option. G. Zorn.
+ January 1999. (Format: TXT=8330 bytes) (Updates RFC2284, RFC1994,
+ RFC1570) (Status: PROPOSED STANDARD)
+
+2485 DHCP Option for The Open Group's User Authentication Protocol. S.
+ Drach. January 1999. (Format: TXT=7205 bytes) (Status: PROPOSED
+ STANDARD)
+
+2486 The Network Access Identifier. B. Aboba, M. Beadles. January
+ 1999. (Format: TXT=14261 bytes) (Status: PROPOSED STANDARD)
+
+2487 SMTP Service Extension for Secure SMTP over TLS. P. Hoffman.
+ January 1999. (Format: TXT=15120 bytes) (Status: PROPOSED STANDARD)
+
+2488 Enhancing TCP Over Satellite Channels using Standard Mechanisms.
+ M. Allman, D. Glover, L. Sanchez. January 1999. (Format: TXT=47857
+ bytes) (Also BCP0028) (Status: BEST CURRENT PRACTICE)
+
+2489 Procedure for Defining New DHCP Options. R. Droms. January 1999.
+ (Format: TXT=10484 bytes) (Obsoleted by RFC2939) (Also BCP0029)
+ (Status: BEST CURRENT PRACTICE)
+
+2490 A Simulation Model for IP Multicast with RSVP. M. Pullen, R.
+ Malghan, L. Lavu, G. Duan, J. Ma, H. Nah. January 1999. (Format:
+ TXT=74936, PS=1956365, PDF=135368 bytes) (Status: INFORMATIONAL)
+
+2491 IPv6 over Non-Broadcast Multiple Access (NBMA) networks. G.
+ Armitage, P. Schulter, M. Jork, G. Harter. January 1999. (Format:
+ TXT=100782 bytes) (Status: PROPOSED STANDARD)
+
+2492 IPv6 over ATM Networks. G. Armitage, P. Schulter, M. Jork.
+ January 1999. (Format: TXT=21199 bytes) (Status: PROPOSED STANDARD)
+
+2493 Textual Conventions for MIB Modules Using Performance History
+ Based on 15 Minute Intervals. K. Tesink, Ed. January 1999. (Format:
+ TXT=18749 bytes) (Status: PROPOSED STANDARD)
+
+2494 Definitions of Managed Objects for the DS0 and DS0 Bundle
+ Interface Type. D. Fowler, Ed. January 1999. (Format: TXT=47208
+ bytes) (Status: PROPOSED STANDARD)
+
+2495 Definitions of Managed Objects for the DS1, E1, DS2 and E2
+ Interface Types. D. Fowler, Ed. January 1999. (Format: TXT=155560
+ bytes) (Obsoletes RFC1406) (Status: PROPOSED STANDARD)
+
+2496 Definitions of Managed Object for the DS3/E3 Interface Type. D.
+ Fowler, Ed. January 1999. (Format: TXT=124251 bytes) (Obsoletes
+ RFC1407) (Status: PROPOSED STANDARD)
+
+2497 Transmission of IPv6 Packets over ARCnet Networks. I. Souvatzis.
+ January 1999. (Format: TXT=10304 bytes) (Also RFC1201) (Status:
+ PROPOSED STANDARD)
+
+2498 IPPM Metrics for Measuring Connectivity. J. Mahdavi, V. Paxson.
+ January 1999. (Format: TXT=17869 bytes) (Obsoleted by RFC2678)
+ (Status: EXPERIMENTAL)
+
+2499 Request for Comments Summary. A. Ramos. July 1999. (Format:
+ TXT=43431 bytes) (Status: INFORMATIONAL)
+
+2500 Internet Official Protocol Standards. J. Reynolds, R. Braden.
+ June 1999. (Format: TXT=78845 bytes) (Obsoletes RFC2400) (Obsoleted
+ by RFC2600) (Status: HISTORIC)
+
+2501 Mobile Ad hoc Networking (MANET): Routing Protocol Performance
+ Issues and Evaluation Considerations. S. Corson, J. Macker. January
+ 1999. (Format: TXT=28912 bytes) (Status: INFORMATIONAL)
+
+2502 Limitations of Internet Protocol Suite for Distributed Simulation
+ the Large Multicast Environment. M. Pullen, M. Myjak, C. Bouwens.
+ February 1999. (Format: TXT=28190 bytes) (Status: INFORMATIONAL)
+
+2503 MIME Types for Use with the ISO ILL Protocol. R. Moulton, M.
+ Needleman. February 1999. (Format: TXT=9078 bytes) (Status:
+ INFORMATIONAL)
+
+2504 Users' Security Handbook. E. Guttman, L. Leong, G. Malkin.
+ February 1999. (Format: TXT=74036 bytes) (Also FYI0034) (Status:
+ INFORMATIONAL)
+
+2505 Anti-Spam Recommendations for SMTP MTAs. G. Lindberg. February
+ 1999. (Format: TXT=53597 bytes) (Also BCP0030) (Status: BEST CURRENT
+ PRACTICE)
+
+2506 Media Feature Tag Registration Procedure. K. Holtman, A. Mutz, T.
+ Hardie. March 1999. (Format: TXT=24892 bytes) (Also BCP0031) (Status:
+ BEST CURRENT PRACTICE)
+
+2507 IP Header Compression. M. Degermark, B. Nordgren, S. Pink.
+ February 1999. (Format: TXT=106292 bytes) (Status: PROPOSED STANDARD)
+
+2508 Compressing IP/UDP/RTP Headers for Low-Speed Serial Links. S.
+ Casner, V. Jacobson. February 1999. (Format: TXT=60474 bytes)
+ (Status: PROPOSED STANDARD)
+
+2509 IP Header Compression over PPP. M. Engan, S. Casner, C. Bormann.
+ February 1999. (Format: TXT=18676 bytes) (Status: PROPOSED STANDARD)
+
+2510 Internet X.509 Public Key Infrastructure Certificate Management
+ Protocols. C. Adams, S. Farrell. March 1999. (Format: TXT=158178
+ bytes) (Status: PROPOSED STANDARD)
+
+2511 Internet X.509 Certificate Request Message Format. M. Myers, C.
+ Adams, D. Solo, D. Kemp. March 1999. (Format: TXT=48278 bytes)
+ (Status: PROPOSED STANDARD)
+
+2512 Accounting Information for ATM Networks. K. McCloghrie, J.
+ Heinanen, W. Greene, A. Prasad. February 1999. (Format: TXT=29119
+ bytes) (Status: PROPOSED STANDARD)
+
+2513 Managed Objects for Controlling the Collection and Storage of
+ Accounting Information for Connection-Oriented Networks. K.
+ McCloghrie, J. Heinanen, W. Greene, A. Prasad. February 1999.
+ (Format: TXT=60789 bytes) (Status: PROPOSED STANDARD)
+
+2514 Definitions of Textual Conventions and OBJECT-IDENTITIES for ATM
+ Management. M. Noto, E. Spiegel, K. Tesink. February 1999. (Format:
+ TXT=37583 bytes) (Status: PROPOSED STANDARD)
+
+2515 Definitions of Managed Objects for ATM Management. K. Tesink, Ed.
+ February 1999. (Format: TXT=179993 bytes) (Obsoletes RFC1695)
+ (Status: PROPOSED STANDARD)
+
+2516 A Method for Transmitting PPP Over Ethernet (PPPoE). L. Mamakos,
+ K. Lidl, J. Evarts, D. Carrel, D. Simone, R. Wheeler. February 1999.
+ (Format: TXT=32537 bytes) (Status: INFORMATIONAL)
+
+2517 Building Directories from DNS: Experiences from WWWSeeker. R.
+ Moats, R. Huber. February 1999. (Format: TXT=14001 bytes) (Status:
+ INFORMATIONAL)
+
+2518 HTTP Extensions for Distributed Authoring -- WEBDAV. Y. Goland,
+ E. Whitehead, A. Faizi, S. Carter, D. Jensen. February 1999. (Format:
+ TXT=202829 bytes) (Status: PROPOSED STANDARD)
+
+2519 A Framework for Inter-Domain Route Aggregation. E. Chen, J.
+ Stewart. February 1999. (Format: TXT=25394 bytes) (Status:
+ INFORMATIONAL)
+
+2520 NHRP with Mobile NHCs. J. Luciani, H. Suzuki, N. Doraswamy, D.
+ Horton. February 1999. (Format: TXT=16763 bytes) (Status:
+ EXPERIMENTAL)
+
+2521 ICMP Security Failures Messages. P. Karn, W. Simpson. March 1999.
+ (Format: TXT=14637 bytes) (Status: EXPERIMENTAL)
+
+2522 Photuris: Session-Key Management Protocol. P. Karn, W. Simpson.
+ March 1999. (Format: TXT=157224 bytes) (Status: EXPERIMENTAL)
+
+2523 Photuris: Extended Schemes and Attributes. P. Karn, W. Simpson.
+ March 1999. (Format: TXT=38166 bytes) (Status: EXPERIMENTAL)
+
+2524 Neda's Efficient Mail Submission and Delivery (EMSD) Protocol
+ Specification Version 1.3. M. Banan. February 1999. (Format:
+ TXT=153171 bytes) (Status: INFORMATIONAL)
+
+2525 Known TCP Implementation Problems. V. Paxson, M Allman, S.
+ Dawson, W. Fenner, J. Griner, I. Heavens, K. Lahey, J. Semke, B.
+ Volz. March 1999. (Format: TXT=137201 bytes) (Status: INFORMATIONAL)
+
+2526 Reserved IPv6 Subnet Anycast Addresses. D. Johnson, S. Deering.
+ March 1999. (Format: TXT=14555 bytes) (Status: PROPOSED STANDARD)
+
+2527 Internet X.509 Public Key Infrastructure Certificate Policy and
+ Certification Practices Framework. S. Chokhani, W. Ford. March 1999.
+ (Format: TXT=91860 bytes) (Status: INFORMATIONAL)
+
+2528 Internet X.509 Public Key Infrastructure Representation of Key
+ Exchange Algorithm (KEA) Keys in Internet X.509 Public Key
+ Infrastructure Certificates. R. Housley, W. Polk. March 1999.
+ (Format: TXT=18273 bytes) (Status: INFORMATIONAL)
+
+2529 Transmission of IPv6 over IPv4 Domains without Explicit Tunnels.
+ B. Carpenter, C. Jung. March 1999. (Format: TXT=21049 bytes) (Status:
+ PROPOSED STANDARD)
+
+2530 Indicating Supported Media Features Using Extensions to DSN and
+ MDN. D. Wing. March 1999. (Format: TXT=7824 bytes) (Status: PROPOSED
+ STANDARD)
+
+2531 Content Feature Schema for Internet Fax. G. Klyne, L. McIntyre.
+ March 1999. (Format: TXT=88295 bytes) (Obsoleted by RFC2879) (Status:
+ PROPOSED STANDARD)
+
+2532 Extended Facsimile Using Internet Mail. L. Masinter, D. Wing.
+ March 1999. (Format: TXT=22717 bytes) (Status: PROPOSED STANDARD)
+
+2533 A Syntax for Describing Media Feature Sets. G. Klyne. March 1999.
+ (Format: TXT=79057 bytes) (Updated by RFC2938) (Status: PROPOSED
+ STANDARD)
+
+2534 Media Features for Display, Print, and Fax. L. Masinter, D. Wing,
+ A. Mutz, K. Holtman. March 1999. (Format: TXT=15466 bytes) (Status:
+ PROPOSED STANDARD)
+
+2535 Domain Name System Security Extensions. D. Eastlake. March 1999.
+ (Format: TXT=110958 bytes) (Obsoletes RFC2065) (Updates RFC2181,
+ RFC1035, RFC1034) (Updated by RFC2931, RFC3007, RFC3008, RFC3090)
+ (Status: PROPOSED STANDARD)
+
+2536 DSA KEYs and SIGs in the Domain Name System (DNS). D. Eastlake.
+ March 1999. (Format: TXT=11121 bytes) (Status: PROPOSED STANDARD)
+
+2537 RSA/MD5 KEYs and SIGs in the Domain Name System (DNS). D.
+ Eastlake. March 1999. (Format: TXT=10810 bytes) (Status: PROPOSED
+ STANDARD)
+
+2538 Storing Certificates in the Domain Name System (DNS). D.
+ Eastlake, O. Gudmundsson. March 1999. (Format: TXT=19857 bytes)
+ (Status: PROPOSED STANDARD)
+
+2539 Storage of Diffie-Hellman Keys in the Domain Name System (DNS).
+ D. Eastlake. March 1999. (Format: TXT=21049 bytes) (Status: PROPOSED
+ STANDARD)
+
+2540 Detached Domain Name System (DNS) Information. D. Eastlake. March
+ 1999. (Format: TXT=12546 bytes) (Status: EXPERIMENTAL)
+
+2541 DNS Security Operational Considerations. D. Eastlake. March 1999.
+ (Format: TXT=14498 bytes) (Status: INFORMATIONAL)
+
+2542 Terminology and Goals for Internet Fax. L. Masinter. March 1999.
+ (Format: TXT=46372 bytes) (Status: INFORMATIONAL)
+
+2543 SIP: Session Initiation Protocol. M. Handley, H. Schulzrinne, E.
+ Schooler, J. Rosenberg. March 1999. (Format: TXT=338861 bytes)
+ (Status: PROPOSED STANDARD)
+
+2544 Benchmarking Methodology for Network Interconnect Devices. S.
+ Bradner, J. McQuaid. March 1999. (Format: TXT=66688 bytes) (Obsoletes
+ RFC1944) (Status: INFORMATIONAL)
+
+2545 Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain
+ Routing. P. Marques, F. Dupont. March 1999. (Format: TXT=10209 bytes)
+ (Status: PROPOSED STANDARD)
+
+2546 6Bone Routing Practice. A. Durand, B. Buclin. March 1999.
+ (Format: TXT=17844 bytes) (Obsoleted by RFC2772) (Status:
+ INFORMATIONAL)
+
+2547 BGP/MPLS VPNs. E. Rosen, Y. Rekhter. March 1999. (Format:
+ TXT=63270 bytes) (Status: INFORMATIONAL)
+
+2548 Microsoft Vendor-specific RADIUS Attributes. G. Zorn. March 1999.
+ (Format: TXT=80763 bytes) (Status: INFORMATIONAL)
+
+2549 IP over Avian Carriers with Quality of Service. D. Waitzman.
+ Apr-01-1999. (Format: TXT=9519 bytes) (Updates RFC1149) (Status:
+ INFORMATIONAL)
+
+2550 Y10K and Beyond. S. Glassman, M. Manasse, J. Mogul. Apr-01-1999.
+ (Format: TXT=28011 bytes) (Status: INFORMATIONAL)
+
+2551 The Roman Standards Process -- Revision III. S. Bradner.
+ Apr-01-1999. (Format: TXT=28054 bytes) (Status: INFORMATIONAL)
+
+2552 Architecture for the Information Brokerage in the ACTS Project
+ GAIA. M. Blinov, M. Bessonov, C. Clissmann. April 1999. (Format:
+ TXT=65172 bytes) (Status: INFORMATIONAL)
+
+2553 Basic Socket Interface Extensions for IPv6. R. Gilligan, S.
+ Thomson, J. Bound, W. Stevens. March 1999. (Format: TXT=89215 bytes)
+ (Obsoletes RFC2133) (Updated by RFC3152) (Status: INFORMATIONAL)
+
+2554 SMTP Service Extension for Authentication. J. Myers. March 1999.
+ (Format: TXT=20534 bytes) (Status: PROPOSED STANDARD)
+
+2555 30 Years of RFCs. RFC Editor, et al.. Apr-07-1999. (Format:
+ TXT=42902 bytes) (Status: INFORMATIONAL)
+
+2556 OSI connectionless transport services on top of UDP Applicability
+ Statement for Historic Status. S. Bradner. March 1999. (Format:
+ TXT=5864 bytes) (Status: INFORMATIONAL)
+
+2557 MIME Encapsulation of Aggregate Documents, such as HTML (MHTML).
+ J. Palme, A. Hopmann, N. Shelness. March 1999. (Format: TXT=61854
+ bytes) (Obsoletes RFC2110) (Status: PROPOSED STANDARD)
+
+2558 Definitions of Managed Objects for the SONET/SDH Interface Type.
+ K. Tesink. March 1999. (Format: TXT=138550 bytes) (Obsoletes RFC1595)
+ (Status: PROPOSED STANDARD)
+
+2559 Internet X.509 Public Key Infrastructure Operational Protocols -
+ LDAPv2. S. Boeyen, T. Howes, P. Richard. April 1999. (Format:
+ TXT=22889 bytes) (Updates RFC1778) (Status: PROPOSED STANDARD)
+
+2560 X.509 Internet Public Key Infrastructure Online Certificate
+ Status Protocol - OCSP. M. Myers, R. Ankney, A. Malpani, S. Galperin,
+ C. Adams. June 1999. (Format: TXT=43243 bytes) (Status: PROPOSED
+ STANDARD)
+
+2561 Base Definitions of Managed Objects for TN3270E Using SMIv2. K.
+ White, R. Moore. April 1999. (Format: TXT=113705 bytes) (Status:
+ PROPOSED STANDARD)
+
+2562 Definitions of Protocol and Managed Objects for TN3270E Response
+ Time Collection Using SMIv2 (TN3270E-RT-MIB). K. White, R. Moore.
+ April 1999. (Format: TXT=110633 bytes) (Status: PROPOSED STANDARD)
+
+2563 DHCP Option to Disable Stateless Auto-Configuration in IPv4
+ Clients. R. Troll. May 1999. (Format: TXT=17838 bytes) (Status:
+ PROPOSED STANDARD)
+
+2564 Application Management MIB. C. Kalbfleisch, C. Krupczak, R.
+ Presuhn, J. Saperia. May 1999. (Format: TXT=183314 bytes) (Status:
+ PROPOSED STANDARD)
+
+2565 Internet Printing Protocol/1.0: Encoding and Transport. R.
+ Herriot, Ed., S. Butler, P. Moore, R. Turner. April 1999. (Format:
+ TXT=80439 bytes) (Obsoleted by RFC2910) (Status: EXPERIMENTAL)
+
+2566 Internet Printing Protocol/1.0: Model and Semantics. R. deBry, T.
+ Hastings, R. Herriot, S. Isaacson, P. Powell. April 1999. (Format:
+ TXT=438887 bytes) (Obsoleted by RFC2911) (Status: EXPERIMENTAL)
+
+2567 Design Goals for an Internet Printing Protocol. F. Wright. April
+ 1999. (Format: TXT=90260 bytes) (Status: EXPERIMENTAL)
+
+2568 Rationale for the Structure of the Model and Protocol for the
+ Internet Printing Protocol. S. Zilles. April 1999. (Format: TXT=23547
+ bytes) (Status: EXPERIMENTAL)
+
+2569 Mapping between LPD and IPP Protocols. R. Herriot, Ed., T.
+ Hastings, N. Jacobs, J. Martin. April 1999. (Format: TXT=57886 bytes)
+ (Status: EXPERIMENTAL)
+
+2570 Introduction to Version 3 of the Internet-standard Network
+ Management Framework. J. Case, R. Mundy, D. Partain, B. Stewart.
+ April 1999. (Format: TXT=50381 bytes) (Status: INFORMATIONAL)
+
+2571 An Architecture for Describing SNMP Management Frameworks. B.
+ Wijnen, D. Harrington, R. Presuhn. April 1999. (Format: TXT=139260
+ bytes) (Obsoletes RFC2271) (Status: DRAFT STANDARD)
+
+2572 Message Processing and Dispatching for the Simple Network
+ Management Protocol (SNMP). J. Case, D. Harrington, R. Presuhn, B.
+ Wijnen. April 1999. (Format: TXT=96035 bytes) (Obsoletes RFC2272)
+ (Status: DRAFT STANDARD)
+
+2573 SNMP Applications. D. Levi, P. Meyer, B. Stewart. April 1999.
+ (Format: TXT=150427 bytes) (Obsoletes RFC2273) (Status: DRAFT
+ STANDARD)
+
+2574 User-based Security Model (USM) for version 3 of the Simple
+ Network Management Protocol (SNMPv3). U. Blumenthal, B. Wijnen. April
+ 1999. (Format: TXT=190755 bytes) (Obsoletes RFC2274) (Status: DRAFT
+ STANDARD)
+
+2575 View-based Access Control Model (VACM) for the Simple Network
+ Management Protocol (SNMP). B. Wijnen, R. Presuhn, K. McCloghrie.
+ April 1999. (Format: TXT=79642 bytes) (Obsoletes RFC2275) (Status:
+ DRAFT STANDARD)
+
+2576 Coexistence between Version 1, Version 2, and Version 3 of the
+ Internet-standard Network Management Framework. R. Frye, D. Levi, S.
+ Routhier, B. Wijnen. March 2000. (Format: TXT=98589 bytes) (Obsoletes
+ RFC1908, RFC2089) (Status: PROPOSED STANDARD)
+
+2577 FTP Security Considerations. M. Allman, S. Ostermann. May 1999.
+ (Format: TXT=17870 bytes) (Status: INFORMATIONAL)
+
+2578 Structure of Management Information Version 2 (SMIv2). K.
+ McCloghrie, D. Perkins, J. Schoenwaelder. April 1999. (Format:
+ TXT=89712 bytes) (Obsoletes RFC1902) (Also STD0058) (Status:
+ STANDARD)
+
+2579 Textual Conventions for SMIv2. K. McCloghrie, D. Perkins, J.
+ Schoenwaelder. April 1999. (Format: TXT=59039 bytes) (Obsoletes
+ RFC1903) (Also STD0058) (Status: STANDARD)
+
+2580 Conformance Statements for SMIv2. K. McCloghrie, D. Perkins, J.
+ Schoenwaelder. April 1999. (Format: TXT=54253 bytes) (Obsoletes
+ RFC1904) (Also STD0058) (Status: STANDARD)
+
+2581 TCP Congestion Control. M. Allman, V. Paxson, W. Stevens. April
+ 1999. (Format: TXT=31351 bytes) (Obsoletes RFC2001) (Status: PROPOSED
+ STANDARD)
+
+2582 The NewReno Modification to TCP's Fast Recovery Algorithm. S.
+ Floyd, T. Henderson. April 1999. (Format: TXT=29393 bytes) (Status:
+ EXPERIMENTAL)
+
+2583 Guidelines for Next Hop Client (NHC) Developers. R. Carlson, L.
+ Winkler. May 1999. (Format: TXT=21338 bytes) (Status: INFORMATIONAL)
+
+2584 Definitions of Managed Objects for APPN/HPR in IP Networks. B.
+ Clouston, B. Moore. May 1999. (Format: TXT=40187 bytes) (Status:
+ PROPOSED STANDARD)
+
+2585 Internet X.509 Public Key Infrastructure Operational Protocols:
+ FTP and HTTP. R. Housley, P. Hoffman. May 1999. (Format: TXT=14813
+ bytes) (Status: PROPOSED STANDARD)
+
+2586 The Audio/L16 MIME content type. J. Salsman, H. Alvestrand. May
+ 1999. (Format: TXT=8694 bytes) (Status: INFORMATIONAL)
+
+2587 Internet X.509 Public Key Infrastructure LDAPv2 Schema. S.
+ Boeyen, T. Howes, P. Richard. June 1999. (Format: TXT=15102 bytes)
+ (Status: PROPOSED STANDARD)
+
+2588 IP Multicast and Firewalls. R. Finlayson. May 1999. (Format:
+ TXT=28622 bytes) (Status: INFORMATIONAL)
+
+2589 Lightweight Directory Access Protocol (v3): Extensions for
+ Dynamic Directory Services. Y. Yaacovi, M. Wahl, T. Genovese. May
+ 1999. (Format: TXT=26855 bytes) (Status: PROPOSED STANDARD)
+
+2590 Transmission of IPv6 Packets over Frame Relay Networks
+ Specification. A. Conta, A. Malis, M. Mueller. May 1999. (Format:
+ TXT=41817 bytes) (Status: PROPOSED STANDARD)
+
+2591 Definitions of Managed Objects for Scheduling Management
+ Operations. D. Levi, J. Schoenwaelder. May 1999. (Format: TXT=52920
+ bytes) (Status: PROPOSED STANDARD)
+
+2592 Definitions of Managed Objects for the Delegation of Management
+ Script. D. Levi, J. Schoenwaelder. May 1999. (Format: TXT=110629
+ bytes) (Obsoleted by RFC3165) (Status: PROPOSED STANDARD)
+
+2593 Script MIB Extensibility Protocol Version 1.0. J. Schoenwaelder,
+ J. Quittek. May 1999. (Format: TXT=49663 bytes) (Status:
+ EXPERIMENTAL)
+
+2594 Definitions of Managed Objects for WWW Services. H. Hazewinkel,
+ C. Kalbfleisch, J. Schoenwaelder. May 1999. (Format: TXT=88876 bytes)
+ (Status: PROPOSED STANDARD)
+
+2595 Using TLS with IMAP, POP3 and ACAP. C. Newman. June 1999.
+ (Format: TXT=32440 bytes) (Status: PROPOSED STANDARD)
+
+2596 Use of Language Codes in LDAP. M. Wahl, T. Howes. May 1999.
+ (Format: TXT=17413 bytes) (Status: PROPOSED STANDARD)
+
+2597 Assured Forwarding PHB Group. J. Heinanen, F. Baker, W. Weiss, J.
+ Wroclawski. June 1999. (Format: TXT=24068 bytes) (Status: PROPOSED
+ STANDARD)
+
+2598 An Expedited Forwarding PHB. V. Jacobson, K. Nichols, K. Poduri.
+ June 1999. (Format: TXT=23656 bytes) (Status: PROPOSED STANDARD)
+
+2599 Request for Comments Summary RFC Numbers 2500-2599. A. DeLaCruz.
+ March 2000. (Format: TXT=45845 bytes) (Status: INFORMATIONAL)
+
+2600 Internet Official Protocol Standards. J. Reynolds, R. Braden.
+ March 2000. (Format: TXT=86139 bytes) (Obsoletes RFC2500) (Obsoleted
+ by RFC2700) (Status: HISTORIC)
+
+2601 ILMI-Based Server Discovery for ATMARP. M. Davison. June 1999.
+ (Format: TXT=11820 bytes) (Status: PROPOSED STANDARD)
+
+2602 ILMI-Based Server Discovery for MARS. M. Davison. June 1999.
+ (Format: TXT=12031 bytes) (Status: PROPOSED STANDARD)
+
+2603 ILMI-Based Server Discovery for NHRP. M. Davison. June 1999.
+ (Format: TXT=11865 bytes) (Status: PROPOSED STANDARD)
+
+2604 Wireless Device Configuration (OTASP/OTAPA) via ACAP. R. Gellens.
+ June 1999. (Format: TXT=65329 bytes) (Obsoleted by RFC2636) (Status:
+ INFORMATIONAL)
+
+2605 Directory Server Monitoring MIB. G. Mansfield, S. Kille. June
+ 1999. (Format: TXT=49166 bytes) (Obsoletes RFC1567) (Status: PROPOSED
+ STANDARD)
+
+2606 Reserved Top Level DNS Names. D. Eastlake, A. Panitz. June 1999.
+ (Format: TXT=8008 bytes) (Also BCP0032) (Status: BEST CURRENT
+ PRACTICE)
+
+2607 Proxy Chaining and Policy Implementation in Roaming. B. Aboba, J.
+ Vollbrecht. June 1999. (Format: TXT=33271 bytes) (Status:
+ INFORMATIONAL)
+
+2608 Service Location Protocol, Version 2. E. Guttman, C. Perkins, J.
+ Veizades, M. Day. June 1999. (Format: TXT=129475 bytes) (Updates
+ RFC2165) (Status: PROPOSED STANDARD)
+
+2609 Service Templates and Service: Schemes. E. Guttman, C. Perkins,
+ J. Kempf. June 1999. (Format: TXT=72842 bytes) (Updates RFC2165)
+ (Status: PROPOSED STANDARD)
+
+2610 DHCP Options for Service Location Protocol. C. Perkins, E.
+ Guttman. June 1999. (Format: TXT=10859 bytes) (Status: PROPOSED
+ STANDARD)
+
+2611 URN Namespace Definition Mechanisms. L. Daigle, D. van Gulik, R.
+ Iannella, P. Falstrom. June 1999. (Format: TXT=26916 bytes) (Also
+ BCP0033) (Status: BEST CURRENT PRACTICE)
+
+2612 The CAST-256 Encryption Algorithm. C. Adams, J. Gilchrist. June
+ 1999. (Format: TXT=37468 bytes) (Status: INFORMATIONAL)
+
+2613 Remote Network Monitoring MIB Extensions for Switched Networks
+ Version 1.0. R. Waterman, B. Lahaye, D. Romascanu, S. Waldbusser.
+ June 1999. (Format: TXT=88701 bytes) (Status: PROPOSED STANDARD)
+
+2614 An API for Service Location. J. Kempf, E. Guttman. June 1999.
+ (Format: TXT=164002 bytes) (Status: INFORMATIONAL)
+
+2615 PPP over SONET/SDH. A. Malis, W. Simpson. June 1999. (Format:
+ TXT=18708 bytes) (Obsoletes RFC1619) (Status: PROPOSED STANDARD)
+
+2616 Hypertext Transfer Protocol -- HTTP/1.1. R. Fielding, J. Gettys,
+ J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee. June
+ 1999. (Format: TXT=422317, PS=5529857, PDF=550558 bytes) (Obsoletes
+ RFC2068) (Updated by RFC2817) (Status: DRAFT STANDARD)
+
+2617 HTTP Authentication: Basic and Digest Access Authentication. J.
+ Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A.
+ Luotonen, L. Stewart. June 1999. (Format: TXT=77638 bytes) (Obsoletes
+ RFC2069) (Status: DRAFT STANDARD)
+
+2618 RADIUS Authentication Client MIB. B. Aboba, G. Zorn. June 1999.
+ (Format: TXT=26889 bytes) (Status: PROPOSED STANDARD)
+
+2619 RADIUS Authentication Server MIB. G. Zorn, B. Aboba. June 1999.
+ (Format: TXT=30464 bytes) (Status: PROPOSED STANDARD)
+
+2620 RADIUS Accounting Client MIB. B. Aboba, G. Zorn. June 1999.
+ (Format: TXT=23960 bytes) (Status: INFORMATIONAL)
+
+2621 RADIUS Accounting Server MIB. G. Zorn, B. Aboba. June 1999.
+ (Format: TXT=27768 bytes) (Status: INFORMATIONAL)
+
+2622 Routing Policy Specification Language (RPSL). C. Alaettinoglu, C.
+ Villamizar, E. Gerich, D. Kessens, D. Meyer, T. Bates, D. Karrenberg,
+ M. Terpstra. June 1999. (Format: TXT=140811 bytes) (Obsoletes
+ RFC2280) (Status: PROPOSED STANDARD)
+
+2623 NFS Version 2 and Version 3 Security Issues and the NFS
+ Protocol's Use of RPCSEC_GSS and Kerberos V5. M. Eisler. June 1999.
+ (Format: TXT=42521 bytes) (Status: PROPOSED STANDARD)
+
+2624 NFS Version 4 Design Considerations. S. Shepler. June 1999.
+ (Format: TXT=52891 bytes) (Status: INFORMATIONAL)
+
+2625 IP and ARP over Fibre Channel. M. Rajagopal, R. Bhagwat, W.
+ Rickard. June 1999. (Format: TXT=137741 bytes) (Status: PROPOSED
+ STANDARD)
+
+2626 The Internet and the Millennium Problem (Year 2000). P. Nesser
+ II. June 1999. (Format: TXT=547560 bytes) (Status: INFORMATIONAL)
+
+2627 Key Management for Multicast: Issues and Architectures. D.
+ Wallner, E. Harder, R. Agee. June 1999. (Format: TXT=59263 bytes)
+ (Status: INFORMATIONAL)
+
+2628 Simple Cryptographic Program Interface (Crypto API). V. Smyslov.
+ June 1999. (Format: TXT=60070 bytes) (Status: INFORMATIONAL)
+
+2629 Writing I-Ds and RFCs using XML. M. Rose. June 1999. (Format:
+ TXT=48677 bytes) (Status: INFORMATIONAL)
+
+2630 Cryptographic Message Syntax. R. Housley. June 1999. (Format:
+ TXT=128599 bytes) (Status: PROPOSED STANDARD)
+
+2631 Diffie-Hellman Key Agreement Method. E. Rescorla. June 1999.
+ (Format: TXT=25932 bytes) (Status: PROPOSED STANDARD)
+
+2632 S/MIME Version 3 Certificate Handling. B. Ramsdell, Ed.. June
+ 1999. (Format: TXT=27925 bytes) (Status: PROPOSED STANDARD)
+
+2633 S/MIME Version 3 Message Specification. B. Ramsdell, Ed.. June
+ 1999. (Format: TXT=67870 bytes) (Status: PROPOSED STANDARD)
+
+2634 Enhanced Security Services for S/MIME. P. Hoffman, Ed.. June
+ 1999. (Format: TXT=131153 bytes) (Status: PROPOSED STANDARD)
+
+2635 DON'T SPEW A Set of Guidelines for Mass Unsolicited Mailings and
+ Postings (spam*). S. Hambridge, A. Lunde. June 1999. (Format:
+ TXT=44669 bytes) (Also FYI0035) (Status: INFORMATIONAL)
+
+2636 Wireless Device Configuration (OTASP/OTAPA) via ACAP. R. Gellens.
+ July 1999. (Format: TXT=65288, PS=1120860, PDF=173655 bytes)
+ (Obsoletes RFC2604) (Status: INFORMATIONAL)
+
+2637 Point-to-Point Tunneling Protocol. K. Hamzeh, G. Pall, W.
+ Verthein, J. Taarud, W. Little, G. Zorn. July 1999. (Format:
+ TXT=132565 bytes) (Status: INFORMATIONAL)
+
+2638 A Two-bit Differentiated Services Architecture for the Internet.
+ K. Nichols, V. Jacobson, L. Zhang. July 1999. (Format: TXT=72785,
+ PS=1610846, PDF=315195 bytes) (Status: INFORMATIONAL)
+
+2639 Internet Printing Protocol/1.0: Implementer's Guide. T. Hastings,
+ C. Manros. July 1999. (Format: TXT=145086 bytes) (Status:
+ INFORMATIONAL)
+
+2640 Internationalization of the File Transfer Protocol. B. Curtin.
+ July 1999. (Format: TXT=57204 bytes) (Updates RFC0959) (Status:
+ PROPOSED STANDARD)
+
+2641 Cabletron's VlanHello Protocol Specification Version 4. D.
+ Hamilton, D. Ruffen. August 1999. (Format: TXT=34686 bytes) (Status:
+ INFORMATIONAL)
+
+2642 Cabletron's VLS Protocol Specification. L. Kane. August 1999.
+ (Format: TXT=204347 bytes) (Status: INFORMATIONAL)
+
+2643 Cabletron's SecureFast VLAN Operational Model. D. Ruffen, T. Len,
+ J. Yanacek. August 1999. (Format: TXT=121786 bytes) (Status:
+ INFORMATIONAL)
+
+2644 Changing the Default for Directed Broadcasts in Routers. D.
+ Senie. August 1999. (Format: TXT=6820 bytes) (Updates RFC1812) (Also
+ BCP0034) (Status: BEST CURRENT PRACTICE)
+
+2645 ON-DEMAND MAIL RELAY (ODMR) SMTP with Dynamic IP Addresses. R.
+ Gellens. August 1999. (Format: TXT=16302 bytes) (Status: PROPOSED
+ STANDARD)
+
+2646 The Text/Plain Format Parameter. R. Gellens. August 1999.
+ (Format: TXT=29175 bytes) (Updates RFC2046) (Status: PROPOSED
+ STANDARD)
+
+2647 Benchmarking Terminology for Firewall Performance. D. Newman.
+ August 1999. (Format: TXT=45374 bytes) (Status: INFORMATIONAL)
+
+2648 A URN Namespace for IETF Documents. R. Moats. August 1999.
+ (Format: TXT=46826 bytes) (Status: INFORMATIONAL)
+
+2649 An LDAP Control and Schema for Holding Operation Signatures. B.
+ Greenblatt, P. Richard. August 1999. (Format: TXT=20470 bytes)
+ (Status: EXPERIMENTAL)
+
+2650 Using RPSL in Practice. D. Meyer, J. Schmitz, C. Orange, M.
+ Prior, C. Alaettinoglu. August 1999. (Format: TXT=55272 bytes)
+ (Status: INFORMATIONAL)
+
+2651 The Architecture of the Common Indexing Protocol (CIP). J. Allen,
+ M. Mealling. August 1999. (Format: TXT=41933 bytes) (Status: PROPOSED
+ STANDARD)
+
+2652 MIME Object Definitions for the Common Indexing Protocol (CIP).
+ J. Allen, M. Mealling. August 1999. (Format: TXT=42464 bytes)
+ (Status: PROPOSED STANDARD)
+
+2653 CIP Transport Protocols. J. Allen, P. Leach, R. Hedberg. August
+ 1999. (Format: TXT=22999 bytes) (Status: PROPOSED STANDARD)
+
+2654 A Tagged Index Object for use in the Common Indexing Protocol. R.
+ Hedberg, B. Greenblatt, R. Moats, M. Wahl. August 1999. (Format:
+ TXT=46739 bytes) (Status: EXPERIMENTAL)
+
+2655 CIP Index Object Format for SOIF Objects. T. Hardie, M. Bowman,
+ D. Hardy, M. Schwartz, D. Wessels. August 1999. (Format: TXT=34285
+ bytes) (Status: EXPERIMENTAL)
+
+2656 Registration Procedures for SOIF Template Types. T. Hardie.
+ August 1999. (Format: TXT=17409 bytes) (Status: EXPERIMENTAL)
+
+2657 LDAPv2 Client vs. the Index Mesh. R. Hedberg. August 1999.
+ (Format: TXT=19251 bytes) (Status: EXPERIMENTAL)
+
+2658 RTP Payload Format for PureVoice(tm) Audio. K. McKay. August
+ 1999. (Format: TXT=21895 bytes) (Status: PROPOSED STANDARD)
+
+2659 Security Extensions For HTML. E. Rescorla, A. Schiffman. August
+ 1999. (Format: TXT=8134 bytes) (Status: EXPERIMENTAL)
+
+2660 The Secure HyperText Transfer Protocol. E. Rescorla, A.
+ Schiffman. August 1999. (Format: TXT=95645 bytes) (Status:
+ EXPERIMENTAL)
+
+2661 Layer Two Tunneling Protocol "L2TP". W. Townsley, A. Valencia, A.
+ Rubens, G. Pall, G. Zorn, B. Palter. August 1999. (Format: TXT=168150
+ bytes) (Status: PROPOSED STANDARD)
+
+2662 Definitions of Managed Objects for the ADSL Lines. G. Bathrick,
+ F. Ly. August 1999. (Format: TXT=247122 bytes) (Status: PROPOSED
+ STANDARD)
+
+2663 IP Network Address Translator (NAT) Terminology and
+ Considerations. P. Srisuresh, M. Holdrege. August 1999. (Format:
+ TXT=72265 bytes) (Status: INFORMATIONAL)
+
+2664 FYI on Questions and Answers - Answers to Commonly Asked "New
+ Internet User" Questions. R. Plzak, A. Wells, E. Krol. August 1999.
+ (Format: TXT=23640 bytes) (Obsoletes RFC1594) (Also FYI0004) (Status:
+ INFORMATIONAL)
+
+2665 Definitions of Managed Objects for the Ethernet-like Interface
+ Types. J. Flick, J. Johnson. August 1999. (Format: TXT=110038 bytes)
+ (Obsoletes RFC2358) (Status: PROPOSED STANDARD)
+
+2666 Definitions of Object Identifiers for Identifying Ethernet Chip
+ Sets. J. Flick. August 1999. (Format: TXT=37699 bytes) (Status:
+ INFORMATIONAL)
+
+2667 IP Tunnel MIB. D. Thaler. August 1999. (Format: TXT=32770 bytes)
+ (Status: PROPOSED STANDARD)
+
+2668 Definitions of Managed Objects for IEEE 802.3 Medium Attachment
+ Units (MAUs). A. Smith, J. Flick, K. de Graaf, D. Romascanu, D.
+ McMaster, K. McCloghrie, S. Roberts. August 1999. (Format: TXT=121843
+ bytes) (Obsoletes RFC2239) (Status: PROPOSED STANDARD)
+
+2669 DOCSIS Cable Device MIB Cable Device Management Information Base
+ for DOCSIS compliant Cable Modems and Cable Modem Termination
+ Systems. M. St. Johns, Ed.. August 1999. (Format: TXT=112880 bytes)
+ (Status: PROPOSED STANDARD)
+
+2670 Radio Frequency (RF) Interface Management Information Base for
+ MCNS/DOCSIS compliant RF interfaces. M. St. Johns, Ed.. August 1999.
+ (Format: TXT=141077 bytes) (Status: PROPOSED STANDARD)
+
+2671 Extension Mechanisms for DNS (EDNS0). P. Vixie. August 1999.
+ (Format: TXT=15257 bytes) (Status: PROPOSED STANDARD)
+
+2672 Non-Terminal DNS Name Redirection. M. Crawford. August 1999.
+ (Format: TXT=18321 bytes) (Status: PROPOSED STANDARD)
+
+2673 Binary Labels in the Domain Name System. M. Crawford. August
+ 1999. (Format: TXT=12379 bytes) (Status: PROPOSED STANDARD)
+
+2674 Definitions of Managed Objects for Bridges with Traffic Classes,
+ Multicast Filtering and Virtual LAN Extensions. E. Bell, A. Smith, P.
+ Langille, A. Rijhsinghani, K. McCloghrie. August 1999. (Format:
+ TXT=159971 bytes) (Status: PROPOSED STANDARD)
+
+2675 IPv6 Jumbograms. D. Borman, S. Deering, R. Hinden. August 1999.
+ (Format: TXT=17320 bytes) (Obsoletes RFC2147) (Status: PROPOSED
+ STANDARD)
+
+2676 QoS Routing Mechanisms and OSPF Extensions. G. Apostolopoulos, S.
+ Kama, D. Williams, R. Guerin, A. Orda, T. Przygienda. August 1999.
+ (Format: TXT=124563 bytes) (Status: EXPERIMENTAL)
+
+2677 Definitions of Managed Objects for the NBMA Next Hop Resolution
+ Protocol (NHRP). M. Greene, J. Cucchiara, J. Luciani. August 1999.
+ (Format: TXT=129699 bytes) (Status: PROPOSED STANDARD)
+
+2678 IPPM Metrics for Measuring Connectivity. J. Mahdavi, V. Paxson.
+ September 1999. (Format: TXT=18087 bytes) (Obsoletes RFC2498)
+ (Status: PROPOSED STANDARD)
+
+2679 A One-way Delay Metric for IPPM. G. Almes, S. Kalidindi, M.
+ Zekauskas. September 1999. (Format: TXT=43542 bytes) (Status:
+ PROPOSED STANDARD)
+
+2680 A One-way Packet Loss Metric for IPPM. G. Almes, S. Kalidindi, M.
+ Zekauskas. September 1999. (Format: TXT=32266 bytes) (Status:
+ PROPOSED STANDARD)
+
+2681 A Round-trip Delay Metric for IPPM. G. Almes, S. Kalidindi, M.
+ Zekauskas. September 1999. (Format: TXT=44357 bytes) (Status:
+ PROPOSED STANDARD)
+
+2682 Performance Issues in VC-Merge Capable ATM LSRs. I. Widjaja, A.
+ Elwalid. September 1999. (Format: TXT=29491 bytes) (Status:
+ INFORMATIONAL)
+
+2683 IMAP4 Implementation Recommendations. B. Leiba. September 1999.
+ (Format: TXT=56300 bytes) (Status: INFORMATIONAL)
+
+2684 Multiprotocol Encapsulation over ATM Adaptation Layer 5. D.
+ Grossman, J. Heinanen. September 1999. (Format: TXT=51390 bytes)
+ (Obsoletes RFC1483) (Status: PROPOSED STANDARD)
+
+2685 Virtual Private Networks Identifier. B. Fox, B. Gleeson.
+ September 1999. (Format: TXT=11168 bytes) (Status: PROPOSED STANDARD)
+
+2686 The Multi-Class Extension to Multi-Link PPP. C. Bormann.
+ September 1999. (Format: TXT=24192 bytes) (Status: PROPOSED STANDARD)
+
+2687 PPP in a Real-time Oriented HDLC-like Framing. C. Bormann.
+ September 1999. (Format: TXT=28699 bytes) (Status: PROPOSED STANDARD)
+
+2688 Integrated Services Mappings for Low Speed Networks. S.
+ Jackowski, D. Putzolu, E. Crawley, B. Davie. September 1999. (Format:
+ TXT=36685 bytes) (Status: PROPOSED STANDARD)
+
+2689 Providing Integrated Services over Low-bitrate Links. C. Bormann.
+ September 1999. (Format: TXT=34345 bytes) (Status: INFORMATIONAL)
+
+2690 A Proposal for an MOU-Based ICANN Protocol Support Organization.
+ S. Bradner. September 1999. (Format: TXT=14221 bytes) (Status:
+ INFORMATIONAL)
+
+2691 A Memorandum of Understanding for an ICANN Protocol Support
+ Organization. S. Bradner. September 1999. (Format: TXT=18940 bytes)
+ (Status: INFORMATIONAL)
+
+2692 SPKI Requirements. C. Ellison. September 1999. (Format: TXT=29569
+ bytes) (Status: EXPERIMENTAL)
+
+2693 SPKI Certificate Theory. C. Ellison, B. Frantz, B. Lampson, R.
+ Rivest, B. Thomas, T. Ylonen. September 1999. (Format: TXT=96699
+ bytes) (Status: EXPERIMENTAL)
+
+2694 DNS extensions to Network Address Translators (DNS_ALG). P.
+ Srisuresh, G. Tsirtsis, P. Akkiraju, A. Heffernan. September 1999.
+ (Format: TXT=67720 bytes) (Status: INFORMATIONAL)
+
+2695 Authentication Mechanisms for ONC RPC. A. Chiu. September 1999.
+ (Format: TXT=39286 bytes) (Status: INFORMATIONAL)
+
+2696 LDAP Control Extension for Simple Paged Results Manipulation. C.
+ Weider, A. Herron, A. Anantha, T. Howes. September 1999. (Format:
+ TXT=12809 bytes) (Status: INFORMATIONAL)
+
+2697 A Single Rate Three Color Marker. J. Heinanen, R. Guerin.
+ September 1999. (Format: TXT=10309 bytes) (Status: INFORMATIONAL)
+
+2698 A Two Rate Three Color Marker. J. Heinanen, R. Guerin. September
+ 1999. (Format: TXT=9368 bytes) (Status: INFORMATIONAL)
+
+2699 Request for Comments Summary RFC Numbers 2600-2699. S. Ginoza.
+ May 2000. (Format: TXT=42462 bytes) (Status: INFORMATIONAL)
+
+2700 Internet Official Protocol Standards. J. Reynolds, R. Braden.
+ August 2000. (Format: TXT=90213 bytes) (Obsoletes RFC2600) (Obsoleted
+ by RFC2800) (Status: HISTORIC)
+
+2701 Nortel Networks Multi-link Multi-node PPP Bundle Discovery
+ Protocol. G. Malkin. September 1999. (Format: TXT=17571 bytes)
+ (Status: INFORMATIONAL)
+
+2702 Requirements for Traffic Engineering Over MPLS. D. Awduche, J.
+ Malcolm, J. Agogbua, M. O'Dell, J. McManus. September 1999. (Format:
+ TXT=68386 bytes) (Status: INFORMATIONAL)
+
+2703 Protocol-independent Content Negotiation Framework. G. Klyne.
+ September 1999. (Format: TXT=42071 bytes) (Status: INFORMATIONAL)
+
+2704 The KeyNote Trust-Management System Version 2. M. Blaze, J.
+ Feigenbaum, J. Ioannidis, A. Keromytis. September 1999. (Format:
+ TXT=79998 bytes) (Status: INFORMATIONAL)
+
+2705 Media Gateway Control Protocol (MGCP) Version 1.0. M. Arango, A.
+ Dugan, I. Elliott, C. Huitema, S. Pickett. October 1999. (Format:
+ TXT=304056 bytes) (Status: INFORMATIONAL)
+
+2706 ECML v1: Field Names for E-Commerce. D. Eastlake, T. Goldstein.
+ October 1999. (Format: TXT=26135 bytes) (Obsoleted by RFC3106)
+ (Status: INFORMATIONAL)
+
+2707 Job Monitoring MIB - V1.0. R. Bergman, T. Hastings, S. Isaacson,
+ H. Lewis. November 1999. (Format: TXT=255685 bytes) (Status:
+ INFORMATIONAL)
+
+2708 Job Submission Protocol Mapping Recommendations for the Job
+ Monitoring MIB. R. Bergman. November 1999. (Format: TXT=57489 bytes)
+ (Status: INFORMATIONAL)
+
+2709 Security Model with Tunnel-mode IPsec for NAT Domains. P.
+ Srisuresh. October 1999. (Format: TXT=24552 bytes) (Status:
+ INFORMATIONAL)
+
+2710 Multicast Listener Discovery (MLD) for IPv6. S. Deering, W.
+ Fenner, B. Haberman. October 1999. (Format: TXT=46838 bytes) (Status:
+ PROPOSED STANDARD)
+
+2711 IPv6 Router Alert Option. C. Partridge, A. Jackson. October 1999.
+ (Format: TXT=11973 bytes) (Status: PROPOSED STANDARD)
+
+2712 Addition of Kerberos Cipher Suites to Transport Layer Security
+ (TLS). A. Medvinsky, M. Hur. October 1999. (Format: TXT=13763 bytes)
+ (Status: PROPOSED STANDARD)
+
+2713 Schema for Representing Java(tm) Objects in an LDAP Directory. V.
+ Ryan, S. Seligman, R. Lee. October 1999. (Format: TXT=40745 bytes)
+ (Status: INFORMATIONAL)
+
+2714 Schema for Representing CORBA Object References in an LDAP
+ Directory. V. Ryan, S. Seligman, R. Lee. October 1999. (Format:
+ TXT=14709 bytes) (Status: INFORMATIONAL)
+
+2715 Interoperability Rules for Multicast Routing Protocols. D.
+ Thaler. October 1999. (Format: TXT=49638 bytes) (Status:
+ INFORMATIONAL)
+
+2716 PPP EAP TLS Authentication Protocol. B. Aboba, D. Simon. October
+ 1999. (Format: TXT=50108 bytes) (Status: EXPERIMENTAL)
+
+2717 Registration Procedures for URL Scheme Names. R. Petke, I. King.
+ November 1999. (Format: TXT=19780 bytes) (Also BCP0035) (Status: BEST
+ CURRENT PRACTICE)
+
+2718 Guidelines for new URL Schemes. L. Masinter, H. Alvestrand, D.
+ Zigmond, R. Petke. November 1999. (Format: TXT=19208 bytes) (Status:
+ INFORMATIONAL)
+
+2719 Framework Architecture for Signaling Transport. L. Ong, I.
+ Rytina, M. Garcia, H. Schwarzbauer, L. Coene, H. Lin, I. Juhasz, M.
+ Holdrege, C. Sharp. October 1999. (Format: TXT=48646 bytes) (Status:
+ INFORMATIONAL)
+
+2720 Traffic Flow Measurement: Meter MIB. N. Brownlee. October 1999.
+ (Format: TXT=103781 bytes) (Obsoletes RFC2064) (Status: PROPOSED
+ STANDARD)
+
+2721 RTFM: Applicability Statement. N. Brownlee. October 1999.
+ (Format: TXT=21200 bytes) (Status: INFORMATIONAL)
+
+2722 Traffic Flow Measurement: Architecture. N. Brownlee, C. Mills, G.
+ Ruth. October 1999. (Format: TXT=114064 bytes) (Obsoletes RFC2063)
+ (Status: INFORMATIONAL)
+
+2723 SRL: A Language for Describing Traffic Flows and Specifying
+ Actions for Flow Groups. N. Brownlee. October 1999. (Format:
+ TXT=44406 bytes) (Status: INFORMATIONAL)
+
+2724 RTFM: New Attributes for Traffic Flow Measurement. S. Handelman,
+ S. Stibler, N. Brownlee, G. Ruth. October 1999. (Format: TXT=37951
+ bytes) (Status: EXPERIMENTAL)
+
+2725 Routing Policy System Security. C. Villamizar, C. Alaettinoglu,
+ D. Meyer, S. Murphy. December 1999. (Format: TXT=101649 bytes)
+ (Status: PROPOSED STANDARD)
+
+2726 PGP Authentication for RIPE Database Updates. J. Zsako. December
+ 1999. (Format: TXT=22594 bytes) (Status: PROPOSED STANDARD)
+
+2727 IAB and IESG Selection, Confirmation, and Recall Process:
+ Operation of the Nominating and Recall Committees. J. Galvin.
+ February 2000. (Format: TXT=33396 bytes) (Obsoletes RFC2282) (Also
+ BCP0010) (Status: BEST CURRENT PRACTICE)
+
+2728 The Transmission of IP Over the Vertical Blanking Interval of a
+ Television Signal. R. Panabaker, S. Wegerif, D. Zigmond. November
+ 1999. (Format: TXT=49099 bytes) (Status: PROPOSED STANDARD)
+
+2729 Taxonomy of Communication Requirements for Large-scale Multicast
+ Applications. P. Bagnall, R. Briscoe, A. Poppitt. December 1999.
+ (Format: TXT=53322 bytes) (Status: INFORMATIONAL)
+
+2730 Multicast Address Dynamic Client Allocation Protocol (MADCAP). S.
+ Hanna, B. Patel, M. Shah. December 1999. (Format: TXT=120341 bytes)
+ (Status: PROPOSED STANDARD)
+
+2731 Encoding Dublin Core Metadata in HTML. J. Kunze. December 1999.
+ (Format: TXT=42450 bytes) (Status: INFORMATIONAL)
+
+2732 Format for Literal IPv6 Addresses in URL's. R. Hinden, B.
+ Carpenter, L. Masinter. December 1999. (Format: TXT=7984 bytes)
+ (Status: PROPOSED STANDARD)
+
+2733 An RTP Payload Format for Generic Forward Error Correction. J.
+ Rosenberg, H. Schulzrinne. December 1999. (Format: TXT=53120 bytes)
+ (Status: PROPOSED STANDARD)
+
+2734 IPv4 over IEEE 1394. P. Johansson. December 1999. (Format:
+ TXT=69314 bytes) (Status: PROPOSED STANDARD)
+
+2735 NHRP Support for Virtual Private Networks. B. Fox, B. Petri.
+ December 1999. (Format: TXT=26451 bytes) (Status: PROPOSED STANDARD)
+
+2736 Guidelines for Writers of RTP Payload Format Specifications. M.
+ Handley, C. Perkins. December 1999. (Format: TXT=24143 bytes) (Also
+ BCP0036) (Status: BEST CURRENT PRACTICE)
+
+2737 Entity MIB (Version 2). K. McCloghrie, A. Bierman. December 1999.
+ (Format: TXT=125141 bytes) (Obsoletes RFC2037) (Status: PROPOSED
+ STANDARD)
+
+2738 Corrections to "A Syntax for Describing Media Feature Sets". G.
+ Klyne. December 1999. (Format: TXT=8353 bytes) (Status: PROPOSED
+ STANDARD)
+
+2739 Calendar Attributes for vCard and LDAP. T. Small, D. Hennessy, F.
+ Dawson. January 2000. (Format: TXT=25892 bytes) (Status: PROPOSED
+ STANDARD)
+
+2740 OSPF for IPv6. R. Coltun, D. Ferguson, J. Moy. December 1999.
+ (Format: TXT=189810 bytes) (Status: PROPOSED STANDARD)
+
+2741 Agent Extensibility (AgentX) Protocol Version 1. M. Daniele, B.
+ Wijnen, M. Ellison, D. Francisco. January 2000. (Format: TXT=199867
+ bytes) (Obsoletes RFC2257) (Status: PROPOSED STANDARD)
+
+2742 Definitions of Managed Objects for Extensible SNMP Agents. L.
+ Heintz, S. Gudur, M. Ellison. January 2000. (Format: TXT=36644 bytes)
+ (Status: PROPOSED STANDARD)
+
+2743 Generic Security Service Application Program Interface Version 2,
+ Update 1. J. Linn. January 2000. (Format: TXT=229418 bytes)
+ (Obsoletes RFC2078) (Status: PROPOSED STANDARD)
+
+2744 Generic Security Service API Version 2 : C-bindings. J. Wray.
+ January 2000. (Format: TXT=218572 bytes) (Obsoletes RFC1509) (Status:
+ PROPOSED STANDARD)
+
+2745 RSVP Diagnostic Messages. A. Terzis, B. Braden, S. Vincent, L.
+ Zhang. January 2000. (Format: TXT=52256 bytes) (Status: PROPOSED
+ STANDARD)
+
+2746 RSVP Operation Over IP Tunnels. A. Terzis, J. Krawczyk, J.
+ Wroclawski, L. Zhang. January 2000. (Format: TXT=58094 bytes)
+ (Status: PROPOSED STANDARD)
+
+2747 RSVP Cryptographic Authentication. F. Baker, B. Lindell, M.
+ Talwar. January 2000. (Format: TXT=49477 bytes) (Updated by RFC3097)
+ (Status: PROPOSED STANDARD)
+
+2748 The COPS (Common Open Policy Service) Protocol. J. Boyle, R.
+ Cohen, D. Durham, S. Herzog, R. Rajan, A. Sastry. January 2000.
+ (Format: TXT=90906 bytes) (Status: PROPOSED STANDARD)
+
+2749 COPS usage for RSVP. J. Boyle, R. Cohen, D. Durham, S. Herzog, R.
+ Rajan, A. Sastry. January 2000. (Format: TXT=33477 bytes) (Status:
+ PROPOSED STANDARD)
+
+2750 RSVP Extensions for Policy Control. S. Herzog. January 2000.
+ (Format: TXT=26379 bytes) (Updates RFC2205) (Status: PROPOSED
+ STANDARD)
+
+2751 Signaled Preemption Priority Policy Element. S. Herzog. January
+ 2000. (Format: TXT=21451 bytes) (Status: PROPOSED STANDARD)
+
+2752 Identity Representation for RSVP. S. Yadav, R. Yavatkar, R.
+ Pabbati, P. Ford, T. Moore, S. Herzog. January 2000. (Format:
+ TXT=33954 bytes) (Status: PROPOSED STANDARD)
+
+2753 A Framework for Policy-based Admission Control. R. Yavatkar, D.
+ Pendarakis, R. Guerin. January 2000. (Format: TXT=49763 bytes)
+ (Status: INFORMATIONAL)
+
+2754 RPS IANA Issues. C. Alaettinoglu, C. Villamizar, R. Govindan.
+ January 2000. (Format: TXT=11582 bytes) (Status: INFORMATIONAL)
+
+2755 Security Negotiation for WebNFS. A. Chiu, M. Eisler, B.
+ Callaghan. January 2000. (Format: TXT=23493 bytes) (Status:
+ INFORMATIONAL)
+
+2756 Hyper Text Caching Protocol (HTCP/0.0). P. Vixie, D. Wessels.
+ January 2000. (Format: TXT=32176 bytes) (Status: EXPERIMENTAL)
+
+2757 Long Thin Networks. G. Montenegro, S. Dawkins, M. Kojo, V.
+ Magret, N. Vaidya. January 2000. (Format: TXT=112988 bytes) (Status:
+ INFORMATIONAL)
+
+2758 Definitions of Managed Objects for Service Level Agreements
+ Performance Monitoring. K. White. February 2000. (Format: TXT=145581
+ bytes) (Status: EXPERIMENTAL)
+
+2759 Microsoft PPP CHAP Extensions, Version 2. G. Zorn. January 2000.
+ (Format: TXT=34178 bytes) (Status: INFORMATIONAL)
+
+2760 Ongoing TCP Research Related to Satellites. M. Allman, S.
+ Dawkins, D. Glover, J. Griner, D. Tran, T. Henderson, J. Heidemann,
+ J. Touch, H. Kruse, S. Ostermann, K. Scott, J. Semke. February 2000.
+ (Format: TXT=111141 bytes) (Status: INFORMATIONAL)
+
+2761 Terminology for ATM Benchmarking. J. Dunn, C. Martin. February
+ 2000. (Format: TXT=61219 bytes) (Status: INFORMATIONAL)
+
+2762 Sampling of the Group Membership in RTP. J. Rosenberg, H.
+ Schulzrinne. February 2000. (Format: TXT=25796 bytes) (Status:
+ EXPERIMENTAL)
+
+2763 Dynamic Hostname Exchange Mechanism for IS-IS. N. Shen, H. Smit.
+ February 2000. (Format: TXT=8593 bytes) (Status: INFORMATIONAL)
+
+2764 A Framework for IP Based Virtual Private Networks. B. Gleeson, A.
+ Lin, J. Heinanen, G. Armitage, A. Malis. February 2000. (Format:
+ TXT=163215 bytes) (Status: INFORMATIONAL)
+
+2765 Stateless IP/ICMP Translation Algorithm (SIIT). E. Nordmark.
+ February 2000. (Format: TXT=59465 bytes) (Status: PROPOSED STANDARD)
+
+2766 Network Address Translation - Protocol Translation (NAT-PT). G.
+ Tsirtsis, P. Srisuresh. February 2000. (Format: TXT=49836 bytes)
+ (Updated by RFC3152) (Status: PROPOSED STANDARD)
+
+2767 Dual Stack Hosts using the "Bump-In-the-Stack" Technique (BIS).
+ K. Tsuchiya, H. Higuchi, Y. Atarashi. February 2000. (Format:
+ TXT=26402 bytes) (Status: INFORMATIONAL)
+
+2768 Network Policy and Services: A Report of a Workshop on
+ Middleware. B. Aiken, J. Strassner, B. Carpenter, I. Foster, C.
+ Lynch, J. Mambretti, R. Moore, B. Teitelbaum. February 2000. (Format:
+ TXT=81034 bytes) (Status: INFORMATIONAL)
+
+2769 Routing Policy System Replication. C. Villamizar, C.
+ Alaettinoglu, R. Govindan, D. Meyer. February 2000. (Format:
+ TXT=95255 bytes) (Status: PROPOSED STANDARD)
+
+2770 GLOP Addressing in 233/8. D. Meyer, P. Lothberg. February 2000.
+ (Format: TXT=8988 bytes) (Obsoleted by RFC3180) (Status:
+ EXPERIMENTAL)
+
+2771 An Abstract API for Multicast Address Allocation. R. Finlayson.
+ February 2000. (Format: TXT=20954 bytes) (Status: INFORMATIONAL)
+
+2772 6Bone Backbone Routing Guidelines. R. Rockell, R. Fink. February
+ 2000. (Format: TXT=28565 bytes) (Obsoletes RFC2546) (Updated by
+ RFC3152) (Status: INFORMATIONAL)
+
+2773 Encryption using KEA and SKIPJACK. R. Housley, P. Yee, W. Nace.
+ February 2000. (Format: TXT=20008 bytes) (Updates RFC0959) (Status:
+ EXPERIMENTAL)
+
+2774 An HTTP Extension Framework. H. Nielsen, P. Leach, S. Lawrence.
+ February 2000. (Format: TXT=39719 bytes) (Status: EXPERIMENTAL)
+
+2775 Internet Transparency. B. Carpenter. February 2000. (Format:
+ TXT=42956 bytes) (Status: INFORMATIONAL)
+
+2776 Multicast-Scope Zone Announcement Protocol (MZAP). M. Handley, D.
+ Thaler, R. Kermode. February 2000. (Format: TXT=61628 bytes) (Status:
+ PROPOSED STANDARD)
+
+2777 Publicly Verifiable Nomcom Random Selection. D. Eastlake.
+ February 2000. (Format: TXT=30064 bytes) (Status: INFORMATIONAL)
+
+2778 A Model for Presence and Instant Messaging. M. Day, J. Rosenberg,
+ H. Sugano. February 2000. (Format: TXT=35153 bytes) (Status:
+ INFORMATIONAL)
+
+2779 Instant Messaging / Presence Protocol Requirements. M. Day, S.
+ Aggarwal, G. Mohr, J. Vincent. February 2000. (Format: TXT=47420
+ bytes) (Status: INFORMATIONAL)
+
+2780 IANA Allocation Guidelines For Values In the Internet Protocol
+ and Related Headers. S. Bradner, V. Paxson. March 2000. (Format:
+ TXT=18954 bytes) (Also BCP0037) (Status: BEST CURRENT PRACTICE)
+
+2781 UTF-16, an encoding of ISO 10646. P. Hoffman, F. Yergeau.
+ February 2000. (Format: TXT=29870 bytes) (Status: INFORMATIONAL)
+
+2782 A DNS RR for specifying the location of services (DNS SRV). A.
+ Gulbrandsen, P. Vixie, L. Esibov. February 2000. (Format: TXT=24013
+ bytes) (Obsoletes RFC2052) (Status: PROPOSED STANDARD)
+
+2783 Pulse-Per-Second API for UNIX-like Operating Systems, Version
+ 1.0. J. Mogul, D. Mills, J. Brittenson, J. Stone, U. Windl. March
+ 2000. (Format: TXT=61421 bytes) (Status: INFORMATIONAL)
+
+2784 Generic Routing Encapsulation (GRE). D. Farinacci, T. Li, S.
+ Hanks, D. Meyer, P. Traina. March 2000. (Format: TXT=16627 bytes)
+ (Status: PROPOSED STANDARD)
+
+2785 Methods for Avoiding the "Small-Subgroup" Attacks on the
+ Diffie-Hellman Key Agreement Method for S/MIME. R. Zuccherato. March
+ 2000. (Format: TXT=24415 bytes) (Status: INFORMATIONAL)
+
+2786 Diffie-Helman USM Key Management Information Base and Textual
+ Convention. M. St. Johns. March 2000. (Format: TXT=43280 bytes)
+ (Status: EXPERIMENTAL)
+
+2787 Definitions of Managed Objects for the Virtual Router Redundancy
+ Protocol. B. Jewell, D. Chuang. March 2000. (Format: TXT=56672 bytes)
+ (Status: PROPOSED STANDARD)
+
+2788 Network Services Monitoring MIB. N. Freed, S. Kille. March 2000.
+ (Format: TXT=43906 bytes) (Obsoletes RFC2248) (Status: PROPOSED
+ STANDARD)
+
+2789 Mail Monitoring MIB. N. Freed, S. Kille. March 2000. (Format:
+ TXT=65671 bytes) (Obsoletes RFC2249, RFC1566) (Status: PROPOSED
+ STANDARD)
+
+2790 Host Resources MIB. S. Waldbusser, P. Grillo. March 2000.
+ (Format: TXT=95807 bytes) (Obsoletes RFC1514) (Status: DRAFT
+ STANDARD)
+
+2791 Scalable Routing Design Principles. J. Yu. July 2000. (Format:
+ TXT=63416 bytes) (Status: INFORMATIONAL)
+
+2792 DSA and RSA Key and Signature Encoding for the KeyNote Trust
+ Management System. M. Blaze, J. Ioannidis, A. Keromytis. March 2000.
+ (Format: TXT=13461 bytes) (Status: INFORMATIONAL)
+
+2793 RTP Payload for Text Conversation. G. Hellstrom. May 2000.
+ (Format: TXT=20674 bytes) (Status: PROPOSED STANDARD)
+
+2794 Mobile IP Network Access Identifier Extension for IPv4. P.
+ Calhoun, C. Perkins. March 2000. (Format: TXT=16960 bytes) (Updates
+ RFC2290) (Status: PROPOSED STANDARD)
+
+2795 The Infinite Monkey Protocol Suite (IMPS). S. Christey.
+ Apr-01-2000. (Format: TXT=42902 bytes) (Status: INFORMATIONAL)
+
+2796 BGP Route Reflection - An Alternative to Full Mesh IBGP. T.
+ Bates, R. Chandra, E. Chen. April 2000. (Format: TXT=20174 bytes)
+ (Updates RFC1966) (Status: PROPOSED STANDARD)
+
+2797 Certificate Management Messages over CMS. M. Myers, X. Liu, J.
+ Schaad, J. Weinstein. April 2000. (Format: TXT=103357 bytes) (Status:
+ PROPOSED STANDARD)
+
+2798 Definition of the inetOrgPerson LDAP Object Class. M. Smith.
+ April 2000. (Format: TXT=32929 bytes) (Status: INFORMATIONAL)
+
+2799 Request for Comments Summary RFC Numbers 2700-2799. S. Ginoza.
+ September 2000. (Format: TXT=42622 bytes) (Status: INFORMATIONAL)
+
+2800 Internet Official Protocol Standards. J. Reynolds, R. Braden, S.
+ Ginoza. May 2001. (Format: TXT=101648 bytes) (Obsoletes RFC2700)
+ (Obsoleted by RFC2900) (Also STD1) (Status: STANDARD)
+
+2801 Internet Open Trading Protocol - IOTP Version 1.0. D. Burdett.
+ April 2000. (Format: TXT=598794 bytes) (Status: INFORMATIONAL)
+
+2802 Digital Signatures for the v1.0 Internet Open Trading Protocol
+ (IOTP). K. Davidson, Y. Kawatsura. April 2000. (Format: TXT=52756
+ bytes) (Status: INFORMATIONAL)
+
+2803 Digest Values for DOM (DOMHASH). H. Maruyama, K. Tamura, N.
+ Uramoto. April 2000. (Format: TXT=22552 bytes) (Status:
+ INFORMATIONAL)
+
+2804 IETF Policy on Wiretapping. IAB, IESG. May 2000. (Format:
+ TXT=18934 bytes) (Status: INFORMATIONAL)
+
+2805 Media Gateway Control Protocol Architecture and Requirements. N.
+ Greene, M. Ramalho, B. Rosen. April 2000. (Format: TXT=88190 bytes)
+ (Status: INFORMATIONAL)
+
+2806 URLs for Telephone Calls. A. Vaha-Sipila. April 2000. (Format:
+ TXT=50647 bytes) (Status: PROPOSED STANDARD)
+
+2807 XML Signature Requirements. J. Reagle. July 2000. (Format:
+ TXT=21973 bytes) (Status: INFORMATIONAL)
+
+2808 The SecurID(r) SASL Mechanism. M. Nystrom. April 2000. (Format:
+ TXT=20342 bytes) (Status: INFORMATIONAL)
+
+2809 Implementation of L2TP Compulsory Tunneling via RADIUS. B. Aboba,
+ G. Zorn. April 2000. (Format: TXT=47259 bytes) (Status:
+ INFORMATIONAL)
+
+2810 Internet Relay Chat: Architecture. C. Kalt. April 2000. (Format:
+ TXT=19087 bytes) (Updates RFC1459) (Status: INFORMATIONAL)
+
+2811 Internet Relay Chat: Channel Management. C. Kalt. April 2000.
+ (Format: TXT=40788 bytes) (Updates RFC1459) (Status: INFORMATIONAL)
+
+2812 Internet Relay Chat: Client Protocol. C. Kalt. April 2000.
+ (Format: TXT=122637 bytes) (Updates RFC1459) (Status: INFORMATIONAL)
+
+2813 Internet Relay Chat: Server Protocol. C. Kalt. April 2000.
+ (Format: TXT=56681 bytes) (Updates RFC1459) (Status: INFORMATIONAL)
+
+2814 SBM (Subnet Bandwidth Manager): A Protocol for RSVP-based
+ Admission Control over IEEE 802-style networks. R. Yavatkar, D.
+ Hoffman, Y. Bernet, F. Baker, M. Speer. May 2000. (Format: TXT=141886
+ bytes) (Status: PROPOSED STANDARD)
+
+2815 Integrated Service Mappings on IEEE 802 Networks. M. Seaman, A.
+ Smith, E. Crawley, J. Wroclawski. May 2000. (Format: TXT=42403 bytes)
+ (Status: PROPOSED STANDARD)
+
+2816 A Framework for Integrated Services Over Shared and Switched IEEE
+ 802 LAN Technologies. A. Ghanwani, J. Pace, V. Srinivasan, A. Smith,
+ M. Seaman. May 2000. (Format: TXT=119043 bytes) (Status:
+ INFORMATIONAL)
+
+2817 Upgrading to TLS Within HTTP/1.1. R. Khare, S. Lawrence. May
+ 2000. (Format: TXT=27598 bytes) (Updates RFC2616) (Status: PROPOSED
+ STANDARD)
+
+2818 HTTP Over TLS. E. Rescorla. May 2000. (Format: TXT=15170 bytes)
+ (Status: INFORMATIONAL)
+
+2819 Remote Network Monitoring Management Information Base. S.
+ Waldbusser. May 2000. (Format: TXT=198676 bytes) (Obsoletes RFC1757)
+ (Also STD0059) (Status: STANDARD)
+
+2820 Access Control Requirements for LDAP. E. Stokes, D. Byrne, B.
+ Blakley, P. Behera. May 2000. (Format: TXT=18172 bytes) (Status:
+ INFORMATIONAL)
+
+2821 Simple Mail Transfer Protocol. J. Klensin, Editor. April 2001.
+ (Format: TXT=192504 bytes) (Obsoletes RFC0821, RFC0974, RFC1869)
+ (Status: PROPOSED STANDARD)
+
+2822 Internet Message Format. P. Resnick, Editor. April 2001. (Format:
+ TXT=110695 bytes) (Obsoletes RFC0822) (Status: PROPOSED STANDARD)
+
+2823 PPP over Simple Data Link (SDL) using SONET/SDH with ATM-like
+ framing. J. Carlson, P. Langner, E. Hernandez-Valencia, J.
+ Manchester. May 2000. (Format: TXT=60049 bytes) (Status:
+ EXPERIMENTAL)
+
+2824 Call Processing Language Framework and Requirements. J. Lennox,
+ H. Schulzrinne. May 2000. (Format: TXT=58711 bytes) (Status:
+ INFORMATIONAL)
+
+2825 A Tangled Web: Issues of I18N, Domain Names, and the Other
+ Internet protocols. IAB, L. Daigle, ed.. May 2000. (Format: TXT=15612
+ bytes) (Status: INFORMATIONAL)
+
+2826 IAB Technical Comment on the Unique DNS Root. IAB. May 2000.
+ (Format: TXT=13400 bytes) (Status: INFORMATIONAL)
+
+2827 Network Ingress Filtering: Defeating Denial of Service Attacks
+ which employ IP Source Address Spoofing. P. Ferguson, D. Senie. May
+ 2000. (Format: TXT=21258 bytes) (Obsoletes RFC2267) (Also BCP0038)
+ (Status: BEST CURRENT PRACTICE)
+
+2828 Internet Security Glossary. R. Shirey. May 2000. (Format:
+ TXT=489292 bytes) (Also FYI0036) (Status: INFORMATIONAL)
+
+2829 Authentication Methods for LDAP. M. Wahl, H. Alvestrand, J.
+ Hodges, R. Morgan. May 2000. (Format: TXT=33471 bytes) (Status:
+ PROPOSED STANDARD)
+
+2830 Lightweight Directory Access Protocol (v3): Extension for
+ Transport Layer Security. J. Hodges, R. Morgan, M. Wahl. May 2000.
+ (Format: TXT=24469 bytes) (Status: PROPOSED STANDARD)
+
+2831 Using Digest Authentication as a SASL Mechanism. P. Leach, C.
+ Newman. May 2000. (Format: TXT=58124 bytes) (Status: PROPOSED
+ STANDARD)
+
+2832 NSI Registry Registrar Protocol (RRP) Version 1.1.0. S.
+ Hollenbeck, M. Srivastava. May 2000. (Format: TXT=77057 bytes)
+ (Status: INFORMATIONAL)
+
+2833 RTP Payload for DTMF Digits, Telephony Tones and Telephony
+ Signals. H. Schulzrinne, S. Petrack. May 2000. (Format: TXT=68786
+ bytes) (Status: PROPOSED STANDARD)
+
+2834 ARP and IP Broadcast over HIPPI-800. J.-M. Pittet. May 2000.
+ (Format: TXT=76243 bytes) (Obsoletes RFC1374) (Status: PROPOSED
+ STANDARD)
+
+2835 IP and ARP over HIPPI-6400 (GSN). J.-M. Pittet. May 2000.
+ (Format: TXT=74178 bytes) (Status: PROPOSED STANDARD)
+
+2836 Per Hop Behavior Identification Codes. S. Brim, B. Carpenter, F.
+ Le Faucheur. May 2000. (Format: TXT=13399 bytes) (Obsoleted by
+ RFC3140) (Status: PROPOSED STANDARD)
+
+2837 Definitions of Managed Objects for the Fabric Element in Fibre
+ Channel Standard. K. Teow. May 2000. (Format: TXT=87860 bytes)
+ (Status: PROPOSED STANDARD)
+
+2838 Uniform Resource Identifiers for Television Broadcasts. D.
+ Zigmond, M. Vickers. May 2000. (Format: TXT=11405 bytes) (Status:
+ INFORMATIONAL)
+
+2839 Internet Kermit Service. F. da Cruz, J. Altman. May 2000.
+ (Format: TXT=42726 bytes) (Status: INFORMATIONAL)
+
+2840 TELNET KERMIT OPTION. J. Altman, F. da Cruz. May 2000. (Format:
+ TXT=22519 bytes) (Status: INFORMATIONAL)
+
+2841 IP Authentication using Keyed SHA1 with Interleaved Padding
+ (IP-MAC). P. Metzger, W. Simpson. November 2000. (Format: TXT=14139
+ bytes) (Obsoletes RFC1852) (Status: HISTORIC)
+
+2842 Capabilities Advertisement with BGP-4. R. Chandra, J. Scudder.
+ May 2000. (Format: TXT=8366 bytes) (Status: PROPOSED STANDARD)
+
+2843 Proxy-PAR. P. Droz, T. Przygienda. May 2000. (Format: TXT=27891
+ bytes) (Status: INFORMATIONAL)
+
+2844 OSPF over ATM and Proxy-PAR. T. Przygienda, P. Droz, R. Haas. May
+ 2000. (Format: TXT=32146 bytes) (Status: EXPERIMENTAL)
+
+2845 Secret Key Transaction Authentication for DNS (TSIG). P. Vixie,
+ O. Gudmundsson, D. Eastlake, B. Wellington. May 2000. (Format:
+ TXT=32272 bytes) (Updates RFC1035) (Status: PROPOSED STANDARD)
+
+2846 GSTN Address Element Extensions in E-mail Services. C. Allocchio.
+ June 2000. (Format: TXT=54316 bytes) (Status: PROPOSED STANDARD)
+
+2847 LIPKEY - A Low Infrastructure Public Key Mechanism Using SPKM. M.
+ Eisler. June 2000. (Format: TXT=50045 bytes) (Status: PROPOSED
+ STANDARD)
+
+2848 The PINT Service Protocol: Extensions to SIP and SDP for IP
+ Access to Telephone Call Services. S. Petrack, L. Conroy. June 2000.
+ (Format: TXT=168851 bytes) (Status: PROPOSED STANDARD)
+
+2849 The LDAP Data Interchange Format (LDIF) - Technical
+ Specification. G. Good. June 2000. (Format: TXT=26017 bytes) (Status:
+ PROPOSED STANDARD)
+
+2850 Charter of the Internet Architecture Board (IAB). Internet
+ Architecture Board, B. Carpenter, Editor. May 2000. (Format:
+ TXT=15984 bytes) (Obsoletes RFC1601) (Also BCP0039) (Status: BEST
+ CURRENT PRACTICE)
+
+2851 Textual Conventions for Internet Network Addresses. M. Daniele,
+ B. Haberman, S. Routhier, J. Schoenwaelder. June 2000. (Format:
+ TXT=32587 bytes) (Status: PROPOSED STANDARD)
+
+2852 Deliver By SMTP Service Extension. D. Newman. June 2000. (Format:
+ TXT=29285 bytes) (Updates RFC1894) (Status: PROPOSED STANDARD)
+
+2853 Generic Security Service API Version 2 : Java Bindings. J. Kabat,
+ M. Upadhyay. June 2000. (Format: TXT=199512 bytes) (Status: PROPOSED
+ STANDARD)
+
+2854 The 'text/html' Media Type. D. Connolly, L. Masinter. June 2000.
+ (Format: TXT=16135 bytes) (Obsoletes RFC2070, RFC1980, RFC1942,
+ RFC1867, RFC1866) (Status: INFORMATIONAL)
+
+2855 DHCP for IEEE 1394. K. Fujisawa. June 2000. (Format: TXT=8070
+ bytes) (Status: PROPOSED STANDARD)
+
+2856 Textual Conventions for Additional High Capacity Data Types. A.
+ Bierman, K. McCloghrie, R. Presuhn. June 2000. (Format: TXT=20954
+ bytes) (Status: PROPOSED STANDARD)
+
+2857 The Use of HMAC-RIPEMD-160-96 within ESP and AH. A. Keromytis, N.
+ Provos. June 2000. (Format: TXT=13544 bytes) (Status: PROPOSED
+ STANDARD)
+
+2858 Multiprotocol Extensions for BGP-4. T. Bates, Y. Rekhter, R.
+ Chandra, D. Katz. June 2000. (Format: TXT=23305 bytes) (Obsoletes
+ RFC2283) (Status: PROPOSED STANDARD)
+
+2859 A Time Sliding Window Three Colour Marker (TSWTCM). W. Fang, N.
+ Seddigh, B. Nandy. June 2000. (Format: TXT=19203 bytes) (Status:
+ EXPERIMENTAL)
+
+2860 Memorandum of Understanding Concerning the Technical Work of the
+ Internet Assigned Numbers Authority. B. Carpenter, F. Baker, M.
+ Roberts. June 2000. (Format: TXT=12361 bytes) (Status: INFORMATIONAL)
+
+2861 TCP Congestion Window Validation. M. Handley, J. Padhye, S.
+ Floyd. June 2000. (Format: TXT=26993 bytes) (Status: EXPERIMENTAL)
+
+2862 RTP Payload Format for Real-Time Pointers. M. Civanlar, G. Cash.
+ June 2000. (Format: TXT=12031 bytes) (Status: PROPOSED STANDARD)
+
+2863 The Interfaces Group MIB. K. McCloghrie, F. Kastenholz. June
+ 2000. (Format: TXT=155014 bytes) (Obsoletes RFC2233) (Status: DRAFT
+ STANDARD)
+
+2864 The Inverted Stack Table Extension to the Interfaces Group MIB.
+ K. McCloghrie, G. Hanson. June 2000. (Format: TXT=21445 bytes)
+ (Status: PROPOSED STANDARD)
+
+2865 Remote Authentication Dial In User Service (RADIUS). C. Rigney,
+ S. Willens, A. Rubens, W. Simpson. June 2000. (Format: TXT=146456
+ bytes) (Obsoletes RFC2138) (Updated by RFC2868) (Status: DRAFT
+ STANDARD)
+
+2866 RADIUS Accounting. C. Rigney. June 2000. (Format: TXT=51135
+ bytes) (Obsoletes RFC2139) (Updated by RFC2867) (Status:
+ INFORMATIONAL)
+
+2867 RADIUS Accounting Modifications for Tunnel Protocol Support. G.
+ Zorn, B. Aboba, D. Mitton. June 2000. (Format: TXT=51135 bytes)
+ (Updates RFC2866) (Status: INFORMATIONAL)
+
+2868 RADIUS Attributes for Tunnel Protocol Support. G. Zorn, D.
+ Leifer, A. Rubens, J. Shriver, M. Holdrege, I. Goyret. June 2000.
+ (Format: TXT=42609 bytes) (Updates RFC2865) (Status: INFORMATIONAL)
+
+2869 RADIUS Extensions. C. Rigney, W. Willats, P. Calhoun. June 2000.
+ (Format: TXT=96854 bytes) (Status: INFORMATIONAL)
+
+2870 Root Name Server Operational Requirements. R. Bush, D.
+ Karrenberg, M. Kosters, R. Plzak. June 2000. (Format: TXT=21133
+ bytes) (Obsoletes RFC2010) (Also BCP0040) (Status: BEST CURRENT
+ PRACTICE)
+
+2871 A Framework for Telephony Routing over IP. J. Rosenberg, H.
+ Schulzrinne. June 2000. (Format: TXT=60664 bytes) (Status:
+ INFORMATIONAL)
+
+2872 Application and Sub Application Identity Policy Element for Use
+ with RSVP. Y. Bernet, R. Pabbati. June 2000. (Format: TXT=10933
+ bytes) (Status: PROPOSED STANDARD)
+
+2873 TCP Processing of the IPv4 Precedence Field. X. Xiao, A. Hannan,
+ V. Paxson, E. Crabbe. June 2000. (Format: TXT=15565 bytes) (Status:
+ PROPOSED STANDARD)
+
+2874 DNS Extensions to Support IPv6 Address Aggregation and
+ Renumbering. M. Crawford, C. Huitema. July 2000. (Format: TXT=44204
+ bytes) (Updated by RFC3152) (Status: PROPOSED STANDARD)
+
+2875 Diffie-Hellman Proof-of-Possession Algorithms. H. Prafullchandra,
+ J. Schaad. July 2000. (Format: TXT=45231 bytes) (Status: PROPOSED
+ STANDARD)
+
+2876 Use of the KEA and SKIPJACK Algorithms in CMS. J. Pawling. July
+ 2000. (Format: TXT=29265 bytes) (Status: INFORMATIONAL)
+
+2877 5250 Telnet Enhancements. T. Murphy, Jr., P. Rieth, J. Stevens.
+ July 2000. (Format: TXT=83369 bytes) (Updates RFC1205) (Status:
+ INFORMATIONAL)
+
+2878 PPP Bridging Control Protocol (BCP). M. Higashiyama, F. Baker.
+ July 2000. (Format: TXT=79527 bytes) (Obsoletes RFC1638) (Status:
+ PROPOSED STANDARD)
+
+2879 Content Feature Schema for Internet Fax (V2). G. Klyne, L.
+ McIntyre. August 2000. (Format: TXT=104032 bytes) (Obsoletes RFC2531)
+ (Status: PROPOSED STANDARD)
+
+2880 Internet Fax T.30 Feature Mapping. L. McIntyre, G. Klyne. August
+ 2000. (Format: TXT=75973 bytes) (Status: INFORMATIONAL)
+
+2881 Network Access Server Requirements Next Generation (NASREQNG) NAS
+ Model. D. Mitton, M. Beadles. July 2000. (Format: TXT=45029 bytes)
+ (Status: INFORMATIONAL)
+
+2882 Network Access Servers Requirements: Extended RADIUS Practices.
+ D. Mitton. July 2000. (Format: TXT=31426 bytes) (Status:
+ INFORMATIONAL)
+
+2883 An Extension to the Selective Acknowledgement (SACK) Option for
+ TCP. S. Floyd, J. Mahdavi, M. Mathis, M. Podolsky. July 2000.
+ (Format: TXT=35794 bytes) (Status: PROPOSED STANDARD)
+
+2884 Performance Evaluation of Explicit Congestion Notification (ECN)
+ in IP Networks. J. Hadi Salim, U. Ahmed. July 2000. (Format:
+ TXT=44647 bytes) (Status: INFORMATIONAL)
+
+2885 Megaco Protocol version 0.8. F. Cuervo, N. Greene, C. Huitema, A.
+ Rayhan, B. Rosen, J. Segers. August 2000. (Format: TXT=344871 bytes)
+ (Obsoleted by RFC3015) (Status: HISTORIC)
+
+2886 Megaco Errata. T. Taylor. August 2000. (Format: TXT=41311 bytes)
+ (Obsoleted by RFC3015) (Status: HISTORIC)
+
+2887 The Reliable Multicast Design Space for Bulk Data Transfer. M.
+ Handley, S. Floyd, B. Whetten, R. Kermode, L. Vicisano, M. Luby.
+ August 2000. (Format: TXT=51135 bytes) (Status: INFORMATIONAL)
+
+2888 Secure Remote Access with L2TP. P. Srisuresh. August 2000.
+ (Format: TXT=41255 bytes) (Status: INFORMATIONAL)
+
+2889 Benchmarking Methodology for LAN Switching Devices. R.
+ Mandeville, J. Perser. August 2000. (Format: TXT=73251 bytes)
+ (Status: INFORMATIONAL)
+
+2890 Key and Sequence Number Extensions to GRE. G. Dommety. September
+ 2000. (Format: TXT=14503 bytes) (Status: PROPOSED STANDARD)
+
+2891 LDAP Control Extension for Server Side Sorting of Search Results.
+ T. Howes, M. Wahl, A. Anantha. August 2000. (Format: TXT=15833 bytes)
+ (Status: PROPOSED STANDARD)
+
+2892 The Cisco SRP MAC Layer Protocol. D. Tsiang, G. Suwala. August
+ 2000. (Format: TXT=107645 bytes) (Status: INFORMATIONAL)
+
+2893 Transition Mechanisms for IPv6 Hosts and Routers. R. Gilligan, E.
+ Nordmark. August 2000. (Format: TXT=62731 bytes) (Obsoletes RFC1933)
+ (Status: PROPOSED STANDARD)
+
+2894 Router Renumbering for IPv6. M. Crawford. August 2000. (Format:
+ TXT=69135 bytes) (Status: PROPOSED STANDARD)
+
+2895 Remote Network Monitoring MIB Protocol Identifier Reference. A.
+ Bierman, C. Bucci, R. Iddon. August 2000. (Format: TXT=88094 bytes)
+ (Obsoletes RFC2074) (Status: PROPOSED STANDARD)
+
+2896 Remote Network Monitoring MIB Protocol Identifier Macros. A.
+ Bierman, C. Bucci, R. Iddon. August 2000. (Format: TXT=135768 bytes)
+ (Status: INFORMATIONAL)
+
+2897 Proposal for an MGCP Advanced Audio Package. D. Cromwell. August
+ 2000. (Format: TXT=67459 bytes) (Status: INFORMATIONAL)
+
+2898 PKCS #5: Password-Based Cryptography Specification Version 2.0.
+ B. Kaliski. September 2000. (Format: TXT=68692 bytes) (Status:
+ INFORMATIONAL)
+
+2899 Request for Comments Summary RFC Numbers 2800-2899. S. Ginoza.
+ May 2001. (Format: TXT=43805 bytes) (Status: INFORMATIONAL)
+
+2900 Internet Official Protocol Standards. J. Reynolds, R. Braden, S.
+ Ginoza. August 2001. (Format: TXT=112809 bytes) (Obsoletes RFC2800)
+ (Also STD1) (Status: STANDARD)
+
+2901 Guide to Administrative Procedures of the Internet
+ Infrastructure. Z. Wenzel, J. Klensin, R. Bush, S. Huter. August
+ 2000. (Format: TXT=63680 bytes) (Also FYI0037) (Status:
+ INFORMATIONAL)
+
+2902 Overview of the 1998 IAB Routing Workshop. S. Deering, S. Hares,
+ C. Perkins, R. Perlman. August 2000. (Format: TXT=32773 bytes)
+ (Status: INFORMATIONAL)
+
+2903 Generic AAA Architecture. C. de Laat, G. Gross, L. Gommans, J.
+ Vollbrecht, D. Spence. August 2000. (Format: TXT=60627 bytes)
+ (Status: EXPERIMENTAL)
+
+2904 AAA Authorization Framework. J. Vollbrecht, P. Calhoun, S.
+ Farrell, L. Gommans, G. Gross, B. de Bruijn, C. de Laat, M. Holdrege,
+ D. Spence. August 2000. (Format: TXT=78098 bytes) (Status:
+ INFORMATIONAL)
+
+2905 AAA Authorization Application Examples. J. Vollbrecht, P.
+ Calhoun, S. Farrell, L. Gommans, G. Gross, B. de Bruijn, C. de Laat,
+ M. Holdrege, D. Spence. August 2000. (Format: TXT=118645 bytes)
+ (Status: INFORMATIONAL)
+
+2906 AAA Authorization Requirements. S. Farrell, J. Vollbrecht, P.
+ Calhoun, L. Gommans, G. Gross, B. de Bruijn, C. de Laat, M. Holdrege,
+ D. Spence. August 2000. (Format: TXT=48618 bytes) (Status:
+ INFORMATIONAL)
+
+2907 MADCAP Multicast Scope Nesting State Option. R. Kermode.
+ September 2000. (Format: TXT=27572 bytes) (Status: PROPOSED STANDARD)
+
+2908 The Internet Multicast Address Allocation Architecture. D.
+ Thaler, M. Handley, D. Estrin. September 2000. (Format: TXT=30515
+ bytes) (Status: INFORMATIONAL)
+
+2909 The Multicast Address-Set Claim (MASC) Protocol. P. Radoslavov,
+ D. Estrin, R. Govindan, M. Handley, S. Kumar, D. Thaler. September
+ 2000. (Format: TXT=127278 bytes) (Status: EXPERIMENTAL)
+
+2910 Internet Printing Protocol/1.1: Encoding and Transport. R.
+ Herriot, S. Butler, P. Moore, R. Turner, J. Wenn. September 2000.
+ (Format: TXT=100599 bytes) (Obsoletes RFC2565) (Status: PROPOSED
+ STANDARD)
+
+2911 Internet Printing Protocol/1.1: Model and Semantics. R. deBry, T.
+ Hastings, R. Herriot, S. Isaacson, P. Powell. September 2000.
+ (Format: TXT=575805 bytes) (Obsoletes RFC2566) (Status: PROPOSED
+ STANDARD)
+
+2912 Indicating Media Features for MIME Content. G. Klyne. September
+ 2000. (Format: TXT=20618 bytes) (Status: PROPOSED STANDARD)
+
+2913 MIME Content Types in Media Feature Expressions. G. Klyne.
+ September 2000. (Format: TXT=16095 bytes) (Status: PROPOSED STANDARD)
+
+2914 Congestion Control Principles. S. Floyd. September 2000. (Format:
+ TXT=43823 bytes) (Also BCP0041) (Status: BEST CURRENT PRACTICE)
+
+2915 The Naming Authority Pointer (NAPTR) DNS Resource Record. M.
+ Mealling, R. Daniel. September 2000. (Format: TXT=41521 bytes)
+ (Updates RFC2168) (Status: PROPOSED STANDARD)
+
+2916 E.164 number and DNS. P. Faltstrom. September 2000. (Format:
+ TXT=18159 bytes) (Status: PROPOSED STANDARD)
+
+2917 A Core MPLS IP VPN Architecture. K. Muthukrishnan, A. Malis.
+ September 2000. (Format: TXT=35352 bytes) (Status: INFORMATIONAL)
+
+2918 Route Refresh Capability for BGP-4. E. Chen. September 2000.
+ (Format: TXT=7354 bytes) (Status: PROPOSED STANDARD)
+
+2919 List-Id: A Structured Field and Namespace for the Identification
+ of Mailing Lists. R. Chandhok, G. Wenger. March 2001. (Format:
+ TXT=18480 bytes) (Status: PROPOSED STANDARD)
+
+2920 SMTP Service Extension for Command Pipelining. N. Freed.
+ September 2000. (Format: TXT=17065 bytes) (Obsoletes RFC2197) (Also
+ STD0060) (Status: STANDARD)
+
+2921 6BONE pTLA and pNLA Formats (pTLA). B. Fink. September 2000.
+ (Format: TXT=14218 bytes) (Status: INFORMATIONAL)
+
+2922 Physical Topology MIB. A. Bierman, K. Jones. September 2000.
+ (Format: TXT=66830 bytes) (Status: INFORMATIONAL)
+
+2923 TCP Problems with Path MTU Discovery. K. Lahey. September 2000.
+ (Format: TXT=30976 bytes) (Status: INFORMATIONAL)
+
+2924 Accounting Attributes and Record Formats. N. Brownlee, A. Blount.
+ September 2000. (Format: TXT=75561 bytes) (Status: INFORMATIONAL)
+
+2925 Definitions of Managed Objects for Remote Ping, Traceroute, and
+ Lookup Operations. K. White. September 2000. (Format: TXT=150691
+ bytes) (Status: PROPOSED STANDARD)
+
+2926 Conversion of LDAP Schemas to and from SLP Templates. J. Kempf,
+ R. Moats, P. St. Pierre. September 2000. (Format: TXT=55365 bytes)
+ (Status: INFORMATIONAL)
+
+2927 MIME Directory Profile for LDAP Schema. M. Wahl. September 2000.
+ (Format: TXT=16122 bytes) (Status: INFORMATIONAL)
+
+2928 Initial IPv6 Sub-TLA ID Assignments. R. Hinden, S. Deering, R.
+ Fink, T. Hain. September 2000. (Format: TXT=11882 bytes) (Status:
+ INFORMATIONAL)
+
+2929 Domain Name System (DNS) IANA Considerations. D. Eastlake, E.
+ Brunner-Williams, B. Manning. September 2000. (Format: TXT=22454
+ bytes) (Also BCP0042) (Status: BEST CURRENT PRACTICE)
+
+2930 Secret Key Establishment for DNS (TKEY RR). D. Eastlake.
+ September 2000. (Format: TXT=34894 bytes) (Status: PROPOSED STANDARD)
+
+2931 DNS Request and Transaction Signatures ( SIG(0)s). D. Eastlake.
+ September 2000. (Format: TXT=19073 bytes) (Updates RFC2535) (Status:
+ PROPOSED STANDARD)
+
+2932 IPv4 Multicast Routing MIB. K. McCloghrie, D. Farinacci, D.
+ Thaler. October 2000. (Format: TXT=50430 bytes) (Status: PROPOSED
+ STANDARD)
+
+2933 Internet Group Management Protocol MIB. K. McCloghrie, D.
+ Farinacci, D. Thaler. October 2000. (Format: TXT=33406 bytes)
+ (Status: PROPOSED STANDARD)
+
+2934 Protocol Independent Multicast MIB for IPv4. K. McCloghrie, D.
+ Farinacci, D. Thaler, B. Fenner. October 2000. (Format: TXT=48379
+ bytes) (Status: EXPERIMENTAL)
+
+2935 Internet Open Trading Protocol (IOTP) HTTP Supplement. D.
+ Eastlake, C. Smith. September 2000. (Format: TXT=16168 bytes)
+ (Status: PROPOSED STANDARD)
+
+2936 HTTP MIME Type Handler Detection. D. Eastlake, C. Smith, D.
+ Soroka. September 2000. (Format: TXT=25238 bytes) (Status:
+ INFORMATIONAL)
+
+2937 The Name Service Search Option for DHCP. C. Smith. September
+ 2000. (Format: TXT=8368 bytes) (Status: PROPOSED STANDARD)
+
+2938 Identifying Composite Media Features. G. Klyne, L. Masinter.
+ September 2000. (Format: TXT=34451 bytes) (Updates RFC2533) (Status:
+ PROPOSED STANDARD)
+
+2939 Procedures and IANA Guidelines for Definition of New DHCP Options
+ and Message Types. R. Droms. September 2000. (Format: TXT=13631
+ bytes) (Obsoletes RFC2489) (Also BCP0043) (Status: BEST CURRENT
+ PRACTICE)
+
+2940 Definitions of Managed Objects for Common Open Policy Service
+ (COPS) Protocol Clients. A. Smith, D. Partain, J. Seligson. October
+ 2000. (Format: TXT=52427 bytes) (Status: PROPOSED STANDARD)
+
+2941 Telnet Authentication Option. T. Ts'o, Editor, J. Altman.
+ September 2000. (Format: TXT=52427 bytes) (Obsoletes RFC1416)
+ (Status: PROPOSED STANDARD)
+
+2942 Telnet Authentication: Kerberos Version 5. T. Ts'o. September
+ 2000. (Format: TXT=14562 bytes) (Status: PROPOSED STANDARD)
+
+2943 TELNET Authentication Using DSA. R. Housley, T. Horting, P. Yee.
+ September 2000. (Format: TXT=21694 bytes) (Status: PROPOSED STANDARD)
+
+2944 Telnet Authentication: SRP. T. Wu. September 2000. (Format:
+ TXT=13933 bytes) (Status: PROPOSED STANDARD)
+
+2945 The SRP Authentication and Key Exchange System. T. Wu. September
+ 2000. (Format: TXT=17843 bytes) (Status: PROPOSED STANDARD)
+
+2946 Telnet Data Encryption Option. T. Ts'o. September 2000. (Format:
+ TXT=16527 bytes) (Status: PROPOSED STANDARD)
+
+2947 Telnet Encryption: DES3 64 bit Cipher Feedback. J. Altman.
+ September 2000. (Format: TXT=11064 bytes) (Status: PROPOSED STANDARD)
+
+2948 Telnet Encryption: DES3 64 bit Output Feedback. J. Altman.
+ September 2000. (Format: TXT=11064 bytes) (Status: PROPOSED STANDARD)
+
+2949 Telnet Encryption: CAST-128 64 bit Output Feedback. J. Altman.
+ September 2000. (Format: TXT=9240 bytes) (Status: PROPOSED STANDARD)
+
+2950 Telnet Encryption: CAST-128 64 bit Cipher Feedback. J. Altman.
+ September 2000. (Format: TXT=9267 bytes) (Status: PROPOSED STANDARD)
+
+2951 TELNET Authentication Using KEA and SKIPJACK. R. Housley, T.
+ Horting, P. Yee. September 2000. (Format: TXT=20757 bytes) (Status:
+ INFORMATIONAL)
+
+2952 Telnet Encryption: DES 64 bit Cipher Feedback. T. Ts'o. September
+ 2000. (Format: TXT=9064 bytes) (Status: INFORMATIONAL)
+
+2953 Telnet Encryption: DES 64 bit Output Feedback. T. Ts'o. September
+ 2000. (Format: TXT=8995 bytes) (Status: INFORMATIONAL)
+
+2954 Definitions of Managed Objects for Frame Relay Service. K.
+ Rehbehn, D. Fowler. October 2000. (Format: TXT=164217 bytes)
+ (Obsoletes RFC1604) (Status: PROPOSED STANDARD)
+
+2955 Definitions of Managed Objects for Monitoring and Controlling the
+ Frame Relay/ATM PVC Service Interworking Function. K. Rehbehn, O.
+ Nicklass, G. Mouradian. October 2000. (Format: TXT=83281 bytes)
+ (Status: PROPOSED STANDARD)
+
+2956 Overview of 1999 IAB Network Layer Workshop. M. Kaat. October
+ 2000. (Format: TXT=36830 bytes) (Status: INFORMATIONAL)
+
+2957 The application/whoispp-query Content-Type. L. Daigle, P.
+ Faltstrom. October 2000. (Format: TXT=10262 bytes) (Status:
+ INFORMATIONAL)
+
+2958 The application/whoispp-response Content-type. L. Daigle, P.
+ Faltstrom. October 2000. (Format: TXT=9995 bytes) (Status:
+ INFORMATIONAL)
+
+2959 Real-Time Transport Protocol Management Information Base. M.
+ Baugher, B. Strahm, I. Suconick. October 2000. (Format: TXT=62063
+ bytes) (Status: PROPOSED STANDARD)
+
+2960 Stream Control Transmission Protocol. R. Stewart, Q. Xie, K.
+ Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla,
+ L. Zhang, V. Paxson. October 2000. (Format: TXT=297757 bytes)
+ (Status: PROPOSED STANDARD)
+
+2961 RSVP Refresh Overhead Reduction Extensions. L. Berger, D. Gan, G.
+ Swallow, P. Pan, F. Tommasi, S. Molendini. April 2001. (Format:
+ TXT=81675 bytes) (Status: PROPOSED STANDARD)
+
+2962 An SNMP Application Level Gateway for Payload Address
+ Translation. D. Raz, J. Schoenwaelder, B. Sugla. October 2000.
+ (Format: TXT=46803 bytes) (Status: INFORMATIONAL)
+
+2963 A Rate Adaptive Shaper for Differentiated Services. O.
+ Bonaventure, S. De Cnodder. October 2000. (Format: TXT=39895 bytes)
+ (Status: INFORMATIONAL)
+
+2964 Use of HTTP State Management. K. Moore, N. Freed. October 2000.
+ (Format: TXT=18899 bytes) (Also BCP0044) (Status: BEST CURRENT
+ PRACTICE)
+
+2965 HTTP State Management Mechanism. D. Kristol, L. Montulli. October
+ 2000. (Format: TXT=56176 bytes) (Obsoletes RFC2109) (Status: PROPOSED
+ STANDARD)
+
+2966 Domain-wide Prefix Distribution with Two-Level IS-IS. T. Li, T.
+ Przygienda, H. Smit. October 2000. (Format: TXT=32465 bytes) (Status:
+ INFORMATIONAL)
+
+2967 TISDAG - Technical Infrastructure for Swedish Directory Access
+ Gateways. L. Daigle, R. Hedberg. October 2000. (Format: TXT=209845
+ bytes) (Status: INFORMATIONAL)
+
+2968 Mesh of Multiple DAG servers - Results from TISDAG. L. Daigle, T.
+ Eklof. October 2000. (Format: TXT=19306 bytes) (Status:
+ INFORMATIONAL)
+
+2969 Wide Area Directory Deployment - Experiences from TISDAG. T.
+ Eklof, L. Daigle. October 2000. (Format: TXT=43002 bytes) (Status:
+ INFORMATIONAL)
+
+2970 Architecture for Integrated Directory Services - Result from
+ TISDAG. L. Daigle, T. Eklof. October 2000. (Format: TXT=40448 bytes)
+ (Status: INFORMATIONAL)
+
+2971 IMAP4 ID extension. T. Showalter. October 2000. (Format:
+ TXT=14670 bytes) (Status: PROPOSED STANDARD)
+
+2972 Context and Goals for Common Name Resolution. N. Popp, M.
+ Mealling, L. Masinter, K. Sollins. October 2000. (Format: TXT=26252
+ bytes) (Status: INFORMATIONAL)
+
+2973 IS-IS Mesh Groups. R. Balay, D. Katz, J. Parker. October 2000.
+ (Format: TXT=14846 bytes) (Status: INFORMATIONAL)
+
+2974 Session Announcement Protocol. M. Handley, C. Perkins, E. Whelan.
+ October 2000. (Format: TXT=40129 bytes) (Status: EXPERIMENTAL)
+
+2975 Introduction to Accounting Management. B. Aboba, J. Arkko, D.
+ Harrington. October 2000. (Format: TXT=129771 bytes) (Status:
+ INFORMATIONAL)
+
+2976 The SIP INFO Method. S. Donovan. October 2000. (Format: TXT=17736
+ bytes) (Status: PROPOSED STANDARD)
+
+2977 Mobile IP Authentication, Authorization, and Accounting
+ Requirements. S. Glass, T. Hiller, S. Jacobs, C. Perkins. October
+ 2000. (Format: TXT=63520 bytes) (Status: INFORMATIONAL)
+
+2978 IANA Charset Registration Procedures. N. Freed, J. Postel.
+ October 2000. (Format: TXT=21615 bytes) (Obsoletes RFC2278) (Also
+ BCP0019) (Status: BEST CURRENT PRACTICE)
+
+2979 Behavior of and Requirements for Internet Firewalls. N. Freed.
+ October 2000. (Format: TXT=14350 bytes) (Status: INFORMATIONAL)
+
+2980 Common NNTP Extensions. S. Barber. October 2000. (Format:
+ TXT=57165 bytes) (Status: INFORMATIONAL)
+
+2981 Event MIB. R. Kavasseri (Editor of this version). October 2000.
+ (Format: TXT=98248 bytes) (Status: PROPOSED STANDARD)
+
+2982 Distributed Management Expression MIB. R. Kavasseri (Editor of
+ this version). October 2000. (Format: TXT=81371 bytes) (Status:
+ PROPOSED STANDARD)
+
+2983 Differentiated Services and Tunnels. D. Black. October 2000.
+ (Format: TXT=35644 bytes) (Status: INFORMATIONAL)
+
+2984 Use of the CAST-128 Encryption Algorithm in CMS. C. Adams.
+ October 2000. (Format: TXT=11591 bytes) (Status: PROPOSED STANDARD)
+
+2985 PKCS #9: Selected Object Classes and Attribute Types Version 2.0.
+ M. Nystrom, B. Kaliski. November 2000. (Format: TXT=70703 bytes)
+ (Status: INFORMATIONAL)
+
+2986 PKCS #10: Certification Request Syntax Specification Version 1.7.
+ M. Nystrom, B. Kaliski. November 2000. (Format: TXT=27794 bytes)
+ (Obsoletes RFC2314) (Status: INFORMATIONAL)
+
+2987 Registration of Charset and Languages Media Features Tags. P.
+ Hoffman. November 2000. (Format: TXT=8799 bytes) (Status: PROPOSED
+ STANDARD)
+
+2988 Computing TCP's Retransmission Timer. V. Paxson, M. Allman.
+ November 2000. (Format: TXT=15280 bytes) (Status: PROPOSED STANDARD)
+
+2989 Criteria for Evaluating AAA Protocols for Network Access. B.
+ Aboba, P. Calhoun, S. Glass, T. Hiller, P. McCann, H. Shiino, G.
+ Zorn, G. Dommety, C. Perkins, B. Patil, D. Mitton, S. Manning, M.
+ Beadles, P. Walsh, X. Chen, S. Sivalingham, A. Hameed, M. Munson, S.
+ Jacobs, B. Lim, B. Hirschman, R. Hsu, Y. Xu, E. Campbell, S. Baba, E.
+ Jaques. November 2000. (Format: TXT=53197 bytes) (Status:
+ INFORMATIONAL)
+
+2990 Next Steps for the IP QoS Architecture. G. Huston. November 2000.
+ (Format: TXT=65450 bytes) (Status: INFORMATIONAL)
+
+2991 Multipath Issues in Unicast and Multicast Next-Hop Selection. D.
+ Thaler, C. Hopps. November 2000. (Format: TXT=17796 bytes) (Status:
+ INFORMATIONAL)
+
+2992 Analysis of an Equal-Cost Multi-Path Algorithm. C. Hopps.
+ November 2000. (Format: TXT=17524 bytes) (Status: INFORMATIONAL)
+
+2993 Architectural Implications of NAT. T. Hain. November 2000.
+ (Format: TXT=74136 bytes) (Status: INFORMATIONAL)
+
+2994 A Description of the MISTY1 Encryption Algorithm. H. Ohta, M.
+ Matsui. November 2000. (Format: TXT=17803 bytes) (Status:
+ INFORMATIONAL)
+
+2995 Pre-Spirits Implementations of PSTN-initiated Services. H. Lu,
+ Editor, I. Faynberg, J. Voelker, M. Weissman, W. Zhang, S. Rhim, J.
+ Hwang, S. Ago,. Hwang, S. Ago, S. Moeenuddin, S. Hadvani, S.
+ Nyckelgard, J. Yoakum, L. Robart. November 2000. (Format: TXT=96427
+ bytes) (Status: INFORMATIONAL)
+
+2996 Format of the RSVP DCLASS Object. Y. Bernet. November 2000.
+ (Format: TXT=18929 bytes) (Status: PROPOSED STANDARD)
+
+2997 Specification of the Null Service Type. Y. Bernet, A. Smith, B.
+ Davie. November 2000. (Format: TXT=25071 bytes) (Status: PROPOSED
+ STANDARD)
+
+2998 A Framework for Integrated Services Operation over Diffserv
+ Networks. Y. Bernet, P. Ford, R. Yavatkar, F. Baker, L. Zhang, M.
+ Speer, R. Braden, B. Davie, J. Wroclawski, E. Felstaine. November
+ 2000. (Format: TXT=76378 bytes) (Status: INFORMATIONAL)
+
+2999 Request for Comments Summary RFC Numbers 2900-2999. S. Ginoza.
+ August 2001. (Format: TXT=45307 bytes) (Status: INFORMATIONAL)
+
+3001 A URN Namespace of Object Identifiers. M. Mealling. November
+ 2000. (Format: TXT=7459 bytes) (Obsoleted by RFC3061) (Status:
+ INFORMATIONAL)
+
+3002 Overview of 2000 IAB Wireless Internetworking Workshop. D.
+ Mitzel. December 2000. (Format: TXT=101466 bytes) (Status:
+ INFORMATIONAL)
+
+3003 The audio/mpeg Media Type. M. Nilsson. November 2000. (Format:
+ TXT=8381 bytes) (Status: PROPOSED STANDARD)
+
+3004 The User Class Option for DHCP. G. Stump, R. Droms, Y. Gu, R.
+ Vyaghrapuri, A. Demirtjis, B. Beser, J. Privat. November 2000.
+ (Format: TXT=10423 bytes) (Status: PROPOSED STANDARD)
+
+3005 IETF Discussion List Charter. S. Harris. November 2000. (Format:
+ TXT=5682 bytes) (Also BCP0045) (Status: BEST CURRENT PRACTICE)
+
+3006 Integrated Services in the Presence of Compressible Flows. B.
+ Davie, S. Casner, C. Iturralde, D. Oran, J. Wroclawski. November
+ 2000. (Format: TXT=31588 bytes) (Status: PROPOSED STANDARD)
+
+3007 Secure Domain Name System (DNS) Dynamic Update. B. Wellington.
+ November 2000. (Format: TXT=18056 bytes) (Obsoletes RFC2137) (Updates
+ RFC2535, RFC2136) (Status: PROPOSED STANDARD)
+
+3008 Domain Name System Security (DNSSEC) Signing Authority. B.
+ Wellington. November 2000. (Format: TXT=13484 bytes) (Updates
+ RFC2535) (Status: PROPOSED STANDARD)
+
+3009 Registration of parityfec MIME types. J. Rosenberg, H.
+ Schulzrinne. November 2000. (Format: TXT=16022 bytes) (Status:
+ PROPOSED STANDARD)
+
+3010 NFS version 4 Protocol. S. Shepler, B. Callaghan, D. Robinson, R.
+ Thurlow, C. Beame, M. Eisler, D. Noveck. December 2000. (Format:
+ TXT=450434 bytes) (Obsoletes RFC1813, RFC1094) (Status: PROPOSED
+ STANDARD)
+
+3011 The IPv4 Subnet Selection Option for DHCP. G. Waters. November
+ 2000. (Format: TXT=13967 bytes) (Status: PROPOSED STANDARD)
+
+3012 Mobile IPv4 Challenge/Response Extensions. C. Perkins, P.
+ Calhoun. November 2000. (Format: TXT=37005 bytes) (Status: PROPOSED
+ STANDARD)
+
+3013 Recommended Internet Service Provider Security Services and
+ Procedures. T. Killalea. November 2000. (Format: TXT=27905 bytes)
+ (Also BCP0046) (Status: BEST CURRENT PRACTICE)
+
+3014 Notification Log MIB. R. Kavasseri. November 2000. (Format:
+ TXT=48287 bytes) (Status: PROPOSED STANDARD)
+
+3015 Megaco Protocol Version 1.0. F. Cuervo, N. Greene, A. Rayhan, C.
+ Huitema, B. Rosen, J. Segers. November 2000. (Format: TXT=385432
+ bytes) (Obsoletes RFC2885, RFC2886) (Status: PROPOSED STANDARD)
+
+3016 RTP Payload Format for MPEG-4 Audio/Visual Streams. Y. Kikuchi,
+ T. Nomura, S. Fukunaga, Y. Matsui, H. Kimata. November 2000. (Format:
+ TXT=47070 bytes) (Status: PROPOSED STANDARD)
+
+3017 XML DTD for Roaming Access Phone Book. M. Riegel, G. Zorn.
+ December 2000. (Format: TXT=59762 bytes) (Status: PROPOSED STANDARD)
+
+3018 Unified Memory Space Protocol Specification. A. Bogdanov.
+ December 2000. (Format: TXT=177783 bytes) (Status: EXPERIMENTAL)
+
+3019 IP Version 6 Management Information Base for The Multicast
+ Listener Discovery Protocol. B. Haberman, R. Worzella. January 2001.
+ (Format: TXT=28293 bytes) (Status: PROPOSED STANDARD)
+
+3020 Definitions of Managed Objects for Monitoring and Controlling the
+ UNI/NNI Multilink Frame Relay Function. P. Pate, B. Lynch, K.
+ Rehbehn. December 2000. (Format: TXT=67736 bytes) (Status: PROPOSED
+ STANDARD)
+
+3021 Using 31-Bit Prefixes on IPv4 Point-to-Point Links. A. Retana, R.
+ White, V. Fuller, D. McPherson. December 2000. (Format: TXT=19771
+ bytes) (Status: PROPOSED STANDARD)
+
+3022 Traditional IP Network Address Translator (Traditional NAT). P.
+ Srisuresh, K. Egevang. January 2001. (Format: TXT=37675 bytes)
+ (Obsoletes RFC1631) (Status: INFORMATIONAL)
+
+3023 XML Media Types. M. Murata, S. St.Laurent, D. Kohn. January 2001.
+ (Format: TXT=86011 bytes) (Obsoletes RFC2376) (Updates RFC2048)
+ (Status: PROPOSED STANDARD)
+
+3024 Reverse Tunneling for Mobile IP, revised. G. Montenegro, Editor.
+ January 2001. (Format: TXT=63929 bytes) (Obsoletes RFC2344) (Status:
+ PROPOSED STANDARD)
+
+3025 Mobile IP Vendor/Organization-Specific Extensions. G. Dommety, K.
+ Leung. February 2001. (Format: TXT=15611 bytes) (Obsoleted by
+ RFC3115) (Status: PROPOSED STANDARD)
+
+3026 Liaison to IETF/ISOC on ENUM. R. Blane. January 2001. (Format:
+ TXT=11460 bytes) (Status: INFORMATIONAL)
+
+3027 Protocol Complications with the IP Network Address Translator. M.
+ Holdrege, P. Srisuresh. January 2001. (Format: TXT=48662 bytes)
+ (Status: INFORMATIONAL)
+
+3028 Sieve: A Mail Filtering Language. T. Showalter. January 2001.
+ (Format: TXT=73582 bytes) (Status: PROPOSED STANDARD)
+
+3029 Internet X.509 Public Key Infrastructure Data Validation and
+ Certification Server Protocols. C. Adams, P. Sylvester, M. Zolotarev,
+ R. Zuccherato. February 2001. (Format: TXT=107347 bytes) (Status:
+ EXPERIMENTAL)
+
+3030 SMTP Service Extensions for Transmission of Large and Binary MIME
+ Messages. G. Vaudreuil. December 2000. (Format: TXT=23405 bytes)
+ (Obsoletes RFC1830) (Status: PROPOSED STANDARD)
+
+3031 Multiprotocol Label Switching Architecture. E. Rosen, A.
+ Viswanathan, R. Callon. January 2001. (Format: TXT=147175 bytes)
+ (Status: PROPOSED STANDARD)
+
+3032 MPLS Label Stack Encoding. E. Rosen, D. Tappan, G. Fedorkow, Y.
+ Rekhter, D. Farinacci, T. Li, A. Conta. January 2001. (Format:
+ TXT=48314 bytes) (Status: PROPOSED STANDARD)
+
+3033 The Assignment of the Information Field and Protocol Identifier
+ in the Q.2941 Generic Identifier and Q.2957 User-to-user Signaling
+ for the Internet Protocol. M. Suzuki. January 2001. (Format:
+ TXT=52188 bytes) (Status: PROPOSED STANDARD)
+
+3034 Use of Label Switching on Frame Relay Networks Specification. A.
+ Conta, P. Doolan, A. Malis. January 2001. (Format: TXT=53176 bytes)
+ (Status: PROPOSED STANDARD)
+
+3035 MPLS using LDP and ATM VC Switching. B. Davie, J. Lawrence, K.
+ McCloghrie, E. Rosen, G. Swallow, Y. Rekhter, P. Doolan. January
+ 2001. (Format: TXT=46463 bytes) (Status: PROPOSED STANDARD)
+
+3036 LDP Specification. L. Andersson, P. Doolan, N. Feldman, A.
+ Fredette, B. Thomas. January 2001. (Format: TXT=274855 bytes)
+ (Status: PROPOSED STANDARD)
+
+3037 LDP Applicability. B. Thomas, E. Gray. January 2001. (Format:
+ TXT=13601 bytes) (Status: INFORMATIONAL)
+
+3038 VCID Notification over ATM link for LDP. K. Nagami, Y. Katsube,
+ N. Demizu, H. Esaki, P. Doolan. January 2001. (Format: TXT=39134
+ bytes) (Status: PROPOSED STANDARD)
+
+3039 Internet X.509 Public Key Infrastructure Qualified Certificates
+ Profile. S. Santesson, W. Polk, P. Barzin, M. Nystrom. January 2001.
+ (Format: TXT=67619 bytes) (Status: PROPOSED STANDARD)
+
+3040 Internet Web Replication and Caching Taxonomy. I. Cooper, I.
+ Melve, G. Tomlinson. January 2001. (Format: TXT=63257 bytes) (Status:
+ INFORMATIONAL)
+
+3041 Privacy Extensions for Stateless Address Autoconfiguration in
+ IPv6. T. Narten, R. Draves. January 2001. (Format: TXT=44446 bytes)
+ (Status: PROPOSED STANDARD)
+
+3042 Enhancing TCP's Loss Recovery Using Limited Transmit. M. Allman,
+ H. Balakrishnan, S. Floyd. January 2001. (Format: TXT=19885 bytes)
+ (Status: PROPOSED STANDARD)
+
+3043 The Network Solutions Personal Internet Name (PIN): A URN
+ Namespace for People and Organizations. M. Mealling. January 2001.
+ (Format: TXT=8136 bytes) (Status: INFORMATIONAL)
+
+3044 Using The ISSN (International Serial Standard Number) as URN
+ (Uniform Resource Names) within an ISSN-URN Namespace. S. Rozenfeld.
+ January 2001. (Format: TXT=28094 bytes) (Status: INFORMATIONAL)
+
+3045 Storing Vendor Information in the LDAP root DSE. M. Meredith.
+ January 2001. (Format: TXT=10518 bytes) (Status: INFORMATIONAL)
+
+3046 DHCP Relay Agent Information Option. M. Patrick. January 2001.
+ (Format: TXT=30633 bytes) (Status: PROPOSED STANDARD)
+
+3047 RTP Payload Format for ITU-T Recommendation G.722.1. P. Luthi.
+ January 2001. (Format: TXT=16292 bytes) (Status: PROPOSED STANDARD)
+
+3048 Reliable Multicast Transport Building Blocks for One-to-Many
+ Bulk-Data Transfer. B. Whetten, L. Vicisano, R. Kermode, M. Handley,
+ S. Floyd, M. Luby. January 2001. (Format: TXT=48965 bytes) (Status:
+ INFORMATIONAL)
+
+3049 TN3270E Service Location and Session Balancing. J. Naugle, K.
+ Kasthurirangan, G. Ledford. January 2001. (Format: TXT=40743 bytes)
+ (Status: PROPOSED STANDARD)
+
+3050 Common Gateway Interface for SIP. J. Lennox, H. Schulzrinne, J.
+ Rosenberg. January 2001. (Format: TXT=76652 bytes) (Status:
+ INFORMATIONAL)
+
+3051 IP Payload Compression Using ITU-T V.44 Packet Method. J. Heath,
+ J. Border. January 2001. (Format: TXT=15845 bytes) (Status:
+ INFORMATIONAL)
+
+3052 Service Management Architectures Issues and Review. M. Eder, S.
+ Nag. January 2001. (Format: TXT=31859 bytes) (Status: INFORMATIONAL)
+
+3053 IPv6 Tunnel Broker. A. Durand, P. Fasano, I. Guardini, D. Lento.
+ January 2001. (Format: TXT=27336 bytes) (Status: INFORMATIONAL)
+
+3054 Megaco IP Phone Media Gateway Application Profile. P.
+ Blatherwick, R. Bell, P. Holland. January 2001. (Format: TXT=31971
+ bytes) (Status: INFORMATIONAL)
+
+3055 Management Information Base for the PINT Services Architecture.
+ M. Krishnaswamy, D. Romascanu. February 2001. (Format: TXT=39315
+ bytes) (Status: PROPOSED STANDARD)
+
+3056 Connection of IPv6 Domains via IPv4 Clouds. B. Carpenter, K.
+ Moore. February 2001. (Format: TXT=54902 bytes) (Status: PROPOSED
+ STANDARD)
+
+3057 ISDN Q.921-User Adaptation Layer. K. Morneault, S. Rengasami, M.
+ Kalla, G. Sidebottom. February 2001. (Format: TXT=13601 bytes)
+ (Status: PROPOSED STANDARD)
+
+3058 Use of the IDEA Encryption Algorithm in CMS. S. Teiwes, P.
+ Hartmann, D. Kuenzi. February 2001. (Format: TXT=17257 bytes)
+ (Status: INFORMATIONAL)
+
+3059 Attribute List Extension for the Service Location Protocol. E.
+ Guttman. February 2001. (Format: TXT=11208 bytes) (Status: PROPOSED
+ STANDARD)
+
+3060 Policy Core Information Model -- Version 1 Specification. B.
+ Moore, E. Ellesson, J. Strassner, A. Westerinen. February 2001.
+ (Format: TXT=240309 bytes) (Status: PROPOSED STANDARD)
+
+3061 A URN Namespace of Object Identifiers. M. Mealling. February
+ 2001. (Format: TXT=8387 bytes) (Obsoletes RFC3001) (Status:
+ INFORMATIONAL)
+
+3062 LDAP Password Modify Extended Operation. K. Zeilenga. February
+ 2001. (Format: TXT=11807 bytes) (Status: PROPOSED STANDARD)
+
+3063 MPLS Loop Prevention Mechanism. Y. Ohba, Y. Katsube, E. Rosen, P.
+ Doolan. February 2001. (Format: TXT=93523 bytes) (Status:
+ EXPERIMENTAL)
+
+3064 MGCP CAS Packages. B. Foster. February 2001. (Format: TXT=116818
+ bytes) (Status: INFORMATIONAL)
+
+3065 Autonomous System Confederations for BGP. P. Traina, D.
+ McPherson, J. Scudder. February 2001. (Format: TXT=20529 bytes)
+ (Obsoletes RFC1965) (Status: PROPOSED STANDARD)
+
+3066 Tags for the Identification of Languages. H. Alvestrand. January
+ 2001. (Format: TXT=26522 bytes) (Obsoletes RFC1766) (Also BCP0047)
+ (Status: BEST CURRENT PRACTICE)
+
+3067 TERENA'S Incident Object Description and Exchange Format
+ Requirements. J. Arvidsson, A. Cormack, Y. Demchenko, J. Meijer.
+ February 2001. (Format: TXT=36836 bytes) (Status: INFORMATIONAL)
+
+3068 An Anycast Prefix for 6to4 Relay Routers. C. Huitema. June 2001.
+ (Format: TXT=20120 bytes) (Status: PROPOSED STANDARD)
+
+3069 VLAN Aggregation for Efficient IP Address Allocation. D.
+ McPherson, B. Dykes. February 2001. (Format: TXT=14891 bytes)
+ (Status: INFORMATIONAL)
+
+3070 Layer Two Tunneling Protocol (L2TP) over Frame Relay. V. Rawat,
+ R. Tio, S. Nanji, R. Verma. February 2001. (Format: TXT=12940 bytes)
+ (Status: PROPOSED STANDARD)
+
+3071 Reflections on the DNS, RFC 1591, and Categories of Domains. J.
+ Klensin. February 2001. (Format: TXT=24892 bytes) (Status:
+ INFORMATIONAL)
+
+3072 Structured Data Exchange Format (SDXF). M. Wildgrube. March 2001.
+ (Format: TXT=48481 bytes) (Status: INFORMATIONAL)
+
+3073 Portable Font Resource (PFR) - application/font-tdpfr MIME
+ Sub-type Registration. J. Collins. March 2001. (Format: TXT=9076
+ bytes) (Status: INFORMATIONAL)
+
+3074 DHC Load Balancing Algorithm. B. Volz, S. Gonczi, T. Lemon, R.
+ Stevens. February 2001. (Format: TXT=19374 bytes) (Status: PROPOSED
+ STANDARD)
+
+3075 XML-Signature Syntax and Processing. D. Eastlake, J. Reagle, D.
+ Solo. March 2001. (Format: TXT=145520 bytes) (Status: PROPOSED
+ STANDARD)
+
+3076 Canonical XML Version 1.0. J. Boyer. March 2001. (Format:
+ TXT=63955 bytes) (Status: INFORMATIONAL)
+
+3077 A Link-Layer Tunneling Mechanism for Unidirectional Links. E.
+ Duros, W. Dabbous, H. Izumiyama, N. Fujii, Y. Zhang. March 2001.
+ (Format: TXT=52410 bytes) (Status: PROPOSED STANDARD)
+
+3078 Microsoft Point-To-Point Encryption (MPPE) Protocol. G. Pall, G.
+ Zorn. March 2001. (Format: TXT=22952 bytes) (Status: INFORMATIONAL)
+
+3079 Deriving Keys for use with Microsoft Point-to-Point Encryption
+ (MPPE). G. Zorn. March 2001. (Format: TXT=38905 bytes) (Status:
+ INFORMATIONAL)
+
+3080 The Blocks Extensible Exchange Protocol Core. M. Rose. March
+ 2001. (Format: TXT=82089 bytes) (Status: PROPOSED STANDARD)
+
+3081 Mapping the BEEP Core onto TCP. M. Rose. March 2001. (Format:
+ TXT=14008 bytes) (Status: PROPOSED STANDARD)
+
+3082 Notification and Subscription for SLP. J. Kempf, J. Goldschmidt.
+ March 2001. (Format: TXT=33410 bytes) (Status: EXPERIMENTAL)
+
+3083 Baseline Privacy Interface Management Information Base for DOCSIS
+ Compliant Cable Modems and Cable Modem Termination Systems. R.
+ Woundy. March 2001. (Format: TXT=88318 bytes) (Status: INFORMATIONAL)
+
+3084 COPS Usage for Policy Provisioning (COPS-PR). K. Chan, J.
+ Seligson, D. Durham, S. Gai, K. McCloghrie, S. Herzog, F. Reichmeyer,
+ R. Yavatkar, A. Smith. March 2001. (Format: TXT=79341 bytes) (Status:
+ PROPOSED STANDARD)
+
+3085 URN Namespace for NewsML Resources. A. Coates, D. Allen, D.
+ Rivers-Moore. March 2001. (Format: TXT=10016 bytes) (Status:
+ INFORMATIONAL)
+
+3086 Definition of Differentiated Services Per Domain Behaviors and
+ Rules for their Specification. K. Nichols, B. Carpenter. April 2001.
+ (Format: TXT=63122 bytes) (Status: INFORMATIONAL)
+
+3087 Control of Service Context using SIP Request-URI. B. Campbell, R.
+ Sparks. April 2001. (Format: TXT=83612 bytes) (Status: INFORMATIONAL)
+
+3088 OpenLDAP Root Service An experimental LDAP referral service. K.
+ Zeilenga. April 2001. (Format: TXT=19471 bytes) (Status:
+ EXPERIMENTAL)
+
+3089 A SOCKS-based IPv6/IPv4 Gateway Mechanism. H. Kitamura. April
+ 2001. (Format: TXT=25193 bytes) (Status: INFORMATIONAL)
+
+3090 DNS Security Extension Clarification on Zone Status. E. Lewis.
+ March 2001. (Format: TXT=24166 bytes) (Updates RFC2535) (Status:
+ PROPOSED STANDARD)
+
+3091 Pi Digit Generation Protocol. H. Kennedy. 1 April 2001. (Format:
+ TXT=10375 bytes) (Status: INFORMATIONAL)
+
+3092 Etymology of "Foo". D. Eastlake 3rd, C. Manros, E. Raymond. 1
+ April 2001. (Format: TXT=29235 bytes) (Status: INFORMATIONAL)
+
+3093 Firewall Enhancement Protocol (FEP). M. Gaynor, S. Bradner. 1
+ April 2001. (Format: TXT=22405 bytes) (Status: INFORMATIONAL)
+
+3094 Tekelec's Transport Adapter Layer Interface. D. Sprague, R.
+ Benedyk, D. Brendes, J. Keller. April 2001. (Format: TXT=265099
+ bytes) (Status: INFORMATIONAL)
+
+3095 RObust Header Compression (ROHC): Framework and four profiles:
+ RTP, UDP, ESP, and uncompressed. C. Bormann, C. Burmeister, M.
+ Degermark, H. Fukushima, H. Hannu, L-E. Jonsson, R. Hakenberg, T.
+ Koren, K. Le, Z. Liu, A. Martensson, A. Miyazaki, K. Svanbro, T.
+ Wiebke, T. Yoshimura, H. Zheng. July 2001. (Format: TXT=368746 bytes)
+ (Status: PROPOSED STANDARD)
+
+3096 Requirements for robust IP/UDP/RTP header compression. M.
+ Degermark. July 2001. (Format: TXT=15018 bytes) (Status:
+ INFORMATIONAL)
+
+3097 RSVP Cryptographic Authentication -- Updated Message Type Value.
+ R. Braden, L. Zhang. April 2001. (Format: TXT=6320 bytes) (Updates
+ RFC2747) (Status: PROPOSED STANDARD)
+
+3098 How to Advertise Responsibly Using E-Mail and Newsgroups or - how
+ NOT to $$$$$ MAKE ENEMIES FAST! $$$$$. E. Gavin, D. Eastlake 3rd, S.
+ Hambridge. April 2001. (Format: TXT=64687 bytes) (Also FYI0038)
+ (Status: INFORMATIONAL)
+
+3106 ECML v1.1: Field Specifications for E-Commerce. D. Eastlake, T.
+ Goldstein. April 2001. (Format: TXT=40715 bytes) (Obsoletes RFC2706)
+ (Status: INFORMATIONAL)
+
+3107 Carrying Label Information in BGP-4. Y. Rekhter, E. Rosen. May
+ 2001. (Format: TXT=16442 bytes) (Status: PROPOSED STANDARD)
+
+3108 Conventions for the use of the Session Description Protocol (SDP)
+ for ATM Bearer Connections. R. Kumar, M. Mostafa. May 2001. (Format:
+ TXT=248037 bytes) (Status: PROPOSED STANDARD)
+
+3109 Request to Move STD 39 to Historic Status. R. Braden, R. Bush, J.
+ Klensin. May 2001. (Format: TXT=5841 bytes) (Status: INFORMATIONAL)
+
+3110 RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS). D.
+ Eastlake 3rd. May 2001. (Format: TXT=14587 bytes) (Status: PROPOSED
+ STANDARD)
+
+3111 Service Location Protocol Modifications for IPv6. E. Guttman. May
+ 2001. (Format: TXT=25543 bytes) (Status: PROPOSED STANDARD)
+
+3112 LDAP Authentication Password Schema. K. Zeilenga. May 2001.
+ (Format: TXT=17116 bytes) (Status: INFORMATIONAL)
+
+3113 3GPP-IETF Standardization Collaboration. K. Rosenbrock, R.
+ Sanmugam, S. Bradner, J. Klensin. June 2001. (Format: TXT=11405
+ bytes) (Status: INFORMATIONAL)
+
+3115 Mobile IP Vendor/Organization-Specific Extensions. G. Dommety, K.
+ Leung. April 2001. (Format: TXT=16363 bytes) (Obsoletes RFC3025)
+ (Status: PROPOSED STANDARD)
+
+3116 Methodology for ATM Benchmarking. J. Dunn, C. Martin. June 2001.
+ (Format: TXT=295052 bytes) (Status: INFORMATIONAL)
+
+3118 Authentication for DHCP Messages. R. Droms, Editor, W. Arbaugh,
+ Editor. June 2001. (Format: TXT=35536 bytes) (Status: PROPOSED
+ STANDARD)
+
+3119 A More Loss-Tolerant RTP Payload Format for MP3 Audio. R.
+ Finlayson. June 2001. (Format: TXT=37796 bytes) (Status: PROPOSED
+ STANDARD)
+
+3120 A URN Namespace for XML.org. K. Best, N. Walsh. June 2001.
+ (Format: TXT=8068 bytes) (Status: INFORMATIONAL)
+
+3121 A URN Namespace for OASIS. K. Best, N. Walsh. June 2001. (Format:
+ TXT=11074 bytes) (Status: INFORMATIONAL)
+
+3122 Extensions to IPv6 Neighbor Discovery for Inverse Discovery
+ Specification. A. Conta. June 2001. (Format: TXT=40416 bytes)
+ (Status: PROPOSED STANDARD)
+
+3123 A DNS RR Type for Lists of Address Prefixes (APL RR). P. Koch.
+ June 2001. (Format: TXT=14648 bytes) (Status: EXPERIMENTAL)
+
+3124 The Congestion Manager. H. Balakrishnan, S. Seshan. June 2001.
+ (Format: TXT=53591 bytes) (Status: PROPOSED STANDARD)
+
+3125 Electronic Signature Policies. J. Ross, D. Pinkas, N. Pope.
+ September 2001. (Format: TXT=95505 bytes) (Status: EXPERIMENTAL)
+
+3126 Electronic Signature Formats for long term electronic signatures.
+ D. Pinkas, J. Ross, N. Pope. September 2001. (Format: TXT=175886
+ bytes) (Status: INFORMATIONAL)
+
+3127 Authentication, Authorization, and Accounting: Protocol
+ Evaluation. D. Mitton, M. St.Johns, S. Barkley, D. Nelson, B. Patil,
+ M. Stevens, B. Wolff. June 2001. (Format: TXT=170579 bytes) (Status:
+ INFORMATIONAL)
+
+3128 Protection Against a Variant of the Tiny Fragment Attack (RFC
+ 1858). I. Miller. June 2001. (Format: TXT=8242 bytes) (Updates
+ RFC1858) (Status: INFORMATIONAL)
+
+3129 Requirements for Kerberized Internet Negotiation of Keys. M.
+ Thomas. June 2001. (Format: TXT=11401 bytes) (Status: INFORMATIONAL)
+
+3130 Notes from the State-Of-The-Technology: DNSSEC. E. Lewis. June
+ 2001. (Format: TXT=22291 bytes) (Status: INFORMATIONAL)
+
+3131 3GPP2-IETF Standardization Collaboration. S. Bradner, P. Calhoun,
+ H. Cuschieri, S. Dennett, G. Flynn, M. Lipford, M. McPheters. June
+ 2001. (Format: TXT=13643 bytes) (Status: INFORMATIONAL)
+
+3132 Dormant Mode Host Alerting ("IP Paging") Problem Statement. J.
+ Kempf. June 2001. (Format: TXT=34985 bytes) (Status: INFORMATIONAL)
+
+3133 Terminology for Frame Relay Benchmarking. J. Dunn, C. Martin.
+ June 2001. (Format: TXT=44182 bytes) (Status: INFORMATIONAL)
+
+3134 Terminology for ATM ABR Benchmarking. J. Dunn, C. Martin. June
+ 2001. (Format: TXT=29542 bytes) (Status: INFORMATIONAL)
+
+3135 Performance Enhancing Proxies Intended to Mitigate Link-Related
+ Degradations. J. Border, M. Kojo, J. Griner, G. Montenegro, Z.
+ Shelby. June 2001. (Format: TXT=114825 bytes) (Status: INFORMATIONAL)
+
+3136 The SPIRITS Architecture. L. Slutsman, Editor, I. Faynberg, H.
+ Lu, M. Weissman. June 2001. (Format: TXT=19241 bytes) (Status:
+ INFORMATIONAL)
+
+3137 OSPF Stub Router Advertisement. A. Retana, L. Nguyen, R. White,
+ A. Zinin, D. McPherson. June 2001. (Format: TXT=8140 bytes) (Status:
+ INFORMATIONAL)
+
+3138 Extended Assignments in 233/8. D. Meyer. June 2001. (Format:
+ TXT=6776 bytes) (Status: INFORMATIONAL)
+
+3139 Requirements for Configuration Management of IP-based Networks.
+ L. Sanchez, K. McCloghrie, J. Saperia. June 2001. (Format: TXT=23624
+ bytes) (Status: INFORMATIONAL)
+
+3140 Per Hop Behavior Identification Codes. D. Black, S. Brim, B.
+ Carpenter, F. Le Faucheur. June 2001. (Format: TXT=16586 bytes)
+ (Obsoletes RFC2836) (Status: PROPOSED STANDARD)
+
+3141 CDMA2000 Wireless Data Requirements for AAA. T. Hiller, P. Walsh,
+ X. Chen, M. Munson, G. Dommety, S. Sivalingham, B. Lim, P. McCann, H.
+ Shiino, B. Hirschman, S. Manning, R. Hsu, H. Koo, M. Lipford, P.
+ Calhoun, C. Lo, E. Jaques, E. Campbell, Y. Xu, S. Baba, T. Ayaki, T.
+ Seki, A. Hameed. June 2001. (Format: TXT=27998 bytes) (Status:
+ INFORMATIONAL)
+
+3142 An IPv6-to-IPv4 Transport Relay Translator. J. Hagino, K.
+ Yamamoto. June 2001. (Format: TXT=20864 bytes) (Status:
+ INFORMATIONAL)
+
+3143 Known HTTP Proxy/Caching Problems. I. Cooper, J. Dilley. June
+ 2001. (Format: TXT=57117 bytes) (Status: INFORMATIONAL)
+
+3144 Remote Monitoring MIB Extensions for Interface Parameters
+ Monitoring. D. Romascanu. August 2001. (Format: TXT=62491 bytes)
+ (Status: PROPOSED STANDARD)
+
+3145 L2TP Disconnect Cause Information. R. Verma, M. Verma, J.
+ Carlson. July 2001. (Format: TXT=17421 bytes) (Status: PROPOSED
+ STANDARD)
+
+3147 Generic Routing Encapsulation over CLNS Networks. P. Christian.
+ July 2001. (Format: TXT=14125 bytes) (Status: INFORMATIONAL)
+
+3148 A Framework for Defining Empirical Bulk Transfer Capacity
+ Metrics. M. Mathis, M. Allman. July 2001. (Format: TXT=36041 bytes)
+ (Status: INFORMATIONAL)
+
+3149 MGCP Business Phone Packages. A. Srinath, G. Levendel, K. Fritz,
+ R. Kalyanaram. September 2001. (Format: TXT=77304 bytes) (Status:
+ INFORMATIONAL)
+
+3150 End-to-end Performance Implications of Slow Links. S. Dawkins, G.
+ Montenegro, M. Kojo, V. Magret. July 2001. (Format: TXT=39942 bytes)
+ (Also BCP0048) (Status: BEST CURRENT PRACTICE)
+
+3151 A URN Namespace for Public Identifiers. N. Walsh, J. Cowan, P.
+ Grosso. August 2001. (Format: TXT=15595 bytes) (Status:
+ INFORMATIONAL)
+
+3152 Delegation of IP6.ARPA. R. Bush. August 2001. (Format: TXT=5727
+ bytes) (Updates RFC2874, RFC2772, RFC2766, RFC2553, RFC1886) (Also
+ BCP0049) (Status: BEST CURRENT PRACTICE)
+
+3153 PPP Multiplexing. R. Pazhyannur, I. Ali, C. Fox. August 2001.
+ (Format: TXT=19244 bytes) (Status: PROPOSED STANDARD)
+
+3154 Requirements and Functional Architecture for an IP Host Alerting
+ Protocol. J. Kempf, C. Castelluccia, P. Mutaf, N. Nakajima, Y. Ohba,
+ R. Ramjee, Y. Saifullah, B. Sarikaya, X. Xu. August 2001. (Format:
+ TXT=31534 bytes) (Status: INFORMATIONAL)
+
+3155 End-to-end Performance Implications of Links with Errors. S.
+ Dawkins, G. Montenegro, M. Kojo, V. Magret, N. Vaidya. August 2001.
+ (Format: TXT=36388 bytes) (Also BCP0050) (Status: BEST CURRENT
+ PRACTICE)
+
+3156 MIME Security with OpenPGP. M. Elkins, D. Del Torto, R. Levien,
+ T. Roessler. August 2001. (Format: TXT=26809 bytes) (Updates RFC2015)
+ (Status: PROPOSED STANDARD)
+
+3157 Securely Available Credentials - Requirements. A. Arsenault, S.
+ Farrell. August 2001. (Format: TXT=46169 bytes) (Status:
+ INFORMATIONAL)
+
+3158 RTP Testing Strategies. C. Perkins, J. Rosenberg, H. Schulzrinne.
+ August 2001. (Format: TXT=48208 bytes) (Status: INFORMATIONAL)
+
+3159 Structure of Policy Provisioning Information (SPPI). K.
+ McCloghrie, M. Fine, J. Seligson, K. Chan, S. Hahn, R. Sahita, A.
+ Smith, F. Reichmeyer. August 2001. (Format: TXT=78621 bytes) (Status:
+ PROPOSED STANDARD)
+
+3160 The Tao of IETF - A Novice's Guide to the Internet Engineering
+ Task Force. S. Harris. August 2001. (Format: TXT=98411 bytes)
+ (Obsoletes RFC1718) (Also FYI0017) (Status: INFORMATIONAL)
+
+3161 Internet X.509 Public Key Infrastructure Time-Stamp Protocol
+ (TSP). C. Adams, P. Cain, D. Pinkas, R. Zuccherato. August 2001.
+ (Format: TXT=54585 bytes) (Status: PROPOSED STANDARD)
+
+3162 RADIUS and IPv6. B. Aboba, G. Zorn, D. Mitton. August 2001.
+ (Format: TXT=20492 bytes) (Status: PROPOSED STANDARD)
+
+3163 ISO/IEC 9798-3 Authentication SASL Mechanism. R. Zuccherato, M.
+ Nystrom. August 2001. (Format: TXT=32498 bytes) (Status:
+ EXPERIMENTAL)
+
+3164 The BSD Syslog Protocol. C. Lonvick. August 2001. (Format:
+ TXT=72951 bytes) (Status: INFORMATIONAL)
+
+3165 Definitions of Managed Objects for the Delegation of Management
+ Scripts. D. Levi, J. Schoenwaelder. August 2001. (Format: TXT=134479
+ bytes) (Obsoletes RFC2592) (Status: PROPOSED STANDARD)
+
+3166 Request to Move RFC 1403 to Historic Status. D. Meyer, J.
+ Scudder. August 2001. (Format: TXT=3740 bytes) (Status:
+ INFORMATIONAL)
+
+3167 Request to Move RFC 1745 to Historic Status. D. Meyer, J.
+ Scudder. August 2001. (Format: TXT=3825 bytes) (Status:
+ INFORMATIONAL)
+
+3168 The Addition of Explicit Congestion Notification (ECN) to IP. K.
+ Ramakrishnan, S. Floyd, D. Black. September 2001. (Format: TXT=170966
+ bytes) (Status: PROPOSED STANDARD)
+
+3169 Criteria for Evaluating Network Access Server Protocols. M.
+ Beadles, D. Mitton. September 2001. (Format: TXT=35303 bytes)
+ (Status: INFORMATIONAL)
+
+3170 IP Multicast Applications: Challenges and Solutions. B. Quinn, K.
+ Almeroth. September 2001. (Format: TXT=67207 bytes) (Status:
+ INFORMATIONAL)
+
+3171 IANA Guidelines for IPv4 Multicast Address Assignments. Z.
+ Albanna, K. Almeroth, D. Meyer, M. Schipper. August 2001. (Format:
+ TXT=15389 bytes) (Also BCP0051) (Status: BEST CURRENT PRACTICE)
+
+3172 Management Guidelines & Operational Requirements for the Address
+ and Routing Parameter Area Domain ("arpa"). G. Huston. September
+ 2001. (Format: TXT=18097 bytes) (Also BCP0052) (Status: BEST CURRENT
+ PRACTICE)
+
+3173 IP Payload Compression Protocol (IPComp). A. Shacham, B. Monsour,
+ R. Pereira, M. Thomas. September 2001. (Format: TXT=15389 bytes)
+ (Obsoletes RFC2393) (Status: PROPOSED STANDARD)
+
+3174 US Secure Hash Algorithm 1 (SHA1). D. Eastlake, 3rd, P. Jones.
+ September 2001. (Format: TXT=35525 bytes) (Status: INFORMATIONAL)
+
+3175 Aggregation of RSVP for IPv4 and IPv6 Reservations. F. Baker, C.
+ Iturralde, F. Le Faucheur, B. Davie. September 2001. (Format:
+ TXT=88681 bytes) (Status: PROPOSED STANDARD)
+
+3176 InMon Corporation's sFlow: A Method for Monitoring Traffic in
+ Switched and Routed Networks. P. Phaal, S. Panchen, N. McKee.
+ September 2001. (Format: TXT=60171 bytes) (Status: INFORMATIONAL)
+
+3177 IAB/IESG Recommendations on IPv6 Address. IAB, IESG. September
+ 2001. (Format: TXT=23178 bytes) (Status: INFORMATIONAL)
+
+3180 GLOP Addressing in 233/8. D. Meyer, P. Lothberg. September 2001.
+ (Format: TXT=8225 bytes) (Obsoletes RFC2770) (Also BCP0053) (Status:
+ BEST CURRENT PRACTICE)
diff --git a/Documentation/en/rfc/rfc1034.txt b/Documentation/en/rfc/rfc1034.txt
new file mode 100644
index 00000000..55cdb21f
--- /dev/null
+++ b/Documentation/en/rfc/rfc1034.txt
@@ -0,0 +1,3077 @@
+Network Working Group P. Mockapetris
+Request for Comments: 1034 ISI
+Obsoletes: RFCs 882, 883, 973 November 1987
+
+
+ DOMAIN NAMES - CONCEPTS AND FACILITIES
+
+
+
+1. STATUS OF THIS MEMO
+
+This RFC is an introduction to the Domain Name System (DNS), and omits
+many details which can be found in a companion RFC, "Domain Names -
+Implementation and Specification" [RFC-1035]. That RFC assumes that the
+reader is familiar with the concepts discussed in this memo.
+
+A subset of DNS functions and data types constitute an official
+protocol. The official protocol includes standard queries and their
+responses and most of the Internet class data formats (e.g., host
+addresses).
+
+However, the domain system is intentionally extensible. Researchers are
+continuously proposing, implementing and experimenting with new data
+types, query types, classes, functions, etc. Thus while the components
+of the official protocol are expected to stay essentially unchanged and
+operate as a production service, experimental behavior should always be
+expected in extensions beyond the official protocol. Experimental or
+obsolete features are clearly marked in these RFCs, and such information
+should be used with caution.
+
+The reader is especially cautioned not to depend on the values which
+appear in examples to be current or complete, since their purpose is
+primarily pedagogical. Distribution of this memo is unlimited.
+
+2. INTRODUCTION
+
+This RFC introduces domain style names, their use for Internet mail and
+host address support, and the protocols and servers used to implement
+domain name facilities.
+
+2.1. The history of domain names
+
+The impetus for the development of the domain system was growth in the
+Internet:
+
+ - Host name to address mappings were maintained by the Network
+ Information Center (NIC) in a single file (HOSTS.TXT) which
+ was FTPed by all hosts [RFC-952, RFC-953]. The total network
+
+
+
+Mockapetris [Page 1]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ bandwidth consumed in distributing a new version by this
+ scheme is proportional to the square of the number of hosts in
+ the network, and even when multiple levels of FTP are used,
+ the outgoing FTP load on the NIC host is considerable.
+ Explosive growth in the number of hosts didn't bode well for
+ the future.
+
+ - The network population was also changing in character. The
+ timeshared hosts that made up the original ARPANET were being
+ replaced with local networks of workstations. Local
+ organizations were administering their own names and
+ addresses, but had to wait for the NIC to change HOSTS.TXT to
+ make changes visible to the Internet at large. Organizations
+ also wanted some local structure on the name space.
+
+ - The applications on the Internet were getting more
+ sophisticated and creating a need for general purpose name
+ service.
+
+
+The result was several ideas about name spaces and their management
+[IEN-116, RFC-799, RFC-819, RFC-830]. The proposals varied, but a
+common thread was the idea of a hierarchical name space, with the
+hierarchy roughly corresponding to organizational structure, and names
+using "." as the character to mark the boundary between hierarchy
+levels. A design using a distributed database and generalized resources
+was described in [RFC-882, RFC-883]. Based on experience with several
+implementations, the system evolved into the scheme described in this
+memo.
+
+The terms "domain" or "domain name" are used in many contexts beyond the
+DNS described here. Very often, the term domain name is used to refer
+to a name with structure indicated by dots, but no relation to the DNS.
+This is particularly true in mail addressing [Quarterman 86].
+
+2.2. DNS design goals
+
+The design goals of the DNS influence its structure. They are:
+
+ - The primary goal is a consistent name space which will be used
+ for referring to resources. In order to avoid the problems
+ caused by ad hoc encodings, names should not be required to
+ contain network identifiers, addresses, routes, or similar
+ information as part of the name.
+
+ - The sheer size of the database and frequency of updates
+ suggest that it must be maintained in a distributed manner,
+ with local caching to improve performance. Approaches that
+
+
+
+Mockapetris [Page 2]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ attempt to collect a consistent copy of the entire database
+ will become more and more expensive and difficult, and hence
+ should be avoided. The same principle holds for the structure
+ of the name space, and in particular mechanisms for creating
+ and deleting names; these should also be distributed.
+
+ - Where there tradeoffs between the cost of acquiring data, the
+ speed of updates, and the accuracy of caches, the source of
+ the data should control the tradeoff.
+
+ - The costs of implementing such a facility dictate that it be
+ generally useful, and not restricted to a single application.
+ We should be able to use names to retrieve host addresses,
+ mailbox data, and other as yet undetermined information. All
+ data associated with a name is tagged with a type, and queries
+ can be limited to a single type.
+
+ - Because we want the name space to be useful in dissimilar
+ networks and applications, we provide the ability to use the
+ same name space with different protocol families or
+ management. For example, host address formats differ between
+ protocols, though all protocols have the notion of address.
+ The DNS tags all data with a class as well as the type, so
+ that we can allow parallel use of different formats for data
+ of type address.
+
+ - We want name server transactions to be independent of the
+ communications system that carries them. Some systems may
+ wish to use datagrams for queries and responses, and only
+ establish virtual circuits for transactions that need the
+ reliability (e.g., database updates, long transactions); other
+ systems will use virtual circuits exclusively.
+
+ - The system should be useful across a wide spectrum of host
+ capabilities. Both personal computers and large timeshared
+ hosts should be able to use the system, though perhaps in
+ different ways.
+
+2.3. Assumptions about usage
+
+The organization of the domain system derives from some assumptions
+about the needs and usage patterns of its user community and is designed
+to avoid many of the the complicated problems found in general purpose
+database systems.
+
+The assumptions are:
+
+ - The size of the total database will initially be proportional
+
+
+
+Mockapetris [Page 3]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ to the number of hosts using the system, but will eventually
+ grow to be proportional to the number of users on those hosts
+ as mailboxes and other information are added to the domain
+ system.
+
+ - Most of the data in the system will change very slowly (e.g.,
+ mailbox bindings, host addresses), but that the system should
+ be able to deal with subsets that change more rapidly (on the
+ order of seconds or minutes).
+
+ - The administrative boundaries used to distribute
+ responsibility for the database will usually correspond to
+ organizations that have one or more hosts. Each organization
+ that has responsibility for a particular set of domains will
+ provide redundant name servers, either on the organization's
+ own hosts or other hosts that the organization arranges to
+ use.
+
+ - Clients of the domain system should be able to identify
+ trusted name servers they prefer to use before accepting
+ referrals to name servers outside of this "trusted" set.
+
+ - Access to information is more critical than instantaneous
+ updates or guarantees of consistency. Hence the update
+ process allows updates to percolate out through the users of
+ the domain system rather than guaranteeing that all copies are
+ simultaneously updated. When updates are unavailable due to
+ network or host failure, the usual course is to believe old
+ information while continuing efforts to update it. The
+ general model is that copies are distributed with timeouts for
+ refreshing. The distributor sets the timeout value and the
+ recipient of the distribution is responsible for performing
+ the refresh. In special situations, very short intervals can
+ be specified, or the owner can prohibit copies.
+
+ - In any system that has a distributed database, a particular
+ name server may be presented with a query that can only be
+ answered by some other server. The two general approaches to
+ dealing with this problem are "recursive", in which the first
+ server pursues the query for the client at another server, and
+ "iterative", in which the server refers the client to another
+ server and lets the client pursue the query. Both approaches
+ have advantages and disadvantages, but the iterative approach
+ is preferred for the datagram style of access. The domain
+ system requires implementation of the iterative approach, but
+ allows the recursive approach as an option.
+
+
+
+
+
+Mockapetris [Page 4]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+The domain system assumes that all data originates in master files
+scattered through the hosts that use the domain system. These master
+files are updated by local system administrators. Master files are text
+files that are read by a local name server, and hence become available
+through the name servers to users of the domain system. The user
+programs access name servers through standard programs called resolvers.
+
+The standard format of master files allows them to be exchanged between
+hosts (via FTP, mail, or some other mechanism); this facility is useful
+when an organization wants a domain, but doesn't want to support a name
+server. The organization can maintain the master files locally using a
+text editor, transfer them to a foreign host which runs a name server,
+and then arrange with the system administrator of the name server to get
+the files loaded.
+
+Each host's name servers and resolvers are configured by a local system
+administrator [RFC-1033]. For a name server, this configuration data
+includes the identity of local master files and instructions on which
+non-local master files are to be loaded from foreign servers. The name
+server uses the master files or copies to load its zones. For
+resolvers, the configuration data identifies the name servers which
+should be the primary sources of information.
+
+The domain system defines procedures for accessing the data and for
+referrals to other name servers. The domain system also defines
+procedures for caching retrieved data and for periodic refreshing of
+data defined by the system administrator.
+
+The system administrators provide:
+
+ - The definition of zone boundaries.
+
+ - Master files of data.
+
+ - Updates to master files.
+
+ - Statements of the refresh policies desired.
+
+The domain system provides:
+
+ - Standard formats for resource data.
+
+ - Standard methods for querying the database.
+
+ - Standard methods for name servers to refresh local data from
+ foreign name servers.
+
+
+
+
+
+Mockapetris [Page 5]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+2.4. Elements of the DNS
+
+The DNS has three major components:
+
+ - The DOMAIN NAME SPACE and RESOURCE RECORDS, which are
+ specifications for a tree structured name space and data
+ associated with the names. Conceptually, each node and leaf
+ of the domain name space tree names a set of information, and
+ query operations are attempts to extract specific types of
+ information from a particular set. A query names the domain
+ name of interest and describes the type of resource
+ information that is desired. For example, the Internet
+ uses some of its domain names to identify hosts; queries for
+ address resources return Internet host addresses.
+
+ - NAME SERVERS are server programs which hold information about
+ the domain tree's structure and set information. A name
+ server may cache structure or set information about any part
+ of the domain tree, but in general a particular name server
+ has complete information about a subset of the domain space,
+ and pointers to other name servers that can be used to lead to
+ information from any part of the domain tree. Name servers
+ know the parts of the domain tree for which they have complete
+ information; a name server is said to be an AUTHORITY for
+ these parts of the name space. Authoritative information is
+ organized into units called ZONEs, and these zones can be
+ automatically distributed to the name servers which provide
+ redundant service for the data in a zone.
+
+ - RESOLVERS are programs that extract information from name
+ servers in response to client requests. Resolvers must be
+ able to access at least one name server and use that name
+ server's information to answer a query directly, or pursue the
+ query using referrals to other name servers. A resolver will
+ typically be a system routine that is directly accessible to
+ user programs; hence no protocol is necessary between the
+ resolver and the user program.
+
+These three components roughly correspond to the three layers or views
+of the domain system:
+
+ - From the user's point of view, the domain system is accessed
+ through a simple procedure or OS call to a local resolver.
+ The domain space consists of a single tree and the user can
+ request information from any section of the tree.
+
+ - From the resolver's point of view, the domain system is
+ composed of an unknown number of name servers. Each name
+
+
+
+Mockapetris [Page 6]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ server has one or more pieces of the whole domain tree's data,
+ but the resolver views each of these databases as essentially
+ static.
+
+ - From a name server's point of view, the domain system consists
+ of separate sets of local information called zones. The name
+ server has local copies of some of the zones. The name server
+ must periodically refresh its zones from master copies in
+ local files or foreign name servers. The name server must
+ concurrently process queries that arrive from resolvers.
+
+In the interests of performance, implementations may couple these
+functions. For example, a resolver on the same machine as a name server
+might share a database consisting of the the zones managed by the name
+server and the cache managed by the resolver.
+
+3. DOMAIN NAME SPACE and RESOURCE RECORDS
+
+3.1. Name space specifications and terminology
+
+The domain name space is a tree structure. Each node and leaf on the
+tree corresponds to a resource set (which may be empty). The domain
+system makes no distinctions between the uses of the interior nodes and
+leaves, and this memo uses the term "node" to refer to both.
+
+Each node has a label, which is zero to 63 octets in length. Brother
+nodes may not have the same label, although the same label can be used
+for nodes which are not brothers. One label is reserved, and that is
+the null (i.e., zero length) label used for the root.
+
+The domain name of a node is the list of the labels on the path from the
+node to the root of the tree. By convention, the labels that compose a
+domain name are printed or read left to right, from the most specific
+(lowest, farthest from the root) to the least specific (highest, closest
+to the root).
+
+Internally, programs that manipulate domain names should represent them
+as sequences of labels, where each label is a length octet followed by
+an octet string. Because all domain names end at the root, which has a
+null string for a label, these internal representations can use a length
+byte of zero to terminate a domain name.
+
+By convention, domain names can be stored with arbitrary case, but
+domain name comparisons for all present domain functions are done in a
+case-insensitive manner, assuming an ASCII character set, and a high
+order zero bit. This means that you are free to create a node with
+label "A" or a node with label "a", but not both as brothers; you could
+refer to either using "a" or "A". When you receive a domain name or
+
+
+
+Mockapetris [Page 7]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+label, you should preserve its case. The rationale for this choice is
+that we may someday need to add full binary domain names for new
+services; existing services would not be changed.
+
+When a user needs to type a domain name, the length of each label is
+omitted and the labels are separated by dots ("."). Since a complete
+domain name ends with the root label, this leads to a printed form which
+ends in a dot. We use this property to distinguish between:
+
+ - a character string which represents a complete domain name
+ (often called "absolute"). For example, "poneria.ISI.EDU."
+
+ - a character string that represents the starting labels of a
+ domain name which is incomplete, and should be completed by
+ local software using knowledge of the local domain (often
+ called "relative"). For example, "poneria" used in the
+ ISI.EDU domain.
+
+Relative names are either taken relative to a well known origin, or to a
+list of domains used as a search list. Relative names appear mostly at
+the user interface, where their interpretation varies from
+implementation to implementation, and in master files, where they are
+relative to a single origin domain name. The most common interpretation
+uses the root "." as either the single origin or as one of the members
+of the search list, so a multi-label relative name is often one where
+the trailing dot has been omitted to save typing.
+
+To simplify implementations, the total number of octets that represent a
+domain name (i.e., the sum of all label octets and label lengths) is
+limited to 255.
+
+A domain is identified by a domain name, and consists of that part of
+the domain name space that is at or below the domain name which
+specifies the domain. A domain is a subdomain of another domain if it
+is contained within that domain. This relationship can be tested by
+seeing if the subdomain's name ends with the containing domain's name.
+For example, A.B.C.D is a subdomain of B.C.D, C.D, D, and " ".
+
+3.2. Administrative guidelines on use
+
+As a matter of policy, the DNS technical specifications do not mandate a
+particular tree structure or rules for selecting labels; its goal is to
+be as general as possible, so that it can be used to build arbitrary
+applications. In particular, the system was designed so that the name
+space did not have to be organized along the lines of network
+boundaries, name servers, etc. The rationale for this is not that the
+name space should have no implied semantics, but rather that the choice
+of implied semantics should be left open to be used for the problem at
+
+
+
+Mockapetris [Page 8]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+hand, and that different parts of the tree can have different implied
+semantics. For example, the IN-ADDR.ARPA domain is organized and
+distributed by network and host address because its role is to translate
+from network or host numbers to names; NetBIOS domains [RFC-1001, RFC-
+1002] are flat because that is appropriate for that application.
+
+However, there are some guidelines that apply to the "normal" parts of
+the name space used for hosts, mailboxes, etc., that will make the name
+space more uniform, provide for growth, and minimize problems as
+software is converted from the older host table. The political
+decisions about the top levels of the tree originated in RFC-920.
+Current policy for the top levels is discussed in [RFC-1032]. MILNET
+conversion issues are covered in [RFC-1031].
+
+Lower domains which will eventually be broken into multiple zones should
+provide branching at the top of the domain so that the eventual
+decomposition can be done without renaming. Node labels which use
+special characters, leading digits, etc., are likely to break older
+software which depends on more restrictive choices.
+
+3.3. Technical guidelines on use
+
+Before the DNS can be used to hold naming information for some kind of
+object, two needs must be met:
+
+ - A convention for mapping between object names and domain
+ names. This describes how information about an object is
+ accessed.
+
+ - RR types and data formats for describing the object.
+
+These rules can be quite simple or fairly complex. Very often, the
+designer must take into account existing formats and plan for upward
+compatibility for existing usage. Multiple mappings or levels of
+mapping may be required.
+
+For hosts, the mapping depends on the existing syntax for host names
+which is a subset of the usual text representation for domain names,
+together with RR formats for describing host addresses, etc. Because we
+need a reliable inverse mapping from address to host name, a special
+mapping for addresses into the IN-ADDR.ARPA domain is also defined.
+
+For mailboxes, the mapping is slightly more complex. The usual mail
+address <local-part>@<mail-domain> is mapped into a domain name by
+converting <local-part> into a single label (regardles of dots it
+contains), converting <mail-domain> into a domain name using the usual
+text format for domain names (dots denote label breaks), and
+concatenating the two to form a single domain name. Thus the mailbox
+
+
+
+Mockapetris [Page 9]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+HOSTMASTER@SRI-NIC.ARPA is represented as a domain name by
+HOSTMASTER.SRI-NIC.ARPA. An appreciation for the reasons behind this
+design also must take into account the scheme for mail exchanges [RFC-
+974].
+
+The typical user is not concerned with defining these rules, but should
+understand that they usually are the result of numerous compromises
+between desires for upward compatibility with old usage, interactions
+between different object definitions, and the inevitable urge to add new
+features when defining the rules. The way the DNS is used to support
+some object is often more crucial than the restrictions inherent in the
+DNS.
+
+3.4. Example name space
+
+The following figure shows a part of the current domain name space, and
+is used in many examples in this RFC. Note that the tree is a very
+small subset of the actual name space.
+
+ |
+ |
+ +---------------------+------------------+
+ | | |
+ MIL EDU ARPA
+ | | |
+ | | |
+ +-----+-----+ | +------+-----+-----+
+ | | | | | | |
+ BRL NOSC DARPA | IN-ADDR SRI-NIC ACC
+ |
+ +--------+------------------+---------------+--------+
+ | | | | |
+ UCI MIT | UDEL YALE
+ | ISI
+ | |
+ +---+---+ |
+ | | |
+ LCS ACHILLES +--+-----+-----+--------+
+ | | | | | |
+ XX A C VAXA VENERA Mockapetris
+
+In this example, the root domain has three immediate subdomains: MIL,
+EDU, and ARPA. The LCS.MIT.EDU domain has one immediate subdomain named
+XX.LCS.MIT.EDU. All of the leaves are also domains.
+
+3.5. Preferred name syntax
+
+The DNS specifications attempt to be as general as possible in the rules
+
+
+
+Mockapetris [Page 10]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+for constructing domain names. The idea is that the name of any
+existing object can be expressed as a domain name with minimal changes.
+However, when assigning a domain name for an object, the prudent user
+will select a name which satisfies both the rules of the domain system
+and any existing rules for the object, whether these rules are published
+or implied by existing programs.
+
+For example, when naming a mail domain, the user should satisfy both the
+rules of this memo and those in RFC-822. When creating a new host name,
+the old rules for HOSTS.TXT should be followed. This avoids problems
+when old software is converted to use domain names.
+
+The following syntax will result in fewer problems with many
+applications that use domain names (e.g., mail, TELNET).
+
+<domain> ::= <subdomain> | " "
+
+<subdomain> ::= <label> | <subdomain> "." <label>
+
+<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
+
+<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
+
+<let-dig-hyp> ::= <let-dig> | "-"
+
+<let-dig> ::= <letter> | <digit>
+
+<letter> ::= any one of the 52 alphabetic characters A through Z in
+upper case and a through z in lower case
+
+<digit> ::= any one of the ten digits 0 through 9
+
+Note that while upper and lower case letters are allowed in domain
+names, no significance is attached to the case. That is, two names with
+the same spelling but different case are to be treated as if identical.
+
+The labels must follow the rules for ARPANET host names. They must
+start with a letter, end with a letter or digit, and have as interior
+characters only letters, digits, and hyphen. There are also some
+restrictions on the length. Labels must be 63 characters or less.
+
+For example, the following strings identify hosts in the Internet:
+
+A.ISI.EDU XX.LCS.MIT.EDU SRI-NIC.ARPA
+
+3.6. Resource Records
+
+A domain name identifies a node. Each node has a set of resource
+
+
+
+Mockapetris [Page 11]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+information, which may be empty. The set of resource information
+associated with a particular name is composed of separate resource
+records (RRs). The order of RRs in a set is not significant, and need
+not be preserved by name servers, resolvers, or other parts of the DNS.
+
+When we talk about a specific RR, we assume it has the following:
+
+owner which is the domain name where the RR is found.
+
+type which is an encoded 16 bit value that specifies the type
+ of the resource in this resource record. Types refer to
+ abstract resources.
+
+ This memo uses the following types:
+
+ A a host address
+
+ CNAME identifies the canonical name of an
+ alias
+
+ HINFO identifies the CPU and OS used by a host
+
+ MX identifies a mail exchange for the
+ domain. See [RFC-974 for details.
+
+ NS
+ the authoritative name server for the domain
+
+ PTR
+ a pointer to another part of the domain name space
+
+ SOA
+ identifies the start of a zone of authority]
+
+class which is an encoded 16 bit value which identifies a
+ protocol family or instance of a protocol.
+
+ This memo uses the following classes:
+
+ IN the Internet system
+
+ CH the Chaos system
+
+TTL which is the time to live of the RR. This field is a 32
+ bit integer in units of seconds, an is primarily used by
+ resolvers when they cache RRs. The TTL describes how
+ long a RR can be cached before it should be discarded.
+
+
+
+
+Mockapetris [Page 12]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+RDATA which is the type and sometimes class dependent data
+ which describes the resource:
+
+ A For the IN class, a 32 bit IP address
+
+ For the CH class, a domain name followed
+ by a 16 bit octal Chaos address.
+
+ CNAME a domain name.
+
+ MX a 16 bit preference value (lower is
+ better) followed by a host name willing
+ to act as a mail exchange for the owner
+ domain.
+
+ NS a host name.
+
+ PTR a domain name.
+
+ SOA several fields.
+
+The owner name is often implicit, rather than forming an integral part
+of the RR. For example, many name servers internally form tree or hash
+structures for the name space, and chain RRs off nodes. The remaining
+RR parts are the fixed header (type, class, TTL) which is consistent for
+all RRs, and a variable part (RDATA) that fits the needs of the resource
+being described.
+
+The meaning of the TTL field is a time limit on how long an RR can be
+kept in a cache. This limit does not apply to authoritative data in
+zones; it is also timed out, but by the refreshing policies for the
+zone. The TTL is assigned by the administrator for the zone where the
+data originates. While short TTLs can be used to minimize caching, and
+a zero TTL prohibits caching, the realities of Internet performance
+suggest that these times should be on the order of days for the typical
+host. If a change can be anticipated, the TTL can be reduced prior to
+the change to minimize inconsistency during the change, and then
+increased back to its former value following the change.
+
+The data in the RDATA section of RRs is carried as a combination of
+binary strings and domain names. The domain names are frequently used
+as "pointers" to other data in the DNS.
+
+3.6.1. Textual expression of RRs
+
+RRs are represented in binary form in the packets of the DNS protocol,
+and are usually represented in highly encoded form when stored in a name
+server or resolver. In this memo, we adopt a style similar to that used
+
+
+
+Mockapetris [Page 13]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+in master files in order to show the contents of RRs. In this format,
+most RRs are shown on a single line, although continuation lines are
+possible using parentheses.
+
+The start of the line gives the owner of the RR. If a line begins with
+a blank, then the owner is assumed to be the same as that of the
+previous RR. Blank lines are often included for readability.
+
+Following the owner, we list the TTL, type, and class of the RR. Class
+and type use the mnemonics defined above, and TTL is an integer before
+the type field. In order to avoid ambiguity in parsing, type and class
+mnemonics are disjoint, TTLs are integers, and the type mnemonic is
+always last. The IN class and TTL values are often omitted from examples
+in the interests of clarity.
+
+The resource data or RDATA section of the RR are given using knowledge
+of the typical representation for the data.
+
+For example, we might show the RRs carried in a message as:
+
+ ISI.EDU. MX 10 VENERA.ISI.EDU.
+ MX 10 VAXA.ISI.EDU.
+ VENERA.ISI.EDU. A 128.9.0.32
+ A 10.1.0.52
+ VAXA.ISI.EDU. A 10.2.0.27
+ A 128.9.0.33
+
+The MX RRs have an RDATA section which consists of a 16 bit number
+followed by a domain name. The address RRs use a standard IP address
+format to contain a 32 bit internet address.
+
+This example shows six RRs, with two RRs at each of three domain names.
+
+Similarly we might see:
+
+ XX.LCS.MIT.EDU. IN A 10.0.0.44
+ CH A MIT.EDU. 2420
+
+This example shows two addresses for XX.LCS.MIT.EDU, each of a different
+class.
+
+3.6.2. Aliases and canonical names
+
+In existing systems, hosts and other resources often have several names
+that identify the same resource. For example, the names C.ISI.EDU and
+USC-ISIC.ARPA both identify the same host. Similarly, in the case of
+mailboxes, many organizations provide many names that actually go to the
+same mailbox; for example Mockapetris@C.ISI.EDU, Mockapetris@B.ISI.EDU,
+
+
+
+Mockapetris [Page 14]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+and PVM@ISI.EDU all go to the same mailbox (although the mechanism
+behind this is somewhat complicated).
+
+Most of these systems have a notion that one of the equivalent set of
+names is the canonical or primary name and all others are aliases.
+
+The domain system provides such a feature using the canonical name
+(CNAME) RR. A CNAME RR identifies its owner name as an alias, and
+specifies the corresponding canonical name in the RDATA section of the
+RR. If a CNAME RR is present at a node, no other data should be
+present; this ensures that the data for a canonical name and its aliases
+cannot be different. This rule also insures that a cached CNAME can be
+used without checking with an authoritative server for other RR types.
+
+CNAME RRs cause special action in DNS software. When a name server
+fails to find a desired RR in the resource set associated with the
+domain name, it checks to see if the resource set consists of a CNAME
+record with a matching class. If so, the name server includes the CNAME
+record in the response and restarts the query at the domain name
+specified in the data field of the CNAME record. The one exception to
+this rule is that queries which match the CNAME type are not restarted.
+
+For example, suppose a name server was processing a query with for USC-
+ISIC.ARPA, asking for type A information, and had the following resource
+records:
+
+ USC-ISIC.ARPA IN CNAME C.ISI.EDU
+
+ C.ISI.EDU IN A 10.0.0.52
+
+Both of these RRs would be returned in the response to the type A query,
+while a type CNAME or * query should return just the CNAME.
+
+Domain names in RRs which point at another name should always point at
+the primary name and not the alias. This avoids extra indirections in
+accessing information. For example, the address to name RR for the
+above host should be:
+
+ 52.0.0.10.IN-ADDR.ARPA IN PTR C.ISI.EDU
+
+rather than pointing at USC-ISIC.ARPA. Of course, by the robustness
+principle, domain software should not fail when presented with CNAME
+chains or loops; CNAME chains should be followed and CNAME loops
+signalled as an error.
+
+3.7. Queries
+
+Queries are messages which may be sent to a name server to provoke a
+
+
+
+Mockapetris [Page 15]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+response. In the Internet, queries are carried in UDP datagrams or over
+TCP connections. The response by the name server either answers the
+question posed in the query, refers the requester to another set of name
+servers, or signals some error condition.
+
+In general, the user does not generate queries directly, but instead
+makes a request to a resolver which in turn sends one or more queries to
+name servers and deals with the error conditions and referrals that may
+result. Of course, the possible questions which can be asked in a query
+does shape the kind of service a resolver can provide.
+
+DNS queries and responses are carried in a standard message format. The
+message format has a header containing a number of fixed fields which
+are always present, and four sections which carry query parameters and
+RRs.
+
+The most important field in the header is a four bit field called an
+opcode which separates different queries. Of the possible 16 values,
+one (standard query) is part of the official protocol, two (inverse
+query and status query) are options, one (completion) is obsolete, and
+the rest are unassigned.
+
+The four sections are:
+
+Question Carries the query name and other query parameters.
+
+Answer Carries RRs which directly answer the query.
+
+Authority Carries RRs which describe other authoritative servers.
+ May optionally carry the SOA RR for the authoritative
+ data in the answer section.
+
+Additional Carries RRs which may be helpful in using the RRs in the
+ other sections.
+
+Note that the content, but not the format, of these sections varies with
+header opcode.
+
+3.7.1. Standard queries
+
+A standard query specifies a target domain name (QNAME), query type
+(QTYPE), and query class (QCLASS) and asks for RRs which match. This
+type of query makes up such a vast majority of DNS queries that we use
+the term "query" to mean standard query unless otherwise specified. The
+QTYPE and QCLASS fields are each 16 bits long, and are a superset of
+defined types and classes.
+
+
+
+
+
+Mockapetris [Page 16]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+The QTYPE field may contain:
+
+<any type> matches just that type. (e.g., A, PTR).
+
+AXFR special zone transfer QTYPE.
+
+MAILB matches all mail box related RRs (e.g. MB and MG).
+
+* matches all RR types.
+
+The QCLASS field may contain:
+
+<any class> matches just that class (e.g., IN, CH).
+
+* matches aLL RR classes.
+
+Using the query domain name, QTYPE, and QCLASS, the name server looks
+for matching RRs. In addition to relevant records, the name server may
+return RRs that point toward a name server that has the desired
+information or RRs that are expected to be useful in interpreting the
+relevant RRs. For example, a name server that doesn't have the
+requested information may know a name server that does; a name server
+that returns a domain name in a relevant RR may also return the RR that
+binds that domain name to an address.
+
+For example, a mailer tying to send mail to Mockapetris@ISI.EDU might
+ask the resolver for mail information about ISI.EDU, resulting in a
+query for QNAME=ISI.EDU, QTYPE=MX, QCLASS=IN. The response's answer
+section would be:
+
+ ISI.EDU. MX 10 VENERA.ISI.EDU.
+ MX 10 VAXA.ISI.EDU.
+
+while the additional section might be:
+
+ VAXA.ISI.EDU. A 10.2.0.27
+ A 128.9.0.33
+ VENERA.ISI.EDU. A 10.1.0.52
+ A 128.9.0.32
+
+Because the server assumes that if the requester wants mail exchange
+information, it will probably want the addresses of the mail exchanges
+soon afterward.
+
+Note that the QCLASS=* construct requires special interpretation
+regarding authority. Since a particular name server may not know all of
+the classes available in the domain system, it can never know if it is
+authoritative for all classes. Hence responses to QCLASS=* queries can
+
+
+
+Mockapetris [Page 17]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+never be authoritative.
+
+3.7.2. Inverse queries (Optional)
+
+Name servers may also support inverse queries that map a particular
+resource to a domain name or domain names that have that resource. For
+example, while a standard query might map a domain name to a SOA RR, the
+corresponding inverse query might map the SOA RR back to the domain
+name.
+
+Implementation of this service is optional in a name server, but all
+name servers must at least be able to understand an inverse query
+message and return a not-implemented error response.
+
+The domain system cannot guarantee the completeness or uniqueness of
+inverse queries because the domain system is organized by domain name
+rather than by host address or any other resource type. Inverse queries
+are primarily useful for debugging and database maintenance activities.
+
+Inverse queries may not return the proper TTL, and do not indicate cases
+where the identified RR is one of a set (for example, one address for a
+host having multiple addresses). Therefore, the RRs returned in inverse
+queries should never be cached.
+
+Inverse queries are NOT an acceptable method for mapping host addresses
+to host names; use the IN-ADDR.ARPA domain instead.
+
+A detailed discussion of inverse queries is contained in [RFC-1035].
+
+3.8. Status queries (Experimental)
+
+To be defined.
+
+3.9. Completion queries (Obsolete)
+
+The optional completion services described in RFCs 882 and 883 have been
+deleted. Redesigned services may become available in the future, or the
+opcodes may be reclaimed for other use.
+
+4. NAME SERVERS
+
+4.1. Introduction
+
+Name servers are the repositories of information that make up the domain
+database. The database is divided up into sections called zones, which
+are distributed among the name servers. While name servers can have
+several optional functions and sources of data, the essential task of a
+name server is to answer queries using data in its zones. By design,
+
+
+
+Mockapetris [Page 18]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+name servers can answer queries in a simple manner; the response can
+always be generated using only local data, and either contains the
+answer to the question or a referral to other name servers "closer" to
+the desired information.
+
+A given zone will be available from several name servers to insure its
+availability in spite of host or communication link failure. By
+administrative fiat, we require every zone to be available on at least
+two servers, and many zones have more redundancy than that.
+
+A given name server will typically support one or more zones, but this
+gives it authoritative information about only a small section of the
+domain tree. It may also have some cached non-authoritative data about
+other parts of the tree. The name server marks its responses to queries
+so that the requester can tell whether the response comes from
+authoritative data or not.
+
+4.2. How the database is divided into zones
+
+The domain database is partitioned in two ways: by class, and by "cuts"
+made in the name space between nodes.
+
+The class partition is simple. The database for any class is organized,
+delegated, and maintained separately from all other classes. Since, by
+convention, the name spaces are the same for all classes, the separate
+classes can be thought of as an array of parallel namespace trees. Note
+that the data attached to nodes will be different for these different
+parallel classes. The most common reasons for creating a new class are
+the necessity for a new data format for existing types or a desire for a
+separately managed version of the existing name space.
+
+Within a class, "cuts" in the name space can be made between any two
+adjacent nodes. After all cuts are made, each group of connected name
+space is a separate zone. The zone is said to be authoritative for all
+names in the connected region. Note that the "cuts" in the name space
+may be in different places for different classes, the name servers may
+be different, etc.
+
+These rules mean that every zone has at least one node, and hence domain
+name, for which it is authoritative, and all of the nodes in a
+particular zone are connected. Given, the tree structure, every zone
+has a highest node which is closer to the root than any other node in
+the zone. The name of this node is often used to identify the zone.
+
+It would be possible, though not particularly useful, to partition the
+name space so that each domain name was in a separate zone or so that
+all nodes were in a single zone. Instead, the database is partitioned
+at points where a particular organization wants to take over control of
+
+
+
+Mockapetris [Page 19]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+a subtree. Once an organization controls its own zone it can
+unilaterally change the data in the zone, grow new tree sections
+connected to the zone, delete existing nodes, or delegate new subzones
+under its zone.
+
+If the organization has substructure, it may want to make further
+internal partitions to achieve nested delegations of name space control.
+In some cases, such divisions are made purely to make database
+maintenance more convenient.
+
+4.2.1. Technical considerations
+
+The data that describes a zone has four major parts:
+
+ - Authoritative data for all nodes within the zone.
+
+ - Data that defines the top node of the zone (can be thought of
+ as part of the authoritative data).
+
+ - Data that describes delegated subzones, i.e., cuts around the
+ bottom of the zone.
+
+ - Data that allows access to name servers for subzones
+ (sometimes called "glue" data).
+
+All of this data is expressed in the form of RRs, so a zone can be
+completely described in terms of a set of RRs. Whole zones can be
+transferred between name servers by transferring the RRs, either carried
+in a series of messages or by FTPing a master file which is a textual
+representation.
+
+The authoritative data for a zone is simply all of the RRs attached to
+all of the nodes from the top node of the zone down to leaf nodes or
+nodes above cuts around the bottom edge of the zone.
+
+Though logically part of the authoritative data, the RRs that describe
+the top node of the zone are especially important to the zone's
+management. These RRs are of two types: name server RRs that list, one
+per RR, all of the servers for the zone, and a single SOA RR that
+describes zone management parameters.
+
+The RRs that describe cuts around the bottom of the zone are NS RRs that
+name the servers for the subzones. Since the cuts are between nodes,
+these RRs are NOT part of the authoritative data of the zone, and should
+be exactly the same as the corresponding RRs in the top node of the
+subzone. Since name servers are always associated with zone boundaries,
+NS RRs are only found at nodes which are the top node of some zone. In
+the data that makes up a zone, NS RRs are found at the top node of the
+
+
+
+Mockapetris [Page 20]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+zone (and are authoritative) and at cuts around the bottom of the zone
+(where they are not authoritative), but never in between.
+
+One of the goals of the zone structure is that any zone have all the
+data required to set up communications with the name servers for any
+subzones. That is, parent zones have all the information needed to
+access servers for their children zones. The NS RRs that name the
+servers for subzones are often not enough for this task since they name
+the servers, but do not give their addresses. In particular, if the
+name of the name server is itself in the subzone, we could be faced with
+the situation where the NS RRs tell us that in order to learn a name
+server's address, we should contact the server using the address we wish
+to learn. To fix this problem, a zone contains "glue" RRs which are not
+part of the authoritative data, and are address RRs for the servers.
+These RRs are only necessary if the name server's name is "below" the
+cut, and are only used as part of a referral response.
+
+4.2.2. Administrative considerations
+
+When some organization wants to control its own domain, the first step
+is to identify the proper parent zone, and get the parent zone's owners
+to agree to the delegation of control. While there are no particular
+technical constraints dealing with where in the tree this can be done,
+there are some administrative groupings discussed in [RFC-1032] which
+deal with top level organization, and middle level zones are free to
+create their own rules. For example, one university might choose to use
+a single zone, while another might choose to organize by subzones
+dedicated to individual departments or schools. [RFC-1033] catalogs
+available DNS software an discusses administration procedures.
+
+Once the proper name for the new subzone is selected, the new owners
+should be required to demonstrate redundant name server support. Note
+that there is no requirement that the servers for a zone reside in a
+host which has a name in that domain. In many cases, a zone will be
+more accessible to the internet at large if its servers are widely
+distributed rather than being within the physical facilities controlled
+by the same organization that manages the zone. For example, in the
+current DNS, one of the name servers for the United Kingdom, or UK
+domain, is found in the US. This allows US hosts to get UK data without
+using limited transatlantic bandwidth.
+
+As the last installation step, the delegation NS RRs and glue RRs
+necessary to make the delegation effective should be added to the parent
+zone. The administrators of both zones should insure that the NS and
+glue RRs which mark both sides of the cut are consistent and remain so.
+
+4.3. Name server internals
+
+
+
+
+Mockapetris [Page 21]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+4.3.1. Queries and responses
+
+The principal activity of name servers is to answer standard queries.
+Both the query and its response are carried in a standard message format
+which is described in [RFC-1035]. The query contains a QTYPE, QCLASS,
+and QNAME, which describe the types and classes of desired information
+and the name of interest.
+
+The way that the name server answers the query depends upon whether it
+is operating in recursive mode or not:
+
+ - The simplest mode for the server is non-recursive, since it
+ can answer queries using only local information: the response
+ contains an error, the answer, or a referral to some other
+ server "closer" to the answer. All name servers must
+ implement non-recursive queries.
+
+ - The simplest mode for the client is recursive, since in this
+ mode the name server acts in the role of a resolver and
+ returns either an error or the answer, but never referrals.
+ This service is optional in a name server, and the name server
+ may also choose to restrict the clients which can use
+ recursive mode.
+
+Recursive service is helpful in several situations:
+
+ - a relatively simple requester that lacks the ability to use
+ anything other than a direct answer to the question.
+
+ - a request that needs to cross protocol or other boundaries and
+ can be sent to a server which can act as intermediary.
+
+ - a network where we want to concentrate the cache rather than
+ having a separate cache for each client.
+
+Non-recursive service is appropriate if the requester is capable of
+pursuing referrals and interested in information which will aid future
+requests.
+
+The use of recursive mode is limited to cases where both the client and
+the name server agree to its use. The agreement is negotiated through
+the use of two bits in query and response messages:
+
+ - The recursion available, or RA bit, is set or cleared by a
+ name server in all responses. The bit is true if the name
+ server is willing to provide recursive service for the client,
+ regardless of whether the client requested recursive service.
+ That is, RA signals availability rather than use.
+
+
+
+Mockapetris [Page 22]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ - Queries contain a bit called recursion desired or RD. This
+ bit specifies specifies whether the requester wants recursive
+ service for this query. Clients may request recursive service
+ from any name server, though they should depend upon receiving
+ it only from servers which have previously sent an RA, or
+ servers which have agreed to provide service through private
+ agreement or some other means outside of the DNS protocol.
+
+The recursive mode occurs when a query with RD set arrives at a server
+which is willing to provide recursive service; the client can verify
+that recursive mode was used by checking that both RA and RD are set in
+the reply. Note that the name server should never perform recursive
+service unless asked via RD, since this interferes with trouble shooting
+of name servers and their databases.
+
+If recursive service is requested and available, the recursive response
+to a query will be one of the following:
+
+ - The answer to the query, possibly preface by one or more CNAME
+ RRs that specify aliases encountered on the way to an answer.
+
+ - A name error indicating that the name does not exist. This
+ may include CNAME RRs that indicate that the original query
+ name was an alias for a name which does not exist.
+
+ - A temporary error indication.
+
+If recursive service is not requested or is not available, the non-
+recursive response will be one of the following:
+
+ - An authoritative name error indicating that the name does not
+ exist.
+
+ - A temporary error indication.
+
+ - Some combination of:
+
+ RRs that answer the question, together with an indication
+ whether the data comes from a zone or is cached.
+
+ A referral to name servers which have zones which are closer
+ ancestors to the name than the server sending the reply.
+
+ - RRs that the name server thinks will prove useful to the
+ requester.
+
+
+
+
+
+
+Mockapetris [Page 23]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+4.3.2. Algorithm
+
+The actual algorithm used by the name server will depend on the local OS
+and data structures used to store RRs. The following algorithm assumes
+that the RRs are organized in several tree structures, one for each
+zone, and another for the cache:
+
+ 1. Set or clear the value of recursion available in the response
+ depending on whether the name server is willing to provide
+ recursive service. If recursive service is available and
+ requested via the RD bit in the query, go to step 5,
+ otherwise step 2.
+
+ 2. Search the available zones for the zone which is the nearest
+ ancestor to QNAME. If such a zone is found, go to step 3,
+ otherwise step 4.
+
+ 3. Start matching down, label by label, in the zone. The
+ matching process can terminate several ways:
+
+ a. If the whole of QNAME is matched, we have found the
+ node.
+
+ If the data at the node is a CNAME, and QTYPE doesn't
+ match CNAME, copy the CNAME RR into the answer section
+ of the response, change QNAME to the canonical name in
+ the CNAME RR, and go back to step 1.
+
+ Otherwise, copy all RRs which match QTYPE into the
+ answer section and go to step 6.
+
+ b. If a match would take us out of the authoritative data,
+ we have a referral. This happens when we encounter a
+ node with NS RRs marking cuts along the bottom of a
+ zone.
+
+ Copy the NS RRs for the subzone into the authority
+ section of the reply. Put whatever addresses are
+ available into the additional section, using glue RRs
+ if the addresses are not available from authoritative
+ data or the cache. Go to step 4.
+
+ c. If at some label, a match is impossible (i.e., the
+ corresponding label does not exist), look to see if a
+ the "*" label exists.
+
+ If the "*" label does not exist, check whether the name
+ we are looking for is the original QNAME in the query
+
+
+
+Mockapetris [Page 24]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ or a name we have followed due to a CNAME. If the name
+ is original, set an authoritative name error in the
+ response and exit. Otherwise just exit.
+
+ If the "*" label does exist, match RRs at that node
+ against QTYPE. If any match, copy them into the answer
+ section, but set the owner of the RR to be QNAME, and
+ not the node with the "*" label. Go to step 6.
+
+ 4. Start matching down in the cache. If QNAME is found in the
+ cache, copy all RRs attached to it that match QTYPE into the
+ answer section. If there was no delegation from
+ authoritative data, look for the best one from the cache, and
+ put it in the authority section. Go to step 6.
+
+ 5. Using the local resolver or a copy of its algorithm (see
+ resolver section of this memo) to answer the query. Store
+ the results, including any intermediate CNAMEs, in the answer
+ section of the response.
+
+ 6. Using local data only, attempt to add other RRs which may be
+ useful to the additional section of the query. Exit.
+
+4.3.3. Wildcards
+
+In the previous algorithm, special treatment was given to RRs with owner
+names starting with the label "*". Such RRs are called wildcards.
+Wildcard RRs can be thought of as instructions for synthesizing RRs.
+When the appropriate conditions are met, the name server creates RRs
+with an owner name equal to the query name and contents taken from the
+wildcard RRs.
+
+This facility is most often used to create a zone which will be used to
+forward mail from the Internet to some other mail system. The general
+idea is that any name in that zone which is presented to server in a
+query will be assumed to exist, with certain properties, unless explicit
+evidence exists to the contrary. Note that the use of the term zone
+here, instead of domain, is intentional; such defaults do not propagate
+across zone boundaries, although a subzone may choose to achieve that
+appearance by setting up similar defaults.
+
+The contents of the wildcard RRs follows the usual rules and formats for
+RRs. The wildcards in the zone have an owner name that controls the
+query names they will match. The owner name of the wildcard RRs is of
+the form "*.<anydomain>", where <anydomain> is any domain name.
+<anydomain> should not contain other * labels, and should be in the
+authoritative data of the zone. The wildcards potentially apply to
+descendants of <anydomain>, but not to <anydomain> itself. Another way
+
+
+
+Mockapetris [Page 25]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+to look at this is that the "*" label always matches at least one whole
+label and sometimes more, but always whole labels.
+
+Wildcard RRs do not apply:
+
+ - When the query is in another zone. That is, delegation cancels
+ the wildcard defaults.
+
+ - When the query name or a name between the wildcard domain and
+ the query name is know to exist. For example, if a wildcard
+ RR has an owner name of "*.X", and the zone also contains RRs
+ attached to B.X, the wildcards would apply to queries for name
+ Z.X (presuming there is no explicit information for Z.X), but
+ not to B.X, A.B.X, or X.
+
+A * label appearing in a query name has no special effect, but can be
+used to test for wildcards in an authoritative zone; such a query is the
+only way to get a response containing RRs with an owner name with * in
+it. The result of such a query should not be cached.
+
+Note that the contents of the wildcard RRs are not modified when used to
+synthesize RRs.
+
+To illustrate the use of wildcard RRs, suppose a large company with a
+large, non-IP/TCP, network wanted to create a mail gateway. If the
+company was called X.COM, and IP/TCP capable gateway machine was called
+A.X.COM, the following RRs might be entered into the COM zone:
+
+ X.COM MX 10 A.X.COM
+
+ *.X.COM MX 10 A.X.COM
+
+ A.X.COM A 1.2.3.4
+ A.X.COM MX 10 A.X.COM
+
+ *.A.X.COM MX 10 A.X.COM
+
+This would cause any MX query for any domain name ending in X.COM to
+return an MX RR pointing at A.X.COM. Two wildcard RRs are required
+since the effect of the wildcard at *.X.COM is inhibited in the A.X.COM
+subtree by the explicit data for A.X.COM. Note also that the explicit
+MX data at X.COM and A.X.COM is required, and that none of the RRs above
+would match a query name of XX.COM.
+
+4.3.4. Negative response caching (Optional)
+
+The DNS provides an optional service which allows name servers to
+distribute, and resolvers to cache, negative results with TTLs. For
+
+
+
+Mockapetris [Page 26]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+example, a name server can distribute a TTL along with a name error
+indication, and a resolver receiving such information is allowed to
+assume that the name does not exist during the TTL period without
+consulting authoritative data. Similarly, a resolver can make a query
+with a QTYPE which matches multiple types, and cache the fact that some
+of the types are not present.
+
+This feature can be particularly important in a system which implements
+naming shorthands that use search lists beacuse a popular shorthand,
+which happens to require a suffix toward the end of the search list,
+will generate multiple name errors whenever it is used.
+
+The method is that a name server may add an SOA RR to the additional
+section of a response when that response is authoritative. The SOA must
+be that of the zone which was the source of the authoritative data in
+the answer section, or name error if applicable. The MINIMUM field of
+the SOA controls the length of time that the negative result may be
+cached.
+
+Note that in some circumstances, the answer section may contain multiple
+owner names. In this case, the SOA mechanism should only be used for
+the data which matches QNAME, which is the only authoritative data in
+this section.
+
+Name servers and resolvers should never attempt to add SOAs to the
+additional section of a non-authoritative response, or attempt to infer
+results which are not directly stated in an authoritative response.
+There are several reasons for this, including: cached information isn't
+usually enough to match up RRs and their zone names, SOA RRs may be
+cached due to direct SOA queries, and name servers are not required to
+output the SOAs in the authority section.
+
+This feature is optional, although a refined version is expected to
+become part of the standard protocol in the future. Name servers are
+not required to add the SOA RRs in all authoritative responses, nor are
+resolvers required to cache negative results. Both are recommended.
+All resolvers and recursive name servers are required to at least be
+able to ignore the SOA RR when it is present in a response.
+
+Some experiments have also been proposed which will use this feature.
+The idea is that if cached data is known to come from a particular zone,
+and if an authoritative copy of the zone's SOA is obtained, and if the
+zone's SERIAL has not changed since the data was cached, then the TTL of
+the cached data can be reset to the zone MINIMUM value if it is smaller.
+This usage is mentioned for planning purposes only, and is not
+recommended as yet.
+
+
+
+
+
+Mockapetris [Page 27]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+4.3.5. Zone maintenance and transfers
+
+Part of the job of a zone administrator is to maintain the zones at all
+of the name servers which are authoritative for the zone. When the
+inevitable changes are made, they must be distributed to all of the name
+servers. While this distribution can be accomplished using FTP or some
+other ad hoc procedure, the preferred method is the zone transfer part
+of the DNS protocol.
+
+The general model of automatic zone transfer or refreshing is that one
+of the name servers is the master or primary for the zone. Changes are
+coordinated at the primary, typically by editing a master file for the
+zone. After editing, the administrator signals the master server to
+load the new zone. The other non-master or secondary servers for the
+zone periodically check for changes (at a selectable interval) and
+obtain new zone copies when changes have been made.
+
+To detect changes, secondaries just check the SERIAL field of the SOA
+for the zone. In addition to whatever other changes are made, the
+SERIAL field in the SOA of the zone is always advanced whenever any
+change is made to the zone. The advancing can be a simple increment, or
+could be based on the write date and time of the master file, etc. The
+purpose is to make it possible to determine which of two copies of a
+zone is more recent by comparing serial numbers. Serial number advances
+and comparisons use sequence space arithmetic, so there is a theoretic
+limit on how fast a zone can be updated, basically that old copies must
+die out before the serial number covers half of its 32 bit range. In
+practice, the only concern is that the compare operation deals properly
+with comparisons around the boundary between the most positive and most
+negative 32 bit numbers.
+
+The periodic polling of the secondary servers is controlled by
+parameters in the SOA RR for the zone, which set the minimum acceptable
+polling intervals. The parameters are called REFRESH, RETRY, and
+EXPIRE. Whenever a new zone is loaded in a secondary, the secondary
+waits REFRESH seconds before checking with the primary for a new serial.
+If this check cannot be completed, new checks are started every RETRY
+seconds. The check is a simple query to the primary for the SOA RR of
+the zone. If the serial field in the secondary's zone copy is equal to
+the serial returned by the primary, then no changes have occurred, and
+the REFRESH interval wait is restarted. If the secondary finds it
+impossible to perform a serial check for the EXPIRE interval, it must
+assume that its copy of the zone is obsolete an discard it.
+
+When the poll shows that the zone has changed, then the secondary server
+must request a zone transfer via an AXFR request for the zone. The AXFR
+may cause an error, such as refused, but normally is answered by a
+sequence of response messages. The first and last messages must contain
+
+
+
+Mockapetris [Page 28]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+the data for the top authoritative node of the zone. Intermediate
+messages carry all of the other RRs from the zone, including both
+authoritative and non-authoritative RRs. The stream of messages allows
+the secondary to construct a copy of the zone. Because accuracy is
+essential, TCP or some other reliable protocol must be used for AXFR
+requests.
+
+Each secondary server is required to perform the following operations
+against the master, but may also optionally perform these operations
+against other secondary servers. This strategy can improve the transfer
+process when the primary is unavailable due to host downtime or network
+problems, or when a secondary server has better network access to an
+"intermediate" secondary than to the primary.
+
+5. RESOLVERS
+
+5.1. Introduction
+
+Resolvers are programs that interface user programs to domain name
+servers. In the simplest case, a resolver receives a request from a
+user program (e.g., mail programs, TELNET, FTP) in the form of a
+subroutine call, system call etc., and returns the desired information
+in a form compatible with the local host's data formats.
+
+The resolver is located on the same machine as the program that requests
+the resolver's services, but it may need to consult name servers on
+other hosts. Because a resolver may need to consult several name
+servers, or may have the requested information in a local cache, the
+amount of time that a resolver will take to complete can vary quite a
+bit, from milliseconds to several seconds.
+
+A very important goal of the resolver is to eliminate network delay and
+name server load from most requests by answering them from its cache of
+prior results. It follows that caches which are shared by multiple
+processes, users, machines, etc., are more efficient than non-shared
+caches.
+
+5.2. Client-resolver interface
+
+5.2.1. Typical functions
+
+The client interface to the resolver is influenced by the local host's
+conventions, but the typical resolver-client interface has three
+functions:
+
+ 1. Host name to host address translation.
+
+ This function is often defined to mimic a previous HOSTS.TXT
+
+
+
+Mockapetris [Page 29]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ based function. Given a character string, the caller wants
+ one or more 32 bit IP addresses. Under the DNS, it
+ translates into a request for type A RRs. Since the DNS does
+ not preserve the order of RRs, this function may choose to
+ sort the returned addresses or select the "best" address if
+ the service returns only one choice to the client. Note that
+ a multiple address return is recommended, but a single
+ address may be the only way to emulate prior HOSTS.TXT
+ services.
+
+ 2. Host address to host name translation
+
+ This function will often follow the form of previous
+ functions. Given a 32 bit IP address, the caller wants a
+ character string. The octets of the IP address are reversed,
+ used as name components, and suffixed with "IN-ADDR.ARPA". A
+ type PTR query is used to get the RR with the primary name of
+ the host. For example, a request for the host name
+ corresponding to IP address 1.2.3.4 looks for PTR RRs for
+ domain name "4.3.2.1.IN-ADDR.ARPA".
+
+ 3. General lookup function
+
+ This function retrieves arbitrary information from the DNS,
+ and has no counterpart in previous systems. The caller
+ supplies a QNAME, QTYPE, and QCLASS, and wants all of the
+ matching RRs. This function will often use the DNS format
+ for all RR data instead of the local host's, and returns all
+ RR content (e.g., TTL) instead of a processed form with local
+ quoting conventions.
+
+When the resolver performs the indicated function, it usually has one of
+the following results to pass back to the client:
+
+ - One or more RRs giving the requested data.
+
+ In this case the resolver returns the answer in the
+ appropriate format.
+
+ - A name error (NE).
+
+ This happens when the referenced name does not exist. For
+ example, a user may have mistyped a host name.
+
+ - A data not found error.
+
+ This happens when the referenced name exists, but data of the
+ appropriate type does not. For example, a host address
+
+
+
+Mockapetris [Page 30]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ function applied to a mailbox name would return this error
+ since the name exists, but no address RR is present.
+
+It is important to note that the functions for translating between host
+names and addresses may combine the "name error" and "data not found"
+error conditions into a single type of error return, but the general
+function should not. One reason for this is that applications may ask
+first for one type of information about a name followed by a second
+request to the same name for some other type of information; if the two
+errors are combined, then useless queries may slow the application.
+
+5.2.2. Aliases
+
+While attempting to resolve a particular request, the resolver may find
+that the name in question is an alias. For example, the resolver might
+find that the name given for host name to address translation is an
+alias when it finds the CNAME RR. If possible, the alias condition
+should be signalled back from the resolver to the client.
+
+In most cases a resolver simply restarts the query at the new name when
+it encounters a CNAME. However, when performing the general function,
+the resolver should not pursue aliases when the CNAME RR matches the
+query type. This allows queries which ask whether an alias is present.
+For example, if the query type is CNAME, the user is interested in the
+CNAME RR itself, and not the RRs at the name it points to.
+
+Several special conditions can occur with aliases. Multiple levels of
+aliases should be avoided due to their lack of efficiency, but should
+not be signalled as an error. Alias loops and aliases which point to
+non-existent names should be caught and an error condition passed back
+to the client.
+
+5.2.3. Temporary failures
+
+In a less than perfect world, all resolvers will occasionally be unable
+to resolve a particular request. This condition can be caused by a
+resolver which becomes separated from the rest of the network due to a
+link failure or gateway problem, or less often by coincident failure or
+unavailability of all servers for a particular domain.
+
+It is essential that this sort of condition should not be signalled as a
+name or data not present error to applications. This sort of behavior
+is annoying to humans, and can wreak havoc when mail systems use the
+DNS.
+
+While in some cases it is possible to deal with such a temporary problem
+by blocking the request indefinitely, this is usually not a good choice,
+particularly when the client is a server process that could move on to
+
+
+
+Mockapetris [Page 31]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+other tasks. The recommended solution is to always have temporary
+failure as one of the possible results of a resolver function, even
+though this may make emulation of existing HOSTS.TXT functions more
+difficult.
+
+5.3. Resolver internals
+
+Every resolver implementation uses slightly different algorithms, and
+typically spends much more logic dealing with errors of various sorts
+than typical occurances. This section outlines a recommended basic
+strategy for resolver operation, but leaves details to [RFC-1035].
+
+5.3.1. Stub resolvers
+
+One option for implementing a resolver is to move the resolution
+function out of the local machine and into a name server which supports
+recursive queries. This can provide an easy method of providing domain
+service in a PC which lacks the resources to perform the resolver
+function, or can centralize the cache for a whole local network or
+organization.
+
+All that the remaining stub needs is a list of name server addresses
+that will perform the recursive requests. This type of resolver
+presumably needs the information in a configuration file, since it
+probably lacks the sophistication to locate it in the domain database.
+The user also needs to verify that the listed servers will perform the
+recursive service; a name server is free to refuse to perform recursive
+services for any or all clients. The user should consult the local
+system administrator to find name servers willing to perform the
+service.
+
+This type of service suffers from some drawbacks. Since the recursive
+requests may take an arbitrary amount of time to perform, the stub may
+have difficulty optimizing retransmission intervals to deal with both
+lost UDP packets and dead servers; the name server can be easily
+overloaded by too zealous a stub if it interprets retransmissions as new
+requests. Use of TCP may be an answer, but TCP may well place burdens
+on the host's capabilities which are similar to those of a real
+resolver.
+
+5.3.2. Resources
+
+In addition to its own resources, the resolver may also have shared
+access to zones maintained by a local name server. This gives the
+resolver the advantage of more rapid access, but the resolver must be
+careful to never let cached information override zone data. In this
+discussion the term "local information" is meant to mean the union of
+the cache and such shared zones, with the understanding that
+
+
+
+Mockapetris [Page 32]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+authoritative data is always used in preference to cached data when both
+are present.
+
+The following resolver algorithm assumes that all functions have been
+converted to a general lookup function, and uses the following data
+structures to represent the state of a request in progress in the
+resolver:
+
+SNAME the domain name we are searching for.
+
+STYPE the QTYPE of the search request.
+
+SCLASS the QCLASS of the search request.
+
+SLIST a structure which describes the name servers and the
+ zone which the resolver is currently trying to query.
+ This structure keeps track of the resolver's current
+ best guess about which name servers hold the desired
+ information; it is updated when arriving information
+ changes the guess. This structure includes the
+ equivalent of a zone name, the known name servers for
+ the zone, the known addresses for the name servers, and
+ history information which can be used to suggest which
+ server is likely to be the best one to try next. The
+ zone name equivalent is a match count of the number of
+ labels from the root down which SNAME has in common with
+ the zone being queried; this is used as a measure of how
+ "close" the resolver is to SNAME.
+
+SBELT a "safety belt" structure of the same form as SLIST,
+ which is initialized from a configuration file, and
+ lists servers which should be used when the resolver
+ doesn't have any local information to guide name server
+ selection. The match count will be -1 to indicate that
+ no labels are known to match.
+
+CACHE A structure which stores the results from previous
+ responses. Since resolvers are responsible for
+ discarding old RRs whose TTL has expired, most
+ implementations convert the interval specified in
+ arriving RRs to some sort of absolute time when the RR
+ is stored in the cache. Instead of counting the TTLs
+ down individually, the resolver just ignores or discards
+ old RRs when it runs across them in the course of a
+ search, or discards them during periodic sweeps to
+ reclaim the memory consumed by old RRs.
+
+
+
+
+
+Mockapetris [Page 33]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+5.3.3. Algorithm
+
+The top level algorithm has four steps:
+
+ 1. See if the answer is in local information, and if so return
+ it to the client.
+
+ 2. Find the best servers to ask.
+
+ 3. Send them queries until one returns a response.
+
+ 4. Analyze the response, either:
+
+ a. if the response answers the question or contains a name
+ error, cache the data as well as returning it back to
+ the client.
+
+ b. if the response contains a better delegation to other
+ servers, cache the delegation information, and go to
+ step 2.
+
+ c. if the response shows a CNAME and that is not the
+ answer itself, cache the CNAME, change the SNAME to the
+ canonical name in the CNAME RR and go to step 1.
+
+ d. if the response shows a servers failure or other
+ bizarre contents, delete the server from the SLIST and
+ go back to step 3.
+
+Step 1 searches the cache for the desired data. If the data is in the
+cache, it is assumed to be good enough for normal use. Some resolvers
+have an option at the user interface which will force the resolver to
+ignore the cached data and consult with an authoritative server. This
+is not recommended as the default. If the resolver has direct access to
+a name server's zones, it should check to see if the desired data is
+present in authoritative form, and if so, use the authoritative data in
+preference to cached data.
+
+Step 2 looks for a name server to ask for the required data. The
+general strategy is to look for locally-available name server RRs,
+starting at SNAME, then the parent domain name of SNAME, the
+grandparent, and so on toward the root. Thus if SNAME were
+Mockapetris.ISI.EDU, this step would look for NS RRs for
+Mockapetris.ISI.EDU, then ISI.EDU, then EDU, and then . (the root).
+These NS RRs list the names of hosts for a zone at or above SNAME. Copy
+the names into SLIST. Set up their addresses using local data. It may
+be the case that the addresses are not available. The resolver has many
+choices here; the best is to start parallel resolver processes looking
+
+
+
+Mockapetris [Page 34]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+for the addresses while continuing onward with the addresses which are
+available. Obviously, the design choices and options are complicated
+and a function of the local host's capabilities. The recommended
+priorities for the resolver designer are:
+
+ 1. Bound the amount of work (packets sent, parallel processes
+ started) so that a request can't get into an infinite loop or
+ start off a chain reaction of requests or queries with other
+ implementations EVEN IF SOMEONE HAS INCORRECTLY CONFIGURED
+ SOME DATA.
+
+ 2. Get back an answer if at all possible.
+
+ 3. Avoid unnecessary transmissions.
+
+ 4. Get the answer as quickly as possible.
+
+If the search for NS RRs fails, then the resolver initializes SLIST from
+the safety belt SBELT. The basic idea is that when the resolver has no
+idea what servers to ask, it should use information from a configuration
+file that lists several servers which are expected to be helpful.
+Although there are special situations, the usual choice is two of the
+root servers and two of the servers for the host's domain. The reason
+for two of each is for redundancy. The root servers will provide
+eventual access to all of the domain space. The two local servers will
+allow the resolver to continue to resolve local names if the local
+network becomes isolated from the internet due to gateway or link
+failure.
+
+In addition to the names and addresses of the servers, the SLIST data
+structure can be sorted to use the best servers first, and to insure
+that all addresses of all servers are used in a round-robin manner. The
+sorting can be a simple function of preferring addresses on the local
+network over others, or may involve statistics from past events, such as
+previous response times and batting averages.
+
+Step 3 sends out queries until a response is received. The strategy is
+to cycle around all of the addresses for all of the servers with a
+timeout between each transmission. In practice it is important to use
+all addresses of a multihomed host, and too aggressive a retransmission
+policy actually slows response when used by multiple resolvers
+contending for the same name server and even occasionally for a single
+resolver. SLIST typically contains data values to control the timeouts
+and keep track of previous transmissions.
+
+Step 4 involves analyzing responses. The resolver should be highly
+paranoid in its parsing of responses. It should also check that the
+response matches the query it sent using the ID field in the response.
+
+
+
+Mockapetris [Page 35]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+The ideal answer is one from a server authoritative for the query which
+either gives the required data or a name error. The data is passed back
+to the user and entered in the cache for future use if its TTL is
+greater than zero.
+
+If the response shows a delegation, the resolver should check to see
+that the delegation is "closer" to the answer than the servers in SLIST
+are. This can be done by comparing the match count in SLIST with that
+computed from SNAME and the NS RRs in the delegation. If not, the reply
+is bogus and should be ignored. If the delegation is valid the NS
+delegation RRs and any address RRs for the servers should be cached.
+The name servers are entered in the SLIST, and the search is restarted.
+
+If the response contains a CNAME, the search is restarted at the CNAME
+unless the response has the data for the canonical name or if the CNAME
+is the answer itself.
+
+Details and implementation hints can be found in [RFC-1035].
+
+6. A SCENARIO
+
+In our sample domain space, suppose we wanted separate administrative
+control for the root, MIL, EDU, MIT.EDU and ISI.EDU zones. We might
+allocate name servers as follows:
+
+
+ |(C.ISI.EDU,SRI-NIC.ARPA
+ | A.ISI.EDU)
+ +---------------------+------------------+
+ | | |
+ MIL EDU ARPA
+ |(SRI-NIC.ARPA, |(SRI-NIC.ARPA, |
+ | A.ISI.EDU | C.ISI.EDU) |
+ +-----+-----+ | +------+-----+-----+
+ | | | | | | |
+ BRL NOSC DARPA | IN-ADDR SRI-NIC ACC
+ |
+ +--------+------------------+---------------+--------+
+ | | | | |
+ UCI MIT | UDEL YALE
+ |(XX.LCS.MIT.EDU, ISI
+ |ACHILLES.MIT.EDU) |(VAXA.ISI.EDU,VENERA.ISI.EDU,
+ +---+---+ | A.ISI.EDU)
+ | | |
+ LCS ACHILLES +--+-----+-----+--------+
+ | | | | | |
+ XX A C VAXA VENERA Mockapetris
+
+
+
+
+Mockapetris [Page 36]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+In this example, the authoritative name server is shown in parentheses
+at the point in the domain tree at which is assumes control.
+
+Thus the root name servers are on C.ISI.EDU, SRI-NIC.ARPA, and
+A.ISI.EDU. The MIL domain is served by SRI-NIC.ARPA and A.ISI.EDU. The
+EDU domain is served by SRI-NIC.ARPA. and C.ISI.EDU. Note that servers
+may have zones which are contiguous or disjoint. In this scenario,
+C.ISI.EDU has contiguous zones at the root and EDU domains. A.ISI.EDU
+has contiguous zones at the root and MIL domains, but also has a non-
+contiguous zone at ISI.EDU.
+
+6.1. C.ISI.EDU name server
+
+C.ISI.EDU is a name server for the root, MIL, and EDU domains of the IN
+class, and would have zones for these domains. The zone data for the
+root domain might be:
+
+ . IN SOA SRI-NIC.ARPA. HOSTMASTER.SRI-NIC.ARPA. (
+ 870611 ;serial
+ 1800 ;refresh every 30 min
+ 300 ;retry every 5 min
+ 604800 ;expire after a week
+ 86400) ;minimum of a day
+ NS A.ISI.EDU.
+ NS C.ISI.EDU.
+ NS SRI-NIC.ARPA.
+
+ MIL. 86400 NS SRI-NIC.ARPA.
+ 86400 NS A.ISI.EDU.
+
+ EDU. 86400 NS SRI-NIC.ARPA.
+ 86400 NS C.ISI.EDU.
+
+ SRI-NIC.ARPA. A 26.0.0.73
+ A 10.0.0.51
+ MX 0 SRI-NIC.ARPA.
+ HINFO DEC-2060 TOPS20
+
+ ACC.ARPA. A 26.6.0.65
+ HINFO PDP-11/70 UNIX
+ MX 10 ACC.ARPA.
+
+ USC-ISIC.ARPA. CNAME C.ISI.EDU.
+
+ 73.0.0.26.IN-ADDR.ARPA. PTR SRI-NIC.ARPA.
+ 65.0.6.26.IN-ADDR.ARPA. PTR ACC.ARPA.
+ 51.0.0.10.IN-ADDR.ARPA. PTR SRI-NIC.ARPA.
+ 52.0.0.10.IN-ADDR.ARPA. PTR C.ISI.EDU.
+
+
+
+Mockapetris [Page 37]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ 103.0.3.26.IN-ADDR.ARPA. PTR A.ISI.EDU.
+
+ A.ISI.EDU. 86400 A 26.3.0.103
+ C.ISI.EDU. 86400 A 10.0.0.52
+
+This data is represented as it would be in a master file. Most RRs are
+single line entries; the sole exception here is the SOA RR, which uses
+"(" to start a multi-line RR and ")" to show the end of a multi-line RR.
+Since the class of all RRs in a zone must be the same, only the first RR
+in a zone need specify the class. When a name server loads a zone, it
+forces the TTL of all authoritative RRs to be at least the MINIMUM field
+of the SOA, here 86400 seconds, or one day. The NS RRs marking
+delegation of the MIL and EDU domains, together with the glue RRs for
+the servers host addresses, are not part of the authoritative data in
+the zone, and hence have explicit TTLs.
+
+Four RRs are attached to the root node: the SOA which describes the root
+zone and the 3 NS RRs which list the name servers for the root. The
+data in the SOA RR describes the management of the zone. The zone data
+is maintained on host SRI-NIC.ARPA, and the responsible party for the
+zone is HOSTMASTER@SRI-NIC.ARPA. A key item in the SOA is the 86400
+second minimum TTL, which means that all authoritative data in the zone
+has at least that TTL, although higher values may be explicitly
+specified.
+
+The NS RRs for the MIL and EDU domains mark the boundary between the
+root zone and the MIL and EDU zones. Note that in this example, the
+lower zones happen to be supported by name servers which also support
+the root zone.
+
+The master file for the EDU zone might be stated relative to the origin
+EDU. The zone data for the EDU domain might be:
+
+ EDU. IN SOA SRI-NIC.ARPA. HOSTMASTER.SRI-NIC.ARPA. (
+ 870729 ;serial
+ 1800 ;refresh every 30 minutes
+ 300 ;retry every 5 minutes
+ 604800 ;expire after a week
+ 86400 ;minimum of a day
+ )
+ NS SRI-NIC.ARPA.
+ NS C.ISI.EDU.
+
+ UCI 172800 NS ICS.UCI
+ 172800 NS ROME.UCI
+ ICS.UCI 172800 A 192.5.19.1
+ ROME.UCI 172800 A 192.5.19.31
+
+
+
+
+Mockapetris [Page 38]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ ISI 172800 NS VAXA.ISI
+ 172800 NS A.ISI
+ 172800 NS VENERA.ISI.EDU.
+ VAXA.ISI 172800 A 10.2.0.27
+ 172800 A 128.9.0.33
+ VENERA.ISI.EDU. 172800 A 10.1.0.52
+ 172800 A 128.9.0.32
+ A.ISI 172800 A 26.3.0.103
+
+ UDEL.EDU. 172800 NS LOUIE.UDEL.EDU.
+ 172800 NS UMN-REI-UC.ARPA.
+ LOUIE.UDEL.EDU. 172800 A 10.0.0.96
+ 172800 A 192.5.39.3
+
+ YALE.EDU. 172800 NS YALE.ARPA.
+ YALE.EDU. 172800 NS YALE-BULLDOG.ARPA.
+
+ MIT.EDU. 43200 NS XX.LCS.MIT.EDU.
+ 43200 NS ACHILLES.MIT.EDU.
+ XX.LCS.MIT.EDU. 43200 A 10.0.0.44
+ ACHILLES.MIT.EDU. 43200 A 18.72.0.8
+
+Note the use of relative names here. The owner name for the ISI.EDU. is
+stated using a relative name, as are two of the name server RR contents.
+Relative and absolute domain names may be freely intermixed in a master
+
+6.2. Example standard queries
+
+The following queries and responses illustrate name server behavior.
+Unless otherwise noted, the queries do not have recursion desired (RD)
+in the header. Note that the answers to non-recursive queries do depend
+on the server being asked, but do not depend on the identity of the
+requester.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 39]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+6.2.1. QNAME=SRI-NIC.ARPA, QTYPE=A
+
+The query would look like:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | <empty> |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+The response from C.ISI.EDU would be:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | SRI-NIC.ARPA. 86400 IN A 26.0.0.73 |
+ | 86400 IN A 10.0.0.51 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+The header of the response looks like the header of the query, except
+that the RESPONSE bit is set, indicating that this message is a
+response, not a query, and the Authoritative Answer (AA) bit is set
+indicating that the address RRs in the answer section are from
+authoritative data. The question section of the response matches the
+question section of the query.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 40]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+If the same query was sent to some other server which was not
+authoritative for SRI-NIC.ARPA, the response might be:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY,RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | SRI-NIC.ARPA. 1777 IN A 10.0.0.51 |
+ | 1777 IN A 26.0.0.73 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+This response is different from the previous one in two ways: the header
+does not have AA set, and the TTLs are different. The inference is that
+the data did not come from a zone, but from a cache. The difference
+between the authoritative TTL and the TTL here is due to aging of the
+data in a cache. The difference in ordering of the RRs in the answer
+section is not significant.
+
+6.2.2. QNAME=SRI-NIC.ARPA, QTYPE=*
+
+A query similar to the previous one, but using a QTYPE of *, would
+receive the following response from C.ISI.EDU:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=* |
+ +---------------------------------------------------+
+ Answer | SRI-NIC.ARPA. 86400 IN A 26.0.0.73 |
+ | A 10.0.0.51 |
+ | MX 0 SRI-NIC.ARPA. |
+ | HINFO DEC-2060 TOPS20 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 41]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+If a similar query was directed to two name servers which are not
+authoritative for SRI-NIC.ARPA, the responses might be:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=* |
+ +---------------------------------------------------+
+ Answer | SRI-NIC.ARPA. 12345 IN A 26.0.0.73 |
+ | A 10.0.0.51 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+and
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=* |
+ +---------------------------------------------------+
+ Answer | SRI-NIC.ARPA. 1290 IN HINFO DEC-2060 TOPS20 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+Neither of these answers have AA set, so neither response comes from
+authoritative data. The different contents and different TTLs suggest
+that the two servers cached data at different times, and that the first
+server cached the response to a QTYPE=A query and the second cached the
+response to a HINFO query.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 42]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+6.2.3. QNAME=SRI-NIC.ARPA, QTYPE=MX
+
+This type of query might be result from a mailer trying to look up
+routing information for the mail destination HOSTMASTER@SRI-NIC.ARPA.
+The response from C.ISI.EDU would be:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=MX |
+ +---------------------------------------------------+
+ Answer | SRI-NIC.ARPA. 86400 IN MX 0 SRI-NIC.ARPA.|
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | SRI-NIC.ARPA. 86400 IN A 26.0.0.73 |
+ | A 10.0.0.51 |
+ +---------------------------------------------------+
+
+This response contains the MX RR in the answer section of the response.
+The additional section contains the address RRs because the name server
+at C.ISI.EDU guesses that the requester will need the addresses in order
+to properly use the information carried by the MX.
+
+6.2.4. QNAME=SRI-NIC.ARPA, QTYPE=NS
+
+C.ISI.EDU would reply to this query with:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=SRI-NIC.ARPA., QCLASS=IN, QTYPE=NS |
+ +---------------------------------------------------+
+ Answer | <empty> |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+The only difference between the response and the query is the AA and
+RESPONSE bits in the header. The interpretation of this response is
+that the server is authoritative for the name, and the name exists, but
+no RRs of type NS are present there.
+
+6.2.5. QNAME=SIR-NIC.ARPA, QTYPE=A
+
+If a user mistyped a host name, we might see this type of query.
+
+
+
+Mockapetris [Page 43]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+C.ISI.EDU would answer it with:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA, RCODE=NE |
+ +---------------------------------------------------+
+ Question | QNAME=SIR-NIC.ARPA., QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | <empty> |
+ +---------------------------------------------------+
+ Authority | . SOA SRI-NIC.ARPA. HOSTMASTER.SRI-NIC.ARPA. |
+ | 870611 1800 300 604800 86400 |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+This response states that the name does not exist. This condition is
+signalled in the response code (RCODE) section of the header.
+
+The SOA RR in the authority section is the optional negative caching
+information which allows the resolver using this response to assume that
+the name will not exist for the SOA MINIMUM (86400) seconds.
+
+6.2.6. QNAME=BRL.MIL, QTYPE=A
+
+If this query is sent to C.ISI.EDU, the reply would be:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=BRL.MIL, QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | <empty> |
+ +---------------------------------------------------+
+ Authority | MIL. 86400 IN NS SRI-NIC.ARPA. |
+ | 86400 NS A.ISI.EDU. |
+ +---------------------------------------------------+
+ Additional | A.ISI.EDU. A 26.3.0.103 |
+ | SRI-NIC.ARPA. A 26.0.0.73 |
+ | A 10.0.0.51 |
+ +---------------------------------------------------+
+
+This response has an empty answer section, but is not authoritative, so
+it is a referral. The name server on C.ISI.EDU, realizing that it is
+not authoritative for the MIL domain, has referred the requester to
+servers on A.ISI.EDU and SRI-NIC.ARPA, which it knows are authoritative
+for the MIL domain.
+
+
+
+
+
+Mockapetris [Page 44]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+6.2.7. QNAME=USC-ISIC.ARPA, QTYPE=A
+
+The response to this query from A.ISI.EDU would be:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. |
+ | C.ISI.EDU. 86400 IN A 10.0.0.52 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+Note that the AA bit in the header guarantees that the data matching
+QNAME is authoritative, but does not say anything about whether the data
+for C.ISI.EDU is authoritative. This complete reply is possible because
+A.ISI.EDU happens to be authoritative for both the ARPA domain where
+USC-ISIC.ARPA is found and the ISI.EDU domain where C.ISI.EDU data is
+found.
+
+If the same query was sent to C.ISI.EDU, its response might be the same
+as shown above if it had its own address in its cache, but might also
+be:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 45]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. |
+ +---------------------------------------------------+
+ Authority | ISI.EDU. 172800 IN NS VAXA.ISI.EDU. |
+ | NS A.ISI.EDU. |
+ | NS VENERA.ISI.EDU. |
+ +---------------------------------------------------+
+ Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 |
+ | 172800 A 128.9.0.33 |
+ | VENERA.ISI.EDU. 172800 A 10.1.0.52 |
+ | 172800 A 128.9.0.32 |
+ | A.ISI.EDU. 172800 A 26.3.0.103 |
+ +---------------------------------------------------+
+
+This reply contains an authoritative reply for the alias USC-ISIC.ARPA,
+plus a referral to the name servers for ISI.EDU. This sort of reply
+isn't very likely given that the query is for the host name of the name
+server being asked, but would be common for other aliases.
+
+6.2.8. QNAME=USC-ISIC.ARPA, QTYPE=CNAME
+
+If this query is sent to either A.ISI.EDU or C.ISI.EDU, the reply would
+be:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=USC-ISIC.ARPA., QCLASS=IN, QTYPE=A |
+ +---------------------------------------------------+
+ Answer | USC-ISIC.ARPA. 86400 IN CNAME C.ISI.EDU. |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+Because QTYPE=CNAME, the CNAME RR itself answers the query, and the name
+server doesn't attempt to look up anything for C.ISI.EDU. (Except
+possibly for the additional section.)
+
+6.3. Example resolution
+
+The following examples illustrate the operations a resolver must perform
+for its client. We assume that the resolver is starting without a
+
+
+
+Mockapetris [Page 46]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+cache, as might be the case after system boot. We further assume that
+the system is not one of the hosts in the data and that the host is
+located somewhere on net 26, and that its safety belt (SBELT) data
+structure has the following information:
+
+ Match count = -1
+ SRI-NIC.ARPA. 26.0.0.73 10.0.0.51
+ A.ISI.EDU. 26.3.0.103
+
+This information specifies servers to try, their addresses, and a match
+count of -1, which says that the servers aren't very close to the
+target. Note that the -1 isn't supposed to be an accurate closeness
+measure, just a value so that later stages of the algorithm will work.
+
+The following examples illustrate the use of a cache, so each example
+assumes that previous requests have completed.
+
+6.3.1. Resolve MX for ISI.EDU.
+
+Suppose the first request to the resolver comes from the local mailer,
+which has mail for PVM@ISI.EDU. The mailer might then ask for type MX
+RRs for the domain name ISI.EDU.
+
+The resolver would look in its cache for MX RRs at ISI.EDU, but the
+empty cache wouldn't be helpful. The resolver would recognize that it
+needed to query foreign servers and try to determine the best servers to
+query. This search would look for NS RRs for the domains ISI.EDU, EDU,
+and the root. These searches of the cache would also fail. As a last
+resort, the resolver would use the information from the SBELT, copying
+it into its SLIST structure.
+
+At this point the resolver would need to pick one of the three available
+addresses to try. Given that the resolver is on net 26, it should
+choose either 26.0.0.73 or 26.3.0.103 as its first choice. It would
+then send off a query of the form:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 47]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY |
+ +---------------------------------------------------+
+ Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX |
+ +---------------------------------------------------+
+ Answer | <empty> |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+The resolver would then wait for a response to its query or a timeout.
+If the timeout occurs, it would try different servers, then different
+addresses of the same servers, lastly retrying addresses already tried.
+It might eventually receive a reply from SRI-NIC.ARPA:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX |
+ +---------------------------------------------------+
+ Answer | <empty> |
+ +---------------------------------------------------+
+ Authority | ISI.EDU. 172800 IN NS VAXA.ISI.EDU. |
+ | NS A.ISI.EDU. |
+ | NS VENERA.ISI.EDU.|
+ +---------------------------------------------------+
+ Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 |
+ | 172800 A 128.9.0.33 |
+ | VENERA.ISI.EDU. 172800 A 10.1.0.52 |
+ | 172800 A 128.9.0.32 |
+ | A.ISI.EDU. 172800 A 26.3.0.103 |
+ +---------------------------------------------------+
+
+The resolver would notice that the information in the response gave a
+closer delegation to ISI.EDU than its existing SLIST (since it matches
+three labels). The resolver would then cache the information in this
+response and use it to set up a new SLIST:
+
+ Match count = 3
+ A.ISI.EDU. 26.3.0.103
+ VAXA.ISI.EDU. 10.2.0.27 128.9.0.33
+ VENERA.ISI.EDU. 10.1.0.52 128.9.0.32
+
+A.ISI.EDU appears on this list as well as the previous one, but that is
+purely coincidental. The resolver would again start transmitting and
+waiting for responses. Eventually it would get an answer:
+
+
+
+Mockapetris [Page 48]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=ISI.EDU., QCLASS=IN, QTYPE=MX |
+ +---------------------------------------------------+
+ Answer | ISI.EDU. MX 10 VENERA.ISI.EDU. |
+ | MX 20 VAXA.ISI.EDU. |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | VAXA.ISI.EDU. 172800 A 10.2.0.27 |
+ | 172800 A 128.9.0.33 |
+ | VENERA.ISI.EDU. 172800 A 10.1.0.52 |
+ | 172800 A 128.9.0.32 |
+ +---------------------------------------------------+
+
+The resolver would add this information to its cache, and return the MX
+RRs to its client.
+
+6.3.2. Get the host name for address 26.6.0.65
+
+The resolver would translate this into a request for PTR RRs for
+65.0.6.26.IN-ADDR.ARPA. This information is not in the cache, so the
+resolver would look for foreign servers to ask. No servers would match,
+so it would use SBELT again. (Note that the servers for the ISI.EDU
+domain are in the cache, but ISI.EDU is not an ancestor of
+65.0.6.26.IN-ADDR.ARPA, so the SBELT is used.)
+
+Since this request is within the authoritative data of both servers in
+SBELT, eventually one would return:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 49]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE, AA |
+ +---------------------------------------------------+
+ Question | QNAME=65.0.6.26.IN-ADDR.ARPA.,QCLASS=IN,QTYPE=PTR |
+ +---------------------------------------------------+
+ Answer | 65.0.6.26.IN-ADDR.ARPA. PTR ACC.ARPA. |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+6.3.3. Get the host address of poneria.ISI.EDU
+
+This request would translate into a type A request for poneria.ISI.EDU.
+The resolver would not find any cached data for this name, but would
+find the NS RRs in the cache for ISI.EDU when it looks for foreign
+servers to ask. Using this data, it would construct a SLIST of the
+form:
+
+ Match count = 3
+
+ A.ISI.EDU. 26.3.0.103
+ VAXA.ISI.EDU. 10.2.0.27 128.9.0.33
+ VENERA.ISI.EDU. 10.1.0.52
+
+A.ISI.EDU is listed first on the assumption that the resolver orders its
+choices by preference, and A.ISI.EDU is on the same network.
+
+One of these servers would answer the query.
+
+7. REFERENCES and BIBLIOGRAPHY
+
+[Dyer 87] Dyer, S., and F. Hsu, "Hesiod", Project Athena
+ Technical Plan - Name Service, April 1987, version 1.9.
+
+ Describes the fundamentals of the Hesiod name service.
+
+[IEN-116] J. Postel, "Internet Name Server", IEN-116,
+ USC/Information Sciences Institute, August 1979.
+
+ A name service obsoleted by the Domain Name System, but
+ still in use.
+
+
+
+
+
+
+
+
+Mockapetris [Page 50]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+[Quarterman 86] Quarterman, J., and J. Hoskins, "Notable Computer
+ Networks",Communications of the ACM, October 1986,
+ volume 29, number 10.
+
+[RFC-742] K. Harrenstien, "NAME/FINGER", RFC-742, Network
+ Information Center, SRI International, December 1977.
+
+[RFC-768] J. Postel, "User Datagram Protocol", RFC-768,
+ USC/Information Sciences Institute, August 1980.
+
+[RFC-793] J. Postel, "Transmission Control Protocol", RFC-793,
+ USC/Information Sciences Institute, September 1981.
+
+[RFC-799] D. Mills, "Internet Name Domains", RFC-799, COMSAT,
+ September 1981.
+
+ Suggests introduction of a hierarchy in place of a flat
+ name space for the Internet.
+
+[RFC-805] J. Postel, "Computer Mail Meeting Notes", RFC-805,
+ USC/Information Sciences Institute, February 1982.
+
+[RFC-810] E. Feinler, K. Harrenstien, Z. Su, and V. White, "DOD
+ Internet Host Table Specification", RFC-810, Network
+ Information Center, SRI International, March 1982.
+
+ Obsolete. See RFC-952.
+
+[RFC-811] K. Harrenstien, V. White, and E. Feinler, "Hostnames
+ Server", RFC-811, Network Information Center, SRI
+ International, March 1982.
+
+ Obsolete. See RFC-953.
+
+[RFC-812] K. Harrenstien, and V. White, "NICNAME/WHOIS", RFC-812,
+ Network Information Center, SRI International, March
+ 1982.
+
+[RFC-819] Z. Su, and J. Postel, "The Domain Naming Convention for
+ Internet User Applications", RFC-819, Network
+ Information Center, SRI International, August 1982.
+
+ Early thoughts on the design of the domain system.
+ Current implementation is completely different.
+
+[RFC-821] J. Postel, "Simple Mail Transfer Protocol", RFC-821,
+ USC/Information Sciences Institute, August 1980.
+
+
+
+
+Mockapetris [Page 51]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+[RFC-830] Z. Su, "A Distributed System for Internet Name Service",
+ RFC-830, Network Information Center, SRI International,
+ October 1982.
+
+ Early thoughts on the design of the domain system.
+ Current implementation is completely different.
+
+[RFC-882] P. Mockapetris, "Domain names - Concepts and
+ Facilities," RFC-882, USC/Information Sciences
+ Institute, November 1983.
+
+ Superceeded by this memo.
+
+[RFC-883] P. Mockapetris, "Domain names - Implementation and
+ Specification," RFC-883, USC/Information Sciences
+ Institute, November 1983.
+
+ Superceeded by this memo.
+
+[RFC-920] J. Postel and J. Reynolds, "Domain Requirements",
+ RFC-920, USC/Information Sciences Institute
+ October 1984.
+
+ Explains the naming scheme for top level domains.
+
+[RFC-952] K. Harrenstien, M. Stahl, E. Feinler, "DoD Internet Host
+ Table Specification", RFC-952, SRI, October 1985.
+
+ Specifies the format of HOSTS.TXT, the host/address
+ table replaced by the DNS.
+
+[RFC-953] K. Harrenstien, M. Stahl, E. Feinler, "HOSTNAME Server",
+ RFC-953, SRI, October 1985.
+
+ This RFC contains the official specification of the
+ hostname server protocol, which is obsoleted by the DNS.
+ This TCP based protocol accesses information stored in
+ the RFC-952 format, and is used to obtain copies of the
+ host table.
+
+[RFC-973] P. Mockapetris, "Domain System Changes and
+ Observations", RFC-973, USC/Information Sciences
+ Institute, January 1986.
+
+ Describes changes to RFC-882 and RFC-883 and reasons for
+ them. Now obsolete.
+
+
+
+
+
+Mockapetris [Page 52]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+[RFC-974] C. Partridge, "Mail routing and the domain system",
+ RFC-974, CSNET CIC BBN Labs, January 1986.
+
+ Describes the transition from HOSTS.TXT based mail
+ addressing to the more powerful MX system used with the
+ domain system.
+
+[RFC-1001] NetBIOS Working Group, "Protocol standard for a NetBIOS
+ service on a TCP/UDP transport: Concepts and Methods",
+ RFC-1001, March 1987.
+
+ This RFC and RFC-1002 are a preliminary design for
+ NETBIOS on top of TCP/IP which proposes to base NetBIOS
+ name service on top of the DNS.
+
+[RFC-1002] NetBIOS Working Group, "Protocol standard for a NetBIOS
+ service on a TCP/UDP transport: Detailed
+ Specifications", RFC-1002, March 1987.
+
+[RFC-1010] J. Reynolds and J. Postel, "Assigned Numbers", RFC-1010,
+ USC/Information Sciences Institute, May 1987
+
+ Contains socket numbers and mnemonics for host names,
+ operating systems, etc.
+
+[RFC-1031] W. Lazear, "MILNET Name Domain Transition", RFC-1031,
+ November 1987.
+
+ Describes a plan for converting the MILNET to the DNS.
+
+[RFC-1032] M. K. Stahl, "Establishing a Domain - Guidelines for
+ Administrators", RFC-1032, November 1987.
+
+ Describes the registration policies used by the NIC to
+ administer the top level domains and delegate subzones.
+
+[RFC-1033] M. K. Lottor, "Domain Administrators Operations Guide",
+ RFC-1033, November 1987.
+
+ A cookbook for domain administrators.
+
+[Solomon 82] M. Solomon, L. Landweber, and D. Neuhengen, "The CSNET
+ Name Server", Computer Networks, vol 6, nr 3, July 1982.
+
+ Describes a name service for CSNET which is independent
+ from the DNS and DNS use in the CSNET.
+
+
+
+
+
+Mockapetris [Page 53]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+Index
+
+ A 12
+ Absolute names 8
+ Aliases 14, 31
+ Authority 6
+ AXFR 17
+
+ Case of characters 7
+ CH 12
+ CNAME 12, 13, 31
+ Completion queries 18
+
+ Domain name 6, 7
+
+ Glue RRs 20
+
+ HINFO 12
+
+ IN 12
+ Inverse queries 16
+ Iterative 4
+
+ Label 7
+
+ Mailbox names 9
+ MX 12
+
+ Name error 27, 36
+ Name servers 5, 17
+ NE 30
+ Negative caching 44
+ NS 12
+
+ Opcode 16
+
+ PTR 12
+
+ QCLASS 16
+ QTYPE 16
+
+ RDATA 13
+ Recursive 4
+ Recursive service 22
+ Relative names 7
+ Resolvers 6
+ RR 12
+
+
+
+
+Mockapetris [Page 54]
+
+RFC 1034 Domain Concepts and Facilities November 1987
+
+
+ Safety belt 33
+ Sections 16
+ SOA 12
+ Standard queries 22
+
+ Status queries 18
+ Stub resolvers 32
+
+ TTL 12, 13
+
+ Wildcards 25
+
+ Zone transfers 28
+ Zones 19
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 55]
+
diff --git a/Documentation/en/rfc/rfc1035.txt b/Documentation/en/rfc/rfc1035.txt
new file mode 100644
index 00000000..b1a9bf5a
--- /dev/null
+++ b/Documentation/en/rfc/rfc1035.txt
@@ -0,0 +1,3077 @@
+Network Working Group P. Mockapetris
+Request for Comments: 1035 ISI
+ November 1987
+Obsoletes: RFCs 882, 883, 973
+
+ DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
+
+
+1. STATUS OF THIS MEMO
+
+This RFC describes the details of the domain system and protocol, and
+assumes that the reader is familiar with the concepts discussed in a
+companion RFC, "Domain Names - Concepts and Facilities" [RFC-1034].
+
+The domain system is a mixture of functions and data types which are an
+official protocol and functions and data types which are still
+experimental. Since the domain system is intentionally extensible, new
+data types and experimental behavior should always be expected in parts
+of the system beyond the official protocol. The official protocol parts
+include standard queries, responses and the Internet class RR data
+formats (e.g., host addresses). Since the previous RFC set, several
+definitions have changed, so some previous definitions are obsolete.
+
+Experimental or obsolete features are clearly marked in these RFCs, and
+such information should be used with caution.
+
+The reader is especially cautioned not to depend on the values which
+appear in examples to be current or complete, since their purpose is
+primarily pedagogical. Distribution of this memo is unlimited.
+
+ Table of Contents
+
+ 1. STATUS OF THIS MEMO 1
+ 2. INTRODUCTION 3
+ 2.1. Overview 3
+ 2.2. Common configurations 4
+ 2.3. Conventions 7
+ 2.3.1. Preferred name syntax 7
+ 2.3.2. Data Transmission Order 8
+ 2.3.3. Character Case 9
+ 2.3.4. Size limits 10
+ 3. DOMAIN NAME SPACE AND RR DEFINITIONS 10
+ 3.1. Name space definitions 10
+ 3.2. RR definitions 11
+ 3.2.1. Format 11
+ 3.2.2. TYPE values 12
+ 3.2.3. QTYPE values 12
+ 3.2.4. CLASS values 13
+
+
+
+Mockapetris [Page 1]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ 3.2.5. QCLASS values 13
+ 3.3. Standard RRs 13
+ 3.3.1. CNAME RDATA format 14
+ 3.3.2. HINFO RDATA format 14
+ 3.3.3. MB RDATA format (EXPERIMENTAL) 14
+ 3.3.4. MD RDATA format (Obsolete) 15
+ 3.3.5. MF RDATA format (Obsolete) 15
+ 3.3.6. MG RDATA format (EXPERIMENTAL) 16
+ 3.3.7. MINFO RDATA format (EXPERIMENTAL) 16
+ 3.3.8. MR RDATA format (EXPERIMENTAL) 17
+ 3.3.9. MX RDATA format 17
+ 3.3.10. NULL RDATA format (EXPERIMENTAL) 17
+ 3.3.11. NS RDATA format 18
+ 3.3.12. PTR RDATA format 18
+ 3.3.13. SOA RDATA format 19
+ 3.3.14. TXT RDATA format 20
+ 3.4. ARPA Internet specific RRs 20
+ 3.4.1. A RDATA format 20
+ 3.4.2. WKS RDATA format 21
+ 3.5. IN-ADDR.ARPA domain 22
+ 3.6. Defining new types, classes, and special namespaces 24
+ 4. MESSAGES 25
+ 4.1. Format 25
+ 4.1.1. Header section format 26
+ 4.1.2. Question section format 28
+ 4.1.3. Resource record format 29
+ 4.1.4. Message compression 30
+ 4.2. Transport 32
+ 4.2.1. UDP usage 32
+ 4.2.2. TCP usage 32
+ 5. MASTER FILES 33
+ 5.1. Format 33
+ 5.2. Use of master files to define zones 35
+ 5.3. Master file example 36
+ 6. NAME SERVER IMPLEMENTATION 37
+ 6.1. Architecture 37
+ 6.1.1. Control 37
+ 6.1.2. Database 37
+ 6.1.3. Time 39
+ 6.2. Standard query processing 39
+ 6.3. Zone refresh and reload processing 39
+ 6.4. Inverse queries (Optional) 40
+ 6.4.1. The contents of inverse queries and responses 40
+ 6.4.2. Inverse query and response example 41
+ 6.4.3. Inverse query processing 42
+
+
+
+
+
+
+Mockapetris [Page 2]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ 6.5. Completion queries and responses 42
+ 7. RESOLVER IMPLEMENTATION 43
+ 7.1. Transforming a user request into a query 43
+ 7.2. Sending the queries 44
+ 7.3. Processing responses 46
+ 7.4. Using the cache 47
+ 8. MAIL SUPPORT 47
+ 8.1. Mail exchange binding 48
+ 8.2. Mailbox binding (Experimental) 48
+ 9. REFERENCES and BIBLIOGRAPHY 50
+ Index 54
+
+2. INTRODUCTION
+
+2.1. Overview
+
+The goal of domain names is to provide a mechanism for naming resources
+in such a way that the names are usable in different hosts, networks,
+protocol families, internets, and administrative organizations.
+
+From the user's point of view, domain names are useful as arguments to a
+local agent, called a resolver, which retrieves information associated
+with the domain name. Thus a user might ask for the host address or
+mail information associated with a particular domain name. To enable
+the user to request a particular type of information, an appropriate
+query type is passed to the resolver with the domain name. To the user,
+the domain tree is a single information space; the resolver is
+responsible for hiding the distribution of data among name servers from
+the user.
+
+From the resolver's point of view, the database that makes up the domain
+space is distributed among various name servers. Different parts of the
+domain space are stored in different name servers, although a particular
+data item will be stored redundantly in two or more name servers. The
+resolver starts with knowledge of at least one name server. When the
+resolver processes a user query it asks a known name server for the
+information; in return, the resolver either receives the desired
+information or a referral to another name server. Using these
+referrals, resolvers learn the identities and contents of other name
+servers. Resolvers are responsible for dealing with the distribution of
+the domain space and dealing with the effects of name server failure by
+consulting redundant databases in other servers.
+
+Name servers manage two kinds of data. The first kind of data held in
+sets called zones; each zone is the complete database for a particular
+"pruned" subtree of the domain space. This data is called
+authoritative. A name server periodically checks to make sure that its
+zones are up to date, and if not, obtains a new copy of updated zones
+
+
+
+Mockapetris [Page 3]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+from master files stored locally or in another name server. The second
+kind of data is cached data which was acquired by a local resolver.
+This data may be incomplete, but improves the performance of the
+retrieval process when non-local data is repeatedly accessed. Cached
+data is eventually discarded by a timeout mechanism.
+
+This functional structure isolates the problems of user interface,
+failure recovery, and distribution in the resolvers and isolates the
+database update and refresh problems in the name servers.
+
+2.2. Common configurations
+
+A host can participate in the domain name system in a number of ways,
+depending on whether the host runs programs that retrieve information
+from the domain system, name servers that answer queries from other
+hosts, or various combinations of both functions. The simplest, and
+perhaps most typical, configuration is shown below:
+
+ Local Host | Foreign
+ |
+ +---------+ +----------+ | +--------+
+ | | user queries | |queries | | |
+ | User |-------------->| |---------|->|Foreign |
+ | Program | | Resolver | | | Name |
+ | |<--------------| |<--------|--| Server |
+ | | user responses| |responses| | |
+ +---------+ +----------+ | +--------+
+ | A |
+ cache additions | | references |
+ V | |
+ +----------+ |
+ | cache | |
+ +----------+ |
+
+User programs interact with the domain name space through resolvers; the
+format of user queries and user responses is specific to the host and
+its operating system. User queries will typically be operating system
+calls, and the resolver and its cache will be part of the host operating
+system. Less capable hosts may choose to implement the resolver as a
+subroutine to be linked in with every program that needs its services.
+Resolvers answer user queries with information they acquire via queries
+to foreign name servers and the local cache.
+
+Note that the resolver may have to make several queries to several
+different foreign name servers to answer a particular user query, and
+hence the resolution of a user query may involve several network
+accesses and an arbitrary amount of time. The queries to foreign name
+servers and the corresponding responses have a standard format described
+
+
+
+Mockapetris [Page 4]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+in this memo, and may be datagrams.
+
+Depending on its capabilities, a name server could be a stand alone
+program on a dedicated machine or a process or processes on a large
+timeshared host. A simple configuration might be:
+
+ Local Host | Foreign
+ |
+ +---------+ |
+ / /| |
+ +---------+ | +----------+ | +--------+
+ | | | | |responses| | |
+ | | | | Name |---------|->|Foreign |
+ | Master |-------------->| Server | | |Resolver|
+ | files | | | |<--------|--| |
+ | |/ | | queries | +--------+
+ +---------+ +----------+ |
+
+Here a primary name server acquires information about one or more zones
+by reading master files from its local file system, and answers queries
+about those zones that arrive from foreign resolvers.
+
+The DNS requires that all zones be redundantly supported by more than
+one name server. Designated secondary servers can acquire zones and
+check for updates from the primary server using the zone transfer
+protocol of the DNS. This configuration is shown below:
+
+ Local Host | Foreign
+ |
+ +---------+ |
+ / /| |
+ +---------+ | +----------+ | +--------+
+ | | | | |responses| | |
+ | | | | Name |---------|->|Foreign |
+ | Master |-------------->| Server | | |Resolver|
+ | files | | | |<--------|--| |
+ | |/ | | queries | +--------+
+ +---------+ +----------+ |
+ A |maintenance | +--------+
+ | +------------|->| |
+ | queries | |Foreign |
+ | | | Name |
+ +------------------|--| Server |
+ maintenance responses | +--------+
+
+In this configuration, the name server periodically establishes a
+virtual circuit to a foreign name server to acquire a copy of a zone or
+to check that an existing copy has not changed. The messages sent for
+
+
+
+Mockapetris [Page 5]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+these maintenance activities follow the same form as queries and
+responses, but the message sequences are somewhat different.
+
+The information flow in a host that supports all aspects of the domain
+name system is shown below:
+
+ Local Host | Foreign
+ |
+ +---------+ +----------+ | +--------+
+ | | user queries | |queries | | |
+ | User |-------------->| |---------|->|Foreign |
+ | Program | | Resolver | | | Name |
+ | |<--------------| |<--------|--| Server |
+ | | user responses| |responses| | |
+ +---------+ +----------+ | +--------+
+ | A |
+ cache additions | | references |
+ V | |
+ +----------+ |
+ | Shared | |
+ | database | |
+ +----------+ |
+ A | |
+ +---------+ refreshes | | references |
+ / /| | V |
+ +---------+ | +----------+ | +--------+
+ | | | | |responses| | |
+ | | | | Name |---------|->|Foreign |
+ | Master |-------------->| Server | | |Resolver|
+ | files | | | |<--------|--| |
+ | |/ | | queries | +--------+
+ +---------+ +----------+ |
+ A |maintenance | +--------+
+ | +------------|->| |
+ | queries | |Foreign |
+ | | | Name |
+ +------------------|--| Server |
+ maintenance responses | +--------+
+
+The shared database holds domain space data for the local name server
+and resolver. The contents of the shared database will typically be a
+mixture of authoritative data maintained by the periodic refresh
+operations of the name server and cached data from previous resolver
+requests. The structure of the domain data and the necessity for
+synchronization between name servers and resolvers imply the general
+characteristics of this database, but the actual format is up to the
+local implementor.
+
+
+
+
+Mockapetris [Page 6]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+Information flow can also be tailored so that a group of hosts act
+together to optimize activities. Sometimes this is done to offload less
+capable hosts so that they do not have to implement a full resolver.
+This can be appropriate for PCs or hosts which want to minimize the
+amount of new network code which is required. This scheme can also
+allow a group of hosts can share a small number of caches rather than
+maintaining a large number of separate caches, on the premise that the
+centralized caches will have a higher hit ratio. In either case,
+resolvers are replaced with stub resolvers which act as front ends to
+resolvers located in a recursive server in one or more name servers
+known to perform that service:
+
+ Local Hosts | Foreign
+ |
+ +---------+ |
+ | | responses |
+ | Stub |<--------------------+ |
+ | Resolver| | |
+ | |----------------+ | |
+ +---------+ recursive | | |
+ queries | | |
+ V | |
+ +---------+ recursive +----------+ | +--------+
+ | | queries | |queries | | |
+ | Stub |-------------->| Recursive|---------|->|Foreign |
+ | Resolver| | Server | | | Name |
+ | |<--------------| |<--------|--| Server |
+ +---------+ responses | |responses| | |
+ +----------+ | +--------+
+ | Central | |
+ | cache | |
+ +----------+ |
+
+In any case, note that domain components are always replicated for
+reliability whenever possible.
+
+2.3. Conventions
+
+The domain system has several conventions dealing with low-level, but
+fundamental, issues. While the implementor is free to violate these
+conventions WITHIN HIS OWN SYSTEM, he must observe these conventions in
+ALL behavior observed from other hosts.
+
+2.3.1. Preferred name syntax
+
+The DNS specifications attempt to be as general as possible in the rules
+for constructing domain names. The idea is that the name of any
+existing object can be expressed as a domain name with minimal changes.
+
+
+
+Mockapetris [Page 7]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+However, when assigning a domain name for an object, the prudent user
+will select a name which satisfies both the rules of the domain system
+and any existing rules for the object, whether these rules are published
+or implied by existing programs.
+
+For example, when naming a mail domain, the user should satisfy both the
+rules of this memo and those in RFC-822. When creating a new host name,
+the old rules for HOSTS.TXT should be followed. This avoids problems
+when old software is converted to use domain names.
+
+The following syntax will result in fewer problems with many
+
+applications that use domain names (e.g., mail, TELNET).
+
+<domain> ::= <subdomain> | " "
+
+<subdomain> ::= <label> | <subdomain> "." <label>
+
+<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
+
+<ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
+
+<let-dig-hyp> ::= <let-dig> | "-"
+
+<let-dig> ::= <letter> | <digit>
+
+<letter> ::= any one of the 52 alphabetic characters A through Z in
+upper case and a through z in lower case
+
+<digit> ::= any one of the ten digits 0 through 9
+
+Note that while upper and lower case letters are allowed in domain
+names, no significance is attached to the case. That is, two names with
+the same spelling but different case are to be treated as if identical.
+
+The labels must follow the rules for ARPANET host names. They must
+start with a letter, end with a letter or digit, and have as interior
+characters only letters, digits, and hyphen. There are also some
+restrictions on the length. Labels must be 63 characters or less.
+
+For example, the following strings identify hosts in the Internet:
+
+A.ISI.EDU XX.LCS.MIT.EDU SRI-NIC.ARPA
+
+2.3.2. Data Transmission Order
+
+The order of transmission of the header and data described in this
+document is resolved to the octet level. Whenever a diagram shows a
+
+
+
+Mockapetris [Page 8]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+group of octets, the order of transmission of those octets is the normal
+order in which they are read in English. For example, in the following
+diagram, the octets are transmitted in the order they are numbered.
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 1 | 2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 3 | 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 5 | 6 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+Whenever an octet represents a numeric quantity, the left most bit in
+the diagram is the high order or most significant bit. That is, the bit
+labeled 0 is the most significant bit. For example, the following
+diagram represents the value 170 (decimal).
+
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |1 0 1 0 1 0 1 0|
+ +-+-+-+-+-+-+-+-+
+
+Similarly, whenever a multi-octet field represents a numeric quantity
+the left most bit of the whole field is the most significant bit. When
+a multi-octet quantity is transmitted the most significant octet is
+transmitted first.
+
+2.3.3. Character Case
+
+For all parts of the DNS that are part of the official protocol, all
+comparisons between character strings (e.g., labels, domain names, etc.)
+are done in a case-insensitive manner. At present, this rule is in
+force throughout the domain system without exception. However, future
+additions beyond current usage may need to use the full binary octet
+capabilities in names, so attempts to store domain names in 7-bit ASCII
+or use of special bytes to terminate labels, etc., should be avoided.
+
+When data enters the domain system, its original case should be
+preserved whenever possible. In certain circumstances this cannot be
+done. For example, if two RRs are stored in a database, one at x.y and
+one at X.Y, they are actually stored at the same place in the database,
+and hence only one casing would be preserved. The basic rule is that
+case can be discarded only when data is used to define structure in a
+database, and two names are identical when compared in a case
+insensitive manner.
+
+
+
+
+Mockapetris [Page 9]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+Loss of case sensitive data must be minimized. Thus while data for x.y
+and X.Y may both be stored under a single location x.y or X.Y, data for
+a.x and B.X would never be stored under A.x, A.X, b.x, or b.X. In
+general, this preserves the case of the first label of a domain name,
+but forces standardization of interior node labels.
+
+Systems administrators who enter data into the domain database should
+take care to represent the data they supply to the domain system in a
+case-consistent manner if their system is case-sensitive. The data
+distribution system in the domain system will ensure that consistent
+representations are preserved.
+
+2.3.4. Size limits
+
+Various objects and parameters in the DNS have size limits. They are
+listed below. Some could be easily changed, others are more
+fundamental.
+
+labels 63 octets or less
+
+names 255 octets or less
+
+TTL positive values of a signed 32 bit number.
+
+UDP messages 512 octets or less
+
+3. DOMAIN NAME SPACE AND RR DEFINITIONS
+
+3.1. Name space definitions
+
+Domain names in messages are expressed in terms of a sequence of labels.
+Each label is represented as a one octet length field followed by that
+number of octets. Since every domain name ends with the null label of
+the root, a domain name is terminated by a length byte of zero. The
+high order two bits of every length octet must be zero, and the
+remaining six bits of the length field limit the label to 63 octets or
+less.
+
+To simplify implementations, the total length of a domain name (i.e.,
+label octets and label length octets) is restricted to 255 octets or
+less.
+
+Although labels can contain any 8 bit values in octets that make up a
+label, it is strongly recommended that labels follow the preferred
+syntax described elsewhere in this memo, which is compatible with
+existing host naming conventions. Name servers and resolvers must
+compare labels in a case-insensitive manner (i.e., A=a), assuming ASCII
+with zero parity. Non-alphabetic codes must match exactly.
+
+
+
+Mockapetris [Page 10]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+3.2. RR definitions
+
+3.2.1. Format
+
+All RRs have the same top level format shown below:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / /
+ / NAME /
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TYPE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | CLASS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TTL |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RDLENGTH |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
+ / RDATA /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+
+where:
+
+NAME an owner name, i.e., the name of the node to which this
+ resource record pertains.
+
+TYPE two octets containing one of the RR TYPE codes.
+
+CLASS two octets containing one of the RR CLASS codes.
+
+TTL a 32 bit signed integer that specifies the time interval
+ that the resource record may be cached before the source
+ of the information should again be consulted. Zero
+ values are interpreted to mean that the RR can only be
+ used for the transaction in progress, and should not be
+ cached. For example, SOA records are always distributed
+ with a zero TTL to prohibit caching. Zero values can
+ also be used for extremely volatile data.
+
+RDLENGTH an unsigned 16 bit integer that specifies the length in
+ octets of the RDATA field.
+
+
+
+Mockapetris [Page 11]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+RDATA a variable length string of octets that describes the
+ resource. The format of this information varies
+ according to the TYPE and CLASS of the resource record.
+
+3.2.2. TYPE values
+
+TYPE fields are used in resource records. Note that these types are a
+subset of QTYPEs.
+
+TYPE value and meaning
+
+A 1 a host address
+
+NS 2 an authoritative name server
+
+MD 3 a mail destination (Obsolete - use MX)
+
+MF 4 a mail forwarder (Obsolete - use MX)
+
+CNAME 5 the canonical name for an alias
+
+SOA 6 marks the start of a zone of authority
+
+MB 7 a mailbox domain name (EXPERIMENTAL)
+
+MG 8 a mail group member (EXPERIMENTAL)
+
+MR 9 a mail rename domain name (EXPERIMENTAL)
+
+NULL 10 a null RR (EXPERIMENTAL)
+
+WKS 11 a well known service description
+
+PTR 12 a domain name pointer
+
+HINFO 13 host information
+
+MINFO 14 mailbox or mail list information
+
+MX 15 mail exchange
+
+TXT 16 text strings
+
+3.2.3. QTYPE values
+
+QTYPE fields appear in the question part of a query. QTYPES are a
+superset of TYPEs, hence all TYPEs are valid QTYPEs. In addition, the
+following QTYPEs are defined:
+
+
+
+Mockapetris [Page 12]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+AXFR 252 A request for a transfer of an entire zone
+
+MAILB 253 A request for mailbox-related records (MB, MG or MR)
+
+MAILA 254 A request for mail agent RRs (Obsolete - see MX)
+
+* 255 A request for all records
+
+3.2.4. CLASS values
+
+CLASS fields appear in resource records. The following CLASS mnemonics
+and values are defined:
+
+IN 1 the Internet
+
+CS 2 the CSNET class (Obsolete - used only for examples in
+ some obsolete RFCs)
+
+CH 3 the CHAOS class
+
+HS 4 Hesiod [Dyer 87]
+
+3.2.5. QCLASS values
+
+QCLASS fields appear in the question section of a query. QCLASS values
+are a superset of CLASS values; every CLASS is a valid QCLASS. In
+addition to CLASS values, the following QCLASSes are defined:
+
+* 255 any class
+
+3.3. Standard RRs
+
+The following RR definitions are expected to occur, at least
+potentially, in all classes. In particular, NS, SOA, CNAME, and PTR
+will be used in all classes, and have the same format in all classes.
+Because their RDATA format is known, all domain names in the RDATA
+section of these RRs may be compressed.
+
+<domain-name> is a domain name represented as a series of labels, and
+terminated by a label with zero length. <character-string> is a single
+length octet followed by that number of characters. <character-string>
+is treated as binary information, and can be up to 256 characters in
+length (including the length octet).
+
+
+
+
+
+
+
+
+Mockapetris [Page 13]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+3.3.1. CNAME RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / CNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+CNAME A <domain-name> which specifies the canonical or primary
+ name for the owner. The owner name is an alias.
+
+CNAME RRs cause no additional section processing, but name servers may
+choose to restart the query at the canonical name in certain cases. See
+the description of name server logic in [RFC-1034] for details.
+
+3.3.2. HINFO RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / CPU /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / OS /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+CPU A <character-string> which specifies the CPU type.
+
+OS A <character-string> which specifies the operating
+ system type.
+
+Standard values for CPU and OS can be found in [RFC-1010].
+
+HINFO records are used to acquire general information about a host. The
+main use is for protocols such as FTP that can use special procedures
+when talking between machines or operating systems of the same type.
+
+3.3.3. MB RDATA format (EXPERIMENTAL)
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MADNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+MADNAME A <domain-name> which specifies a host which has the
+ specified mailbox.
+
+
+
+Mockapetris [Page 14]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+MB records cause additional section processing which looks up an A type
+RRs corresponding to MADNAME.
+
+3.3.4. MD RDATA format (Obsolete)
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MADNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+MADNAME A <domain-name> which specifies a host which has a mail
+ agent for the domain which should be able to deliver
+ mail for the domain.
+
+MD records cause additional section processing which looks up an A type
+record corresponding to MADNAME.
+
+MD is obsolete. See the definition of MX and [RFC-974] for details of
+the new scheme. The recommended policy for dealing with MD RRs found in
+a master file is to reject them, or to convert them to MX RRs with a
+preference of 0.
+
+3.3.5. MF RDATA format (Obsolete)
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MADNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+MADNAME A <domain-name> which specifies a host which has a mail
+ agent for the domain which will accept mail for
+ forwarding to the domain.
+
+MF records cause additional section processing which looks up an A type
+record corresponding to MADNAME.
+
+MF is obsolete. See the definition of MX and [RFC-974] for details ofw
+the new scheme. The recommended policy for dealing with MD RRs found in
+a master file is to reject them, or to convert them to MX RRs with a
+preference of 10.
+
+
+
+
+
+
+
+Mockapetris [Page 15]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+3.3.6. MG RDATA format (EXPERIMENTAL)
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MGMNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+MGMNAME A <domain-name> which specifies a mailbox which is a
+ member of the mail group specified by the domain name.
+
+MG records cause no additional section processing.
+
+3.3.7. MINFO RDATA format (EXPERIMENTAL)
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / RMAILBX /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / EMAILBX /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+RMAILBX A <domain-name> which specifies a mailbox which is
+ responsible for the mailing list or mailbox. If this
+ domain name names the root, the owner of the MINFO RR is
+ responsible for itself. Note that many existing mailing
+ lists use a mailbox X-request for the RMAILBX field of
+ mailing list X, e.g., Msgroup-request for Msgroup. This
+ field provides a more general mechanism.
+
+
+EMAILBX A <domain-name> which specifies a mailbox which is to
+ receive error messages related to the mailing list or
+ mailbox specified by the owner of the MINFO RR (similar
+ to the ERRORS-TO: field which has been proposed). If
+ this domain name names the root, errors should be
+ returned to the sender of the message.
+
+MINFO records cause no additional section processing. Although these
+records can be associated with a simple mailbox, they are usually used
+with a mailing list.
+
+
+
+
+
+
+
+
+Mockapetris [Page 16]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+3.3.8. MR RDATA format (EXPERIMENTAL)
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / NEWNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+NEWNAME A <domain-name> which specifies a mailbox which is the
+ proper rename of the specified mailbox.
+
+MR records cause no additional section processing. The main use for MR
+is as a forwarding entry for a user who has moved to a different
+mailbox.
+
+3.3.9. MX RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | PREFERENCE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / EXCHANGE /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+PREFERENCE A 16 bit integer which specifies the preference given to
+ this RR among others at the same owner. Lower values
+ are preferred.
+
+EXCHANGE A <domain-name> which specifies a host willing to act as
+ a mail exchange for the owner name.
+
+MX records cause type A additional section processing for the host
+specified by EXCHANGE. The use of MX RRs is explained in detail in
+[RFC-974].
+
+3.3.10. NULL RDATA format (EXPERIMENTAL)
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / <anything> /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+Anything at all may be in the RDATA field so long as it is 65535 octets
+or less.
+
+
+
+
+Mockapetris [Page 17]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+NULL records cause no additional section processing. NULL RRs are not
+allowed in master files. NULLs are used as placeholders in some
+experimental extensions of the DNS.
+
+3.3.11. NS RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / NSDNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+NSDNAME A <domain-name> which specifies a host which should be
+ authoritative for the specified class and domain.
+
+NS records cause both the usual additional section processing to locate
+a type A record, and, when used in a referral, a special search of the
+zone in which they reside for glue information.
+
+The NS RR states that the named host should be expected to have a zone
+starting at owner name of the specified class. Note that the class may
+not indicate the protocol family which should be used to communicate
+with the host, although it is typically a strong hint. For example,
+hosts which are name servers for either Internet (IN) or Hesiod (HS)
+class information are normally queried using IN class protocols.
+
+3.3.12. PTR RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / PTRDNAME /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+PTRDNAME A <domain-name> which points to some location in the
+ domain name space.
+
+PTR records cause no additional section processing. These RRs are used
+in special domains to point to some other location in the domain space.
+These records are simple data, and don't imply any special processing
+similar to that performed by CNAME, which identifies aliases. See the
+description of the IN-ADDR.ARPA domain for an example.
+
+
+
+
+
+
+
+
+Mockapetris [Page 18]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+3.3.13. SOA RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / RNAME /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | SERIAL |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | REFRESH |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RETRY |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | EXPIRE |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | MINIMUM |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+MNAME The <domain-name> of the name server that was the
+ original or primary source of data for this zone.
+
+RNAME A <domain-name> which specifies the mailbox of the
+ person responsible for this zone.
+
+SERIAL The unsigned 32 bit version number of the original copy
+ of the zone. Zone transfers preserve this value. This
+ value wraps and should be compared using sequence space
+ arithmetic.
+
+REFRESH A 32 bit time interval before the zone should be
+ refreshed.
+
+RETRY A 32 bit time interval that should elapse before a
+ failed refresh should be retried.
+
+EXPIRE A 32 bit time value that specifies the upper limit on
+ the time interval that can elapse before the zone is no
+ longer authoritative.
+
+
+
+
+
+Mockapetris [Page 19]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+MINIMUM The unsigned 32 bit minimum TTL field that should be
+ exported with any RR from this zone.
+
+SOA records cause no additional section processing.
+
+All times are in units of seconds.
+
+Most of these fields are pertinent only for name server maintenance
+operations. However, MINIMUM is used in all query operations that
+retrieve RRs from a zone. Whenever a RR is sent in a response to a
+query, the TTL field is set to the maximum of the TTL field from the RR
+and the MINIMUM field in the appropriate SOA. Thus MINIMUM is a lower
+bound on the TTL field for all RRs in a zone. Note that this use of
+MINIMUM should occur when the RRs are copied into the response and not
+when the zone is loaded from a master file or via a zone transfer. The
+reason for this provison is to allow future dynamic update facilities to
+change the SOA RR with known semantics.
+
+
+3.3.14. TXT RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / TXT-DATA /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+TXT-DATA One or more <character-string>s.
+
+TXT RRs are used to hold descriptive text. The semantics of the text
+depends on the domain where it is found.
+
+3.4. Internet specific RRs
+
+3.4.1. A RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ADDRESS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+ADDRESS A 32 bit Internet address.
+
+Hosts that have multiple Internet addresses will have multiple A
+records.
+
+
+
+
+
+Mockapetris [Page 20]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+A records cause no additional section processing. The RDATA section of
+an A line in a master file is an Internet address expressed as four
+decimal numbers separated by dots without any imbedded spaces (e.g.,
+"10.2.0.52" or "192.0.5.6").
+
+3.4.2. WKS RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ADDRESS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | PROTOCOL | |
+ +--+--+--+--+--+--+--+--+ |
+ | |
+ / <BIT MAP> /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+ADDRESS An 32 bit Internet address
+
+PROTOCOL An 8 bit IP protocol number
+
+<BIT MAP> A variable length bit map. The bit map must be a
+ multiple of 8 bits long.
+
+The WKS record is used to describe the well known services supported by
+a particular protocol on a particular internet address. The PROTOCOL
+field specifies an IP protocol number, and the bit map has one bit per
+port of the specified protocol. The first bit corresponds to port 0,
+the second to port 1, etc. If the bit map does not include a bit for a
+protocol of interest, that bit is assumed zero. The appropriate values
+and mnemonics for ports and protocols are specified in [RFC-1010].
+
+For example, if PROTOCOL=TCP (6), the 26th bit corresponds to TCP port
+25 (SMTP). If this bit is set, a SMTP server should be listening on TCP
+port 25; if zero, SMTP service is not supported on the specified
+address.
+
+The purpose of WKS RRs is to provide availability information for
+servers for TCP and UDP. If a server supports both TCP and UDP, or has
+multiple Internet addresses, then multiple WKS RRs are used.
+
+WKS RRs cause no additional section processing.
+
+In master files, both ports and protocols are expressed using mnemonics
+or decimal numbers.
+
+
+
+
+Mockapetris [Page 21]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+3.5. IN-ADDR.ARPA domain
+
+The Internet uses a special domain to support gateway location and
+Internet address to host mapping. Other classes may employ a similar
+strategy in other domains. The intent of this domain is to provide a
+guaranteed method to perform host address to host name mapping, and to
+facilitate queries to locate all gateways on a particular network in the
+Internet.
+
+Note that both of these services are similar to functions that could be
+performed by inverse queries; the difference is that this part of the
+domain name space is structured according to address, and hence can
+guarantee that the appropriate data can be located without an exhaustive
+search of the domain space.
+
+The domain begins at IN-ADDR.ARPA and has a substructure which follows
+the Internet addressing structure.
+
+Domain names in the IN-ADDR.ARPA domain are defined to have up to four
+labels in addition to the IN-ADDR.ARPA suffix. Each label represents
+one octet of an Internet address, and is expressed as a character string
+for a decimal value in the range 0-255 (with leading zeros omitted
+except in the case of a zero octet which is represented by a single
+zero).
+
+Host addresses are represented by domain names that have all four labels
+specified. Thus data for Internet address 10.2.0.52 is located at
+domain name 52.0.2.10.IN-ADDR.ARPA. The reversal, though awkward to
+read, allows zones to be delegated which are exactly one network of
+address space. For example, 10.IN-ADDR.ARPA can be a zone containing
+data for the ARPANET, while 26.IN-ADDR.ARPA can be a separate zone for
+MILNET. Address nodes are used to hold pointers to primary host names
+in the normal domain space.
+
+Network numbers correspond to some non-terminal nodes at various depths
+in the IN-ADDR.ARPA domain, since Internet network numbers are either 1,
+2, or 3 octets. Network nodes are used to hold pointers to the primary
+host names of gateways attached to that network. Since a gateway is, by
+definition, on more than one network, it will typically have two or more
+network nodes which point at it. Gateways will also have host level
+pointers at their fully qualified addresses.
+
+Both the gateway pointers at network nodes and the normal host pointers
+at full address nodes use the PTR RR to point back to the primary domain
+names of the corresponding hosts.
+
+For example, the IN-ADDR.ARPA domain will contain information about the
+ISI gateway between net 10 and 26, an MIT gateway from net 10 to MIT's
+
+
+
+Mockapetris [Page 22]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+net 18, and hosts A.ISI.EDU and MULTICS.MIT.EDU. Assuming that ISI
+gateway has addresses 10.2.0.22 and 26.0.0.103, and a name MILNET-
+GW.ISI.EDU, and the MIT gateway has addresses 10.0.0.77 and 18.10.0.4
+and a name GW.LCS.MIT.EDU, the domain database would contain:
+
+ 10.IN-ADDR.ARPA. PTR MILNET-GW.ISI.EDU.
+ 10.IN-ADDR.ARPA. PTR GW.LCS.MIT.EDU.
+ 18.IN-ADDR.ARPA. PTR GW.LCS.MIT.EDU.
+ 26.IN-ADDR.ARPA. PTR MILNET-GW.ISI.EDU.
+ 22.0.2.10.IN-ADDR.ARPA. PTR MILNET-GW.ISI.EDU.
+ 103.0.0.26.IN-ADDR.ARPA. PTR MILNET-GW.ISI.EDU.
+ 77.0.0.10.IN-ADDR.ARPA. PTR GW.LCS.MIT.EDU.
+ 4.0.10.18.IN-ADDR.ARPA. PTR GW.LCS.MIT.EDU.
+ 103.0.3.26.IN-ADDR.ARPA. PTR A.ISI.EDU.
+ 6.0.0.10.IN-ADDR.ARPA. PTR MULTICS.MIT.EDU.
+
+Thus a program which wanted to locate gateways on net 10 would originate
+a query of the form QTYPE=PTR, QCLASS=IN, QNAME=10.IN-ADDR.ARPA. It
+would receive two RRs in response:
+
+ 10.IN-ADDR.ARPA. PTR MILNET-GW.ISI.EDU.
+ 10.IN-ADDR.ARPA. PTR GW.LCS.MIT.EDU.
+
+The program could then originate QTYPE=A, QCLASS=IN queries for MILNET-
+GW.ISI.EDU. and GW.LCS.MIT.EDU. to discover the Internet addresses of
+these gateways.
+
+A resolver which wanted to find the host name corresponding to Internet
+host address 10.0.0.6 would pursue a query of the form QTYPE=PTR,
+QCLASS=IN, QNAME=6.0.0.10.IN-ADDR.ARPA, and would receive:
+
+ 6.0.0.10.IN-ADDR.ARPA. PTR MULTICS.MIT.EDU.
+
+Several cautions apply to the use of these services:
+ - Since the IN-ADDR.ARPA special domain and the normal domain
+ for a particular host or gateway will be in different zones,
+ the possibility exists that that the data may be inconsistent.
+
+ - Gateways will often have two names in separate domains, only
+ one of which can be primary.
+
+ - Systems that use the domain database to initialize their
+ routing tables must start with enough gateway information to
+ guarantee that they can access the appropriate name server.
+
+ - The gateway data only reflects the existence of a gateway in a
+ manner equivalent to the current HOSTS.TXT file. It doesn't
+ replace the dynamic availability information from GGP or EGP.
+
+
+
+Mockapetris [Page 23]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+3.6. Defining new types, classes, and special namespaces
+
+The previously defined types and classes are the ones in use as of the
+date of this memo. New definitions should be expected. This section
+makes some recommendations to designers considering additions to the
+existing facilities. The mailing list NAMEDROPPERS@SRI-NIC.ARPA is the
+forum where general discussion of design issues takes place.
+
+In general, a new type is appropriate when new information is to be
+added to the database about an existing object, or we need new data
+formats for some totally new object. Designers should attempt to define
+types and their RDATA formats that are generally applicable to all
+classes, and which avoid duplication of information. New classes are
+appropriate when the DNS is to be used for a new protocol, etc which
+requires new class-specific data formats, or when a copy of the existing
+name space is desired, but a separate management domain is necessary.
+
+New types and classes need mnemonics for master files; the format of the
+master files requires that the mnemonics for type and class be disjoint.
+
+TYPE and CLASS values must be a proper subset of QTYPEs and QCLASSes
+respectively.
+
+The present system uses multiple RRs to represent multiple values of a
+type rather than storing multiple values in the RDATA section of a
+single RR. This is less efficient for most applications, but does keep
+RRs shorter. The multiple RRs assumption is incorporated in some
+experimental work on dynamic update methods.
+
+The present system attempts to minimize the duplication of data in the
+database in order to insure consistency. Thus, in order to find the
+address of the host for a mail exchange, you map the mail domain name to
+a host name, then the host name to addresses, rather than a direct
+mapping to host address. This approach is preferred because it avoids
+the opportunity for inconsistency.
+
+In defining a new type of data, multiple RR types should not be used to
+create an ordering between entries or express different formats for
+equivalent bindings, instead this information should be carried in the
+body of the RR and a single type used. This policy avoids problems with
+caching multiple types and defining QTYPEs to match multiple types.
+
+For example, the original form of mail exchange binding used two RR
+types one to represent a "closer" exchange (MD) and one to represent a
+"less close" exchange (MF). The difficulty is that the presence of one
+RR type in a cache doesn't convey any information about the other
+because the query which acquired the cached information might have used
+a QTYPE of MF, MD, or MAILA (which matched both). The redesigned
+
+
+
+Mockapetris [Page 24]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+service used a single type (MX) with a "preference" value in the RDATA
+section which can order different RRs. However, if any MX RRs are found
+in the cache, then all should be there.
+
+4. MESSAGES
+
+4.1. Format
+
+All communications inside of the domain protocol are carried in a single
+format called a message. The top level format of message is divided
+into 5 sections (some of which are empty in certain cases) shown below:
+
+ +---------------------+
+ | Header |
+ +---------------------+
+ | Question | the question for the name server
+ +---------------------+
+ | Answer | RRs answering the question
+ +---------------------+
+ | Authority | RRs pointing toward an authority
+ +---------------------+
+ | Additional | RRs holding additional information
+ +---------------------+
+
+The header section is always present. The header includes fields that
+specify which of the remaining sections are present, and also specify
+whether the message is a query or a response, a standard query or some
+other opcode, etc.
+
+The names of the sections after the header are derived from their use in
+standard queries. The question section contains fields that describe a
+question to a name server. These fields are a query type (QTYPE), a
+query class (QCLASS), and a query domain name (QNAME). The last three
+sections have the same format: a possibly empty list of concatenated
+resource records (RRs). The answer section contains RRs that answer the
+question; the authority section contains RRs that point toward an
+authoritative name server; the additional records section contains RRs
+which relate to the query, but are not strictly answers for the
+question.
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 25]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+4.1.1. Header section format
+
+The header contains the following fields:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ID |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QDCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ANCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | NSCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ARCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+ID A 16 bit identifier assigned by the program that
+ generates any kind of query. This identifier is copied
+ the corresponding reply and can be used by the requester
+ to match up replies to outstanding queries.
+
+QR A one bit field that specifies whether this message is a
+ query (0), or a response (1).
+
+OPCODE A four bit field that specifies kind of query in this
+ message. This value is set by the originator of a query
+ and copied into the response. The values are:
+
+ 0 a standard query (QUERY)
+
+ 1 an inverse query (IQUERY)
+
+ 2 a server status request (STATUS)
+
+ 3-15 reserved for future use
+
+AA Authoritative Answer - this bit is valid in responses,
+ and specifies that the responding name server is an
+ authority for the domain name in question section.
+
+ Note that the contents of the answer section may have
+ multiple owner names because of aliases. The AA bit
+
+
+
+Mockapetris [Page 26]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ corresponds to the name which matches the query name, or
+ the first owner name in the answer section.
+
+TC TrunCation - specifies that this message was truncated
+ due to length greater than that permitted on the
+ transmission channel.
+
+RD Recursion Desired - this bit may be set in a query and
+ is copied into the response. If RD is set, it directs
+ the name server to pursue the query recursively.
+ Recursive query support is optional.
+
+RA Recursion Available - this be is set or cleared in a
+ response, and denotes whether recursive query support is
+ available in the name server.
+
+Z Reserved for future use. Must be zero in all queries
+ and responses.
+
+RCODE Response code - this 4 bit field is set as part of
+ responses. The values have the following
+ interpretation:
+
+ 0 No error condition
+
+ 1 Format error - The name server was
+ unable to interpret the query.
+
+ 2 Server failure - The name server was
+ unable to process this query due to a
+ problem with the name server.
+
+ 3 Name Error - Meaningful only for
+ responses from an authoritative name
+ server, this code signifies that the
+ domain name referenced in the query does
+ not exist.
+
+ 4 Not Implemented - The name server does
+ not support the requested kind of query.
+
+ 5 Refused - The name server refuses to
+ perform the specified operation for
+ policy reasons. For example, a name
+ server may not wish to provide the
+ information to the particular requester,
+ or a name server may not wish to perform
+ a particular operation (e.g., zone
+
+
+
+Mockapetris [Page 27]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ transfer) for particular data.
+
+ 6-15 Reserved for future use.
+
+QDCOUNT an unsigned 16 bit integer specifying the number of
+ entries in the question section.
+
+ANCOUNT an unsigned 16 bit integer specifying the number of
+ resource records in the answer section.
+
+NSCOUNT an unsigned 16 bit integer specifying the number of name
+ server resource records in the authority records
+ section.
+
+ARCOUNT an unsigned 16 bit integer specifying the number of
+ resource records in the additional records section.
+
+4.1.2. Question section format
+
+The question section is used to carry the "question" in most queries,
+i.e., the parameters that define what is being asked. The section
+contains QDCOUNT (usually 1) entries, each of the following format:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / QNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QTYPE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QCLASS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+QNAME a domain name represented as a sequence of labels, where
+ each label consists of a length octet followed by that
+ number of octets. The domain name terminates with the
+ zero length octet for the null label of the root. Note
+ that this field may be an odd number of octets; no
+ padding is used.
+
+QTYPE a two octet code which specifies the type of the query.
+ The values for this field include all codes valid for a
+ TYPE field, together with some more general codes which
+ can match more than one type of RR.
+
+
+
+Mockapetris [Page 28]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+QCLASS a two octet code that specifies the class of the query.
+ For example, the QCLASS field is IN for the Internet.
+
+4.1.3. Resource record format
+
+The answer, authority, and additional sections all share the same
+format: a variable number of resource records, where the number of
+records is specified in the corresponding count field in the header.
+Each resource record has the following format:
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / /
+ / NAME /
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TYPE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | CLASS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TTL |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RDLENGTH |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
+ / RDATA /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+where:
+
+NAME a domain name to which this resource record pertains.
+
+TYPE two octets containing one of the RR type codes. This
+ field specifies the meaning of the data in the RDATA
+ field.
+
+CLASS two octets which specify the class of the data in the
+ RDATA field.
+
+TTL a 32 bit unsigned integer that specifies the time
+ interval (in seconds) that the resource record may be
+ cached before it should be discarded. Zero values are
+ interpreted to mean that the RR can only be used for the
+ transaction in progress, and should not be cached.
+
+
+
+
+
+Mockapetris [Page 29]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+RDLENGTH an unsigned 16 bit integer that specifies the length in
+ octets of the RDATA field.
+
+RDATA a variable length string of octets that describes the
+ resource. The format of this information varies
+ according to the TYPE and CLASS of the resource record.
+ For example, the if the TYPE is A and the CLASS is IN,
+ the RDATA field is a 4 octet ARPA Internet address.
+
+4.1.4. Message compression
+
+In order to reduce the size of messages, the domain system utilizes a
+compression scheme which eliminates the repetition of domain names in a
+message. In this scheme, an entire domain name or a list of labels at
+the end of a domain name is replaced with a pointer to a prior occurance
+of the same name.
+
+The pointer takes the form of a two octet sequence:
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | 1 1| OFFSET |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+The first two bits are ones. This allows a pointer to be distinguished
+from a label, since the label must begin with two zero bits because
+labels are restricted to 63 octets or less. (The 10 and 01 combinations
+are reserved for future use.) The OFFSET field specifies an offset from
+the start of the message (i.e., the first octet of the ID field in the
+domain header). A zero offset specifies the first byte of the ID field,
+etc.
+
+The compression scheme allows a domain name in a message to be
+represented as either:
+
+ - a sequence of labels ending in a zero octet
+
+ - a pointer
+
+ - a sequence of labels ending with a pointer
+
+Pointers can only be used for occurances of a domain name where the
+format is not class specific. If this were not the case, a name server
+or resolver would be required to know the format of all RRs it handled.
+As yet, there are no such cases, but they may occur in future RDATA
+formats.
+
+If a domain name is contained in a part of the message subject to a
+length field (such as the RDATA section of an RR), and compression is
+
+
+
+Mockapetris [Page 30]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+used, the length of the compressed name is used in the length
+calculation, rather than the length of the expanded name.
+
+Programs are free to avoid using pointers in messages they generate,
+although this will reduce datagram capacity, and may cause truncation.
+However all programs are required to understand arriving messages that
+contain pointers.
+
+For example, a datagram might need to use the domain names F.ISI.ARPA,
+FOO.F.ISI.ARPA, ARPA, and the root. Ignoring the other fields of the
+message, these domain names might be represented as:
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 20 | 1 | F |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 22 | 3 | I |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 24 | S | I |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 26 | 4 | A |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 28 | R | P |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 30 | A | 0 |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 40 | 3 | F |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 42 | O | O |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 44 | 1 1| 20 |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 64 | 1 1| 26 |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 92 | 0 | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+The domain name for F.ISI.ARPA is shown at offset 20. The domain name
+FOO.F.ISI.ARPA is shown at offset 40; this definition uses a pointer to
+concatenate a label for FOO to the previously defined F.ISI.ARPA. The
+domain name ARPA is defined at offset 64 using a pointer to the ARPA
+component of the name F.ISI.ARPA at 20; note that this pointer relies on
+ARPA being the last label in the string at 20. The root domain name is
+
+
+
+Mockapetris [Page 31]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+defined by a single octet of zeros at 92; the root domain name has no
+labels.
+
+4.2. Transport
+
+The DNS assumes that messages will be transmitted as datagrams or in a
+byte stream carried by a virtual circuit. While virtual circuits can be
+used for any DNS activity, datagrams are preferred for queries due to
+their lower overhead and better performance. Zone refresh activities
+must use virtual circuits because of the need for reliable transfer.
+
+The Internet supports name server access using TCP [RFC-793] on server
+port 53 (decimal) as well as datagram access using UDP [RFC-768] on UDP
+port 53 (decimal).
+
+4.2.1. UDP usage
+
+Messages sent using UDP user server port 53 (decimal).
+
+Messages carried by UDP are restricted to 512 bytes (not counting the IP
+or UDP headers). Longer messages are truncated and the TC bit is set in
+the header.
+
+UDP is not acceptable for zone transfers, but is the recommended method
+for standard queries in the Internet. Queries sent using UDP may be
+lost, and hence a retransmission strategy is required. Queries or their
+responses may be reordered by the network, or by processing in name
+servers, so resolvers should not depend on them being returned in order.
+
+The optimal UDP retransmission policy will vary with performance of the
+Internet and the needs of the client, but the following are recommended:
+
+ - The client should try other servers and server addresses
+ before repeating a query to a specific address of a server.
+
+ - The retransmission interval should be based on prior
+ statistics if possible. Too aggressive retransmission can
+ easily slow responses for the community at large. Depending
+ on how well connected the client is to its expected servers,
+ the minimum retransmission interval should be 2-5 seconds.
+
+More suggestions on server selection and retransmission policy can be
+found in the resolver section of this memo.
+
+4.2.2. TCP usage
+
+Messages sent over TCP connections use server port 53 (decimal). The
+message is prefixed with a two byte length field which gives the message
+
+
+
+Mockapetris [Page 32]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+length, excluding the two byte length field. This length field allows
+the low-level processing to assemble a complete message before beginning
+to parse it.
+
+Several connection management policies are recommended:
+
+ - The server should not block other activities waiting for TCP
+ data.
+
+ - The server should support multiple connections.
+
+ - The server should assume that the client will initiate
+ connection closing, and should delay closing its end of the
+ connection until all outstanding client requests have been
+ satisfied.
+
+ - If the server needs to close a dormant connection to reclaim
+ resources, it should wait until the connection has been idle
+ for a period on the order of two minutes. In particular, the
+ server should allow the SOA and AXFR request sequence (which
+ begins a refresh operation) to be made on a single connection.
+ Since the server would be unable to answer queries anyway, a
+ unilateral close or reset may be used instead of a graceful
+ close.
+
+5. MASTER FILES
+
+Master files are text files that contain RRs in text form. Since the
+contents of a zone can be expressed in the form of a list of RRs a
+master file is most often used to define a zone, though it can be used
+to list a cache's contents. Hence, this section first discusses the
+format of RRs in a master file, and then the special considerations when
+a master file is used to create a zone in some name server.
+
+5.1. Format
+
+The format of these files is a sequence of entries. Entries are
+predominantly line-oriented, though parentheses can be used to continue
+a list of items across a line boundary, and text literals can contain
+CRLF within the text. Any combination of tabs and spaces act as a
+delimiter between the separate items that make up an entry. The end of
+any line in the master file can end with a comment. The comment starts
+with a ";" (semicolon).
+
+The following entries are defined:
+
+ <blank>[<comment>]
+
+
+
+
+Mockapetris [Page 33]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ $ORIGIN <domain-name> [<comment>]
+
+ $INCLUDE <file-name> [<domain-name>] [<comment>]
+
+ <domain-name><rr> [<comment>]
+
+ <blank><rr> [<comment>]
+
+Blank lines, with or without comments, are allowed anywhere in the file.
+
+Two control entries are defined: $ORIGIN and $INCLUDE. $ORIGIN is
+followed by a domain name, and resets the current origin for relative
+domain names to the stated name. $INCLUDE inserts the named file into
+the current file, and may optionally specify a domain name that sets the
+relative domain name origin for the included file. $INCLUDE may also
+have a comment. Note that a $INCLUDE entry never changes the relative
+origin of the parent file, regardless of changes to the relative origin
+made within the included file.
+
+The last two forms represent RRs. If an entry for an RR begins with a
+blank, then the RR is assumed to be owned by the last stated owner. If
+an RR entry begins with a <domain-name>, then the owner name is reset.
+
+<rr> contents take one of the following forms:
+
+ [<TTL>] [<class>] <type> <RDATA>
+
+ [<class>] [<TTL>] <type> <RDATA>
+
+The RR begins with optional TTL and class fields, followed by a type and
+RDATA field appropriate to the type and class. Class and type use the
+standard mnemonics, TTL is a decimal integer. Omitted class and TTL
+values are default to the last explicitly stated values. Since type and
+class mnemonics are disjoint, the parse is unique. (Note that this
+order is different from the order used in examples and the order used in
+the actual RRs; the given order allows easier parsing and defaulting.)
+
+<domain-name>s make up a large share of the data in the master file.
+The labels in the domain name are expressed as character strings and
+separated by dots. Quoting conventions allow arbitrary characters to be
+stored in domain names. Domain names that end in a dot are called
+absolute, and are taken as complete. Domain names which do not end in a
+dot are called relative; the actual domain name is the concatenation of
+the relative part with an origin specified in a $ORIGIN, $INCLUDE, or as
+an argument to the master file loading routine. A relative name is an
+error when no origin is available.
+
+
+
+
+
+Mockapetris [Page 34]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+<character-string> is expressed in one or two ways: as a contiguous set
+of characters without interior spaces, or as a string beginning with a "
+and ending with a ". Inside a " delimited string any character can
+occur, except for a " itself, which must be quoted using \ (back slash).
+
+Because these files are text files several special encodings are
+necessary to allow arbitrary data to be loaded. In particular:
+
+ of the root.
+
+@ A free standing @ is used to denote the current origin.
+
+\X where X is any character other than a digit (0-9), is
+ used to quote that character so that its special meaning
+ does not apply. For example, "\." can be used to place
+ a dot character in a label.
+
+\DDD where each D is a digit is the octet corresponding to
+ the decimal number described by DDD. The resulting
+ octet is assumed to be text and is not checked for
+ special meaning.
+
+( ) Parentheses are used to group data that crosses a line
+ boundary. In effect, line terminations are not
+ recognized within parentheses.
+
+; Semicolon is used to start a comment; the remainder of
+ the line is ignored.
+
+5.2. Use of master files to define zones
+
+When a master file is used to load a zone, the operation should be
+suppressed if any errors are encountered in the master file. The
+rationale for this is that a single error can have widespread
+consequences. For example, suppose that the RRs defining a delegation
+have syntax errors; then the server will return authoritative name
+errors for all names in the subzone (except in the case where the
+subzone is also present on the server).
+
+Several other validity checks that should be performed in addition to
+insuring that the file is syntactically correct:
+
+ 1. All RRs in the file should have the same class.
+
+ 2. Exactly one SOA RR should be present at the top of the zone.
+
+ 3. If delegations are present and glue information is required,
+ it should be present.
+
+
+
+Mockapetris [Page 35]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ 4. Information present outside of the authoritative nodes in the
+ zone should be glue information, rather than the result of an
+ origin or similar error.
+
+5.3. Master file example
+
+The following is an example file which might be used to define the
+ISI.EDU zone.and is loaded with an origin of ISI.EDU:
+
+@ IN SOA VENERA Action\.domains (
+ 20 ; SERIAL
+ 7200 ; REFRESH
+ 600 ; RETRY
+ 3600000; EXPIRE
+ 60) ; MINIMUM
+
+ NS A.ISI.EDU.
+ NS VENERA
+ NS VAXA
+ MX 10 VENERA
+ MX 20 VAXA
+
+A A 26.3.0.103
+
+VENERA A 10.1.0.52
+ A 128.9.0.32
+
+VAXA A 10.2.0.27
+ A 128.9.0.33
+
+
+$INCLUDE <SUBSYS>ISI-MAILBOXES.TXT
+
+Where the file <SUBSYS>ISI-MAILBOXES.TXT is:
+
+ MOE MB A.ISI.EDU.
+ LARRY MB A.ISI.EDU.
+ CURLEY MB A.ISI.EDU.
+ STOOGES MG MOE
+ MG LARRY
+ MG CURLEY
+
+Note the use of the \ character in the SOA RR to specify the responsible
+person mailbox "Action.domains@E.ISI.EDU".
+
+
+
+
+
+
+
+Mockapetris [Page 36]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+6. NAME SERVER IMPLEMENTATION
+
+6.1. Architecture
+
+The optimal structure for the name server will depend on the host
+operating system and whether the name server is integrated with resolver
+operations, either by supporting recursive service, or by sharing its
+database with a resolver. This section discusses implementation
+considerations for a name server which shares a database with a
+resolver, but most of these concerns are present in any name server.
+
+6.1.1. Control
+
+A name server must employ multiple concurrent activities, whether they
+are implemented as separate tasks in the host's OS or multiplexing
+inside a single name server program. It is simply not acceptable for a
+name server to block the service of UDP requests while it waits for TCP
+data for refreshing or query activities. Similarly, a name server
+should not attempt to provide recursive service without processing such
+requests in parallel, though it may choose to serialize requests from a
+single client, or to regard identical requests from the same client as
+duplicates. A name server should not substantially delay requests while
+it reloads a zone from master files or while it incorporates a newly
+refreshed zone into its database.
+
+6.1.2. Database
+
+While name server implementations are free to use any internal data
+structures they choose, the suggested structure consists of three major
+parts:
+
+ - A "catalog" data structure which lists the zones available to
+ this server, and a "pointer" to the zone data structure. The
+ main purpose of this structure is to find the nearest ancestor
+ zone, if any, for arriving standard queries.
+
+ - Separate data structures for each of the zones held by the
+ name server.
+
+ - A data structure for cached data. (or perhaps separate caches
+ for different classes)
+
+All of these data structures can be implemented an identical tree
+structure format, with different data chained off the nodes in different
+parts: in the catalog the data is pointers to zones, while in the zone
+and cache data structures, the data will be RRs. In designing the tree
+framework the designer should recognize that query processing will need
+to traverse the tree using case-insensitive label comparisons; and that
+
+
+
+Mockapetris [Page 37]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+in real data, a few nodes have a very high branching factor (100-1000 or
+more), but the vast majority have a very low branching factor (0-1).
+
+One way to solve the case problem is to store the labels for each node
+in two pieces: a standardized-case representation of the label where all
+ASCII characters are in a single case, together with a bit mask that
+denotes which characters are actually of a different case. The
+branching factor diversity can be handled using a simple linked list for
+a node until the branching factor exceeds some threshold, and
+transitioning to a hash structure after the threshold is exceeded. In
+any case, hash structures used to store tree sections must insure that
+hash functions and procedures preserve the casing conventions of the
+DNS.
+
+The use of separate structures for the different parts of the database
+is motivated by several factors:
+
+ - The catalog structure can be an almost static structure that
+ need change only when the system administrator changes the
+ zones supported by the server. This structure can also be
+ used to store parameters used to control refreshing
+ activities.
+
+ - The individual data structures for zones allow a zone to be
+ replaced simply by changing a pointer in the catalog. Zone
+ refresh operations can build a new structure and, when
+ complete, splice it into the database via a simple pointer
+ replacement. It is very important that when a zone is
+ refreshed, queries should not use old and new data
+ simultaneously.
+
+ - With the proper search procedures, authoritative data in zones
+ will always "hide", and hence take precedence over, cached
+ data.
+
+ - Errors in zone definitions that cause overlapping zones, etc.,
+ may cause erroneous responses to queries, but problem
+ determination is simplified, and the contents of one "bad"
+ zone can't corrupt another.
+
+ - Since the cache is most frequently updated, it is most
+ vulnerable to corruption during system restarts. It can also
+ become full of expired RR data. In either case, it can easily
+ be discarded without disturbing zone data.
+
+A major aspect of database design is selecting a structure which allows
+the name server to deal with crashes of the name server's host. State
+information which a name server should save across system crashes
+
+
+
+Mockapetris [Page 38]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+includes the catalog structure (including the state of refreshing for
+each zone) and the zone data itself.
+
+6.1.3. Time
+
+Both the TTL data for RRs and the timing data for refreshing activities
+depends on 32 bit timers in units of seconds. Inside the database,
+refresh timers and TTLs for cached data conceptually "count down", while
+data in the zone stays with constant TTLs.
+
+A recommended implementation strategy is to store time in two ways: as
+a relative increment and as an absolute time. One way to do this is to
+use positive 32 bit numbers for one type and negative numbers for the
+other. The RRs in zones use relative times; the refresh timers and
+cache data use absolute times. Absolute numbers are taken with respect
+to some known origin and converted to relative values when placed in the
+response to a query. When an absolute TTL is negative after conversion
+to relative, then the data is expired and should be ignored.
+
+6.2. Standard query processing
+
+The major algorithm for standard query processing is presented in
+[RFC-1034].
+
+When processing queries with QCLASS=*, or some other QCLASS which
+matches multiple classes, the response should never be authoritative
+unless the server can guarantee that the response covers all classes.
+
+When composing a response, RRs which are to be inserted in the
+additional section, but duplicate RRs in the answer or authority
+sections, may be omitted from the additional section.
+
+When a response is so long that truncation is required, the truncation
+should start at the end of the response and work forward in the
+datagram. Thus if there is any data for the authority section, the
+answer section is guaranteed to be unique.
+
+The MINIMUM value in the SOA should be used to set a floor on the TTL of
+data distributed from a zone. This floor function should be done when
+the data is copied into a response. This will allow future dynamic
+update protocols to change the SOA MINIMUM field without ambiguous
+semantics.
+
+6.3. Zone refresh and reload processing
+
+In spite of a server's best efforts, it may be unable to load zone data
+from a master file due to syntax errors, etc., or be unable to refresh a
+zone within the its expiration parameter. In this case, the name server
+
+
+
+Mockapetris [Page 39]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+should answer queries as if it were not supposed to possess the zone.
+
+If a master is sending a zone out via AXFR, and a new version is created
+during the transfer, the master should continue to send the old version
+if possible. In any case, it should never send part of one version and
+part of another. If completion is not possible, the master should reset
+the connection on which the zone transfer is taking place.
+
+6.4. Inverse queries (Optional)
+
+Inverse queries are an optional part of the DNS. Name servers are not
+required to support any form of inverse queries. If a name server
+receives an inverse query that it does not support, it returns an error
+response with the "Not Implemented" error set in the header. While
+inverse query support is optional, all name servers must be at least
+able to return the error response.
+
+6.4.1. The contents of inverse queries and responses Inverse
+queries reverse the mappings performed by standard query operations;
+while a standard query maps a domain name to a resource, an inverse
+query maps a resource to a domain name. For example, a standard query
+might bind a domain name to a host address; the corresponding inverse
+query binds the host address to a domain name.
+
+Inverse queries take the form of a single RR in the answer section of
+the message, with an empty question section. The owner name of the
+query RR and its TTL are not significant. The response carries
+questions in the question section which identify all names possessing
+the query RR WHICH THE NAME SERVER KNOWS. Since no name server knows
+about all of the domain name space, the response can never be assumed to
+be complete. Thus inverse queries are primarily useful for database
+management and debugging activities. Inverse queries are NOT an
+acceptable method of mapping host addresses to host names; use the IN-
+ADDR.ARPA domain instead.
+
+Where possible, name servers should provide case-insensitive comparisons
+for inverse queries. Thus an inverse query asking for an MX RR of
+"Venera.isi.edu" should get the same response as a query for
+"VENERA.ISI.EDU"; an inverse query for HINFO RR "IBM-PC UNIX" should
+produce the same result as an inverse query for "IBM-pc unix". However,
+this cannot be guaranteed because name servers may possess RRs that
+contain character strings but the name server does not know that the
+data is character.
+
+When a name server processes an inverse query, it either returns:
+
+ 1. zero, one, or multiple domain names for the specified
+ resource as QNAMEs in the question section
+
+
+
+Mockapetris [Page 40]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ 2. an error code indicating that the name server doesn't support
+ inverse mapping of the specified resource type.
+
+When the response to an inverse query contains one or more QNAMEs, the
+owner name and TTL of the RR in the answer section which defines the
+inverse query is modified to exactly match an RR found at the first
+QNAME.
+
+RRs returned in the inverse queries cannot be cached using the same
+mechanism as is used for the replies to standard queries. One reason
+for this is that a name might have multiple RRs of the same type, and
+only one would appear. For example, an inverse query for a single
+address of a multiply homed host might create the impression that only
+one address existed.
+
+6.4.2. Inverse query and response example The overall structure
+of an inverse query for retrieving the domain name that corresponds to
+Internet address 10.1.0.52 is shown below:
+
+ +-----------------------------------------+
+ Header | OPCODE=IQUERY, ID=997 |
+ +-----------------------------------------+
+ Question | <empty> |
+ +-----------------------------------------+
+ Answer | <anyname> A IN 10.1.0.52 |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | <empty> |
+ +-----------------------------------------+
+
+This query asks for a question whose answer is the Internet style
+address 10.1.0.52. Since the owner name is not known, any domain name
+can be used as a placeholder (and is ignored). A single octet of zero,
+signifying the root, is usually used because it minimizes the length of
+the message. The TTL of the RR is not significant. The response to
+this query might be:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 41]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ +-----------------------------------------+
+ Header | OPCODE=RESPONSE, ID=997 |
+ +-----------------------------------------+
+ Question |QTYPE=A, QCLASS=IN, QNAME=VENERA.ISI.EDU |
+ +-----------------------------------------+
+ Answer | VENERA.ISI.EDU A IN 10.1.0.52 |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | <empty> |
+ +-----------------------------------------+
+
+Note that the QTYPE in a response to an inverse query is the same as the
+TYPE field in the answer section of the inverse query. Responses to
+inverse queries may contain multiple questions when the inverse is not
+unique. If the question section in the response is not empty, then the
+RR in the answer section is modified to correspond to be an exact copy
+of an RR at the first QNAME.
+
+6.4.3. Inverse query processing
+
+Name servers that support inverse queries can support these operations
+through exhaustive searches of their databases, but this becomes
+impractical as the size of the database increases. An alternative
+approach is to invert the database according to the search key.
+
+For name servers that support multiple zones and a large amount of data,
+the recommended approach is separate inversions for each zone. When a
+particular zone is changed during a refresh, only its inversions need to
+be redone.
+
+Support for transfer of this type of inversion may be included in future
+versions of the domain system, but is not supported in this version.
+
+6.5. Completion queries and responses
+
+The optional completion services described in RFC-882 and RFC-883 have
+been deleted. Redesigned services may become available in the future.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 42]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+7. RESOLVER IMPLEMENTATION
+
+The top levels of the recommended resolver algorithm are discussed in
+[RFC-1034]. This section discusses implementation details assuming the
+database structure suggested in the name server implementation section
+of this memo.
+
+7.1. Transforming a user request into a query
+
+The first step a resolver takes is to transform the client's request,
+stated in a format suitable to the local OS, into a search specification
+for RRs at a specific name which match a specific QTYPE and QCLASS.
+Where possible, the QTYPE and QCLASS should correspond to a single type
+and a single class, because this makes the use of cached data much
+simpler. The reason for this is that the presence of data of one type
+in a cache doesn't confirm the existence or non-existence of data of
+other types, hence the only way to be sure is to consult an
+authoritative source. If QCLASS=* is used, then authoritative answers
+won't be available.
+
+Since a resolver must be able to multiplex multiple requests if it is to
+perform its function efficiently, each pending request is usually
+represented in some block of state information. This state block will
+typically contain:
+
+ - A timestamp indicating the time the request began.
+ The timestamp is used to decide whether RRs in the database
+ can be used or are out of date. This timestamp uses the
+ absolute time format previously discussed for RR storage in
+ zones and caches. Note that when an RRs TTL indicates a
+ relative time, the RR must be timely, since it is part of a
+ zone. When the RR has an absolute time, it is part of a
+ cache, and the TTL of the RR is compared against the timestamp
+ for the start of the request.
+
+ Note that using the timestamp is superior to using a current
+ time, since it allows RRs with TTLs of zero to be entered in
+ the cache in the usual manner, but still used by the current
+ request, even after intervals of many seconds due to system
+ load, query retransmission timeouts, etc.
+
+ - Some sort of parameters to limit the amount of work which will
+ be performed for this request.
+
+ The amount of work which a resolver will do in response to a
+ client request must be limited to guard against errors in the
+ database, such as circular CNAME references, and operational
+ problems, such as network partition which prevents the
+
+
+
+Mockapetris [Page 43]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ resolver from accessing the name servers it needs. While
+ local limits on the number of times a resolver will retransmit
+ a particular query to a particular name server address are
+ essential, the resolver should have a global per-request
+ counter to limit work on a single request. The counter should
+ be set to some initial value and decremented whenever the
+ resolver performs any action (retransmission timeout,
+ retransmission, etc.) If the counter passes zero, the request
+ is terminated with a temporary error.
+
+ Note that if the resolver structure allows one request to
+ start others in parallel, such as when the need to access a
+ name server for one request causes a parallel resolve for the
+ name server's addresses, the spawned request should be started
+ with a lower counter. This prevents circular references in
+ the database from starting a chain reaction of resolver
+ activity.
+
+ - The SLIST data structure discussed in [RFC-1034].
+
+ This structure keeps track of the state of a request if it
+ must wait for answers from foreign name servers.
+
+7.2. Sending the queries
+
+As described in [RFC-1034], the basic task of the resolver is to
+formulate a query which will answer the client's request and direct that
+query to name servers which can provide the information. The resolver
+will usually only have very strong hints about which servers to ask, in
+the form of NS RRs, and may have to revise the query, in response to
+CNAMEs, or revise the set of name servers the resolver is asking, in
+response to delegation responses which point the resolver to name
+servers closer to the desired information. In addition to the
+information requested by the client, the resolver may have to call upon
+its own services to determine the address of name servers it wishes to
+contact.
+
+In any case, the model used in this memo assumes that the resolver is
+multiplexing attention between multiple requests, some from the client,
+and some internally generated. Each request is represented by some
+state information, and the desired behavior is that the resolver
+transmit queries to name servers in a way that maximizes the probability
+that the request is answered, minimizes the time that the request takes,
+and avoids excessive transmissions. The key algorithm uses the state
+information of the request to select the next name server address to
+query, and also computes a timeout which will cause the next action
+should a response not arrive. The next action will usually be a
+transmission to some other server, but may be a temporary error to the
+
+
+
+Mockapetris [Page 44]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+client.
+
+The resolver always starts with a list of server names to query (SLIST).
+This list will be all NS RRs which correspond to the nearest ancestor
+zone that the resolver knows about. To avoid startup problems, the
+resolver should have a set of default servers which it will ask should
+it have no current NS RRs which are appropriate. The resolver then adds
+to SLIST all of the known addresses for the name servers, and may start
+parallel requests to acquire the addresses of the servers when the
+resolver has the name, but no addresses, for the name servers.
+
+To complete initialization of SLIST, the resolver attaches whatever
+history information it has to the each address in SLIST. This will
+usually consist of some sort of weighted averages for the response time
+of the address, and the batting average of the address (i.e., how often
+the address responded at all to the request). Note that this
+information should be kept on a per address basis, rather than on a per
+name server basis, because the response time and batting average of a
+particular server may vary considerably from address to address. Note
+also that this information is actually specific to a resolver address /
+server address pair, so a resolver with multiple addresses may wish to
+keep separate histories for each of its addresses. Part of this step
+must deal with addresses which have no such history; in this case an
+expected round trip time of 5-10 seconds should be the worst case, with
+lower estimates for the same local network, etc.
+
+Note that whenever a delegation is followed, the resolver algorithm
+reinitializes SLIST.
+
+The information establishes a partial ranking of the available name
+server addresses. Each time an address is chosen and the state should
+be altered to prevent its selection again until all other addresses have
+been tried. The timeout for each transmission should be 50-100% greater
+than the average predicted value to allow for variance in response.
+
+Some fine points:
+
+ - The resolver may encounter a situation where no addresses are
+ available for any of the name servers named in SLIST, and
+ where the servers in the list are precisely those which would
+ normally be used to look up their own addresses. This
+ situation typically occurs when the glue address RRs have a
+ smaller TTL than the NS RRs marking delegation, or when the
+ resolver caches the result of a NS search. The resolver
+ should detect this condition and restart the search at the
+ next ancestor zone, or alternatively at the root.
+
+
+
+
+
+Mockapetris [Page 45]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ - If a resolver gets a server error or other bizarre response
+ from a name server, it should remove it from SLIST, and may
+ wish to schedule an immediate transmission to the next
+ candidate server address.
+
+7.3. Processing responses
+
+The first step in processing arriving response datagrams is to parse the
+response. This procedure should include:
+
+ - Check the header for reasonableness. Discard datagrams which
+ are queries when responses are expected.
+
+ - Parse the sections of the message, and insure that all RRs are
+ correctly formatted.
+
+ - As an optional step, check the TTLs of arriving data looking
+ for RRs with excessively long TTLs. If a RR has an
+ excessively long TTL, say greater than 1 week, either discard
+ the whole response, or limit all TTLs in the response to 1
+ week.
+
+The next step is to match the response to a current resolver request.
+The recommended strategy is to do a preliminary matching using the ID
+field in the domain header, and then to verify that the question section
+corresponds to the information currently desired. This requires that
+the transmission algorithm devote several bits of the domain ID field to
+a request identifier of some sort. This step has several fine points:
+
+ - Some name servers send their responses from different
+ addresses than the one used to receive the query. That is, a
+ resolver cannot rely that a response will come from the same
+ address which it sent the corresponding query to. This name
+ server bug is typically encountered in UNIX systems.
+
+ - If the resolver retransmits a particular request to a name
+ server it should be able to use a response from any of the
+ transmissions. However, if it is using the response to sample
+ the round trip time to access the name server, it must be able
+ to determine which transmission matches the response (and keep
+ transmission times for each outgoing message), or only
+ calculate round trip times based on initial transmissions.
+
+ - A name server will occasionally not have a current copy of a
+ zone which it should have according to some NS RRs. The
+ resolver should simply remove the name server from the current
+ SLIST, and continue.
+
+
+
+
+Mockapetris [Page 46]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+7.4. Using the cache
+
+In general, we expect a resolver to cache all data which it receives in
+responses since it may be useful in answering future client requests.
+However, there are several types of data which should not be cached:
+
+ - When several RRs of the same type are available for a
+ particular owner name, the resolver should either cache them
+ all or none at all. When a response is truncated, and a
+ resolver doesn't know whether it has a complete set, it should
+ not cache a possibly partial set of RRs.
+
+ - Cached data should never be used in preference to
+ authoritative data, so if caching would cause this to happen
+ the data should not be cached.
+
+ - The results of an inverse query should not be cached.
+
+ - The results of standard queries where the QNAME contains "*"
+ labels if the data might be used to construct wildcards. The
+ reason is that the cache does not necessarily contain existing
+ RRs or zone boundary information which is necessary to
+ restrict the application of the wildcard RRs.
+
+ - RR data in responses of dubious reliability. When a resolver
+ receives unsolicited responses or RR data other than that
+ requested, it should discard it without caching it. The basic
+ implication is that all sanity checks on a packet should be
+ performed before any of it is cached.
+
+In a similar vein, when a resolver has a set of RRs for some name in a
+response, and wants to cache the RRs, it should check its cache for
+already existing RRs. Depending on the circumstances, either the data
+in the response or the cache is preferred, but the two should never be
+combined. If the data in the response is from authoritative data in the
+answer section, it is always preferred.
+
+8. MAIL SUPPORT
+
+The domain system defines a standard for mapping mailboxes into domain
+names, and two methods for using the mailbox information to derive mail
+routing information. The first method is called mail exchange binding
+and the other method is mailbox binding. The mailbox encoding standard
+and mail exchange binding are part of the DNS official protocol, and are
+the recommended method for mail routing in the Internet. Mailbox
+binding is an experimental feature which is still under development and
+subject to change.
+
+
+
+
+Mockapetris [Page 47]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+The mailbox encoding standard assumes a mailbox name of the form
+"<local-part>@<mail-domain>". While the syntax allowed in each of these
+sections varies substantially between the various mail internets, the
+preferred syntax for the ARPA Internet is given in [RFC-822].
+
+The DNS encodes the <local-part> as a single label, and encodes the
+<mail-domain> as a domain name. The single label from the <local-part>
+is prefaced to the domain name from <mail-domain> to form the domain
+name corresponding to the mailbox. Thus the mailbox HOSTMASTER@SRI-
+NIC.ARPA is mapped into the domain name HOSTMASTER.SRI-NIC.ARPA. If the
+<local-part> contains dots or other special characters, its
+representation in a master file will require the use of backslash
+quoting to ensure that the domain name is properly encoded. For
+example, the mailbox Action.domains@ISI.EDU would be represented as
+Action\.domains.ISI.EDU.
+
+8.1. Mail exchange binding
+
+Mail exchange binding uses the <mail-domain> part of a mailbox
+specification to determine where mail should be sent. The <local-part>
+is not even consulted. [RFC-974] specifies this method in detail, and
+should be consulted before attempting to use mail exchange support.
+
+One of the advantages of this method is that it decouples mail
+destination naming from the hosts used to support mail service, at the
+cost of another layer of indirection in the lookup function. However,
+the addition layer should eliminate the need for complicated "%", "!",
+etc encodings in <local-part>.
+
+The essence of the method is that the <mail-domain> is used as a domain
+name to locate type MX RRs which list hosts willing to accept mail for
+<mail-domain>, together with preference values which rank the hosts
+according to an order specified by the administrators for <mail-domain>.
+
+In this memo, the <mail-domain> ISI.EDU is used in examples, together
+with the hosts VENERA.ISI.EDU and VAXA.ISI.EDU as mail exchanges for
+ISI.EDU. If a mailer had a message for Mockapetris@ISI.EDU, it would
+route it by looking up MX RRs for ISI.EDU. The MX RRs at ISI.EDU name
+VENERA.ISI.EDU and VAXA.ISI.EDU, and type A queries can find the host
+addresses.
+
+8.2. Mailbox binding (Experimental)
+
+In mailbox binding, the mailer uses the entire mail destination
+specification to construct a domain name. The encoded domain name for
+the mailbox is used as the QNAME field in a QTYPE=MAILB query.
+
+Several outcomes are possible for this query:
+
+
+
+Mockapetris [Page 48]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ 1. The query can return a name error indicating that the mailbox
+ does not exist as a domain name.
+
+ In the long term, this would indicate that the specified
+ mailbox doesn't exist. However, until the use of mailbox
+ binding is universal, this error condition should be
+ interpreted to mean that the organization identified by the
+ global part does not support mailbox binding. The
+ appropriate procedure is to revert to exchange binding at
+ this point.
+
+ 2. The query can return a Mail Rename (MR) RR.
+
+ The MR RR carries new mailbox specification in its RDATA
+ field. The mailer should replace the old mailbox with the
+ new one and retry the operation.
+
+ 3. The query can return a MB RR.
+
+ The MB RR carries a domain name for a host in its RDATA
+ field. The mailer should deliver the message to that host
+ via whatever protocol is applicable, e.g., b,SMTP.
+
+ 4. The query can return one or more Mail Group (MG) RRs.
+
+ This condition means that the mailbox was actually a mailing
+ list or mail group, rather than a single mailbox. Each MG RR
+ has a RDATA field that identifies a mailbox that is a member
+ of the group. The mailer should deliver a copy of the
+ message to each member.
+
+ 5. The query can return a MB RR as well as one or more MG RRs.
+
+ This condition means the the mailbox was actually a mailing
+ list. The mailer can either deliver the message to the host
+ specified by the MB RR, which will in turn do the delivery to
+ all members, or the mailer can use the MG RRs to do the
+ expansion itself.
+
+In any of these cases, the response may include a Mail Information
+(MINFO) RR. This RR is usually associated with a mail group, but is
+legal with a MB. The MINFO RR identifies two mailboxes. One of these
+identifies a responsible person for the original mailbox name. This
+mailbox should be used for requests to be added to a mail group, etc.
+The second mailbox name in the MINFO RR identifies a mailbox that should
+receive error messages for mail failures. This is particularly
+appropriate for mailing lists when errors in member names should be
+reported to a person other than the one who sends a message to the list.
+
+
+
+Mockapetris [Page 49]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+New fields may be added to this RR in the future.
+
+
+9. REFERENCES and BIBLIOGRAPHY
+
+[Dyer 87] S. Dyer, F. Hsu, "Hesiod", Project Athena
+ Technical Plan - Name Service, April 1987, version 1.9.
+
+ Describes the fundamentals of the Hesiod name service.
+
+[IEN-116] J. Postel, "Internet Name Server", IEN-116,
+ USC/Information Sciences Institute, August 1979.
+
+ A name service obsoleted by the Domain Name System, but
+ still in use.
+
+[Quarterman 86] J. Quarterman, and J. Hoskins, "Notable Computer Networks",
+ Communications of the ACM, October 1986, volume 29, number
+ 10.
+
+[RFC-742] K. Harrenstien, "NAME/FINGER", RFC-742, Network
+ Information Center, SRI International, December 1977.
+
+[RFC-768] J. Postel, "User Datagram Protocol", RFC-768,
+ USC/Information Sciences Institute, August 1980.
+
+[RFC-793] J. Postel, "Transmission Control Protocol", RFC-793,
+ USC/Information Sciences Institute, September 1981.
+
+[RFC-799] D. Mills, "Internet Name Domains", RFC-799, COMSAT,
+ September 1981.
+
+ Suggests introduction of a hierarchy in place of a flat
+ name space for the Internet.
+
+[RFC-805] J. Postel, "Computer Mail Meeting Notes", RFC-805,
+ USC/Information Sciences Institute, February 1982.
+
+[RFC-810] E. Feinler, K. Harrenstien, Z. Su, and V. White, "DOD
+ Internet Host Table Specification", RFC-810, Network
+ Information Center, SRI International, March 1982.
+
+ Obsolete. See RFC-952.
+
+[RFC-811] K. Harrenstien, V. White, and E. Feinler, "Hostnames
+ Server", RFC-811, Network Information Center, SRI
+ International, March 1982.
+
+
+
+
+Mockapetris [Page 50]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ Obsolete. See RFC-953.
+
+[RFC-812] K. Harrenstien, and V. White, "NICNAME/WHOIS", RFC-812,
+ Network Information Center, SRI International, March
+ 1982.
+
+[RFC-819] Z. Su, and J. Postel, "The Domain Naming Convention for
+ Internet User Applications", RFC-819, Network
+ Information Center, SRI International, August 1982.
+
+ Early thoughts on the design of the domain system.
+ Current implementation is completely different.
+
+[RFC-821] J. Postel, "Simple Mail Transfer Protocol", RFC-821,
+ USC/Information Sciences Institute, August 1980.
+
+[RFC-830] Z. Su, "A Distributed System for Internet Name Service",
+ RFC-830, Network Information Center, SRI International,
+ October 1982.
+
+ Early thoughts on the design of the domain system.
+ Current implementation is completely different.
+
+[RFC-882] P. Mockapetris, "Domain names - Concepts and
+ Facilities," RFC-882, USC/Information Sciences
+ Institute, November 1983.
+
+ Superceeded by this memo.
+
+[RFC-883] P. Mockapetris, "Domain names - Implementation and
+ Specification," RFC-883, USC/Information Sciences
+ Institute, November 1983.
+
+ Superceeded by this memo.
+
+[RFC-920] J. Postel and J. Reynolds, "Domain Requirements",
+ RFC-920, USC/Information Sciences Institute,
+ October 1984.
+
+ Explains the naming scheme for top level domains.
+
+[RFC-952] K. Harrenstien, M. Stahl, E. Feinler, "DoD Internet Host
+ Table Specification", RFC-952, SRI, October 1985.
+
+ Specifies the format of HOSTS.TXT, the host/address
+ table replaced by the DNS.
+
+
+
+
+
+Mockapetris [Page 51]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+[RFC-953] K. Harrenstien, M. Stahl, E. Feinler, "HOSTNAME Server",
+ RFC-953, SRI, October 1985.
+
+ This RFC contains the official specification of the
+ hostname server protocol, which is obsoleted by the DNS.
+ This TCP based protocol accesses information stored in
+ the RFC-952 format, and is used to obtain copies of the
+ host table.
+
+[RFC-973] P. Mockapetris, "Domain System Changes and
+ Observations", RFC-973, USC/Information Sciences
+ Institute, January 1986.
+
+ Describes changes to RFC-882 and RFC-883 and reasons for
+ them.
+
+[RFC-974] C. Partridge, "Mail routing and the domain system",
+ RFC-974, CSNET CIC BBN Labs, January 1986.
+
+ Describes the transition from HOSTS.TXT based mail
+ addressing to the more powerful MX system used with the
+ domain system.
+
+[RFC-1001] NetBIOS Working Group, "Protocol standard for a NetBIOS
+ service on a TCP/UDP transport: Concepts and Methods",
+ RFC-1001, March 1987.
+
+ This RFC and RFC-1002 are a preliminary design for
+ NETBIOS on top of TCP/IP which proposes to base NetBIOS
+ name service on top of the DNS.
+
+[RFC-1002] NetBIOS Working Group, "Protocol standard for a NetBIOS
+ service on a TCP/UDP transport: Detailed
+ Specifications", RFC-1002, March 1987.
+
+[RFC-1010] J. Reynolds, and J. Postel, "Assigned Numbers", RFC-1010,
+ USC/Information Sciences Institute, May 1987.
+
+ Contains socket numbers and mnemonics for host names,
+ operating systems, etc.
+
+[RFC-1031] W. Lazear, "MILNET Name Domain Transition", RFC-1031,
+ November 1987.
+
+ Describes a plan for converting the MILNET to the DNS.
+
+[RFC-1032] M. Stahl, "Establishing a Domain - Guidelines for
+ Administrators", RFC-1032, November 1987.
+
+
+
+Mockapetris [Page 52]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ Describes the registration policies used by the NIC to
+ administer the top level domains and delegate subzones.
+
+[RFC-1033] M. Lottor, "Domain Administrators Operations Guide",
+ RFC-1033, November 1987.
+
+ A cookbook for domain administrators.
+
+[Solomon 82] M. Solomon, L. Landweber, and D. Neuhengen, "The CSNET
+ Name Server", Computer Networks, vol 6, nr 3, July 1982.
+
+ Describes a name service for CSNET which is independent
+ from the DNS and DNS use in the CSNET.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 53]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+Index
+
+ * 13
+
+ ; 33, 35
+
+ <character-string> 35
+ <domain-name> 34
+
+ @ 35
+
+ \ 35
+
+ A 12
+
+ Byte order 8
+
+ CH 13
+ Character case 9
+ CLASS 11
+ CNAME 12
+ Completion 42
+ CS 13
+
+ Hesiod 13
+ HINFO 12
+ HS 13
+
+ IN 13
+ IN-ADDR.ARPA domain 22
+ Inverse queries 40
+
+ Mailbox names 47
+ MB 12
+ MD 12
+ MF 12
+ MG 12
+ MINFO 12
+ MINIMUM 20
+ MR 12
+ MX 12
+
+ NS 12
+ NULL 12
+
+ Port numbers 32
+ Primary server 5
+ PTR 12, 18
+
+
+
+Mockapetris [Page 54]
+
+RFC 1035 Domain Implementation and Specification November 1987
+
+
+ QCLASS 13
+ QTYPE 12
+
+ RDATA 12
+ RDLENGTH 11
+
+ Secondary server 5
+ SOA 12
+ Stub resolvers 7
+
+ TCP 32
+ TXT 12
+ TYPE 11
+
+ UDP 32
+
+ WKS 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 55]
+
diff --git a/Documentation/en/rfc/rfc1101.txt b/Documentation/en/rfc/rfc1101.txt
new file mode 100644
index 00000000..66c9d8b8
--- /dev/null
+++ b/Documentation/en/rfc/rfc1101.txt
@@ -0,0 +1,787 @@
+
+
+
+
+
+
+Network Working Group P. Mockapetris
+Request for Comments: 1101 ISI
+Updates: RFCs 1034, 1035 April 1989
+
+
+ DNS Encoding of Network Names and Other Types
+
+
+1. STATUS OF THIS MEMO
+
+ This RFC proposes two extensions to the Domain Name System:
+
+ - A specific method for entering and retrieving RRs which map
+ between network names and numbers.
+
+ - Ideas for a general method for describing mappings between
+ arbitrary identifiers and numbers.
+
+ The method for mapping between network names and addresses is a
+ proposed standard, the ideas for a general method are experimental.
+
+ This RFC assumes that the reader is familiar with the DNS [RFC 1034,
+ RFC 1035] and its use. The data shown is for pedagogical use and
+ does not necessarily reflect the real Internet.
+
+ Distribution of this memo is unlimited.
+
+2. INTRODUCTION
+
+ The DNS is extensible and can be used for a virtually unlimited
+ number of data types, name spaces, etc. New type definitions are
+ occasionally necessary as are revisions or deletions of old types
+ (e.g., MX replacement of MD and MF [RFC 974]), and changes described
+ in [RFC 973]. This RFC describes changes due to the general need to
+ map between identifiers and values, and a specific need for network
+ name support.
+
+ Users wish to be able to use the DNS to map between network names and
+ numbers. This need is the only capability found in HOSTS.TXT which
+ is not available from the DNS. In designing a method to do this,
+ there were two major areas of concern:
+
+ - Several tradeoffs involving control of network names, the
+ syntax of network names, backward compatibility, etc.
+
+ - A desire to create a method which would be sufficiently
+ general to set a good precedent for future mappings,
+ for example, between TCP-port names and numbers,
+
+
+
+Mockapetris [Page 1]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ autonomous system names and numbers, X.500 Relative
+ Distinguished Names (RDNs) and their servers, or whatever.
+
+ It was impossible to reconcile these two areas of concern for network
+ names because of the desire to unify network number support within
+ existing IP address to host name support. The existing support is
+ the IN-ADDR.ARPA section of the DNS name space. As a result this RFC
+ describes one structure for network names which builds on the
+ existing support for host names, and another family of structures for
+ future yellow pages (YP) functions such as conversions between TCP-
+ port numbers and mnemonics.
+
+ Both structures are described in following sections. Each structure
+ has a discussion of design issues and specific structure
+ recommendations.
+
+ We wish to avoid defining structures and methods which can work but
+ do not because of indifference or errors on the part of system
+ administrators when maintaining the database. The WKS RR is an
+ example. Thus, while we favor distribution as a general method, we
+ also recognize that centrally maintained tables (such as HOSTS.TXT)
+ are usually more consistent though less maintainable and timely.
+ Hence we recommend both specific methods for mapping network names,
+ addresses, and subnets, as well as an instance of the general method
+ for mapping between allocated network numbers and network names.
+ (Allocation is centrally performed by the SRI Network Information
+ Center, aka the NIC).
+
+3. NETWORK NAME ISSUES AND DISCUSSION
+
+ The issues involved in the design were the definition of network name
+ syntax, the mappings to be provided, and possible support for similar
+ functions at the subnet level.
+
+3.1. Network name syntax
+
+ The current syntax for network names, as defined by [RFC 952] is an
+ alphanumeric string of up to 24 characters, which begins with an
+ alpha, and may include "." and "-" except as first and last
+ characters. This is the format which was also used for host names
+ before the DNS. Upward compatibility with existing names might be a
+ goal of any new scheme.
+
+ However, the present syntax has been used to define a flat name
+ space, and hence would prohibit the same distributed name allocation
+ method used for host names. There is some sentiment for allowing the
+ NIC to continue to allocate and regulate network names, much as it
+ allocates numbers, but the majority opinion favors local control of
+
+
+
+Mockapetris [Page 2]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ network names. Although it would be possible to provide a flat space
+ or a name space in which, for example, the last label of a domain
+ name captured the old-style network name, any such approach would add
+ complexity to the method and create different rules for network names
+ and host names.
+
+ For these reasons, we assume that the syntax of network names will be
+ the same as the expanded syntax for host names permitted in [HR].
+ The new syntax expands the set of names to allow leading digits, so
+ long as the resulting representations do not conflict with IP
+ addresses in decimal octet form. For example, 3Com.COM and 3M.COM
+ are now legal, although 26.0.0.73.COM is not. See [HR] for details.
+
+ The price is that network names will get as complicated as host
+ names. An administrator will be able to create network names in any
+ domain under his control, and also create network number to name
+ entries in IN-ADDR.ARPA domains under his control. Thus, the name
+ for the ARPANET might become NET.ARPA, ARPANET.ARPA or Arpa-
+ network.MIL., depending on the preferences of the owner.
+
+3.2. Mappings
+
+ The desired mappings, ranked by priority with most important first,
+ are:
+
+ - Mapping a IP address or network number to a network name.
+
+ This mapping is for use in debugging tools and status displays
+ of various sorts. The conversion from IP address to network
+ number is well known for class A, B, and C IP addresses, and
+ involves a simple mask operation. The needs of other classes
+ are not yet defined and are ignored for the rest of this RFC.
+
+ - Mapping a network name to a network address.
+
+ This facility is of less obvious application, but a
+ symmetrical mapping seems desirable.
+
+ - Mapping an organization to its network names and numbers.
+
+ This facility is useful because it may not always be possible
+ to guess the local choice for network names, but the
+ organization name is often well known.
+
+ - Similar mappings for subnets, even when nested.
+
+ The primary application is to be able to identify all of the
+ subnets involved in a particular IP address. A secondary
+
+
+
+Mockapetris [Page 3]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ requirement is to retrieve address mask information.
+
+3.3. Network address section of the name space
+
+ The network name syntax discussed above can provide domain names
+ which will contain mappings from network names to various quantities,
+ but we also need a section of the name space, organized by network
+ and subnet number to hold the inverse mappings.
+
+ The choices include:
+
+ - The same network number slots already assigned and delegated
+ in the IN-ADDR.ARPA section of the name space.
+
+ For example, 10.IN-ADDR.ARPA for class A net 10,
+ 2.128.IN-ADDR.ARPA for class B net 128.2, etc.
+
+ - Host-zero addresses in the IN-ADDR.ARPA tree. (A host field
+ of all zero in an IP address is prohibited because of
+ confusion related to broadcast addresses, et al.)
+
+ For example, 0.0.0.10.IN-ADDR.ARPA for class A net 10,
+ 0.0.2.128.IN-ADDR.arpa for class B net 128.2, etc. Like the
+ first scheme, it uses in-place name space delegations to
+ distribute control.
+
+ The main advantage of this scheme over the first is that it
+ allows convenient names for subnets as well as networks. A
+ secondary advantage is that it uses names which are not in use
+ already, and hence it is possible to test whether an
+ organization has entered this information in its domain
+ database.
+
+ - Some new section of the name space.
+
+ While this option provides the most opportunities, it creates
+ a need to delegate a whole new name space. Since the IP
+ address space is so closely related to the network number
+ space, most believe that the overhead of creating such a new
+ space is overwhelming and would lead to the WKS syndrome. (As
+ of February, 1989, approximately 400 sections of the
+ IN-ADDR.ARPA tree are already delegated, usually at network
+ boundaries.)
+
+
+
+
+
+
+
+
+Mockapetris [Page 4]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+4. SPECIFICS FOR NETWORK NAME MAPPINGS
+
+ The proposed solution uses information stored at:
+
+ - Names in the IN-ADDR.ARPA tree that correspond to host-zero IP
+ addresses. The same method is used for subnets in a nested
+ fashion. For example, 0.0.0.10.IN-ADDR.ARPA. for net 10.
+
+ Two types of information are stored here: PTR RRs which point
+ to the network name in their data sections, and A RRs, which
+ are present if the network (or subnet) is subnetted further.
+ If a type A RR is present, then it has the address mask as its
+ data. The general form is:
+
+ <reversed-host-zero-number>.IN-ADDR.ARPA. PTR <network-name>
+ <reversed-host-zero-number>.IN-ADDR.ARPA. A <subnet-mask>
+
+ For example:
+
+ 0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA.
+
+ or
+
+ 0.0.2.128.IN-ADDR.ARPA. PTR cmu-net.cmu.edu.
+ A 255.255.255.0
+
+ In general, this information will be added to an existing
+ master file for some IN-ADDR.ARPA domain for each network
+ involved. Similar RRs can be used at host-zero subnet
+ entries.
+
+ - Names which are network names.
+
+ The data stored here is PTR RRs pointing at the host-zero
+ entries. The general form is:
+
+ <network-name> ptr <reversed-host-zero-number>.IN-ADDR.ARPA
+
+ For example:
+
+ ARPANET.ARPA. PTR 0.0.0.10.IN-ADDR.ARPA.
+
+ or
+
+ isi-net.isi.edu. PTR 0.0.9.128.IN-ADDR.ARPA.
+
+ In general, this information will be inserted in the master
+ file for the domain name of the organization; this is a
+
+
+
+Mockapetris [Page 5]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ different file from that which holds the information below
+ IN-ADDR.ARPA. Similar PTR RRs can be used at subnet names.
+
+ - Names corresponding to organizations.
+
+ The data here is one or more PTR RRs pointing at the
+ IN-ADDR.ARPA names corresponding to host-zero entries for
+ networks.
+
+ For example:
+
+ ISI.EDU. PTR 0.0.9.128.IN-ADDR.ARPA.
+
+ MCC.COM. PTR 0.167.5.192.IN-ADDR.ARPA.
+ PTR 0.168.5.192.IN-ADDR.ARPA.
+ PTR 0.169.5.192.IN-ADDR.ARPA.
+ PTR 0.0.62.128.IN-ADDR.ARPA.
+
+4.1. A simple example
+
+ The ARPANET is a Class A network without subnets. The RRs which
+ would be added, assuming the ARPANET.ARPA was selected as a network
+ name, would be:
+
+ ARPA. PTR 0.0.0.10.IN-ADDR.ARPA.
+
+ ARPANET.ARPA. PTR 0.0.0.10.IN-ADDR.ARPA.
+
+ 0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA.
+
+ The first RR states that the organization named ARPA owns net 10 (It
+ might also own more network numbers, and these would be represented
+ with an additional RR per net.) The second states that the network
+ name ARPANET.ARPA. maps to net 10. The last states that net 10 is
+ named ARPANET.ARPA.
+
+ Note that all of the usual host and corresponding IN-ADDR.ARPA
+ entries would still be required.
+
+4.2. A complicated, subnetted example
+
+ The ISI network is 128.9, a class B number. Suppose the ISI network
+ was organized into two levels of subnet, with the first level using
+ an additional 8 bits of address, and the second level using 4 bits,
+ for address masks of x'FFFFFF00' and X'FFFFFFF0'.
+
+ Then the following RRs would be entered in ISI's master file for the
+ ISI.EDU zone:
+
+
+
+Mockapetris [Page 6]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ ; Define network entry
+ isi-net.isi.edu. PTR 0.0.9.128.IN-ADDR.ARPA.
+
+ ; Define first level subnets
+ div1-subnet.isi.edu. PTR 0.1.9.128.IN-ADDR.ARPA.
+ div2-subnet.isi.edu. PTR 0.2.9.128.IN-ADDR.ARPA.
+
+ ; Define second level subnets
+ inc-subsubnet.isi.edu. PTR 16.2.9.128.IN-ADDR.ARPA.
+
+ in the 9.128.IN-ADDR.ARPA zone:
+
+ ; Define network number and address mask
+ 0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu.
+ A 255.255.255.0 ;aka X'FFFFFF00'
+
+ ; Define one of the first level subnet numbers and masks
+ 0.1.9.128.IN-ADDR.ARPA. PTR div1-subnet.isi.edu.
+ A 255.255.255.240 ;aka X'FFFFFFF0'
+
+ ; Define another first level subnet number and mask
+ 0.2.9.128.IN-ADDR.ARPA. PTR div2-subnet.isi.edu.
+ A 255.255.255.240 ;aka X'FFFFFFF0'
+
+ ; Define second level subnet number
+ 16.2.9.128.IN-ADDR.ARPA. PTR inc-subsubnet.isi.edu.
+
+ This assumes that the ISI network is named isi-net.isi.edu., first
+ level subnets are named div1-subnet.isi.edu. and div2-
+ subnet.isi.edu., and a second level subnet is called inc-
+ subsubnet.isi.edu. (In a real system as complicated as this there
+ would be more first and second level subnets defined, but we have
+ shown enough to illustrate the ideas.)
+
+4.3. Procedure for using an IP address to get network name
+
+ Depending on whether the IP address is class A, B, or C, mask off the
+ high one, two, or three bytes, respectively. Reverse the octets,
+ suffix IN-ADDR.ARPA, and do a PTR query.
+
+ For example, suppose the IP address is 10.0.0.51.
+
+ 1. Since this is a class A address, use a mask x'FF000000' and
+ get 10.0.0.0.
+
+ 2. Construct the name 0.0.0.10.IN-ADDR.ARPA.
+
+ 3. Do a PTR query. Get back
+
+
+
+Mockapetris [Page 7]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ 0.0.0.10.IN-ADDR.ARPA. PTR ARPANET.ARPA.
+
+ 4. Conclude that the network name is "ARPANET.ARPA."
+
+ Suppose that the IP address is 128.9.2.17.
+
+ 1. Since this is a class B address, use a mask of x'FFFF0000'
+ and get 128.9.0.0.
+
+ 2. Construct the name 0.0.9.128.IN-ADDR.ARPA.
+
+ 3. Do a PTR query. Get back
+
+ 0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu
+
+ 4. Conclude that the network name is "isi-net.isi.edu."
+
+4.4. Procedure for finding all subnets involved with an IP address
+
+ This is a simple extension of the IP address to network name method.
+ When the network entry is located, do a lookup for a possible A RR.
+ If the A RR is found, look up the next level of subnet using the
+ original IP address and the mask in the A RR. Repeat this procedure
+ until no A RR is found.
+
+ For example, repeating the use of 128.9.2.17.
+
+ 1. As before construct a query for 0.0.9.128.IN-ADDR.ARPA.
+ Retrieve:
+
+ 0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu.
+ A 255.255.255.0
+
+ 2. Since an A RR was found, repeat using mask from RR
+ (255.255.255.0), constructing a query for
+ 0.2.9.128.IN-ADDR.ARPA. Retrieve:
+
+ 0.2.9.128.IN-ADDR.ARPA. PTR div2-subnet.isi.edu.
+ A 255.255.255.240
+
+ 3. Since another A RR was found, repeat using mask
+ 255.255.255.240 (x'FFFFFFF0'). constructing a query for
+ 16.2.9.128.IN-ADDR.ARPA. Retrieve:
+
+ 16.2.9.128.IN-ADDR.ARPA. PTR inc-subsubnet.isi.edu.
+
+ 4. Since no A RR is present at 16.2.9.128.IN-ADDR.ARPA., there
+ are no more subnet levels.
+
+
+
+Mockapetris [Page 8]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+5. YP ISSUES AND DISCUSSION
+
+ The term "Yellow Pages" is used in almost as many ways as the term
+ "domain", so it is useful to define what is meant herein by YP. The
+ general problem to be solved is to create a method for creating
+ mappings from one kind of identifier to another, often with an
+ inverse capability. The traditional methods are to search or use a
+ precomputed index of some kind.
+
+ Searching is impractical when the search is too large, and
+ precomputed indexes are possible only when it is possible to specify
+ search criteria in advance, and pay for the resources necessary to
+ build the index. For example, it is impractical to search the entire
+ domain tree to find a particular address RR, so we build the IN-
+ ADDR.ARPA YP. Similarly, we could never build an Internet-wide index
+ of "hosts with a load average of less than 2" in less time than it
+ would take for the data to change, so indexes are a useless approach
+ for that problem.
+
+ Such a precomputed index is what we mean by YP, and we regard the
+ IN-ADDR.ARPA domain as the first instance of a YP in the DNS.
+ Although a single, centrally-managed YP for well-known values such as
+ TCP-port is desirable, we regard organization-specific YPs for, say,
+ locally defined TCP ports as a natural extension, as are combinations
+ of YPs using search lists to merge the two.
+
+ In examining Internet Numbers [RFC 997] and Assigned Numbers [RFC
+ 1010], it is clear that there are several mappings which might be of
+ value. For example:
+
+ <assigned-network-name> <==> <IP-address>
+ <autonomous-system-id> <==> <number>
+ <protocol-id> <==> <number>
+ <port-id> <==> <number>
+ <ethernet-type> <==> <number>
+ <public-data-net> <==> <IP-address>
+
+ Following the IN-ADDR example, the YP takes the form of a domain tree
+ organized to optimize retrieval by search key and distribution via
+ normal DNS rules. The name used as a key must include:
+
+ 1. A well known origin. For example, IN-ADDR.ARPA is the
+ current IP-address to host name YP.
+
+ 2. A "from" data type. This identifies the input type of the
+ mapping. This is necessary because we may be mapping
+ something as anonymous as a number to any number of
+ mnemonics, etc.
+
+
+
+Mockapetris [Page 9]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ 3. A "to" data type. Since we assume several symmetrical
+ mnemonic <==> number mappings, this is also necessary.
+
+ This ordering reflects the natural scoping of control, and hence the
+ order of the components in a domain name. Thus domain names would be
+ of the form:
+
+ <from-value>.<to-data-type>.<from-data-type>.<YP-origin>
+
+ To make this work, we need to define well-know strings for each of
+ these metavariables, as well as encoding rules for converting a
+ <from-value> into a domain name. We might define:
+
+ <YP-origin> :=YP
+ <from-data-type>:=TCP-port | IN-ADDR | Number |
+ Assigned-network-number | Name
+ <to-data-type> :=<from-data-type>
+
+ Note that "YP" is NOT a valid country code under [ISO 3166] (although
+ we may want to worry about the future), and the existence of a
+ syntactically valid <to-data-type>.<from-data-type> pair does not
+ imply that a meaningful mapping exists, or is even possible.
+
+ The encoding rules might be:
+
+ TCP-port Six character alphanumeric
+
+ IN-ADDR Reversed 4-octet decimal string
+
+ Number decimal integer
+
+ Assigned-network-number
+ Reversed 4-octet decimal string
+
+ Name Domain name
+
+6. SPECIFICS FOR YP MAPPINGS
+
+6.1. TCP-PORT
+
+ $origin Number.TCP-port.YP.
+
+ 23 PTR TELNET.TCP-port.Number.YP.
+ 25 PTR SMTP.TCP-port.Number.YP.
+
+ $origin TCP-port.Number.YP.
+
+ TELNET PTR 23.Number.TCP-port.YP.
+
+
+
+Mockapetris [Page 10]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ SMTP PTR 25.Number.TCP-port.YP.
+
+ Thus the mapping between 23 and TELNET is represented by a pair of
+ PTR RRs, one for each direction of the mapping.
+
+6.2. Assigned networks
+
+ Network numbers are assigned by the NIC and reported in "Internet
+ Numbers" RFCs. To create a YP, the NIC would set up two domains:
+
+ Name.Assigned-network-number.YP and Assigned-network-number.YP
+
+ The first would contain entries of the form:
+
+ $origin Name.Assigned-network-number.YP.
+
+ 0.0.0.4 PTR SATNET.Assigned-network-number.Name.YP.
+ 0.0.0.10 PTR ARPANET.Assigned-network-number.Name.YP.
+
+ The second would contain entries of the form:
+
+ $origin Assigned-network-number.Name.YP.
+
+ SATNET. PTR 0.0.0.4.Name.Assigned-network-number.YP.
+ ARPANET. PTR 0.0.0.10.Name.Assigned-network-number.YP.
+
+ These YPs are not in conflict with the network name support described
+ in the first half of this RFC since they map between ASSIGNED network
+ names and numbers, not those allocated by the organizations
+ themselves. That is, they document the NIC's decisions about
+ allocating network numbers but do not automatically track any
+ renaming performed by the new owners.
+
+ As a practical matter, we might want to create both of these domains
+ to enable users on the Internet to experiment with centrally
+ maintained support as well as the distributed version, or might want
+ to implement only the allocated number to name mapping and request
+ organizations to convert their allocated network names to the network
+ names described in the distributed model.
+
+6.3. Operational improvements
+
+ We could imagine that all conversion routines using these YPs might
+ be instructed to use "YP.<local-domain>" followed by "YP." as a
+ search list. Thus, if the organization ISI.EDU wished to define
+ locally meaningful TCP-PORT, it would define the domains:
+
+ <TCP-port.Number.YP.ISI.EDU> and <Number.TCP-port.YP.ISI.EDU>.
+
+
+
+Mockapetris [Page 11]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ We could add another level of indirection in the YP lookup, defining
+ the <to-data-type>.<from-data-type>.<YP-origin> nodes to point to the
+ YP tree, rather than being the YP tree directly. This would enable
+ entries of the form:
+
+ IN-ADDR.Netname.YP. PTR IN-ADDR.ARPA.
+
+ to splice in YPs from other origins or existing spaces.
+
+ Another possibility would be to shorten the RDATA section of the RRs
+ which map back and forth by deleting the origin. This could be done
+ either by allowing the domain name in the RDATA portion to not
+ identify a real domain name, or by defining a new RR which used a
+ simple text string rather than a domain name.
+
+ Thus, we might replace
+
+ $origin Assigned-network-number.Name.YP.
+
+ SATNET. PTR 0.0.0.4.Name.Assigned-network-number.YP.
+ ARPANET. PTR 0.0.0.10.Name.Assigned-network-number.YP.
+
+ with
+
+ $origin Assigned-network-number.Name.YP.
+
+ SATNET. PTR 0.0.0.4.
+ ARPANET. PTR 0.0.0.10.
+
+ or
+
+ $origin Assigned-network-number.Name.YP.
+
+ SATNET. PTT "0.0.0.4"
+ ARPANET. PTT "0.0.0.10"
+
+ where PTT is a new type whose RDATA section is a text string.
+
+7. ACKNOWLEDGMENTS
+
+ Drew Perkins, Mark Lottor, and Rob Austein contributed several of the
+ ideas in this RFC. Numerous contributions, criticisms, and
+ compromises were produced in the IETF Domain working group and the
+ NAMEDROPPERS mailing list.
+
+
+
+
+
+
+
+Mockapetris [Page 12]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+8. REFERENCES
+
+ [HR] Braden, B., editor, "Requirements for Internet Hosts",
+ RFC in preparation.
+
+ [ISO 3166] ISO, "Codes for the Representation of Names of
+ Countries", 1981.
+
+ [RFC 882] Mockapetris, P., "Domain names - Concepts and
+ Facilities", RFC 882, USC/Information Sciences Institute,
+ November 1983.
+
+ Superseded by RFC 1034.
+
+ [RFC 883] Mockapetris, P.,"Domain names - Implementation and
+ Specification", RFC 883, USC/Information Sciences
+ Institute, November 1983.
+
+ Superceeded by RFC 1035.
+
+ [RFC 920] Postel, J. and J. Reynolds, "Domain Requirements", RFC
+ 920, October 1984.
+
+ Explains the naming scheme for top level domains.
+
+ [RFC 952] Harrenstien, K., M. Stahl, and E. Feinler, "DoD Internet
+ Host Table Specification", RFC 952, SRI, October 1985.
+
+ Specifies the format of HOSTS.TXT, the host/address table
+ replaced by the DNS
+
+ [RFC 973] Mockapetris, P., "Domain System Changes and
+ Observations", RFC 973, USC/Information Sciences
+ Institute, January 1986.
+
+ Describes changes to RFCs 882 and 883 and reasons for
+ them.
+
+ [RFC 974] Partridge, C., "Mail routing and the domain system", RFC
+ 974, CSNET CIC BBN Labs, January 1986.
+
+ Describes the transition from HOSTS.TXT based mail
+ addressing to the more powerful MX system used with the
+ domain system.
+
+
+
+
+
+
+
+Mockapetris [Page 13]
+
+RFC 1101 DNS Encoding of Network Names and Other Types April 1989
+
+
+ [RFC 997] Reynolds, J., and J. Postel, "Internet Numbers", RFC 997,
+ USC/Information Sciences Institute, March 1987
+
+ Contains network numbers, autonomous system numbers, etc.
+
+ [RFC 1010] Reynolds, J., and J. Postel, "Assigned Numbers", RFC
+ 1010, USC/Information Sciences Institute, May 1987
+
+ Contains socket numbers and mnemonics for host names,
+ operating systems, etc.
+
+
+ [RFC 1034] Mockapetris, P., "Domain names - Concepts and
+ Facilities", RFC 1034, USC/Information Sciences
+ Institute, November 1987.
+
+ Introduction/overview of the DNS.
+
+ [RFC 1035] Mockapetris, P., "Domain names - Implementation and
+ Specification", RFC 1035, USC/Information Sciences
+ Institute, November 1987.
+
+ DNS implementation instructions.
+
+Author's Address:
+
+ Paul Mockapetris
+ USC/Information Sciences Institute
+ 4676 Admiralty Way
+ Marina del Rey, CA 90292
+
+ Phone: (213) 822-1511
+
+ Email: PVM@ISI.EDU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 14]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1183.txt b/Documentation/en/rfc/rfc1183.txt
new file mode 100644
index 00000000..6f080448
--- /dev/null
+++ b/Documentation/en/rfc/rfc1183.txt
@@ -0,0 +1,619 @@
+
+
+
+
+
+
+Network Working Group C. Everhart
+Request for Comments: 1183 Transarc
+Updates: RFCs 1034, 1035 L. Mamakos
+ University of Maryland
+ R. Ullmann
+ Prime Computer
+ P. Mockapetris, Editor
+ ISI
+ October 1990
+
+
+ New DNS RR Definitions
+
+Status of this Memo
+
+ This memo defines five new DNS types for experimental purposes. This
+ RFC describes an Experimental Protocol for the Internet community,
+ and requests discussion and suggestions for improvements.
+ Distribution of this memo is unlimited.
+
+Table of Contents
+
+ Introduction.................................................... 1
+ 1. AFS Data Base location....................................... 2
+ 2. Responsible Person........................................... 3
+ 2.1. Identification of the guilty party......................... 3
+ 2.2. The Responsible Person RR.................................. 4
+ 3. X.25 and ISDN addresses, Route Binding....................... 6
+ 3.1. The X25 RR................................................. 6
+ 3.2. The ISDN RR................................................ 7
+ 3.3. The Route Through RR....................................... 8
+ REFERENCES and BIBLIOGRAPHY..................................... 9
+ Security Considerations......................................... 10
+ Authors' Addresses.............................................. 11
+
+Introduction
+
+ This RFC defines the format of new Resource Records (RRs) for the
+ Domain Name System (DNS), and reserves corresponding DNS type
+ mnemonics and numerical codes. The definitions are in three
+ independent sections: (1) location of AFS database servers, (2)
+ location of responsible persons, and (3) representation of X.25 and
+ ISDN addresses and route binding. All are experimental.
+
+ This RFC assumes that the reader is familiar with the DNS [3,4]. The
+ data shown is for pedagogical use and does not necessarily reflect
+ the real Internet.
+
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 1]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+1. AFS Data Base location
+
+ This section defines an extension of the DNS to locate servers both
+ for AFS (AFS is a registered trademark of Transarc Corporation) and
+ for the Open Software Foundation's (OSF) Distributed Computing
+ Environment (DCE) authenticated naming system using HP/Apollo's NCA,
+ both to be components of the OSF DCE. The discussion assumes that
+ the reader is familiar with AFS [5] and NCA [6].
+
+ The AFS (originally the Andrew File System) system uses the DNS to
+ map from a domain name to the name of an AFS cell database server.
+ The DCE Naming service uses the DNS for a similar function: mapping
+ from the domain name of a cell to authenticated name servers for that
+ cell. The method uses a new RR type with mnemonic AFSDB and type
+ code of 18 (decimal).
+
+ AFSDB has the following format:
+
+ <owner> <ttl> <class> AFSDB <subtype> <hostname>
+
+ Both RDATA fields are required in all AFSDB RRs. The <subtype> field
+ is a 16 bit integer. The <hostname> field is a domain name of a host
+ that has a server for the cell named by the owner name of the RR.
+
+ The format of the AFSDB RR is class insensitive. AFSDB records cause
+ type A additional section processing for <hostname>. This, in fact,
+ is the rationale for using a new type code, rather than trying to
+ build the same functionality with TXT RRs.
+
+ Note that the format of AFSDB in a master file is identical to MX.
+ For purposes of the DNS itself, the subtype is merely an integer.
+ The present subtype semantics are discussed below, but changes are
+ possible and will be announced in subsequent RFCs.
+
+ In the case of subtype 1, the host has an AFS version 3.0 Volume
+ Location Server for the named AFS cell. In the case of subtype 2,
+ the host has an authenticated name server holding the cell-root
+ directory node for the named DCE/NCA cell.
+
+ The use of subtypes is motivated by two considerations. First, the
+ space of DNS RR types is limited. Second, the services provided are
+ sufficiently distinct that it would continue to be confusing for a
+ client to attempt to connect to a cell's servers using the protocol
+ for one service, if the cell offered only the other service.
+
+ As an example of the use of this RR, suppose that the Toaster
+ Corporation has deployed AFS 3.0 but not (yet) the OSF's DCE. Their
+ cell, named toaster.com, has three "AFS 3.0 cell database server"
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 2]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ machines: bigbird.toaster.com, ernie.toaster.com, and
+ henson.toaster.com. These three machines would be listed in three
+ AFSDB RRs. These might appear in a master file as:
+
+ toaster.com. AFSDB 1 bigbird.toaster.com.
+ toaster.com. AFSDB 1 ernie.toaster.com.
+ toaster.com. AFSDB 1 henson.toaster.com.
+
+ As another example use of this RR, suppose that Femto College (domain
+ name femto.edu) has deployed DCE, and that their DCE cell root
+ directory is served by processes running on green.femto.edu and
+ turquoise.femto.edu. Furthermore, their DCE file servers also run
+ AFS 3.0-compatible volume location servers, on the hosts
+ turquoise.femto.edu and orange.femto.edu. These machines would be
+ listed in four AFSDB RRs, which might appear in a master file as:
+
+ femto.edu. AFSDB 2 green.femto.edu.
+ femto.edu. AFSDB 2 turquoise.femto.edu.
+ femto.edu. AFSDB 1 turquoise.femto.edu.
+ femto.edu. AFSDB 1 orange.femto.edu.
+
+2. Responsible Person
+
+ The purpose of this section is to provide a standard method for
+ associating responsible person identification to any name in the DNS.
+
+ The domain name system functions as a distributed database which
+ contains many different form of information. For a particular name
+ or host, you can discover it's Internet address, mail forwarding
+ information, hardware type and operating system among others.
+
+ A key aspect of the DNS is that the tree-structured namespace can be
+ divided into pieces, called zones, for purposes of distributing
+ control and responsibility. The responsible person for zone database
+ purposes is named in the SOA RR for that zone. This section
+ describes an extension which allows different responsible persons to
+ be specified for different names in a zone.
+
+2.1. Identification of the guilty party
+
+ Often it is desirable to be able to identify the responsible entity
+ for a particular host. When that host is down or malfunctioning, it
+ is difficult to contact those parties which might resolve or repair
+ the host. Mail sent to POSTMASTER may not reach the person in a
+ timely fashion. If the host is one of a multitude of workstations,
+ there may be no responsible person which can be contacted on that
+ host.
+
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 3]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ The POSTMASTER mailbox on that host continues to be a good contact
+ point for mail problems, and the zone contact in the SOA record for
+ database problem, but the RP record allows us to associate a mailbox
+ to entities that don't receive mail or are not directly connected
+ (namespace-wise) to the problem (e.g., GATEWAY.ISI.EDU might want to
+ point at HOTLINE@BBN.COM, and GATEWAY doesn't get mail, nor does the
+ ISI zone administrator have a clue about fixing gateways).
+
+2.2. The Responsible Person RR
+
+ The method uses a new RR type with mnemonic RP and type code of 17
+ (decimal).
+
+ RP has the following format:
+
+ <owner> <ttl> <class> RP <mbox-dname> <txt-dname>
+
+ Both RDATA fields are required in all RP RRs.
+
+ The first field, <mbox-dname>, is a domain name that specifies the
+ mailbox for the responsible person. Its format in master files uses
+ the DNS convention for mailbox encoding, identical to that used for
+ the RNAME mailbox field in the SOA RR. The root domain name (just
+ ".") may be specified for <mbox-dname> to indicate that no mailbox is
+ available.
+
+ The second field, <txt-dname>, is a domain name for which TXT RR's
+ exist. A subsequent query can be performed to retrieve the
+ associated TXT resource records at <txt-dname>. This provides a
+ level of indirection so that the entity can be referred to from
+ multiple places in the DNS. The root domain name (just ".") may be
+ specified for <txt-dname> to indicate that the TXT_DNAME is absent,
+ and no associated TXT RR exists.
+
+ The format of the RP RR is class insensitive. RP records cause no
+ additional section processing. (TXT additional section processing
+ for <txt-dname> is allowed as an option, but only if it is disabled
+ for the root, i.e., ".").
+
+ The Responsible Person RR can be associated with any node in the
+ Domain Name System hierarchy, not just at the leaves of the tree.
+
+ The TXT RR associated with the TXT_DNAME contain free format text
+ suitable for humans. Refer to [4] for more details on the TXT RR.
+
+ Multiple RP records at a single name may be present in the database.
+ They should have identical TTLs.
+
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 4]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ EXAMPLES
+
+ Some examples of how the RP record might be used.
+
+ sayshell.umd.edu. A 128.8.1.14
+ MX 10 sayshell.umd.edu.
+ HINFO NeXT UNIX
+ WKS 128.8.1.14 tcp ftp telnet smtp
+ RP louie.trantor.umd.edu. LAM1.people.umd.edu.
+
+ LAM1.people.umd.edu. TXT (
+ "Louis A. Mamakos, (301) 454-2946, don't call me at home!" )
+
+ In this example, the responsible person's mailbox for the host
+ SAYSHELL.UMD.EDU is louie@trantor.umd.edu. The TXT RR at
+ LAM1.people.umd.edu provides additional information and advice.
+
+ TERP.UMD.EDU. A 128.8.10.90
+ MX 10 128.8.10.90
+ HINFO MICROVAX-II UNIX
+ WKS 128.8.10.90 udp domain
+ WKS 128.8.10.90 tcp ftp telnet smtp domain
+ RP louie.trantor.umd.edu. LAM1.people.umd.edu.
+ RP root.terp.umd.edu. ops.CS.UMD.EDU.
+
+ TRANTOR.UMD.EDU. A 128.8.10.14
+ MX 10 trantor.umd.edu.
+ HINFO MICROVAX-II UNIX
+ WKS 128.8.10.14 udp domain
+ WKS 128.8.10.14 tcp ftp telnet smtp domain
+ RP louie.trantor.umd.edu. LAM1.people.umd.edu.
+ RP petry.netwolf.umd.edu. petry.people.UMD.EDU.
+ RP root.trantor.umd.edu. ops.CS.UMD.EDU.
+ RP gregh.sunset.umd.edu. .
+
+ LAM1.people.umd.edu. TXT "Louis A. Mamakos (301) 454-2946"
+ petry.people.umd.edu. TXT "Michael G. Petry (301) 454-2946"
+ ops.CS.UMD.EDU. TXT "CS Operations Staff (301) 454-2943"
+
+ This set of resource records has two hosts, TRANTOR.UMD.EDU and
+ TERP.UMD.EDU, as well as a number of TXT RRs. Note that TERP.UMD.EDU
+ and TRANTOR.UMD.EDU both reference the same pair of TXT resource
+ records, although the mail box names (root.terp.umd.edu and
+ root.trantor.umd.edu) differ.
+
+ Here, we obviously care much more if the machine flakes out, as we've
+ specified four persons which might want to be notified of problems or
+ other events involving TRANTOR.UMD.EDU. In this example, the last RP
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 5]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ RR for TRANTOR.UMD.EDU specifies a mailbox (gregh.sunset.umd.edu),
+ but no associated TXT RR.
+
+3. X.25 and ISDN addresses, Route Binding
+
+ This section describes an experimental representation of X.25 and
+ ISDN addresses in the DNS, as well as a route binding method,
+ analogous to the MX for mail routing, for very large scale networks.
+
+ There are several possible uses, all experimental at this time.
+ First, the RRs provide simple documentation of the correct addresses
+ to use in static configurations of IP/X.25 [11] and SMTP/X.25 [12].
+
+ The RRs could also be used automatically by an internet network-layer
+ router, typically IP. The procedure would be to map IP address to
+ domain name, then name to canonical name if needed, then following RT
+ records, and finally attempting an IP/X.25 call to the address found.
+ Alternately, configured domain names could be resolved to identify IP
+ to X.25/ISDN bindings for a static but periodically refreshed routing
+ table.
+
+ This provides a function similar to ARP for wide area non-broadcast
+ networks that will scale well to a network with hundreds of millions
+ of hosts.
+
+ Also, a standard address binding reference will facilitate other
+ experiments in the use of X.25 and ISDN, especially in serious
+ inter-operability testing. The majority of work in such a test is
+ establishing the n-squared entries in static tables.
+
+ Finally, the RRs are intended for use in a proposal [13] by one of
+ the authors for a possible next-generation internet.
+
+3.1. The X25 RR
+
+ The X25 RR is defined with mnemonic X25 and type code 19 (decimal).
+
+ X25 has the following format:
+
+ <owner> <ttl> <class> X25 <PSDN-address>
+
+ <PSDN-address> is required in all X25 RRs.
+
+ <PSDN-address> identifies the PSDN (Public Switched Data Network)
+ address in the X.121 [10] numbering plan associated with <owner>.
+ Its format in master files is a <character-string> syntactically
+ identical to that used in TXT and HINFO.
+
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 6]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ The format of X25 is class insensitive. X25 RRs cause no additional
+ section processing.
+
+ The <PSDN-address> is a string of decimal digits, beginning with the
+ 4 digit DNIC (Data Network Identification Code), as specified in
+ X.121. National prefixes (such as a 0) MUST NOT be used.
+
+ For example:
+
+ Relay.Prime.COM. X25 311061700956
+
+3.2. The ISDN RR
+
+ The ISDN RR is defined with mnemonic ISDN and type code 20 (decimal).
+
+ An ISDN (Integrated Service Digital Network) number is simply a
+ telephone number. The intent of the members of the CCITT is to
+ upgrade all telephone and data network service to a common service.
+
+ The numbering plan (E.163/E.164) is the same as the familiar
+ international plan for POTS (an un-official acronym, meaning Plain
+ Old Telephone Service). In E.166, CCITT says "An E.163/E.164
+ telephony subscriber may become an ISDN subscriber without a number
+ change."
+
+ ISDN has the following format:
+
+ <owner> <ttl> <class> ISDN <ISDN-address> <sa>
+
+ The <ISDN-address> field is required; <sa> is optional.
+
+ <ISDN-address> identifies the ISDN number of <owner> and DDI (Direct
+ Dial In) if any, as defined by E.164 [8] and E.163 [7], the ISDN and
+ PSTN (Public Switched Telephone Network) numbering plan. E.163
+ defines the country codes, and E.164 the form of the addresses. Its
+ format in master files is a <character-string> syntactically
+ identical to that used in TXT and HINFO.
+
+ <sa> specifies the subaddress (SA). The format of <sa> in master
+ files is a <character-string> syntactically identical to that used in
+ TXT and HINFO.
+
+ The format of ISDN is class insensitive. ISDN RRs cause no
+ additional section processing.
+
+ The <ISDN-address> is a string of characters, normally decimal
+ digits, beginning with the E.163 country code and ending with the DDI
+ if any. Note that ISDN, in Q.931, permits any IA5 character in the
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 7]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ general case.
+
+ The <sa> is a string of hexadecimal digits. For digits 0-9, the
+ concrete encoding in the Q.931 call setup information element is
+ identical to BCD.
+
+ For example:
+
+ Relay.Prime.COM. IN ISDN 150862028003217
+ sh.Prime.COM. IN ISDN 150862028003217 004
+
+ (Note: "1" is the country code for the North American Integrated
+ Numbering Area, i.e., the system of "area codes" familiar to people
+ in those countries.)
+
+ The RR data is the ASCII representation of the digits. It is encoded
+ as one or two <character-string>s, i.e., count followed by
+ characters.
+
+ CCITT recommendation E.166 [9] defines prefix escape codes for the
+ representation of ISDN (E.163/E.164) addresses in X.121, and PSDN
+ (X.121) addresses in E.164. It specifies that the exact codes are a
+ "national matter", i.e., different on different networks. A host
+ connected to the ISDN may be able to use both the X25 and ISDN
+ addresses, with the local prefix added.
+
+3.3. The Route Through RR
+
+ The Route Through RR is defined with mnemonic RT and type code 21
+ (decimal).
+
+ The RT resource record provides a route-through binding for hosts
+ that do not have their own direct wide area network addresses. It is
+ used in much the same way as the MX RR.
+
+ RT has the following format:
+
+ <owner> <ttl> <class> RT <preference> <intermediate-host>
+
+ Both RDATA fields are required in all RT RRs.
+
+ The first field, <preference>, is a 16 bit integer, representing the
+ preference of the route. Smaller numbers indicate more preferred
+ routes.
+
+ <intermediate-host> is the domain name of a host which will serve as
+ an intermediate in reaching the host specified by <owner>. The DNS
+ RRs associated with <intermediate-host> are expected to include at
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 8]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ least one A, X25, or ISDN record.
+
+ The format of the RT RR is class insensitive. RT records cause type
+ X25, ISDN, and A additional section processing for <intermediate-
+ host>.
+
+ For example,
+
+ sh.prime.com. IN RT 2 Relay.Prime.COM.
+ IN RT 10 NET.Prime.COM.
+ *.prime.com. IN RT 90 Relay.Prime.COM.
+
+ When a host is looking up DNS records to attempt to route a datagram,
+ it first looks for RT records for the destination host, which point
+ to hosts with address records (A, X25, ISDN) compatible with the wide
+ area networks available to the host. If it is itself in the set of
+ RT records, it discards any RTs with preferences higher or equal to
+ its own. If there are no (remaining) RTs, it can then use address
+ records of the destination itself.
+
+ Wild-card RTs are used exactly as are wild-card MXs. RT's do not
+ "chain"; that is, it is not valid to use the RT RRs found for a host
+ referred to by an RT.
+
+ The concrete encoding is identical to the MX RR.
+
+REFERENCES and BIBLIOGRAPHY
+
+ [1] Stahl, M., "Domain Administrators Guide", RFC 1032, Network
+ Information Center, SRI International, November 1987.
+
+ [2] Lottor, M., "Domain Administrators Operations Guide", RFC 1033,
+ Network Information Center, SRI International, November, 1987.
+
+ [3] Mockapetris, P., "Domain Names - Concepts and Facilities", RFC
+ 1034, USC/Information Sciences Institute, November 1987.
+
+ [4] Mockapetris, P., "Domain Names - Implementation and
+ Specification", RFC 1035, USC/Information Sciences Institute,
+ November 1987.
+
+ [5] Spector A., and M. Kazar, "Uniting File Systems", UNIX Review,
+ 7(3), pp. 61-69, March 1989.
+
+ [6] Zahn, et al., "Network Computing Architecture", Prentice-Hall,
+ 1989.
+
+ [7] International Telegraph and Telephone Consultative Committee,
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 9]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+ "Numbering Plan for the International Telephone Service", CCITT
+ Recommendations E.163., IXth Plenary Assembly, Melbourne, 1988,
+ Fascicle II.2 ("Blue Book").
+
+ [8] International Telegraph and Telephone Consultative Committee,
+ "Numbering Plan for the ISDN Era", CCITT Recommendations E.164.,
+ IXth Plenary Assembly, Melbourne, 1988, Fascicle II.2 ("Blue
+ Book").
+
+ [9] International Telegraph and Telephone Consultative Committee.
+ "Numbering Plan Interworking in the ISDN Era", CCITT
+ Recommendations E.166., IXth Plenary Assembly, Melbourne, 1988,
+ Fascicle II.2 ("Blue Book").
+
+ [10] International Telegraph and Telephone Consultative Committee,
+ "International Numbering Plan for the Public Data Networks",
+ CCITT Recommendations X.121., IXth Plenary Assembly, Melbourne,
+ 1988, Fascicle VIII.3 ("Blue Book"); provisional, Geneva, 1978;
+ amended, Geneva, 1980, Malaga-Torremolinos, 1984 and Melborne,
+ 1988.
+
+ [11] Korb, J., "Standard for the Transmission of IP datagrams Over
+ Public Data Networks", RFC 877, Purdue University, September
+ 1983.
+
+ [12] Ullmann, R., "SMTP on X.25", RFC 1090, Prime Computer, February
+ 1989.
+
+ [13] Ullmann, R., "TP/IX: The Next Internet", Prime Computer
+ (unpublished), July 1990.
+
+ [14] Mockapetris, P., "DNS Encoding of Network Names and Other Types",
+ RFC 1101, USC/Information Sciences Institute, April 1989.
+
+Security Considerations
+
+ Security issues are not addressed in this memo.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 10]
+
+RFC 1183 New DNS RR Definitions October 1990
+
+
+Authors' Addresses
+
+ Craig F. Everhart
+ Transarc Corporation
+ The Gulf Tower
+ 707 Grant Street
+ Pittsburgh, PA 15219
+
+ Phone: +1 412 338 4467
+
+ EMail: Craig_Everhart@transarc.com
+
+
+ Louis A. Mamakos
+ Network Infrastructure Group
+ Computer Science Center
+ University of Maryland
+ College Park, MD 20742-2411
+
+ Phone: +1-301-405-7836
+
+ Email: louie@Sayshell.UMD.EDU
+
+
+ Robert Ullmann 10-30
+ Prime Computer, Inc.
+ 500 Old Connecticut Path
+ Framingham, MA 01701
+
+ Phone: +1 508 620 2800 ext 1736
+
+ Email: Ariel@Relay.Prime.COM
+
+
+ Paul Mockapetris
+ USC Information Sciences Institute
+ 4676 Admiralty Way
+ Marina del Rey, CA 90292
+
+ Phone: 213-822-1511
+
+ EMail: pvm@isi.edu
+
+
+
+
+
+
+
+
+
+Everhart, Mamakos, Ullmann & Mockapetris [Page 11]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1341.txt b/Documentation/en/rfc/rfc1341.txt
new file mode 100644
index 00000000..1be6f7d6
--- /dev/null
+++ b/Documentation/en/rfc/rfc1341.txt
@@ -0,0 +1,5265 @@
+
+
+
+
+
+
+ Network Working Group N. Borenstein, Bellcore
+ Request for Comments: 1341 N. Freed, Innosoft
+ June 1992
+
+
+
+ MIME (Multipurpose Internet Mail Extensions):
+
+
+ Mechanisms for Specifying and Describing
+ the Format of Internet Message Bodies
+
+
+ Status of this Memo
+
+ This RFC specifies an IAB standards track protocol for the
+ Internet community, and requests discussion and suggestions
+ for improvements. Please refer to the current edition of
+ the "IAB Official Protocol Standards" for the
+ standardization state and status of this protocol.
+ Distribution of this memo is unlimited.
+
+ Abstract
+
+ RFC 822 defines a message representation protocol which
+ specifies considerable detail about message headers, but
+ which leaves the message content, or message body, as flat
+ ASCII text. This document redefines the format of message
+ bodies to allow multi-part textual and non-textual message
+ bodies to be represented and exchanged without loss of
+ information. This is based on earlier work documented in
+ RFC 934 and RFC 1049, but extends and revises that work.
+ Because RFC 822 said so little about message bodies, this
+ document is largely orthogonal to (rather than a revision
+ of) RFC 822.
+
+ In particular, this document is designed to provide
+ facilities to include multiple objects in a single message,
+ to represent body text in character sets other than US-
+ ASCII, to represent formatted multi-font text messages, to
+ represent non-textual material such as images and audio
+ fragments, and generally to facilitate later extensions
+ defining new types of Internet mail for use by cooperating
+ mail agents.
+
+ This document does NOT extend Internet mail header fields to
+ permit anything other than US-ASCII text data. It is
+ recognized that such extensions are necessary, and they are
+ the subject of a companion document [RFC -1342].
+
+ A table of contents appears at the end of this document.
+
+
+
+
+
+
+ Borenstein & Freed [Page i]
+
+
+
+
+
+
+
+ 1 Introduction
+
+ Since its publication in 1982, RFC 822 [RFC-822] has defined
+ the standard format of textual mail messages on the
+ Internet. Its success has been such that the RFC 822 format
+ has been adopted, wholly or partially, well beyond the
+ confines of the Internet and the Internet SMTP transport
+ defined by RFC 821 [RFC-821]. As the format has seen wider
+ use, a number of limitations have proven increasingly
+ restrictive for the user community.
+
+ RFC 822 was intended to specify a format for text messages.
+ As such, non-text messages, such as multimedia messages that
+ might include audio or images, are simply not mentioned.
+ Even in the case of text, however, RFC 822 is inadequate for
+ the needs of mail users whose languages require the use of
+ character sets richer than US ASCII [US-ASCII]. Since RFC
+ 822 does not specify mechanisms for mail containing audio,
+ video, Asian language text, or even text in most European
+ languages, additional specifications are needed
+
+ One of the notable limitations of RFC 821/822 based mail
+ systems is the fact that they limit the contents of
+ electronic mail messages to relatively short lines of
+ seven-bit ASCII. This forces users to convert any non-
+ textual data that they may wish to send into seven-bit bytes
+ representable as printable ASCII characters before invoking
+ a local mail UA (User Agent, a program with which human
+ users send and receive mail). Examples of such encodings
+ currently used in the Internet include pure hexadecimal,
+ uuencode, the 3-in-4 base 64 scheme specified in RFC 1113,
+ the Andrew Toolkit Representation [ATK], and many others.
+
+ The limitations of RFC 822 mail become even more apparent as
+ gateways are designed to allow for the exchange of mail
+ messages between RFC 822 hosts and X.400 hosts. X.400 [X400]
+ specifies mechanisms for the inclusion of non-textual body
+ parts within electronic mail messages. The current
+ standards for the mapping of X.400 messages to RFC 822
+ messages specify that either X.400 non-textual body parts
+ should be converted to (not encoded in) an ASCII format, or
+ that they should be discarded, notifying the RFC 822 user
+ that discarding has occurred. This is clearly undesirable,
+ as information that a user may wish to receive is lost.
+ Even though a user's UA may not have the capability of
+ dealing with the non-textual body part, the user might have
+ some mechanism external to the UA that can extract useful
+ information from the body part. Moreover, it does not allow
+ for the fact that the message may eventually be gatewayed
+ back into an X.400 message handling system (i.e., the X.400
+ message is "tunneled" through Internet mail), where the
+ non-textual information would definitely become useful
+ again.
+
+
+
+
+ Borenstein & Freed [Page 1]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ This document describes several mechanisms that combine to
+ solve most of these problems without introducing any serious
+ incompatibilities with the existing world of RFC 822 mail.
+ In particular, it describes:
+
+ 1. A MIME-Version header field, which uses a version number
+ to declare a message to be conformant with this
+ specification and allows mail processing agents to
+ distinguish between such messages and those generated
+ by older or non-conformant software, which is presumed
+ to lack such a field.
+
+ 2. A Content-Type header field, generalized from RFC 1049
+ [RFC-1049], which can be used to specify the type and
+ subtype of data in the body of a message and to fully
+ specify the native representation (encoding) of such
+ data.
+
+ 2.a. A "text" Content-Type value, which can be used to
+ represent textual information in a number of
+ character sets and formatted text description
+ languages in a standardized manner.
+
+ 2.b. A "multipart" Content-Type value, which can be
+ used to combine several body parts, possibly of
+ differing types of data, into a single message.
+
+ 2.c. An "application" Content-Type value, which can be
+ used to transmit application data or binary data,
+ and hence, among other uses, to implement an
+ electronic mail file transfer service.
+
+ 2.d. A "message" Content-Type value, for encapsulating
+ a mail message.
+
+ 2.e An "image" Content-Type value, for transmitting
+ still image (picture) data.
+
+ 2.f. An "audio" Content-Type value, for transmitting
+ audio or voice data.
+
+ 2.g. A "video" Content-Type value, for transmitting
+ video or moving image data, possibly with audio as
+ part of the composite video data format.
+
+ 3. A Content-Transfer-Encoding header field, which can be
+ used to specify an auxiliary encoding that was applied
+ to the data in order to allow it to pass through mail
+ transport mechanisms which may have data or character
+ set limitations.
+
+ 4. Two optional header fields that can be used to further
+ describe the data in a message body, the Content-ID and
+ Content-Description header fields.
+
+
+
+ Borenstein & Freed [Page 2]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ MIME has been carefully designed as an extensible mechanism,
+ and it is expected that the set of content-type/subtype
+ pairs and their associated parameters will grow
+ significantly with time. Several other MIME fields, notably
+ including character set names, are likely to have new values
+ defined over time. In order to ensure that the set of such
+ values is developed in an orderly, well-specified, and
+ public manner, MIME defines a registration process which
+ uses the Internet Assigned Numbers Authority (IANA) as a
+ central registry for such values. Appendix F provides
+ details about how IANA registration is accomplished.
+
+ Finally, to specify and promote interoperability, Appendix A
+ of this document provides a basic applicability statement
+ for a subset of the above mechanisms that defines a minimal
+ level of "conformance" with this document.
+
+ HISTORICAL NOTE: Several of the mechanisms described in
+ this document may seem somewhat strange or even baroque at
+ first reading. It is important to note that compatibility
+ with existing standards AND robustness across existing
+ practice were two of the highest priorities of the working
+ group that developed this document. In particular,
+ compatibility was always favored over elegance.
+
+ 2 Notations, Conventions, and Generic BNF Grammar
+
+ This document is being published in two versions, one as
+ plain ASCII text and one as PostScript. The latter is
+ recommended, though the textual contents are identical. An
+ Andrew-format copy of this document is also available from
+ the first author (Borenstein).
+
+ Although the mechanisms specified in this document are all
+ described in prose, most are also described formally in the
+ modified BNF notation of RFC 822. Implementors will need to
+ be familiar with this notation in order to understand this
+ specification, and are referred to RFC 822 for a complete
+ explanation of the modified BNF notation.
+
+ Some of the modified BNF in this document makes reference to
+ syntactic entities that are defined in RFC 822 and not in
+ this document. A complete formal grammar, then, is obtained
+ by combining the collected grammar appendix of this document
+ with that of RFC 822.
+
+ The term CRLF, in this document, refers to the sequence of
+ the two ASCII characters CR (13) and LF (10) which, taken
+ together, in this order, denote a line break in RFC 822
+ mail.
+
+ The term "character set", wherever it is used in this
+ document, refers to a coded character set, in the sense of
+ ISO character set standardization work, and must not be
+
+
+
+ Borenstein & Freed [Page 3]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ misinterpreted as meaning "a set of characters."
+
+ The term "message", when not further qualified, means either
+ the (complete or "top-level") message being transferred on a
+ network, or a message encapsulated in a body of type
+ "message".
+
+ The term "body part", in this document, means one of the
+ parts of the body of a multipart entity. A body part has a
+ header and a body, so it makes sense to speak about the body
+ of a body part.
+
+ The term "entity", in this document, means either a message
+ or a body part. All kinds of entities share the property
+ that they have a header and a body.
+
+ The term "body", when not further qualified, means the body
+ of an entity, that is the body of either a message or of a
+ body part.
+
+ Note : the previous four definitions are clearly circular.
+ This is unavoidable, since the overal structure of a MIME
+ message is indeed recursive.
+
+ In this document, all numeric and octet values are given in
+ decimal notation.
+
+ It must be noted that Content-Type values, subtypes, and
+ parameter names as defined in this document are case-
+ insensitive. However, parameter values are case-sensitive
+ unless otherwise specified for the specific parameter.
+
+ FORMATTING NOTE: This document has been carefully formatted
+ for ease of reading. The PostScript version of this
+ document, in particular, places notes like this one, which
+ may be skipped by the reader, in a smaller, italicized,
+ font, and indents it as well. In the text version, only the
+ indentation is preserved, so if you are reading the text
+ version of this you might consider using the PostScript
+ version instead. However, all such notes will be indented
+ and preceded by "NOTE:" or some similar introduction, even
+ in the text version.
+
+ The primary purpose of these non-essential notes is to
+ convey information about the rationale of this document, or
+ to place this document in the proper historical or
+ evolutionary context. Such information may be skipped by
+ those who are focused entirely on building a compliant
+ implementation, but may be of use to those who wish to
+ understand why this document is written as it is.
+
+ For ease of recognition, all BNF definitions have been
+ placed in a fixed-width font in the PostScript version of
+ this document.
+
+
+
+ Borenstein & Freed [Page 4]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 3 The MIME-Version Header Field
+
+ Since RFC 822 was published in 1982, there has really been
+ only one format standard for Internet messages, and there
+ has been little perceived need to declare the format
+ standard in use. This document is an independent document
+ that complements RFC 822. Although the extensions in this
+ document have been defined in such a way as to be compatible
+ with RFC 822, there are still circumstances in which it
+ might be desirable for a mail-processing agent to know
+ whether a message was composed with the new standard in
+ mind.
+
+ Therefore, this document defines a new header field, "MIME-
+ Version", which is to be used to declare the version of the
+ Internet message body format standard in use.
+
+ Messages composed in accordance with this document MUST
+ include such a header field, with the following verbatim
+ text:
+
+ MIME-Version: 1.0
+
+ The presence of this header field is an assertion that the
+ message has been composed in compliance with this document.
+
+ Since it is possible that a future document might extend the
+ message format standard again, a formal BNF is given for the
+ content of the MIME-Version field:
+
+ MIME-Version := text
+
+ Thus, future format specifiers, which might replace or
+ extend "1.0", are (minimally) constrained by the definition
+ of "text", which appears in RFC 822.
+
+ Note that the MIME-Version header field is required at the
+ top level of a message. It is not required for each body
+ part of a multipart entity. It is required for the embedded
+ headers of a body of type "message" if and only if the
+ embedded message is itself claimed to be MIME-compliant.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 5]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 4 The Content-Type Header Field
+
+ The purpose of the Content-Type field is to describe the
+ data contained in the body fully enough that the receiving
+ user agent can pick an appropriate agent or mechanism to
+ present the data to the user, or otherwise deal with the
+ data in an appropriate manner.
+
+ HISTORICAL NOTE: The Content-Type header field was first
+ defined in RFC 1049. RFC 1049 Content-types used a simpler
+ and less powerful syntax, but one that is largely compatible
+ with the mechanism given here.
+
+ The Content-Type header field is used to specify the nature
+ of the data in the body of an entity, by giving type and
+ subtype identifiers, and by providing auxiliary information
+ that may be required for certain types. After the type and
+ subtype names, the remainder of the header field is simply a
+ set of parameters, specified in an attribute/value notation.
+ The set of meaningful parameters differs for the different
+ types. The ordering of parameters is not significant.
+ Among the defined parameters is a "charset" parameter by
+ which the character set used in the body may be declared.
+ Comments are allowed in accordance with RFC 822 rules for
+ structured header fields.
+
+ In general, the top-level Content-Type is used to declare
+ the general type of data, while the subtype specifies a
+ specific format for that type of data. Thus, a Content-Type
+ of "image/xyz" is enough to tell a user agent that the data
+ is an image, even if the user agent has no knowledge of the
+ specific image format "xyz". Such information can be used,
+ for example, to decide whether or not to show a user the raw
+ data from an unrecognized subtype -- such an action might be
+ reasonable for unrecognized subtypes of text, but not for
+ unrecognized subtypes of image or audio. For this reason,
+ registered subtypes of audio, image, text, and video, should
+ not contain embedded information that is really of a
+ different type. Such compound types should be represented
+ using the "multipart" or "application" types.
+
+ Parameters are modifiers of the content-subtype, and do not
+ fundamentally affect the requirements of the host system.
+ Although most parameters make sense only with certain
+ content-types, others are "global" in the sense that they
+ might apply to any subtype. For example, the "boundary"
+ parameter makes sense only for the "multipart" content-type,
+ but the "charset" parameter might make sense with several
+ content-types.
+
+ An initial set of seven Content-Types is defined by this
+ document. This set of top-level names is intended to be
+ substantially complete. It is expected that additions to
+ the larger set of supported types can generally be
+
+
+
+ Borenstein & Freed [Page 6]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ accomplished by the creation of new subtypes of these
+ initial types. In the future, more top-level types may be
+ defined only by an extension to this standard. If another
+ primary type is to be used for any reason, it must be given
+ a name starting with "X-" to indicate its non-standard
+ status and to avoid a potential conflict with a future
+ official name.
+
+ In the Extended BNF notation of RFC 822, a Content-Type
+ header field value is defined as follows:
+
+ Content-Type := type "/" subtype *[";" parameter]
+
+ type := "application" / "audio"
+ / "image" / "message"
+ / "multipart" / "text"
+ / "video" / x-token
+
+ x-token := <The two characters "X-" followed, with no
+ intervening white space, by any token>
+
+ subtype := token
+
+ parameter := attribute "=" value
+
+ attribute := token
+
+ value := token / quoted-string
+
+ token := 1*<any CHAR except SPACE, CTLs, or tspecials>
+
+ tspecials := "(" / ")" / "<" / ">" / "@" ; Must be in
+ / "," / ";" / ":" / "\" / <"> ; quoted-string,
+ / "/" / "[" / "]" / "?" / "." ; to use within
+ / "=" ; parameter values
+
+ Note that the definition of "tspecials" is the same as the
+ RFC 822 definition of "specials" with the addition of the
+ three characters "/", "?", and "=".
+
+ Note also that a subtype specification is MANDATORY. There
+ are no default subtypes.
+
+ The type, subtype, and parameter names are not case
+ sensitive. For example, TEXT, Text, and TeXt are all
+ equivalent. Parameter values are normally case sensitive,
+ but certain parameters are interpreted to be case-
+ insensitive, depending on the intended use. (For example,
+ multipart boundaries are case-sensitive, but the "access-
+ type" for message/External-body is not case-sensitive.)
+
+ Beyond this syntax, the only constraint on the definition of
+ subtype names is the desire that their uses must not
+ conflict. That is, it would be undesirable to have two
+
+
+
+ Borenstein & Freed [Page 7]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ different communities using "Content-Type:
+ application/foobar" to mean two different things. The
+ process of defining new content-subtypes, then, is not
+ intended to be a mechanism for imposing restrictions, but
+ simply a mechanism for publicizing the usages. There are,
+ therefore, two acceptable mechanisms for defining new
+ Content-Type subtypes:
+
+ 1. Private values (starting with "X-") may be
+ defined bilaterally between two cooperating
+ agents without outside registration or
+ standardization.
+
+ 2. New standard values must be documented,
+ registered with, and approved by IANA, as
+ described in Appendix F. Where intended for
+ public use, the formats they refer to must
+ also be defined by a published specification,
+ and possibly offered for standardization.
+
+ The seven standard initial predefined Content-Types are
+ detailed in the bulk of this document. They are:
+
+ text -- textual information. The primary subtype,
+ "plain", indicates plain (unformatted) text. No
+ special software is required to get the full
+ meaning of the text, aside from support for the
+ indicated character set. Subtypes are to be used
+ for enriched text in forms where application
+ software may enhance the appearance of the text,
+ but such software must not be required in order to
+ get the general idea of the content. Possible
+ subtypes thus include any readable word processor
+ format. A very simple and portable subtype,
+ richtext, is defined in this document.
+ multipart -- data consisting of multiple parts of
+ independent data types. Four initial subtypes
+ are defined, including the primary "mixed"
+ subtype, "alternative" for representing the same
+ data in multiple formats, "parallel" for parts
+ intended to be viewed simultaneously, and "digest"
+ for multipart entities in which each part is of
+ type "message".
+ message -- an encapsulated message. A body of
+ Content-Type "message" is itself a fully formatted
+ RFC 822 conformant message which may contain its
+ own different Content-Type header field. The
+ primary subtype is "rfc822". The "partial"
+ subtype is defined for partial messages, to permit
+ the fragmented transmission of bodies that are
+ thought to be too large to be passed through mail
+ transport facilities. Another subtype,
+ "External-body", is defined for specifying large
+ bodies by reference to an external data source.
+
+
+
+ Borenstein & Freed [Page 8]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ image -- image data. Image requires a display device
+ (such as a graphical display, a printer, or a FAX
+ machine) to view the information. Initial
+ subtypes are defined for two widely-used image
+ formats, jpeg and gif.
+ audio -- audio data, with initial subtype "basic".
+ Audio requires an audio output device (such as a
+ speaker or a telephone) to "display" the contents.
+ video -- video data. Video requires the capability to
+ display moving images, typically including
+ specialized hardware and software. The initial
+ subtype is "mpeg".
+ application -- some other kind of data, typically
+ either uninterpreted binary data or information to
+ be processed by a mail-based application. The
+ primary subtype, "octet-stream", is to be used in
+ the case of uninterpreted binary data, in which
+ case the simplest recommended action is to offer
+ to write the information into a file for the user.
+ Two additional subtypes, "ODA" and "PostScript",
+ are defined for transporting ODA and PostScript
+ documents in bodies. Other expected uses for
+ "application" include spreadsheets, data for
+ mail-based scheduling systems, and languages for
+ "active" (computational) email. (Note that active
+ email entails several securityconsiderations,
+ which are discussed later in this memo,
+ particularly in the context of
+ application/PostScript.)
+
+ Default RFC 822 messages are typed by this protocol as plain
+ text in the US-ASCII character set, which can be explicitly
+ specified as "Content-type: text/plain; charset=us-ascii".
+ If no Content-Type is specified, either by error or by an
+ older user agent, this default is assumed. In the presence
+ of a MIME-Version header field, a receiving User Agent can
+ also assume that plain US-ASCII text was the sender's
+ intent. In the absence of a MIME-Version specification,
+ plain US-ASCII text must still be assumed, but the sender's
+ intent might have been otherwise.
+
+ RATIONALE: In the absence of any Content-Type header field
+ or MIME-Version header field, it is impossible to be certain
+ that a message is actually text in the US-ASCII character
+ set, since it might well be a message that, using the
+ conventions that predate this document, includes text in
+ another character set or non-textual data in a manner that
+ cannot be automatically recognized (e.g., a uuencoded
+ compressed UNIX tar file). Although there is no fully
+ acceptable alternative to treating such untyped messages as
+ "text/plain; charset=us-ascii", implementors should remain
+ aware that if a message lacks both the MIME-Version and the
+ Content-Type header fields, it may in practice contain
+ almost anything.
+
+
+
+ Borenstein & Freed [Page 9]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ It should be noted that the list of Content-Type values
+ given here may be augmented in time, via the mechanisms
+ described above, and that the set of subtypes is expected to
+ grow substantially.
+
+ When a mail reader encounters mail with an unknown Content-
+ type value, it should generally treat it as equivalent to
+ "application/octet-stream", as described later in this
+ document.
+
+ 5 The Content-Transfer-Encoding Header Field
+
+ Many Content-Types which could usefully be transported via
+ email are represented, in their "natural" format, as 8-bit
+ character or binary data. Such data cannot be transmitted
+ over some transport protocols. For example, RFC 821
+ restricts mail messages to 7-bit US-ASCII data with 1000
+ character lines.
+
+ It is necessary, therefore, to define a standard mechanism
+ for re-encoding such data into a 7-bit short-line format.
+ This document specifies that such encodings will be
+ indicated by a new "Content-Transfer-Encoding" header field.
+ The Content-Transfer-Encoding field is used to indicate the
+ type of transformation that has been used in order to
+ represent the body in an acceptable manner for transport.
+
+ Unlike Content-Types, a proliferation of Content-Transfer-
+ Encoding values is undesirable and unnecessary. However,
+ establishing only a single Content-Transfer-Encoding
+ mechanism does not seem possible. There is a tradeoff
+ between the desire for a compact and efficient encoding of
+ largely-binary data and the desire for a readable encoding
+ of data that is mostly, but not entirely, 7-bit data. For
+ this reason, at least two encoding mechanisms are necessary:
+ a "readable" encoding and a "dense" encoding.
+
+ The Content-Transfer-Encoding field is designed to specify
+ an invertible mapping between the "native" representation of
+ a type of data and a representation that can be readily
+ exchanged using 7 bit mail transport protocols, such as
+ those defined by RFC 821 (SMTP). This field has not been
+ defined by any previous standard. The field's value is a
+ single token specifying the type of encoding, as enumerated
+ below. Formally:
+
+ Content-Transfer-Encoding := "BASE64" / "QUOTED-PRINTABLE" /
+ "8BIT" / "7BIT" /
+ "BINARY" / x-token
+
+ These values are not case sensitive. That is, Base64 and
+ BASE64 and bAsE64 are all equivalent. An encoding type of
+ 7BIT requires that the body is already in a seven-bit mail-
+ ready representation. This is the default value -- that is,
+
+
+
+ Borenstein & Freed [Page 10]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ "Content-Transfer-Encoding: 7BIT" is assumed if the
+ Content-Transfer-Encoding header field is not present.
+
+ The values "8bit", "7bit", and "binary" all imply that NO
+ encoding has been performed. However, they are potentially
+ useful as indications of the kind of data contained in the
+ object, and therefore of the kind of encoding that might
+ need to be performed for transmission in a given transport
+ system. "7bit" means that the data is all represented as
+ short lines of US-ASCII data. "8bit" means that the lines
+ are short, but there may be non-ASCII characters (octets
+ with the high-order bit set). "Binary" means that not only
+ may non-ASCII characters be present, but also that the lines
+ are not necessarily short enough for SMTP transport.
+
+ The difference between "8bit" (or any other conceivable
+ bit-width token) and the "binary" token is that "binary"
+ does not require adherence to any limits on line length or
+ to the SMTP CRLF semantics, while the bit-width tokens do
+ require such adherence. If the body contains data in any
+ bit-width other than 7-bit, the appropriate bit-width
+ Content-Transfer-Encoding token must be used (e.g., "8bit"
+ for unencoded 8 bit wide data). If the body contains binary
+ data, the "binary" Content-Transfer-Encoding token must be
+ used.
+
+ NOTE: The distinction between the Content-Transfer-Encoding
+ values of "binary," "8bit," etc. may seem unimportant, in
+ that all of them really mean "none" -- that is, there has
+ been no encoding of the data for transport. However, clear
+ labeling will be of enormous value to gateways between
+ future mail transport systems with differing capabilities in
+ transporting data that do not meet the restrictions of RFC
+ 821 transport.
+
+ As of the publication of this document, there are no
+ standardized Internet transports for which it is legitimate
+ to include unencoded 8-bit or binary data in mail bodies.
+ Thus there are no circumstances in which the "8bit" or
+ "binary" Content-Transfer-Encoding is actually legal on the
+ Internet. However, in the event that 8-bit or binary mail
+ transport becomes a reality in Internet mail, or when this
+ document is used in conjunction with any other 8-bit or
+ binary-capable transport mechanism, 8-bit or binary bodies
+ should be labeled as such using this mechanism.
+
+ NOTE: The five values defined for the Content-Transfer-
+ Encoding field imply nothing about the Content-Type other
+ than the algorithm by which it was encoded or the transport
+ system requirements if unencoded.
+
+ Implementors may, if necessary, define new Content-
+ Transfer-Encoding values, but must use an x-token, which is
+ a name prefixed by "X-" to indicate its non-standard status,
+
+
+
+ Borenstein & Freed [Page 11]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ e.g., "Content-Transfer-Encoding: x-my-new-encoding".
+ However, unlike Content-Types and subtypes, the creation of
+ new Content-Transfer-Encoding values is explicitly and
+ strongly discouraged, as it seems likely to hinder
+ interoperability with little potential benefit. Their use
+ is allowed only as the result of an agreement between
+ cooperating user agents.
+
+ If a Content-Transfer-Encoding header field appears as part
+ of a message header, it applies to the entire body of that
+ message. If a Content-Transfer-Encoding header field
+ appears as part of a body part's headers, it applies only to
+ the body of that body part. If an entity is of type
+ "multipart" or "message", the Content-Transfer-Encoding is
+ not permitted to have any value other than a bit width
+ (e.g., "7bit", "8bit", etc.) or "binary".
+
+ It should be noted that email is character-oriented, so that
+ the mechanisms described here are mechanisms for encoding
+ arbitrary byte streams, not bit streams. If a bit stream is
+ to be encoded via one of these mechanisms, it must first be
+ converted to an 8-bit byte stream using the network standard
+ bit order ("big-endian"), in which the earlier bits in a
+ stream become the higher-order bits in a byte. A bit stream
+ not ending at an 8-bit boundary must be padded with zeroes.
+ This document provides a mechanism for noting the addition
+ of such padding in the case of the application Content-Type,
+ which has a "padding" parameter.
+
+ The encoding mechanisms defined here explicitly encode all
+ data in ASCII. Thus, for example, suppose an entity has
+ header fields such as:
+
+ Content-Type: text/plain; charset=ISO-8859-1
+ Content-transfer-encoding: base64
+
+ This should be interpreted to mean that the body is a base64
+ ASCII encoding of data that was originally in ISO-8859-1,
+ and will be in that character set again after decoding.
+
+ The following sections will define the two standard encoding
+ mechanisms. The definition of new content-transfer-
+ encodings is explicitly discouraged and should only occur
+ when absolutely necessary. All content-transfer-encoding
+ namespace except that beginning with "X-" is explicitly
+ reserved to the IANA for future use. Private agreements
+ about content-transfer-encodings are also explicitly
+ discouraged.
+
+ Certain Content-Transfer-Encoding values may only be used on
+ certain Content-Types. In particular, it is expressly
+ forbidden to use any encodings other than "7bit", "8bit", or
+ "binary" with any Content-Type that recursively includes
+ other Content-Type fields, notably the "multipart" and
+
+
+
+ Borenstein & Freed [Page 12]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ "message" Content-Types. All encodings that are desired for
+ bodies of type multipart or message must be done at the
+ innermost level, by encoding the actual body that needs to
+ be encoded.
+
+ NOTE ON ENCODING RESTRICTIONS: Though the prohibition
+ against using content-transfer-encodings on data of type
+ multipart or message may seem overly restrictive, it is
+ necessary to prevent nested encodings, in which data are
+ passed through an encoding algorithm multiple times, and
+ must be decoded multiple times in order to be properly
+ viewed. Nested encodings add considerable complexity to
+ user agents: aside from the obvious efficiency problems
+ with such multiple encodings, they can obscure the basic
+ structure of a message. In particular, they can imply that
+ several decoding operations are necessary simply to find out
+ what types of objects a message contains. Banning nested
+ encodings may complicate the job of certain mail gateways,
+ but this seems less of a problem than the effect of nested
+ encodings on user agents.
+
+ NOTE ON THE RELATIONSHIP BETWEEN CONTENT-TYPE AND CONTENT-
+ TRANSFER-ENCODING: It may seem that the Content-Transfer-
+ Encoding could be inferred from the characteristics of the
+ Content-Type that is to be encoded, or, at the very least,
+ that certain Content-Transfer-Encodings could be mandated
+ for use with specific Content-Types. There are several
+ reasons why this is not the case. First, given the varying
+ types of transports used for mail, some encodings may be
+ appropriate for some Content-Type/transport combinations and
+ not for others. (For example, in an 8-bit transport, no
+ encoding would be required for text in certain character
+ sets, while such encodings are clearly required for 7-bit
+ SMTP.) Second, certain Content-Types may require different
+ types of transfer encoding under different circumstances.
+ For example, many PostScript bodies might consist entirely
+ of short lines of 7-bit data and hence require little or no
+ encoding. Other PostScript bodies (especially those using
+ Level 2 PostScript's binary encoding mechanism) may only be
+ reasonably represented using a binary transport encoding.
+ Finally, since Content-Type is intended to be an open-ended
+ specification mechanism, strict specification of an
+ association between Content-Types and encodings effectively
+ couples the specification of an application protocol with a
+ specific lower-level transport. This is not desirable since
+ the developers of a Content-Type should not have to be aware
+ of all the transports in use and what their limitations are.
+
+ NOTE ON TRANSLATING ENCODINGS: The quoted-printable and
+ base64 encodings are designed so that conversion between
+ them is possible. The only issue that arises in such a
+ conversion is the handling of line breaks. When converting
+ from quoted-printable to base64 a line break must be
+ converted into a CRLF sequence. Similarly, a CRLF sequence
+
+
+
+ Borenstein & Freed [Page 13]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ in base64 data should be converted to a quoted-printable
+ line break, but ONLY when converting text data.
+
+ NOTE ON CANONICAL ENCODING MODEL: There was some
+ confusion, in earlier drafts of this memo, regarding the
+ model for when email data was to be converted to canonical
+ form and encoded, and in particular how this process would
+ affect the treatment of CRLFs, given that the representation
+ of newlines varies greatly from system to system. For this
+ reason, a canonical model for encoding is presented as
+ Appendix H.
+
+ 5.1 Quoted-Printable Content-Transfer-Encoding
+
+ The Quoted-Printable encoding is intended to represent data
+ that largely consists of octets that correspond to printable
+ characters in the ASCII character set. It encodes the data
+ in such a way that the resulting octets are unlikely to be
+ modified by mail transport. If the data being encoded are
+ mostly ASCII text, the encoded form of the data remains
+ largely recognizable by humans. A body which is entirely
+ ASCII may also be encoded in Quoted-Printable to ensure the
+ integrity of the data should the message pass through a
+ character-translating, and/or line-wrapping gateway.
+
+ In this encoding, octets are to be represented as determined
+ by the following rules:
+
+ Rule #1: (General 8-bit representation) Any octet,
+ except those indicating a line break according to the
+ newline convention of the canonical form of the data
+ being encoded, may be represented by an "=" followed by
+ a two digit hexadecimal representation of the octet's
+ value. The digits of the hexadecimal alphabet, for this
+ purpose, are "0123456789ABCDEF". Uppercase letters must
+ be
+ used when sending hexadecimal data, though a robust
+ implementation may choose to recognize lowercase
+ letters on receipt. Thus, for example, the value 12
+ (ASCII form feed) can be represented by "=0C", and the
+ value 61 (ASCII EQUAL SIGN) can be represented by
+ "=3D". Except when the following rules allow an
+ alternative encoding, this rule is mandatory.
+
+ Rule #2: (Literal representation) Octets with decimal
+ values of 33 through 60 inclusive, and 62 through 126,
+ inclusive, MAY be represented as the ASCII characters
+ which correspond to those octets (EXCLAMATION POINT
+ through LESS THAN, and GREATER THAN through TILDE,
+ respectively).
+
+ Rule #3: (White Space): Octets with values of 9 and 32
+ MAY be represented as ASCII TAB (HT) and SPACE
+ characters, respectively, but MUST NOT be so
+
+
+
+ Borenstein & Freed [Page 14]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ represented at the end of an encoded line. Any TAB (HT)
+ or SPACE characters on an encoded line MUST thus be
+ followed on that line by a printable character. In
+ particular, an "=" at the end of an encoded line,
+ indicating a soft line break (see rule #5) may follow
+ one or more TAB (HT) or SPACE characters. It follows
+ that an octet with value 9 or 32 appearing at the end
+ of an encoded line must be represented according to
+ Rule #1. This rule is necessary because some MTAs
+ (Message Transport Agents, programs which transport
+ messages from one user to another, or perform a part of
+ such transfers) are known to pad lines of text with
+ SPACEs, and others are known to remove "white space"
+ characters from the end of a line. Therefore, when
+ decoding a Quoted-Printable body, any trailing white
+ space on a line must be deleted, as it will necessarily
+ have been added by intermediate transport agents.
+
+ Rule #4 (Line Breaks): A line break in a text body
+ part, independent of what its representation is
+ following the canonical representation of the data
+ being encoded, must be represented by a (RFC 822) line
+ break, which is a CRLF sequence, in the Quoted-
+ Printable encoding. If isolated CRs and LFs, or LF CR
+ and CR LF sequences are allowed to appear in binary
+ data according to the canonical form, they must be
+ represented using the "=0D", "=0A", "=0A=0D" and
+ "=0D=0A" notations respectively.
+
+ Note that many implementation may elect to encode the
+ local representation of various content types directly.
+ In particular, this may apply to plain text material on
+ systems that use newline conventions other than CRLF
+ delimiters. Such an implementation is permissible, but
+ the generation of line breaks must be generalized to
+ account for the case where alternate representations of
+ newline sequences are used.
+
+ Rule #5 (Soft Line Breaks): The Quoted-Printable
+ encoding REQUIRES that encoded lines be no more than 76
+ characters long. If longer lines are to be encoded with
+ the Quoted-Printable encoding, 'soft' line breaks must
+ be used. An equal sign as the last character on a
+ encoded line indicates such a non-significant ('soft')
+ line break in the encoded text. Thus if the "raw" form
+ of the line is a single unencoded line that says:
+
+ Now's the time for all folk to come to the aid of
+ their country.
+
+ This can be represented, in the Quoted-Printable
+ encoding, as
+
+
+
+
+
+ Borenstein & Freed [Page 15]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Now's the time =
+ for all folk to come=
+ to the aid of their country.
+
+ This provides a mechanism with which long lines are
+ encoded in such a way as to be restored by the user
+ agent. The 76 character limit does not count the
+ trailing CRLF, but counts all other characters,
+ including any equal signs.
+
+ Since the hyphen character ("-") is represented as itself in
+ the Quoted-Printable encoding, care must be taken, when
+ encapsulating a quoted-printable encoded body in a multipart
+ entity, to ensure that the encapsulation boundary does not
+ appear anywhere in the encoded body. (A good strategy is to
+ choose a boundary that includes a character sequence such as
+ "=_" which can never appear in a quoted-printable body. See
+ the definition of multipart messages later in this
+ document.)
+
+ NOTE: The quoted-printable encoding represents something of
+ a compromise between readability and reliability in
+ transport. Bodies encoded with the quoted-printable
+ encoding will work reliably over most mail gateways, but may
+ not work perfectly over a few gateways, notably those
+ involving translation into EBCDIC. (In theory, an EBCDIC
+ gateway could decode a quoted-printable body and re-encode
+ it using base64, but such gateways do not yet exist.) A
+ higher level of confidence is offered by the base64
+ Content-Transfer-Encoding. A way to get reasonably reliable
+ transport through EBCDIC gateways is to also quote the ASCII
+ characters
+
+ !"#$@[\]^`{|}~
+
+ according to rule #1. See Appendix B for more information.
+
+ Because quoted-printable data is generally assumed to be
+ line-oriented, it is to be expected that the breaks between
+ the lines of quoted printable data may be altered in
+ transport, in the same manner that plain text mail has
+ always been altered in Internet mail when passing between
+ systems with differing newline conventions. If such
+ alterations are likely to constitute a corruption of the
+ data, it is probably more sensible to use the base64
+ encoding rather than the quoted-printable encoding.
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 16]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 5.2 Base64 Content-Transfer-Encoding
+
+ The Base64 Content-Transfer-Encoding is designed to
+ represent arbitrary sequences of octets in a form that is
+ not humanly readable. The encoding and decoding algorithms
+ are simple, but the encoded data are consistently only about
+ 33 percent larger than the unencoded data. This encoding is
+ based on the one used in Privacy Enhanced Mail applications,
+ as defined in RFC 1113. The base64 encoding is adapted
+ from RFC 1113, with one change: base64 eliminates the "*"
+ mechanism for embedded clear text.
+
+ A 65-character subset of US-ASCII is used, enabling 6 bits
+ to be represented per printable character. (The extra 65th
+ character, "=", is used to signify a special processing
+ function.)
+
+ NOTE: This subset has the important property that it is
+ represented identically in all versions of ISO 646,
+ including US ASCII, and all characters in the subset are
+ also represented identically in all versions of EBCDIC.
+ Other popular encodings, such as the encoding used by the
+ UUENCODE utility and the base85 encoding specified as part
+ of Level 2 PostScript, do not share these properties, and
+ thus do not fulfill the portability requirements a binary
+ transport encoding for mail must meet.
+
+ The encoding process represents 24-bit groups of input bits
+ as output strings of 4 encoded characters. Proceeding from
+ left to right, a 24-bit input group is formed by
+ concatenating 3 8-bit input groups. These 24 bits are then
+ treated as 4 concatenated 6-bit groups, each of which is
+ translated into a single digit in the base64 alphabet. When
+ encoding a bit stream via the base64 encoding, the bit
+ stream must be presumed to be ordered with the most-
+ significant-bit first. That is, the first bit in the stream
+ will be the high-order bit in the first byte, and the eighth
+ bit will be the low-order bit in the first byte, and so on.
+
+ Each 6-bit group is used as an index into an array of 64
+ printable characters. The character referenced by the index
+ is placed in the output string. These characters, identified
+ in Table 1, below, are selected so as to be universally
+ representable, and the set excludes characters with
+ particular significance to SMTP (e.g., ".", "CR", "LF") and
+ to the encapsulation boundaries defined in this document
+ (e.g., "-").
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 17]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Table 1: The Base64 Alphabet
+
+ Value Encoding Value Encoding Value Encoding Value
+ Encoding
+ 0 A 17 R 34 i 51 z
+ 1 B 18 S 35 j 52 0
+ 2 C 19 T 36 k 53 1
+ 3 D 20 U 37 l 54 2
+ 4 E 21 V 38 m 55 3
+ 5 F 22 W 39 n 56 4
+ 6 G 23 X 40 o 57 5
+ 7 H 24 Y 41 p 58 6
+ 8 I 25 Z 42 q 59 7
+ 9 J 26 a 43 r 60 8
+ 10 K 27 b 44 s 61 9
+ 11 L 28 c 45 t 62 +
+ 12 M 29 d 46 u 63 /
+ 13 N 30 e 47 v
+ 14 O 31 f 48 w (pad) =
+ 15 P 32 g 49 x
+ 16 Q 33 h 50 y
+
+ The output stream (encoded bytes) must be represented in
+ lines of no more than 76 characters each. All line breaks
+ or other characters not found in Table 1 must be ignored by
+ decoding software. In base64 data, characters other than
+ those in Table 1, line breaks, and other white space
+ probably indicate a transmission error, about which a
+ warning message or even a message rejection might be
+ appropriate under some circumstances.
+
+ Special processing is performed if fewer than 24 bits are
+ available at the end of the data being encoded. A full
+ encoding quantum is always completed at the end of a body.
+ When fewer than 24 input bits are available in an input
+ group, zero bits are added (on the right) to form an
+ integral number of 6-bit groups. Output character positions
+ which are not required to represent actual input data are
+ set to the character "=". Since all base64 input is an
+ integral number of octets, only the following cases can
+ arise: (1) the final quantum of encoding input is an
+ integral multiple of 24 bits; here, the final unit of
+ encoded output will be an integral multiple of 4 characters
+ with no "=" padding, (2) the final quantum of encoding input
+ is exactly 8 bits; here, the final unit of encoded output
+ will be two characters followed by two "=" padding
+ characters, or (3) the final quantum of encoding input is
+ exactly 16 bits; here, the final unit of encoded output will
+ be three characters followed by one "=" padding character.
+
+ Care must be taken to use the proper octets for line breaks
+ if base64 encoding is applied directly to text material that
+ has not been converted to canonical form. In particular,
+ text line breaks should be converted into CRLF sequences
+
+
+
+ Borenstein & Freed [Page 18]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ prior to base64 encoding. The important thing to note is
+ that this may be done directly by the encoder rather than in
+ a prior canonicalization step in some implementations.
+
+ NOTE: There is no need to worry about quoting apparent
+ encapsulation boundaries within base64-encoded parts of
+ multipart entities because no hyphen characters are used in
+ the base64 encoding.
+
+ 6 Additional Optional Content- Header Fields
+
+ 6.1 Optional Content-ID Header Field
+
+ In constructing a high-level user agent, it may be desirable
+ to allow one body to make reference to another.
+ Accordingly, bodies may be labeled using the "Content-ID"
+ header field, which is syntactically identical to the
+ "Message-ID" header field:
+
+ Content-ID := msg-id
+
+ Like the Message-ID values, Content-ID values must be
+ generated to be as unique as possible.
+
+ 6.2 Optional Content-Description Header Field
+
+ The ability to associate some descriptive information with a
+ given body is often desirable. For example, it may be useful
+ to mark an "image" body as "a picture of the Space Shuttle
+ Endeavor." Such text may be placed in the Content-
+ Description header field.
+
+ Content-Description := *text
+
+ The description is presumed to be given in the US-ASCII
+ character set, although the mechanism specified in [RFC-
+ 1342] may be used for non-US-ASCII Content-Description
+ values.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 19]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 7 The Predefined Content-Type Values
+
+ This document defines seven initial Content-Type values and
+ an extension mechanism for private or experimental types.
+ Further standard types must be defined by new published
+ specifications. It is expected that most innovation in new
+ types of mail will take place as subtypes of the seven types
+ defined here. The most essential characteristics of the
+ seven content-types are summarized in Appendix G.
+
+ 7.1 The Text Content-Type
+
+ The text Content-Type is intended for sending material which
+ is principally textual in form. It is the default Content-
+ Type. A "charset" parameter may be used to indicate the
+ character set of the body text. The primary subtype of text
+ is "plain". This indicates plain (unformatted) text. The
+ default Content-Type for Internet mail is "text/plain;
+ charset=us-ascii".
+
+ Beyond plain text, there are many formats for representing
+ what might be known as "extended text" -- text with embedded
+ formatting and presentation information. An interesting
+ characteristic of many such representations is that they are
+ to some extent readable even without the software that
+ interprets them. It is useful, then, to distinguish them,
+ at the highest level, from such unreadable data as images,
+ audio, or text represented in an unreadable form. In the
+ absence of appropriate interpretation software, it is
+ reasonable to show subtypes of text to the user, while it is
+ not reasonable to do so with most nontextual data.
+
+ Such formatted textual data should be represented using
+ subtypes of text. Plausible subtypes of text are typically
+ given by the common name of the representation format, e.g.,
+ "text/richtext".
+
+ 7.1.1 The charset parameter
+
+ A critical parameter that may be specified in the Content-
+ Type field for text data is the character set. This is
+ specified with a "charset" parameter, as in:
+
+ Content-type: text/plain; charset=us-ascii
+
+ Unlike some other parameter values, the values of the
+ charset parameter are NOT case sensitive. The default
+ character set, which must be assumed in the absence of a
+ charset parameter, is US-ASCII.
+
+ An initial list of predefined character set names can be
+ found at the end of this section. Additional character sets
+ may be registered with IANA as described in Appendix F,
+ although the standardization of their use requires the usual
+
+
+
+ Borenstein & Freed [Page 20]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ IAB review and approval. Note that if the specified
+ character set includes 8-bit data, a Content-Transfer-
+ Encoding header field and a corresponding encoding on the
+ data are required in order to transmit the body via some
+ mail transfer protocols, such as SMTP.
+
+ The default character set, US-ASCII, has been the subject of
+ some confusion and ambiguity in the past. Not only were
+ there some ambiguities in the definition, there have been
+ wide variations in practice. In order to eliminate such
+ ambiguity and variations in the future, it is strongly
+ recommended that new user agents explicitly specify a
+ character set via the Content-Type header field. "US-ASCII"
+ does not indicate an arbitrary seven-bit character code, but
+ specifies that the body uses character coding that uses the
+ exact correspondence of codes to characters specified in
+ ASCII. National use variations of ISO 646 [ISO-646] are NOT
+ ASCII and their use in Internet mail is explicitly
+ discouraged. The omission of the ISO 646 character set is
+ deliberate in this regard. The character set name of "US-
+ ASCII" explicitly refers to ANSI X3.4-1986 [US-ASCII] only.
+ The character set name "ASCII" is reserved and must not be
+ used for any purpose.
+
+ NOTE: RFC 821 explicitly specifies "ASCII", and references
+ an earlier version of the American Standard. Insofar as one
+ of the purposes of specifying a Content-Type and character
+ set is to permit the receiver to unambiguously determine how
+ the sender intended the coded message to be interpreted,
+ assuming anything other than "strict ASCII" as the default
+ would risk unintentional and incompatible changes to the
+ semantics of messages now being transmitted. This also
+ implies that messages containing characters coded according
+ to national variations on ISO 646, or using code-switching
+ procedures (e.g., those of ISO 2022), as well as 8-bit or
+ multiple octet character encodings MUST use an appropriate
+ character set specification to be consistent with this
+ specification.
+
+ The complete US-ASCII character set is listed in [US-ASCII].
+ Note that the control characters including DEL (0-31, 127)
+ have no defined meaning apart from the combination CRLF
+ (ASCII values 13 and 10) indicating a new line. Two of the
+ characters have de facto meanings in wide use: FF (12) often
+ means "start subsequent text on the beginning of a new
+ page"; and TAB or HT (9) often (though not always) means
+ "move the cursor to the next available column after the
+ current position where the column number is a multiple of 8
+ (counting the first column as column 0)." Apart from this,
+ any use of the control characters or DEL in a body must be
+ part of a private agreement between the sender and
+ recipient. Such private agreements are discouraged and
+ should be replaced by the other capabilities of this
+ document.
+
+
+
+ Borenstein & Freed [Page 21]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ NOTE: Beyond US-ASCII, an enormous proliferation of
+ character sets is possible. It is the opinion of the IETF
+ working group that a large number of character sets is NOT a
+ good thing. We would prefer to specify a single character
+ set that can be used universally for representing all of the
+ world's languages in electronic mail. Unfortunately,
+ existing practice in several communities seems to point to
+ the continued use of multiple character sets in the near
+ future. For this reason, we define names for a small number
+ of character sets for which a strong constituent base
+ exists. It is our hope that ISO 10646 or some other
+ effort will eventually define a single world character set
+ which can then be specified for use in Internet mail, but in
+ the advance of that definition we cannot specify the use of
+ ISO 10646, Unicode, or any other character set whose
+ definition is, as of this writing, incomplete.
+
+ The defined charset values are:
+
+ US-ASCII -- as defined in [US-ASCII].
+
+ ISO-8859-X -- where "X" is to be replaced, as
+ necessary, for the parts of ISO-8859 [ISO-
+ 8859]. Note that the ISO 646 character sets
+ have deliberately been omitted in favor of
+ their 8859 replacements, which are the
+ designated character sets for Internet mail.
+ As of the publication of this document, the
+ legitimate values for "X" are the digits 1
+ through 9.
+
+ Note that the character set used, if anything other than
+ US-ASCII, must always be explicitly specified in the
+ Content-Type field.
+
+ No other character set name may be used in Internet mail
+ without the publication of a formal specification and its
+ registration with IANA as described in Appendix F, or by
+ private agreement, in which case the character set name must
+ begin with "X-".
+
+ Implementors are discouraged from defining new character
+ sets for mail use unless absolutely necessary.
+
+ The "charset" parameter has been defined primarily for the
+ purpose of textual data, and is described in this section
+ for that reason. However, it is conceivable that non-
+ textual data might also wish to specify a charset value for
+ some purpose, in which case the same syntax and values
+ should be used.
+
+ In general, mail-sending software should always use the
+ "lowest common denominator" character set possible. For
+ example, if a body contains only US-ASCII characters, it
+
+
+
+ Borenstein & Freed [Page 22]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ should be marked as being in the US-ASCII character set, not
+ ISO-8859-1, which, like all the ISO-8859 family of character
+ sets, is a superset of US-ASCII. More generally, if a
+ widely-used character set is a subset of another character
+ set, and a body contains only characters in the widely-used
+ subset, it should be labeled as being in that subset. This
+ will increase the chances that the recipient will be able to
+ view the mail correctly.
+
+ 7.1.2 The Text/plain subtype
+
+ The primary subtype of text is "plain". This indicates
+ plain (unformatted) text. The default Content-Type for
+ Internet mail, "text/plain; charset=us-ascii", describes
+ existing Internet practice, that is, it is the type of body
+ defined by RFC 822.
+
+ 7.1.3 The Text/richtext subtype
+
+ In order to promote the wider interoperability of simple
+ formatted text, this document defines an extremely simple
+ subtype of "text", the "richtext" subtype. This subtype was
+ designed to meet the following criteria:
+
+ 1. The syntax must be extremely simple to parse,
+ so that even teletype-oriented mail systems can
+ easily strip away the formatting information and
+ leave only the readable text.
+
+ 2. The syntax must be extensible to allow for new
+ formatting commands that are deemed essential.
+
+ 3. The capabilities must be extremely limited, to
+ ensure that it can represent no more than is
+ likely to be representable by the user's primary
+ word processor. While this limits what can be
+ sent, it increases the likelihood that what is
+ sent can be properly displayed.
+
+ 4. The syntax must be compatible with SGML, so
+ that, with an appropriate DTD (Document Type
+ Definition, the standard mechanism for defining a
+ document type using SGML), a general SGML parser
+ could be made to parse richtext. However, despite
+ this compatibility, the syntax should be far
+ simpler than full SGML, so that no SGML knowledge
+ is required in order to implement it.
+
+ The syntax of "richtext" is very simple. It is assumed, at
+ the top-level, to be in the US-ASCII character set, unless
+ of course a different charset parameter was specified in the
+ Content-type field. All characters represent themselves,
+ with the exception of the "<" character (ASCII 60), which is
+ used to mark the beginning of a formatting command.
+
+
+
+ Borenstein & Freed [Page 23]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Formatting instructions consist of formatting commands
+ surrounded by angle brackets ("<>", ASCII 60 and 62). Each
+ formatting command may be no more than 40 characters in
+ length, all in US-ASCII, restricted to the alphanumeric and
+ hyphen ("-") characters. Formatting commands may be preceded
+ by a forward slash or solidus ("/", ASCII 47), making them
+ negations, and such negations must always exist to balance
+ the initial opening commands, except as noted below. Thus,
+ if the formatting command "<bold>" appears at some point,
+ there must later be a "</bold>" to balance it. There are
+ only three exceptions to this "balancing" rule: First, the
+ command "<lt>" is used to represent a literal "<" character.
+ Second, the command "<nl>" is used to represent a required
+ line break. (Otherwise, CRLFs in the data are treated as
+ equivalent to a single SPACE character.) Finally, the
+ command "<np>" is used to represent a page break. (NOTE:
+ The 40 character limit on formatting commands does not
+ include the "<", ">", or "/" characters that might be
+ attached to such commands.)
+
+ Initially defined formatting commands, not all of which will
+ be implemented by all richtext implementations, include:
+
+ Bold -- causes the subsequent text to be in a bold
+ font.
+ Italic -- causes the subsequent text to be in an italic
+ font.
+ Fixed -- causes the subsequent text to be in a fixed
+ width font.
+ Smaller -- causes the subsequent text to be in a
+ smaller font.
+ Bigger -- causes the subsequent text to be in a bigger
+ font.
+ Underline -- causes the subsequent text to be
+ underlined.
+ Center -- causes the subsequent text to be centered.
+ FlushLeft -- causes the subsequent text to be left
+ justified.
+ FlushRight -- causes the subsequent text to be right
+ justified.
+ Indent -- causes the subsequent text to be indented at
+ the left margin.
+ IndentRight -- causes the subsequent text to be
+ indented at the right margin.
+ Outdent -- causes the subsequent text to be outdented
+ at the left margin.
+ OutdentRight -- causes the subsequent text to be
+ outdented at the right margin.
+ SamePage -- causes the subsequent text to be grouped,
+ if possible, on one page.
+ Subscript -- causes the subsequent text to be
+ interpreted as a subscript.
+
+
+
+
+
+ Borenstein & Freed [Page 24]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Superscript -- causes the subsequent text to be
+ interpreted as a superscript.
+ Heading -- causes the subsequent text to be interpreted
+ as a page heading.
+ Footing -- causes the subsequent text to be interpreted
+ as a page footing.
+ ISO-8859-X (for any value of X that is legal as a
+ "charset" parameter) -- causes the subsequent text
+ to be interpreted as text in the appropriate
+ character set.
+ US-ASCII -- causes the subsequent text to be
+ interpreted as text in the US-ASCII character set.
+ Excerpt -- causes the subsequent text to be interpreted
+ as a textual excerpt from another source.
+ Typically this will be displayed using indentation
+ and an alternate font, but such decisions are up
+ to the viewer.
+ Paragraph -- causes the subsequent text to be
+ interpreted as a single paragraph, with
+ appropriate paragraph breaks (typically blank
+ space) before and after.
+ Signature -- causes the subsequent text to be
+ interpreted as a "signature". Some systems may
+ wish to display signatures in a smaller font or
+ otherwise set them apart from the main text of the
+ message.
+ Comment -- causes the subsequent text to be interpreted
+ as a comment, and hence not shown to the reader.
+ No-op -- has no effect on the subsequent text.
+ lt -- <lt> is replaced by a literal "<" character. No
+ balancing </lt> is allowed.
+ nl -- <nl> causes a line break. No balancing </nl> is
+ allowed.
+ np -- <np> causes a page break. No balancing </np> is
+ allowed.
+
+ Each positive formatting command affects all subsequent text
+ until the matching negative formatting command. Such pairs
+ of formatting commands must be properly balanced and nested.
+ Thus, a proper way to describe text in bold italics is:
+
+ <bold><italic>the-text</italic></bold>
+
+ or, alternately,
+
+ <italic><bold>the-text</bold></italic>
+
+ but, in particular, the following is illegal
+ richtext:
+
+ <bold><italic>the-text</bold></italic>
+
+ NOTE: The nesting requirement for formatting commands
+ imposes a slightly higher burden upon the composers of
+
+
+
+ Borenstein & Freed [Page 25]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ richtext bodies, but potentially simplifies richtext
+ displayers by allowing them to be stack-based. The main
+ goal of richtext is to be simple enough to make multifont,
+ formatted email widely readable, so that those with the
+ capability of sending it will be able to do so with
+ confidence. Thus slightly increased complexity in the
+ composing software was deemed a reasonable tradeoff for
+ simplified reading software. Nonetheless, implementors of
+ richtext readers are encouraged to follow the general
+ Internet guidelines of being conservative in what you send
+ and liberal in what you accept. Those implementations that
+ can do so are encouraged to deal reasonably with improperly
+ nested richtext.
+
+ Implementations must regard any unrecognized formatting
+ command as equivalent to "No-op", thus facilitating future
+ extensions to "richtext". Private extensions may be defined
+ using formatting commands that begin with "X-", by analogy
+ to Internet mail header field names.
+
+ It is worth noting that no special behavior is required for
+ the TAB (HT) character. It is recommended, however, that, at
+ least when fixed-width fonts are in use, the common
+ semantics of the TAB (HT) character should be observed,
+ namely that it moves to the next column position that is a
+ multiple of 8. (In other words, if a TAB (HT) occurs in
+ column n, where the leftmost column is column 0, then that
+ TAB (HT) should be replaced by 8-(n mod 8) SPACE
+ characters.)
+
+ Richtext also differentiates between "hard" and "soft" line
+ breaks. A line break (CRLF) in the richtext data stream is
+ interpreted as a "soft" line break, one that is included
+ only for purposes of mail transport, and is to be treated as
+ white space by richtext interpreters. To include a "hard"
+ line break (one that must be displayed as such), the "<nl>"
+ or "<paragraph> formatting constructs should be used. In
+ general, a soft line break should be treated as white space,
+ but when soft line breaks immediately follow a <nl> or a
+ </paragraph> tag they should be ignored rather than treated
+ as white space.
+
+ Putting all this together, the following "text/richtext"
+ body fragment:
+
+ <bold>Now</bold> is the time for
+ <italic>all</italic> good men
+ <smaller>(and <lt>women>)</smaller> to
+ <ignoreme></ignoreme> come
+
+ to the aid of their
+ <nl>
+
+
+
+
+
+ Borenstein & Freed [Page 26]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ beloved <nl><nl>country. <comment> Stupid
+ quote! </comment> -- the end
+
+ represents the following formatted text (which will, no
+ doubt, look cryptic in the text-only version of this
+ document):
+
+ Now is the time for all good men (and <women>) to
+ come to the aid of their
+ beloved
+
+ country. -- the end
+
+ Richtext conformance: A minimal richtext implementation is
+ one that simply converts "<lt>" to "<", converts CRLFs to
+ SPACE, converts <nl> to a newline according to local newline
+ convention, removes everything between a <comment> command
+ and the next balancing </comment> command, and removes all
+ other formatting commands (all text enclosed in angle
+ brackets).
+
+ NOTE ON THE RELATIONSHIP OF RICHTEXT TO SGML: Richtext is
+ decidedly not SGML, and must not be used to transport
+ arbitrary SGML documents. Those who wish to use SGML
+ document types as a mail transport format must define a new
+ text or application subtype, e.g., "text/sgml-dtd-whatever"
+ or "application/sgml-dtd-whatever", depending on the
+ perceived readability of the DTD in use. Richtext is
+ designed to be compatible with SGML, and specifically so
+ that it will be possible to define a richtext DTD if one is
+ needed. However, this does not imply that arbitrary SGML
+ can be called richtext, nor that richtext implementors have
+ any need to understand SGML; the description in this
+ document is a complete definition of richtext, which is far
+ simpler than complete SGML.
+
+ NOTE ON THE INTENDED USE OF RICHTEXT: It is recognized that
+ implementors of future mail systems will want rich text
+ functionality far beyond that currently defined for
+ richtext. The intent of richtext is to provide a common
+ format for expressing that functionality in a form in which
+ much of it, at least, will be understood by interoperating
+ software. Thus, in particular, software with a richer
+ notion of formatted text than richtext can still use
+ richtext as its basic representation, but can extend it with
+ new formatting commands and by hiding information specific
+ to that software system in richtext comments. As such
+ systems evolve, it is expected that the definition of
+ richtext will be further refined by future published
+ specifications, but richtext as defined here provides a
+ platform on which evolutionary refinements can be based.
+
+ IMPLEMENTATION NOTE: In some environments, it might be
+ impossible to combine certain richtext formatting commands,
+
+
+
+ Borenstein & Freed [Page 27]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ whereas in others they might be combined easily. For
+ example, the combination of <bold> and <italic> might
+ produce bold italics on systems that support such fonts, but
+ there exist systems that can make text bold or italicized,
+ but not both. In such cases, the most recently issued
+ recognized formatting command should be preferred.
+
+ One of the major goals in the design of richtext was to make
+ it so simple that even text-only mailers will implement
+ richtext-to-plain-text translators, thus increasing the
+ likelihood that multifont text will become "safe" to use
+ very widely. To demonstrate this simplicity, an extremely
+ simple 35-line C program that converts richtext input into
+ plain text output is included in Appendix D.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 28]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 7.2 The Multipart Content-Type
+
+ In the case of multiple part messages, in which one or more
+ different sets of data are combined in a single body, a
+ "multipart" Content-Type field must appear in the entity's
+ header. The body must then contain one or more "body parts,"
+ each preceded by an encapsulation boundary, and the last one
+ followed by a closing boundary. Each part starts with an
+ encapsulation boundary, and then contains a body part
+ consisting of header area, a blank line, and a body area.
+ Thus a body part is similar to an RFC 822 message in syntax,
+ but different in meaning.
+
+ A body part is NOT to be interpreted as actually being an
+ RFC 822 message. To begin with, NO header fields are
+ actually required in body parts. A body part that starts
+ with a blank line, therefore, is allowed and is a body part
+ for which all default values are to be assumed. In such a
+ case, the absence of a Content-Type header field implies
+ that the encapsulation is plain US-ASCII text. The only
+ header fields that have defined meaning for body parts are
+ those the names of which begin with "Content-". All other
+ header fields are generally to be ignored in body parts.
+ Although they should generally be retained in mail
+ processing, they may be discarded by gateways if necessary.
+ Such other fields are permitted to appear in body parts but
+ should not be depended on. "X-" fields may be created for
+ experimental or private purposes, with the recognition that
+ the information they contain may be lost at some gateways.
+
+ The distinction between an RFC 822 message and a body part
+ is subtle, but important. A gateway between Internet and
+ X.400 mail, for example, must be able to tell the difference
+ between a body part that contains an image and a body part
+ that contains an encapsulated message, the body of which is
+ an image. In order to represent the latter, the body part
+ must have "Content-Type: message", and its body (after the
+ blank line) must be the encapsulated message, with its own
+ "Content-Type: image" header field. The use of similar
+ syntax facilitates the conversion of messages to body parts,
+ and vice versa, but the distinction between the two must be
+ understood by implementors. (For the special case in which
+ all parts actually are messages, a "digest" subtype is also
+ defined.)
+
+ As stated previously, each body part is preceded by an
+ encapsulation boundary. The encapsulation boundary MUST NOT
+ appear inside any of the encapsulated parts. Thus, it is
+ crucial that the composing agent be able to choose and
+ specify the unique boundary that will separate the parts.
+
+ All present and future subtypes of the "multipart" type must
+ use an identical syntax. Subtypes may differ in their
+ semantics, and may impose additional restrictions on syntax,
+
+
+
+ Borenstein & Freed [Page 29]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ but must conform to the required syntax for the multipart
+ type. This requirement ensures that all conformant user
+ agents will at least be able to recognize and separate the
+ parts of any multipart entity, even of an unrecognized
+ subtype.
+
+ As stated in the definition of the Content-Transfer-Encoding
+ field, no encoding other than "7bit", "8bit", or "binary" is
+ permitted for entities of type "multipart". The multipart
+ delimiters and header fields are always 7-bit ASCII in any
+ case, and data within the body parts can be encoded on a
+ part-by-part basis, with Content-Transfer-Encoding fields
+ for each appropriate body part.
+
+ Mail gateways, relays, and other mail handling agents are
+ commonly known to alter the top-level header of an RFC 822
+ message. In particular, they frequently add, remove, or
+ reorder header fields. Such alterations are explicitly
+ forbidden for the body part headers embedded in the bodies
+ of messages of type "multipart."
+
+ 7.2.1 Multipart: The common syntax
+
+ All subtypes of "multipart" share a common syntax, defined
+ in this section. A simple example of a multipart message
+ also appears in this section. An example of a more complex
+ multipart message is given in Appendix C.
+
+ The Content-Type field for multipart entities requires one
+ parameter, "boundary", which is used to specify the
+ encapsulation boundary. The encapsulation boundary is
+ defined as a line consisting entirely of two hyphen
+ characters ("-", decimal code 45) followed by the boundary
+ parameter value from the Content-Type header field.
+
+ NOTE: The hyphens are for rough compatibility with the
+ earlier RFC 934 method of message encapsulation, and for
+ ease of searching for the boundaries in some
+ implementations. However, it should be noted that multipart
+ messages are NOT completely compatible with RFC 934
+ encapsulations; in particular, they do not obey RFC 934
+ quoting conventions for embedded lines that begin with
+ hyphens. This mechanism was chosen over the RFC 934
+ mechanism because the latter causes lines to grow with each
+ level of quoting. The combination of this growth with the
+ fact that SMTP implementations sometimes wrap long lines
+ made the RFC 934 mechanism unsuitable for use in the event
+ that deeply-nested multipart structuring is ever desired.
+
+ Thus, a typical multipart Content-Type header field might
+ look like this:
+
+ Content-Type: multipart/mixed;
+
+
+
+
+ Borenstein & Freed [Page 30]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ boundary=gc0p4Jq0M2Yt08jU534c0p
+
+ This indicates that the entity consists of several parts,
+ each itself with a structure that is syntactically identical
+ to an RFC 822 message, except that the header area might be
+ completely empty, and that the parts are each preceded by
+ the line
+
+ --gc0p4Jq0M2Yt08jU534c0p
+
+ Note that the encapsulation boundary must occur at the
+ beginning of a line, i.e., following a CRLF, and that that
+ initial CRLF is considered to be part of the encapsulation
+ boundary rather than part of the preceding part. The
+ boundary must be followed immediately either by another CRLF
+ and the header fields for the next part, or by two CRLFs, in
+ which case there are no header fields for the next part (and
+ it is therefore assumed to be of Content-Type text/plain).
+
+ NOTE: The CRLF preceding the encapsulation line is
+ considered part of the boundary so that it is possible to
+ have a part that does not end with a CRLF (line break).
+ Body parts that must be considered to end with line breaks,
+ therefore, should have two CRLFs preceding the encapsulation
+ line, the first of which is part of the preceding body part,
+ and the second of which is part of the encapsulation
+ boundary.
+
+ The requirement that the encapsulation boundary begins with
+ a CRLF implies that the body of a multipart entity must
+ itself begin with a CRLF before the first encapsulation line
+ -- that is, if the "preamble" area is not used, the entity
+ headers must be followed by TWO CRLFs. This is indeed how
+ such entities should be composed. A tolerant mail reading
+ program, however, may interpret a body of type multipart
+ that begins with an encapsulation line NOT initiated by a
+ CRLF as also being an encapsulation boundary, but a
+ compliant mail sending program must not generate such
+ entities.
+
+ Encapsulation boundaries must not appear within the
+ encapsulations, and must be no longer than 70 characters,
+ not counting the two leading hyphens.
+
+ The encapsulation boundary following the last body part is a
+ distinguished delimiter that indicates that no further body
+ parts will follow. Such a delimiter is identical to the
+ previous delimiters, with the addition of two more hyphens
+ at the end of the line:
+
+ --gc0p4Jq0M2Yt08jU534c0p--
+
+ There appears to be room for additional information prior to
+ the first encapsulation boundary and following the final
+
+
+
+ Borenstein & Freed [Page 31]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ boundary. These areas should generally be left blank, and
+ implementations should ignore anything that appears before
+ the first boundary or after the last one.
+
+ NOTE: These "preamble" and "epilogue" areas are not used
+ because of the lack of proper typing of these parts and the
+ lack of clear semantics for handling these areas at
+ gateways, particularly X.400 gateways.
+
+ NOTE: Because encapsulation boundaries must not appear in
+ the body parts being encapsulated, a user agent must
+ exercise care to choose a unique boundary. The boundary in
+ the example above could have been the result of an algorithm
+ designed to produce boundaries with a very low probability
+ of already existing in the data to be encapsulated without
+ having to prescan the data. Alternate algorithms might
+ result in more 'readable' boundaries for a recipient with an
+ old user agent, but would require more attention to the
+ possibility that the boundary might appear in the
+ encapsulated part. The simplest boundary possible is
+ something like "---", with a closing boundary of "-----".
+
+ As a very simple example, the following multipart message
+ has two parts, both of them plain text, one of them
+ explicitly typed and one of them implicitly typed:
+
+ From: Nathaniel Borenstein <nsb@bellcore.com>
+ To: Ned Freed <ned@innosoft.com>
+ Subject: Sample message
+ MIME-Version: 1.0
+ Content-type: multipart/mixed; boundary="simple
+ boundary"
+
+ This is the preamble. It is to be ignored, though it
+ is a handy place for mail composers to include an
+ explanatory note to non-MIME compliant readers.
+ --simple boundary
+
+ This is implicitly typed plain ASCII text.
+ It does NOT end with a linebreak.
+ --simple boundary
+ Content-type: text/plain; charset=us-ascii
+
+ This is explicitly typed plain ASCII text.
+ It DOES end with a linebreak.
+
+ --simple boundary--
+ This is the epilogue. It is also to be ignored.
+
+ The use of a Content-Type of multipart in a body part within
+ another multipart entity is explicitly allowed. In such
+ cases, for obvious reasons, care must be taken to ensure
+ that each nested multipart entity must use a different
+ boundary delimiter. See Appendix C for an example of nested
+
+
+
+ Borenstein & Freed [Page 32]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ multipart entities.
+
+ The use of the multipart Content-Type with only a single
+ body part may be useful in certain contexts, and is
+ explicitly permitted.
+
+ The only mandatory parameter for the multipart Content-Type
+ is the boundary parameter, which consists of 1 to 70
+ characters from a set of characters known to be very robust
+ through email gateways, and NOT ending with white space.
+ (If a boundary appears to end with white space, the white
+ space must be presumed to have been added by a gateway, and
+ should be deleted.) It is formally specified by the
+ following BNF:
+
+ boundary := 0*69<bchars> bcharsnospace
+
+ bchars := bcharsnospace / " "
+
+ bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / "+" /
+ "_"
+ / "," / "-" / "." / "/" / ":" / "=" / "?"
+
+ Overall, the body of a multipart entity may be specified as
+ follows:
+
+ multipart-body := preamble 1*encapsulation
+ close-delimiter epilogue
+
+ encapsulation := delimiter CRLF body-part
+
+ delimiter := CRLF "--" boundary ; taken from Content-Type
+ field.
+ ; when content-type is
+ multipart
+ ; There must be no space
+ ; between "--" and boundary.
+
+ close-delimiter := delimiter "--" ; Again, no space before
+ "--"
+
+ preamble := *text ; to be ignored upon
+ receipt.
+
+ epilogue := *text ; to be ignored upon
+ receipt.
+
+ body-part = <"message" as defined in RFC 822,
+ with all header fields optional, and with the
+ specified delimiter not occurring anywhere in
+ the message body, either on a line by itself
+ or as a substring anywhere. Note that the
+
+
+
+
+
+ Borenstein & Freed [Page 33]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ semantics of a part differ from the semantics
+ of a message, as described in the text.>
+
+ NOTE: Conspicuously missing from the multipart type is a
+ notion of structured, related body parts. In general, it
+ seems premature to try to standardize interpart structure
+ yet. It is recommended that those wishing to provide a more
+ structured or integrated multipart messaging facility should
+ define a subtype of multipart that is syntactically
+ identical, but that always expects the inclusion of a
+ distinguished part that can be used to specify the structure
+ and integration of the other parts, probably referring to
+ them by their Content-ID field. If this approach is used,
+ other implementations will not recognize the new subtype,
+ but will treat it as the primary subtype (multipart/mixed)
+ and will thus be able to show the user the parts that are
+ recognized.
+
+ 7.2.2 The Multipart/mixed (primary) subtype
+
+ The primary subtype for multipart, "mixed", is intended for
+ use when the body parts are independent and intended to be
+ displayed serially. Any multipart subtypes that an
+ implementation does not recognize should be treated as being
+ of subtype "mixed".
+
+ 7.2.3 The Multipart/alternative subtype
+
+ The multipart/alternative type is syntactically identical to
+ multipart/mixed, but the semantics are different. In
+ particular, each of the parts is an "alternative" version of
+ the same information. User agents should recognize that the
+ content of the various parts are interchangeable. The user
+ agent should either choose the "best" type based on the
+ user's environment and preferences, or offer the user the
+ available alternatives. In general, choosing the best type
+ means displaying only the LAST part that can be displayed.
+ This may be used, for example, to send mail in a fancy text
+ format in such a way that it can easily be displayed
+ anywhere:
+
+ From: Nathaniel Borenstein <nsb@bellcore.com>
+ To: Ned Freed <ned@innosoft.com>
+ Subject: Formatted text mail
+ MIME-Version: 1.0
+ Content-Type: multipart/alternative; boundary=boundary42
+
+
+ --boundary42
+ Content-Type: text/plain; charset=us-ascii
+
+ ...plain text version of message goes here....
+
+
+
+
+
+ Borenstein & Freed [Page 34]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ --boundary42
+ Content-Type: text/richtext
+
+ .... richtext version of same message goes here ...
+ --boundary42
+ Content-Type: text/x-whatever
+
+ .... fanciest formatted version of same message goes here
+ ...
+ --boundary42--
+
+ In this example, users whose mail system understood the
+ "text/x-whatever" format would see only the fancy version,
+ while other users would see only the richtext or plain text
+ version, depending on the capabilities of their system.
+
+ In general, user agents that compose multipart/alternative
+ entities should place the body parts in increasing order of
+ preference, that is, with the preferred format last. For
+ fancy text, the sending user agent should put the plainest
+ format first and the richest format last. Receiving user
+ agents should pick and display the last format they are
+ capable of displaying. In the case where one of the
+ alternatives is itself of type "multipart" and contains
+ unrecognized sub-parts, the user agent may choose either to
+ show that alternative, an earlier alternative, or both.
+
+ NOTE: From an implementor's perspective, it might seem more
+ sensible to reverse this ordering, and have the plainest
+ alternative last. However, placing the plainest alternative
+ first is the friendliest possible option when
+ mutlipart/alternative entities are viewed using a non-MIME-
+ compliant mail reader. While this approach does impose some
+ burden on compliant mail readers, interoperability with
+ older mail readers was deemed to be more important in this
+ case.
+
+ It may be the case that some user agents, if they can
+ recognize more than one of the formats, will prefer to offer
+ the user the choice of which format to view. This makes
+ sense, for example, if mail includes both a nicely-formatted
+ image version and an easily-edited text version. What is
+ most critical, however, is that the user not automatically
+ be shown multiple versions of the same data. Either the
+ user should be shown the last recognized version or should
+ explicitly be given the choice.
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 35]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 7.2.4 The Multipart/digest subtype
+
+ This document defines a "digest" subtype of the multipart
+ Content-Type. This type is syntactically identical to
+ multipart/mixed, but the semantics are different. In
+ particular, in a digest, the default Content-Type value for
+ a body part is changed from "text/plain" to
+ "message/rfc822". This is done to allow a more readable
+ digest format that is largely compatible (except for the
+ quoting convention) with RFC 934.
+
+ A digest in this format might, then, look something like
+ this:
+
+ From: Moderator-Address
+ MIME-Version: 1.0
+ Subject: Internet Digest, volume 42
+ Content-Type: multipart/digest;
+ boundary="---- next message ----"
+
+
+ ------ next message ----
+
+ From: someone-else
+ Subject: my opinion
+
+ ...body goes here ...
+
+ ------ next message ----
+
+ From: someone-else-again
+ Subject: my different opinion
+
+ ... another body goes here...
+
+ ------ next message ------
+
+ 7.2.5 The Multipart/parallel subtype
+
+ This document defines a "parallel" subtype of the multipart
+ Content-Type. This type is syntactically identical to
+ multipart/mixed, but the semantics are different. In
+ particular, in a parallel entity, all of the parts are
+ intended to be presented in parallel, i.e., simultaneously,
+ on hardware and software that are capable of doing so.
+ Composing agents should be aware that many mail readers will
+ lack this capability and will show the parts serially in any
+ event.
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 36]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 7.3 The Message Content-Type
+
+ It is frequently desirable, in sending mail, to encapsulate
+ another mail message. For this common operation, a special
+ Content-Type, "message", is defined. The primary subtype,
+ message/rfc822, has no required parameters in the Content-
+ Type field. Additional subtypes, "partial" and "External-
+ body", do have required parameters. These subtypes are
+ explained below.
+
+ NOTE: It has been suggested that subtypes of message might
+ be defined for forwarded or rejected messages. However,
+ forwarded and rejected messages can be handled as multipart
+ messages in which the first part contains any control or
+ descriptive information, and a second part, of type
+ message/rfc822, is the forwarded or rejected message.
+ Composing rejection and forwarding messages in this manner
+ will preserve the type information on the original message
+ and allow it to be correctly presented to the recipient, and
+ hence is strongly encouraged.
+
+ As stated in the definition of the Content-Transfer-Encoding
+ field, no encoding other than "7bit", "8bit", or "binary" is
+ permitted for messages or parts of type "message". The
+ message header fields are always US-ASCII in any case, and
+ data within the body can still be encoded, in which case the
+ Content-Transfer-Encoding header field in the encapsulated
+ message will reflect this. Non-ASCII text in the headers of
+ an encapsulated message can be specified using the
+ mechanisms described in [RFC-1342].
+
+ Mail gateways, relays, and other mail handling agents are
+ commonly known to alter the top-level header of an RFC 822
+ message. In particular, they frequently add, remove, or
+ reorder header fields. Such alterations are explicitly
+ forbidden for the encapsulated headers embedded in the
+ bodies of messages of type "message."
+
+ 7.3.1 The Message/rfc822 (primary) subtype
+
+ A Content-Type of "message/rfc822" indicates that the body
+ contains an encapsulated message, with the syntax of an RFC
+ 822 message.
+
+ 7.3.2 The Message/Partial subtype
+
+ A subtype of message, "partial", is defined in order to
+ allow large objects to be delivered as several separate
+ pieces of mail and automatically reassembled by the
+ receiving user agent. (The concept is similar to IP
+ fragmentation/reassembly in the basic Internet Protocols.)
+ This mechanism can be used when intermediate transport
+ agents limit the size of individual messages that can be
+ sent. Content-Type "message/partial" thus indicates that
+
+
+
+ Borenstein & Freed [Page 37]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ the body contains a fragment of a larger message.
+
+ Three parameters must be specified in the Content-Type field
+ of type message/partial: The first, "id", is a unique
+ identifier, as close to a world-unique identifier as
+ possible, to be used to match the parts together. (In
+ general, the identifier is essentially a message-id; if
+ placed in double quotes, it can be any message-id, in
+ accordance with the BNF for "parameter" given earlier in
+ this specification.) The second, "number", an integer, is
+ the part number, which indicates where this part fits into
+ the sequence of fragments. The third, "total", another
+ integer, is the total number of parts. This third subfield
+ is required on the final part, and is optional on the
+ earlier parts. Note also that these parameters may be given
+ in any order.
+
+ Thus, part 2 of a 3-part message may have either of the
+ following header fields:
+
+ Content-Type: Message/Partial;
+ number=2; total=3;
+ id="oc=jpbe0M2Yt4s@thumper.bellcore.com";
+
+ Content-Type: Message/Partial;
+ id="oc=jpbe0M2Yt4s@thumper.bellcore.com";
+ number=2
+
+ But part 3 MUST specify the total number of parts:
+
+ Content-Type: Message/Partial;
+ number=3; total=3;
+ id="oc=jpbe0M2Yt4s@thumper.bellcore.com";
+
+ Note that part numbering begins with 1, not 0.
+
+ When the parts of a message broken up in this manner are put
+ together, the result is a complete RFC 822 format message,
+ which may have its own Content-Type header field, and thus
+ may contain any other data type.
+
+ Message fragmentation and reassembly: The semantics of a
+ reassembled partial message must be those of the "inner"
+ message, rather than of a message containing the inner
+ message. This makes it possible, for example, to send a
+ large audio message as several partial messages, and still
+ have it appear to the recipient as a simple audio message
+ rather than as an encapsulated message containing an audio
+ message. That is, the encapsulation of the message is
+ considered to be "transparent".
+
+ When generating and reassembling the parts of a
+ message/partial message, the headers of the encapsulated
+ message must be merged with the headers of the enclosing
+
+
+
+ Borenstein & Freed [Page 38]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ entities. In this process the following rules must be
+ observed:
+
+ (1) All of the headers from the initial enclosing
+ entity (part one), except those that start with
+ "Content-" and "Message-ID", must be copied, in
+ order, to the new message.
+
+ (2) Only those headers in the enclosed message
+ which start with "Content-" and "Message-ID" must
+ be appended, in order, to the headers of the new
+ message. Any headers in the enclosed message
+ which do not start with "Content-" (except for
+ "Message-ID") will be ignored.
+
+ (3) All of the headers from the second and any
+ subsequent messages will be ignored.
+
+ For example, if an audio message is broken into two parts,
+ the first part might look something like this:
+
+ X-Weird-Header-1: Foo
+ From: Bill@host.com
+ To: joe@otherhost.com
+ Subject: Audio mail
+ Message-ID: id1@host.com
+ MIME-Version: 1.0
+ Content-type: message/partial;
+ id="ABC@host.com";
+ number=1; total=2
+
+ X-Weird-Header-1: Bar
+ X-Weird-Header-2: Hello
+ Message-ID: anotherid@foo.com
+ Content-type: audio/basic
+ Content-transfer-encoding: base64
+
+ ... first half of encoded audio data goes here...
+
+ and the second half might look something like this:
+
+ From: Bill@host.com
+ To: joe@otherhost.com
+ Subject: Audio mail
+ MIME-Version: 1.0
+ Message-ID: id2@host.com
+ Content-type: message/partial;
+ id="ABC@host.com"; number=2; total=2
+
+ ... second half of encoded audio data goes here...
+
+ Then, when the fragmented message is reassembled, the
+ resulting message to be displayed to the user should look
+ something like this:
+
+
+
+ Borenstein & Freed [Page 39]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ X-Weird-Header-1: Foo
+ From: Bill@host.com
+ To: joe@otherhost.com
+ Subject: Audio mail
+ Message-ID: anotherid@foo.com
+ MIME-Version: 1.0
+ Content-type: audio/basic
+ Content-transfer-encoding: base64
+
+ ... first half of encoded audio data goes here...
+ ... second half of encoded audio data goes here...
+
+ It should be noted that, because some message transfer
+ agents may choose to automatically fragment large messages,
+ and because such agents may use different fragmentation
+ thresholds, it is possible that the pieces of a partial
+ message, upon reassembly, may prove themselves to comprise a
+ partial message. This is explicitly permitted.
+
+ It should also be noted that the inclusion of a "References"
+ field in the headers of the second and subsequent pieces of
+ a fragmented message that references the Message-Id on the
+ previous piece may be of benefit to mail readers that
+ understand and track references. However, the generation of
+ such "References" fields is entirely optional.
+
+ 7.3.3 The Message/External-Body subtype
+
+ The external-body subtype indicates that the actual body
+ data are not included, but merely referenced. In this case,
+ the parameters describe a mechanism for accessing the
+ external data.
+
+ When a message body or body part is of type
+ "message/external-body", it consists of a header, two
+ consecutive CRLFs, and the message header for the
+ encapsulated message. If another pair of consecutive CRLFs
+ appears, this of course ends the message header for the
+ encapsulated message. However, since the encapsulated
+ message's body is itself external, it does NOT appear in the
+ area that follows. For example, consider the following
+ message:
+
+ Content-type: message/external-body; access-
+ type=local-file;
+ name=/u/nsb/Me.gif
+
+ Content-type: image/gif
+
+ THIS IS NOT REALLY THE BODY!
+
+ The area at the end, which might be called the "phantom
+ body", is ignored for most external-body messages. However,
+ it may be used to contain auxilliary information for some
+
+
+
+ Borenstein & Freed [Page 40]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ such messages, as indeed it is when the access-type is
+ "mail-server". Of the access-types defined by this
+ document, the phantom body is used only when the access-type
+ is "mail-server". In all other cases, the phantom body is
+ ignored.
+
+ The only always-mandatory parameter for message/external-
+ body is "access-type"; all of the other parameters may be
+ mandatory or optional depending on the value of access-type.
+
+ ACCESS-TYPE -- One or more case-insensitive words,
+ comma-separated, indicating supported access
+ mechanisms by which the file or data may be
+ obtained. Values include, but are not limited to,
+ "FTP", "ANON-FTP", "TFTP", "AFS", "LOCAL-FILE",
+ and "MAIL-SERVER". Future values, except for
+ experimental values beginning with "X-", must be
+ registered with IANA, as described in Appendix F .
+
+ In addition, the following two parameters are optional for
+ ALL access-types:
+
+ EXPIRATION -- The date (in the RFC 822 "date-time"
+ syntax, as extended by RFC 1123 to permit 4 digits
+ in the date field) after which the existence of
+ the external data is not guaranteed.
+
+ SIZE -- The size (in octets) of the data. The
+ intent of this parameter is to help the recipient
+ decide whether or not to expend the necessary
+ resources to retrieve the external data.
+
+ PERMISSION -- A field that indicates whether or
+ not it is expected that clients might also attempt
+ to overwrite the data. By default, or if
+ permission is "read", the assumption is that they
+ are not, and that if the data is retrieved once,
+ it is never needed again. If PERMISSION is "read-
+ write", this assumption is invalid, and any local
+ copy must be considered no more than a cache.
+ "Read" and "Read-write" are the only defined
+ values of permission.
+
+ The precise semantics of the access-types defined here are
+ described in the sections that follow.
+
+ 7.3.3.1 The "ftp" and "tftp" access-types
+
+ An access-type of FTP or TFTP indicates that the message
+ body is accessible as a file using the FTP [RFC-959] or TFTP
+ [RFC-783] protocols, respectively. For these access-types,
+ the following additional parameters are mandatory:
+
+
+
+
+
+ Borenstein & Freed [Page 41]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ NAME -- The name of the file that contains the
+ actual body data.
+
+ SITE -- A machine from which the file may be
+ obtained, using the given protocol
+
+ Before the data is retrieved, using these protocols, the
+ user will generally need to be asked to provide a login id
+ and a password for the machine named by the site parameter.
+
+ In addition, the following optional parameters may also
+ appear when the access-type is FTP or ANON-FTP:
+
+ DIRECTORY -- A directory from which the data named
+ by NAME should be retrieved.
+
+ MODE -- A transfer mode for retrieving the
+ information, e.g. "image".
+
+ 7.3.3.2 The "anon-ftp" access-type
+
+ The "anon-ftp" access-type is identical to the "ftp" access
+ type, except that the user need not be asked to provide a
+ name and password for the specified site. Instead, the ftp
+ protocol will be used with login "anonymous" and a password
+ that corresponds to the user's email address.
+
+ 7.3.3.3 The "local-file" and "afs" access-types
+
+ An access-type of "local-file" indicates that the actual
+ body is accessible as a file on the local machine. An
+ access-type of "afs" indicates that the file is accessible
+ via the global AFS file system. In both cases, only a
+ single parameter is required:
+
+ NAME -- The name of the file that contains the
+ actual body data.
+
+ The following optional parameter may be used to describe the
+ locality of reference for the data, that is, the site or
+ sites at which the file is expected to be visible:
+
+ SITE -- A domain specifier for a machine or set of
+ machines that are known to have access to the data
+ file. Asterisks may be used for wildcard matching
+ to a part of a domain name, such as
+ "*.bellcore.com", to indicate a set of machines on
+ which the data should be directly visible, while a
+ single asterisk may be used to indicate a file
+ that is expected to be universally available,
+ e.g., via a global file system.
+
+ 7.3.3.4 The "mail-server" access-type
+
+
+
+
+ Borenstein & Freed [Page 42]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ The "mail-server" access-type indicates that the actual body
+ is available from a mail server. The mandatory parameter
+ for this access-type is:
+
+ SERVER -- The email address of the mail server
+ from which the actual body data can be obtained.
+
+ Because mail servers accept a variety of syntax, some of
+ which is multiline, the full command to be sent to a mail
+ server is not included as a parameter on the content-type
+ line. Instead, it may be provided as the "phantom body"
+ when the content-type is message/external-body and the
+ access-type is mail-server.
+
+ Note that MIME does not define a mail server syntax.
+ Rather, it allows the inclusion of arbitrary mail server
+ commands in the phantom body. Implementations should
+ include the phantom body in the body of the message it sends
+ to the mail server address to retrieve the relevant data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 43]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 7.3.3.5 Examples and Further Explanations
+
+ With the emerging possibility of very wide-area file
+ systems, it becomes very hard to know in advance the set of
+ machines where a file will and will not be accessible
+ directly from the file system. Therefore it may make sense
+ to provide both a file name, to be tried directly, and the
+ name of one or more sites from which the file is known to be
+ accessible. An implementation can try to retrieve remote
+ files using FTP or any other protocol, using anonymous file
+ retrieval or prompting the user for the necessary name and
+ password. If an external body is accessible via multiple
+ mechanisms, the sender may include multiple parts of type
+ message/external-body within an entity of type
+ multipart/alternative.
+
+ However, the external-body mechanism is not intended to be
+ limited to file retrieval, as shown by the mail-server
+ access-type. Beyond this, one can imagine, for example,
+ using a video server for external references to video clips.
+
+ If an entity is of type "message/external-body", then the
+ body of the entity will contain the header fields of the
+ encapsulated message. The body itself is to be found in the
+ external location. This means that if the body of the
+ "message/external-body" message contains two consecutive
+ CRLFs, everything after those pairs is NOT part of the
+ message itself. For most message/external-body messages,
+ this trailing area must simply be ignored. However, it is a
+ convenient place for additional data that cannot be included
+ in the content-type header field. In particular, if the
+ "access-type" value is "mail-server", then the trailing area
+ must contain commands to be sent to the mail server at the
+ address given by NAME@SITE, where NAME and SITE are the
+ values of the NAME and SITE parameters, respectively.
+
+ The embedded message header fields which appear in the body
+ of the message/external-body data can be used to declare the
+ Content-type of the external body. Thus a complete
+ message/external-body message, referring to a document in
+ PostScript format, might look like this:
+
+ From: Whomever
+ Subject: whatever
+ MIME-Version: 1.0
+ Message-ID: id1@host.com
+ Content-Type: multipart/alternative; boundary=42
+
+
+ --42
+ Content-Type: message/external-body;
+ name="BodyFormats.ps";
+
+
+
+
+
+ Borenstein & Freed [Page 44]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ site="thumper.bellcore.com";
+ access-type=ANON-FTP;
+ directory="pub";
+ mode="image";
+ expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
+
+ Content-type: application/postscript
+
+ --42
+ Content-Type: message/external-body;
+ name="/u/nsb/writing/rfcs/RFC-XXXX.ps";
+ site="thumper.bellcore.com";
+ access-type=AFS
+ expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
+
+ Content-type: application/postscript
+
+ --42
+ Content-Type: message/external-body;
+ access-type=mail-server
+ server="listserv@bogus.bitnet";
+ expiration="Fri, 14 Jun 1991 19:13:14 -0400 (EDT)"
+
+ Content-type: application/postscript
+
+ get rfc-xxxx doc
+
+ --42--
+
+ Like the message/partial type, the message/external-body
+ type is intended to be transparent, that is, to convey the
+ data type in the external body rather than to convey a
+ message with a body of that type. Thus the headers on the
+ outer and inner parts must be merged using the same rules as
+ for message/partial. In particular, this means that the
+ Content-type header is overridden, but the From and Subject
+ headers are preserved.
+
+ Note that since the external bodies are not transported as
+ mail, they need not conform to the 7-bit and line length
+ requirements, but might in fact be binary files. Thus a
+ Content-Transfer-Encoding is not generally necessary, though
+ it is permitted.
+
+ Note that the body of a message of type "message/external-
+ body" is governed by the basic syntax for an RFC 822
+ message. In particular, anything before the first
+ consecutive pair of CRLFs is header information, while
+ anything after it is body information, which is ignored for
+ most access-types.
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 45]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 7.4 The Application Content-Type
+
+ The "application" Content-Type is to be used for data which
+ do not fit in any of the other categories, and particularly
+ for data to be processed by mail-based uses of application
+ programs. This is information which must be processed by an
+ application before it is viewable or usable to a user.
+ Expected uses for Content-Type application include mail-
+ based file transfer, spreadsheets, data for mail-based
+ scheduling systems, and languages for "active"
+ (computational) email. (The latter, in particular, can pose
+ security problems which should be understood by
+ implementors, and are considered in detail in the discussion
+ of the application/PostScript content-type.)
+
+ For example, a meeting scheduler might define a standard
+ representation for information about proposed meeting dates.
+ An intelligent user agent would use this information to
+ conduct a dialog with the user, and might then send further
+ mail based on that dialog. More generally, there have been
+ several "active" messaging languages developed in which
+ programs in a suitably specialized language are sent through
+ the mail and automatically run in the recipient's
+ environment.
+
+ Such applications may be defined as subtypes of the
+ "application" Content-Type. This document defines three
+ subtypes: octet-stream, ODA, and PostScript.
+
+ In general, the subtype of application will often be the
+ name of the application for which the data are intended.
+ This does not mean, however, that any application program
+ name may be used freely as a subtype of application. Such
+ usages must be registered with IANA, as described in
+ Appendix F.
+
+ 7.4.1 The Application/Octet-Stream (primary) subtype
+
+ The primary subtype of application, "octet-stream", may be
+ used to indicate that a body contains binary data. The set
+ of possible parameters includes, but is not limited to:
+
+ NAME -- a suggested name for the binary data if
+ stored as a file.
+
+ TYPE -- the general type or category of binary
+ data. This is intended as information for the
+ human recipient rather than for any automatic
+ processing.
+
+ CONVERSIONS -- the set of operations that have
+ been performed on the data before putting it in
+ the mail (and before any Content-Transfer-Encoding
+ that might have been applied). If multiple
+
+
+
+ Borenstein & Freed [Page 46]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ conversions have occurred, they must be separated
+ by commas and specified in the order they were
+ applied -- that is, the leftmost conversion must
+ have occurred first, and conversions are undone
+ from right to left. Note that NO conversion
+ values are defined by this document. Any
+ conversion values that that do not begin with "X-"
+ must be preceded by a published specification and
+ by registration with IANA, as described in
+ Appendix F.
+
+ PADDING -- the number of bits of padding that were
+ appended to the bitstream comprising the actual
+ contents to produce the enclosed byte-oriented
+ data. This is useful for enclosing a bitstream in
+ a body when the total number of bits is not a
+ multiple of the byte size.
+
+ The values for these attributes are left undefined at
+ present, but may require specification in the future. An
+ example of a common (though UNIX-specific) usage might be:
+
+ Content-Type: application/octet-stream;
+ name=foo.tar.Z; type=tar;
+ conversions="x-encrypt,x-compress"
+
+ However, it should be noted that the use of such conversions
+ is explicitly discouraged due to a lack of portability and
+ standardization. The use of uuencode is particularly
+ discouraged, in favor of the Content-Transfer-Encoding
+ mechanism, which is both more standardized and more portable
+ across mail boundaries.
+
+ The recommended action for an implementation that receives
+ application/octet-stream mail is to simply offer to put the
+ data in a file, with any Content-Transfer-Encoding undone,
+ or perhaps to use it as input to a user-specified process.
+
+ To reduce the danger of transmitting rogue programs through
+ the mail, it is strongly recommended that implementations
+ NOT implement a path-search mechanism whereby an arbitrary
+ program named in the Content-Type parameter (e.g., an
+ "interpreter=" parameter) is found and executed using the
+ mail body as input.
+
+ 7.4.2 The Application/PostScript subtype
+
+ A Content-Type of "application/postscript" indicates a
+ PostScript program. The language is defined in
+ [POSTSCRIPT]. It is recommended that Postscript as sent
+ through email should use Postscript document structuring
+ conventions if at all possible, and correctly.
+
+
+
+
+
+ Borenstein & Freed [Page 47]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ The execution of general-purpose PostScript interpreters
+ entails serious security risks, and implementors are
+ discouraged from simply sending PostScript email bodies to
+ "off-the-shelf" interpreters. While it is usually safe to
+ send PostScript to a printer, where the potential for harm
+ is greatly constrained, implementors should consider all of
+ the following before they add interactive display of
+ PostScript bodies to their mail readers.
+
+ The remainder of this section outlines some, though probably
+ not all, of the possible problems with sending PostScript
+ through the mail.
+
+ Dangerous operations in the PostScript language include, but
+ may not be limited to, the PostScript operators deletefile,
+ renamefile, filenameforall, and file. File is only
+ dangerous when applied to something other than standard
+ input or output. Implementations may also define additional
+ nonstandard file operators; these may also pose a threat to
+ security. Filenameforall, the wildcard file search
+ operator, may appear at first glance to be harmless. Note,
+ however, that this operator has the potential to reveal
+ information about what files the recipient has access to,
+ and this information may itself be sensitive. Message
+ senders should avoid the use of potentially dangerous file
+ operators, since these operators are quite likely to be
+ unavailable in secure PostScript implementations. Message-
+ receiving and -displaying software should either completely
+ disable all potentially dangerous file operators or take
+ special care not to delegate any special authority to their
+ operation. These operators should be viewed as being done by
+ an outside agency when interpreting PostScript documents.
+ Such disabling and/or checking should be done completely
+ outside of the reach of the PostScript language itself; care
+ should be taken to insure that no method exists for
+ reenabling full-function versions of these operators.
+
+ The PostScript language provides facilities for exiting the
+ normal interpreter, or server, loop. Changes made in this
+ "outer" environment are customarily retained across
+ documents, and may in some cases be retained semipermanently
+ in nonvolatile memory. The operators associated with exiting
+ the interpreter loop have the potential to interfere with
+ subsequent document processing. As such, their unrestrained
+ use constitutes a threat of service denial. PostScript
+ operators that exit the interpreter loop include, but may
+ not be limited to, the exitserver and startjob operators.
+ Message-sending software should not generate PostScript that
+ depends on exiting the interpreter loop to operate. The
+ ability to exit will probably be unavailable in secure
+ PostScript implementations. Message-receiving and
+ -displaying software should, if possible, disable the
+ ability to make retained changes to the PostScript
+ environment. Eliminate the startjob and exitserver commands.
+
+
+
+ Borenstein & Freed [Page 48]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ If these commands cannot be eliminated, at least set the
+ password associated with them to a hard-to-guess value.
+
+ PostScript provides operators for setting system-wide and
+ device-specific parameters. These parameter settings may be
+ retained across jobs and may potentially pose a threat to
+ the correct operation of the interpreter. The PostScript
+ operators that set system and device parameters include, but
+ may not be limited to, the setsystemparams and setdevparams
+ operators. Message-sending software should not generate
+ PostScript that depends on the setting of system or device
+ parameters to operate correctly. The ability to set these
+ parameters will probably be unavailable in secure PostScript
+ implementations. Message-receiving and -displaying software
+ should, if possible, disable the ability to change system
+ and device parameters. If these operators cannot be
+ disabled, at least set the password associated with them to
+ a hard-to-guess value.
+
+ Some PostScript implementations provide nonstandard
+ facilities for the direct loading and execution of machine
+ code. Such facilities are quite obviously open to
+ substantial abuse. Message-sending software should not
+ make use of such features. Besides being totally hardware-
+ specific, they are also likely to be unavailable in secure
+ implementations of PostScript. Message-receiving and
+ -displaying software should not allow such operators to be
+ used if they exist.
+
+ PostScript is an extensible language, and many, if not most,
+ implementations of it provide a number of their own
+ extensions. This document does not deal with such extensions
+ explicitly since they constitute an unknown factor.
+ Message-sending software should not make use of nonstandard
+ extensions; they are likely to be missing from some
+ implementations. Message-receiving and -displaying software
+ should make sure that any nonstandard PostScript operators
+ are secure and don't present any kind of threat.
+
+ It is possible to write PostScript that consumes huge
+ amounts of various system resources. It is also possible to
+ write PostScript programs that loop infinitely. Both types
+ of programs have the potential to cause damage if sent to
+ unsuspecting recipients. Message-sending software should
+ avoid the construction and dissemination of such programs,
+ which is antisocial. Message-receiving and -displaying
+ software should provide appropriate mechanisms to abort
+ processing of a document after a reasonable amount of time
+ has elapsed. In addition, PostScript interpreters should be
+ limited to the consumption of only a reasonable amount of
+ any given system resource.
+
+ Finally, bugs may exist in some PostScript interpreters
+ which could possibly be exploited to gain unauthorized
+
+
+
+ Borenstein & Freed [Page 49]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ access to a recipient's system. Apart from noting this
+ possibility, there is no specific action to take to prevent
+ this, apart from the timely correction of such bugs if any
+ are found.
+
+ 7.4.3 The Application/ODA subtype
+
+ The "ODA" subtype of application is used to indicate that a
+ body contains information encoded according to the Office
+ Document Architecture [ODA] standards, using the ODIF
+ representation format. For application/oda, the Content-
+ Type line should also specify an attribute/value pair that
+ indicates the document application profile (DAP), using the
+ key word "profile". Thus an appropriate header field might
+ look like this:
+
+ Content-Type: application/oda; profile=Q112
+
+ Consult the ODA standard [ODA] for further information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 50]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 7.5 The Image Content-Type
+
+ A Content-Type of "image" indicates that the bodycontains an
+ image. The subtype names the specific image format. These
+ names are case insensitive. Two initial subtypes are "jpeg"
+ for the JPEG format, JFIF encoding, and "gif" for GIF format
+ [GIF].
+
+ The list of image subtypes given here is neither exclusive
+ nor exhaustive, and is expected to grow as more types are
+ registered with IANA, as described in Appendix F.
+
+ 7.6 The Audio Content-Type
+
+ A Content-Type of "audio" indicates that the body contains
+ audio data. Although there is not yet a consensus on an
+ "ideal" audio format for use with computers, there is a
+ pressing need for a format capable of providing
+ interoperable behavior.
+
+ The initial subtype of "basic" is specified to meet this
+ requirement by providing an absolutely minimal lowest common
+ denominator audio format. It is expected that richer
+ formats for higher quality and/or lower bandwidth audio will
+ be defined by a later document.
+
+ The content of the "audio/basic" subtype is audio encoded
+ using 8-bit ISDN u-law [PCM]. When this subtype is present,
+ a sample rate of 8000 Hz and a single channel is assumed.
+
+ 7.7 The Video Content-Type
+
+ A Content-Type of "video" indicates that the body contains a
+ time-varying-picture image, possibly with color and
+ coordinated sound. The term "video" is used extremely
+ generically, rather than with reference to any particular
+ technology or format, and is not meant to preclude subtypes
+ such as animated drawings encoded compactly. The subtype
+ "mpeg" refers to video coded according to the MPEG standard
+ [MPEG].
+
+ Note that although in general this document strongly
+ discourages the mixing of multiple media in a single body,
+ it is recognized that many so-called "video" formats include
+ a representation for synchronized audio, and this is
+ explicitly permitted for subtypes of "video".
+
+ 7.8 Experimental Content-Type Values
+
+ A Content-Type value beginning with the characters "X-" is a
+ private value, to be used by consenting mail systems by
+ mutual agreement. Any format without a rigorous and public
+ definition must be named with an "X-" prefix, and publicly
+ specified values shall never begin with "X-". (Older
+
+
+
+ Borenstein & Freed [Page 51]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ versions of the widely-used Andrew system use the "X-BE2"
+ name, so new systems should probably choose a different
+ name.)
+
+ In general, the use of "X-" top-level types is strongly
+ discouraged. Implementors should invent subtypes of the
+ existing types whenever possible. The invention of new
+ types is intended to be restricted primarily to the
+ development of new media types for email, such as digital
+ odors or holography, and not for new data formats in
+ general. In many cases, a subtype of application will be
+ more appropriate than a new top-level type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 52]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Summary
+
+ Using the MIME-Version, Content-Type, and Content-Transfer-
+ Encoding header fields, it is possible to include, in a
+ standardized way, arbitrary types of data objects with RFC
+ 822 conformant mail messages. No restrictions imposed by
+ either RFC 821 or RFC 822 are violated, and care has been
+ taken to avoid problems caused by additional restrictions
+ imposed by the characteristics of some Internet mail
+ transport mechanisms (see Appendix B). The "multipart" and
+ "message" Content-Types allow mixing and hierarchical
+ structuring of objects of different types in a single
+ message. Further Content-Types provide a standardized
+ mechanism for tagging messages or body parts as audio,
+ image, or several other kinds of data. A distinguished
+ parameter syntax allows further specification of data format
+ details, particularly the specification of alternate
+ character sets. Additional optional header fields provide
+ mechanisms for certain extensions deemed desirable by many
+ implementors. Finally, a number of useful Content-Types are
+ defined for general use by consenting user agents, notably
+ text/richtext, message/partial, and message/external-body.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 53]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Acknowledgements
+
+ This document is the result of the collective effort of a
+ large number of people, at several IETF meetings, on the
+ IETF-SMTP and IETF-822 mailing lists, and elsewhere.
+ Although any enumeration seems doomed to suffer from
+ egregious omissions, the following are among the many
+ contributors to this effort:
+
+ Harald Tveit Alvestrand Timo Lehtinen
+ Randall Atkinson John R. MacMillan
+ Philippe Brandon Rick McGowan
+ Kevin Carosso Leo Mclaughlin
+ Uhhyung Choi Goli Montaser-Kohsari
+ Cristian Constantinof Keith Moore
+ Mark Crispin Tom Moore
+ Dave Crocker Erik Naggum
+ Terry Crowley Mark Needleman
+ Walt Daniels John Noerenberg
+ Frank Dawson Mats Ohrman
+ Hitoshi Doi Julian Onions
+ Kevin Donnelly Michael Patton
+ Keith Edwards David J. Pepper
+ Chris Eich Blake C. Ramsdell
+ Johnny Eriksson Luc Rooijakkers
+ Craig Everhart Marshall T. Rose
+ Patrik Faeltstroem Jonathan Rosenberg
+ Erik E. Fair Jan Rynning
+ Roger Fajman Harri Salminen
+ Alain Fontaine Michael Sanderson
+ James M. Galvin Masahiro Sekiguchi
+ Philip Gladstone Mark Sherman
+ Thomas Gordon Keld Simonsen
+ Phill Gross Bob Smart
+ James Hamilton Peter Speck
+ Steve Hardcastle-Kille Henry Spencer
+ David Herron Einar Stefferud
+ Bruce Howard Michael Stein
+ Bill Janssen Klaus Steinberger
+ Olle Jaernefors Peter Svanberg
+ Risto Kankkunen James Thompson
+ Phil Karn Steve Uhler
+ Alan Katz Stuart Vance
+ Tim Kehres Erik van der Poel
+ Neil Katin Guido van Rossum
+ Kyuho Kim Peter Vanderbilt
+ Anders Klemets Greg Vaudreuil
+ John Klensin Ed Vielmetti
+ Valdis Kletniek Ryan Waldron
+ Jim Knowles Wally Wedel
+ Stev Knowles Sven-Ove Westberg
+ Bob Kummerfeld Brian Wideen
+
+
+
+
+
+ Borenstein & Freed [Page 54]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Pekka Kytolaakso John Wobus
+ Stellan Lagerstr.m Glenn Wright
+ Vincent Lau Rayan Zachariassen
+ Donald Lindsay David Zimmerman
+ The authors apologize for any omissions from this list,
+ which are certainly unintentional.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 55]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix A -- Minimal MIME-Conformance
+
+ The mechanisms described in this document are open-ended.
+ It is definitely not expected that all implementations will
+ support all of the Content-Types described, nor that they
+ will all share the same extensions. In order to promote
+ interoperability, however, it is useful to define the
+ concept of "MIME-conformance" to define a certain level of
+ implementation that allows the useful interworking of
+ messages with content that differs from US ASCII text. In
+ this section, we specify the requirements for such
+ conformance.
+
+ A mail user agent that is MIME-conformant MUST:
+
+ 1. Always generate a "MIME-Version: 1.0" header
+ field.
+
+ 2. Recognize the Content-Transfer-Encoding header
+ field, and decode all received data encoded with
+ either the quoted-printable or base64
+ implementations. Encode any data sent that is
+ not in seven-bit mail-ready representation using
+ one of these transformations and include the
+ appropriate Content-Transfer-Encoding header
+ field, unless the underlying transport mechanism
+ supports non-seven-bit data, as SMTP does not.
+
+ 3. Recognize and interpret the Content-Type
+ header field, and avoid showing users raw data
+ with a Content-Type field other than text. Be
+ able to send at least text/plain messages, with
+ the character set specified as a parameter if it
+ is not US-ASCII.
+
+ 4. Explicitly handle the following Content-Type
+ values, to at least the following extents:
+
+ Text:
+ -- Recognize and display "text" mail
+ with the character set "US-ASCII."
+ -- Recognize other character sets at
+ least to the extent of being able
+ to inform the user about what
+ character set the message uses.
+ -- Recognize the "ISO-8859-*" character
+ sets to the extent of being able to
+ display those characters that are
+ common to ISO-8859-* and US-ASCII,
+ namely all characters represented
+ by octet values 0-127.
+ -- For unrecognized subtypes, show or
+ offer to show the user the "raw"
+ version of the data. An ability at
+
+
+
+ Borenstein & Freed [Page 56]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ least to convert "text/richtext" to
+ plain text, as shown in Appendix D,
+ is encouraged, but not required for
+ conformance.
+ Message:
+ --Recognize and display at least the
+ primary (822) encapsulation.
+ Multipart:
+ -- Recognize the primary (mixed)
+ subtype. Display all relevant
+ information on the message level
+ and the body part header level and
+ then display or offer to display
+ each of the body parts
+ individually.
+ -- Recognize the "alternative" subtype,
+ and avoid showing the user
+ redundant parts of
+ multipart/alternative mail.
+ -- Treat any unrecognized subtypes as if
+ they were "mixed".
+ Application:
+ -- Offer the ability to remove either of
+ the two types of Content-Transfer-
+ Encoding defined in this document
+ and put the resulting information
+ in a user file.
+
+ 5. Upon encountering any unrecognized Content-
+ Type, an implementation must treat it as if it had
+ a Content-Type of "application/octet-stream" with
+ no parameter sub-arguments. How such data are
+ handled is up to an implementation, but likely
+ options for handling such unrecognized data
+ include offering the user to write it into a file
+ (decoded from its mail transport format) or
+ offering the user to name a program to which the
+ decoded data should be passed as input.
+ Unrecognized predefined types, which in a MIME-
+ conformant mailer might still include audio,
+ image, or video, should also be treated in this
+ way.
+
+ A user agent that meets the above conditions is said to be
+ MIME-conformant. The meaning of this phrase is that it is
+ assumed to be "safe" to send virtually any kind of
+ properly-marked data to users of such mail systems, because
+ such systems will at least be able to treat the data as
+ undifferentiated binary, and will not simply splash it onto
+ the screen of unsuspecting users. There is another sense
+ in which it is always "safe" to send data in a format that
+ is MIME-conformant, which is that such data will not break
+ or be broken by any known systems that are conformant with
+ RFC 821 and RFC 822. User agents that are MIME-conformant
+
+
+
+ Borenstein & Freed [Page 57]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ have the additional guarantee that the user will not be
+ shown data that were never intended to be viewed as text.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 58]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix B -- General Guidelines For Sending Email Data
+
+ Internet email is not a perfect, homogeneous system. Mail
+ may become corrupted at several stages in its travel to a
+ final destination. Specifically, email sent throughout the
+ Internet may travel across many networking technologies.
+ Many networking and mail technologies do not support the
+ full functionality possible in the SMTP transport
+ environment. Mail traversing these systems is likely to be
+ modified in such a way that it can be transported.
+
+ There exist many widely-deployed non-conformant MTAs in the
+ Internet. These MTAs, speaking the SMTP protocol, alter
+ messages on the fly to take advantage of the internal data
+ structure of the hosts they are implemented on, or are just
+ plain broken.
+
+ The following guidelines may be useful to anyone devising a
+ data format (Content-Type) that will survive the widest
+ range of networking technologies and known broken MTAs
+ unscathed. Note that anything encoded in the base64
+ encoding will satisfy these rules, but that some well-known
+ mechanisms, notably the UNIX uuencode facility, will not.
+ Note also that anything encoded in the Quoted-Printable
+ encoding will survive most gateways intact, but possibly not
+ some gateways to systems that use the EBCDIC character set.
+
+ (1) Under some circumstances the encoding used for
+ data may change as part of normal gateway or user
+ agent operation. In particular, conversion from
+ base64 to quoted-printable and vice versa may be
+ necessary. This may result in the confusion of
+ CRLF sequences with line breaks in text body
+ parts. As such, the persistence of CRLF as
+ something other than a line break should not be
+ relied on.
+
+ (2) Many systems may elect to represent and store
+ text data using local newline conventions. Local
+ newline conventions may not match the RFC822 CRLF
+ convention -- systems are known that use plain CR,
+ plain LF, CRLF, or counted records. The result is
+ that isolated CR and LF characters are not well
+ tolerated in general; they may be lost or
+ converted to delimiters on some systems, and hence
+ should not be relied on.
+
+ (3) TAB (HT) characters may be misinterpreted or
+ may be automatically converted to variable numbers
+ of spaces. This is unavoidable in some
+ environments, notably those not based on the ASCII
+ character set. Such conversion is STRONGLY
+ DISCOURAGED, but it may occur, and mail formats
+ should not rely on the persistence of TAB (HT)
+
+
+
+ Borenstein & Freed [Page 59]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ characters.
+
+ (4) Lines longer than 76 characters may be wrapped
+ or truncated in some environments. Line wrapping
+ and line truncation are STRONGLY DISCOURAGED, but
+ unavoidable in some cases. Applications which
+ require long lines should somehow differentiate
+ between soft and hard line breaks. (A simple way
+ to do this is to use the quoted-printable
+ encoding.)
+
+ (5) Trailing "white space" characters (SPACE, TAB
+ (HT)) on a line may be discarded by some transport
+ agents, while other transport agents may pad lines
+ with these characters so that all lines in a mail
+ file are of equal length. The persistence of
+ trailing white space, therefore, should not be
+ relied on.
+
+ (6) Many mail domains use variations on the ASCII
+ character set, or use character sets such as
+ EBCDIC which contain most but not all of the US-
+ ASCII characters. The correct translation of
+ characters not in the "invariant" set cannot be
+ depended on across character converting gateways.
+ For example, this situation is a problem when
+ sending uuencoded information across BITNET, an
+ EBCDIC system. Similar problems can occur without
+ crossing a gateway, since many Internet hosts use
+ character sets other than ASCII internally. The
+ definition of Printable Strings in X.400 adds
+ further restrictions in certain special cases. In
+ particular, the only characters that are known to
+ be consistent across all gateways are the 73
+ characters that correspond to the upper and lower
+ case letters A-Z and a-z, the 10 digits 0-9, and
+ the following eleven special characters:
+
+ "'" (ASCII code 39)
+ "(" (ASCII code 40)
+ ")" (ASCII code 41)
+ "+" (ASCII code 43)
+ "," (ASCII code 44)
+ "-" (ASCII code 45)
+ "." (ASCII code 46)
+ "/" (ASCII code 47)
+ ":" (ASCII code 58)
+ "=" (ASCII code 61)
+ "?" (ASCII code 63)
+
+ A maximally portable mail representation, such as
+ the base64 encoding, will confine itself to
+ relatively short lines of text in which the only
+ meaningful characters are taken from this set of
+
+
+
+ Borenstein & Freed [Page 60]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ 73 characters.
+
+ Please note that the above list is NOT a list of recommended
+ practices for MTAs. RFC 821 MTAs are prohibited from
+ altering the character of white space or wrapping long
+ lines. These BAD and illegal practices are known to occur
+ on established networks, and implementions should be robust
+ in dealing with the bad effects they can cause.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 61]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix C -- A Complex Multipart Example
+
+ What follows is the outline of a complex multipart message.
+ This message has five parts to be displayed serially: two
+ introductory plain text parts, an embedded multipart
+ message, a richtext part, and a closing encapsulated text
+ message in a non-ASCII character set. The embedded
+ multipart message has two parts to be displayed in parallel,
+ a picture and an audio fragment.
+
+ MIME-Version: 1.0
+ From: Nathaniel Borenstein <nsb@bellcore.com>
+ Subject: A multipart example
+ Content-Type: multipart/mixed;
+ boundary=unique-boundary-1
+
+ This is the preamble area of a multipart message.
+ Mail readers that understand multipart format
+ should ignore this preamble.
+ If you are reading this text, you might want to
+ consider changing to a mail reader that understands
+ how to properly display multipart messages.
+ --unique-boundary-1
+
+ ...Some text appears here...
+ [Note that the preceding blank line means
+ no header fields were given and this is text,
+ with charset US ASCII. It could have been
+ done with explicit typing as in the next part.]
+
+ --unique-boundary-1
+ Content-type: text/plain; charset=US-ASCII
+
+ This could have been part of the previous part,
+ but illustrates explicit versus implicit
+ typing of body parts.
+
+ --unique-boundary-1
+ Content-Type: multipart/parallel;
+ boundary=unique-boundary-2
+
+
+ --unique-boundary-2
+ Content-Type: audio/basic
+ Content-Transfer-Encoding: base64
+
+ ... base64-encoded 8000 Hz single-channel
+ u-law-format audio data goes here....
+
+ --unique-boundary-2
+ Content-Type: image/gif
+ Content-Transfer-Encoding: Base64
+
+
+
+
+
+ Borenstein & Freed [Page 62]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ ... base64-encoded image data goes here....
+
+ --unique-boundary-2--
+
+ --unique-boundary-1
+ Content-type: text/richtext
+
+ This is <bold><italic>richtext.</italic></bold>
+ <nl><nl>Isn't it
+ <bigger><bigger>cool?</bigger></bigger>
+
+ --unique-boundary-1
+ Content-Type: message/rfc822
+
+ From: (name in US-ASCII)
+ Subject: (subject in US-ASCII)
+ Content-Type: Text/plain; charset=ISO-8859-1
+ Content-Transfer-Encoding: Quoted-printable
+
+ ... Additional text in ISO-8859-1 goes here ...
+
+ --unique-boundary-1--
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 63]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix D -- A Simple Richtext-to-Text Translator in C
+
+ One of the major goals in the design of the richtext subtype
+ of the text Content-Type is to make formatted text so simple
+ that even text-only mailers will implement richtext-to-
+ plain-text translators, thus increasing the likelihood that
+ multifont text will become "safe" to use very widely. To
+ demonstrate this simplicity, what follows is an extremely
+ simple 44-line C program that converts richtext input into
+ plain text output:
+
+ #include <stdio.h>
+ #include <ctype.h>
+ main() {
+ int c, i;
+ char token[50];
+
+ while((c = getc(stdin)) != EOF) {
+ if (c == '<') {
+ for (i=0; (i<49 && (c = getc(stdin)) != '>'
+ && c != EOF); ++i) {
+ token[i] = isupper(c) ? tolower(c) : c;
+ }
+ if (c == EOF) break;
+ if (c != '>') while ((c = getc(stdin)) !=
+ '>'
+ && c != EOF) {;}
+ if (c == EOF) break;
+ token[i] = '\0';
+ if (!strcmp(token, "lt")) {
+ putc('<', stdout);
+ } else if (!strcmp(token, "nl")) {
+ putc('\n', stdout);
+ } else if (!strcmp(token, "/paragraph")) {
+ fputs("\n\n", stdout);
+ } else if (!strcmp(token, "comment")) {
+ int commct=1;
+ while (commct > 0) {
+ while ((c = getc(stdin)) != '<'
+ && c != EOF) ;
+ if (c == EOF) break;
+ for (i=0; (c = getc(stdin)) != '>'
+ && c != EOF; ++i) {
+ token[i] = isupper(c) ?
+ tolower(c) : c;
+ }
+ if (c== EOF) break;
+ token[i] = NULL;
+ if (!strcmp(token, "/comment")) --
+ commct;
+ if (!strcmp(token, "comment"))
+ ++commct;
+
+
+
+
+
+ Borenstein & Freed [Page 64]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ }
+ } /* Ignore all other tokens */
+ } else if (c != '\n') putc(c, stdout);
+ }
+ putc('\n', stdout); /* for good measure */
+ }
+ It should be noted that one can do considerably better than
+ this in displaying richtext data on a dumb terminal. In
+ particular, one can replace font information such as "bold"
+ with textual emphasis (like *this* or _T_H_I_S_). One can
+ also properly handle the richtext formatting commands
+ regarding indentation, justification, and others. However,
+ the above program is all that is necessary in order to
+ present richtext on a dumb terminal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 65]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix E -- Collected Grammar
+
+ This appendix contains the complete BNF grammar for all the
+ syntax specified by this document.
+
+ By itself, however, this grammar is incomplete. It refers
+ to several entities that are defined by RFC 822. Rather
+ than reproduce those definitions here, and risk
+ unintentional differences between the two, this document
+ simply refers the reader to RFC 822 for the remaining
+ definitions. Wherever a term is undefined, it refers to the
+ RFC 822 definition.
+
+ attribute := token
+
+ body-part = <"message" as defined in RFC 822,
+ with all header fields optional, and with the
+ specified delimiter not occurring anywhere in
+ the message body, either on a line by itself
+ or as a substring anywhere.>
+
+ boundary := 0*69<bchars> bcharsnospace
+
+ bchars := bcharsnospace / " "
+
+ bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / "+" /
+ "_"
+ / "," / "-" / "." / "/" / ":" / "=" / "?"
+
+ close-delimiter := delimiter "--"
+
+ Content-Description := *text
+
+ Content-ID := msg-id
+
+ Content-Transfer-Encoding := "BASE64" / "QUOTED-
+ PRINTABLE" /
+ "8BIT" / "7BIT" /
+ "BINARY" / x-token
+
+ Content-Type := type "/" subtype *[";" parameter]
+
+ delimiter := CRLF "--" boundary ; taken from Content-Type
+ field.
+ ; when content-type is
+ multipart
+ ; There should be no space
+ ; between "--" and boundary.
+
+ encapsulation := delimiter CRLF body-part
+
+ epilogue := *text ; to be ignored upon
+ receipt.
+
+
+
+
+ Borenstein & Freed [Page 66]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ MIME-Version := 1*text
+
+ multipart-body := preamble 1*encapsulation close-delimiter
+ epilogue
+
+ parameter := attribute "=" value
+
+ preamble := *text ; to be ignored upon
+ receipt.
+
+ subtype := token
+
+ token := 1*<any CHAR except SPACE, CTLs, or tspecials>
+
+ tspecials := "(" / ")" / "<" / ">" / "@" ; Must be in
+ / "," / ";" / ":" / "\" / <"> ; quoted-string,
+ / "/" / "[" / "]" / "?" / "." ; to use within
+ / "=" ; parameter values
+
+
+ type := "application" / "audio" ; case-
+ insensitive
+ / "image" / "message"
+ / "multipart" / "text"
+ / "video" / x-token
+
+ value := token / quoted-string
+
+ x-token := <The two characters "X-" followed, with no
+ intervening white space, by any token>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 67]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix F -- IANA Registration Procedures
+
+ MIME has been carefully designed to have extensible
+ mechanisms, and it is expected that the set of content-
+ type/subtype pairs and their associated parameters will grow
+ significantly with time. Several other MIME fields, notably
+ character set names, access-type parameters for the
+ message/external-body type, conversions parameters for the
+ application type, and possibly even Content-Transfer-
+ Encoding values, are likely to have new values defined over
+ time. In order to ensure that the set of such values is
+ developed in an orderly, well-specified, and public manner,
+ MIME defines a registration process which uses the Internet
+ Assigned Numbers Authority (IANA) as a central registry for
+ such values.
+
+ In general, parameters in the content-type header field are
+ used to convey supplemental information for various content
+ types, and their use is defined when the content-type and
+ subtype are defined. New parameters should not be defined
+ as a way to introduce new functionality.
+
+ In order to simplify and standardize the registration
+ process, this appendix gives templates for the registration
+ of new values with IANA. Each of these is given in the form
+ of an email message template, to be filled in by the
+ registering party.
+
+ F.1 Registration of New Content-type/subtype Values
+
+ Note that MIME is generally expected to be extended by
+ subtypes. If a new fundamental top-level type is needed,
+ its specification should be published as an RFC or
+ submitted in a form suitable to become an RFC, and be
+ subject to the Internet standards process.
+
+ To: IANA@isi.edu
+ Subject: Registration of new MIME content-type/subtype
+
+ MIME type name:
+
+ (If the above is not an existing top-level MIME type,
+ please explain why an existing type cannot be used.)
+
+ MIME subtype name:
+
+ Required parameters:
+
+ Optional parameters:
+
+ Encoding considerations:
+
+ Security considerations:
+
+
+
+
+ Borenstein & Freed [Page 68]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Published specification:
+
+ (The published specification must be an Internet RFC or
+ RFC-to-be if a new top-level type is being defined, and
+ must be a publicly available specification in any
+ case.)
+
+ Person & email address to contact for further
+ information:
+ F.2 Registration of New Character Set Values
+
+ To: IANA@isi.edu
+ Subject: Registration of new MIME character set value
+
+ MIME character set name:
+
+ Published specification:
+
+ (The published specification must be an Internet RFC or
+ RFC-to-be or an international standard.)
+
+ Person & email address to contact for further
+ information:
+
+ F.3 Registration of New Access-type Values for
+ Message/external-body
+
+ To: IANA@isi.edu
+ Subject: Registration of new MIME Access-type for
+ Message/external-body content-type
+
+ MIME access-type name:
+
+ Required parameters:
+
+ Optional parameters:
+
+ Published specification:
+
+ (The published specification must be an Internet RFC or
+ RFC-to-be.)
+
+ Person & email address to contact for further
+ information:
+
+
+ F.4 Registration of New Conversions Values for Application
+
+ To: IANA@isi.edu
+ Subject: Registration of new MIME Conversions value
+ for Application content-type
+
+ MIME Conversions name:
+
+
+
+
+ Borenstein & Freed [Page 69]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Published specification:
+
+ (The published specification must be an Internet RFC or
+ RFC-to-be.)
+
+ Person & email address to contact for further
+ information:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 70]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix G -- Summary of the Seven Content-types
+
+ Content-type: text
+
+ Subtypes defined by this document: plain, richtext
+
+ Important Parameters: charset
+
+ Encoding notes: quoted-printable generally preferred if an
+ encoding is needed and the character set is mostly an
+ ASCII superset.
+
+ Security considerations: Rich text formats such as TeX and
+ Troff often contain mechanisms for executing arbitrary
+ commands or file system operations, and should not be
+ used automatically unless these security problems have
+ been addressed. Even plain text may contain control
+ characters that can be used to exploit the capabilities
+ of "intelligent" terminals and cause security
+ violations. User interfaces designed to run on such
+ terminals should be aware of and try to prevent such
+ problems.
+ ________________________________________________________________
+
+ Content-type: multipart
+
+ Subtypes defined by this document: mixed, alternative,
+ digest, parallel.
+
+ Important Parameters: boundary
+
+ Encoding notes: No content-transfer-encoding is permitted.
+
+ ________________________________________________________________
+
+ Content-type: message
+
+ Subtypes defined by this document: rfc822, partial,
+ external-body
+
+ Important Parameters: id, number, total
+
+ Encoding notes: No content-transfer-encoding is permitted.
+
+ ________________________________________________________________
+
+ Content-type: application
+
+ Subtypes defined by this document: octet-stream,
+ postscript, oda
+
+ Important Parameters: profile
+
+
+
+
+
+ Borenstein & Freed [Page 71]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Encoding notes: base64 generally preferred for octet-stream
+ or other unreadable subtypes.
+
+ Security considerations: This type is intended for the
+ transmission of data to be interpreted by locally-installed
+ programs. If used, for example, to transmit executable
+ binary programs or programs in general-purpose interpreted
+ languages, such as LISP programs or shell scripts, severe
+ security problems could result. In general, authors of
+ mail-reading agents are cautioned against giving their
+ systems the power to execute mail-based application data
+ without carefully considering the security implications.
+ While it is certainly possible to define safe application
+ formats and even safe interpreters for unsafe formats, each
+ interpreter should be evaluated separately for possible
+ security problems.
+ ________________________________________________________________
+
+ Content-type: image
+
+ Subtypes defined by this document: jpeg, gif
+
+ Important Parameters: none
+
+ Encoding notes: base64 generally preferred
+
+ ________________________________________________________________
+
+ Content-type: audio
+
+ Subtypes defined by this document: basic
+
+ Important Parameters: none
+
+ Encoding notes: base64 generally preferred
+
+ ________________________________________________________________
+
+ Content-type: video
+
+ Subtypes defined by this document: mpeg
+
+ Important Parameters: none
+
+ Encoding notes: base64 generally preferred
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 72]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Appendix H -- Canonical Encoding Model
+
+
+
+ There was some confusion, in earlier drafts of this memo,
+ regarding the model for when email data was to be converted
+ to canonical form and encoded, and in particular how this
+ process would affect the treatment of CRLFs, given that the
+ representation of newlines varies greatly from system to
+ system. For this reason, a canonical model for encoding is
+ presented below.
+
+ The process of composing a MIME message part can be modelled
+ as being done in a number of steps. Note that these steps
+ are roughly similar to those steps used in RFC1113:
+
+ Step 1. Creation of local form.
+
+ The body part to be transmitted is created in the system's
+ native format. The native character set is used, and where
+ appropriate local end of line conventions are used as well.
+ The may be a UNIX-style text file, or a Sun raster image, or
+ a VMS indexed file, or audio data in a system-dependent
+ format stored only in memory, or anything else that
+ corresponds to the local model for the representation of
+ some form of information.
+
+ Step 2. Conversion to canonical form.
+
+ The entire body part, including "out-of-band" information
+ such as record lengths and possibly file attribute
+ information, is converted to a universal canonical form.
+ The specific content type of the body part as well as its
+ associated attributes dictate the nature of the canonical
+ form that is used. Conversion to the proper canonical form
+ may involve character set conversion, transformation of
+ audio data, compression, or various other operations
+ specific to the various content types.
+
+ For example, in the case of text/plain data, the text must
+ be converted to a supported character set and lines must be
+ delimited with CRLF delimiters in accordance with RFC822.
+ Note that the restriction on line lengths implied by RFC822
+ is eliminated if the next step employs either quoted-
+ printable or base64 encoding.
+
+ Step 3. Apply transfer encoding.
+
+ A Content-Transfer-Encoding appropriate for this body part
+ is applied. Note that there is no fixed relationship
+ between the content type and the transfer encoding. In
+ particular, it may be appropriate to base the choice of
+ base64 or quoted-printable on character frequency counts
+ which are specific to a given instance of body part.
+
+
+
+ Borenstein & Freed [Page 73]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Step 4. Insertion into message.
+
+ The encoded object is inserted into a MIME message with
+ appropriate body part headers and boundary markers.
+
+ It is vital to note that these steps are only a model; they
+ are specifically NOT a blueprint for how an actual system
+ would be built. In particular, the model fails to account
+ for two common designs:
+
+ 1. In many cases the conversion to a canonical
+ form prior to encoding will be subsumed into the
+ encoder itself, which understands local formats
+ directly. For example, the local newline
+ convention for text bodyparts might be carried
+ through to the encoder itself along with knowledge
+ of what that format is.
+
+ 2. The output of the encoders may have to pass
+ through one or more additional steps prior to
+ being transmitted as a message. As such, the
+ output of the encoder may not be compliant with
+ the formats specified by RFC822. In particular,
+ once again it may be appropriate for the
+ converter's output to be expressed using local
+ newline conventions rather than using the standard
+ RFC822 CRLF delimiters.
+
+ Other implementation variations are conceivable as well.
+ The only important aspect of this discussion is that the
+ resulting messages are consistent with those produced by the
+ model described here.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 74]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ References
+
+ [US-ASCII] Coded Character Set--7-Bit American Standard Code
+ for Information Interchange, ANSI X3.4-1986.
+
+ [ATK] Borenstein, Nathaniel S., Multimedia Applications
+ Development with the Andrew Toolkit, Prentice-Hall, 1990.
+
+ [GIF] Graphics Interchange Format (Version 89a), Compuserve,
+ Inc., Columbus, Ohio, 1990.
+
+ [ISO-2022] International Standard--Information Processing--
+ ISO 7-bit and 8-bit coded character sets--Code extension
+ techniques, ISO 2022:1986.
+
+ [ISO-8859] Information Processing -- 8-bit Single-Byte Coded
+ Graphic Character Sets -- Part 1: Latin Alphabet No. 1, ISO
+ 8859-1:1987. Part 2: Latin alphabet No. 2, ISO 8859-2,
+ 1987. Part 3: Latin alphabet No. 3, ISO 8859-3, 1988. Part
+ 4: Latin alphabet No. 4, ISO 8859-4, 1988. Part 5:
+ Latin/Cyrillic alphabet, ISO 8859-5, 1988. Part 6:
+ Latin/Arabic alphabet, ISO 8859-6, 1987. Part 7:
+ Latin/Greek alphabet, ISO 8859-7, 1987. Part 8:
+ Latin/Hebrew alphabet, ISO 8859-8, 1988. Part 9: Latin
+ alphabet No. 5, ISO 8859-9, 1990.
+
+ [ISO-646] International Standard--Information Processing--
+ ISO 7-bit coded character set for information interchange,
+ ISO 646:1983.
+
+ [MPEG] Video Coding Draft Standard ISO 11172 CD, ISO
+ IEC/TJC1/SC2/WG11 (Motion Picture Experts Group), May, 1991.
+
+ [ODA] ISO 8613; Information Processing: Text and Office
+ System; Office Document Architecture (ODA) and Interchange
+ Format (ODIF), Part 1-8, 1989.
+
+ [PCM] CCITT, Fascicle III.4 - Recommendation G.711, Geneva,
+ 1972, "Pulse Code Modulation (PCM) of Voice Frequencies".
+
+ [POSTSCRIPT] Adobe Systems, Inc., PostScript Language
+ Reference Manual, Addison-Wesley, 1985.
+
+ [X400] Schicker, Pietro, "Message Handling Systems, X.400",
+ Message Handling Systems and Distributed Applications, E.
+ Stefferud, O-j. Jacobsen, and P. Schicker, eds., North-
+ Holland, 1989, pp. 3-41.
+
+ [RFC-783] Sollins, K.R. TFTP Protocol (revision 2). June,
+ 1981, MIT, RFC-783.
+
+ [RFC-821] Postel, J.B. Simple Mail Transfer Protocol.
+ August, 1982, USC/Information Sciences Institute, RFC-821.
+
+
+
+
+ Borenstein & Freed [Page 75]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ [RFC-822] Crocker, D. Standard for the format of ARPA
+ Internet text messages. August, 1982, UDEL, RFC-822.
+
+ [RFC-934] Rose, M.T.; Stefferud, E.A. Proposed standard
+ for message encapsulation. January, 1985, Delaware
+ and NMA, RFC-934.
+
+ [RFC-959] Postel, J.B.; Reynolds, J.K. File Transfer
+ Protocol. October, 1985, USC/Information Sciences
+ Institute, RFC-959.
+
+ [RFC-1049] Sirbu, M.A. Content-Type header field for
+ Internet messages. March, 1988, CMU, RFC-1049.
+
+ [RFC-1113] Linn, J. Privacy enhancement for Internet
+ electronic mail: Part I - message encipherment and
+ authentication procedures. August, 1989, IAB Privacy Task
+ Force, RFC-1113.
+
+ [RFC-1154] Robinson, D.; Ullmann, R. Encoding header field
+ for Internet messages. April, 1990, Prime Computer,
+ Inc., RFC-1154.
+
+ [RFC-1342] Moore, Keith, Representation of Non-Ascii Text in
+ Internet Message Headers. June, 1992, University of
+ Tennessee, RFC-1342.
+
+ Security Considerations
+
+ Security issues are discussed in Section 7.4.2 and in
+ Appendix G. Implementors should pay special attention to
+ the security implications of any mail content-types that can
+ cause the remote execution of any actions in the recipient's
+ environment. In such cases, the discussion of the
+ applicaton/postscript content-type in Section 7.4.2 may
+ serve as a model for considering other content-types with
+ remote execution capabilities.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 76]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+ Authors' Addresses
+
+ For more information, the authors of this document may be
+ contacted via Internet mail:
+
+ Nathaniel S. Borenstein
+ MRE 2D-296, Bellcore
+ 445 South St.
+ Morristown, NJ 07962-1910
+
+ Phone: +1 201 829 4270
+ Fax: +1 201 829 7019
+ Email: nsb@bellcore.com
+
+
+ Ned Freed
+ Innosoft International, Inc.
+ 250 West First Street
+ Suite 240
+ Claremont, CA 91711
+
+ Phone: +1 714 624 7907
+ Fax: +1 714 621 5319
+ Email: ned@innosoft.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page 77]
+
+
+
+
+ RFC 1341MIME: Multipurpose Internet Mail ExtensionsJune 1992
+
+
+
+
+
+ THIS PAGE INTENTIONALLY LEFT BLANK.
+
+ Please discard this page and place the following table of
+ contents after the title page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page i]
+
+
+
+
+
+
+
+
+ Table of Contents
+
+
+ 1 Introduction....................................... 1
+ 2 Notations, Conventions, and Generic BNF Grammar.... 3
+ 3 The MIME-Version Header Field...................... 5
+ 4 The Content-Type Header Field...................... 6
+ 5 The Content-Transfer-Encoding Header Field......... 10
+ 5.1 Quoted-Printable Content-Transfer-Encoding......... 14
+ 5.2 Base64 Content-Transfer-Encoding................... 17
+ 6 Additional Optional Content- Header Fields......... 19
+ 6.1 Optional Content-ID Header Field................... 19
+ 6.2 Optional Content-Description Header Field.......... 19
+ 7 The Predefined Content-Type Values................. 20
+ 7.1 The Text Content-Type.............................. 20
+ 7.1.1 The charset parameter.............................. 20
+ 7.1.2 The Text/plain subtype............................. 23
+ 7.1.3 The Text/richtext subtype.......................... 23
+ 7.2 The Multipart Content-Type......................... 29
+ 7.2.1 Multipart: The common syntax...................... 30
+ 7.2.2 The Multipart/mixed (primary) subtype.............. 34
+ 7.2.3 The Multipart/alternative subtype.................. 34
+ 7.2.4 The Multipart/digest subtype....................... 36
+ 7.2.5 The Multipart/parallel subtype..................... 36
+ 7.3 The Message Content-Type........................... 37
+ 7.3.1 The Message/rfc822 (primary) subtype............... 37
+ 7.3.2 The Message/Partial subtype........................ 37
+ 7.3.3 The Message/External-Body subtype.................. 40
+ 7.4 The Application Content-Type....................... 46
+ 7.4.1 The Application/Octet-Stream (primary) subtype..... 46
+ 7.4.2 The Application/PostScript subtype................. 47
+ 7.4.3 The Application/ODA subtype........................ 50
+ 7.5 The Image Content-Type............................. 51
+ 7.6 The Audio Content-Type............................. 51
+ 7.7 The Video Content-Type............................. 51
+ 7.8 Experimental Content-Type Values................... 51
+ Summary............................................ 53
+ Acknowledgements................................... 54
+ Appendix A -- Minimal MIME-Conformance............. 56
+ Appendix B -- General Guidelines For Sending Email Data59
+ Appendix C -- A Complex Multipart Example.......... 62
+ Appendix D -- A Simple Richtext-to-Text Translator in C64
+ Appendix E -- Collected Grammar.................... 66
+ Appendix F -- IANA Registration Procedures......... 68
+ F.1 Registration of New Content-type/subtype Values..68
+ F.2 Registration of New Character Set Values...... 69
+ F.3 Registration of New Access-type Values for Message/external-body69
+ F.4 Registration of New Conversions Values for Application69
+ Appendix G -- Summary of the Seven Content-types... 71
+ Appendix H -- Canonical Encoding Model............. 73
+ References......................................... 75
+ Security Considerations............................ 76
+ Authors' Addresses................................. 77
+
+
+
+ Borenstein & Freed [Page ii]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Borenstein & Freed [Page iii]
+
diff --git a/Documentation/en/rfc/rfc1342.txt b/Documentation/en/rfc/rfc1342.txt
new file mode 100644
index 00000000..5315aff5
--- /dev/null
+++ b/Documentation/en/rfc/rfc1342.txt
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+Network Working Group K. Moore
+Request for Comments: 1342 University of Tennessee
+ June 1992
+
+
+ Representation of Non-ASCII Text in Internet Message Headers
+
+Status of this Memo
+
+ This RFC specifies an IAB standards track protocol for the Internet
+ community, and requests discussion and suggestions for improvements.
+ Please refer to the current edition of the "IAB Official Protocol
+ Standards" for the standardization state and status of this protocol.
+ Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo describes an extension to the message format defined in [1]
+ (known to the IETF Mail Extensions Working Group as "RFC 1341"), to
+ allow the representation of character sets other than ASCII in RFC
+ 822 message headers. The extensions described were designed to be
+ highly compatible with existing Internet mail handling software, and
+ to be easily implemented in mail readers that support RFC 1341.
+
+Introduction
+
+ RFC 1341 describes a mechanism for denoting textual body parts which
+ are coded in various character sets, as well as methods for encoding
+ such body parts as sequences of printable ASCII characters. This
+ memo describes similar techniques to allow the encoding of non-ASCII
+ text in various portions of a RFC 822 [2] message header, in a manner
+ which is unlikely to confuse existing message handling software.
+
+ Like the encoding techniques described in RFC 1341, the techniques
+ outlined here were designed to allow the use of non-ASCII characters
+ in message headers in a way which is unlikely to be disturbed by the
+ quirks of existing Internet mail handling programs. In particular,
+ some mail relaying programs are known to (a) delete some message
+ header fields while retaining others, (b) rearrange the order of
+ addresses in To or Cc fields, (c) rearrange the (vertical) order of
+ header fields, and/or (d) "wrap" message headers at different places
+ than those in the original message. In addition, some mail reading
+ programs are known to have difficulty correctly parsing message
+ headers which, while legal according to RFC 822, make use of
+ backslash-quoting to "hide" special characters such as "<", ",", or
+ or which exploit other infrequently-used features of that
+ specification.
+
+
+
+
+Moore [Page 1]
+
+RFC 1342 Non-ASCII Mail Headers June 1992
+
+
+ While it is unfortunate that these programs do not correctly
+ interpret RFC 822 headers, to "break" these programs would cause
+ severe operational problems for the Internet mail system. The
+ extensions described in this memo therefore do not rely on little-
+ used features of RFC 822. Instead, certain sequences of "ordinary"
+ printable ASCII characters (which are assumed to be unlikely to
+ otherwise appear in message headers) are reserved for use as encoded
+ data. The characters used in these encodings are restricted to those
+ which do not have special meanings in the context in which the
+ encoded text appears.
+
+Encodings
+
+ An "encoded-word" is a sequence of printable ASCII characters that
+ begins with "=?", ends with "?=", and has two "?"s in between. It
+ specifies a character set and an encoding method, and also includes
+ the original text encoded as ASCII characters, according to the rules
+ for that encoding method.
+
+ A mail composer that implements this specification will provide a
+ means of inputing non-ASCII text in header fields, but will translate
+ these fields (or appropriate portions of these fields) into encoded-
+ words before inserting them into the message header.
+
+ A mail reader that implements this specification will recognize
+ encoded-words when they appear in certain portions of the message
+ header. Instead of displaying the encoded-word "as is", it will
+ reverse the encoding and display the original text in the designated
+ character set.
+
+ An "encoded-word" is more precisely defined by the following EBNF
+ grammar, using the notation of RFC 822:
+
+ encoded-word = "=" "?" charset "?" encoding "?" encoded-text "?" "="
+
+ charset = token ; legal charsets defined by RFC 1341
+
+ encoding = token ; Either "B" or "Q"
+
+ token = 1*<Any CHAR except SPACE, CTLs, and tspecials>
+
+ tspecials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "\" /
+ <"> / "/" / "[" / "]" / "?" / "." / "="
+
+ encoded-text = 1*<Any printable ASCII character other than "?" or
+ ; SPACE> (but see "Use of encoded-words in message
+ ; headers", below)
+
+
+
+
+Moore [Page 2]
+
+RFC 1342 Non-ASCII Mail Headers June 1992
+
+
+ An encoded-word may not be more than 75 characters long, including
+ charset, encoding, encoded-text, and delimiters. If it is desirable
+ to encode more text than will fit in an encoded-word of 75
+ characters, multiple encoded-words (separated by SPACE or newline)
+ may be used. Message header lines that contain one or more encoded-
+ words should be no more than 76 characters long. NOTE: These
+ restrictions are included not only to ease interoperbility through
+ internetwork mail gateways, but also to impose a limit on the amount
+ of lookahead a header parser must employ (while looking for a final
+ ?= delimiter) before it can decide whether a token is an encoded-word
+ or something else.
+
+ Initially, the legal values for "encoding" are "Q" and "B". These
+ encodings are described below. The "Q" encoding is recommended for
+ use with Latin character sets, and the "B" encoding for all others.
+ Nevertheless, a mail reader which claims to recognize encoded-words
+ MUST be able to accept either encoding for any character set which it
+ supports.
+
+ Only a subset of the printable ASCII characters may be used in
+ encoded-text. The SPACE character is not allowed, so that the
+ beginning and end of an encoded-word are obvious. The "?" character
+ is used within an encoded-word to separate the various portions of
+ the encoded-word from one another, and thus cannot appear in the
+ encoded-text portion. Other characters are also illegal in certain
+ contexts. For example, an encoded-word in a "phrase" preceeding an
+ address in a From header field may not contain any of the "specials"
+ defined in RFC 822. Finally, certain other characters are disallowed
+ in some contexts, to ensure reliability for messages that pass
+ through internetwork mail gateways.
+
+ The "B" encoding automatically meets these requirements. The "Q"
+ encoding allows a wide range of printable characters to be used in
+ non-critical locations in the message header (e.g., Subject), with
+ fewer characters available for use in other locations.
+
+The "B" encoding
+
+ The "B" encoding is identical to the "BASE64" encoding defined by RFC
+ 1341.
+
+The "Q" encoding
+
+ The "Q" encoding is similar to the "Quoted-Printable" content-
+ transfer-encoding defined in RFC 1341. It is designed to allow text
+ containing mostly ASCII characters to be decipherable on an ASCII
+ terminal without decoding.
+
+
+
+
+Moore [Page 3]
+
+RFC 1342 Non-ASCII Mail Headers June 1992
+
+
+ 1. Any 8-bit value may be represented by a "=" followed by two
+ hexadecimal digits. For example, if the character set in use
+ were ISO-8859-1, the "=" character would thus be encoded as
+ "=3D", and a SPACE by "=20".
+
+ 2. The 8-bit hexadecimal value 20 (e.g., IS0-8859-1 SPACE) may be
+ represented as "_" (underscore, ASCII 95.). (This character may
+ not pass through some internetwork mail gateways, but its use
+ will greatly enhance readability of "Q" encoded data with mail
+ readers that do not support this encoding.) Note that the "_"
+ always represents hexadecimal 20, even if the SPACE character
+ occupies a different code position in the character set in use.
+
+ 3. 8-bit values which correspond to printable ASCII characters other
+ than "=", "?", "_" (underscore), and SPACE may be represented as
+ those characters. (But see "Use of encoded-words in message
+ headers", below).
+
+Character sets
+
+ In an encoded-word, the character set associated with the unencoded
+ text is specified by a charset. A charset can be any of the
+ character set names allowed in an RFC 1341 "charset" parameter of a
+ "text/plain" body part. (See section 7.1.1 of RFC 1341 for a list of
+ valid charset parameters).
+
+ When there is a possibility of using more than one character set to
+ represent the text in an encoded-word, and in the absence of private
+ agreements between sender and recipients of a message, it is
+ recommended that members of the ISO-8859-* series be used in
+ preference to other character sets. Among the various ISO-8859-*
+ character sets, the lowest-numbered set which contains all of the
+ required characters should be used.
+
+Use of encoded-words in message headers
+
+ A sequence of one or more encoded-words is used to represent non-
+ ASCII textual data within a header field. An encoded-word must be
+ separated from an adjacent encoded-word, "word", "text", "ctext", or
+ "special" by a linear white-space character or a newline. When
+ displaying a particular header field" (in the RFC 822 sense)
+ containing one or more encoded-words, an unencoded SPACE character
+ that immediately follows the encoded-word is not displayed. A
+ newline that immediately follows an encoded-word is not displayed
+ unless the encoded-word is the last token in that "field". (This is
+ to allow the use of multiple encoded-words to represent long strings
+ of unencoded text, without having to separate encoded-words where
+ spaces occur in the unencoded text.)
+
+
+
+Moore [Page 4]
+
+RFC 1342 Non-ASCII Mail Headers June 1992
+
+
+ An encoded-word may appear in a message header or body part header
+ according to the following rules:
+
+- An encoded-word may replace a "text" token (as defined by RFC 822) in:
+ (1) a Subject or Comments header field, (2) any extension message
+ header field, (3) any user-defined message header field, or (4) any
+ RFC 1341 body part header field (such as Content-Description) for
+ which the field body contains only "text"s.
+
+- An encoded-word may appear within a comment delimited by "(" and ")",
+ i.e., wherever a "ctext" is allowed. More precisely, the RFC 822 EBNF
+ definition for "comment" is amended as follows:
+
+ comment = "(" *(ctext / quoted-pair / comment / encoded-word) ")"
+
+ A "Q"-encoded encoded-word which appears in a comment MUST NOT contain
+ the characters "(", ")" or "\".
+
+- As a replacement for a "word" entity within a "phrase", for example,
+ one that precedes an address in a From, To, or Cc header. The EBNF
+ definition for phrase from RFC 822 thus becomes:
+
+ phrase = 1*(encoded-word / word)
+
+ In this case the set of characters that may be used in a "Q"-encoded
+ encoded-word is restricted to: <upper and lower case ASCII letters,
+ decimal digits, "!", "*", "+", "-", "/", "=", and "_" (underscore,
+ ASCII 95.)>.
+
+ These are the ONLY locations where an encoded-word may appear. In
+ particular, an encoded-word MUST NOT appear in any portion of an
+ "address". In addition, an encoded-word MUST NOT be used in a
+ Received header field.
+
+ Whenever such words appear in a header being displayed, an enlightened
+ mail reader will decode the text and render it appropriately.
+
+ Only textual data (printable and white space characters) should be
+ encoded using this scheme. However, since these encoding schemes
+ allow the encoding of arbitrary 8-bit values, mail readers that
+ implement this decoding should also ensure that display of the
+ decoded data on the recipient's terminal will not cause unwanted
+ side-effects.
+
+ Use of these methods to encode non-textual data (e.g., pictures or
+ sounds) is not defined by this memo. Use of encoded-words to
+ represent strings of purely ASCII characters is allowed, but
+ discouraged.
+
+
+
+Moore [Page 5]
+
+RFC 1342 Non-ASCII Mail Headers June 1992
+
+
+Recognition of encoded-words in message headers.
+
+ An encoded-word may be distinguished from an ordinary "word", "text",
+ or "ctext", as follows: An encoded-word begins with "=?", ends with
+ "?=", contains exactly four "?" characters including the delimiters,
+ and is followed by a SPACE or newline. If the "word", "text", or
+ "ctext" does not meet the above tests, it should be displayed as it
+ appears in the message header.
+
+ If the mail reader does not support the character set used, it may
+ either display the encoded-word as ordinary text (i.e., as it appears
+ in the header), or it may substitute an appropriate message
+ indicating that the decoded text could not be displayed.
+
+Conformance
+
+ A mail composing program claiming compliance with this specification
+ MUST ensure that any string of printable ASCII characters in a
+ message header that begins with "=?" and ends with "?=" be a valid
+ encoded-word.
+
+ A mail reading program claiming compliance with this specification
+ must be able to distinguish encoded-words from "text", "ctext", or
+ "word"s anytime they appear in appropriate places in message headers.
+ The program must be able to display unencoded text if the character
+ set is "US-ASCII". For the ISO-8859-* character sets, the mail
+ reading program must at least be able to display the characters which
+ are also in the ASCII set.
+
+Examples
+
+ From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>
+ To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>
+ CC: =?ISO-8859-1?Q?Andr=E9_?= Pirard <PIRARD@vm1.ulg.ac.be>
+ Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=
+ =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=
+
+ From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= <ojarnef@admin.kth.se>
+ To: ietf-822@dimacs.rutgers.edu, ojarnef@admin.kth.se
+ Subject: Time for ISO 10646?
+
+ To: Dave Crocker <dcrocker@mordor.stanford.edu>
+ Cc: ietf-822@dimacs.rutgers.edu, paf@comsol.se
+ From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= <paf@nada.kth.se>
+ Subject: Re: RFC-HDR care and feeding
+
+
+
+
+
+
+Moore [Page 6]
+
+RFC 1342 Non-ASCII Mail Headers June 1992
+
+
+ From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
+ (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)
+ To: Greg Vaudreuil <gvaudre@NRI.Reston.VA.US>, Ned Freed
+ <ned@innosoft.com>,
+ Keith Moore <moore@cs.utk.edu>
+ Subject: Test of new header generator
+ MIME-Version: 1.0
+ Content-type: text/plain; charset=ISO-8859-1
+
+References
+
+ [1] Borenstein N., and N. Freed, "MIME (Multipurpose Internet Mail
+ Extensions): Mechanisms for Specifying and Describing the Format
+ of Internet Message Bodies", RFC 1341, Bellcore, Innosoft,
+ June 1992.
+
+ [2] Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", RFC 822, UDEL, August 1982.
+
+Security Considerations
+
+ Security issues are not discussed in this memo.
+
+Author's Address
+
+ Keith Moore
+ University of Tennessee
+ 107 Ayres Hall
+ Knoxville TN 37996-1301
+
+ EMail: moore@cs.utk.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore [Page 7]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1348.txt b/Documentation/en/rfc/rfc1348.txt
new file mode 100644
index 00000000..d9e5dea0
--- /dev/null
+++ b/Documentation/en/rfc/rfc1348.txt
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+Network Working Group B. Manning
+Request for Comments: 1348 Rice University
+Updates: RFCs 1034, 1035 July 1992
+
+
+ DNS NSAP RRs
+
+Status of this Memo
+
+ This memo defines an Experimental Protocol for the Internet
+ community. Discussion and suggestions for improvement are requested.
+ Please refer to the current edition of the "IAB Official Protocol
+ Standards" for the standardization state and status of this protocol.
+ Distribution of this memo is unlimited.
+
+Table of Contents
+
+ Introduction ..................................................... 1
+ Background ....................................................... 1
+ NSAP RR .......................................................... 2
+ NSAP-PTR RR ...................................................... 2
+ REFERENCES and BIBLIOGRAPHY ...................................... 3
+ Security Considerations .......................................... 4
+ Author's Address ................................................. 4
+
+Introduction
+
+ This RFC defines the format of two new Resource Records (RRs) for the
+ Domain Name System (DNS), and reserves corresponding DNS type
+ mnemonic and numerical codes. This format may be used with the any
+ proposal that has variable length addresses, but is targeted for CLNP
+ use.
+
+ This memo assumes that the reader is familiar with the DNS [3,4].
+
+Background
+
+ This section describes an experimental representation of NSAP
+ addresses in the DNS. There are several reasons to take this approch.
+ First, it provides simple documentation of the correct addresses to
+ use in static configurations of CLNP compliant hosts and routers.
+
+ NSAP support requires that a new DNS resource record entry type
+ ("NSAP") be defined, to store longer Internet (i.e., NSAP) addresses.
+ This resource record allows mapping from DNS names to NSAP addresses,
+ and will contain entries for systems which are able to run Internet
+ applications, over TCP or UDP, over CLNP.
+
+
+
+
+Manning [Page 1]
+
+RFC 1348 DNS NSAP RRs July 1992
+
+
+ The backward translation (from NSAP address to DNS name) is
+ facilitated by definition of an associated resource record. This
+ resource record is known as "NSAP-PTR", and is used in a manner
+ analogous to the existing "in-addr.arpa".
+
+ These RRs are intended for use in a proposal [6] by one of the
+ members of the NOOP WG to address the next-generation internet.
+
+The NSAP RR
+
+ The NSAP RR is defined with mnemonic NSAP and type code 22 (decimal).
+
+ An NSAP (Network Service Access Protocol) number is a unique string
+ to OSI transport service.
+
+ The numbering plan follows RFC 1237 and associated OSI definitions
+ for NSAP format.
+
+ NSAP has the following format:
+
+ <owner> <ttl> <class> NSAP <length> <NSAP-address>
+
+ All fields are required.
+
+ <length> identifies the number of octets in the <NSAP-address> as
+ defined by the various national and international authorities.
+
+ <NSAP-address> enumerates the actual octet values assigned by the
+ assigning authority. Its format in master files is a <character-
+ string> syntactically identical to that used in TXT and HINFO.
+
+ The format of NSAP is class insensitive. NSAP RR causes no
+ additional section processing.
+
+ For example:
+
+foo.bar.com. IN NSAP 21 47000580ffff000000321099991111222233334444
+host.school.de IN NSAP 17 39276f3100111100002222333344449876
+
+ The RR data is the ASCII representation of the digits. It is encoded
+ as two <character-strings>, i.e., count followed by characters.
+
+The NSAP-PTR RR
+
+ The NSAP-PTR RR is defined with mnemonic NSAP-PTR and a type code 23
+ (decimal).
+
+ Its function is analogous to the PTR record used for IP addresses
+
+
+
+Manning [Page 2]
+
+RFC 1348 DNS NSAP RRs July 1992
+
+
+ [4,7].
+
+ NSAP-PTR has the following format:
+
+ <NSAP-suffix> <ttl> <class> NSAP-PTR <owner>
+
+ All fields are required.
+
+ <NSAP-suffix> enumerates the actual octet values assigned by the
+ assigning authority for the LOCAL network. Its format in master
+ files is a <character-string> syntactically identical to that used in
+ TXT and HINFO.
+
+ The format of NSAP-PTR is class insensitive. NSAP-PTR RR causes no
+ additional section processing.
+
+ For example:
+
+ In net ff08000574.nsap-in-addr.arpa:
+
+ 444433332222111199990123000000ff NSAP-PTR foo.bar.com.
+
+ Or in net 11110031f67293.nsap-in-addr.arpa:
+
+ 67894444333322220000 NSAP-PTR host.school.de.
+
+ The RR data is the ASCII representation of the digits. It is encoded
+ as a <character-string>.
+
+REFERENCES and BIBLIOGRAPHY
+
+ [1] Stahl, M., "Domain Administrators Guide", RFC 1032, Network
+ Information Center, SRI International, November 1987.
+
+ [2] Lottor, M., "Domain Administrators Operations Guide", RFC 1033,
+ Network Information Center, SRI International, November, 1987.
+
+ [3] Mockapetris, P., "Domain Names - Concepts and Facilities", RFC
+ 1034, USC/Information Sciences Institute, November 1987.
+
+ [4] Mockapetris, P., "Domain Names - Implementation and
+ Specification", RFC 1035, USC/Information Sciences Institute,
+ November 1987.
+
+ [5] Colella, R., Gardner, E., and R. Callon, "Guidelines for OSI
+ NSAP Allocation in the Internet", RFC 1237, NIST, Mitre, DEC,
+ July 1991.
+
+
+
+
+Manning [Page 3]
+
+RFC 1348 DNS NSAP RRs July 1992
+
+
+ [6] Callon, R., "TCP and UDP with Bigger Addresses (TUBA),
+ A Simple Proposal for Internet Addressing and Routing",
+ Digital Equipment Corporation, RFC 1347, June 1992.
+
+ [7] Mockapetris, P., "DNS Encoding of Network Names and Other Types",
+ RFC 1101, USC/Information Sciences Institute, April 1989.
+
+ [8] ISO/IEC. Information Processing Systems -- Data Communications
+ -- Network Service Definition Addendum 2: Network Layer Address-
+ ing. International Standard 8348/Addendum 2, ISO/IEC JTC 1,
+ Switzerland, 1988.
+
+ [9] Bryant, P., "NSAPs", PB660, IPTAG/92/23, SCIENCE AND ENGINEERING
+ RESEARCH COUNCIL, RUTHERFORD APPLETON LABORATORY May 1992.
+
+Security Considerations
+
+ Security issues are not addressed in this memo.
+
+Author's Address
+
+ Bill Manning
+ Rice University - ONCS
+ PO Box 1892
+ 6100 South Main
+ Houston, Texas 77251-1892
+
+ Phone: +1.713.285.5415
+ EMail: bmanning@rice.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning [Page 4]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1425.txt b/Documentation/en/rfc/rfc1425.txt
new file mode 100644
index 00000000..a1182655
--- /dev/null
+++ b/Documentation/en/rfc/rfc1425.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+Network Working Group J. Klensin, WG Chair
+Request for Comments: 1425 United Nations University
+ N. Freed, Editor
+ Innosoft International, Inc.
+ M. Rose
+ Dover Beach Consulting, Inc.
+ E. Stefferud
+ Network Management Associates, Inc.
+ D. Crocker
+ The Branch Office
+ February 1993
+
+
+ SMTP Service Extensions
+
+Status of this Memo
+
+ This RFC specifies an IAB standards track protocol for the Internet
+ community, and requests discussion and suggestions for improvements.
+ Please refer to the current edition of the "IAB Official Protocol
+ Standards" for the standardization state and status of this protocol.
+ Distribution of this memo is unlimited.
+
+1. Abstract
+
+ This memo defines a framework for extending the SMTP service by
+ defining a means whereby a server SMTP can inform a client SMTP as to
+ the service extensions it supports. Standard extensions to the SMTP
+ service are registered with the Internet Assigned Numbers Authority
+ (IANA). This framework does not require modification of existing
+ SMTP clients or servers unless the features of the service extensions
+ are to be requested or provided.
+
+2. Introduction
+
+ The Simple Mail Transfer Protocol (SMTP) [1] has provided a stable,
+ effective basis for the relay function of message transfer agents.
+ Although a decade old, SMTP has proven remarkably resilient.
+ Nevertheless, the need for a number of protocol extensions has become
+ evident. Rather than describing these extensions as separate and
+ haphazard entities, this document enhances SMTP in a straightforward
+ fashion that provides a framework in which all future extensions can
+ be built in a single consistent way.
+
+3. Framework for SMTP Extensions
+
+ For the purpose of service extensions to SMTP, SMTP relays a mail
+ object containing an envelope and a content.
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 1]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+ (1) The SMTP envelope is straightforward, and is sent as a
+ series of SMTP protocol units: it consists of an
+ originator address (to which error reports should be
+ directed); a delivery mode (e.g., deliver to recipient
+ mailboxes); and, one or more recipient addresses.
+
+ (2) The SMTP content is sent in the SMTP DATA protocol unit
+ and has two parts: the headers and the body. The headers
+ form a collection of field/value pairs structured
+ according to RFC 822 [2], whilst the body, if structured,
+ is defined according to MIME [3]. The content is textual
+ in nature, expressed using the US ASCII repertoire (ANSI
+ X3.4-1986). Although extensions (such as MIME) may relax
+ this restriction for the content body, the content
+ headers are always encoded using the US ASCII repertoire.
+ The algorithm defined in [4] is used to represent header
+ values outside the US ASCII repertoire, whilst still
+ encoding them using the US ASCII repertoire.
+
+ Although SMTP is widely and robustly deployed, some parts of the
+ Internet community might wish to extend the SMTP service. This memo
+ defines a means whereby both an extended SMTP client and server may
+ recognize each other as such and the server can inform the client as
+ to the service extensions that it supports.
+
+ It must be emphasized that any extension to the SMTP service should
+ not be considered lightly. SMTP's strength comes primarily from its
+ simplicity. Experience with many protocols has shown that:
+
+ protocols with few options tend towards ubiquity, whilst
+ protocols with many options tend towards obscurity.
+
+ This means that each and every extension, regardless of its benefits,
+ must be carefully scrutinized with respect to its implementation,
+ deployment, and interoperability costs. In many cases, the cost of
+ extending the SMTP service will likely outweigh the benefit.
+
+ Given this environment, the framework for the extensions described in
+ this memo consists of:
+
+ (1) a new SMTP command (section 4)
+
+ (2) a registry of SMTP service extensions (section 5)
+
+ (3) additional parameters to the SMTP MAIL FROM and RCPT TO
+ commands (section 6).
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 2]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+4. The EHLO command
+
+ A client SMTP supporting SMTP service extensions should start an SMTP
+ session by issuing the EHLO command instead of the HELO command. If
+ the SMTP server supports the SMTP service extensions it will give a
+ successful response (see section 4.1), a failure response (see 4.2),
+ or an error response (4.3). If the SMTP server does not support any
+ SMTP service extensions it will generate an error response (see
+ section 4.4).
+
+ The syntax for this command, using the ABNF notation of [2], is:
+
+ ehlo-cmd ::= "EHLO" SP domain CR LF
+
+ If successful, the server SMTP responds with code 250. On failure,
+ the server SMTP responds with code 550. On error, the server SMTP
+ responds with one of codes 500, 501, 502, 504, or 421.
+
+ This command is issued instead of the HELO command, and may be issued
+ at any time that a HELO command would be appropriate. That is, if
+ the EHLO command is issued, and a successful response is returned,
+ then a subsequent HELO or EHLO command will result in the server SMTP
+ replying with code 503. A client SMTP must not cache any information
+ returned if the EHLO command succeeds. That is, a client SMTP must
+ issue the EHLO command at the start of each SMTP session if
+ information about extended facilities is needed.
+
+4.1. Successful response
+
+ If the server SMTP implements and is able to perform the EHLO
+ command, it will return code 250. This indicates that both the
+ server and client SMTP are in the initial state, that is, there is no
+ transaction in progress and all state tables and buffers are cleared.
+
+ Normally, this response will be a multiline reply. Each line of the
+ response contains a keyword and, optionally, one or more parameters.
+ The syntax for a positive response, using the ABNF notation of [2],
+ is:
+
+
+
+
+
+
+
+
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 3]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+ ehlo-ok-rsp ::= "250" domain [ SP greeting ] CR LF
+ / ( "250-" domain [ SP greeting ] CR LF
+ *( "250-" ehlo-line CR LF )
+ "250" SP ehlo-line CR LF )
+
+ ; the usual HELO chit-chat
+ greeting ::= 1*<any character other than CR or LF>
+
+ ehlo-line ::= ehlo-keyword *( SP ehlo-param )
+
+ ehlo-keyword ::= (ALPHA / DIGIT) *(ALPHA / DIGIT / "-")
+
+ ; syntax and values depend on ehlo-keyword
+ ehlo-param ::= 1*<any CHAR excluding SP and all
+ control characters (US ASCII 0-31
+ inclusive)>
+
+ ALPHA ::= <any one of the 52 alphabetic characters
+ (A through Z in upper case, and,
+ a through z in lower case)>
+
+ DIGIT ::= <any one of the 10 numeric characters
+ (0 through 9)>
+
+ CR ::= <the carriage-return character
+ (ASCII decimal code 13)>
+ LF ::= <the line-feed character
+ (ASCII decimal code 10)>
+ SP ::= <the space character
+ (ASCII decimal code 32)>
+
+ Although EHLO keywords may be specified in upper, lower, or mixed
+ case, they must always be recognized and processed in a case-
+ insensitive manner. This is simply an extension of practices begun in
+ RFC 821.
+
+ The IANA maintains a registry of standard SMTP service extensions.
+ Associated with each such extension is a corresponding EHLO keyword
+ value. Each service extension registered with the IANA is defined by
+ a standards-track RFC, and such a definition includes:
+
+ (1) the textual name of the SMTP service extension;
+
+ (2) the EHLO keyword value associated with the extension;
+
+ (3) the syntax and possible values of parameters associated
+ with the EHLO keyword value;
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 4]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+ (4) any additional SMTP verbs associated with the extension
+ (additional verbs will usually be, but are not required
+ to be, the same as the EHLO keyword value);
+
+ (5) any new parameters the extension associates with the MAIL
+ FROM or RCPT TO verbs; and,
+
+ (6) how support for the extension affects the behavior of a
+ server and client SMTP.
+
+ In addition, any EHLO keyword value that starts with an upper or
+ lower case "X" refers to a local SMTP service extension, which is
+ used through bilateral, rather than standardized, agreement. Keywords
+ beginning with "X" may not be used in a registered service extension.
+
+ Any keyword values presented in the EHLO response that do not begin
+ with "X" must correspond to an SMTP service extension registered with
+ IANA. A conforming server must not offer non "X" prefixed keyword
+ values that are not described in a registered extension.
+
+ Additional verbs are bound by the same rules as EHLO keywords;
+ specifically, verbs begining with "X" are local extensions that may
+ not be standardized and verbs not beginning with "X" must always be
+ registered.
+
+4.2. Failure response
+
+ If for some reason the server SMTP is unable to list the service
+ extensions it supports, it will return code 554.
+
+ In the case of a failure response, the client SMTP should issue
+ either the HELO or QUIT command.
+
+4.3. Error responses from extended servers
+
+ If the server SMTP recognizes the EHLO command, but the command
+ argument is unacceptable, it will return code 501.
+
+ If the server SMTP recognizes, but does not implement, the EHLO
+ command, it will return code 502.
+
+ If the server SMTP determines that the SMTP service is no longer
+ available (e.g., due to imminent system shutdown), it will return
+ code 421.
+
+ In the case of any error response, the client SMTP should issue
+ either the HELO or QUIT command.
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 5]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+4.4. Responses from servers without extensions
+
+ A server SMTP that conforms to RFC 821 but does not support the
+ extensions specified here will not recognize the EHLO command and
+ will consequently return code 500, as specified in RFC 821.
+
+5. Initial IANA Registry
+
+ The IANA's initial registry of SMTP service extensions consists of
+ these entries:
+
+ Service Ext EHLO Keyword Parameters Verb Added Behavior
+ ------------- ------------ ---------- ---------- ------------------
+ Send SEND none SEND defined in RFC 821
+ Send or Mail SOML none SOML defined in RFC 821
+ Send and Mail SAML none SAML defined in RFC 821
+ Expand EXPN none EXPN defined in RFC 821
+ Help HELP none HELP defined in RFC 821
+ Turn TURN none TURN defined in RFC 821
+
+ which correspond to those SMTP commands which are defined as optional
+ in [5]. (The mandatory SMTP commands, according to [5], are HELO,
+ MAIL, RCPT, DATA, RSET, VRFY, NOOP, and QUIT.)
+
+6. MAIL FROM and RCPT TO Parameters
+
+ It is recognized that several of the extensions planned for SMTP will
+ make use of additional parameters associated with the MAIL FROM and
+ RCPT TO command. The syntax for these commands, again using the ABNF
+ notation of [2] as well as underlying definitions from [1], is:
+
+ esmtp-cmd ::= inner-esmtp-cmd [SP esmtp-parameters] CR LF
+ esmtp-parameters ::= esmtp-parameter *(SP esmtp-parameter)
+ esmtp-parameter ::= esmtp-keyword ["=" esmtp-value]
+ esmtp-keyword ::= (ALPHA / DIGIT) *(ALPHA / DIGIT / "-")
+
+ ; syntax and values depend on esmtp-keyword
+ esmtp-value ::= 1*<any CHAR excluding "=", SP, and all
+ control characters (US ASCII 0-31
+ inclusive)>
+
+ ; The following commands are extended to
+ ; accept extended parameters.
+ inner-esmtp-cmd ::= ("MAIL FROM:<" reverse-path ">") /
+ ("RCPT TO:<" forward-path ">")
+
+ All esmtp-keyword values must be registered as part of the IANA
+ registration process described above. This definition only provides
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 6]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+ the framework for future extension; no extended MAIL FROM or RCPT TO
+ parameters are defined by this RFC.
+
+6.1. Error responses
+
+ If the server SMTP does not recognize or cannot implement one or more
+ of the parameters associated with a particular MAIL FROM or RCPT TO
+ command, it will return code 555.
+
+ If for some reason the server is temporarily unable to accomodate one
+ or more of the parameters associated with a MAIL FROM or RCPT TO
+ command, and if the definition of the specific parameter does not
+ mandate the use of another code, it should return code 455.
+
+ Errors specific to particular parameters and their values will be
+ specified in the parameter's defining RFC.
+
+7. Received: Header Field Annotation
+
+ SMTP servers are required to add an appropriate Received: field to
+ the headers of all messages they receive. A "with ESMTP" clause
+ should be added to this field when any SMTP service extensions are
+ used. "ESMTP" is hereby added to the list of standard protocol names
+ registered with IANA.
+
+8. Usage Examples
+
+ (1) An interaction of the form:
+
+ S: <wait for connection on TCP port 25>
+ C: <open connection to server>
+ S: 220 dbc.mtview.ca.us SMTP service ready
+ C: EHLO ymir.claremont.edu
+ S: 250 dbc.mtview.ca.us says hello
+ ...
+
+ indicates that the server SMTP implements only those SMTP
+ commands which are defined as mandatory in [5].
+
+ (2) In contrast, an interaction of the form:
+
+ S: <wait for connection on TCP port 25>
+ C: <open connection to server>
+ S: 220 dbc.mtview.ca.us SMTP service ready
+ C: EHLO ymir.claremont.edu
+ S: 250-dbc.mtview.ca.us says hello
+ S: 250-EXPN
+ S: 250-HELP
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 7]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+ S: 250-8BITMIME
+ S: 250-XONE
+ S: 250 XVRB
+ ...
+
+ indicates that the server SMTP also implements the SMTP
+ EXPN and HELP commands, one standard service extension
+ (8BITMIME), and two non-standard service extensions (XONE
+ and XVRB).
+
+ (3) Finally, a server that does not support SMTP service
+ extensions would act as follows:
+
+ S: <wait for connection on TCP port 25>
+ C: <open connection to server>
+ S: 220 dbc.mtview.ca.us SMTP service ready
+ C: EHLO ymir.claremont.edu
+ S: 500 Command not recognized: EHLO
+ ...
+
+ The 500 response indicates that the server SMTP does not
+ implement the extensions specified here. The client
+ would normally send RSET to reset the connection, and,
+ after getting a successful reply, send a HELO command and
+ proceed as specified in RFC 821.
+
+9. Security Considerations
+
+ This RFC does not discuss security issues and is not believed to
+ raise any security issues not already endemic in electronic mail and
+ present in fully conforming implementations of RFC-821. It does
+ provide an announcement of server mail capabilities via the response
+ to the EHLO verb. However, all information provided by announcement
+ of any of the initial set of service extensions defined by this RFC
+ can be readily deduced by selective probing of the verbs required to
+ transport and deliver mail. The security implications of service
+ extensions described in other RFCs should be dealt with in those
+ RFCs.
+
+10. Acknowledgements
+
+ This document represents a synthesis of the ideas of many people and
+ reactions to the ideas and proposals of others. Randall Atkinson,
+ Craig Everhart, Risto Kankkunen, and Greg Vaudreuil contributed ideas
+ and text sufficient to be considered co-authors. Other important
+ suggestions, text, or encouragement came from Harald Alvestrand, Jim
+ Conklin, Mark Crispin, Frank da Cruz, 'Olafur Gudmundsson, Per
+ Hedeland, Christian Huitma, Neil Katin, Eliot Lear, Harold A.
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 8]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+ Miller, Dan Oscarsson, Julian Onions, Rayan Zachariassen, and the
+ contributions of the entire IETF SMTP Working Group. Of course, none
+ of the individuals are necessarily responsible for the combination of
+ ideas represented here. Indeed, in some cases, the response to a
+ particular criticism was to accept the problem identification but to
+ include an entirely different solution from the one originally
+ proposed.
+
+11. References
+
+ [1] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
+ USC/Information Sciences Institute, August 1982.
+
+ [2] Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", STD 11, RFC 822, UDEL, August 1982.
+
+ [3] Borenstein, N., and N. Freed, "Multipurpose Internet Mail
+ Extensions", RFC 1341, Bellcore, Innosoft, June 1992.
+
+ [4] Moore, K., "Representation of Non-ASCII Text in Internet Message
+ Headers", RFC 1342, University of Tennessee, June 1992.
+
+ [5] Braden, R., "Requirements for Internet Hosts - Application and
+ Support", STD 3, RFC 1123, USC/Information Sciences Institute,
+ October 1989.
+
+12. Chair, Editor, and Authors' Addresses
+
+ John Klensin, WG Chair
+ United Nations University
+ PO Box 500, Charles Street Station
+ Boston, MA 02114-0500 USA
+
+ Phone: +1 617 227 8747
+ Fax: +1 617 491 6266
+ Email: klensin@infoods.unu.edu
+
+
+ Ned Freed, Editor
+ Innosoft International, Inc.
+ 250 West First Street, Suite 240
+ Claremont, CA 91711 USA
+
+ Phone: +1 909 624 7907
+ Fax: +1 909 621 5319
+ Email: ned@innosoft.com
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 9]
+
+RFC 1425 SMTP Service Extensions February 1993
+
+
+ Marshall T. Rose
+ Dover Beach Consulting, Inc.
+ 420 Whisman Court
+ Moutain View, CA 94043-2186 USA
+
+ Phone: +1 415 968 1052
+ Fax: +1 415 968 2510
+ Email: mrose@dbc.mtview.ca.us
+
+
+ Einar A. Stefferud
+ Network Management Associates, Inc.
+ 17301 Drey Lane
+ Huntington Beach, CA, 92647-5615 USA
+
+ Phone: +1 714 842 3711
+ Fax: +1 714 848 2091
+ Email: stef@nma.com
+
+
+ David H. Crocker
+ The Branch Office
+ USA
+
+ Email: dcrocker@mordor.stanford.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 10]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1426.txt b/Documentation/en/rfc/rfc1426.txt
new file mode 100644
index 00000000..6569f4c8
--- /dev/null
+++ b/Documentation/en/rfc/rfc1426.txt
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+Network Working Group J. Klensin, WG Chair
+Request for Comments: 1426 United Nations University
+ N. Freed, Editor
+ Innosoft International, Inc.
+ M. Rose
+ Dover Beach Consulting, Inc.
+ E. Stefferud
+ Network Management Associates, Inc.
+ D. Crocker
+ The Branch Office
+ February 1993
+
+
+ SMTP Service Extension
+ for 8bit-MIMEtransport
+
+Status of this Memo
+
+ This RFC specifies an IAB standards track protocol for the Internet
+ community, and requests discussion and suggestions for improvements.
+ Please refer to the current edition of the "IAB Official Protocol
+ Standards" for the standardization state and status of this protocol.
+ Distribution of this memo is unlimited.
+
+1. Abstract
+
+ This memo defines an extension to the SMTP service whereby an SMTP
+ content body containing octets outside of the US ASCII octet range
+ (hex 00-7F) may be relayed using SMTP.
+
+2. Introduction
+
+ Although SMTP is widely and robustly deployed, various extensions
+ have been requested by parts of the Internet community. In
+ particular, a significant portion of the Internet community wishes to
+ exchange messages in which the content body consists of a MIME
+ message [3] containing arbitrary octet-aligned material. This memo
+ uses the mechanism described in [5] to define an extension to the
+ SMTP service whereby such contents may be exchanged. Note that this
+ extension does NOT eliminate the possibility of an SMTP server
+ limiting line length; servers are free to implement this extension
+ but nevertheless set a line length limit no lower than 1000 octets.
+
+3. Framework for the 8bit MIME Transport Extension
+
+ The 8bit MIME transport extension is laid out as follows:
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 1]
+
+RFC 1426 SMTP 8bit-MIMEtransport February 1993
+
+
+ (1) the name of the SMTP service extension defined here is
+ 8bit-MIMEtransport;
+
+ (2) the EHLO keyword value associated with the extension is
+ 8BITMIME;
+
+ (3) no parameter is used with the 8BITMIME EHLO keyword;
+
+ (4) one optional parameter using the keyword BODY is added to
+ the MAIL FROM command. The value associated with this
+ parameter is a keyword indicating whether a 7bit message
+ (in strict compliance with [1]) or a MIME message (in
+ strict compliance with [3]) with arbitrary octet content
+ is being sent. The syntax of the value is as follows,
+ using the ABNF notation of [2]:
+
+ body-value ::= "7BIT" / "8BITMIME"
+
+ (5) no additional SMTP verbs are defined by this extension;
+ and,
+
+ (6) the next section specifies how support for the extension
+ affects the behavior of a server and client SMTP.
+
+4. The 8bit-MIMEtransport service extension
+
+ When a client SMTP wishes to submit (using the MAIL command) a
+ content body consisting of a MIME message containing arbitrary
+ octet-aligned material, it first issues the EHLO command to the
+ server SMTP. If the server SMTP responds with code 250 to the EHLO
+ command, and the response includes the EHLO keyword value 8BITMIME,
+ then the server SMTP is indicating that it supports the extended MAIL
+ command and will accept MIME messages containing arbitrary octet-
+ aligned material.
+
+ The extended MAIL command is issued by a client SMTP when it wishes
+ to transmit a content body consisting of a MIME message containing
+ arbitrary octet-aligned material. The syntax for this command is
+ identical to the MAIL command in [1], except that a BODY parameter
+ must appear after the address.
+
+ The complete syntax of this extended command is defined in [5]. The
+ esmtp-keyword is BODY and the syntax for esmtp-value is given by the
+ syntax for body-value shown above.
+
+ The value associated with the BODY parameter indicates whether the
+ content body which will be passed using the DATA command consists of
+ a MIME message containing some arbitrary octet-aligned material
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 2]
+
+RFC 1426 SMTP 8bit-MIMEtransport February 1993
+
+
+ ("8BITMIME") or is encoded entirely in accordance with [1] ("7BIT").
+
+ A server which supports the 8-bit MIME transport service extension
+ shall preserve all bits in each octet passed using the DATA command.
+
+ Naturally, the usual SMTP data-stuffing algorithm applies so that a
+ content which contains the five-character sequence of
+
+ <CR> <LF> <DOT> <CR> <LF>
+
+ or a content that begins with the three-character sequence of
+
+ <DOT> <CR> <LF>
+
+ does not prematurely terminate the transfer of the content. Further,
+ it should be noted that the CR-LF pair immediately preceeding the
+ final dot is considered part of the content. Finally, although the
+ content body contains arbitrary octet-aligned material, the length of
+ each line (number of octets between two CR-LF pairs), is still
+ subject to SMTP server line length restrictions (which may allow as
+ few as 1000 octets on a single line).
+
+ Once a server SMTP supporting the 8bit-MIMEtransport service
+ extension accepts a content body containing octets with the high-
+ order (8th) bit set, the server SMTP must deliver or relay the
+ content in such a way as to preserve all bits in each octet.
+
+ If a server SMTP does not support the 8-bit MIME transport extension
+ (either by not responding with code 250 to the EHLO command, or by
+ not including the EHLO keyword value 8BITMIME in its response), then
+ the client SMTP must not, under any circumstances, attempt to
+ transfer a content which contains characters outside the US ASCII
+ octet range (hex 00-7F).
+
+ A client SMTP has two options in this case: first, it may implement
+ a gateway transformation to convert the message into valid 7bit MIME,
+ or second, or may treat this as a permanent error and handle it in
+ the usual manner for delivery failures. The specifics of the
+ transformation from 8bit MIME to 7bit MIME are not described by this
+ RFC; the conversion is nevertheless constrained in the following
+ ways:
+
+ (1) it must cause no loss of information; MIME transport
+ encodings must be employed as needed to insure this is
+ the case, and
+
+ (2) the resulting message must be valid 7bit MIME.
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 3]
+
+RFC 1426 SMTP 8bit-MIMEtransport February 1993
+
+
+5. Usage Example
+
+ The following dialogue illustrates the use of the 8bit-MIMEtransport
+ service extension:
+
+ S: <wait for connection on TCP port 25>
+ C: <open connection to server>
+ S: 220 dbc.mtview.ca.us SMTP service ready
+ C: EHLO ymir.claremont.edu
+ S: 250-dbc.mtview.ca.us says hello
+ S: 250 8BITMIME
+ C: MAIL FROM:<ned@ymir.claremont.edu> BODY=8BITMIME
+ S: 250 <ned@ymir.claremont.edu>... Sender and 8BITMIME ok
+ C: RCPT TO:<mrose@dbc.mtview.ca.us>
+ S: 250 <mrose@dbc.mtview.ca.us>... Recipient ok
+ C: DATA
+ S: 354 Send 8BITMIME message, ending in CRLF.CRLF.
+ ...
+ C: .
+ S: 250 OK
+ C: QUIT
+ S: 250 Goodbye
+
+6. Security Considerations
+
+ This RFC does not discuss security issues and is not believed to
+ raise any security issues not already endemic in electronic mail and
+ present in fully conforming implementations of [1].
+
+7. Acknowledgements
+
+ This document represents a synthesis of the ideas of many people and
+ reactions to the ideas and proposals of others. Randall Atkinson,
+ Craig Everhart, Risto Kankkunen, and Greg Vaudreuil contributed ideas
+ and text sufficient to be considered co-authors. Other important
+ suggestions, text, or encouragement came from Harald Alvestrand, Jim
+ Conklin, Mark Crispin, Frank da Cruz, 'Olafur Gudmundsson, Per
+ Hedeland, Christian Huitma, Neil Katin, Eliot Lear, Harold A.
+ Miller, Keith Moore, Dan Oscarsson, Julian Onions, Neil Rickert, John
+ Wagner, Rayan Zachariassen, and the contributions of the entire IETF
+ SMTP Working Group. Of course, none of the individuals are
+ necessarily responsible for the combination of ideas represented
+ here. Indeed, in some cases, the response to a particular criticism
+ was to accept the problem identification but to include an entirely
+ different solution from the one originally proposed.
+
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 4]
+
+RFC 1426 SMTP 8bit-MIMEtransport February 1993
+
+
+8. References
+
+ [1] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821,
+ USC/Information Sciences Institute, August 1982.
+
+ [2] Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", STD 11, RFC 822, UDEL, August 1982.
+
+ [3] Borenstein, N., and N. Freed, "Multipurpose Internet Mail
+ Extensions", RFC 1341, Bellcore, Innosoft, June 1992.
+
+ [4] Moore, K., "Representation of Non-ASCII Text in Internet Message
+ Headers", RFC 1342, University of Tennessee, June 1992.
+
+ [5] Klensin, J., WG Chair, Freed, N., Editor, Rose, M., Stefferud,
+ E., and D. Crocker, "SMTP Service Extensions" RFC 1425, United
+ Nations University, Innosoft International, Inc., Dover Beach
+ Consulting, Inc., Network Management Associates, Inc., The Branch
+ Office, February 1993.
+
+ [6] Partridge, C., "Mail Routing and the Domain System", RFC 974,
+ BBN, January 1986.
+
+9. Chair, Editor, and Authors' Addresses
+
+ John Klensin, WG Chair
+ United Nations University
+ PO Box 500, Charles Street Station
+ Boston, MA 02114-0500 USA
+
+ Phone: +1 617 227 8747
+ Fax: +1 617 491 6266
+ Email: klensin@infoods.unu.edu
+
+
+ Ned Freed, Editor
+ Innosoft International, Inc.
+ 250 West First Street, Suite 240
+ Claremont, CA 91711 USA
+
+ Phone: +1 909 624 7907
+ Fax: +1 909 621 5319
+ Email: ned@innosoft.com
+
+
+
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 5]
+
+RFC 1426 SMTP 8bit-MIMEtransport February 1993
+
+
+ Marshall T. Rose
+ Dover Beach Consulting, Inc.
+ 420 Whisman Court
+ Moutain View, CA 94043-2186 USA
+
+ Phone: +1 415 968 1052
+ Fax: +1 415 968 2510
+ Email: mrose@dbc.mtview.ca.us
+
+
+ Einar A. Stefferud
+ Network Management Associates, Inc.
+ 17301 Drey Lane
+ Huntington Beach, CA, 92647-5615 USA
+
+ Phone: +1 714 842 3711
+ Fax: +1 714 848 2091
+ Email: stef@nma.com
+
+
+ David H. Crocker
+ The Branch Office
+ USA
+
+ Email: dcrocker@mordor.stanford.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Klensin, Freed, Rose, Stefferud & Crocker [Page 6]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1522.txt b/Documentation/en/rfc/rfc1522.txt
new file mode 100644
index 00000000..25bfd6bc
--- /dev/null
+++ b/Documentation/en/rfc/rfc1522.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+Network Working Group K. Moore
+Request for Comments: 1522 University of Tennessee
+Obsoletes: 1342 September 1993
+Category: Standards Track
+
+
+ MIME (Multipurpose Internet Mail Extensions) Part Two:
+ Message Header Extensions for Non-ASCII Text
+
+Status of this Memo
+
+ This RFC specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" for the standardization state and status
+ of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo describes an extension to the message format defined in RFC
+ 1521 [1], to allow the representation of character sets other than
+ ASCII in RFC 822 (STD 11) message headers. The extensions described
+ were designed to be highly compatible with existing Internet mail
+ handling software, and to be easily implemented in mail readers that
+ support RFC 1521.
+
+1. Introduction
+
+ RFC 1521 describes a mechanism for denoting textual body parts which
+ are coded in various character sets, as well as methods for encoding
+ such body parts as sequences of printable ASCII characters. This
+ memo describes similar techniques to allow the encoding of non-ASCII
+ text in various portions of a RFC 822 [2] message header, in a manner
+ which is unlikely to confuse existing message handling software.
+
+ Like the encoding techniques described in RFC 1521, the techniques
+ outlined here were designed to allow the use of non-ASCII characters
+ in message headers in a way which is unlikely to be disturbed by the
+ quirks of existing Internet mail handling programs. In particular,
+ some mail relaying programs are known to (a) delete some message
+ header fields while retaining others, (b) rearrange the order of
+ addresses in To or Cc fields, (c) rearrange the (vertical) order of
+ header fields, and/or (d) "wrap" message headers at different places
+ than those in the original message. In addition, some mail reading
+ programs are known to have difficulty correctly parsing message
+ headers which, while legal according to RFC 822, make use of
+ backslash-quoting to "hide" special characters such as "<", ",", or
+ ":", or which exploit other infrequently-used features of that
+
+
+
+Moore [Page 1]
+
+RFC 1522 MIME Part Two September 1993
+
+
+ specification.
+
+ While it is unfortunate that these programs do not correctly
+ interpret RFC 822 headers, to "break" these programs would cause
+ severe operational problems for the Internet mail system. The
+ extensions described in this memo therefore do not rely on little-
+ used features of RFC 822.
+
+ Instead, certain sequences of "ordinary" printable ASCII characters
+ (known as "encoded-words") are reserved for use as encoded data. The
+ syntax of encoded-words is such that they are unlikely to
+ "accidentally" appear as normal text in message headers.
+ Furthermore, the characters used in encoded-words are restricted to
+ those which do not have special meanings in the context in which the
+ encoded-word appears.
+
+ Generally, an "encoded-word" is a sequence of printable ASCII
+ characters that begins with "=?", ends with "?=", and has two "?"s in
+ between. It specifies a character set and an encoding method, and
+ also includes the original text encoded as graphic ASCII characters,
+ according to the rules for that encoding method.
+
+ A mail composer that implements this specification will provide a
+ means of inputting non-ASCII text in header fields, but will
+ translate these fields (or appropriate portions of these fields) into
+ encoded-words before inserting them into the message header.
+
+ A mail reader that implements this specification will recognize
+ encoded-words when they appear in certain portions of the message
+ header. Instead of displaying the encoded-word "as is", it will
+ reverse the encoding and display the original text in the designated
+ character set.
+
+ NOTES
+
+ This memo relies heavily on notation and terms defined STD 11, RFC
+ 822 and RFC 1521. In particular, the syntax for the ABNF used in
+ this memo is defined in STD 11, RFC 822, as well as many of the
+ terms used in the grammar for the header extensions defined here.
+ Successful implementation of this protocol extension requires
+ careful attention to the details of both STD 11, RFC 822 and RFC
+ 1521.
+
+ When the term "ASCII" appears in this memo, it refers to the "7-
+ Bit American Standard Code for Information Interchange", ANSI
+ X3.4-1986. The MIME charset name for this character set is "US-
+ ASCII". When not specifically referring to the MIME charset name,
+ this document uses the term "ASCII", both for brevity and for
+
+
+
+Moore [Page 2]
+
+RFC 1522 MIME Part Two September 1993
+
+
+ consistency with STD 11, RFC 822. However, implementors are
+ warned that the character set name must be spelled "US-ASCII" in
+ MIME message and body part headers.
+
+2. Syntax of encoded-words
+
+ An "encoded-word" is defined by the following ABNF grammar. The
+ notation of RFC 822 is used, with the exception that white space
+ characters MAY NOT appear between components of an encoded-word.
+
+ encoded-word = "=?" charset "?" encoding "?" encoded-text "?="
+
+ charset = token ; see section 3
+
+ encoding = token ; see section 4
+
+ token = 1*<Any CHAR except SPACE, CTLs, and especials>
+
+ especials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "
+ <"> / "/" / "[" / "]" / "?" / "." / "="
+
+ encoded-text = 1*<Any printable ASCII character other
+ than "?" or SPACE>
+ ; (but see "Use of encoded-words in message
+ ; headers", section 5)
+
+ Both "encoding" and "charset" names are case-independent. Thus the
+ charset name "ISO-8859-1" is equivalent to "iso-8859-1", and the
+ encoding named "Q" may be spelled either "Q" or "q".
+
+ An encoded-word may not be more than 75 characters long, including
+ charset, encoding, encoded-text, and delimiters. If it is desirable
+ to encode more text than will fit in an encoded-word of 75
+ characters, multiple encoded-words (separated by CRLF SPACE) may be
+ used.
+
+ While there is no limit to the length of a multiple-line header
+ field, each line of a header field that contains one or more
+ encoded-words is limited to 76 characters.
+
+ The length restrictions are included not only to ease
+ interoperability through internetwork mail gateways, but also to
+ impose a limit on the amount of lookahead a header parser must employ
+ (while looking for a final ?= delimiter) before it can decide whether
+ a token is an encoded-word or something else.
+
+ The characters which may appear in encoded-text are further
+ restricted by the rules in section 5.
+
+
+
+Moore [Page 3]
+
+RFC 1522 MIME Part Two September 1993
+
+
+3. Character sets
+
+ The "charset" portion of an encoded-word specifies the character set
+ associated with the unencoded text. A charset can be any of the
+ character set names allowed in an RFC 1521 "charset" parameter of a
+ "text/plain" body part, or any character set name registered with
+ IANA for use with the MIME text/plain content-type [3]. (See section
+ 7.1.1 of RFC 1521 for a list of charsets defined in that document).
+
+ Some character sets use code-switching techniques to switch between
+ "ASCII mode" and other modes. If unencoded text in an encoded-word
+ contains control codes to switch out of ASCII mode, it must also
+ contain additional control codes such that ASCII mode is again
+ selected at the end of the encoded-word. (This rule applies
+ separately to each encoded-word, including adjacent encoded-words
+ within a single header field.)
+
+ When there is a possibility of using more than one character set to
+ represent the text in an encoded-word, and in the absence of private
+ agreements between sender and recipients of a message, it is
+ recommended that members of the ISO-8859-* series be used in
+ preference to other character sets.
+
+4. Encodings
+
+ Initially, the legal values for "encoding" are "Q" and "B". These
+ encodings are described below. The "Q" encoding is recommended for
+ use when most of the characters to be encoded are in the ASCII
+ character set; otherwise, the "B" encoding should be used.
+ Nevertheless, a mail reader which claims to recognize encoded-words
+ MUST be able to accept either encoding for any character set which it
+ supports.
+
+ Only a subset of the printable ASCII characters may be used in
+ encoded-text. Space and tab characters are not allowed, so that the
+ beginning and end of an encoded-word are obvious. The "?" character
+ is used within an encoded-word to separate the various portions of
+ the encoded-word from one another, and thus cannot appear in the
+ encoded-text portion. Other characters are also illegal in certain
+ contexts. For example, an encoded-word in a "phrase" preceding an
+ address in a From header field may not contain any of the "specials"
+ defined in RFC 822. Finally, certain other characters are disallowed
+ in some contexts, to ensure reliability for messages that pass
+ through internetwork mail gateways.
+
+ The "B" encoding automatically meets these requirements. The "Q"
+ encoding allows a wide range of printable characters to be used in
+ non-critical locations in the message header (e.g., Subject), with
+
+
+
+Moore [Page 4]
+
+RFC 1522 MIME Part Two September 1993
+
+
+ fewer characters available for use in other locations.
+
+4.1. The "B" encoding
+
+ The "B" encoding is identical to the "BASE64" encoding defined by RFC
+ 1521.
+
+4.2. The "Q" encoding
+
+ The "Q" encoding is similar to the "Quoted-Printable" content-
+ transfer-encoding defined in RFC 1521. It is designed to allow text
+ containing mostly ASCII characters to be decipherable on an ASCII
+ terminal without decoding.
+
+ (1) Any 8-bit value may be represented by a "=" followed by two
+ hexadecimal digits. For example, if the character set in use
+ were ISO-8859-1, the "=" character would thus be encoded as
+ "=3D", and a SPACE by "=20". (Upper case should be used for
+ hexadecimal digits "A" through "F".)
+
+ (2) The 8-bit hexadecimal value 20 (e.g., ISO-8859-1 SPACE) may be
+ represented as "_" (underscore, ASCII 95.). (This character may
+ not pass through some internetwork mail gateways, but its use
+ will greatly enhance readability of "Q" encoded data with mail
+ readers that do not support this encoding.) Note that the "_"
+ always represents hexadecimal 20, even if the SPACE character
+ occupies a different code position in the character set in use.
+
+ (3) 8-bit values which correspond to printable ASCII characters other
+ than "=", "?", "_" (underscore), and SPACE may be represented as
+ those characters. (But see section 5 for restrictions.)
+
+5. Use of encoded-words in message headers
+
+ An encoded-word may appear in a message header or body part header
+ according to the following rules:
+
+ (1) An encoded-word may replace a "text" token (as defined by RFC
+ 822) in any Subject or Comments header field, any extension
+ message header field, or any RFC 1521 body part field for which
+ the field body is defined as "*text". An encoded-word may also
+ appear in any user-defined ("X-") message or body part header
+ field.
+
+ Ordinary ASCII text and encoded-words may appear together in the
+ same header field. However, an encoded-word that appears in a
+ header field defined as "*text" MUST be separated from any
+ adjacent encoded-word or "text" by linear-white-space.
+
+
+
+Moore [Page 5]
+
+RFC 1522 MIME Part Two September 1993
+
+
+ (2) An encoded-word may appear within a comment delimited by "(" and
+ ")", i.e., wherever a "ctext" is allowed. More precisely, the
+ RFC 822 ABNF definition for "comment" is amended as follows:
+
+ comment = "(" *(ctext / quoted-pair / comment / encoded-word) ")"
+
+ A "Q"-encoded encoded-word which appears in a comment MUST NOT
+ contain the characters "(", ")" or " encoded-word that appears in
+ a "comment" MUST be separated from any adjacent encoded-word or
+ "ctext" by linear-white-space.
+
+ (3) As a replacement for a "word" entity within a "phrase", for
+ example, one that precedes an address in a From, To, or Cc
+ header. The ABNF definition for phrase from RFC 822 thus
+ becomes:
+
+ phrase = 1*(encoded-word / word)
+
+ In this case the set of characters that may be used in a "Q"-
+ encoded encoded-word is restricted to: <upper and lower case
+ ASCII letters, decimal digits, "!", "*", "+", "-", "/", "=", and
+ "_" (underscore, ASCII 95.)>. An encoded-word that appears
+ within a "phrase" MUST be separated from any adjacent "word",
+ "text" or "special" by linear-white-space.
+
+ These are the ONLY locations where an encoded-word may appear. In
+ particular, an encoded-word MUST NOT appear in any portion of an
+ "addr-spec". In addition, an encoded-word MUST NOT be used in a
+ Received header field.
+
+ Each encoded-word MUST encode an integral number of octets. The
+ encoded-text in each encoded-word must be well-formed according to
+ the encoding specified; the encoded-text may not be continued in the
+ next encoded-word. (For example, "=?charset?Q?=?= =?charset?Q?AB?="
+ would be illegal, because the two hex digits "AB" must follow the "="
+ in the same encoded-word.)
+
+ Each encoded-word MUST represent an integral number of characters. A
+ multi-octet character may not be split across adjacent encoded-words.
+
+ Only printable and white space character data should be encoded using
+ this scheme. However, since these encoding schemes allow the
+ encoding of arbitrary octet values, mail readers that implement this
+ decoding should also ensure that display of the decoded data on the
+ recipient's terminal will not cause unwanted side-effects.
+
+ Use of these methods to encode non-textual data (e.g., pictures or
+ sounds) is not defined by this memo. Use of encoded-words to
+
+
+
+Moore [Page 6]
+
+RFC 1522 MIME Part Two September 1993
+
+
+ represent strings of purely ASCII characters is allowed, but
+ discouraged. In rare cases it may be necessary to encode ordinary
+ text that looks like an encoded-word.
+
+6. Support of encoded-words by mail readers
+
+6.1. Recognition of encoded-words in message headers
+
+ A mail reader must parse the message and body part headers according
+ to the rules in RFC 822 to correctly recognize encoded-words.
+
+ Encoded-words are to be recognized as follows:
+
+ (1) Any message or body part header field defined as "*text", or any
+ user-defined header field, should be parsed as follows: Beginning
+ at the start of the field-body and immediately following each
+ occurrence of linear-white-space, each sequence of up to 75
+ printable characters (not containing any linear-white-space)
+ should be examined to see if it is an encoded-word according to
+ the syntax rules in section 2. Any other sequence of printable
+ characters should be treated as ordinary ASCII text.
+
+ (2) Any header field not defined as "*text" should be parsed
+ according to the syntax rules for that header field. However,
+ any "word" that appears within a "phrase" should be treated as an
+ encoded-word if it meets the syntax rules in section 2.
+ Otherwise it should be treated as an ordinary "word".
+
+ (3) Within a "comment", any sequence of up to 75 printable characters
+ (not containing linear-white-space), that meets the syntax rules
+ in section 2, should be treated as an encoded-word. Otherwise it
+ should be treated as normal comment text.
+
+6.2. Display of encoded-words
+
+ Any encoded-words so recognized are decoded, and if possible, the
+ resulting unencoded text is displayed in the original character set.
+
+ When displaying a particular header field that contains multiple
+ encoded-words, any linear-white-space that separates a pair of
+ adjacent encoded-words is ignored. (This is to allow the use of
+ multiple encoded-words to represent long strings of unencoded text,
+ without having to separate encoded-words where spaces occur in the
+ unencoded text.)
+
+ In the event other encodings are defined in the future, and the mail
+ reader does not support the encoding used, it may either (a) display
+ the encoded-word as ordinary text, or (b) substitute an appropriate
+
+
+
+Moore [Page 7]
+
+RFC 1522 MIME Part Two September 1993
+
+
+ message indicating that the text could not be decoded.
+
+ If the mail reader does not support the character set used, it may
+ (a) display the encoded-word as ordinary text (i.e., as it appears in
+ the header), (b) make a "best effort" to display using such
+ characters as are available, or (c) substitute an appropriate message
+ indicating that the decoded text could not be displayed.
+
+ If the character set being used employs code-switching techniques,
+ display of the encoded text implicitly begins in "ASCII mode". In
+ addition, the mail reader must ensure that the output device is once
+ again in "ASCII mode" after the encoded-word is displayed.
+
+6.3. Mail reader handling of incorrectly formed encoded-words
+
+ It is possible that an encoded-word that is legal according to the
+ syntax defined in section 2, is incorrectly formed according to the
+ rules for the encoding being used. For example:
+
+ (1) An encoded-word which contains characters which are not legal for
+ a particular encoding (for example, a '-' in the "B" encoding),
+ is incorrectly formed.
+
+ (2) Any encoded-word which encodes a non-integral number of
+ characters or octets is incorrectly formed.
+
+ A mail reader need not attempt to display the text associated with an
+ encoded-word that is incorrectly formed. However, a mail reader MUST
+ NOT prevent the display or handling of a message because an encoded-
+ word is incorrectly formed.
+
+7. Conformance
+
+ A mail composing program claiming compliance with this specification
+ MUST ensure that any string of non-white-space printable ASCII
+ characters within a "*text" or "*ctext" that begins with "=?" and
+ ends with "?=" be a valid encoded-word. ("begins" means: at the
+ start of the field-body or immediately following linear-white-space;
+ "ends" means: at the end of the field-body or immediately preceding
+ linear-white-space.) In addition, any "word" within a "phrase" that
+ begins with "=?" and ends with "?=" must be a valid encoded-word.
+
+ A mail reading program claiming compliance with this specification
+ must be able to distinguish encoded-words from "text", "ctext", or
+ "word"s, according to the rules in section 6, anytime they appear in
+ appropriate places in message headers. It must support both the "B"
+ and "Q" encodings for any character set which it supports. The
+ program must be able to display the unencoded text if the character
+
+
+
+Moore [Page 8]
+
+RFC 1522 MIME Part Two September 1993
+
+
+ set is "US-ASCII". For the ISO-8859-* character sets, the mail
+ reading program must at least be able to display the characters which
+ are also in the ASCII set.
+
+8. Examples
+
+ From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>
+ To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>
+ CC: =?ISO-8859-1?Q?Andr=E9_?= Pirard <PIRARD@vm1.ulg.ac.be>
+ Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=
+ =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=
+
+ From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= <ojarnef@admin.kth.se>
+ To: ietf-822@dimacs.rutgers.edu, ojarnef@admin.kth.se
+ Subject: Time for ISO 10646?
+
+ To: Dave Crocker <dcrocker@mordor.stanford.edu>
+ Cc: ietf-822@dimacs.rutgers.edu, paf@comsol.se
+ From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= <paf@nada.kth.se>
+ Subject: Re: RFC-HDR care and feeding
+
+ From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
+ (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)
+ To: Greg Vaudreuil <gvaudre@NRI.Reston.VA.US>, Ned Freed
+ <ned@innosoft.com>, Keith Moore <moore@cs.utk.edu>
+ Subject: Test of new header generator
+ MIME-Version: 1.0
+ Content-type: text/plain; charset=ISO-8859-1
+
+9. References
+
+ [1] Borenstein N., and N. Freed, "MIME (Multipurpose Internet Mail
+ Extensions) Part One: Mechanisms for Specifying and Describing
+ the Format of Internet Message Bodies", RFC 1521, Bellcore,
+ Innosoft, September 1993.
+
+ [2] Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", STD 11, RFC 822, UDEL, August 1982.
+
+ [3] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2,
+ RFC 1340, USC/Information Sciences Institute, July 1992.
+
+
+
+
+
+
+
+
+
+
+Moore [Page 9]
+
+RFC 1522 MIME Part Two September 1993
+
+
+10. Security Considerations
+
+ Security issues are not discussed in this memo.
+
+11. Author's Address
+
+ Keith Moore
+ University of Tennessee
+ 107 Ayres Hall
+ Knoxville TN 37996-1301
+
+ EMail: moore@cs.utk.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore [Page 10]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1558.txt b/Documentation/en/rfc/rfc1558.txt
new file mode 100644
index 00000000..1bb5bd96
--- /dev/null
+++ b/Documentation/en/rfc/rfc1558.txt
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+Network Working Group T. Howes
+Request for Comments: 1558 University of Michigan
+Category: Informational December 1993
+
+
+ A String Representation of LDAP Search Filters
+
+Status of this Memo
+
+ This memo provides information for the Internet community. This memo
+ does not specify an Internet standard of any kind. Distribution of
+ this memo is unlimited.
+
+Abstract
+
+ The Lightweight Directory Access Protocol (LDAP) [1] defines a
+ network representation of a search filter transmitted to an LDAP
+ server. Some applications may find it useful to have a common way of
+ representing these search filters in a human-readable form. This
+ document defines a human-readable string format for representing LDAP
+ search filters.
+
+1. LDAP Search Filter Definition
+
+ An LDAP search filter is defined in [1] as follows:
+
+ Filter ::= CHOICE {
+ and [0] SET OF Filter,
+ or [1] SET OF Filter,
+ not [2] Filter,
+ equalityMatch [3] AttributeValueAssertion,
+ substrings [4] SubstringFilter,
+ greaterOrEqual [5] AttributeValueAssertion,
+ lessOrEqual [6] AttributeValueAssertion,
+ present [7] AttributeType,
+ approxMatch [8] AttributeValueAssertion
+ }
+
+ SubstringFilter ::= SEQUENCE {
+ type AttributeType,
+ SEQUENCE OF CHOICE {
+ initial [0] LDAPString,
+ any [1] LDAPString,
+ final [2] LDAPString
+ }
+ }
+
+
+
+
+
+Howes [Page 1]
+
+RFC 1558 Representation of LDAP Filters December 1993
+
+
+ AttributeValueAssertion ::= SEQUENCE
+ attributeType AttributeType,
+ attributeValue AttributeValue
+ }
+
+ AttributeType ::= LDAPString
+
+ AttributeValue ::= OCTET STRING
+
+ LDAPString ::= OCTET STRING
+
+ where the LDAPString above is limited to the IA5 character set. The
+ AttributeType is a string representation of the attribute object
+ identifier in dotted OID format (e.g., "2.5.4.10"), or the shorter
+ string name of the attribute (e.g., "organizationName", or "o"). The
+ AttributeValue OCTET STRING has the form defined in [2]. The Filter
+ is encoded for transmission over a network using the Basic Encoding
+ Rules defined in [3], with simplifications described in [1].
+
+2. String Search Filter Definition
+
+ The string representation of an LDAP search filter is defined by the
+ following BNF. It uses a prefix format.
+
+ <filter> ::= '(' <filtercomp> ')'
+ <filtercomp> ::= <and> | <or> | <not> | <item>
+ <and> ::= '&' <filterlist>
+ <or> ::= '|' <filterlist>
+ <not> ::= '!' <filter>
+ <filterlist> ::= <filter> | <filter> <filterlist>
+ <item> ::= <simple> | <present> | <substring>
+ <simple> ::= <attr> <filtertype> <value>
+ <filtertype> ::= <equal> | <approx> | <greater> | <less>
+ <equal> ::= '='
+ <approx> ::= '~='
+ <greater> ::= '>='
+ <less> ::= '<='
+ <present> ::= <attr> '=*'
+ <substring> ::= <attr> '=' <initial> <any> <final>
+ <initial> ::= NULL | <value>
+ <any> ::= '*' <starval>
+ <starval> ::= NULL | <value> '*' <starval>
+ <final> ::= NULL | <value>
+
+ <attr> is a string representing an AttributeType, and has the format
+ defined in [1]. <value> is a string representing an AttributeValue,
+ or part of one, and has the form defined in [2]. If a <value> must
+ contain one of the characters '*' or '(' or ')', these characters
+
+
+
+Howes [Page 2]
+
+RFC 1558 Representation of LDAP Filters December 1993
+
+
+ should be escaped by preceding them with the backslash '\' character.
+
+3. Examples
+
+ This section gives a few examples of search filters written using
+ this notation.
+
+ (cn=Babs Jensen)
+ (!(cn=Tim Howes))
+ (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))
+ (o=univ*of*mich*)
+
+4. Security Considerations
+
+ Security issues are not discussed in this memo.
+
+5. References
+
+ [1] Yeong, W., Howes, T., and S. Kille, "Lightweight Directory Access
+ Protocol", RFC 1487, Performance Systems International,
+ University of Michigan, ISODE Consortium, July 1993.
+
+ [2] Howes, T., Kille, S., Yeong, W., and C. Robbins, "The String
+ Representation of Standard Attribute Syntaxes", RFC 1488,
+ University of Michigan, ISODE Consortium, Performance Systems
+ International, NeXor Ltd., July 1993.
+
+ [3] "Specification of Basic Encoding Rules for Abstract Syntax
+ Notation One (ASN.1)", CCITT Recommendation X.209, 1988.
+
+6. Author's Address
+
+ Tim Howes
+ University of Michigan
+ ITD Research Systems
+ 535 W William St.
+ Ann Arbor, MI 48103-4943
+ USA
+
+ Phone: +1 313 747-4454
+ EMail: tim@umich.edu
+
+
+
+
+
+
+
+
+
+
+Howes [Page 3]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1590.txt b/Documentation/en/rfc/rfc1590.txt
new file mode 100644
index 00000000..02629b71
--- /dev/null
+++ b/Documentation/en/rfc/rfc1590.txt
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+Network Working Group J. Postel
+Request for Comments: 1590 ISI
+Updates: 1521 March 1994
+Category: Informational
+
+
+ Media Type Registration Procedure
+
+Status of this Memo
+
+ This memo provides information for the Internet community. This memo
+ does not specify an Internet standard of any kind. Distribution of
+ this memo is unlimited.
+
+Abstract
+
+ Several protocols allow the use of data representing different
+ "media" such as text, images, audio, and video, and within such media
+ different encoding styles, such as (in video) jpeg, gif, ief, and
+ tiff. The Multimedia Internet Message Extensions (MIME) protocol [1]
+ defined several initial types of multimedia data objects, and a
+ procedure for registering additional types with the Internet Assigned
+ Numbers Authority (IANA). Several questions have been raised about
+ the requirements and administrative procedure for registering MIME
+ content-type and subtypes, and the use of these Media Types for other
+ applications. This document addresses these issues and specifies a
+ procedure for the registration of new Media Types (content-
+ type/subtypes). It also generalizes the scope of use of these Media
+ Types to make it appropriate to use the same registrations and
+ specifications with other applications.
+
+1. Introduction
+
+ RFC 1521 [1] defines a procedure for the registration of new data
+ types for use with the Multimedia Internet Message Extensions (MIME).
+ This registration mechanism was designed to make the identifiers for
+ a given data type available for use and to prevent naming conflicts.
+ With the growth of new multi-media protocols and access mechanisms,
+ this process has the promise of forming a unified general
+ registration service for Internet Protocols. These types, previously
+ called "MIME Types", are now called "Media Types".
+
+ The registration process for Media Types (content-type/subtypes) was
+ initially defined in the context of the asynchronous mail
+ environments. In this mail environment, there is a need to limit the
+ number of possible Media Types to increase the likelihood of
+ interoperability when the capabilities of the remote mail system are
+ not known. As Media Types are used in new environments, where the
+
+
+
+IANA [Page 1]
+
+RFC 1590 Media Type Registration Procedure March 1994
+
+
+ proliferation of Media Types is not a hindrance to interoperability,
+ the original procedure is excessively restrictive and needs to be
+ generalized.
+
+ This document addresses the specific questions raised and provides an
+ administrative procedure for the registration of Media Types. This
+ procedure also address the registration requirements needed for the
+ mapping of Object Identifiers (OIDs) for X.400 MHS use to Media
+ Types.
+
+2. Media Type Registration Procedure
+
+ The following procedure has been implemented by the IANA for review
+ and approval of new Media Types. This is not a formal standards
+ process, but rather an administrative procedure intended to allow
+ community comment and sanity checking without excessive time delay.
+
+2.1 Present the Request for Registration to the Community
+
+ Send a proposed Media Type (content-type/subtype) to the "ietf-
+ types@cs.utk.edu" mailing list. This mailing list has been
+ established for the sole purpose of reviewing proposed Media Types.
+ Proposed content-types are not formally registered and must use the
+ "x-" notation for the subtype name.
+
+ The intent of the public posting is to solicit comments and feedback
+ on the choice of content-type/subtype name, the unambiguity of the
+ references with respect to versions and external profiling
+ information, the choice of which OIDs to use, and a review of the
+ security considerations section. It should be noted that the
+ proposed Media Type does not need to make sense for every possible
+ application. If the Media Type is intended for a limited or specific
+ use, this should be noted in the submission.
+
+2.2 Submit the Content Type to the IANA for Registration
+
+ After two weeks, submit the proposed Media Type to the IANA for
+ registration. The request and supporting documentation should be
+ sent to "iana@isi.edu". Provided a reasonable review period has
+ elapsed, the IANA will register the Media Type, assign an OID under
+ the IANA branch, and make the Media Type registration available to
+ the community.
+
+
+
+
+
+
+
+
+
+IANA [Page 2]
+
+RFC 1590 Media Type Registration Procedure March 1994
+
+
+ The Media Type registrations will be posted in the anonymous FTP
+ directory "ftp.isi.edu:in-notes/media-types" and the Media Type will
+ be listed in the periodically issued "Assigned Numbers" RFC [2]. The
+ Media Type description may be published as an Informational RFC by
+ sending it to "rfc-editor@isi.edu" (please follow the instructions to
+ RFC authors [3]).
+
+3. Clarifications On Specific Issues
+
+3.1 MIME Requirements for a Limited Number of Content-Types
+
+ Issue: In the asynchronous mail environment, where information on
+ the capabilities of the remote mail agent is not available to the
+ sender, maximum interoperability is attained by restricting the
+ number of content-types used to those "common" content-types expected
+ to be widely implemented. This was asserted as a reason to limit the
+ number of possible content-types and resulted in a registration
+ process with a significant hurdle and delay for those registering
+ content-types.
+
+ Comment: The need for "common" content-types formats does not
+ require limiting the registration of new content-types. This
+ restriction may, in fact, hinder interoperability by causing separate
+ registration authorities for specific applications which may register
+ values in conflict with or otherwise incompatible with each other.
+ If a limited set of content-types recommended for a particular
+ application, that should be asserted by a separate applicability
+ statement specific for the application and/or environment.
+
+3.2 Requirements for a Published Specification
+
+ Issue: Content-Type registration requires an RFC specifying the data
+ format or a reference to a published specification of the data
+ stream. This requirement may be overly restrictive for the use of
+ content-type registration for file attachments and distribution
+ because a public specification may not be available for a number of
+ widely used and exchanged objects.
+
+ Comment: MIME required the documentation of a specific content-type
+ to allow the unambiguous identification of a defined type. This
+ intent is met by the identification of a particular software package
+ and version when registering the content-type and is allowed for
+ registration. The appropriateness of using a Media Type with an
+ unavailable specification should not be an issue in the registration.
+
+
+
+
+
+
+
+IANA [Page 3]
+
+RFC 1590 Media Type Registration Procedure March 1994
+
+
+3.3 Identification of Security Considerations
+
+ Issue: The registration process requires the identification of any
+ known security problems with the content-type.
+
+ Comment: It is not required that the content-type be secure or that
+ it be free from risks, but that the known risks be identified.
+ Publication of a content-type does not require an exhaustive security
+ review, and the security considerations section is subject to
+ continuing evaluation. Additional security considerations should be
+ periodically published in an RFC by IANA.
+
+3.4. Recommendations and Standards Status
+
+ Issue: The registration of a data type does not imply endorsement,
+ approval, or recommendation by IANA or IETF or even certification
+ that the specification is adequate.
+
+ Comment: To become Internet Standards, protocol, data objects, or
+ whatever must go through the IETF standards process. This is too
+ difficult and to lengthly a process for the convenient and practical
+ need to register Media Types. It is expected that applicability
+ statements for particular applications will be published from time to
+ time that recommend implementation of, and support for, data types
+ that have proven particularly useful in those contexts.
+
+4. Security Considerations
+
+ This memo does not address specific security issues but outlines a
+ security review process for Media Types.
+
+5. Acknowledgements
+
+ Most of the words in this RFC were written by other people --
+ primarily John Klensin and Greg Vaudreuil -- and my contribution has
+ been to slightly modify some sentences, delete some phrases, and to
+ rearrange some paragraphs. This means that i am responsible for all
+ the bad ideas and mangled English, and they deserve the credit (and
+ rightly) all the good ideas.
+
+
+
+
+
+
+
+
+
+
+
+
+IANA [Page 4]
+
+RFC 1590 Media Type Registration Procedure March 1994
+
+
+6. Author's Address
+
+ Jon Postel
+ USC/Information Sciences Institute
+ 4676 Admiralty Way
+ Marina del Rey, CA 90292
+
+ Phone: 310-822-1511
+ Fax: 310-823-6714
+ EMail: Postel@ISI.EDU
+
+7. References
+
+ [1] Borenstein N., and N. Freed, "MIME (Multipurpose Internet Mail
+ Extensions) Part One: Mechanisms for Specifying and Describing
+ the Format of Internet Message Bodies", RFC 1521, Bellcore,
+ Innosoft, September 1993.
+
+ [2] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1340,
+ USC/Information Sciences Institute, July 1992.
+
+ [3] Postel,J., "Instructions to RFC Authors", RFC 1543,
+ USC/Information Sciences Institute, October 1993.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+IANA [Page 5]
+
+RFC 1590 Media Type Registration Procedure March 1994
+
+
+Appendix A -- IANA Registration Procedures for Media Types
+
+ MIME has been carefully designed to have extensible mechanisms, and
+ it is expected that the set of content-type/subtype pairs and their
+ associated parameters will grow significantly with time. Several
+ other MIME fields, notably character set names, access-type
+ parameters for the message/external-body type, and possibly even
+ Content-Transfer-Encoding values, are likely to have new values
+ defined over time.
+
+ In general, parameters in the content-type header field are used to
+ convey supplemental information for various content types, and their
+ use is defined when the content-type and subtype are defined. New
+ parameters should not be defined as a way to introduce new
+ functionality.
+
+ In order to ensure that the content-type and subtype (that is Media
+ Type) values are developed in an orderly, well-specified, and public
+ manner, MIME and other applications use the registration process for
+ Media Types defined in this RFC which uses the Internet Assigned
+ Numbers Authority (IANA) as a central registry for such values.
+
+ In order to simplify and standardize this Media Type registration
+ process, this appendix gives templates for the registration of new
+ values with IANA. Each of these is given in the form of an email
+ message template, to be filled in by the registering party.
+
+ Registration of New Content-type/subtype Values:
+
+ Note that MIME is generally expected to be extended by subtypes. If
+ a new fundamental top-level type is needed, its specification must be
+ published as an RFC or submitted in a form suitable to become an RFC,
+ and be subject to the Internet standards process.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+IANA [Page 6]
+
+RFC 1590 Media Type Registration Procedure March 1994
+
+
+ ==================================================================
+
+ To: IANA@isi.edu
+ Subject: Registration of new Media Type content-type/subtype
+
+ Media Type name:
+
+ (If the above is not an existing top-level Media Type, please
+ explain why an existing type cannot be used.)
+
+ Media subtype name:
+
+ Required parameters:
+
+ Optional parameters:
+
+ Encoding considerations:
+
+ Security considerations:
+
+ Published specification:
+
+ (The published specification must be an Internet RFC or RFC-to-be
+ if a new top-level type is being defined, and must be a publicly
+ available specification in any case.)
+
+ Person & email address to contact for further information:
+
+ ==================================================================
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+IANA [Page 7]
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc1637.txt b/Documentation/en/rfc/rfc1637.txt
new file mode 100644
index 00000000..24f18b73
--- /dev/null
+++ b/Documentation/en/rfc/rfc1637.txt
@@ -0,0 +1,619 @@
+
+
+
+
+
+
+Network Working Group B. Manning
+Request for Comments: 1637 Rice University
+Obsoletes: 1348 R. Colella
+Category: Experimental NIST
+ June 1994
+
+
+ DNS NSAP Resource Records
+
+
+Status of this Memo
+
+ This memo defines an Experimental Protocol for the Internet
+ community. This memo does not specify an Internet standard of any
+ kind. Discussion and suggestions for improvement are requested.
+ Distribution of this memo is unlimited.
+
+Abstract
+
+ The Internet is moving towards the deployment of an OSI lower layers
+ infrastructure. This infrastructure comprises the connectionless
+ network protocol (CLNP) and supporting routing protocols. Also
+ required as part of this infrastructure is support in the Domain Name
+ System (DNS) for mapping between names and NSAP addresses.
+
+ This document defines the format of one new Resource Record (RR) for
+ the DNS for domain name-to-NSAP mapping. The RR may be used with any
+ NSAP address format. This document supercedes RFC 1348.
+
+ NSAP-to-name translation is accomplished through use of the PTR RR
+ (see STD 13, RFC 1035 for a description of the PTR RR). This paper
+ describes how PTR RRs are used to support this translation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning & Colella [Page 1]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+1. Introduction
+
+ The Internet is moving towards the deployment of an OSI lower layers
+ infrastructure. This infrastructure comprises the connectionless
+ network protocol (CLNP) [6] and supporting routing protocols. Also
+ required as part of this infrastructure is support in the Domain Name
+ System (DNS) [8] [9] for mapping between domain names and OSI Network
+ Service Access Point (NSAP) addresses [7] [Note: NSAP and NSAP
+ address are used interchangeably throughout this memo].
+
+ This document defines the format of one new Resource Record (RR) for
+ the DNS for domain name-to-NSAP mapping. The RR may be used with any
+ NSAP address format.
+
+ NSAP-to-name translation is accomplished through use of the PTR RR
+ (see RFC 1035 for a description of the PTR RR). This paper describes
+ how PTR RRs are used to support this translation.
+
+ This memo assumes that the reader is familiar with the DNS. Some
+ familiarity with NSAPs is useful; see [2] or [7] for additional
+ information.
+
+2. Background
+
+ The reason for defining DNS mappings for NSAPs is to support CLNP in
+ the Internet. Debugging with CLNP ping and traceroute is becoming
+ more difficult with only numeric NSAPs as the scale of deployment
+ increases. Current debugging is supported by maintaining and
+ exchanging a configuration file with name/NSAP mappings similar in
+ function to hosts.txt. This suffers from the lack of a central
+ coordinator for this file and also from the perspective of scaling.
+ The former is the most serious short-term problem. Scaling of a
+ hosts.txt-like solution has well-known long-term scaling
+ difficiencies.
+
+ A second reason for this work is the proposal to use CLNP as an
+ alternative to IP: "TCP and UDP with Bigger Addresses (TUBA), A
+ Simple Proposal for Internet Addressing and Routing" [1]. For this to
+ be practical, the DNS must be capable of supporting CLNP addresses.
+
+3. Scope
+
+ The methods defined in this paper are applicable to all NSAP formats.
+ This includes support for the notion of a custom-defined NSAP format
+ based on an AFI obtained by the IAB for use in the Internet.
+
+ As a point of reference, there is a distinction between registration
+ and publication of addresses. For IP addresses, the IANA is the root
+
+
+
+Manning & Colella [Page 2]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+ registration authority and the DNS a publication method. For NSAPs,
+ addendum two of the network service definition, ISO8348/Ad2 [7] is
+ the root registration authority and this memo defines how the DNS is
+ used as a publication method.
+
+4. Structure of NSAPs
+
+ NSAPs are hierarchically structured to allow distributed
+ administration and efficient routing. Distributed administration
+ permits subdelegated addressing authorities to, as allowed by the
+ delegator, further structure the portion of the NSAP space under
+ their delegated control. Accomodating this distributed authority
+ requires that there be little or no a priori knowledge of the
+ structure of NSAPs built into DNS resolvers and servers.
+
+ For the purposes of this memo, NSAPs can be thought of as a tree of
+ identifiers. The root of the tree is ISO8348/Ad2 [7], and has as its
+ immediately registered subordinates the one-octet Authority and
+ Format Identifiers (AFIs) defined there. The size of subsequently-
+ defined fields depends on which branch of the tree is taken. The
+ depth of the tree varies according to the authority responsible for
+ defining subsequent fields.
+
+ An example is the authority under which U.S. GOSIP defines NSAPs [3].
+ Under the AFI of 47, NIST (National Institute of Standards and
+ Technology) obtained a value of 0005 (the AFI of 47 defines the next
+ field as being two octets consisting of four BCD digits from the
+ International Code Designator space [4]). NIST defined the subsequent
+ fields in [3], as shown in Figure 1. The field immediately following
+ 0005 is a format identifier for the rest of the U.S. GOSIP NSAP
+ structure, with a hex value of 80. Following this is the three-octet
+ field, values for which are allocated to network operators; the
+ registration authority for this field is delegated to GSA (General
+ Services Administration).
+
+ The last octet of the NSAP is the NSelector (NSel). In practice, the
+ NSAP minus the NSel identifies the CLNP protocol machine on a given
+ system, and the NSel identifies the CLNP user. Since there can be
+ more than one CLNP user (meaning multiple NSel values for a given
+ "base" NSAP), the representation of the NSAP should be CLNP-user
+ independent. To achieve this, an NSel value of zero shall be used
+ with all NSAP values stored in the DNS. An NSAP with NSel=0
+ identifies the network layer itself. It is left to the application
+ retrieving the NSAP to determine the appropriate value to use in that
+ instance of communication.
+
+
+
+
+
+
+Manning & Colella [Page 3]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+ |--------------|
+ | <-- IDP --> |
+ |--------------|-------------------------------------|
+ | AFI | IDI | <-- DSP --> |
+ |-----|--------|-------------------------------------|
+ | 47 | 0005 | DFI | AA |Rsvd | RD |Area | ID |Sel |
+ |-----|--------|-----|----|-----|----|-----|----|----|
+ octets | 1 | 2 | 1 | 3 | 2 | 2 | 2 | 6 | 1 |
+ |-----|--------|-----|----|-----|----|-----|----|----|
+
+ IDP Initial Domain Part
+ AFI Authority and Format Identifier
+ IDI Initial Domain Identifier
+ DSP Domain Specific Part
+ DFI DSP Format Identifier
+ AA Administrative Authority
+ Rsvd Reserved
+ RD Routing Domain Identifier
+ Area Area Identifier
+ ID System Identifier
+ SEL NSAP Selector
+
+ Figure 1: GOSIP Version 2 NSAP structure.
+
+
+ When CLNP is used to support TCP and UDP services, the NSel value
+ used is the appropriate IP PROTO value as registered with the IANA.
+ For "standard" OSI, the selection of NSel values is left as a matter
+ of local administration. Administrators of systems that support the
+ OSI transport protocol [5] in addition to TCP/UDP must select NSels
+ for use by OSI Transport that do not conflict with the IP PROTO
+ values.
+
+ In the NSAP RRs in Master Files and in the printed text in this memo,
+ NSAPs are often represented as a string of "."-separated hex values.
+ The values correspond to convenient divisions of the NSAP to make it
+ more readable. For example, the "."-separated fields might correspond
+ to the NSAP fields as defined by the appropriate authority (ISOC,
+ RARE, U.S. GOSIP, ANSI, etc.). The use of this notation is strictly
+ for readability. The "."s do not appear in DNS packets and DNS
+ servers can ignore them when reading Master Files. For example, a
+ printable representation of the first four fields of a U.S. GOSIP
+ NSAP might look like
+
+ 47.0005.80.005a00
+
+
+
+
+
+
+Manning & Colella [Page 4]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+ and a full U.S. GOSIP NSAP might appear as
+
+ 47.0005.80.005a00.0000.1000.0020.00800a123456.00.
+
+ Other NSAP formats have different lengths and different
+ administratively defined field widths to accomodate different
+ requirements. For more information on NSAP formats in use see RFC
+ 1629 [2].
+
+5. The NSAP RR
+
+ The NSAP RR is defined with mnemonic "NSAP" and TYPE code 22
+ (decimal) and is used to map from domain names to NSAPs. Name-to-NSAP
+ mapping in the DNS using the NSAP RR operates analogously to IP
+ address lookup. A query is generated by the resolver requesting an
+ NSAP RR for a provided domain name.
+
+ NSAP RRs conform to the top level RR format and semantics as defined
+ in Section 3.2.1 of RFC 1035.
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / /
+ / NAME /
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TYPE = NSAP |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | CLASS = IN |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TTL |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RDLENGTH |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / RDATA /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ * NAME: an owner name, i.e., the name of the node to which this
+ resource record pertains.
+
+ * TYPE: two octets containing the NSAP RR TYPE code of 22 (decimal).
+
+
+
+
+Manning & Colella [Page 5]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+ * CLASS: two octets containing the RR IN CLASS code of 1.
+
+ * TTL: a 32 bit signed integer that specifies the time interval in
+ seconds that the resource record may be cached before the source
+ of the information should again be consulted. Zero values are
+ interpreted to mean that the RR can only be used for the
+ transaction in progress, and should not be cached. For example,
+ SOA records are always distributed with a zero TTL to prohibit
+ caching. Zero values can also be used for extremely volatile data.
+
+ * RDLENGTH: an unsigned 16 bit integer that specifies the length in
+ octets of the RDATA field.
+
+ * RDATA: a variable length string of octets containing the NSAP.
+ The value is the binary encoding of the NSAP as it would appear in
+ the CLNP source or destination address field. A typical example of
+ such an NSAP (in hex) is shown below. For this NSAP, RDLENGTH is
+ 20 (decimal); "."s have been omitted to emphasize that they don't
+ appear in the DNS packets.
+
+ 39840f80005a0000000001e13708002010726e00
+
+5.1 Additional Section Processing
+
+ [The specification in this section is necessary for completeness in
+ describing name server support for TUBA. For the time being, name
+ servers participating in TUBA demonstrations MAY ELECT to implement
+ this behavior; it SHOULD NOT be the default behavior of name servers
+ because the IPng sweepstakes are still outstanding and further
+ consideration is required for truncation and other issues.]
+
+ RFC 1035 describes the additional section processing (ASP) required
+ when servers encounter NS records during query processing. From
+ Section 3.3.11, "NS RDATA format":
+
+ NS records cause both the usual additional section processing to
+ locate a type A record, and, when used in a referral, a special
+ search of the zone in which they reside for glue information.
+
+ For TUBA, identical ASP is required on type NSAP records to support
+ servers and resolvers that use CLNP, either because of preference or
+ because it is the only internetworking protocol available (i.e., in
+ the absense of IPv4). Thus, NS records cause ASP which locates a type
+ NSAP record in addition to a type A record. Both type A and NSAP
+ records should be returned, if available.
+
+
+
+
+
+
+Manning & Colella [Page 6]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+6. NSAP-to-name Mapping Using the PTR RR
+
+ The PTR RR is defined in RFC 1035. This RR is typically used under
+ the "IN-ADDR.ARPA" domain to map from IPv4 addresses to domain names.
+
+ Similarly, the PTR RR is used to map from NSAPs to domain names under
+ the "NSAP.INT" domain. A domain name is generated from the NSAP
+ according to the rules described below. A query is sent by the
+ resolver requesting a PTR RR for the provided domain name.
+
+ A domain name is generated from an NSAP by reversing the hex nibbles
+ of the NSAP, treating each nibble as a separate subdomain, and
+ appending the top-level subdomain name "NSAP.INT" to it. For example,
+ the domain name used in the reverse lookup for the NSAP
+
+ 47.0005.80.005a00.0000.0001.e133.ffffff000162.00
+
+ would appear as
+
+ 0.0.2.6.1.0.0.0.f.f.f.f.f.f.3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0. \
+ 0.8.5.0.0.0.7.4.NSAP.INT.
+
+ [Implementation note: For sanity's sake user interfaces should be
+ designed to allow users to enter NSAPs using their natural order,
+ i.e., as they are typically written on paper. Also, arbitrary "."s
+ should be allowed (and ignored) on input.]
+
+7. Master File Format
+
+ The format of NSAP RRs (and NSAP-related PTR RRs) in Master Files
+ conforms to Section 5, "Master Files," of RFC 1035. Below are
+ examples of the use of these RRs in Master Files to support name-to-
+ NSAP and NSAP-to-name mapping.
+
+ The NSAP RR introduces a new hex string format for the RDATA field.
+ The format is "0x" (i.e., a zero followed by an 'x' character)
+ followed by a variable length string of hex characters (0 to 9, a to
+ f). The hex string is case-insensitive. "."s (i.e., periods) may be
+ inserted in the hex string anywhere after the "0x" for readability.
+ The "."s have no significance other than for readability and are not
+ propagated in the protocol (e.g., queries or zone transfers).
+
+
+
+
+
+
+
+
+
+
+Manning & Colella [Page 7]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+ ;;;;;;
+ ;;;;;; Master File for domain nsap.nist.gov.
+ ;;;;;;
+
+
+ @ IN SOA emu.ncsl.nist.gov. root.emu.ncsl.nist.gov. (
+ 1994041800 ; Serial - date
+ 1800 ; Refresh - 30 minutes
+ 300 ; Retry - 5 minutes
+ 604800 ; Expire - 7 days
+ 3600 ) ; Minimum - 1 hour
+ IN NS emu.ncsl.nist.gov.
+ IN NS tuba.nsap.lanl.gov.
+ ;
+ ;
+ $ORIGIN nsap.nist.gov.
+ ;
+ ; hosts
+ ;
+ bsdi1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000161.00
+ IN A 129.6.224.161
+ IN HINFO PC_486 BSDi1.1(TUBA)
+ ;
+ bsdi2 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000162.00
+ IN A 129.6.224.162
+ IN HINFO PC_486 BSDi1.1(TUBA)
+ ;
+ cursive IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000171.00
+ IN A 129.6.224.171
+ IN HINFO PC_386 DOS_5.0/NCSA_Telnet(TUBA)
+ ;
+ infidel IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000164.00
+ IN A 129.6.55.164
+ IN HINFO PC/486 BSDi1.0(TUBA)
+ ;
+ ; routers
+ ;
+ cisco1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.aaaaaa000151.00
+ IN A 129.6.224.151
+ IN A 129.6.225.151
+ IN A 129.6.229.151
+ ;
+ 3com1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.aaaaaa000111.00
+ IN A 129.6.224.111
+ IN A 129.6.225.111
+ IN A 129.6.228.111
+
+
+
+
+
+Manning & Colella [Page 8]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+ ;;;;;;
+ ;;;;;; Master File for reverse mapping of NSAPs under the
+ ;;;;;; NSAP prefix:
+ ;;;;;;
+ ;;;;;; 47.0005.80.005a00.0000.0001.e133
+ ;;;;;;
+
+
+ @ IN SOA emu.ncsl.nist.gov. root.emu.ncsl.nist.gov. (
+ 1994041800 ; Serial - date
+ 1800 ; Refresh - 30 minutes
+ 300 ; Retry - 5 minutes
+ 604800 ; Expire - 7 days
+ 3600 ) ; Minimum - 1 hour
+ IN NS emu.ncsl.nist.gov.
+ IN NS tuba.nsap.lanl.gov.
+ ;
+ ;
+ $ORIGIN 3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0.0.8.5.0.0.0.7.4.NSAP.INT.
+ ;
+ 0.0.1.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi1.nsap.nist.gov.
+ ;
+ 0.0.2.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi2.nsap.nist.gov.
+ ;
+ 0.0.1.7.1.0.0.0.f.f.f.f.f.f IN PTR cursive.nsap.nist.gov.
+ ;
+ 0.0.4.6.1.0.0.0.f.f.f.f.f.f IN PTR infidel.nsap.nist.gov.
+ ;
+ 0.0.1.5.1.0.0.0.a.a.a.a.a.a IN PTR cisco1.nsap.nist.gov.
+ ;
+ 0.0.1.1.1.0.0.0.a.a.a.a.a.a IN PTR 3com1.nsap.nist.gov.
+
+8. Security Considerations
+
+ Security issues are not discussed in this memo.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning & Colella [Page 9]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+9. Authors' Addresses
+
+ Bill Manning
+ Rice University -- ONCS
+ P.O. Box 1892
+ 6100 South Main
+ Houston, Texas 77251-1892
+ USA
+
+ Phone: +1.713.285.5415
+ EMail: bmanning@rice.edu
+
+
+ Richard Colella
+ National Institute of Standards and Technology
+ Technology/B217
+ Gaithersburg, MD 20899
+ USA
+
+ Phone: +1 301-975-3627
+ Fax: +1 301 590-0932
+ EMail: colella@nist.gov
+
+10. References
+
+ [1] Callon R., "TCP and UDP with Bigger Addresses (TUBA), A Simple
+ Proposal for Internet Addressing and Routing", RFC 1347, DEC,
+ June 1992.
+
+ [2] Colella, R., Gardner, E., Callon, R., and Y. Rekhter, "Guidelines
+ for OSI NSAP Allocation inh the Internet", RFC 1629, NIST,
+ Wellfleet, Mitre, T.J. Watson Research Center, IBM Corp., May
+ 1994.
+
+ [3] GOSIP Advanced Requirements Group. Government Open Systems
+ Interconnection Profile (GOSIP) Version 2. Federal Information
+ Processing Standard 146-1, U.S. Department of Commerce, National
+ Institute of Standards and Technology, Gaithersburg, MD, April
+ 1991.
+
+ [4] ISO/IEC. Data interchange - structures for the identification of
+ organization. International Standard 6523, ISO/IEC JTC 1,
+ Switzerland, 1984.
+
+ [5] ISO/IEC. Connection oriented transport protocol specification.
+ International Standard 8073, ISO/IEC JTC 1, Switzerland, 1986.
+
+
+
+
+
+Manning & Colella [Page 10]
+
+RFC 1637 DNS NSAP RRs June 1994
+
+
+ [6] ISO/IEC. Protocol for Providing the Connectionless-mode Network
+ Service. International Standard 8473, ISO/IEC JTC 1,
+ Switzerland, 1986.
+
+ [7] ISO/IEC. Information Processing Systems -- Data Communications --
+ Network Service Definition Addendum 2: Network Layer Addressing.
+ International Standard 8348/Addendum 2, ISO/IEC JTC 1,
+ Switzerland, 1988.
+
+ [8] Mockapetris, P., "Domain Names -- Concepts and Facilities", STD
+ 13, RFC 1034, USC/Information Sciences Institute, November 1987.
+
+ [9] Mockapetris, P., "Domain Names -- Implementation and
+ Specification", STD 13, RFC 1035, USC/Information Sciences
+ Institute, November 1987.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning & Colella [Page 11]
+
diff --git a/Documentation/en/rfc/rfc1706.txt b/Documentation/en/rfc/rfc1706.txt
new file mode 100644
index 00000000..5b5d8219
--- /dev/null
+++ b/Documentation/en/rfc/rfc1706.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+Network Working Group B. Manning
+Request for Comments: 1706 ISI
+Obsoletes: 1637, 1348 R. Colella
+Category: Informational NIST
+ October 1994
+
+
+ DNS NSAP Resource Records
+
+
+Status of this Memo
+
+ This memo provides information for the Internet community. This memo
+ does not specify an Internet standard of any kind. Distribution of
+ this memo is unlimited.
+
+Abstract
+
+ OSI lower layer protocols, comprising the connectionless network
+ protocol (CLNP) and supporting routing protocols, are deployed in
+ some parts of the global Internet. Maintenance and debugging of CLNP
+ connectivity is greatly aided by support in the Domain Name System
+ (DNS) for mapping between names and NSAP addresses.
+
+ This document defines the format of one new Resource Record (RR) for
+ the DNS for domain name-to-NSAP mapping. The RR may be used with any
+ NSAP address format.
+
+ NSAP-to-name translation is accomplished through use of the PTR RR
+ (see STD 13, RFC 1035 for a description of the PTR RR). This paper
+ describes how PTR RRs are used to support this translation.
+
+ This document obsoletes RFC 1348 and RFC 1637.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning & Colella [Page 1]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+1. Introduction
+
+ OSI lower layer protocols, comprising the connectionless network
+ protocol (CLNP) [5] and supporting routing protocols, are deployed in
+ some parts of the global Internet. Maintenance and debugging of CLNP
+ connectivity is greatly aided by support in the Domain Name System
+ (DNS) [7] [8] for mapping between names and NSAP (network service
+ access point) addresses [6] [Note: NSAP and NSAP address are used
+ interchangeably throughout this memo].
+
+ This document defines the format of one new Resource Record (RR) for
+ the DNS for domain name-to-NSAP mapping. The RR may be used with any
+ NSAP address format.
+
+ NSAP-to-name translation is accomplished through use of the PTR RR
+ (see RFC 1035 for a description of the PTR RR). This paper describes
+ how PTR RRs are used to support this translation.
+
+ This memo assumes that the reader is familiar with the DNS. Some
+ familiarity with NSAPs is useful; see [1] or Annex A of [6] for
+ additional information.
+
+2. Background
+
+ The reason for defining DNS mappings for NSAPs is to support the
+ existing CLNP deployment in the Internet. Debugging with CLNP ping
+ and traceroute has become more difficult with only numeric NSAPs as
+ the scale of deployment has increased. Current debugging is supported
+ by maintaining and exchanging a configuration file with name/NSAP
+ mappings similar in function to hosts.txt. This suffers from the lack
+ of a central coordinator for this file and also from the perspective
+ of scaling. The former describes the most serious short-term
+ problem. Scaling of a hosts.txt-like solution has well-known long-
+ term scaling difficiencies.
+
+3. Scope
+
+ The methods defined in this paper are applicable to all NSAP formats.
+
+ As a point of reference, there is a distinction between registration
+ and publication of addresses. For IP addresses, the IANA is the root
+ registration authority and the DNS a publication method. For NSAPs,
+ Annex A of the network service definition, ISO8348 [6], describes the
+ root registration authority and this memo defines how the DNS is used
+ as a publication method.
+
+
+
+
+
+
+Manning & Colella [Page 2]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+4. Structure of NSAPs
+
+ NSAPs are hierarchically structured to allow distributed
+ administration and efficient routing. Distributed administration
+ permits subdelegated addressing authorities to, as allowed by the
+ delegator, further structure the portion of the NSAP space under
+ their delegated control. Accomodating this distributed authority
+ requires that there be little or no a priori knowledge of the
+ structure of NSAPs built into DNS resolvers and servers.
+
+ For the purposes of this memo, NSAPs can be thought of as a tree of
+ identifiers. The root of the tree is ISO8348 [6], and has as its
+ immediately registered subordinates the one-octet Authority and
+ Format Identifiers (AFIs) defined there. The size of subsequently-
+ defined fields depends on which branch of the tree is taken. The
+ depth of the tree varies according to the authority responsible for
+ defining subsequent fields.
+
+ An example is the authority under which U.S. GOSIP defines NSAPs [2].
+ Under the AFI of 47, NIST (National Institute of Standards and
+ Technology) obtained a value of 0005 (the AFI of 47 defines the next
+ field as being two octets consisting of four BCD digits from the
+ International Code Designator space [3]). NIST defined the subsequent
+ fields in [2], as shown in Figure 1. The field immediately following
+ 0005 is a format identifier for the rest of the U.S. GOSIP NSAP
+ structure, with a hex value of 80. Following this is the three-octet
+ field, values for which are allocated to network operators; the
+ registration authority for this field is delegated to GSA (General
+ Services Administration).
+
+ The last octet of the NSAP is the NSelector (NSel). In practice, the
+ NSAP minus the NSel identifies the CLNP protocol machine on a given
+ system, and the NSel identifies the CLNP user. Since there can be
+ more than one CLNP user (meaning multiple NSel values for a given
+ "base" NSAP), the representation of the NSAP should be CLNP-user
+ independent. To achieve this, an NSel value of zero shall be used
+ with all NSAP values stored in the DNS. An NSAP with NSel=0
+ identifies the network layer itself. It is left to the application
+ retrieving the NSAP to determine the appropriate value to use in that
+ instance of communication.
+
+ When CLNP is used to support TCP and UDP services, the NSel value
+ used is the appropriate IP PROTO value as registered with the IANA.
+ For "standard" OSI, the selection of NSel values is left as a matter
+ of local administration. Administrators of systems that support the
+ OSI transport protocol [4] in addition to TCP/UDP must select NSels
+ for use by OSI Transport that do not conflict with the IP PROTO
+ values.
+
+
+
+Manning & Colella [Page 3]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+ |--------------|
+ | <-- IDP --> |
+ |--------------|-------------------------------------|
+ | AFI | IDI | <-- DSP --> |
+ |-----|--------|-------------------------------------|
+ | 47 | 0005 | DFI | AA |Rsvd | RD |Area | ID |Sel |
+ |-----|--------|-----|----|-----|----|-----|----|----|
+ octets | 1 | 2 | 1 | 3 | 2 | 2 | 2 | 6 | 1 |
+ |-----|--------|-----|----|-----|----|-----|----|----|
+
+ IDP Initial Domain Part
+ AFI Authority and Format Identifier
+ IDI Initial Domain Identifier
+ DSP Domain Specific Part
+ DFI DSP Format Identifier
+ AA Administrative Authority
+ Rsvd Reserved
+ RD Routing Domain Identifier
+ Area Area Identifier
+ ID System Identifier
+ SEL NSAP Selector
+
+ Figure 1: GOSIP Version 2 NSAP structure.
+
+
+ In the NSAP RRs in Master Files and in the printed text in this memo,
+ NSAPs are often represented as a string of "."-separated hex values.
+ The values correspond to convenient divisions of the NSAP to make it
+ more readable. For example, the "."-separated fields might correspond
+ to the NSAP fields as defined by the appropriate authority (RARE,
+ U.S. GOSIP, ANSI, etc.). The use of this notation is strictly for
+ readability. The "."s do not appear in DNS packets and DNS servers
+ can ignore them when reading Master Files. For example, a printable
+ representation of the first four fields of a U.S. GOSIP NSAP might
+ look like
+
+ 47.0005.80.005a00
+
+ and a full U.S. GOSIP NSAP might appear as
+
+ 47.0005.80.005a00.0000.1000.0020.00800a123456.00.
+
+ Other NSAP formats have different lengths and different
+ administratively defined field widths to accomodate different
+ requirements. For more information on NSAP formats in use see RFC
+ 1629 [1].
+
+
+
+
+
+Manning & Colella [Page 4]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+5. The NSAP RR
+
+ The NSAP RR is defined with mnemonic "NSAP" and TYPE code 22
+ (decimal) and is used to map from domain names to NSAPs. Name-to-NSAP
+ mapping in the DNS using the NSAP RR operates analogously to IP
+ address lookup. A query is generated by the resolver requesting an
+ NSAP RR for a provided domain name.
+
+ NSAP RRs conform to the top level RR format and semantics as defined
+ in Section 3.2.1 of RFC 1035.
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / /
+ / NAME /
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TYPE = NSAP |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | CLASS = IN |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TTL |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RDLENGTH |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / RDATA /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ * NAME: an owner name, i.e., the name of the node to which this
+ resource record pertains.
+
+ * TYPE: two octets containing the NSAP RR TYPE code of 22 (decimal).
+
+ * CLASS: two octets containing the RR IN CLASS code of 1.
+
+ * TTL: a 32 bit signed integer that specifies the time interval in
+ seconds that the resource record may be cached before the source
+ of the information should again be consulted. Zero values are
+ interpreted to mean that the RR can only be used for the
+ transaction in progress, and should not be cached. For example,
+ SOA records are always distributed with a zero TTL to prohibit
+ caching. Zero values can also be used for extremely volatile data.
+
+
+
+Manning & Colella [Page 5]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+ * RDLENGTH: an unsigned 16 bit integer that specifies the length in
+ octets of the RDATA field.
+
+ * RDATA: a variable length string of octets containing the NSAP.
+ The value is the binary encoding of the NSAP as it would appear in
+ the CLNP source or destination address field. A typical example of
+ such an NSAP (in hex) is shown below. For this NSAP, RDLENGTH is
+ 20 (decimal); "."s have been omitted to emphasize that they don't
+ appear in the DNS packets.
+
+ 39840f80005a0000000001e13708002010726e00
+
+ NSAP RRs cause no additional section processing.
+
+6. NSAP-to-name Mapping Using the PTR RR
+
+ The PTR RR is defined in RFC 1035. This RR is typically used under
+ the "IN-ADDR.ARPA" domain to map from IPv4 addresses to domain names.
+
+ Similarly, the PTR RR is used to map from NSAPs to domain names under
+ the "NSAP.INT" domain. A domain name is generated from the NSAP
+ according to the rules described below. A query is sent by the
+ resolver requesting a PTR RR for the provided domain name.
+
+ A domain name is generated from an NSAP by reversing the hex nibbles
+ of the NSAP, treating each nibble as a separate subdomain, and
+ appending the top-level subdomain name "NSAP.INT" to it. For example,
+ the domain name used in the reverse lookup for the NSAP
+
+ 47.0005.80.005a00.0000.0001.e133.ffffff000162.00
+
+ would appear as
+
+ 0.0.2.6.1.0.0.0.f.f.f.f.f.f.3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0. \
+ 0.8.5.0.0.0.7.4.NSAP.INT.
+
+ [Implementation note: For sanity's sake user interfaces should be
+ designed to allow users to enter NSAPs using their natural order,
+ i.e., as they are typically written on paper. Also, arbitrary "."s
+ should be allowed (and ignored) on input.]
+
+7. Master File Format
+
+ The format of NSAP RRs (and NSAP-related PTR RRs) in Master Files
+ conforms to Section 5, "Master Files," of RFC 1035. Below are
+ examples of the use of these RRs in Master Files to support name-to-
+ NSAP and NSAP-to-name mapping.
+
+
+
+
+Manning & Colella [Page 6]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+ The NSAP RR introduces a new hex string format for the RDATA field.
+ The format is "0x" (i.e., a zero followed by an 'x' character)
+ followed by a variable length string of hex characters (0 to 9, a to
+ f). The hex string is case-insensitive. "."s (i.e., periods) may be
+ inserted in the hex string anywhere after the "0x" for readability.
+ The "."s have no significance other than for readability and are not
+ propagated in the protocol (e.g., queries or zone transfers).
+
+
+ ;;;;;;
+ ;;;;;; Master File for domain nsap.nist.gov.
+ ;;;;;;
+
+
+ @ IN SOA emu.ncsl.nist.gov. root.emu.ncsl.nist.gov. (
+ 1994041800 ; Serial - date
+ 1800 ; Refresh - 30 minutes
+ 300 ; Retry - 5 minutes
+ 604800 ; Expire - 7 days
+ 3600 ) ; Minimum - 1 hour
+ IN NS emu.ncsl.nist.gov.
+ IN NS tuba.nsap.lanl.gov.
+ ;
+ ;
+ $ORIGIN nsap.nist.gov.
+ ;
+ ; hosts
+ ;
+ bsdi1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000161.00
+ IN A 129.6.224.161
+ IN HINFO PC_486 BSDi1.1
+ ;
+ bsdi2 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000162.00
+ IN A 129.6.224.162
+ IN HINFO PC_486 BSDi1.1
+ ;
+ cursive IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000171.00
+ IN A 129.6.224.171
+ IN HINFO PC_386 DOS_5.0/NCSA_Telnet(TUBA)
+ ;
+ infidel IN NSAP 0x47.0005.80.005a00.0000.0001.e133.ffffff000164.00
+ IN A 129.6.55.164
+ IN HINFO PC/486 BSDi1.0(TUBA)
+ ;
+ ; routers
+ ;
+ cisco1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.aaaaaa000151.00
+ IN A 129.6.224.151
+
+
+
+Manning & Colella [Page 7]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+ IN A 129.6.225.151
+ IN A 129.6.229.151
+ ;
+ 3com1 IN NSAP 0x47.0005.80.005a00.0000.0001.e133.aaaaaa000111.00
+ IN A 129.6.224.111
+ IN A 129.6.225.111
+ IN A 129.6.228.111
+
+
+
+
+ ;;;;;;
+ ;;;;;; Master File for reverse mapping of NSAPs under the
+ ;;;;;; NSAP prefix:
+ ;;;;;;
+ ;;;;;; 47.0005.80.005a00.0000.0001.e133
+ ;;;;;;
+
+
+ @ IN SOA emu.ncsl.nist.gov. root.emu.ncsl.nist.gov. (
+ 1994041800 ; Serial - date
+ 1800 ; Refresh - 30 minutes
+ 300 ; Retry - 5 minutes
+ 604800 ; Expire - 7 days
+ 3600 ) ; Minimum - 1 hour
+ IN NS emu.ncsl.nist.gov.
+ IN NS tuba.nsap.lanl.gov.
+ ;
+ ;
+ $ORIGIN 3.3.1.e.1.0.0.0.0.0.0.0.0.0.a.5.0.0.0.8.5.0.0.0.7.4.NSAP.INT.
+ ;
+ 0.0.1.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi1.nsap.nist.gov.
+ ;
+ 0.0.2.6.1.0.0.0.f.f.f.f.f.f IN PTR bsdi2.nsap.nist.gov.
+ ;
+ 0.0.1.7.1.0.0.0.f.f.f.f.f.f IN PTR cursive.nsap.nist.gov.
+ ;
+ 0.0.4.6.1.0.0.0.f.f.f.f.f.f IN PTR infidel.nsap.nist.gov.
+ ;
+ 0.0.1.5.1.0.0.0.a.a.a.a.a.a IN PTR cisco1.nsap.nist.gov.
+ ;
+ 0.0.1.1.1.0.0.0.a.a.a.a.a.a IN PTR 3com1.nsap.nist.gov.
+
+8. Security Considerations
+
+ Security issues are not discussed in this memo.
+
+
+
+
+
+Manning & Colella [Page 8]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+9. Authors' Addresses
+
+ Bill Manning
+ USC/Information Sciences Institute
+ 4676 Admiralty Way
+ Marina del Rey, CA. 90292
+ USA
+
+ Phone: +1.310.822.1511
+ EMail: bmanning@isi.edu
+
+
+ Richard Colella
+ National Institute of Standards and Technology
+ Technology/B217
+ Gaithersburg, MD 20899
+ USA
+
+ Phone: +1 301-975-3627
+ Fax: +1 301 590-0932
+ EMail: colella@nist.gov
+
+10. References
+
+ [1] Colella, R., Gardner, E., Callon, R., and Y. Rekhter, "Guidelines
+ for OSI NSAP Allocation inh the Internet", RFC 1629, NIST,
+ Wellfleet, Mitre, T.J. Watson Research Center, IBM Corp., May
+ 1994.
+
+ [2] GOSIP Advanced Requirements Group. Government Open Systems
+ Interconnection Profile (GOSIP) Version 2. Federal Information
+ Processing Standard 146-1, U.S. Department of Commerce, National
+ Institute of Standards and Technology, Gaithersburg, MD, April
+ 1991.
+
+ [3] ISO/IEC. Data interchange - structures for the identification of
+ organization. International Standard 6523, ISO/IEC JTC 1,
+ Switzerland, 1984.
+
+ [4] ISO/IEC. Connection oriented transport protocol specification.
+ International Standard 8073, ISO/IEC JTC 1, Switzerland, 1986.
+
+ [5] ISO/IEC. Protocol for Providing the Connectionless-mode Network
+ Service. International Standard 8473, ISO/IEC JTC 1,
+ Switzerland, 1986.
+
+
+
+
+
+
+Manning & Colella [Page 9]
+
+RFC 1706 DNS NSAP RRs October 1994
+
+
+ [6] ISO/IEC. Information Processing Systems -- Data Communications --
+ Network Service Definition. International Standard 8348, ISO/IEC
+ JTC 1, Switzerland, 1993.
+
+ [7] Mockapetris, P., "Domain Names -- Concepts and Facilities", STD
+ 13, RFC 1034, USC/Information Sciences Institute, November 1987.
+
+ [8] Mockapetris, P., "Domain Names -- Implementation and
+ Specification", STD 13, RFC 1035, USC/Information Sciences
+ Institute, November 1987.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning & Colella [Page 10]
+
diff --git a/Documentation/en/rfc/rfc1806.txt b/Documentation/en/rfc/rfc1806.txt
new file mode 100644
index 00000000..2b483175
--- /dev/null
+++ b/Documentation/en/rfc/rfc1806.txt
@@ -0,0 +1,451 @@
+
+
+
+
+
+
+Network Working Group R. Troost
+Request for Comments: 1806 New Century Systems
+Category: Experimental S. Dorner
+ QUALCOMM Incorporated
+ June 1995
+
+
+ Communicating Presentation Information in
+ Internet Messages:
+ The Content-Disposition Header
+
+Status of this Memo
+
+ This memo defines an Experimental Protocol for the Internet
+ community. This memo does not specify an Internet standard of any
+ kind. Discussion and suggestions for improvement are requested.
+ Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo provides a mechanism whereby messages conforming to the
+ [RFC 1521] ("MIME") specification can convey presentational
+ information. It specifies a new "Content-Disposition" header,
+ optional and valid for any [RFC 1521] entity ("message" or "body
+ part"). Two values for this header are described in this memo; one
+ for the ordinary linear presentation of the body part, and another to
+ facilitate the use of mail to transfer files. It is expected that
+ more values will be defined in the future, and procedures are defined
+ for extending this set of values.
+
+ This document is intended as an extension to [RFC 1521]. As such, the
+ reader is assumed to be familiar with [RFC 1521], and [RFC 822]. The
+ information presented herein supplements but does not replace that
+ found in those documents.
+
+1. Introduction
+
+ [RFC 1521] specifies a standard format for encapsulating multiple
+ pieces of data into a single Internet message. That document does not
+ address the issue of presentation styles; it provides a framework for
+ the interchange of message content, but leaves presentation issues
+ solely in the hands of mail user agent (MUA) implementors.
+
+ Two common ways of presenting multipart electronic messages are as a
+ main document with a list of separate attachments, and as a single
+ document with the various parts expanded (displayed) inline. The
+ display of an attachment is generally construed to require positive
+ action on the part of the recipient, while inline message components
+
+
+
+Troost & Dorner Experimental [Page 1]
+
+RFC 1806 Content-Disposition June 1995
+
+
+ are displayed automatically when the message is viewed. A mechanism
+ is needed to allow the sender to transmit this sort of presentational
+ information to the recipient; the Content-Disposition header provides
+ this mechanism, allowing each component of a message to be tagged
+ with an indication of its desired presentation semantics.
+
+ Tagging messages in this manner will often be sufficient for basic
+ message formatting. However, in many cases a more powerful and
+ flexible approach will be necessary. The definition of such
+ approaches is beyond the scope of this memo; however, such approaches
+ can benefit from additional Content-Disposition values and
+ parameters, to be defined at a later date.
+
+ In addition to allowing the sender to specify the presentational
+ disposition of a message component, it is desirable to allow her to
+ indicate a default archival disposition; a filename. The optional
+ "filename" parameter provides for this.
+
+2. The Content-Disposition Header Field
+
+ Content-Disposition is an optional header; in its absence, the MUA
+ may use whatever presentation method it deems suitable.
+
+ It is desirable to keep the set of possible disposition types small
+ and well defined, to avoid needless complexity. Even so, evolving
+ usage will likely require the definition of additional disposition
+ types or parameters, so the set of disposition values is extensible;
+ see below.
+
+ In the extended BNF notation of [RFC 822], the Content-Disposition
+ header field is defined as follows:
+
+ disposition := "Content-Disposition" ":"
+ disposition-type
+ *(";" disposition-parm)
+
+ disposition-type := "inline"
+ / "attachment"
+ / extension-token
+ ; values are not case-sensitive
+
+ disposition-parm := filename-parm / parameter
+
+ filename-parm := "filename" "=" value;
+
+ `Extension-token', `parameter' and `value' are defined according to
+ [RFC 822] and [RFC 1521].
+
+
+
+
+Troost & Dorner Experimental [Page 2]
+
+RFC 1806 Content-Disposition June 1995
+
+
+2.1 The Inline Disposition Type
+
+ A bodypart should be marked `inline' if it is intended to be
+ displayed automatically upon display of the message. Inline bodyparts
+ should be presented in the order in which they occur, subject to the
+ normal semantics of multipart messages.
+
+2.2 The Attachment Disposition Type
+
+ Bodyparts can be designated `attachment' to indicate that they are
+ separate from the main body of the mail message, and that their
+ display should not be automatic, but contingent upon some further
+ action of the user. The MUA might instead present the user of a
+ bitmap terminal with an iconic representation of the attachments, or,
+ on character terminals, with a list of attachments from which the
+ user could select for viewing or storage.
+
+2.3 The Filename Parameter
+
+ The sender may want to suggest a filename to be used if the entity is
+ detached and stored in a separate file. If the receiving MUA writes
+ the entity to a file, the suggested filename should be used as a
+ basis for the actual filename, where possible.
+
+ It is important that the receiving MUA not blindly use the suggested
+ filename. The suggested filename should be checked (and possibly
+ changed) to see that it conforms to local filesystem conventions,
+ does not overwrite an existing file, and does not present a security
+ problem (see Security Considerations below).
+
+ The receiving MUA should not respect any directory path information
+ that may seem to be present in the filename parameter. The filename
+ should be treated as a terminal component only. Portable
+ specification of directory paths might possibly be done in the future
+ via a separate Content-Disposition parameter, but no provision is
+ made for it in this draft.
+
+ Current [RFC 1521] grammar restricts parameter values (and hence
+ Content-Disposition filenames) to US-ASCII. We recognize the great
+ desirability of allowing arbitrary character sets in filenames, but
+ it is beyond the scope of this document to define the necessary
+ mechanisms. We expect that the basic [RFC 1521] `value'
+ specification will someday be amended to allow use of non-US-ASCII
+ characters, at which time the same mechanism should be used in the
+ Content-Disposition filename parameter.
+
+
+
+
+
+
+Troost & Dorner Experimental [Page 3]
+
+RFC 1806 Content-Disposition June 1995
+
+
+ Beyond the limitation to US-ASCII, the sending MUA may wish to bear
+ in mind the limitations of common filesystems. Many have severe
+ length and character set restrictions. Short alphanumeric filenames
+ are least likely to require modification by the receiving system.
+
+ The presence of the filename parameter does not force an
+ implementation to write the entity to a separate file. It is
+ perfectly acceptable for implementations to leave the entity as part
+ of the normal mail stream unless the user requests otherwise. As a
+ consequence, the parameter may be used on any MIME entity, even
+ `inline' ones. These will not normally be written to files, but the
+ parameter could be used to provide a filename if the receiving user
+ should choose to write the part to a file.
+
+2.4 Future Extensions and Unrecognized Disposition Types
+
+ In the likely event that new parameters or disposition types are
+ needed, they should be registered with the IANA, in the manner
+ specified in [RFC 1521], appendix E.
+
+ Once new disposition types and parameters are defined, there is of
+ course the likelihood that implementations will see disposition types
+ and parameters they do not understand. Furthermore, since x-tokens
+ are allowed, implementations may also see entirely unregistered
+ disposition types and parameters.
+
+ Unrecognized parameters should be ignored. Unrecognized disposition
+ types should be treated as `attachment'. The choice of `attachment'
+ for unrecognized types is made because a sender who goes to the
+ trouble of producing a Content-Disposition header with a new
+ disposition type is more likely aiming for something more elaborate
+ than inline presentation.
+
+ Unless noted otherwise in the definition of a parameter, Content-
+ Disposition parameters are valid for all dispositions. (In contrast
+ to [RFC 1521] content-type parameters, which are defined on a per-
+ content-type basis.) Thus, for example, the `filename' parameter
+ still means the name of the file to which the part should be written,
+ even if the disposition itself is unrecognized.
+
+2.5 Content-Disposition and Multipart
+
+ If a Content-Disposition header is used on a multipart body part, it
+ applies to the multipart as a whole, not the individual subparts.
+ The disposition types of the subparts do not need to be consulted
+ until the multipart itself is presented. When the multipart is
+ displayed, then the dispositions of the subparts should be respected.
+
+
+
+
+Troost & Dorner Experimental [Page 4]
+
+RFC 1806 Content-Disposition June 1995
+
+
+ If the `inline' disposition is used, the multipart should be
+ displayed as normal; however, an `attachment' subpart should require
+ action from the user to display.
+
+ If the `attachment' disposition is used, presentation of the
+ multipart should not proceed without explicit user action. Once the
+ user has chosen to display the multipart, the individual subpart
+ dispositions should be consulted to determine how to present the
+ subparts.
+
+2.6 Content-Disposition and the Main Message
+
+ It is permissible to use Content-Disposition on the main body of an
+ [RFC 822] message.
+
+3. Examples
+
+ Here is a an example of a body part containing a JPEG image that is
+ intended to be viewed by the user immediately:
+
+ Content-Type: image/jpeg
+ Content-Disposition: inline
+ Content-Description: just a small picture of me
+
+ <jpeg data>
+
+ The following body part contains a JPEG image that should be
+ displayed to the user only if the user requests it. If the JPEG is
+ written to a file, the file should be named "genome.jpg":
+
+ Content-Type: image/jpeg
+ Content-Disposition: attachment; filename=genome.jpeg
+ Content-Description: a complete map of the human genome
+
+ <jpeg data>
+
+ The following is an example of the use of the `attachment'
+ disposition with a multipart body part. The user should see text-
+ part-1 immediately, then take some action to view multipart-2. After
+ taking action to view multipart-2, the user will see text-part-2
+ right away, and be required to take action to view jpeg-1. Subparts
+ are indented for clarity; they would not be so indented in a real
+ message.
+
+ Content-Type: multipart/mixed; boundary=outer
+ Content-Description: multipart-1
+
+ --outer
+
+
+
+Troost & Dorner Experimental [Page 5]
+
+RFC 1806 Content-Disposition June 1995
+
+
+ Content-Type: text/plain
+ Content-Disposition: inline
+ Content-Description: text-part-1
+
+ Some text goes here
+
+ --outer
+ Content-Type: multipart/mixed; boundary=inner
+ Content-Disposition: attachment
+ Content-Description: multipart-2
+
+ --inner
+ Content-Type: text/plain
+ Content-Disposition: inline
+ Content-Description: text-part-2
+
+ Some more text here.
+
+ --inner
+ Content-Type: image/jpeg
+ Content-Disposition: attachment
+ Content-Description: jpeg-1
+
+ <jpeg data>
+ --inner--
+ --outer--
+
+4. Summary
+
+ Content-Disposition takes one of two values, `inline' and
+ `attachment'. 'Inline' indicates that the entity should be
+ immediately displayed to the user, whereas `attachment' means that
+ the user should take additional action to view the entity.
+
+ The `filename' parameter can be used to suggest a filename for
+ storing the bodypart, if the user wishes to store it in an external
+ file.
+
+5. Security Considerations
+
+ There are security issues involved any time users exchange data.
+ While these are not to be minimized, neither does this memo change
+ the status quo in that regard, except in one instance.
+
+ Since this memo provides a way for the sender to suggest a filename,
+ a receiving MUA must take care that the sender's suggested filename
+ does not represent a hazard. Using UNIX as an example, some hazards
+ would be:
+
+
+
+Troost & Dorner Experimental [Page 6]
+
+RFC 1806 Content-Disposition June 1995
+
+
+ + Creating startup files (e.g., ".login").
+
+ + Creating or overwriting system files (e.g.,
+ "/etc/passwd").
+
+ + Overwriting any existing file.
+
+ + Placing executable files into any command search path
+ (e.g., "~/bin/more").
+
+ + Sending the file to a pipe (e.g., "| sh").
+
+ In general, the receiving MUA should never name or place the file
+ such that it will get interpreted or executed without the user
+ explicitly initiating the action.
+
+ It is very important to note that this is not an exhaustive list; it
+ is intended as a small set of examples only. Implementors must be
+ alert to the potential hazards on their target systems.
+
+6. References
+
+ [RFC 1521]
+ Borenstein N., and N. Freed, "MIME (Multipurpose Internet
+ Mail Extensions) Part One: Mechanisms for Specifying and
+ Describing the Format of Internet Message Bodies",
+ RFC 1521, Bellcore, Innosoft, September 1993.
+
+ [RFC 822]
+ Crocker, D., "Standard for the Format of ARPA Internet
+ Text Messages", STD 11, RFC 822, UDEL, August 1982.
+
+7. Acknowledgements
+
+We gratefully acknowledge the help these people provided
+during the preparation of this draft:
+
+ Nathaniel Borenstein
+ Ned Freed
+ Keith Moore
+ Dave Crocker
+ Dan Pritchett
+
+
+
+
+
+
+
+
+
+Troost & Dorner Experimental [Page 7]
+
+RFC 1806 Content-Disposition June 1995
+
+
+8. Authors' Addresses
+
+ Rens Troost
+ New Century Systems
+ 324 East 41st Street #804
+ New York, NY, 10017 USA
+
+ Phone: +1 (212) 557-2050
+ Fax: +1 (212) 557-2049
+ EMail: rens@century.com
+
+
+ Steve Dorner
+ QUALCOMM Incorporated
+ 6455 Lusk Boulevard
+ San Diego, CA 92121
+ USA
+
+ EMail: sdorner@qualcomm.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Troost & Dorner Experimental [Page 8]
+
diff --git a/Documentation/en/rfc/rfc1876.txt b/Documentation/en/rfc/rfc1876.txt
new file mode 100644
index 00000000..a289cffe
--- /dev/null
+++ b/Documentation/en/rfc/rfc1876.txt
@@ -0,0 +1,1011 @@
+
+
+
+
+
+
+Network Working Group C. Davis
+Request for Comments: 1876 Kapor Enterprises
+Updates: 1034, 1035 P. Vixie
+Category: Experimental Vixie Enterprises
+ T. Goodwin
+ FORE Systems
+ I. Dickinson
+ University of Warwick
+ January 1996
+
+
+ A Means for Expressing Location Information in the Domain Name System
+
+Status of this Memo
+
+ This memo defines an Experimental Protocol for the Internet
+ community. This memo does not specify an Internet standard of any
+ kind. Discussion and suggestions for improvement are requested.
+ Distribution of this memo is unlimited.
+
+1. Abstract
+
+ This memo defines a new DNS RR type for experimental purposes. This
+ RFC describes a mechanism to allow the DNS to carry location
+ information about hosts, networks, and subnets. Such information for
+ a small subset of hosts is currently contained in the flat-file UUCP
+ maps. However, just as the DNS replaced the use of HOSTS.TXT to
+ carry host and network address information, it is possible to replace
+ the UUCP maps as carriers of location information.
+
+ This RFC defines the format of a new Resource Record (RR) for the
+ Domain Name System (DNS), and reserves a corresponding DNS type
+ mnemonic (LOC) and numerical code (29).
+
+ This RFC assumes that the reader is familiar with the DNS [RFC 1034,
+ RFC 1035]. The data shown in our examples is for pedagogical use and
+ does not necessarily reflect the real Internet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Davis, et al Experimental [Page 1]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+2. RDATA Format
+
+ MSB LSB
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 0| VERSION | SIZE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 2| HORIZ PRE | VERT PRE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 4| LATITUDE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 6| LATITUDE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 8| LONGITUDE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 10| LONGITUDE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 12| ALTITUDE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 14| ALTITUDE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ (octet)
+
+where:
+
+VERSION Version number of the representation. This must be zero.
+ Implementations are required to check this field and make
+ no assumptions about the format of unrecognized versions.
+
+SIZE The diameter of a sphere enclosing the described entity, in
+ centimeters, expressed as a pair of four-bit unsigned
+ integers, each ranging from zero to nine, with the most
+ significant four bits representing the base and the second
+ number representing the power of ten by which to multiply
+ the base. This allows sizes from 0e0 (<1cm) to 9e9
+ (90,000km) to be expressed. This representation was chosen
+ such that the hexadecimal representation can be read by
+ eye; 0x15 = 1e5. Four-bit values greater than 9 are
+ undefined, as are values with a base of zero and a non-zero
+ exponent.
+
+ Since 20000000m (represented by the value 0x29) is greater
+ than the equatorial diameter of the WGS 84 ellipsoid
+ (12756274m), it is therefore suitable for use as a
+ "worldwide" size.
+
+HORIZ PRE The horizontal precision of the data, in centimeters,
+ expressed using the same representation as SIZE. This is
+ the diameter of the horizontal "circle of error", rather
+
+
+
+Davis, et al Experimental [Page 2]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ than a "plus or minus" value. (This was chosen to match
+ the interpretation of SIZE; to get a "plus or minus" value,
+ divide by 2.)
+
+VERT PRE The vertical precision of the data, in centimeters,
+ expressed using the sane representation as for SIZE. This
+ is the total potential vertical error, rather than a "plus
+ or minus" value. (This was chosen to match the
+ interpretation of SIZE; to get a "plus or minus" value,
+ divide by 2.) Note that if altitude above or below sea
+ level is used as an approximation for altitude relative to
+ the [WGS 84] ellipsoid, the precision value should be
+ adjusted.
+
+LATITUDE The latitude of the center of the sphere described by the
+ SIZE field, expressed as a 32-bit integer, most significant
+ octet first (network standard byte order), in thousandths
+ of a second of arc. 2^31 represents the equator; numbers
+ above that are north latitude.
+
+LONGITUDE The longitude of the center of the sphere described by the
+ SIZE field, expressed as a 32-bit integer, most significant
+ octet first (network standard byte order), in thousandths
+ of a second of arc, rounded away from the prime meridian.
+ 2^31 represents the prime meridian; numbers above that are
+ east longitude.
+
+ALTITUDE The altitude of the center of the sphere described by the
+ SIZE field, expressed as a 32-bit integer, most significant
+ octet first (network standard byte order), in centimeters,
+ from a base of 100,000m below the [WGS 84] reference
+ spheroid used by GPS (semimajor axis a=6378137.0,
+ reciprocal flattening rf=298.257223563). Altitude above
+ (or below) sea level may be used as an approximation of
+ altitude relative to the the [WGS 84] spheroid, though due
+ to the Earth's surface not being a perfect spheroid, there
+ will be differences. (For example, the geoid (which sea
+ level approximates) for the continental US ranges from 10
+ meters to 50 meters below the [WGS 84] spheroid.
+ Adjustments to ALTITUDE and/or VERT PRE will be necessary
+ in most cases. The Defense Mapping Agency publishes geoid
+ height values relative to the [WGS 84] ellipsoid.
+
+
+
+
+
+
+
+
+
+Davis, et al Experimental [Page 3]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+3. Master File Format
+
+ The LOC record is expressed in a master file in the following format:
+
+ <owner> <TTL> <class> LOC ( d1 [m1 [s1]] {"N"|"S"} d2 [m2 [s2]]
+ {"E"|"W"} alt["m"] [siz["m"] [hp["m"]
+ [vp["m"]]]] )
+
+ (The parentheses are used for multi-line data as specified in [RFC
+ 1035] section 5.1.)
+
+ where:
+
+ d1: [0 .. 90] (degrees latitude)
+ d2: [0 .. 180] (degrees longitude)
+ m1, m2: [0 .. 59] (minutes latitude/longitude)
+ s1, s2: [0 .. 59.999] (seconds latitude/longitude)
+ alt: [-100000.00 .. 42849672.95] BY .01 (altitude in meters)
+ siz, hp, vp: [0 .. 90000000.00] (size/precision in meters)
+
+ If omitted, minutes and seconds default to zero, size defaults to 1m,
+ horizontal precision defaults to 10000m, and vertical precision
+ defaults to 10m. These defaults are chosen to represent typical
+ ZIP/postal code area sizes, since it is often easy to find
+ approximate geographical location by ZIP/postal code.
+
+4. Example Data
+
+;;;
+;;; note that these data would not all appear in one zone file
+;;;
+
+;; network LOC RR derived from ZIP data. note use of precision defaults
+cambridge-net.kei.com. LOC 42 21 54 N 71 06 18 W -24m 30m
+
+;; higher-precision host LOC RR. note use of vertical precision default
+loiosh.kei.com. LOC 42 21 43.952 N 71 5 6.344 W
+ -24m 1m 200m
+
+pipex.net. LOC 52 14 05 N 00 08 50 E 10m
+
+curtin.edu.au. LOC 32 7 19 S 116 2 25 E 10m
+
+rwy04L.logan-airport.boston. LOC 42 21 28.764 N 71 00 51.617 W
+ -44m 2000m
+
+
+
+
+
+
+Davis, et al Experimental [Page 4]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+5. Application use of the LOC RR
+
+5.1 Suggested Uses
+
+ Some uses for the LOC RR have already been suggested, including the
+ USENET backbone flow maps, a "visual traceroute" application showing
+ the geographical path of an IP packet, and network management
+ applications that could use LOC RRs to generate a map of hosts and
+ routers being managed.
+
+5.2 Search Algorithms
+
+ This section specifies how to use the DNS to translate domain names
+ and/or IP addresses into location information.
+
+ If an application wishes to have a "fallback" behavior, displaying a
+ less precise or larger area when a host does not have an associated
+ LOC RR, it MAY support use of the algorithm in section 5.2.3, as
+ noted in sections 5.2.1 and 5.2.2. If fallback is desired, this
+ behaviour is the RECOMMENDED default, but in some cases it may need
+ to be modified based on the specific requirements of the application
+ involved.
+
+ This search algorithm is designed to allow network administrators to
+ specify the location of a network or subnet without requiring LOC RR
+ data for each individual host. For example, a computer lab with 24
+ workstations, all of which are on the same subnet and in basically
+ the same location, would only need a LOC RR for the subnet.
+ (However, if the file server's location has been more precisely
+ measured, a separate LOC RR for it can be placed in the DNS.)
+
+5.2.1 Searching by Name
+
+ If the application is beginning with a name, rather than an IP
+ address (as the USENET backbone flow maps do), it MUST check for a
+ LOC RR associated with that name. (CNAME records should be followed
+ as for any other RR type.)
+
+ If there is no LOC RR for that name, all A records (if any)
+ associated with the name MAY be checked for network (or subnet) LOC
+ RRs using the "Searching by Network or Subnet" algorithm (5.2.3). If
+ multiple A records exist and have associated network or subnet LOC
+ RRs, the application may choose to use any, some, or all of the LOC
+ RRs found, possibly in combination. It is suggested that multi-homed
+ hosts have LOC RRs for their name in the DNS to avoid any ambiguity
+ in these cases.
+
+
+
+
+
+Davis, et al Experimental [Page 5]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ Note that domain names that do not have associated A records must
+ have a LOC RR associated with their name in order for location
+ information to be accessible.
+
+5.2.2 Searching by Address
+
+ If the application is beginning with an IP address (as a "visual
+ traceroute" application might be) it MUST first map the address to a
+ name using the IN-ADDR.ARPA namespace (see [RFC 1034], section
+ 5.2.1), then check for a LOC RR associated with that name.
+
+ If there is no LOC RR for the name, the address MAY be checked for
+ network (or subnet) LOC RRs using the "Searching by Network or
+ Subnet" algorithm (5.2.3).
+
+5.2.3 Searching by Network or Subnet
+
+ Even if a host's name does not have any associated LOC RRs, the
+ network(s) or subnet(s) it is on may. If the application wishes to
+ search for such less specific data, the following algorithm SHOULD be
+ followed to find a network or subnet LOC RR associated with the IP
+ address. This algorithm is adapted slightly from that specified in
+ [RFC 1101], sections 4.3 and 4.4.
+
+ Since subnet LOC RRs are (if present) more specific than network LOC
+ RRs, it is best to use them if available. In order to do so, we
+ build a stack of network and subnet names found while performing the
+ [RFC 1101] search, then work our way down the stack until a LOC RR is
+ found.
+
+ 1. create a host-zero address using the network portion of the IP
+ address (one, two, or three bytes for class A, B, or C networks,
+ respectively). For example, for the host 128.9.2.17, on the class
+ B network 128.9, this would result in the address "128.9.0.0".
+
+ 2. Reverse the octets, suffix IN-ADDR.ARPA, and query for PTR and A
+ records. Retrieve:
+
+ 0.0.9.128.IN-ADDR.ARPA. PTR isi-net.isi.edu.
+ A 255.255.255.0
+
+ Push the name "isi-net.isi.edu" onto the stack of names to be
+ searched for LOC RRs later.
+
+
+
+
+
+
+
+
+Davis, et al Experimental [Page 6]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ 3. Since an A RR was found, repeat using mask from RR
+ (255.255.255.0), constructing a query for 0.2.9.128.IN-ADDR.ARPA.
+ Retrieve:
+
+ 0.2.9.128.IN-ADDR.ARPA. PTR div2-subnet.isi.edu.
+ A 255.255.255.240
+
+ Push the name "div2-subnet.isi.edu" onto the stack of names to be
+ searched for LOC RRs later.
+
+ 4. Since another A RR was found, repeat using mask 255.255.255.240
+ (x'FFFFFFF0'), constructing a query for 16.2.9.128.IN-ADDR.ARPA.
+ Retrieve:
+
+ 16.2.9.128.IN-ADDR.ARPA. PTR inc-subsubnet.isi.edu.
+
+ Push the name "inc-subsubnet.isi.edu" onto the stack of names to
+ be searched for LOC RRs later.
+
+ 5. Since no A RR is present at 16.2.9.128.IN-ADDR.ARPA., there are no
+ more subnet levels to search. We now pop the top name from the
+ stack and check for an associated LOC RR. Repeat until a LOC RR
+ is found.
+
+ In this case, assume that inc-subsubnet.isi.edu does not have an
+ associated LOC RR, but that div2-subnet.isi.edu does. We will
+ then use div2-subnet.isi.edu's LOC RR as an approximation of this
+ host's location. (Note that even if isi-net.isi.edu has a LOC RR,
+ it will not be used if a subnet also has a LOC RR.)
+
+5.3 Applicability to non-IN Classes and non-IP Addresses
+
+ The LOC record is defined for all RR classes, and may be used with
+ non-IN classes such as HS and CH. The semantics of such use are not
+ defined by this memo.
+
+ The search algorithm in section 5.2.3 may be adapted to other
+ addressing schemes by extending [RFC 1101]'s encoding of network
+ names to cover those schemes. Such extensions are not defined by
+ this memo.
+
+
+
+
+
+
+
+
+
+
+
+Davis, et al Experimental [Page 7]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+6. References
+
+ [RFC 1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ STD 13, RFC 1034, USC/Information Sciences Institute,
+ November 1987.
+
+ [RFC 1035] Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1035, USC/Information Sciences
+ Institute, November 1987.
+
+ [RFC 1101] Mockapetris, P., "DNS Encoding of Network Names and Other
+ Types", RFC 1101, USC/Information Sciences Institute,
+ April 1989.
+
+ [WGS 84] United States Department of Defense; DoD WGS-1984 - Its
+ Definition and Relationships with Local Geodetic Systems;
+ Washington, D.C.; 1985; Report AD-A188 815 DMA; 6127; 7-R-
+ 138-R; CV, KV;
+
+7. Security Considerations
+
+ High-precision LOC RR information could be used to plan a penetration
+ of physical security, leading to potential denial-of-machine attacks.
+ To avoid any appearance of suggesting this method to potential
+ attackers, we declined the opportunity to name this RR "ICBM".
+
+8. Authors' Addresses
+
+ The authors as a group can be reached as <loc@pipex.net>.
+
+ Christopher Davis
+ Kapor Enterprises, Inc.
+ 238 Main Street, Suite 400
+ Cambridge, MA 02142
+
+ Phone: +1 617 576 4532
+ EMail: ckd@kei.com
+
+
+ Paul Vixie
+ Vixie Enterprises
+ Star Route Box 159A
+ Woodside, CA 94062
+
+ Phone: +1 415 747 0204
+ EMail: paul@vix.com
+
+
+
+
+
+Davis, et al Experimental [Page 8]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ Tim Goodwin
+ Public IP Exchange Ltd (PIPEX)
+ 216 The Science Park
+ Cambridge CB4 4WA
+ UK
+
+ Phone: +44 1223 250250
+ EMail: tim@pipex.net
+
+
+ Ian Dickinson
+ FORE Systems
+ 2475 The Crescent
+ Solihull Parkway
+ Birmingham Business Park
+ B37 7YE
+ UK
+
+ Phone: +44 121 717 4444
+ EMail: idickins@fore.co.uk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Davis, et al Experimental [Page 9]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+Appendix A: Sample Conversion Routines
+
+/*
+ * routines to convert between on-the-wire RR format and zone file
+ * format. Does not contain conversion to/from decimal degrees;
+ * divide or multiply by 60*60*1000 for that.
+ */
+
+static unsigned int poweroften[10] = {1, 10, 100, 1000, 10000, 100000,
+ 1000000,10000000,100000000,1000000000};
+
+/* takes an XeY precision/size value, returns a string representation.*/
+static const char *
+precsize_ntoa(prec)
+ u_int8_t prec;
+{
+ static char retbuf[sizeof("90000000.00")];
+ unsigned long val;
+ int mantissa, exponent;
+
+ mantissa = (int)((prec >> 4) & 0x0f) % 10;
+ exponent = (int)((prec >> 0) & 0x0f) % 10;
+
+ val = mantissa * poweroften[exponent];
+
+ (void) sprintf(retbuf,"%d.%.2d", val/100, val%100);
+ return (retbuf);
+}
+
+/* converts ascii size/precision X * 10**Y(cm) to 0xXY. moves pointer.*/
+static u_int8_t
+precsize_aton(strptr)
+ char **strptr;
+{
+ unsigned int mval = 0, cmval = 0;
+ u_int8_t retval = 0;
+ register char *cp;
+ register int exponent;
+ register int mantissa;
+
+ cp = *strptr;
+
+ while (isdigit(*cp))
+ mval = mval * 10 + (*cp++ - '0');
+
+ if (*cp == '.') { /* centimeters */
+ cp++;
+ if (isdigit(*cp)) {
+
+
+
+Davis, et al Experimental [Page 10]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ cmval = (*cp++ - '0') * 10;
+ if (isdigit(*cp)) {
+ cmval += (*cp++ - '0');
+ }
+ }
+ }
+ cmval = (mval * 100) + cmval;
+
+ for (exponent = 0; exponent < 9; exponent++)
+ if (cmval < poweroften[exponent+1])
+ break;
+
+ mantissa = cmval / poweroften[exponent];
+ if (mantissa > 9)
+ mantissa = 9;
+
+ retval = (mantissa << 4) | exponent;
+
+ *strptr = cp;
+
+ return (retval);
+}
+
+/* converts ascii lat/lon to unsigned encoded 32-bit number.
+ * moves pointer. */
+static u_int32_t
+latlon2ul(latlonstrptr,which)
+ char **latlonstrptr;
+ int *which;
+{
+ register char *cp;
+ u_int32_t retval;
+ int deg = 0, min = 0, secs = 0, secsfrac = 0;
+
+ cp = *latlonstrptr;
+
+ while (isdigit(*cp))
+ deg = deg * 10 + (*cp++ - '0');
+
+ while (isspace(*cp))
+ cp++;
+
+ if (!(isdigit(*cp)))
+ goto fndhemi;
+
+ while (isdigit(*cp))
+ min = min * 10 + (*cp++ - '0');
+
+
+
+
+Davis, et al Experimental [Page 11]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ while (isspace(*cp))
+ cp++;
+
+ if (!(isdigit(*cp)))
+ goto fndhemi;
+
+ while (isdigit(*cp))
+ secs = secs * 10 + (*cp++ - '0');
+
+ if (*cp == '.') { /* decimal seconds */
+ cp++;
+ if (isdigit(*cp)) {
+ secsfrac = (*cp++ - '0') * 100;
+ if (isdigit(*cp)) {
+ secsfrac += (*cp++ - '0') * 10;
+ if (isdigit(*cp)) {
+ secsfrac += (*cp++ - '0');
+ }
+ }
+ }
+ }
+
+ while (!isspace(*cp)) /* if any trailing garbage */
+ cp++;
+
+ while (isspace(*cp))
+ cp++;
+
+ fndhemi:
+ switch (*cp) {
+ case 'N': case 'n':
+ case 'E': case 'e':
+ retval = ((unsigned)1<<31)
+ + (((((deg * 60) + min) * 60) + secs) * 1000)
+ + secsfrac;
+ break;
+ case 'S': case 's':
+ case 'W': case 'w':
+ retval = ((unsigned)1<<31)
+ - (((((deg * 60) + min) * 60) + secs) * 1000)
+ - secsfrac;
+ break;
+ default:
+ retval = 0; /* invalid value -- indicates error */
+ break;
+ }
+
+ switch (*cp) {
+
+
+
+Davis, et al Experimental [Page 12]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ case 'N': case 'n':
+ case 'S': case 's':
+ *which = 1; /* latitude */
+ break;
+ case 'E': case 'e':
+ case 'W': case 'w':
+ *which = 2; /* longitude */
+ break;
+ default:
+ *which = 0; /* error */
+ break;
+ }
+
+ cp++; /* skip the hemisphere */
+
+ while (!isspace(*cp)) /* if any trailing garbage */
+ cp++;
+
+ while (isspace(*cp)) /* move to next field */
+ cp++;
+
+ *latlonstrptr = cp;
+
+ return (retval);
+}
+
+/* converts a zone file representation in a string to an RDATA
+ * on-the-wire representation. */
+u_int32_t
+loc_aton(ascii, binary)
+ const char *ascii;
+ u_char *binary;
+{
+ const char *cp, *maxcp;
+ u_char *bcp;
+
+ u_int32_t latit = 0, longit = 0, alt = 0;
+ u_int32_t lltemp1 = 0, lltemp2 = 0;
+ int altmeters = 0, altfrac = 0, altsign = 1;
+ u_int8_t hp = 0x16; /* default = 1e6 cm = 10000.00m = 10km */
+ u_int8_t vp = 0x13; /* default = 1e3 cm = 10.00m */
+ u_int8_t siz = 0x12; /* default = 1e2 cm = 1.00m */
+ int which1 = 0, which2 = 0;
+
+ cp = ascii;
+ maxcp = cp + strlen(ascii);
+
+ lltemp1 = latlon2ul(&cp, &which1);
+
+
+
+Davis, et al Experimental [Page 13]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ lltemp2 = latlon2ul(&cp, &which2);
+
+ switch (which1 + which2) {
+ case 3: /* 1 + 2, the only valid combination */
+ if ((which1 == 1) && (which2 == 2)) { /* normal case */
+ latit = lltemp1;
+ longit = lltemp2;
+ } else if ((which1 == 2) && (which2 == 1)) {/*reversed*/
+ longit = lltemp1;
+ latit = lltemp2;
+ } else { /* some kind of brokenness */
+ return 0;
+ }
+ break;
+ default: /* we didn't get one of each */
+ return 0;
+ }
+
+ /* altitude */
+ if (*cp == '-') {
+ altsign = -1;
+ cp++;
+ }
+
+ if (*cp == '+')
+ cp++;
+
+ while (isdigit(*cp))
+ altmeters = altmeters * 10 + (*cp++ - '0');
+
+ if (*cp == '.') { /* decimal meters */
+ cp++;
+ if (isdigit(*cp)) {
+ altfrac = (*cp++ - '0') * 10;
+ if (isdigit(*cp)) {
+ altfrac += (*cp++ - '0');
+ }
+ }
+ }
+
+ alt = (10000000 + (altsign * (altmeters * 100 + altfrac)));
+
+ while (!isspace(*cp) && (cp < maxcp))
+ /* if trailing garbage or m */
+ cp++;
+
+ while (isspace(*cp) && (cp < maxcp))
+ cp++;
+
+
+
+Davis, et al Experimental [Page 14]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ if (cp >= maxcp)
+ goto defaults;
+
+ siz = precsize_aton(&cp);
+
+ while (!isspace(*cp) && (cp < maxcp))/*if trailing garbage or m*/
+ cp++;
+
+ while (isspace(*cp) && (cp < maxcp))
+ cp++;
+
+ if (cp >= maxcp)
+ goto defaults;
+
+ hp = precsize_aton(&cp);
+
+ while (!isspace(*cp) && (cp < maxcp))/*if trailing garbage or m*/
+ cp++;
+
+ while (isspace(*cp) && (cp < maxcp))
+ cp++;
+
+ if (cp >= maxcp)
+ goto defaults;
+
+ vp = precsize_aton(&cp);
+
+ defaults:
+
+ bcp = binary;
+ *bcp++ = (u_int8_t) 0; /* version byte */
+ *bcp++ = siz;
+ *bcp++ = hp;
+ *bcp++ = vp;
+ PUTLONG(latit,bcp);
+ PUTLONG(longit,bcp);
+ PUTLONG(alt,bcp);
+
+ return (16); /* size of RR in octets */
+}
+
+/* takes an on-the-wire LOC RR and prints it in zone file
+ * (human readable) format. */
+char *
+loc_ntoa(binary,ascii)
+ const u_char *binary;
+ char *ascii;
+{
+
+
+
+Davis, et al Experimental [Page 15]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ static char tmpbuf[255*3];
+
+ register char *cp;
+ register const u_char *rcp;
+
+ int latdeg, latmin, latsec, latsecfrac;
+ int longdeg, longmin, longsec, longsecfrac;
+ char northsouth, eastwest;
+ int altmeters, altfrac, altsign;
+
+ const int referencealt = 100000 * 100;
+
+ int32_t latval, longval, altval;
+ u_int32_t templ;
+ u_int8_t sizeval, hpval, vpval, versionval;
+
+ char *sizestr, *hpstr, *vpstr;
+
+ rcp = binary;
+ if (ascii)
+ cp = ascii;
+ else {
+ cp = tmpbuf;
+ }
+
+ versionval = *rcp++;
+
+ if (versionval) {
+ sprintf(cp,"; error: unknown LOC RR version");
+ return (cp);
+ }
+
+ sizeval = *rcp++;
+
+ hpval = *rcp++;
+ vpval = *rcp++;
+
+ GETLONG(templ,rcp);
+ latval = (templ - ((unsigned)1<<31));
+
+ GETLONG(templ,rcp);
+ longval = (templ - ((unsigned)1<<31));
+
+ GETLONG(templ,rcp);
+ if (templ < referencealt) { /* below WGS 84 spheroid */
+ altval = referencealt - templ;
+ altsign = -1;
+ } else {
+
+
+
+Davis, et al Experimental [Page 16]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ altval = templ - referencealt;
+ altsign = 1;
+ }
+
+ if (latval < 0) {
+ northsouth = 'S';
+ latval = -latval;
+ }
+ else
+ northsouth = 'N';
+
+ latsecfrac = latval % 1000;
+ latval = latval / 1000;
+ latsec = latval % 60;
+ latval = latval / 60;
+ latmin = latval % 60;
+ latval = latval / 60;
+ latdeg = latval;
+
+ if (longval < 0) {
+ eastwest = 'W';
+ longval = -longval;
+ }
+ else
+ eastwest = 'E';
+
+ longsecfrac = longval % 1000;
+ longval = longval / 1000;
+ longsec = longval % 60;
+ longval = longval / 60;
+ longmin = longval % 60;
+ longval = longval / 60;
+ longdeg = longval;
+
+ altfrac = altval % 100;
+ altmeters = (altval / 100) * altsign;
+
+ sizestr = savestr(precsize_ntoa(sizeval));
+ hpstr = savestr(precsize_ntoa(hpval));
+ vpstr = savestr(precsize_ntoa(vpval));
+
+ sprintf(cp,
+ "%d %.2d %.2d.%.3d %c %d %.2d %.2d.%.3d %c %d.%.2dm
+ %sm %sm %sm",
+ latdeg, latmin, latsec, latsecfrac, northsouth,
+ longdeg, longmin, longsec, longsecfrac, eastwest,
+ altmeters, altfrac, sizestr, hpstr, vpstr);
+
+
+
+
+Davis, et al Experimental [Page 17]
+
+RFC 1876 Location Information in the DNS January 1996
+
+
+ free(sizestr);
+ free(hpstr);
+ free(vpstr);
+
+ return (cp);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Davis, et al Experimental [Page 18]
+
diff --git a/Documentation/en/rfc/rfc1960.txt b/Documentation/en/rfc/rfc1960.txt
new file mode 100644
index 00000000..8e09abdd
--- /dev/null
+++ b/Documentation/en/rfc/rfc1960.txt
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+Network Working Group T. Howes
+Request for Comments: 1960 University of Michigan
+Obsoletes: 1558 June 1996
+Category: Standards Track
+
+ A String Representation of LDAP Search Filters
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+1. Abstract
+
+ The Lightweight Directory Access Protocol (LDAP) [1] defines a
+ network representation of a search filter transmitted to an LDAP
+ server. Some applications may find it useful to have a common way of
+ representing these search filters in a human-readable form. This
+ document defines a human-readable string format for representing LDAP
+ search filters.
+
+2. LDAP Search Filter Definition
+
+ An LDAP search filter is defined in [1] as follows:
+
+ Filter ::= CHOICE {
+ and [0] SET OF Filter,
+ or [1] SET OF Filter,
+ not [2] Filter,
+ equalityMatch [3] AttributeValueAssertion,
+ substrings [4] SubstringFilter,
+ greaterOrEqual [5] AttributeValueAssertion,
+ lessOrEqual [6] AttributeValueAssertion,
+ present [7] AttributeType,
+ approxMatch [8] AttributeValueAssertion
+ }
+
+ SubstringFilter ::= SEQUENCE {
+ type AttributeType,
+ SEQUENCE OF CHOICE {
+ initial [0] LDAPString,
+ any [1] LDAPString,
+ final [2] LDAPString
+ }
+ }
+
+
+
+Howes Standards Track [Page 1]
+
+RFC 1960 LDAP Search Filters June 1996
+
+
+ AttributeValueAssertion ::= SEQUENCE {
+ attributeType AttributeType,
+ attributeValue AttributeValue
+ }
+
+ AttributeType ::= LDAPString
+
+ AttributeValue ::= OCTET STRING
+
+ LDAPString ::= OCTET STRING
+
+ where the LDAPString above is limited to the IA5 character set. The
+ AttributeType is a string representation of the attribute type name
+ and is defined in [1]. The AttributeValue OCTET STRING has the form
+ defined in [2]. The Filter is encoded for transmission over a
+ network using the Basic Encoding Rules defined in [3], with
+ simplifications described in [1].
+
+3. String Search Filter Definition
+
+ The string representation of an LDAP search filter is defined by the
+ following grammar. It uses a prefix format.
+
+ <filter> ::= '(' <filtercomp> ')'
+ <filtercomp> ::= <and> | <or> | <not> | <item>
+ <and> ::= '&' <filterlist>
+ <or> ::= '|' <filterlist>
+ <not> ::= '!' <filter>
+ <filterlist> ::= <filter> | <filter> <filterlist>
+ <item> ::= <simple> | <present> | <substring>
+ <simple> ::= <attr> <filtertype> <value>
+ <filtertype> ::= <equal> | <approx> | <greater> | <less>
+ <equal> ::= '='
+ <approx> ::= '~='
+ <greater> ::= '>='
+ <less> ::= '<='
+ <present> ::= <attr> '=*'
+ <substring> ::= <attr> '=' <initial> <any> <final>
+ <initial> ::= NULL | <value>
+ <any> ::= '*' <starval>
+ <starval> ::= NULL | <value> '*' <starval>
+ <final> ::= NULL | <value>
+
+ <attr> is a string representing an AttributeType, and has the format
+ defined in [1]. <value> is a string representing an AttributeValue,
+ or part of one, and has the form defined in [2]. If a <value> must
+ contain one of the characters '*' or '(' or ')', these characters
+ should be escaped by preceding them with the backslash '\' character.
+
+
+
+Howes Standards Track [Page 2]
+
+RFC 1960 LDAP Search Filters June 1996
+
+
+ Note that although both the <substring> and <present> productions can
+ produce the 'attr=*' construct, this construct is used only to denote
+ a presence filter.
+
+4. Examples
+
+ This section gives a few examples of search filters written using
+ this notation.
+
+ (cn=Babs Jensen)
+ (!(cn=Tim Howes))
+ (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))
+ (o=univ*of*mich*)
+
+5. Security Considerations
+
+ Security considerations are not discussed in this memo.
+
+6. Bibliography
+
+ [1] Yeong, W., Howes, T., and S. Kille, "Lightweight
+ Directory Access Protocol", RFC 1777, March 1995.
+
+ [2] Howes, R., Kille, S., Yeong, W., and C. Robbins, "The String
+ Representation of Standard Attribute Syntaxes", RFC 1778,
+ March 1995.
+
+ [3] Specification of Basic Encoding Rules for Abstract Syntax
+ Notation One (ASN.1). CCITT Recommendation X.209, 1988.
+
+7. Author's Address
+
+ Tim Howes
+ University of Michigan
+ ITD Research Systems
+ 535 W William St.
+ Ann Arbor, MI 48103-4943
+ USA
+
+ Phone: +1 313 747-4454
+ EMail: tim@umich.edu
+
+
+
+
+
+
+
+
+
+
+Howes Standards Track [Page 3]
+
diff --git a/Documentation/en/rfc/rfc1982.txt b/Documentation/en/rfc/rfc1982.txt
new file mode 100644
index 00000000..5a34bc42
--- /dev/null
+++ b/Documentation/en/rfc/rfc1982.txt
@@ -0,0 +1,394 @@
+
+
+
+
+
+
+Network Working Group R. Elz
+Request for Comments: 1982 University of Melbourne
+Updates: 1034, 1035 R. Bush
+Category: Standards Track RGnet, Inc.
+ August 1996
+
+
+ Serial Number Arithmetic
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo defines serial number arithmetic, as used in the Domain
+ Name System. The DNS has long relied upon serial number arithmetic,
+ a concept which has never really been defined, certainly not in an
+ IETF document, though which has been widely understood. This memo
+ supplies the missing definition. It is intended to update RFC1034
+ and RFC1035.
+
+1. Introduction
+
+ The serial number field of the SOA resource record is defined in
+ RFC1035 as
+
+ SERIAL The unsigned 32 bit version number of the original copy of
+ the zone. Zone transfers preserve this value. This value
+ wraps and should be compared using sequence space
+ arithmetic.
+
+ RFC1034 uses the same terminology when defining secondary server zone
+ consistency procedures.
+
+ Unfortunately the term "sequence space arithmetic" is not defined in
+ either RFC1034 or RFC1035, nor do any of their references provide
+ further information.
+
+ This phrase seems to have been intending to specify arithmetic as
+ used in TCP sequence numbers [RFC793], and defined in [IEN-74].
+
+ Unfortunately, the arithmetic defined in [IEN-74] is not adequate for
+ the purposes of the DNS, as no general comparison operator is
+
+
+
+Elz & Bush Standards Track [Page 1]
+
+RFC 1982 Serial Number Arithmetic August 1996
+
+
+ defined.
+
+ To avoid further problems with this simple field, this document
+ defines the field and the operations available upon it. This
+ definition is intended merely to clarify the intent of RFC1034 and
+ RFC1035, and is believed to generally agree with current
+ implementations. However, older, superseded, implementations are
+ known to have treated the serial number as a simple unsigned integer,
+ with no attempt to implement any kind of "sequence space arithmetic",
+ however that may have been interpreted, and further, ignoring the
+ requirement that the value wraps. Nothing can be done with these
+ implementations, beyond extermination.
+
+2. Serial Number Arithmetic
+
+ Serial numbers are formed from non-negative integers from a finite
+ subset of the range of all integer values. The lowest integer in
+ every subset used for this purpose is zero, the maximum is always one
+ less than a power of two.
+
+ When considered as serial numbers however no value has any particular
+ significance, there is no minimum or maximum serial number, every
+ value has a successor and predecessor.
+
+ To define a serial number to be used in this way, the size of the
+ serial number space must be given. This value, called "SERIAL_BITS",
+ gives the power of two which results in one larger than the largest
+ integer corresponding to a serial number value. This also specifies
+ the number of bits required to hold every possible value of a serial
+ number of the defined type. The operations permitted upon serial
+ numbers are defined in the following section.
+
+3. Operations upon the serial number
+
+ Only two operations are defined upon serial numbers, addition of a
+ positive integer of limited range, and comparison with another serial
+ number.
+
+3.1. Addition
+
+ Serial numbers may be incremented by the addition of a positive
+ integer n, where n is taken from the range of integers
+ [0 .. (2^(SERIAL_BITS - 1) - 1)]. For a sequence number s, the
+ result of such an addition, s', is defined as
+
+ s' = (s + n) modulo (2 ^ SERIAL_BITS)
+
+
+
+
+
+Elz & Bush Standards Track [Page 2]
+
+RFC 1982 Serial Number Arithmetic August 1996
+
+
+ where the addition and modulus operations here act upon values that
+ are non-negative values of unbounded size in the usual ways of
+ integer arithmetic.
+
+ Addition of a value outside the range
+ [0 .. (2^(SERIAL_BITS - 1) - 1)] is undefined.
+
+3.2. Comparison
+
+ Any two serial numbers, s1 and s2, may be compared. The definition
+ of the result of this comparison is as follows.
+
+ For the purposes of this definition, consider two integers, i1 and
+ i2, from the unbounded set of non-negative integers, such that i1 and
+ s1 have the same numeric value, as do i2 and s2. Arithmetic and
+ comparisons applied to i1 and i2 use ordinary unbounded integer
+ arithmetic.
+
+ Then, s1 is said to be equal to s2 if and only if i1 is equal to i2,
+ in all other cases, s1 is not equal to s2.
+
+ s1 is said to be less than s2 if, and only if, s1 is not equal to s2,
+ and
+
+ (i1 < i2 and i2 - i1 < 2^(SERIAL_BITS - 1)) or
+ (i1 > i2 and i1 - i2 > 2^(SERIAL_BITS - 1))
+
+ s1 is said to be greater than s2 if, and only if, s1 is not equal to
+ s2, and
+
+ (i1 < i2 and i2 - i1 > 2^(SERIAL_BITS - 1)) or
+ (i1 > i2 and i1 - i2 < 2^(SERIAL_BITS - 1))
+
+ Note that there are some pairs of values s1 and s2 for which s1 is
+ not equal to s2, but for which s1 is neither greater than, nor less
+ than, s2. An attempt to use these ordering operators on such pairs
+ of values produces an undefined result.
+
+ The reason for this is that those pairs of values are such that any
+ simple definition that were to define s1 to be less than s2 where
+ (s1, s2) is such a pair, would also usually cause s2 to be less than
+ s1, when the pair is (s2, s1). This would mean that the particular
+ order selected for a test could cause the result to differ, leading
+ to unpredictable implementations.
+
+ While it would be possible to define the test in such a way that the
+ inequality would not have this surprising property, while being
+ defined for all pairs of values, such a definition would be
+
+
+
+Elz & Bush Standards Track [Page 3]
+
+RFC 1982 Serial Number Arithmetic August 1996
+
+
+ unnecessarily burdensome to implement, and difficult to understand,
+ and would still allow cases where
+
+ s1 < s2 and (s1 + 1) > (s2 + 1)
+
+ which is just as non-intuitive.
+
+ Thus the problem case is left undefined, implementations are free to
+ return either result, or to flag an error, and users must take care
+ not to depend on any particular outcome. Usually this will mean
+ avoiding allowing those particular pairs of numbers to co-exist.
+
+ The relationships greater than or equal to, and less than or equal
+ to, follow in the natural way from the above definitions.
+
+4. Corollaries
+
+ These definitions give rise to some results of note.
+
+4.1. Corollary 1
+
+ For any sequence number s and any integer n such that addition of n
+ to s is well defined, (s + n) >= s. Further (s + n) == s only when
+ n == 0, in all other defined cases, (s + n) > s.
+
+4.2. Corollary 2
+
+ If s' is the result of adding the non-zero integer n to the sequence
+ number s, and m is another integer from the range defined as able to
+ be added to a sequence number, and s" is the result of adding m to
+ s', then it is undefined whether s" is greater than, or less than s,
+ though it is known that s" is not equal to s.
+
+4.3. Corollary 3
+
+ If s" from the previous corollary is further incremented, then there
+ is no longer any known relationship between the result and s.
+
+4.4. Corollary 4
+
+ If in corollary 2 the value (n + m) is such that addition of the sum
+ to sequence number s would produce a defined result, then corollary 1
+ applies, and s" is known to be greater than s.
+
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 4]
+
+RFC 1982 Serial Number Arithmetic August 1996
+
+
+5. Examples
+
+5.1. A trivial example
+
+ The simplest meaningful serial number space has SERIAL_BITS == 2. In
+ this space, the integers that make up the serial number space are 0,
+ 1, 2, and 3. That is, 3 == 2^SERIAL_BITS - 1.
+
+ In this space, the largest integer that it is meaningful to add to a
+ sequence number is 2^(SERIAL_BITS - 1) - 1, or 1.
+
+ Then, as defined 0+1 == 1, 1+1 == 2, 2+1 == 3, and 3+1 == 0.
+ Further, 1 > 0, 2 > 1, 3 > 2, and 0 > 3. It is undefined whether
+ 2 > 0 or 0 > 2, and whether 1 > 3 or 3 > 1.
+
+5.2. A slightly larger example
+
+ Consider the case where SERIAL_BITS == 8. In this space the integers
+ that make up the serial number space are 0, 1, 2, ... 254, 255.
+ 255 == 2^SERIAL_BITS - 1.
+
+ In this space, the largest integer that it is meaningful to add to a
+ sequence number is 2^(SERIAL_BITS - 1) - 1, or 127.
+
+ Addition is as expected in this space, for example: 255+1 == 0,
+ 100+100 == 200, and 200+100 == 44.
+
+ Comparison is more interesting, 1 > 0, 44 > 0, 100 > 0, 100 > 44,
+ 200 > 100, 255 > 200, 0 > 255, 100 > 255, 0 > 200, and 44 > 200.
+
+ Note that 100+100 > 100, but that (100+100)+100 < 100. Incrementing
+ a serial number can cause it to become "smaller". Of course,
+ incrementing by a smaller number will allow many more increments to
+ be made before this occurs. However this is always something to be
+ aware of, it can cause surprising errors, or be useful as it is the
+ only defined way to actually cause a serial number to decrease.
+
+ The pairs of values 0 and 128, 1 and 129, 2 and 130, etc, to 127 and
+ 255 are not equal, but in each pair, neither number is defined as
+ being greater than, or less than, the other.
+
+ It could be defined (arbitrarily) that 128 > 0, 129 > 1,
+ 130 > 2, ..., 255 > 127, by changing the comparison operator
+ definitions, as mentioned above. However note that that would cause
+ 255 > 127, while (255 + 1) < (127 + 1), as 0 < 128. Such a
+ definition, apart from being arbitrary, would also be more costly to
+ implement.
+
+
+
+
+Elz & Bush Standards Track [Page 5]
+
+RFC 1982 Serial Number Arithmetic August 1996
+
+
+6. Citation
+
+ As this defined arithmetic may be useful for purposes other than for
+ the DNS serial number, it may be referenced as Serial Number
+ Arithmetic from RFC1982. Any such reference shall be taken as
+ implying that the rules of sections 2 to 5 of this document apply to
+ the stated values.
+
+7. The DNS SOA serial number
+
+ The serial number in the DNS SOA Resource Record is a Serial Number
+ as defined above, with SERIAL_BITS being 32. That is, the serial
+ number is a non negative integer with values taken from the range
+ [0 .. 4294967295]. That is, a 32 bit unsigned integer.
+
+ The maximum defined increment is 2147483647 (2^31 - 1).
+
+ Care should be taken that the serial number not be incremented, in
+ one or more steps, by more than this maximum within the period given
+ by the value of SOA.expire. Doing so may leave some secondary
+ servers with out of date copies of the zone, but with a serial number
+ "greater" than that of the primary server. Of course, special
+ circumstances may require this rule be set aside, for example, when
+ the serial number needs to be set lower for some reason. If this
+ must be done, then take special care to verify that ALL servers have
+ correctly succeeded in following the primary server's serial number
+ changes, at each step.
+
+ Note that each, and every, increment to the serial number must be
+ treated as the start of a new sequence of increments for this
+ purpose, as well as being the continuation of all previous sequences
+ started within the period specified by SOA.expire.
+
+ Caution should also be exercised before causing the serial number to
+ be set to the value zero. While this value is not in any way special
+ in serial number arithmetic, or to the DNS SOA serial number, many
+ DNS implementations have incorrectly treated zero as a special case,
+ with special properties, and unusual behaviour may be expected if
+ zero is used as a DNS SOA serial number.
+
+
+
+
+
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 6]
+
+RFC 1982 Serial Number Arithmetic August 1996
+
+
+8. Document Updates
+
+ RFC1034 and RFC1035 are to be treated as if the references to
+ "sequence space arithmetic" therein are replaced by references to
+ serial number arithmetic, as defined in this document.
+
+9. Security Considerations
+
+ This document does not consider security.
+
+ It is not believed that anything in this document adds to any
+ security issues that may exist with the DNS, nor does it do anything
+ to lessen them.
+
+References
+
+ [RFC1034] Domain Names - Concepts and Facilities,
+ P. Mockapetris, STD 13, ISI, November 1987.
+
+ [RFC1035] Domain Names - Implementation and Specification
+ P. Mockapetris, STD 13, ISI, November 1987
+
+ [RFC793] Transmission Control protocol
+ Information Sciences Institute, STD 7, USC, September 1981
+
+ [IEN-74] Sequence Number Arithmetic
+ William W. Plummer, BB&N Inc, September 1978
+
+Acknowledgements
+
+ Thanks to Rob Austein for suggesting clarification of the undefined
+ comparison operators, and to Michael Patton for attempting to locate
+ another reference for this procedure. Thanks also to members of the
+ IETF DNSIND working group of 1995-6, in particular, Paul Mockapetris.
+
+Authors' Addresses
+
+ Robert Elz Randy Bush
+ Computer Science RGnet, Inc.
+ University of Melbourne 10361 NE Sasquatch Lane
+ Parkville, Vic, 3052 Bainbridge Island, Washington, 98110
+ Australia. United States.
+
+ EMail: kre@munnari.OZ.AU EMail: randy@psg.com
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 7]
diff --git a/Documentation/en/rfc/rfc1995.txt b/Documentation/en/rfc/rfc1995.txt
new file mode 100644
index 00000000..b50bdc60
--- /dev/null
+++ b/Documentation/en/rfc/rfc1995.txt
@@ -0,0 +1,451 @@
+
+
+
+
+
+
+Network Working Group M. Ohta
+Request for Comments: 1995 Tokyo Institute of Technology
+Updates: 1035 August 1996
+Category: Standards Track
+
+
+ Incremental Zone Transfer in DNS
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ This document proposes extensions to the DNS protocols to provide an
+ incremental zone transfer (IXFR) mechanism.
+
+1. Introduction
+
+ For rapid propagation of changes to a DNS database [STD13], it is
+ necessary to reduce latency by actively notifying servers of the
+ change. This is accomplished by the NOTIFY extension of the DNS
+ [NOTIFY].
+
+ The current full zone transfer mechanism (AXFR) is not an efficient
+ means to propagate changes to a small part of a zone, as it transfers
+ the entire zone file.
+
+ Incremental transfer (IXFR) as proposed is a more efficient
+ mechanism, as it transfers only the changed portion(s) of a zone.
+
+ In this document, a secondary name server which requests IXFR is
+ called an IXFR client and a primary or secondary name server which
+ responds to the request is called an IXFR server.
+
+2. Brief Description of the Protocol
+
+ If an IXFR client, which likely has an older version of a zone,
+ thinks it needs new information about the zone (typically through SOA
+ refresh timeout or the NOTIFY mechanism), it sends an IXFR message
+ containing the SOA serial number of its, presumably outdated, copy of
+ the zone.
+
+
+
+
+
+Ohta Standards Track [Page 1]
+
+RFC 1995 Incremental Zone Transfer in DNS August 1996
+
+
+ An IXFR server should keep record of the newest version of the zone
+ and the differences between that copy and several older versions.
+ When an IXFR request with an older version number is received, the
+ IXFR server needs to send only the differences required to make that
+ version current. Alternatively, the server may choose to transfer
+ the entire zone just as in a normal full zone transfer.
+
+ When a zone has been updated, it should be saved in stable storage
+ before the new version is used to respond to IXFR (or AXFR) queries.
+ Otherwise, if the server crashes, data which is no longer available
+ may have been distributed to secondary servers, which can cause
+ persistent database inconsistencies.
+
+ If an IXFR query with the same or newer version number than that of
+ the server is received, it is replied to with a single SOA record of
+ the server's current version, just as in AXFR.
+
+ Transport of a query may be by either UDP or TCP. If an IXFR query
+ is via UDP, the IXFR server may attempt to reply using UDP if the
+ entire response can be contained in a single DNS packet. If the UDP
+ reply does not fit, the query is responded to with a single SOA
+ record of the server's current version to inform the client that a
+ TCP query should be initiated.
+
+ Thus, a client should first make an IXFR query using UDP. If the
+ query type is not recognized by the server, an AXFR (preceded by a
+ UDP SOA query) should be tried, ensuring backward compatibility. If
+ the query response is a single packet with the entire new zone, or if
+ the server does not have a newer version than the client, everything
+ is done. Otherwise, a TCP IXFR query should be tried.
+
+ To ensure integrity, servers should use UDP checksums for all UDP
+ responses. A cautious client which receives a UDP packet with a
+ checksum value of zero should ignore the result and try a TCP IXFR
+ instead.
+
+ The query type value of IXFR assigned by IANA is 251.
+
+3. Query Format
+
+ The IXFR query packet format is the same as that of a normal DNS
+ query, but with the query type being IXFR and the authority section
+ containing the SOA record of client's version of the zone.
+
+
+
+
+
+
+
+
+Ohta Standards Track [Page 2]
+
+RFC 1995 Incremental Zone Transfer in DNS August 1996
+
+
+4. Response Format
+
+ If incremental zone transfer is not available, the entire zone is
+ returned. The first and the last RR of the response is the SOA
+ record of the zone. I.e. the behavior is the same as an AXFR
+ response except the query type is IXFR.
+
+ If incremental zone transfer is available, one or more difference
+ sequences is returned. The list of difference sequences is preceded
+ and followed by a copy of the server's current version of the SOA.
+
+ Each difference sequence represents one update to the zone (one SOA
+ serial change) consisting of deleted RRs and added RRs. The first RR
+ of the deleted RRs is the older SOA RR and the first RR of the added
+ RRs is the newer SOA RR.
+
+ Modification of an RR is performed first by removing the original RR
+ and then adding the modified one.
+
+ The sequences of differential information are ordered oldest first
+ newest last. Thus, the differential sequences are the history of
+ changes made since the version known by the IXFR client up to the
+ server's current version.
+
+ RRs in the incremental transfer messages may be partial. That is, if
+ a single RR of multiple RRs of the same RR type changes, only the
+ changed RR is transferred.
+
+ An IXFR client, should only replace an older version with a newer
+ version after all the differences have been successfully processed.
+
+ An incremental response is different from that of a non-incremental
+ response in that it begins with two SOA RRs, the server's current SOA
+ followed by the SOA of the client's version which is about to be
+ replaced.
+
+ 5. Purging Strategy
+
+ An IXFR server can not be required to hold all previous versions
+ forever and may delete them anytime. In general, there is a trade-off
+ between the size of storage space and the possibility of using IXFR.
+
+ Information about older versions should be purged if the total length
+ of an IXFR response would be longer than that of an AXFR response.
+ Given that the purpose of IXFR is to reduce AXFR overhead, this
+ strategy is quite reasonable. The strategy assures that the amount
+ of storage required is at most twice that of the current zone
+ information.
+
+
+
+Ohta Standards Track [Page 3]
+
+RFC 1995 Incremental Zone Transfer in DNS August 1996
+
+
+ Information older than the SOA expire period may also be purged.
+
+6. Optional Condensation of Multiple Versions
+
+ An IXFR server may optionally condense multiple difference sequences
+ into a single difference sequence, thus, dropping information on
+ intermediate versions.
+
+ This may be beneficial if a lot of versions, not all of which are
+ useful, are generated. For example, if multiple ftp servers share a
+ single DNS name and the IP address associated with the name is
+ changed once a minute to balance load between the ftp servers, it is
+ not so important to keep track of all the history of changes.
+
+ But, this feature may not be so useful if an IXFR client has access
+ to two IXFR servers: A and B, with inconsistent condensation results.
+ The current version of the IXFR client, received from server A, may
+ be unknown to server B. In such a case, server B can not provide
+ incremental data from the unknown version and a full zone transfer is
+ necessary.
+
+ Condensation is completely optional. Clients can't detect from the
+ response whether the server has condensed the reply or not.
+
+ For interoperability, IXFR servers, including those without the
+ condensation feature, should not flag an error even if it receives a
+ client's IXFR request with a unknown version number and should,
+ instead, attempt to perform a full zone transfer.
+
+7. Example
+
+ Given the following three generations of data with the current serial
+ number of 3,
+
+ JAIN.AD.JP. IN SOA NS.JAIN.AD.JP. mohta.jain.ad.jp. (
+ 1 600 600 3600000 604800)
+ IN NS NS.JAIN.AD.JP.
+ NS.JAIN.AD.JP. IN A 133.69.136.1
+ NEZU.JAIN.AD.JP. IN A 133.69.136.5
+
+ NEZU.JAIN.AD.JP. is removed and JAIN-BB.JAIN.AD.JP. is added.
+
+ jain.ad.jp. IN SOA ns.jain.ad.jp. mohta.jain.ad.jp. (
+ 2 600 600 3600000 604800)
+ IN NS NS.JAIN.AD.JP.
+ NS.JAIN.AD.JP. IN A 133.69.136.1
+ JAIN-BB.JAIN.AD.JP. IN A 133.69.136.4
+ IN A 192.41.197.2
+
+
+
+Ohta Standards Track [Page 4]
+
+RFC 1995 Incremental Zone Transfer in DNS August 1996
+
+
+ One of the IP addresses of JAIN-BB.JAIN.AD.JP. is changed.
+
+ JAIN.AD.JP. IN SOA ns.jain.ad.jp. mohta.jain.ad.jp. (
+ 3 600 600 3600000 604800)
+ IN NS NS.JAIN.AD.JP.
+ NS.JAIN.AD.JP. IN A 133.69.136.1
+ JAIN-BB.JAIN.AD.JP. IN A 133.69.136.3
+ IN A 192.41.197.2
+
+ The following IXFR query
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY |
+ +---------------------------------------------------+
+ Question | QNAME=JAIN.AD.JP., QCLASS=IN, QTYPE=IXFR |
+ +---------------------------------------------------+
+ Answer | <empty> |
+ +---------------------------------------------------+
+ Authority | JAIN.AD.JP. IN SOA serial=1 |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+ could be replied to with the following full zone transfer message:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=JAIN.AD.JP., QCLASS=IN, QTYPE=IXFR |
+ +---------------------------------------------------+
+ Answer | JAIN.AD.JP. IN SOA serial=3 |
+ | JAIN.AD.JP. IN NS NS.JAIN.AD.JP. |
+ | NS.JAIN.AD.JP. IN A 133.69.136.1 |
+ | JAIN-BB.JAIN.AD.JP. IN A 133.69.136.3 |
+ | JAIN-BB.JAIN.AD.JP. IN A 192.41.197.2 |
+ | JAIN.AD.JP. IN SOA serial=3 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+
+
+
+
+
+
+
+
+
+Ohta Standards Track [Page 5]
+
+RFC 1995 Incremental Zone Transfer in DNS August 1996
+
+
+ or with the following incremental message:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=JAIN.AD.JP., QCLASS=IN, QTYPE=IXFR |
+ +---------------------------------------------------+
+ Answer | JAIN.AD.JP. IN SOA serial=3 |
+ | JAIN.AD.JP. IN SOA serial=1 |
+ | NEZU.JAIN.AD.JP. IN A 133.69.136.5 |
+ | JAIN.AD.JP. IN SOA serial=2 |
+ | JAIN-BB.JAIN.AD.JP. IN A 133.69.136.4 |
+ | JAIN-BB.JAIN.AD.JP. IN A 192.41.197.2 |
+ | JAIN.AD.JP. IN SOA serial=2 |
+ | JAIN-BB.JAIN.AD.JP. IN A 133.69.136.4 |
+ | JAIN.AD.JP. IN SOA serial=3 |
+ | JAIN-BB.JAIN.AD.JP. IN A 133.69.136.3 |
+ | JAIN.AD.JP. IN SOA serial=3 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+ or with the following condensed incremental message:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=JAIN.AD.JP., QCLASS=IN, QTYPE=IXFR |
+ +---------------------------------------------------+
+ Answer | JAIN.AD.JP. IN SOA serial=3 |
+ | JAIN.AD.JP. IN SOA serial=1 |
+ | NEZU.JAIN.AD.JP. IN A 133.69.136.5 |
+ | JAIN.AD.JP. IN SOA serial=3 |
+ | JAIN-BB.JAIN.AD.JP. IN A 133.69.136.3 |
+ | JAIN-BB.JAIN.AD.JP. IN A 192.41.197.2 |
+ | JAIN.AD.JP. IN SOA serial=3 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+
+
+
+
+
+
+
+Ohta Standards Track [Page 6]
+
+RFC 1995 Incremental Zone Transfer in DNS August 1996
+
+
+ or, if UDP packet overflow occurs, with the following message:
+
+ +---------------------------------------------------+
+ Header | OPCODE=SQUERY, RESPONSE |
+ +---------------------------------------------------+
+ Question | QNAME=JAIN.AD.JP., QCLASS=IN, QTYPE=IXFR |
+ +---------------------------------------------------+
+ Answer | JAIN.AD.JP. IN SOA serial=3 |
+ +---------------------------------------------------+
+ Authority | <empty> |
+ +---------------------------------------------------+
+ Additional | <empty> |
+ +---------------------------------------------------+
+
+8. Acknowledgements
+
+ The original idea of IXFR was conceived by Anant Kumar, Steve Hotz
+ and Jon Postel.
+
+ For the refinement of the protocol and documentation, many people
+ have contributed including, but not limited to, Anant Kumar, Robert
+ Austein, Paul Vixie, Randy Bush, Mark Andrews, Robert Elz and the
+ members of the IETF DNSIND working group.
+
+9. References
+
+ [NOTIFY] Vixie, P., "DNS NOTIFY: A Mechanism for Prompt
+ Notification of Zone Changes", RFC 1996, August 1996.
+
+ [STD13] Mockapetris, P., "Domain Name System", STD 13, RFC 1034 and
+ RFC 1035), November 1987.
+
+10. Security Considerations
+
+ Though DNS is related to several security problems, no attempt is
+ made to fix them in this document.
+
+ This document is believed to introduce no additional security
+ problems to the current DNS protocol.
+
+
+
+
+
+
+
+
+
+
+
+
+Ohta Standards Track [Page 7]
+
+RFC 1995 Incremental Zone Transfer in DNS August 1996
+
+
+11. Author's Address
+
+ Masataka Ohta
+ Computer Center
+ Tokyo Institute of Technology
+ 2-12-1, O-okayama, Meguro-ku, Tokyo 152, JAPAN
+
+ Phone: +81-3-5734-3299
+ Fax: +81-3-5734-3415
+ EMail: mohta@necom830.hpcl.titech.ac.jp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Ohta Standards Track [Page 8]
+
diff --git a/Documentation/en/rfc/rfc1996.txt b/Documentation/en/rfc/rfc1996.txt
new file mode 100644
index 00000000..b08f2007
--- /dev/null
+++ b/Documentation/en/rfc/rfc1996.txt
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+Network Working Group P. Vixie
+Request for Comments: 1996 ISC
+Updates: 1035 August 1996
+Category: Standards Track
+
+
+ A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo describes the NOTIFY opcode for DNS, by which a master
+ server advises a set of slave servers that the master's data has been
+ changed and that a query should be initiated to discover the new
+ data.
+
+1. Rationale and Scope
+
+ 1.1. Slow propagation of new and changed data in a DNS zone can be
+ due to a zone's relatively long refresh times. Longer refresh times
+ are beneficial in that they reduce load on the master servers, but
+ that benefit comes at the cost of long intervals of incoherence among
+ authority servers whenever the zone is updated.
+
+ 1.2. The DNS NOTIFY transaction allows master servers to inform slave
+ servers when the zone has changed -- an interrupt as opposed to poll
+ model -- which it is hoped will reduce propagation delay while not
+ unduly increasing the masters' load. This specification only allows
+ slaves to be notified of SOA RR changes, but the architechture of
+ NOTIFY is intended to be extensible to other RR types.
+
+ 1.3. This document intentionally gives more definition to the roles
+ of "Master," "Slave" and "Stealth" servers, their enumeration in NS
+ RRs, and the SOA MNAME field. In that sense, this document can be
+ considered an addendum to [RFC1035].
+
+
+
+
+
+
+
+
+
+Vixie Standards Track [Page 1]
+
+RFC 1996 DNS NOTIFY August 1996
+
+
+2. Definitions and Invariants
+
+ 2.1. The following definitions are used in this document:
+
+ Slave an authoritative server which uses zone transfer to
+ retrieve the zone. All slave servers are named in
+ the NS RRs for the zone.
+
+ Master any authoritative server configured to be the source
+ of zone transfer for one or more slave servers.
+
+ Primary Master master server at the root of the zone transfer
+ dependency graph. The primary master is named in the
+ zone's SOA MNAME field and optionally by an NS RR.
+ There is by definition only one primary master server
+ per zone.
+
+ Stealth like a slave server except not listed in an NS RR for
+ the zone. A stealth server, unless explicitly
+ configured to do otherwise, will set the AA bit in
+ responses and be capable of acting as a master. A
+ stealth server will only be known by other servers if
+ they are given static configuration data indicating
+ its existence.
+
+ Notify Set set of servers to be notified of changes to some
+ zone. Default is all servers named in the NS RRset,
+ except for any server also named in the SOA MNAME.
+ Some implementations will permit the name server
+ administrator to override this set or add elements to
+ it (such as, for example, stealth servers).
+
+ 2.2. The zone's servers must be organized into a dependency graph
+ such that there is a primary master, and all other servers must use
+ AXFR or IXFR either from the primary master or from some slave which
+ is also a master. No loops are permitted in the AXFR dependency
+ graph.
+
+3. NOTIFY Message
+
+ 3.1. When a master has updated one or more RRs in which slave servers
+ may be interested, the master may send the changed RR's name, class,
+ type, and optionally, new RDATA(s), to each known slave server using
+ a best efforts protocol based on the NOTIFY opcode.
+
+ 3.2. NOTIFY uses the DNS Message Format, although it uses only a
+ subset of the available fields. Fields not otherwise described
+ herein are to be filled with binary zero (0), and implementations
+
+
+
+Vixie Standards Track [Page 2]
+
+RFC 1996 DNS NOTIFY August 1996
+
+
+ must ignore all messages for which this is not the case.
+
+ 3.3. NOTIFY is similar to QUERY in that it has a request message with
+ the header QR flag "clear" and a response message with QR "set". The
+ response message contains no useful information, but its reception by
+ the master is an indication that the slave has received the NOTIFY
+ and that the master can remove the slave from any retry queue for
+ this NOTIFY event.
+
+ 3.4. The transport protocol used for a NOTIFY transaction will be UDP
+ unless the master has reason to believe that TCP is necessary; for
+ example, if a firewall has been installed between master and slave,
+ and only TCP has been allowed; or, if the changed RR is too large to
+ fit in a UDP/DNS datagram.
+
+ 3.5. If TCP is used, both master and slave must continue to offer
+ name service during the transaction, even when the TCP transaction is
+ not making progress. The NOTIFY request is sent once, and a
+ "timeout" is said to have occurred if no NOTIFY response is received
+ within a reasonable interval.
+
+ 3.6. If UDP is used, a master periodically sends a NOTIFY request to
+ a slave until either too many copies have been sent (a "timeout"), an
+ ICMP message indicating that the port is unreachable, or until a
+ NOTIFY response is received from the slave with a matching query ID,
+ QNAME, IP source address, and UDP source port number.
+
+ Note:
+ The interval between transmissions, and the total number of
+ retransmissions, should be operational parameters specifiable by
+ the name server administrator, perhaps on a per-zone basis.
+ Reasonable defaults are a 60 second interval (or timeout if
+ using TCP), and a maximum of 5 retransmissions (for UDP). It is
+ considered reasonable to use additive or exponential backoff for
+ the retry interval.
+
+ 3.7. A NOTIFY request has QDCOUNT>0, ANCOUNT>=0, AUCOUNT>=0,
+ ADCOUNT>=0. If ANCOUNT>0, then the answer section represents an
+ unsecure hint at the new RRset for this <QNAME,QCLASS,QTYPE>. A
+ slave receiving such a hint is free to treat equivilence of this
+ answer section with its local data as a "no further work needs to be
+ done" indication. If ANCOUNT=0, or ANCOUNT>0 and the answer section
+ differs from the slave's local data, then the slave should query its
+ known masters to retrieve the new data.
+
+ 3.8. In no case shall the answer section of a NOTIFY request be used
+ to update a slave's local data, or to indicate that a zone transfer
+ needs to be undertaken, or to change the slave's zone refresh timers.
+
+
+
+Vixie Standards Track [Page 3]
+
+RFC 1996 DNS NOTIFY August 1996
+
+
+ Only a "data present; data same" condition can lead a slave to act
+ differently if ANCOUNT>0 than it would if ANCOUNT=0.
+
+ 3.9. This version of the NOTIFY specification makes no use of the
+ authority or additional data sections, and so conforming
+ implementations should set AUCOUNT=0 and ADCOUNT=0 when transmitting
+ requests. Since a future revision of this specification may define a
+ backwards compatible use for either or both of these sections,
+ current implementations must ignore these sections, but not the
+ entire message, if AUCOUNT>0 and/or ADCOUNT>0.
+
+ 3.10. If a slave receives a NOTIFY request from a host that is not a
+ known master for the zone containing the QNAME, it should ignore the
+ request and produce an error message in its operations log.
+
+ Note:
+ This implies that slaves of a multihomed master must either know
+ their master by the "closest" of the master's interface
+ addresses, or must know all of the master's interface addresses.
+ Otherwise, a valid NOTIFY request might come from an address
+ that is not on the slave's state list of masters for the zone,
+ which would be an error.
+
+ 3.11. The only defined NOTIFY event at this time is that the SOA RR
+ has changed. Upon completion of a NOTIFY transaction for QTYPE=SOA,
+ the slave should behave as though the zone given in the QNAME had
+ reached its REFRESH interval (see [RFC1035]), i.e., it should query
+ its masters for the SOA of the zone given in the NOTIFY QNAME, and
+ check the answer to see if the SOA SERIAL has been incremented since
+ the last time the zone was fetched. If so, a zone transfer (either
+ AXFR or IXFR) should be initiated.
+
+ Note:
+ Because a deep server dependency graph may have multiple paths
+ from the primary master to any given slave, it is possible that
+ a slave will receive a NOTIFY from one of its known masters even
+ though the rest of its known masters have not yet updated their
+ copies of the zone. Therefore, when issuing a QUERY for the
+ zone's SOA, the query should be directed at the known master who
+ was the source of the NOTIFY event, and not at any of the other
+ known masters. This represents a departure from [RFC1035],
+ which specifies that upon expiry of the SOA REFRESH interval,
+ all known masters should be queried in turn.
+
+ 3.12. If a NOTIFY request is received by a slave who does not
+ implement the NOTIFY opcode, it will respond with a NOTIMP
+ (unimplemented feature error) message. A master server who receives
+ such a NOTIMP should consider the NOTIFY transaction complete for
+
+
+
+Vixie Standards Track [Page 4]
+
+RFC 1996 DNS NOTIFY August 1996
+
+
+ that slave.
+
+4. Details and Examples
+
+ 4.1. Retaining query state information across host reboots is
+ optional, but it is reasonable to simply execute an SOA NOTIFY
+ transaction on each authority zone when a server first starts.
+
+ 4.2. Each slave is likely to receive several copies of the same
+ NOTIFY request: One from the primary master, and one from each other
+ slave as that slave transfers the new zone and notifies its potential
+ peers. The NOTIFY protocol supports this multiplicity by requiring
+ that NOTIFY be sent by a slave/master only AFTER it has updated the
+ SOA RR or has determined that no update is necessary, which in
+ practice means after a successful zone transfer. Thus, barring
+ delivery reordering, the last NOTIFY any slave receives will be the
+ one indicating the latest change. Since a slave always requests SOAs
+ and AXFR/IXFRs only from its known masters, it will have an
+ opportunity to retry its QUERY for the SOA after each of its masters
+ have completed each zone update.
+
+ 4.3. If a master server seeks to avoid causing a large number of
+ simultaneous outbound zone transfers, it may delay for an arbitrary
+ length of time before sending a NOTIFY message to any given slave.
+ It is expected that the time will be chosen at random, so that each
+ slave will begin its transfer at a unique time. The delay shall not
+ in any case be longer than the SOA REFRESH time.
+
+ Note:
+ This delay should be a parameter that each primary master name
+ server can specify, perhaps on a per-zone basis. Random delays
+ of between 30 and 60 seconds would seem adequate if the servers
+ share a LAN and the zones are of moderate size.
+
+ 4.4. A slave which receives a valid NOTIFY should defer action on any
+ subsequent NOTIFY with the same <QNAME,QCLASS,QTYPE> until it has
+ completed the transaction begun by the first NOTIFY. This duplicate
+ rejection is necessary to avoid having multiple notifications lead to
+ pummeling the master server.
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie Standards Track [Page 5]
+
+RFC 1996 DNS NOTIFY August 1996
+
+
+ 4.5 Zone has Updated on Primary Master
+
+ Primary master sends a NOTIFY request to all servers named in Notify
+ Set. The NOTIFY request has the following characteristics:
+
+ query ID: (new)
+ op: NOTIFY (4)
+ resp: NOERROR
+ flags: AA
+ qcount: 1
+ qname: (zone name)
+ qclass: (zone class)
+ qtype: T_SOA
+
+ 4.6 Zone has Updated on a Slave that is also a Master
+
+ As above in 4.5, except that this server's Notify Set may be
+ different from the Primary Master's due to optional static
+ specification of local stealth servers.
+
+ 4.7 Slave Receives a NOTIFY Request from a Master
+
+ When a slave server receives a NOTIFY request from one of its locally
+ designated masters for the zone enclosing the given QNAME, with
+ QTYPE=SOA and QR=0, it should enter the state it would if the zone's
+ refresh timer had expired. It will also send a NOTIFY response back
+ to the NOTIFY request's source, with the following characteristics:
+
+ query ID: (same)
+ op: NOTIFY (4)
+ resp: NOERROR
+ flags: QR AA
+ qcount: 1
+ qname: (zone name)
+ qclass: (zone class)
+ qtype: T_SOA
+
+ This is intended to be identical to the NOTIFY request, except that
+ the QR bit is also set. The query ID of the response must be the
+ same as was received in the request.
+
+ 4.8 Master Receives a NOTIFY Response from Slave
+
+ When a master server receives a NOTIFY response, it deletes this
+ query from the retry queue, thus completing the "notification
+ process" of "this" RRset change to "that" server.
+
+
+
+
+
+Vixie Standards Track [Page 6]
+
+RFC 1996 DNS NOTIFY August 1996
+
+
+5. Security Considerations
+
+ We believe that the NOTIFY operation's only security considerations
+ are:
+
+ 1. That a NOTIFY request with a forged IP/UDP source address can
+ cause a slave to send spurious SOA queries to its masters,
+ leading to a benign denial of service attack if the forged
+ requests are sent very often.
+
+ 2. That TCP spoofing could be used against a slave server given
+ NOTIFY as a means of synchronizing an SOA query and UDP/DNS
+ spoofing as a means of forcing a zone transfer.
+
+6. References
+
+ [RFC1035]
+ Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1035, November 1987.
+
+ [IXFR]
+ Ohta, M., "Incremental Zone Transfer", RFC 1995, August 1996.
+
+7. Author's Address
+
+ Paul Vixie
+ Internet Software Consortium
+ Star Route Box 159A
+ Woodside, CA 94062
+
+ Phone: +1 415 747 0204
+ EMail: paul@vix.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie Standards Track [Page 7]
+
diff --git a/Documentation/en/rfc/rfc2010.txt b/Documentation/en/rfc/rfc2010.txt
new file mode 100644
index 00000000..7e43bfce
--- /dev/null
+++ b/Documentation/en/rfc/rfc2010.txt
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+Network Working Group B. Manning
+Request for Comments: 2010 ISI
+Category: Informational P. Vixie
+ ISC
+ October 1996
+
+
+ Operational Criteria for Root Name Servers
+
+Status of this Memo
+
+ This memo provides information for the Internet community. This memo
+ does not specify an Internet standard of any kind. Distribution of
+ this memo is unlimited.
+
+Abstract
+
+ This document specifies the operational requirements of root name
+ servers, including host hardware capacities, name server software
+ revisions, network connectivity, and physical environment.
+
+1 - Rationale and Scope
+
+ 1.1. Historically, the name servers responsible for the root (".")
+ zone have also been responsible for all international top-level
+ domains (iTLD's, for example: COM, EDU, INT, ARPA). These name
+ servers have been operated by a cadre of highly capable volunteers,
+ and their administration has been loosely coordinated by the NIC
+ (first SRI-NIC and now InterNIC). Ultimate responsibility for the
+ correct operation of these servers and for the content of the DNS
+ zones they served has always rested with the IANA.
+
+ 1.2. As described in [Postel96], many new TLD's may be created
+ shortly. Servers for all new and existing iTLD's will be subject to
+ the operational requirements given in [Postel96]. The set of servers
+ for the root (".") zone is likely to become disjoint from the set of
+ servers for any TLD or group of TLD's, including those maintained by
+ the InterNIC.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning & Vixie Informational [Page 1]
+
+RFC 2010 DNSSVR Criteria October 1996
+
+
+ 1.3. In spite of the similarities in operational requirements between
+ the servers for the iTLD's and the servers for the root (".") zone,
+ they are in fact different server sets with different administrators
+ and slightly different operational requirements. It is likely that
+ many contry code tld servers will have even more divergent
+ operational requirements. That said, the requirements set down in
+ this document could be successfully applied to any name server
+ (whether root, top level, or any other level), but may be more
+ draconian than necessary for servers other than those of the root
+ (".") zone.
+
+ Disclaimer: The selection of name server locations and
+ administrators, and the procedures for addressing
+ noncompliance with these stated operational
+ requirements, are outside the scope of this document.
+
+ Definition: For the purpose of this document, the term "zone master"
+ shall be used to designate the administrative owner of
+ the content of a zone. This person is expected to have
+ final responsibility for the selection and correct
+ operation of all of the zone's servers. For the root
+ (".") zone, this is the IANA.
+
+2 - Operational Requirements
+
+ 2.1. Name server software. The zone master shall initially and
+ periodically choose a name server package to run on all of the zone's
+ servers. It is expected that the BIND server will be used, at least
+ initially, and that new versions or other servers will be specified
+ from time to time.
+
+ Rationale: This requirement is based on the wide and free
+ availability of BIND's source code, and the active
+ analysis and development it constantly receives from
+ several members of the IETF.
+
+ Name server software upgrades will be specified and scheduled by the
+ zone master, and must occur on all of a zone's servers within a
+ specified 96 hour window.
+
+ Rationale: In some cases it has proven necessary to "cold start" a
+ zone's servers in order to clear out oscillating bad
+ data. By forcing all software upgrades to happen at
+ about the same time, it will be possible to coordinate
+ a software change with a zone content change.
+
+
+
+
+
+
+Manning & Vixie Informational [Page 2]
+
+RFC 2010 DNSSVR Criteria October 1996
+
+
+ 2.2. UDP checksums. UDP checksums must be generated when sending
+ datagrams, and verified when receiving them.
+
+ Rationale: Some vendors turn off UDP checksums for performance
+ reasons, citing the presence of MAC-level frame checks
+ (CRC, for example) as "strong enough." This has been
+ a disaster in actual practice.
+
+ 2.3. Dedicated host. A name server host should have no other
+ function, and no login accounts other than for system or network
+ administrators. No other network protocols should be served by a
+ name server host (e.g., SMTP, NNTP, FTP, et al). If login is
+ permitted from other than the system console, then the login service
+ must be by encrypted channel (e.g., Kerberized and encrypted
+ rlogin/telnet, the secure shell (SSH), or an equivilent).
+
+ Rationale: Each additional service performed by a host makes it
+ less reliable and potentially less secure, as well as
+ complicating fault isolation procedures. While name
+ service does not consume very much in the way of system
+ resources, it is thought best that a host do a few
+ things well rather than many things poorly.
+
+ 2.4. Clock synchronization. A name server host should synchronize
+ its clock using the NTP protocol (currnet version) with
+ authentication. At least two NTP servers should be used. As an
+ exception to section 2.3 above, a name server host can be an NTP
+ server as well.
+
+ Rationale: For distributed fault isolation reasons, synchronized
+ time stamps in system event logs are quite helpful.
+ NTP is easily spoofed by UDP blast attacks, thus the
+ requirement for authentication between the name server
+ host and its NTP servers. A name server host is
+ allowed to be an NTP server because it has been
+ observed that a single host running both name service
+ and stratum 1 NTP is still quite reliable and secure.
+
+ 2.5. Network interfaces. Name servers must send UDP responses with
+ an IP source address (and UDP source port number) equal to the IP
+ destination address (and UDP destination port number) of the request.
+ Also, a name server might have multiple real interfaces, but only one
+ will be advertised in the zone's NS RRset and associated glue A RRs.
+ The advertised address should be that of the "best" interface on the
+ host, in terms of network performance and reliability to the largest
+ number of destinations.
+
+
+
+
+
+Manning & Vixie Informational [Page 3]
+
+RFC 2010 DNSSVR Criteria October 1996
+
+
+ Rationale: While not required by [RFC1035], many extant DNS
+ implementations require the source address and port of
+ a reply to match the destination address and port to
+ which the request was sent. The number of advertised
+ addresses is limited to one (1) so that DNS delegation
+ responses containing this name server can be as short
+ as possible.
+
+ 2.6. Physical environment. A name server host must be located in a
+ secure space such as a locked computer room or a data center with
+ restricted access. The power supply should be redundant, using
+ batteries, generators or some other means to protect against utility
+ power failures. Network connectivity should be redundant, so that a
+ single wide area line failure cannot completely isolate the name
+ server host from the rest of the network.
+
+ 2.7. Network security. The system and network administrators should
+ educate themselves about potential threats, and stay current on CERT
+ bulletins regarding network breakins. The system staff should
+ periodically audit the name server host's activity logs and be able
+ to detect breakins during or after the fact.
+
+ 2.8. Host performance. As of the time of this writing, a name server
+ must be able to answer 1,200 UDP transactions per second with less
+ than 5 milliseconds of average latency. Because the network is still
+ growing at a high rate, the ability to grow to 2,000 transactions per
+ second and still support a 5 millisecond latency is highly desirable.
+ Note that this requirement affects both the host and the network
+ infrastructure to which that host is attached.
+
+ 2.9. Response time. The administrators responsible for a name server
+ will respond to e-mail trouble reports within 24 hours. Personnel
+ issues such as vacations and illness will cause responsibilities to
+ be delegated and/or reassigned rather than ignored. After hours
+ telephone numbers must be made available to the zone master for
+ nonpublished use in emergencies. An escalation contact name, e-mail
+ address, and telephone number will also be made available to the zone
+ master in the event of nonresponse through the normal channel.
+
+ 2.10. Zone transfer access control. The name server shall be
+ configured so that outbound zone transfers are permitted only to
+ destinations on the server's local networks, and to whichever
+ networks the zone master designates for remote debugging purposes.
+
+
+
+
+
+
+
+
+Manning & Vixie Informational [Page 4]
+
+RFC 2010 DNSSVR Criteria October 1996
+
+
+ Rationale: Zone transfers can present a significant load on a name
+ server, especially if several transfers are started
+ simultaneously against the same server. There is no
+ operational reason to allow anyone outside the name
+ server's and zone's administrators to transfer the
+ entire zone.
+
+ 2.11. Zone transfer protocol. DNS AXFR shall be used in preference
+ to FTP or any other non-DNS transfer protocol. DNS NOTIFY (see
+ [NOTIFY]) and DNS IXFR (see [IXFR]) shall be supported and enabled
+ when available.
+
+ Rationale: Historically, the common implementations of DNS
+ (a.k.a., BIND) did not support zone transfer of the
+ root (".") zone due to programming errors. Thus, FTP
+ was used. In the future, DNS implementations which do
+ not support zone transfer of all zones will not be
+ considered suitable for use as root name servers. The
+ benefits of [IXFR] and [NOTIFY] should be obvious.
+
+ 2.12. Recursion shall be disabled for queries.
+
+ Rationale: Recursion is a major source of cache pollution, and can
+ be a major drain on name server performance. An
+ organization's recursive DNS needs should be served by
+ some other host than its root name server(s). An
+ exception is made for missing glue since it's possible
+ that glue needed for some delegations will not be
+ within or beneath any zone for which the server is
+ authoritative. Such glue must be fetched via
+ recursive lookups to other servers.
+
+ 2.13. Outages shall be reported. All outages, scheduled or not,
+ shall be reported to the zone master via e-mail. If an outage is
+ unscheduled or if an outage is scheduled less than 24 hours in
+ advance, then an additional notification of the zone master shall be
+ made via telephone. Extended or repeated outages may beget special
+ handling by the zone master.
+
+ 2.14. Inverse name lookups. The PTR RR associated with a server's
+ primary interface address (that is, the address shown in in the
+ zone's delegation) shall have its target specified by the zone
+ master.
+
+
+
+
+
+
+
+
+Manning & Vixie Informational [Page 5]
+
+RFC 2010 DNSSVR Criteria October 1996
+
+
+ Rationale: Since each organization has local control of their
+ network's PTR RRs, and since it is necessary for the
+ correct operation of some software that the forward and
+ reverse lookups have symmetrical results, it is left
+ up to the zone master to select the name for each
+ authority server's primary address.
+
+3 - Possible Selection Criteria
+
+ 3.1. Host population. A server's location on the network should be
+ such that it has a low IP hop count to a high number of end hosts.
+ Duplication of service should be avoided, such that any given set of
+ end hosts needs to have a low IP hop count to at most one authority
+ server for any given zone.
+
+ 3.2. Infrastructure diversity. A server's location on the network
+ should be such that most failures capable of isolating it from a
+ large number of end hosts are diverse from the failures capable of
+ similarly isolating other authority servers for the same zone(s).
+
+4 - Security Considerations
+
+ See section 2.7.
+
+5 - References
+
+ [RFC1035]
+ Mockapetris, P., "Domain Names - Implementation and Specification",
+ STD 13, RFC 1035, USC/Information Sciences Institute, November
+ 1987.
+
+ [Postel96]
+ Postel, J., "New Registries and the Delegation of International Top
+ Level Domains", Work in Progress.
+
+ [IXFR]
+ Ohta, M., "Incremental Zone Transfer", RFC 1995, August 1996.
+
+ [NOTIFY]
+ Vixie, P., "A Mechanism for Prompt Notification of Zone Changes",
+ RFC 1996, August 1996.
+
+6 - Acknowledgements
+
+ Constructive comments have been received from: Jon Postel, Michael
+ Patton, Andrew Partan, Michael Dillon, Don Mitchell Steven Doyle,
+ Owen DeLong and other members of the internet community.
+
+
+
+
+Manning & Vixie Informational [Page 6]
+
+RFC 2010 DNSSVR Criteria October 1996
+
+
+7 - Authors' Addresses
+
+ Bill Manning
+ USC/ISI
+ 4676 Admiralty Way
+ Marina del Rey, CA 90292
+
+ Phone: +1 310 822 1511
+ EMail: bmanning@isi.edu
+
+
+ Paul Vixie
+ Internet Software Consortium
+ Star Route Box 159A
+ Woodside, CA 94062
+
+ Phone: +1 415 747 0204
+ EMail: paul@vix.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Manning & Vixie Informational [Page 7]
+
diff --git a/Documentation/en/rfc/rfc2047.txt b/Documentation/en/rfc/rfc2047.txt
new file mode 100644
index 00000000..ff9a744b
--- /dev/null
+++ b/Documentation/en/rfc/rfc2047.txt
@@ -0,0 +1,843 @@
+
+
+
+
+
+
+Network Working Group K. Moore
+Request for Comments: 2047 University of Tennessee
+Obsoletes: 1521, 1522, 1590 November 1996
+Category: Standards Track
+
+
+ MIME (Multipurpose Internet Mail Extensions) Part Three:
+ Message Header Extensions for Non-ASCII Text
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ STD 11, RFC 822, defines a message representation protocol specifying
+ considerable detail about US-ASCII message headers, and leaves the
+ message content, or message body, as flat US-ASCII text. This set of
+ documents, collectively called the Multipurpose Internet Mail
+ Extensions, or MIME, redefines the format of messages to allow for
+
+ (1) textual message bodies in character sets other than US-ASCII,
+
+ (2) an extensible set of different formats for non-textual message
+ bodies,
+
+ (3) multi-part message bodies, and
+
+ (4) textual header information in character sets other than US-ASCII.
+
+ These documents are based on earlier work documented in RFC 934, STD
+ 11, and RFC 1049, but extends and revises them. Because RFC 822 said
+ so little about message bodies, these documents are largely
+ orthogonal to (rather than a revision of) RFC 822.
+
+ This particular document is the third document in the series. It
+ describes extensions to RFC 822 to allow non-US-ASCII text data in
+ Internet mail header fields.
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 1]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ Other documents in this series include:
+
+ + RFC 2045, which specifies the various headers used to describe
+ the structure of MIME messages.
+
+ + RFC 2046, which defines the general structure of the MIME media
+ typing system and defines an initial set of media types,
+
+ + RFC 2048, which specifies various IANA registration procedures
+ for MIME-related facilities, and
+
+ + RFC 2049, which describes MIME conformance criteria and
+ provides some illustrative examples of MIME message formats,
+ acknowledgements, and the bibliography.
+
+ These documents are revisions of RFCs 1521, 1522, and 1590, which
+ themselves were revisions of RFCs 1341 and 1342. An appendix in RFC
+ 2049 describes differences and changes from previous versions.
+
+1. Introduction
+
+ RFC 2045 describes a mechanism for denoting textual body parts which
+ are coded in various character sets, as well as methods for encoding
+ such body parts as sequences of printable US-ASCII characters. This
+ memo describes similar techniques to allow the encoding of non-ASCII
+ text in various portions of a RFC 822 [2] message header, in a manner
+ which is unlikely to confuse existing message handling software.
+
+ Like the encoding techniques described in RFC 2045, the techniques
+ outlined here were designed to allow the use of non-ASCII characters
+ in message headers in a way which is unlikely to be disturbed by the
+ quirks of existing Internet mail handling programs. In particular,
+ some mail relaying programs are known to (a) delete some message
+ header fields while retaining others, (b) rearrange the order of
+ addresses in To or Cc fields, (c) rearrange the (vertical) order of
+ header fields, and/or (d) "wrap" message headers at different places
+ than those in the original message. In addition, some mail reading
+ programs are known to have difficulty correctly parsing message
+ headers which, while legal according to RFC 822, make use of
+ backslash-quoting to "hide" special characters such as "<", ",", or
+ ":", or which exploit other infrequently-used features of that
+ specification.
+
+ While it is unfortunate that these programs do not correctly
+ interpret RFC 822 headers, to "break" these programs would cause
+ severe operational problems for the Internet mail system. The
+ extensions described in this memo therefore do not rely on little-
+ used features of RFC 822.
+
+
+
+Moore Standards Track [Page 2]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ Instead, certain sequences of "ordinary" printable ASCII characters
+ (known as "encoded-words") are reserved for use as encoded data. The
+ syntax of encoded-words is such that they are unlikely to
+ "accidentally" appear as normal text in message headers.
+ Furthermore, the characters used in encoded-words are restricted to
+ those which do not have special meanings in the context in which the
+ encoded-word appears.
+
+ Generally, an "encoded-word" is a sequence of printable ASCII
+ characters that begins with "=?", ends with "?=", and has two "?"s in
+ between. It specifies a character set and an encoding method, and
+ also includes the original text encoded as graphic ASCII characters,
+ according to the rules for that encoding method.
+
+ A mail composer that implements this specification will provide a
+ means of inputting non-ASCII text in header fields, but will
+ translate these fields (or appropriate portions of these fields) into
+ encoded-words before inserting them into the message header.
+
+ A mail reader that implements this specification will recognize
+ encoded-words when they appear in certain portions of the message
+ header. Instead of displaying the encoded-word "as is", it will
+ reverse the encoding and display the original text in the designated
+ character set.
+
+NOTES
+
+ This memo relies heavily on notation and terms defined RFC 822 and
+ RFC 2045. In particular, the syntax for the ABNF used in this memo
+ is defined in RFC 822, as well as many of the terminal or nonterminal
+ symbols from RFC 822 are used in the grammar for the header
+ extensions defined here. Among the symbols defined in RFC 822 and
+ referenced in this memo are: 'addr-spec', 'atom', 'CHAR', 'comment',
+ 'CTLs', 'ctext', 'linear-white-space', 'phrase', 'quoted-pair'.
+ 'quoted-string', 'SPACE', and 'word'. Successful implementation of
+ this protocol extension requires careful attention to the RFC 822
+ definitions of these terms.
+
+ When the term "ASCII" appears in this memo, it refers to the "7-Bit
+ American Standard Code for Information Interchange", ANSI X3.4-1986.
+ The MIME charset name for this character set is "US-ASCII". When not
+ specifically referring to the MIME charset name, this document uses
+ the term "ASCII", both for brevity and for consistency with RFC 822.
+ However, implementors are warned that the character set name must be
+ spelled "US-ASCII" in MIME message and body part headers.
+
+
+
+
+
+
+Moore Standards Track [Page 3]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ This memo specifies a protocol for the representation of non-ASCII
+ text in message headers. It specifically DOES NOT define any
+ translation between "8-bit headers" and pure ASCII headers, nor is
+ any such translation assumed to be possible.
+
+2. Syntax of encoded-words
+
+ An 'encoded-word' is defined by the following ABNF grammar. The
+ notation of RFC 822 is used, with the exception that white space
+ characters MUST NOT appear between components of an 'encoded-word'.
+
+ encoded-word = "=?" charset "?" encoding "?" encoded-text "?="
+
+ charset = token ; see section 3
+
+ encoding = token ; see section 4
+
+ token = 1*<Any CHAR except SPACE, CTLs, and especials>
+
+ especials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "
+ <"> / "/" / "[" / "]" / "?" / "." / "="
+
+ encoded-text = 1*<Any printable ASCII character other than "?"
+ or SPACE>
+ ; (but see "Use of encoded-words in message
+ ; headers", section 5)
+
+ Both 'encoding' and 'charset' names are case-independent. Thus the
+ charset name "ISO-8859-1" is equivalent to "iso-8859-1", and the
+ encoding named "Q" may be spelled either "Q" or "q".
+
+ An 'encoded-word' may not be more than 75 characters long, including
+ 'charset', 'encoding', 'encoded-text', and delimiters. If it is
+ desirable to encode more text than will fit in an 'encoded-word' of
+ 75 characters, multiple 'encoded-word's (separated by CRLF SPACE) may
+ be used.
+
+ While there is no limit to the length of a multiple-line header
+ field, each line of a header field that contains one or more
+ 'encoded-word's is limited to 76 characters.
+
+ The length restrictions are included both to ease interoperability
+ through internetwork mail gateways, and to impose a limit on the
+ amount of lookahead a header parser must employ (while looking for a
+ final ?= delimiter) before it can decide whether a token is an
+ "encoded-word" or something else.
+
+
+
+
+
+Moore Standards Track [Page 4]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ IMPORTANT: 'encoded-word's are designed to be recognized as 'atom's
+ by an RFC 822 parser. As a consequence, unencoded white space
+ characters (such as SPACE and HTAB) are FORBIDDEN within an
+ 'encoded-word'. For example, the character sequence
+
+ =?iso-8859-1?q?this is some text?=
+
+ would be parsed as four 'atom's, rather than as a single 'atom' (by
+ an RFC 822 parser) or 'encoded-word' (by a parser which understands
+ 'encoded-words'). The correct way to encode the string "this is some
+ text" is to encode the SPACE characters as well, e.g.
+
+ =?iso-8859-1?q?this=20is=20some=20text?=
+
+ The characters which may appear in 'encoded-text' are further
+ restricted by the rules in section 5.
+
+3. Character sets
+
+ The 'charset' portion of an 'encoded-word' specifies the character
+ set associated with the unencoded text. A 'charset' can be any of
+ the character set names allowed in an MIME "charset" parameter of a
+ "text/plain" body part, or any character set name registered with
+ IANA for use with the MIME text/plain content-type.
+
+ Some character sets use code-switching techniques to switch between
+ "ASCII mode" and other modes. If unencoded text in an 'encoded-word'
+ contains a sequence which causes the charset interpreter to switch
+ out of ASCII mode, it MUST contain additional control codes such that
+ ASCII mode is again selected at the end of the 'encoded-word'. (This
+ rule applies separately to each 'encoded-word', including adjacent
+ 'encoded-word's within a single header field.)
+
+ When there is a possibility of using more than one character set to
+ represent the text in an 'encoded-word', and in the absence of
+ private agreements between sender and recipients of a message, it is
+ recommended that members of the ISO-8859-* series be used in
+ preference to other character sets.
+
+4. Encodings
+
+ Initially, the legal values for "encoding" are "Q" and "B". These
+ encodings are described below. The "Q" encoding is recommended for
+ use when most of the characters to be encoded are in the ASCII
+ character set; otherwise, the "B" encoding should be used.
+ Nevertheless, a mail reader which claims to recognize 'encoded-word's
+ MUST be able to accept either encoding for any character set which it
+ supports.
+
+
+
+Moore Standards Track [Page 5]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ Only a subset of the printable ASCII characters may be used in
+ 'encoded-text'. Space and tab characters are not allowed, so that
+ the beginning and end of an 'encoded-word' are obvious. The "?"
+ character is used within an 'encoded-word' to separate the various
+ portions of the 'encoded-word' from one another, and thus cannot
+ appear in the 'encoded-text' portion. Other characters are also
+ illegal in certain contexts. For example, an 'encoded-word' in a
+ 'phrase' preceding an address in a From header field may not contain
+ any of the "specials" defined in RFC 822. Finally, certain other
+ characters are disallowed in some contexts, to ensure reliability for
+ messages that pass through internetwork mail gateways.
+
+ The "B" encoding automatically meets these requirements. The "Q"
+ encoding allows a wide range of printable characters to be used in
+ non-critical locations in the message header (e.g., Subject), with
+ fewer characters available for use in other locations.
+
+4.1. The "B" encoding
+
+ The "B" encoding is identical to the "BASE64" encoding defined by RFC
+ 2045.
+
+4.2. The "Q" encoding
+
+ The "Q" encoding is similar to the "Quoted-Printable" content-
+ transfer-encoding defined in RFC 2045. It is designed to allow text
+ containing mostly ASCII characters to be decipherable on an ASCII
+ terminal without decoding.
+
+ (1) Any 8-bit value may be represented by a "=" followed by two
+ hexadecimal digits. For example, if the character set in use
+ were ISO-8859-1, the "=" character would thus be encoded as
+ "=3D", and a SPACE by "=20". (Upper case should be used for
+ hexadecimal digits "A" through "F".)
+
+ (2) The 8-bit hexadecimal value 20 (e.g., ISO-8859-1 SPACE) may be
+ represented as "_" (underscore, ASCII 95.). (This character may
+ not pass through some internetwork mail gateways, but its use
+ will greatly enhance readability of "Q" encoded data with mail
+ readers that do not support this encoding.) Note that the "_"
+ always represents hexadecimal 20, even if the SPACE character
+ occupies a different code position in the character set in use.
+
+ (3) 8-bit values which correspond to printable ASCII characters other
+ than "=", "?", and "_" (underscore), MAY be represented as those
+ characters. (But see section 5 for restrictions.) In
+ particular, SPACE and TAB MUST NOT be represented as themselves
+ within encoded words.
+
+
+
+Moore Standards Track [Page 6]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+5. Use of encoded-words in message headers
+
+ An 'encoded-word' may appear in a message header or body part header
+ according to the following rules:
+
+(1) An 'encoded-word' may replace a 'text' token (as defined by RFC 822)
+ in any Subject or Comments header field, any extension message
+ header field, or any MIME body part field for which the field body
+ is defined as '*text'. An 'encoded-word' may also appear in any
+ user-defined ("X-") message or body part header field.
+
+ Ordinary ASCII text and 'encoded-word's may appear together in the
+ same header field. However, an 'encoded-word' that appears in a
+ header field defined as '*text' MUST be separated from any adjacent
+ 'encoded-word' or 'text' by 'linear-white-space'.
+
+(2) An 'encoded-word' may appear within a 'comment' delimited by "(" and
+ ")", i.e., wherever a 'ctext' is allowed. More precisely, the RFC
+ 822 ABNF definition for 'comment' is amended as follows:
+
+ comment = "(" *(ctext / quoted-pair / comment / encoded-word) ")"
+
+ A "Q"-encoded 'encoded-word' which appears in a 'comment' MUST NOT
+ contain the characters "(", ")" or "
+ 'encoded-word' that appears in a 'comment' MUST be separated from
+ any adjacent 'encoded-word' or 'ctext' by 'linear-white-space'.
+
+ It is important to note that 'comment's are only recognized inside
+ "structured" field bodies. In fields whose bodies are defined as
+ '*text', "(" and ")" are treated as ordinary characters rather than
+ comment delimiters, and rule (1) of this section applies. (See RFC
+ 822, sections 3.1.2 and 3.1.3)
+
+(3) As a replacement for a 'word' entity within a 'phrase', for example,
+ one that precedes an address in a From, To, or Cc header. The ABNF
+ definition for 'phrase' from RFC 822 thus becomes:
+
+ phrase = 1*( encoded-word / word )
+
+ In this case the set of characters that may be used in a "Q"-encoded
+ 'encoded-word' is restricted to: <upper and lower case ASCII
+ letters, decimal digits, "!", "*", "+", "-", "/", "=", and "_"
+ (underscore, ASCII 95.)>. An 'encoded-word' that appears within a
+ 'phrase' MUST be separated from any adjacent 'word', 'text' or
+ 'special' by 'linear-white-space'.
+
+
+
+
+
+
+Moore Standards Track [Page 7]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ These are the ONLY locations where an 'encoded-word' may appear. In
+ particular:
+
+ + An 'encoded-word' MUST NOT appear in any portion of an 'addr-spec'.
+
+ + An 'encoded-word' MUST NOT appear within a 'quoted-string'.
+
+ + An 'encoded-word' MUST NOT be used in a Received header field.
+
+ + An 'encoded-word' MUST NOT be used in parameter of a MIME
+ Content-Type or Content-Disposition field, or in any structured
+ field body except within a 'comment' or 'phrase'.
+
+ The 'encoded-text' in an 'encoded-word' must be self-contained;
+ 'encoded-text' MUST NOT be continued from one 'encoded-word' to
+ another. This implies that the 'encoded-text' portion of a "B"
+ 'encoded-word' will be a multiple of 4 characters long; for a "Q"
+ 'encoded-word', any "=" character that appears in the 'encoded-text'
+ portion will be followed by two hexadecimal characters.
+
+ Each 'encoded-word' MUST encode an integral number of octets. The
+ 'encoded-text' in each 'encoded-word' must be well-formed according
+ to the encoding specified; the 'encoded-text' may not be continued in
+ the next 'encoded-word'. (For example, "=?charset?Q?=?=
+ =?charset?Q?AB?=" would be illegal, because the two hex digits "AB"
+ must follow the "=" in the same 'encoded-word'.)
+
+ Each 'encoded-word' MUST represent an integral number of characters.
+ A multi-octet character may not be split across adjacent 'encoded-
+ word's.
+
+ Only printable and white space character data should be encoded using
+ this scheme. However, since these encoding schemes allow the
+ encoding of arbitrary octet values, mail readers that implement this
+ decoding should also ensure that display of the decoded data on the
+ recipient's terminal will not cause unwanted side-effects.
+
+ Use of these methods to encode non-textual data (e.g., pictures or
+ sounds) is not defined by this memo. Use of 'encoded-word's to
+ represent strings of purely ASCII characters is allowed, but
+ discouraged. In rare cases it may be necessary to encode ordinary
+ text that looks like an 'encoded-word'.
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 8]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+6. Support of 'encoded-word's by mail readers
+
+6.1. Recognition of 'encoded-word's in message headers
+
+ A mail reader must parse the message and body part headers according
+ to the rules in RFC 822 to correctly recognize 'encoded-word's.
+
+ 'encoded-word's are to be recognized as follows:
+
+ (1) Any message or body part header field defined as '*text', or any
+ user-defined header field, should be parsed as follows: Beginning
+ at the start of the field-body and immediately following each
+ occurrence of 'linear-white-space', each sequence of up to 75
+ printable characters (not containing any 'linear-white-space')
+ should be examined to see if it is an 'encoded-word' according to
+ the syntax rules in section 2. Any other sequence of printable
+ characters should be treated as ordinary ASCII text.
+
+ (2) Any header field not defined as '*text' should be parsed
+ according to the syntax rules for that header field. However,
+ any 'word' that appears within a 'phrase' should be treated as an
+ 'encoded-word' if it meets the syntax rules in section 2.
+ Otherwise it should be treated as an ordinary 'word'.
+
+ (3) Within a 'comment', any sequence of up to 75 printable characters
+ (not containing 'linear-white-space'), that meets the syntax
+ rules in section 2, should be treated as an 'encoded-word'.
+ Otherwise it should be treated as normal comment text.
+
+ (4) A MIME-Version header field is NOT required to be present for
+ 'encoded-word's to be interpreted according to this
+ specification. One reason for this is that the mail reader is
+ not expected to parse the entire message header before displaying
+ lines that may contain 'encoded-word's.
+
+6.2. Display of 'encoded-word's
+
+ Any 'encoded-word's so recognized are decoded, and if possible, the
+ resulting unencoded text is displayed in the original character set.
+
+ NOTE: Decoding and display of encoded-words occurs *after* a
+ structured field body is parsed into tokens. It is therefore
+ possible to hide 'special' characters in encoded-words which, when
+ displayed, will be indistinguishable from 'special' characters in the
+ surrounding text. For this and other reasons, it is NOT generally
+ possible to translate a message header containing 'encoded-word's to
+ an unencoded form which can be parsed by an RFC 822 mail reader.
+
+
+
+
+Moore Standards Track [Page 9]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ When displaying a particular header field that contains multiple
+ 'encoded-word's, any 'linear-white-space' that separates a pair of
+ adjacent 'encoded-word's is ignored. (This is to allow the use of
+ multiple 'encoded-word's to represent long strings of unencoded text,
+ without having to separate 'encoded-word's where spaces occur in the
+ unencoded text.)
+
+ In the event other encodings are defined in the future, and the mail
+ reader does not support the encoding used, it may either (a) display
+ the 'encoded-word' as ordinary text, or (b) substitute an appropriate
+ message indicating that the text could not be decoded.
+
+ If the mail reader does not support the character set used, it may
+ (a) display the 'encoded-word' as ordinary text (i.e., as it appears
+ in the header), (b) make a "best effort" to display using such
+ characters as are available, or (c) substitute an appropriate message
+ indicating that the decoded text could not be displayed.
+
+ If the character set being used employs code-switching techniques,
+ display of the encoded text implicitly begins in "ASCII mode". In
+ addition, the mail reader must ensure that the output device is once
+ again in "ASCII mode" after the 'encoded-word' is displayed.
+
+6.3. Mail reader handling of incorrectly formed 'encoded-word's
+
+ It is possible that an 'encoded-word' that is legal according to the
+ syntax defined in section 2, is incorrectly formed according to the
+ rules for the encoding being used. For example:
+
+ (1) An 'encoded-word' which contains characters which are not legal
+ for a particular encoding (for example, a "-" in the "B"
+ encoding, or a SPACE or HTAB in either the "B" or "Q" encoding),
+ is incorrectly formed.
+
+ (2) Any 'encoded-word' which encodes a non-integral number of
+ characters or octets is incorrectly formed.
+
+ A mail reader need not attempt to display the text associated with an
+ 'encoded-word' that is incorrectly formed. However, a mail reader
+ MUST NOT prevent the display or handling of a message because an
+ 'encoded-word' is incorrectly formed.
+
+7. Conformance
+
+ A mail composing program claiming compliance with this specification
+ MUST ensure that any string of non-white-space printable ASCII
+ characters within a '*text' or '*ctext' that begins with "=?" and
+ ends with "?=" be a valid 'encoded-word'. ("begins" means: at the
+
+
+
+Moore Standards Track [Page 10]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ start of the field-body, immediately following 'linear-white-space',
+ or immediately following a "(" for an 'encoded-word' within '*ctext';
+ "ends" means: at the end of the field-body, immediately preceding
+ 'linear-white-space', or immediately preceding a ")" for an
+ 'encoded-word' within '*ctext'.) In addition, any 'word' within a
+ 'phrase' that begins with "=?" and ends with "?=" must be a valid
+ 'encoded-word'.
+
+ A mail reading program claiming compliance with this specification
+ must be able to distinguish 'encoded-word's from 'text', 'ctext', or
+ 'word's, according to the rules in section 6, anytime they appear in
+ appropriate places in message headers. It must support both the "B"
+ and "Q" encodings for any character set which it supports. The
+ program must be able to display the unencoded text if the character
+ set is "US-ASCII". For the ISO-8859-* character sets, the mail
+ reading program must at least be able to display the characters which
+ are also in the ASCII set.
+
+8. Examples
+
+ The following are examples of message headers containing 'encoded-
+ word's:
+
+ From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>
+ To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>
+ CC: =?ISO-8859-1?Q?Andr=E9?= Pirard <PIRARD@vm1.ulg.ac.be>
+ Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=
+ =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=
+
+ Note: In the first 'encoded-word' of the Subject field above, the
+ last "=" at the end of the 'encoded-text' is necessary because each
+ 'encoded-word' must be self-contained (the "=" character completes a
+ group of 4 base64 characters representing 2 octets). An additional
+ octet could have been encoded in the first 'encoded-word' (so that
+ the encoded-word would contain an exact multiple of 3 encoded
+ octets), except that the second 'encoded-word' uses a different
+ 'charset' than the first one.
+
+ From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= <ojarnef@admin.kth.se>
+ To: ietf-822@dimacs.rutgers.edu, ojarnef@admin.kth.se
+ Subject: Time for ISO 10646?
+
+ To: Dave Crocker <dcrocker@mordor.stanford.edu>
+ Cc: ietf-822@dimacs.rutgers.edu, paf@comsol.se
+ From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= <paf@nada.kth.se>
+ Subject: Re: RFC-HDR care and feeding
+
+
+
+
+
+Moore Standards Track [Page 11]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
+ (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)
+ To: Greg Vaudreuil <gvaudre@NRI.Reston.VA.US>, Ned Freed
+ <ned@innosoft.com>, Keith Moore <moore@cs.utk.edu>
+ Subject: Test of new header generator
+ MIME-Version: 1.0
+ Content-type: text/plain; charset=ISO-8859-1
+
+ The following examples illustrate how text containing 'encoded-word's
+ which appear in a structured field body. The rules are slightly
+ different for fields defined as '*text' because "(" and ")" are not
+ recognized as 'comment' delimiters. [Section 5, paragraph (1)].
+
+ In each of the following examples, if the same sequence were to occur
+ in a '*text' field, the "displayed as" form would NOT be treated as
+ encoded words, but be identical to the "encoded form". This is
+ because each of the encoded-words in the following examples is
+ adjacent to a "(" or ")" character.
+
+ encoded form displayed as
+ ---------------------------------------------------------------------
+ (=?ISO-8859-1?Q?a?=) (a)
+
+ (=?ISO-8859-1?Q?a?= b) (a b)
+
+ Within a 'comment', white space MUST appear between an
+ 'encoded-word' and surrounding text. [Section 5,
+ paragraph (2)]. However, white space is not needed between
+ the initial "(" that begins the 'comment', and the
+ 'encoded-word'.
+
+
+ (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=) (ab)
+
+ White space between adjacent 'encoded-word's is not
+ displayed.
+
+ (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=) (ab)
+
+ Even multiple SPACEs between 'encoded-word's are ignored
+ for the purpose of display.
+
+ (=?ISO-8859-1?Q?a?= (ab)
+ =?ISO-8859-1?Q?b?=)
+
+ Any amount of linear-space-white between 'encoded-word's,
+ even if it includes a CRLF followed by one or more SPACEs,
+ is ignored for the purposes of display.
+
+
+
+Moore Standards Track [Page 12]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+ (=?ISO-8859-1?Q?a_b?=) (a b)
+
+ In order to cause a SPACE to be displayed within a portion
+ of encoded text, the SPACE MUST be encoded as part of the
+ 'encoded-word'.
+
+ (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=) (a b)
+
+ In order to cause a SPACE to be displayed between two strings
+ of encoded text, the SPACE MAY be encoded as part of one of
+ the 'encoded-word's.
+
+9. References
+
+ [RFC 822] Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", STD 11, RFC 822, UDEL, August 1982.
+
+ [RFC 2049] Borenstein, N., and N. Freed, "Multipurpose Internet Mail
+ Extensions (MIME) Part Five: Conformance Criteria and Examples",
+ RFC 2049, November 1996.
+
+ [RFC 2045] Borenstein, N., and N. Freed, "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message Bodies",
+ RFC 2045, November 1996.
+
+ [RFC 2046] Borenstein N., and N. Freed, "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", RFC 2046,
+ November 1996.
+
+ [RFC 2048] Freed, N., Klensin, J., and J. Postel, "Multipurpose
+ Internet Mail Extensions (MIME) Part Four: Registration
+ Procedures", RFC 2048, November 1996.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 13]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+10. Security Considerations
+
+ Security issues are not discussed in this memo.
+
+11. Acknowledgements
+
+ The author wishes to thank Nathaniel Borenstein, Issac Chan, Lutz
+ Donnerhacke, Paul Eggert, Ned Freed, Andreas M. Kirchwitz, Olle
+ Jarnefors, Mike Rosin, Yutaka Sato, Bart Schaefer, and Kazuhiko
+ Yamamoto, for their helpful advice, insightful comments, and
+ illuminating questions in response to earlier versions of this
+ specification.
+
+12. Author's Address
+
+ Keith Moore
+ University of Tennessee
+ 107 Ayres Hall
+ Knoxville TN 37996-1301
+
+ EMail: moore@cs.utk.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Moore Standards Track [Page 14]
+
+RFC 2047 Message Header Extensions November 1996
+
+
+Appendix - changes since RFC 1522 (in no particular order)
+
+ + explicitly state that the MIME-Version is not requried to use
+ 'encoded-word's.
+
+ + add explicit note that SPACEs and TABs are not allowed within
+ 'encoded-word's, explaining that an 'encoded-word' must look like an
+ 'atom' to an RFC822 parser.values, to be precise).
+
+ + add examples from Olle Jarnefors (thanks!) which illustrate how
+ encoded-words with adjacent linear-white-space are displayed.
+
+ + explicitly list terms defined in RFC822 and referenced in this memo
+
+ + fix transcription typos that caused one or two lines and a couple of
+ characters to disappear in the resulting text, due to nroff quirks.
+
+ + clarify that encoded-words are allowed in '*text' fields in both
+ RFC822 headers and MIME body part headers, but NOT as parameter
+ values.
+
+ + clarify the requirement to switch back to ASCII within the encoded
+ portion of an 'encoded-word', for any charset that uses code switching
+ sequences.
+
+ + add a note about 'encoded-word's being delimited by "(" and ")"
+ within a comment, but not in a *text (how bizarre!).
+
+ + fix the Andre Pirard example to get rid of the trailing "_" after
+ the =E9. (no longer needed post-1342).
+
+ + clarification: an 'encoded-word' may appear immediately following
+ the initial "(" or immediately before the final ")" that delimits a
+ comment, not just adjacent to "(" and ")" *within* *ctext.
+
+ + add a note to explain that a "B" 'encoded-word' will always have a
+ multiple of 4 characters in the 'encoded-text' portion.
+
+ + add note about the "=" in the examples
+
+ + note that processing of 'encoded-word's occurs *after* parsing, and
+ some of the implications thereof.
+
+ + explicitly state that you can't expect to translate between
+ 1522 and either vanilla 822 or so-called "8-bit headers".
+
+ + explicitly state that 'encoded-word's are not valid within a
+ 'quoted-string'.
+
+
+
+Moore Standards Track [Page 15]
+
diff --git a/Documentation/en/rfc/rfc2048.txt b/Documentation/en/rfc/rfc2048.txt
new file mode 100644
index 00000000..a3b18b31
--- /dev/null
+++ b/Documentation/en/rfc/rfc2048.txt
@@ -0,0 +1,1180 @@
+
+
+
+
+
+
+Network Working Group N. Freed
+Request for Comments: 2048 Innosoft
+BCP: 13 J. Klensin
+Obsoletes: 1521, 1522, 1590 MCI
+Category: Best Current Practice J. Postel
+ ISI
+ November 1996
+
+
+ Multipurpose Internet Mail Extensions
+ (MIME) Part Four:
+ Registration Procedures
+
+Status of this Memo
+
+ This document specifies an Internet Best Current Practices for the
+ Internet Community, and requests discussion and suggestions for
+ improvements. Distribution of this memo is unlimited.
+
+Abstract
+
+ STD 11, RFC 822, defines a message representation protocol specifying
+ considerable detail about US-ASCII message headers, and leaves the
+ message content, or message body, as flat US-ASCII text. This set of
+ documents, collectively called the Multipurpose Internet Mail
+ Extensions, or MIME, redefines the format of messages to allow for
+
+ (1) textual message bodies in character sets other than
+ US-ASCII,
+
+ (2) an extensible set of different formats for non-textual
+ message bodies,
+
+ (3) multi-part message bodies, and
+
+ (4) textual header information in character sets other than
+ US-ASCII.
+
+ These documents are based on earlier work documented in RFC 934, STD
+ 11, and RFC 1049, but extends and revises them. Because RFC 822 said
+ so little about message bodies, these documents are largely
+ orthogonal to (rather than a revision of) RFC 822.
+
+
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 1]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ This fourth document, RFC 2048, specifies various IANA registration
+ procedures for the following MIME facilities:
+
+ (1) media types,
+
+ (2) external body access types,
+
+ (3) content-transfer-encodings.
+
+ Registration of character sets for use in MIME is covered elsewhere
+ and is no longer addressed by this document.
+
+ These documents are revisions of RFCs 1521 and 1522, which themselves
+ were revisions of RFCs 1341 and 1342. An appendix in RFC 2049
+ describes differences and changes from previous versions.
+
+Table of Contents
+
+ 1. Introduction ......................................... 3
+ 2. Media Type Registration .............................. 4
+ 2.1 Registration Trees and Subtype Names ................ 4
+ 2.1.1 IETF Tree ......................................... 4
+ 2.1.2 Vendor Tree ....................................... 4
+ 2.1.3 Personal or Vanity Tree ........................... 5
+ 2.1.4 Special `x.' Tree ................................. 5
+ 2.1.5 Additional Registration Trees ..................... 6
+ 2.2 Registration Requirements ........................... 6
+ 2.2.1 Functionality Requirement ......................... 6
+ 2.2.2 Naming Requirements ............................... 6
+ 2.2.3 Parameter Requirements ............................ 7
+ 2.2.4 Canonicalization and Format Requirements .......... 7
+ 2.2.5 Interchange Recommendations ....................... 8
+ 2.2.6 Security Requirements ............................. 8
+ 2.2.7 Usage and Implementation Non-requirements ......... 9
+ 2.2.8 Publication Requirements .......................... 10
+ 2.2.9 Additional Information ............................ 10
+ 2.3 Registration Procedure .............................. 11
+ 2.3.1 Present the Media Type to the Community for Review 11
+ 2.3.2 IESG Approval ..................................... 12
+ 2.3.3 IANA Registration ................................. 12
+ 2.4 Comments on Media Type Registrations ................ 12
+ 2.5 Location of Registered Media Type List .............. 12
+ 2.6 IANA Procedures for Registering Media Types ......... 12
+ 2.7 Change Control ...................................... 13
+ 2.8 Registration Template ............................... 14
+ 3. External Body Access Types ........................... 14
+ 3.1 Registration Requirements ........................... 15
+ 3.1.1 Naming Requirements ............................... 15
+
+
+
+Freed, et. al. Best Current Practice [Page 2]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ 3.1.2 Mechanism Specification Requirements .............. 15
+ 3.1.3 Publication Requirements .......................... 15
+ 3.1.4 Security Requirements ............................. 15
+ 3.2 Registration Procedure .............................. 15
+ 3.2.1 Present the Access Type to the Community .......... 16
+ 3.2.2 Access Type Reviewer .............................. 16
+ 3.2.3 IANA Registration ................................. 16
+ 3.3 Location of Registered Access Type List ............. 16
+ 3.4 IANA Procedures for Registering Access Types ........ 16
+ 4. Transfer Encodings ................................... 17
+ 4.1 Transfer Encoding Requirements ...................... 17
+ 4.1.1 Naming Requirements ............................... 17
+ 4.1.2 Algorithm Specification Requirements .............. 18
+ 4.1.3 Input Domain Requirements ......................... 18
+ 4.1.4 Output Range Requirements ......................... 18
+ 4.1.5 Data Integrity and Generality Requirements ........ 18
+ 4.1.6 New Functionality Requirements .................... 18
+ 4.2 Transfer Encoding Definition Procedure .............. 19
+ 4.3 IANA Procedures for Transfer Encoding Registration... 19
+ 4.4 Location of Registered Transfer Encodings List ...... 19
+ 5. Authors' Addresses ................................... 20
+ A. Grandfathered Media Types ............................ 21
+
+1. Introduction
+
+ Recent Internet protocols have been carefully designed to be easily
+ extensible in certain areas. In particular, MIME [RFC 2045] is an
+ open-ended framework and can accommodate additional object types,
+ character sets, and access methods without any changes to the basic
+ protocol. A registration process is needed, however, to ensure that
+ the set of such values is developed in an orderly, well-specified,
+ and public manner.
+
+ This document defines registration procedures which use the Internet
+ Assigned Numbers Authority (IANA) as a central registry for such
+ values.
+
+ Historical Note: The registration process for media types was
+ initially defined in the context of the asynchronous Internet mail
+ environment. In this mail environment there is a need to limit the
+ number of possible media types to increase the likelihood of
+ interoperability when the capabilities of the remote mail system are
+ not known. As media types are used in new environments, where the
+ proliferation of media types is not a hindrance to interoperability,
+ the original procedure was excessively restrictive and had to be
+ generalized.
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 3]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+2. Media Type Registration
+
+ Registration of a new media type or types starts with the
+ construction of a registration proposal. Registration may occur in
+ several different registration trees, which have different
+ requirements as discussed below. In general, the new registration
+ proposal is circulated and reviewed in a fashion appropriate to the
+ tree involved. The media type is then registered if the proposal is
+ acceptable. The following sections describe the requirements and
+ procedures used for each of the different registration trees.
+
+2.1. Registration Trees and Subtype Names
+
+ In order to increase the efficiency and flexibility of the
+ registration process, different structures of subtype names may be
+ registered to accomodate the different natural requirements for,
+ e.g., a subtype that will be recommended for wide support and
+ implementation by the Internet Community or a subtype that is used to
+ move files associated with proprietary software. The following
+ subsections define registration "trees", distinguished by the use of
+ faceted names (e.g., names of the form "tree.subtree...type"). Note
+ that some media types defined prior to this document do not conform
+ to the naming conventions described below. See Appendix A for a
+ discussion of them.
+
+2.1.1. IETF Tree
+
+ The IETF tree is intended for types of general interest to the
+ Internet Community. Registration in the IETF tree requires approval
+ by the IESG and publication of the media type registration as some
+ form of RFC.
+
+ Media types in the IETF tree are normally denoted by names that are
+ not explicitly faceted, i.e., do not contain period (".", full stop)
+ characters.
+
+ The "owner" of a media type registration in the IETF tree is assumed
+ to be the IETF itself. Modification or alteration of the
+ specification requires the same level of processing (e.g. standards
+ track) required for the initial registration.
+
+2.1.2. Vendor Tree
+
+ The vendor tree is used for media types associated with commercially
+ available products. "Vendor" or "producer" are construed as
+ equivalent and very broadly in this context.
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 4]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ A registration may be placed in the vendor tree by anyone who has
+ need to interchange files associated with the particular product.
+ However, the registration formally belongs to the vendor or
+ organization producing the software or file format. Changes to the
+ specification will be made at their request, as discussed in
+ subsequent sections.
+
+ Registrations in the vendor tree will be distinguished by the leading
+ facet "vnd.". That may be followed, at the discretion of the
+ registration, by either a media type name from a well-known producer
+ (e.g., "vnd.mudpie") or by an IANA-approved designation of the
+ producer's name which is then followed by a media type or product
+ designation (e.g., vnd.bigcompany.funnypictures).
+
+ While public exposure and review of media types to be registered in
+ the vendor tree is not required, using the ietf-types list for review
+ is strongly encouraged to improve the quality of those
+ specifications. Registrations in the vendor tree may be submitted
+ directly to the IANA.
+
+2.1.3. Personal or Vanity Tree
+
+ Registrations for media types created experimentally or as part of
+ products that are not distributed commercially may be registered in
+ the personal or vanity tree. The registrations are distinguished by
+ the leading facet "prs.".
+
+ The owner of "personal" registrations and associated specifications
+ is the person or entity making the registration, or one to whom
+ responsibility has been transferred as described below.
+
+ While public exposure and review of media types to be registered in
+ the personal tree is not required, using the ietf-types list for
+ review is strongly encouraged to improve the quality of those
+ specifications. Registrations in the personl tree may be submitted
+ directly to the IANA.
+
+2.1.4. Special `x.' Tree
+
+ For convenience and symmetry with this registration scheme, media
+ type names with "x." as the first facet may be used for the same
+ purposes for which names starting in "x-" are normally used. These
+ types are unregistered, experimental, and should be used only with
+ the active agreement of the parties exchanging them.
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 5]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ However, with the simplified registration procedures described above
+ for vendor and personal trees, it should rarely, if ever, be
+ necessary to use unregistered experimental types, and as such use of
+ both "x-" and "x." forms is discouraged.
+
+2.1.5. Additional Registration Trees
+
+ From time to time and as required by the community, the IANA may,
+ with the advice and consent of the IESG, create new top-level
+ registration trees. It is explicitly assumed that these trees may be
+ created for external registration and management by well-known
+ permanent bodies, such as scientific societies for media types
+ specific to the sciences they cover. In general, the quality of
+ review of specifications for one of these additional registration
+ trees is expected to be equivalent to that which IETF would give to
+ registrations in its own tree. Establishment of these new trees will
+ be announced through RFC publication approved by the IESG.
+
+2.2. Registration Requirements
+
+ Media type registration proposals are all expected to conform to
+ various requirements laid out in the following sections. Note that
+ requirement specifics sometimes vary depending on the registration
+ tree, again as detailed in the following sections.
+
+2.2.1. Functionality Requirement
+
+ Media types must function as an actual media format: Registration of
+ things that are better thought of as a transfer encoding, as a
+ character set, or as a collection of separate entities of another
+ type, is not allowed. For example, although applications exist to
+ decode the base64 transfer encoding [RFC 2045], base64 cannot be
+ registered as a media type.
+
+ This requirement applies regardless of the registration tree
+ involved.
+
+2.2.2. Naming Requirements
+
+ All registered media types must be assigned MIME type and subtype
+ names. The combination of these names then serves to uniquely
+ identify the media type and the format of the subtype name identifies
+ the registration tree.
+
+ The choice of top-level type name must take the nature of media type
+ involved into account. For example, media normally used for
+ representing still images should be a subtype of the image content
+ type, whereas media capable of representing audio information belongs
+
+
+
+Freed, et. al. Best Current Practice [Page 6]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ under the audio content type. See RFC 2046 for additional information
+ on the basic set of top-level types and their characteristics.
+
+ New subtypes of top-level types must conform to the restrictions of
+ the top-level type, if any. For example, all subtypes of the
+ multipart content type must use the same encapsulation syntax.
+
+ In some cases a new media type may not "fit" under any currently
+ defined top-level content type. Such cases are expected to be quite
+ rare. However, if such a case arises a new top-level type can be
+ defined to accommodate it. Such a definition must be done via
+ standards-track RFC; no other mechanism can be used to define
+ additional top-level content types.
+
+ These requirements apply regardless of the registration tree
+ involved.
+
+2.2.3. Parameter Requirements
+
+ Media types may elect to use one or more MIME content type
+ parameters, or some parameters may be automatically made available to
+ the media type by virtue of being a subtype of a content type that
+ defines a set of parameters applicable to any of its subtypes. In
+ either case, the names, values, and meanings of any parameters must
+ be fully specified when a media type is registered in the IETF tree,
+ and should be specified as completely as possible when media types
+ are registered in the vendor or personal trees.
+
+ New parameters must not be defined as a way to introduce new
+ functionality in types registered in the IETF tree, although new
+ parameters may be added to convey additional information that does
+ not otherwise change existing functionality. An example of this
+ would be a "revision" parameter to indicate a revision level of an
+ external specification such as JPEG. Similar behavior is encouraged
+ for media types registered in the vendor or personal trees but is not
+ required.
+
+2.2.4. Canonicalization and Format Requirements
+
+ All registered media types must employ a single, canonical data
+ format, regardless of registration tree.
+
+ A precise and openly available specification of the format of each
+ media type is required for all types registered in the IETF tree and
+ must at a minimum be referenced by, if it isn't actually included in,
+ the media type registration proposal itself.
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 7]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ The specifications of format and processing particulars may or may
+ not be publically available for media types registered in the vendor
+ tree, and such registration proposals are explicitly permitted to
+ include only a specification of which software and version produce or
+ process such media types. References to or inclusion of format
+ specifications in registration proposals is encouraged but not
+ required.
+
+ Format specifications are still required for registration in the
+ personal tree, but may be either published as RFCs or otherwise
+ deposited with IANA. The deposited specifications will meet the same
+ criteria as those required to register a well-known TCP port and, in
+ particular, need not be made public.
+
+ Some media types involve the use of patented technology. The
+ registration of media types involving patented technology is
+ specifically permitted. However, the restrictions set forth in RFC
+ 1602 on the use of patented technology in standards-track protocols
+ must be respected when the specification of a media type is part of a
+ standards-track protocol.
+
+2.2.5. Interchange Recommendations
+
+ Media types should, whenever possible, interoperate across as many
+ systems and applications as possible. However, some media types will
+ inevitably have problems interoperating across different platforms.
+ Problems with different versions, byte ordering, and specifics of
+ gateway handling can and will arise.
+
+ Universal interoperability of media types is not required, but known
+ interoperability issues should be identified whenever possible.
+ Publication of a media type does not require an exhaustive review of
+ interoperability, and the interoperability considerations section is
+ subject to continuing evaluation.
+
+ These recommendations apply regardless of the registration tree
+ involved.
+
+2.2.6. Security Requirements
+
+ An analysis of security issues is required for for all types
+ registered in the IETF Tree. (This is in accordance with the basic
+ requirements for all IETF protocols.) A similar analysis for media
+ types registered in the vendor or personal trees is encouraged but
+ not required. However, regardless of what security analysis has or
+ has not been done, all descriptions of security issues must be as
+ accurate as possible regardless of registration tree. In particular,
+ a statement that there are "no security issues associated with this
+
+
+
+Freed, et. al. Best Current Practice [Page 8]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ type" must not be confused with "the security issues associates with
+ this type have not been assessed".
+
+ There is absolutely no requirement that media types registered in any
+ tree be secure or completely free from risks. Nevertheless, all
+ known security risks must be identified in the registration of a
+ media type, again regardless of registration tree.
+
+ The security considerations section of all registrations is subject
+ to continuing evaluation and modification, and in particular may be
+ extended by use of the "comments on media types" mechanism described
+ in subsequent sections.
+
+ Some of the issues that should be looked at in a security analysis of
+ a media type are:
+
+ (1) Complex media types may include provisions for
+ directives that institute actions on a recipient's
+ files or other resources. In many cases provision is
+ made for originators to specify arbitrary actions in an
+ unrestricted fashion which may then have devastating
+ effects. See the registration of the
+ application/postscript media type in RFC 2046 for
+ an example of such directives and how to handle them.
+
+ (2) Complex media types may include provisions for
+ directives that institute actions which, while not
+ directly harmful to the recipient, may result in
+ disclosure of information that either facilitates a
+ subsequent attack or else violates a recipient's
+ privacy in some way. Again, the registration of the
+ application/postscript media type illustrates how such
+ directives can be handled.
+
+ (3) A media type might be targeted for applications that
+ require some sort of security assurance but not provide
+ the necessary security mechanisms themselves. For
+ example, a media type could be defined for storage of
+ confidential medical information which in turn requires
+ an external confidentiality service.
+
+2.2.7. Usage and Implementation Non-requirements
+
+ In the asynchronous mail environment, where information on the
+ capabilities of the remote mail agent is frequently not available to
+ the sender, maximum interoperability is attained by restricting the
+ number of media types used to those "common" formats expected to be
+ widely implemented. This was asserted in the past as a reason to
+
+
+
+Freed, et. al. Best Current Practice [Page 9]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ limit the number of possible media types and resulted in a
+ registration process with a significant hurdle and delay for those
+ registering media types.
+
+ However, the need for "common" media types does not require limiting
+ the registration of new media types. If a limited set of media types
+ is recommended for a particular application, that should be asserted
+ by a separate applicability statement specific for the application
+ and/or environment.
+
+ As such, universal support and implementation of a media type is NOT
+ a requirement for registration. If, however, a media type is
+ explicitly intended for limited use, this should be noted in its
+ registration.
+
+2.2.8. Publication Requirements
+
+ Proposals for media types registered in the IETF tree must be
+ published as RFCs. RFC publication of vendor and personal media type
+ proposals is encouraged but not required. In all cases IANA will
+ retain copies of all media type proposals and "publish" them as part
+ of the media types registration tree itself.
+
+ Other than in the IETF tree, the registration of a data type does not
+ imply endorsement, approval, or recommendation by IANA or IETF or
+ even certification that the specification is adequate. To become
+ Internet Standards, protocol, data objects, or whatever must go
+ through the IETF standards process. This is too difficult and too
+ lengthy a process for the convenient registration of media types.
+
+ The IETF tree exists for media types that do require require a
+ substantive review and approval process with the vendor and personal
+ trees exist for those that do not. It is expected that applicability
+ statements for particular applications will be published from time to
+ time that recommend implementation of, and support for, media types
+ that have proven particularly useful in those contexts.
+
+ As discussed above, registration of a top-level type requires
+ standards-track processing and, hence, RFC publication.
+
+2.2.9. Additional Information
+
+ Various sorts of optional information may be included in the
+ specification of a media type if it is available:
+
+ (1) Magic number(s) (length, octet values). Magic numbers
+ are byte sequences that are always present and thus can
+ be used to identify entities as being of a given media
+
+
+
+Freed, et. al. Best Current Practice [Page 10]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ type.
+
+ (2) File extension(s) commonly used on one or more
+ platforms to indicate that some file containing a given
+ type of media.
+
+ (3) Macintosh File Type code(s) (4 octets) used to label
+ files containing a given type of media.
+
+ Such information is often quite useful to implementors and if
+ available should be provided.
+
+2.3. Registration Procedure
+
+ The following procedure has been implemented by the IANA for review
+ and approval of new media types. This is not a formal standards
+ process, but rather an administrative procedure intended to allow
+ community comment and sanity checking without excessive time delay.
+ For registration in the IETF tree, the normal IETF processes should
+ be followed, treating posting of an internet-draft and announcement
+ on the ietf-types list (as described in the next subsection) as a
+ first step. For registrations in the vendor or personal tree, the
+ initial review step described below may be omitted and the type
+ registered directly by submitting the template and an explanation
+ directly to IANA (at iana@iana.org). However, authors of vendor or
+ personal media type specifications are encouraged to seek community
+ review and comment whenever that is feasible.
+
+2.3.1. Present the Media Type to the Community for Review
+
+ Send a proposed media type registration to the "ietf-types@iana.org"
+ mailing list for a two week review period. This mailing list has
+ been established for the purpose of reviewing proposed media and
+ access types. Proposed media types are not formally registered and
+ must not be used; the "x-" prefix specified in RFC 2045 can be used
+ until registration is complete.
+
+ The intent of the public posting is to solicit comments and feedback
+ on the choice of type/subtype name, the unambiguity of the references
+ with respect to versions and external profiling information, and a
+ review of any interoperability or security considerations. The
+ submitter may submit a revised registration, or withdraw the
+ registration completely, at any time.
+
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 11]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+2.3.2. IESG Approval
+
+ Media types registered in the IETF tree must be submitted to the IESG
+ for approval.
+
+2.3.3. IANA Registration
+
+ Provided that the media type meets the requirements for media types
+ and has obtained approval that is necessary, the author may submit
+ the registration request to the IANA, which will register the media
+ type and make the media type registration available to the community.
+
+2.4. Comments on Media Type Registrations
+
+ Comments on registered media types may be submitted by members of the
+ community to IANA. These comments will be passed on to the "owner"
+ of the media type if possible. Submitters of comments may request
+ that their comment be attached to the media type registration itself,
+ and if IANA approves of this the comment will be made accessible in
+ conjunction with the type registration itself.
+
+2.5. Location of Registered Media Type List
+
+ Media type registrations will be posted in the anonymous FTP
+ directory "ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/"
+ and all registered media types will be listed in the periodically
+ issued "Assigned Numbers" RFC [currently STD 2, RFC 1700]. The media
+ type description and other supporting material may also be published
+ as an Informational RFC by sending it to "rfc-editor@isi.edu" (please
+ follow the instructions to RFC authors [RFC-1543]).
+
+2.6. IANA Procedures for Registering Media Types
+
+ The IANA will only register media types in the IETF tree in response
+ to a communication from the IESG stating that a given registration
+ has been approved. Vendor and personal types will be registered by
+ the IANA automatically and without any formal review as long as the
+ following minimal conditions are met:
+
+ (1) Media types must function as an actual media format.
+ In particular, character sets and transfer encodings
+ may not be registered as media types.
+
+ (2) All media types must have properly formed type and
+ subtype names. All type names must be defined by a
+ standards-track RFC. All subtype names must be unique,
+ must conform to the MIME grammar for such names, and
+ must contain the proper tree prefix.
+
+
+
+Freed, et. al. Best Current Practice [Page 12]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ (3) Types registered in the personal tree must either
+ provide a format specification or a pointer to one.
+
+ (4) Any security considerations given must not be obviously
+ bogus. (It is neither possible nor necessary for the
+ IANA to conduct a comprehensive security review of
+ media type registrations. Nevertheless, IANA has the
+ authority to identify obviously incompetent material
+ and exclude it.)
+
+2.7. Change Control
+
+ Once a media type has been published by IANA, the author may request
+ a change to its definition. The descriptions of the different
+ registration trees above designate the "owners" of each type of
+ registration. The change request follows the same procedure as the
+ registration request:
+
+ (1) Publish the revised template on the ietf-types list.
+
+ (2) Leave at least two weeks for comments.
+
+ (3) Publish using IANA after formal review if required.
+
+ Changes should be requested only when there are serious omission or
+ errors in the published specification. When review is required, a
+ change request may be denied if it renders entities that were valid
+ under the previous definition invalid under the new definition.
+
+ The owner of a content type may pass responsibility for the content
+ type to another person or agency by informing IANA and the ietf-types
+ list; this can be done without discussion or review.
+
+ The IESG may reassign responsibility for a media type. The most
+ common case of this will be to enable changes to be made to types
+ where the author of the registration has died, moved out of contact
+ or is otherwise unable to make changes that are important to the
+ community.
+
+ Media type registrations may not be deleted; media types which are no
+ longer believed appropriate for use can be declared OBSOLETE by a
+ change to their "intended use" field; such media types will be
+ clearly marked in the lists published by IANA.
+
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 13]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+2.8. Registration Template
+
+ To: ietf-types@iana.org
+ Subject: Registration of MIME media type XXX/YYY
+
+ MIME media type name:
+
+ MIME subtype name:
+
+ Required parameters:
+
+ Optional parameters:
+
+ Encoding considerations:
+
+ Security considerations:
+
+ Interoperability considerations:
+
+ Published specification:
+
+ Applications which use this media type:
+
+ Additional information:
+
+ Magic number(s):
+ File extension(s):
+ Macintosh File Type Code(s):
+
+ Person & email address to contact for further information:
+
+ Intended usage:
+
+ (One of COMMON, LIMITED USE or OBSOLETE)
+
+ Author/Change controller:
+
+ (Any other information that the author deems interesting may be
+ added below this line.)
+
+3. External Body Access Types
+
+ RFC 2046 defines the message/external-body media type, whereby a MIME
+ entity can act as pointer to the actual body data in lieu of
+ including the data directly in the entity body. Each
+ message/external-body reference specifies an access type, which
+ determines the mechanism used to retrieve the actual body data. RFC
+ 2046 defines an initial set of access types, but allows for the
+
+
+
+Freed, et. al. Best Current Practice [Page 14]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+ registration of additional access types to accommodate new retrieval
+ mechanisms.
+
+3.1. Registration Requirements
+
+ New access type specifications must conform to a number of
+ requirements as described below.
+
+3.1.1. Naming Requirements
+
+ Each access type must have a unique name. This name appears in the
+ access-type parameter in the message/external-body content-type
+ header field, and must conform to MIME content type parameter syntax.
+
+3.1.2. Mechanism Specification Requirements
+
+ All of the protocols, transports, and procedures used by a given
+ access type must be described, either in the specification of the
+ access type itself or in some other publicly available specification,
+ in sufficient detail for the access type to be implemented by any
+ competent implementor. Use of secret and/or proprietary methods in
+ access types are expressly prohibited. The restrictions imposed by
+ RFC 1602 on the standardization of patented algorithms must be
+ respected as well.
+
+3.1.3. Publication Requirements
+
+ All access types must be described by an RFC. The RFC may be
+ informational rather than standards-track, although standard-track
+ review and approval are encouraged for all access types.
+
+3.1.4. Security Requirements
+
+ Any known security issues that arise from the use of the access type
+ must be completely and fully described. It is not required that the
+ access type be secure or that it be free from risks, but that the
+ known risks be identified. Publication of a new access type does not
+ require an exhaustive security review, and the security
+ considerations section is subject to continuing evaluation.
+ Additional security considerations should be addressed by publishing
+ revised versions of the access type specification.
+
+3.2. Registration Procedure
+
+ Registration of a new access type starts with the construction of a
+ draft of an RFC.
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 15]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+3.2.1. Present the Access Type to the Community
+
+ Send a proposed access type specification to the "ietf-
+ types@iana.org" mailing list for a two week review period. This
+ mailing list has been established for the purpose of reviewing
+ proposed access and media types. Proposed access types are not
+ formally registered and must not be used.
+
+ The intent of the public posting is to solicit comments and feedback
+ on the access type specification and a review of any security
+ considerations.
+
+3.2.2. Access Type Reviewer
+
+ When the two week period has passed, the access type reviewer, who is
+ appointed by the IETF Applications Area Director, either forwards the
+ request to iana@isi.edu, or rejects it because of significant
+ objections raised on the list.
+
+ Decisions made by the reviewer must be posted to the ietf-types
+ mailing list within 14 days. Decisions made by the reviewer may be
+ appealed to the IESG.
+
+3.2.3. IANA Registration
+
+ Provided that the access type has either passed review or has been
+ successfully appealed to the IESG, the IANA will register the access
+ type and make the registration available to the community. The
+ specification of the access type must also be published as an RFC.
+ Informational RFCs are published by sending them to "rfc-
+ editor@isi.edu" (please follow the instructions to RFC authors [RFC-
+ 1543]).
+
+3.3. Location of Registered Access Type List
+
+ Access type registrations will be posted in the anonymous FTP
+ directory "ftp://ftp.isi.edu/in-notes/iana/assignments/access-types/"
+ and all registered access types will be listed in the periodically
+ issued "Assigned Numbers" RFC [currently RFC-1700].
+
+3.4. IANA Procedures for Registering Access Types
+
+ The identity of the access type reviewer is communicated to the IANA
+ by the IESG. The IANA then only acts in response to access type
+ definitions that either are approved by the access type reviewer and
+ forwarded by the reviewer to the IANA for registration, or in
+ response to a communication from the IESG that an access type
+ definition appeal has overturned the access type reviewer's ruling.
+
+
+
+Freed, et. al. Best Current Practice [Page 16]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+4. Transfer Encodings
+
+ Transfer encodings are tranformations applied to MIME media types
+ after conversion to the media type's canonical form. Transfer
+ encodings are used for several purposes:
+
+ (1) Many transports, especially message transports, can
+ only handle data consisting of relatively short lines
+ of text. There can also be severe restrictions on what
+ characters can be used in these lines of text -- some
+ transports are restricted to a small subset of US-ASCII
+ and others cannot handle certain character sequences.
+ Transfer encodings are used to transform binary data
+ into textual form that can survive such transports.
+ Examples of this sort of transfer encoding include the
+ base64 and quoted-printable transfer encodings defined
+ in RFC 2045.
+
+ (2) Image, audio, video, and even application entities are
+ sometimes quite large. Compression algorithms are often
+ quite effective in reducing the size of large entities.
+ Transfer encodings can be used to apply general-purpose
+ non-lossy compression algorithms to MIME entities.
+
+ (3) Transport encodings can be defined as a means of
+ representing existing encoding formats in a MIME
+ context.
+
+ IMPORTANT: The standardization of a large numbers of different
+ transfer encodings is seen as a significant barrier to widespread
+ interoperability and is expressely discouraged. Nevertheless, the
+ following procedure has been defined to provide a means of defining
+ additional transfer encodings, should standardization actually be
+ justified.
+
+4.1. Transfer Encoding Requirements
+
+ Transfer encoding specifications must conform to a number of
+ requirements as described below.
+
+4.1.1. Naming Requirements
+
+ Each transfer encoding must have a unique name. This name appears in
+ the Content-Transfer-Encoding header field and must conform to the
+ syntax of that field.
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 17]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+4.1.2. Algorithm Specification Requirements
+
+ All of the algorithms used in a transfer encoding (e.g. conversion
+ to printable form, compression) must be described in their entirety
+ in the transfer encoding specification. Use of secret and/or
+ proprietary algorithms in standardized transfer encodings are
+ expressly prohibited. The restrictions imposed by RFC 1602 on the
+ standardization of patented algorithms must be respected as well.
+
+4.1.3. Input Domain Requirements
+
+ All transfer encodings must be applicable to an arbitrary sequence of
+ octets of any length. Dependence on particular input forms is not
+ allowed.
+
+ It should be noted that the 7bit and 8bit encodings do not conform to
+ this requirement. Aside from the undesireability of having
+ specialized encodings, the intent here is to forbid the addition of
+ additional encodings along the lines of 7bit and 8bit.
+
+4.1.4. Output Range Requirements
+
+ There is no requirement that a particular tranfer encoding produce a
+ particular form of encoded output. However, the output format for
+ each transfer encoding must be fully and completely documented. In
+ particular, each specification must clearly state whether the output
+ format always lies within the confines of 7bit data, 8bit data, or is
+ simply pure binary data.
+
+4.1.5. Data Integrity and Generality Requirements
+
+ All transfer encodings must be fully invertible on any platform; it
+ must be possible for anyone to recover the original data by
+ performing the corresponding decoding operation. Note that this
+ requirement effectively excludes all forms of lossy compression as
+ well as all forms of encryption from use as a transfer encoding.
+
+4.1.6. New Functionality Requirements
+
+ All transfer encodings must provide some sort of new functionality.
+ Some degree of functionality overlap with previously defined transfer
+ encodings is acceptable, but any new transfer encoding must also
+ offer something no other transfer encoding provides.
+
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 18]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+4.2. Transfer Encoding Definition Procedure
+
+ Definition of a new transfer encoding starts with the construction of
+ a draft of a standards-track RFC. The RFC must define the transfer
+ encoding precisely and completely, and must also provide substantial
+ justification for defining and standardizing a new transfer encoding.
+ This specification must then be presented to the IESG for
+ consideration. The IESG can
+
+ (1) reject the specification outright as being
+ inappropriate for standardization,
+
+ (2) approve the formation of an IETF working group to work
+ on the specification in accordance with IETF
+ procedures, or,
+
+ (3) accept the specification as-is and put it directly on
+ the standards track.
+
+ Transfer encoding specifications on the standards track follow normal
+ IETF rules for standards track documents. A transfer encoding is
+ considered to be defined and available for use once it is on the
+ standards track.
+
+4.3. IANA Procedures for Transfer Encoding Registration
+
+ There is no need for a special procedure for registering Transfer
+ Encodings with the IANA. All legitimate transfer encoding
+ registrations must appear as a standards-track RFC, so it is the
+ IESG's responsibility to notify the IANA when a new transfer encoding
+ has been approved.
+
+4.4. Location of Registered Transfer Encodings List
+
+ Transfer encoding registrations will be posted in the anonymous FTP
+ directory "ftp://ftp.isi.edu/in-notes/iana/assignments/transfer-
+ encodings/" and all registered transfer encodings will be listed in
+ the periodically issued "Assigned Numbers" RFC [currently RFC-1700].
+
+
+
+
+
+
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 19]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+5. Authors' Addresses
+
+ For more information, the authors of this document are best
+ contacted via Internet mail:
+
+ Ned Freed
+ Innosoft International, Inc.
+ 1050 East Garvey Avenue South
+ West Covina, CA 91790
+ USA
+
+ Phone: +1 818 919 3600
+ Fax: +1 818 919 3614
+ EMail: ned@innosoft.com
+
+
+ John Klensin
+ MCI
+ 2100 Reston Parkway
+ Reston, VA 22091
+
+ Phone: +1 703 715-7361
+ Fax: +1 703 715-7436
+ EMail: klensin@mci.net
+
+
+ Jon Postel
+ USC/Information Sciences Institute
+ 4676 Admiralty Way
+ Marina del Rey, CA 90292
+ USA
+
+
+ Phone: +1 310 822 1511
+ Fax: +1 310 823 6714
+ EMail: Postel@ISI.EDU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 20]
+
+RFC 2048 MIME Registration Procedures November 1996
+
+
+Appendix A -- Grandfathered Media Types
+
+ A number of media types, registered prior to 1996, would, if
+ registered under the guidelines in this document, be placed into
+ either the vendor or personal trees. Reregistration of those types
+ to reflect the appropriate trees is encouraged, but not required.
+ Ownership and change control principles outlined in this document
+ apply to those types as if they had been registered in the trees
+ described above.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Freed, et. al. Best Current Practice [Page 21]
+
diff --git a/Documentation/en/rfc/rfc2049.txt b/Documentation/en/rfc/rfc2049.txt
new file mode 100644
index 00000000..99f174b9
--- /dev/null
+++ b/Documentation/en/rfc/rfc2049.txt
@@ -0,0 +1,1347 @@
+
+
+
+
+
+
+Network Working Group N. Freed
+Request for Comments: 2049 Innosoft
+Obsoletes: 1521, 1522, 1590 N. Borenstein
+Category: Standards Track First Virtual
+ November 1996
+
+
+ Multipurpose Internet Mail Extensions
+ (MIME) Part Five:
+ Conformance Criteria and Examples
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ STD 11, RFC 822, defines a message representation protocol specifying
+ considerable detail about US-ASCII message headers, and leaves the
+ message content, or message body, as flat US-ASCII text. This set of
+ documents, collectively called the Multipurpose Internet Mail
+ Extensions, or MIME, redefines the format of messages to allow for
+
+ (1) textual message bodies in character sets other than
+ US-ASCII,
+
+ (2) an extensible set of different formats for non-textual
+ message bodies,
+
+ (3) multi-part message bodies, and
+
+ (4) textual header information in character sets other than
+ US-ASCII.
+
+ These documents are based on earlier work documented in RFC 934, STD
+ 11, and RFC 1049, but extends and revises them. Because RFC 822 said
+ so little about message bodies, these documents are largely
+ orthogonal to (rather than a revision of) RFC 822.
+
+ The initial document in this set, RFC 2045, specifies the various
+ headers used to describe the structure of MIME messages. The second
+ document defines the general structure of the MIME media typing
+ system and defines an initial set of media types. The third
+ document, RFC 2047, describes extensions to RFC 822 to allow non-US-
+
+
+
+Freed & Borenstein Standards Track [Page 1]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ ASCII text data in Internet mail header fields. The fourth document,
+ RFC 2048, specifies various IANA registration procedures for MIME-
+ related facilities. This fifth and final document describes MIME
+ conformance criteria as well as providing some illustrative examples
+ of MIME message formats, acknowledgements, and the bibliography.
+
+ These documents are revisions of RFCs 1521, 1522, and 1590, which
+ themselves were revisions of RFCs 1341 and 1342. Appendix B of this
+ document describes differences and changes from previous versions.
+
+Table of Contents
+
+ 1. Introduction .......................................... 2
+ 2. MIME Conformance ...................................... 2
+ 3. Guidelines for Sending Email Data ..................... 6
+ 4. Canonical Encoding Model .............................. 9
+ 5. Summary ............................................... 12
+ 6. Security Considerations ............................... 12
+ 7. Authors' Addresses .................................... 12
+ 8. Acknowledgements ...................................... 13
+ A. A Complex Multipart Example ........................... 15
+ B. Changes from RFC 1521, 1522, and 1590 ................. 16
+ C. References ............................................ 20
+
+1. Introduction
+
+ The first and second documents in this set define MIME header fields
+ and the initial set of MIME media types. The third document
+ describes extensions to RFC822 formats to allow for character sets
+ other than US-ASCII. This document describes what portions of MIME
+ must be supported by a conformant MIME implementation. It also
+ describes various pitfalls of contemporary messaging systems as well
+ as the canonical encoding model MIME is based on.
+
+2. MIME Conformance
+
+ The mechanisms described in these documents are open-ended. It is
+ definitely not expected that all implementations will support all
+ available media types, nor that they will all share the same
+ extensions. In order to promote interoperability, however, it is
+ useful to define the concept of "MIME-conformance" to define a
+ certain level of implementation that allows the useful interworking
+ of messages with content that differs from US-ASCII text. In this
+ section, we specify the requirements for such conformance.
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 2]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ A mail user agent that is MIME-conformant MUST:
+
+ (1) Always generate a "MIME-Version: 1.0" header field in
+ any message it creates.
+
+ (2) Recognize the Content-Transfer-Encoding header field
+ and decode all received data encoded by either quoted-
+ printable or base64 implementations. The identity
+ transformations 7bit, 8bit, and binary must also be
+ recognized.
+
+ Any non-7bit data that is sent without encoding must be
+ properly labelled with a content-transfer-encoding of
+ 8bit or binary, as appropriate. If the underlying
+ transport does not support 8bit or binary (as SMTP
+ [RFC-821] does not), the sender is required to both
+ encode and label data using an appropriate Content-
+ Transfer-Encoding such as quoted-printable or base64.
+
+ (3) Must treat any unrecognized Content-Transfer-Encoding
+ as if it had a Content-Type of "application/octet-
+ stream", regardless of whether or not the actual
+ Content-Type is recognized.
+
+ (4) Recognize and interpret the Content-Type header field,
+ and avoid showing users raw data with a Content-Type
+ field other than text. Implementations must be able
+ to send at least text/plain messages, with the
+ character set specified with the charset parameter if
+ it is not US-ASCII.
+
+ (5) Ignore any content type parameters whose names they do
+ not recognize.
+
+ (6) Explicitly handle the following media type values, to
+ at least the following extents:
+
+ Text:
+
+ -- Recognize and display "text" mail with the
+ character set "US-ASCII."
+
+ -- Recognize other character sets at least to the
+ extent of being able to inform the user about what
+ character set the message uses.
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 3]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ -- Recognize the "ISO-8859-*" character sets to the
+ extent of being able to display those characters that
+ are common to ISO-8859-* and US-ASCII, namely all
+ characters represented by octet values 1-127.
+
+ -- For unrecognized subtypes in a known character
+ set, show or offer to show the user the "raw" version
+ of the data after conversion of the content from
+ canonical form to local form.
+
+ -- Treat material in an unknown character set as if
+ it were "application/octet-stream".
+
+ Image, audio, and video:
+
+ -- At a minumum provide facilities to treat any
+ unrecognized subtypes as if they were
+ "application/octet-stream".
+
+ Application:
+
+ -- Offer the ability to remove either of the quoted-
+ printable or base64 encodings defined in this
+ document if they were used and put the resulting
+ information in a user file.
+
+ Multipart:
+
+ -- Recognize the mixed subtype. Display all relevant
+ information on the message level and the body part
+ header level and then display or offer to display
+ each of the body parts individually.
+
+ -- Recognize the "alternative" subtype, and avoid
+ showing the user redundant parts of
+ multipart/alternative mail.
+
+ -- Recognize the "multipart/digest" subtype,
+ specifically using "message/rfc822" rather than
+ "text/plain" as the default media type for body parts
+ inside "multipart/digest" entities.
+
+ -- Treat any unrecognized subtypes as if they were
+ "mixed".
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 4]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ Message:
+
+ -- Recognize and display at least the RFC822 message
+ encapsulation (message/rfc822) in such a way as to
+ preserve any recursive structure, that is, displaying
+ or offering to display the encapsulated data in
+ accordance with its media type.
+
+ -- Treat any unrecognized subtypes as if they were
+ "application/octet-stream".
+
+ (7) Upon encountering any unrecognized Content-Type field,
+ an implementation must treat it as if it had a media
+ type of "application/octet-stream" with no parameter
+ sub-arguments. How such data are handled is up to an
+ implementation, but likely options for handling such
+ unrecognized data include offering the user to write it
+ into a file (decoded from its mail transport format) or
+ offering the user to name a program to which the
+ decoded data should be passed as input.
+
+ (8) Conformant user agents are required, if they provide
+ non-standard support for non-MIME messages employing
+ character sets other than US-ASCII, to do so on
+ received messages only. Conforming user agents must not
+ send non-MIME messages containing anything other than
+ US-ASCII text.
+
+ In particular, the use of non-US-ASCII text in mail
+ messages without a MIME-Version field is strongly
+ discouraged as it impedes interoperability when sending
+ messages between regions with different localization
+ conventions. Conforming user agents MUST include proper
+ MIME labelling when sending anything other than plain
+ text in the US-ASCII character set.
+
+ In addition, non-MIME user agents should be upgraded if
+ at all possible to include appropriate MIME header
+ information in the messages they send even if nothing
+ else in MIME is supported. This upgrade will have
+ little, if any, effect on non-MIME recipients and will
+ aid MIME in correctly displaying such messages. It
+ also provides a smooth transition path to eventual
+ adoption of other MIME capabilities.
+
+ (9) Conforming user agents must ensure that any string of
+ non-white-space printable US-ASCII characters within a
+ "*text" or "*ctext" that begins with "=?" and ends with
+
+
+
+Freed & Borenstein Standards Track [Page 5]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ "?=" be a valid encoded-word. ("begins" means: At the
+ start of the field-body or immediately following
+ linear-white-space; "ends" means: At the end of the
+ field-body or immediately preceding linear-white-
+ space.) In addition, any "word" within a "phrase" that
+ begins with "=?" and ends with "?=" must be a valid
+ encoded-word.
+
+ (10) Conforming user agents must be able to distinguish
+ encoded-words from "text", "ctext", or "word"s,
+ according to the rules in section 4, anytime they
+ appear in appropriate places in message headers. It
+ must support both the "B" and "Q" encodings for any
+ character set which it supports. The program must be
+ able to display the unencoded text if the character set
+ is "US-ASCII". For the ISO-8859-* character sets, the
+ mail reading program must at least be able to display
+ the characters which are also in the US-ASCII set.
+
+ A user agent that meets the above conditions is said to be MIME-
+ conformant. The meaning of this phrase is that it is assumed to be
+ "safe" to send virtually any kind of properly-marked data to users of
+ such mail systems, because such systems will at least be able to
+ treat the data as undifferentiated binary, and will not simply splash
+ it onto the screen of unsuspecting users.
+
+ There is another sense in which it is always "safe" to send data in a
+ format that is MIME-conformant, which is that such data will not
+ break or be broken by any known systems that are conformant with RFC
+ 821 and RFC 822. User agents that are MIME-conformant have the
+ additional guarantee that the user will not be shown data that were
+ never intended to be viewed as text.
+
+3. Guidelines for Sending Email Data
+
+ Internet email is not a perfect, homogeneous system. Mail may become
+ corrupted at several stages in its travel to a final destination.
+ Specifically, email sent throughout the Internet may travel across
+ many networking technologies. Many networking and mail technologies
+ do not support the full functionality possible in the SMTP transport
+ environment. Mail traversing these systems is likely to be modified
+ in order that it can be transported.
+
+ There exist many widely-deployed non-conformant MTAs in the Internet.
+ These MTAs, speaking the SMTP protocol, alter messages on the fly to
+ take advantage of the internal data structure of the hosts they are
+ implemented on, or are just plain broken.
+
+
+
+
+Freed & Borenstein Standards Track [Page 6]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ The following guidelines may be useful to anyone devising a data
+ format (media type) that is supposed to survive the widest range of
+ networking technologies and known broken MTAs unscathed. Note that
+ anything encoded in the base64 encoding will satisfy these rules, but
+ that some well-known mechanisms, notably the UNIX uuencode facility,
+ will not. Note also that anything encoded in the Quoted-Printable
+ encoding will survive most gateways intact, but possibly not some
+ gateways to systems that use the EBCDIC character set.
+
+ (1) Under some circumstances the encoding used for data may
+ change as part of normal gateway or user agent
+ operation. In particular, conversion from base64 to
+ quoted-printable and vice versa may be necessary. This
+ may result in the confusion of CRLF sequences with line
+ breaks in text bodies. As such, the persistence of
+ CRLF as something other than a line break must not be
+ relied on.
+
+ (2) Many systems may elect to represent and store text data
+ using local newline conventions. Local newline
+ conventions may not match the RFC822 CRLF convention --
+ systems are known that use plain CR, plain LF, CRLF, or
+ counted records. The result is that isolated CR and LF
+ characters are not well tolerated in general; they may
+ be lost or converted to delimiters on some systems, and
+ hence must not be relied on.
+
+ (3) The transmission of NULs (US-ASCII value 0) is
+ problematic in Internet mail. (This is largely the
+ result of NULs being used as a termination character by
+ many of the standard runtime library routines in the C
+ programming language.) The practice of using NULs as
+ termination characters is so entrenched now that
+ messages should not rely on them being preserved.
+
+ (4) TAB (HT) characters may be misinterpreted or may be
+ automatically converted to variable numbers of spaces.
+ This is unavoidable in some environments, notably those
+ not based on the US-ASCII character set. Such
+ conversion is STRONGLY DISCOURAGED, but it may occur,
+ and mail formats must not rely on the persistence of
+ TAB (HT) characters.
+
+ (5) Lines longer than 76 characters may be wrapped or
+ truncated in some environments. Line wrapping or line
+ truncation imposed by mail transports is STRONGLY
+ DISCOURAGED, but unavoidable in some cases.
+ Applications which require long lines must somehow
+
+
+
+Freed & Borenstein Standards Track [Page 7]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ differentiate between soft and hard line breaks. (A
+ simple way to do this is to use the quoted-printable
+ encoding.)
+
+ (6) Trailing "white space" characters (SPACE, TAB (HT)) on
+ a line may be discarded by some transport agents, while
+ other transport agents may pad lines with these
+ characters so that all lines in a mail file are of
+ equal length. The persistence of trailing white space,
+ therefore, must not be relied on.
+
+ (7) Many mail domains use variations on the US-ASCII
+ character set, or use character sets such as EBCDIC
+ which contain most but not all of the US-ASCII
+ characters. The correct translation of characters not
+ in the "invariant" set cannot be depended on across
+ character converting gateways. For example, this
+ situation is a problem when sending uuencoded
+ information across BITNET, an EBCDIC system. Similar
+ problems can occur without crossing a gateway, since
+ many Internet hosts use character sets other than US-
+ ASCII internally. The definition of Printable Strings
+ in X.400 adds further restrictions in certain special
+ cases. In particular, the only characters that are
+ known to be consistent across all gateways are the 73
+ characters that correspond to the upper and lower case
+ letters A-Z and a-z, the 10 digits 0-9, and the
+ following eleven special characters:
+
+ "'" (US-ASCII decimal value 39)
+ "(" (US-ASCII decimal value 40)
+ ")" (US-ASCII decimal value 41)
+ "+" (US-ASCII decimal value 43)
+ "," (US-ASCII decimal value 44)
+ "-" (US-ASCII decimal value 45)
+ "." (US-ASCII decimal value 46)
+ "/" (US-ASCII decimal value 47)
+ ":" (US-ASCII decimal value 58)
+ "=" (US-ASCII decimal value 61)
+ "?" (US-ASCII decimal value 63)
+
+ A maximally portable mail representation will confine
+ itself to relatively short lines of text in which the
+ only meaningful characters are taken from this set of
+ 73 characters. The base64 encoding follows this rule.
+
+ (8) Some mail transport agents will corrupt data that
+ includes certain literal strings. In particular, a
+
+
+
+Freed & Borenstein Standards Track [Page 8]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ period (".") alone on a line is known to be corrupted
+ by some (incorrect) SMTP implementations, and a line
+ that starts with the five characters "From " (the fifth
+ character is a SPACE) are commonly corrupted as well.
+ A careful composition agent can prevent these
+ corruptions by encoding the data (e.g., in the quoted-
+ printable encoding using "=46rom " in place of "From "
+ at the start of a line, and "=2E" in place of "." alone
+ on a line).
+
+ Please note that the above list is NOT a list of recommended
+ practices for MTAs. RFC 821 MTAs are prohibited from altering the
+ character of white space or wrapping long lines. These BAD and
+ invalid practices are known to occur on established networks, and
+ implementations should be robust in dealing with the bad effects they
+ can cause.
+
+4. Canonical Encoding Model
+
+ There was some confusion, in earlier versions of these documents,
+ regarding the model for when email data was to be converted to
+ canonical form and encoded, and in particular how this process would
+ affect the treatment of CRLFs, given that the representation of
+ newlines varies greatly from system to system. For this reason, a
+ canonical model for encoding is presented below.
+
+ The process of composing a MIME entity can be modeled as being done
+ in a number of steps. Note that these steps are roughly similar to
+ those steps used in PEM [RFC-1421] and are performed for each
+ "innermost level" body:
+
+ (1) Creation of local form.
+
+ The body to be transmitted is created in the system's
+ native format. The native character set is used and,
+ where appropriate, local end of line conventions are
+ used as well. The body may be a UNIX-style text file,
+ or a Sun raster image, or a VMS indexed file, or audio
+ data in a system-dependent format stored only in
+ memory, or anything else that corresponds to the local
+ model for the representation of some form of
+ information. Fundamentally, the data is created in the
+ "native" form that corresponds to the type specified by
+ the media type.
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 9]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ (2) Conversion to canonical form.
+
+ The entire body, including "out-of-band" information
+ such as record lengths and possibly file attribute
+ information, is converted to a universal canonical
+ form. The specific media type of the body as well as
+ its associated attributes dictate the nature of the
+ canonical form that is used. Conversion to the proper
+ canonical form may involve character set conversion,
+ transformation of audio data, compression, or various
+ other operations specific to the various media types.
+ If character set conversion is involved, however, care
+ must be taken to understand the semantics of the media
+ type, which may have strong implications for any
+ character set conversion, e.g. with regard to
+ syntactically meaningful characters in a text subtype
+ other than "plain".
+
+ For example, in the case of text/plain data, the text
+ must be converted to a supported character set and
+ lines must be delimited with CRLF delimiters in
+ accordance with RFC 822. Note that the restriction on
+ line lengths implied by RFC 822 is eliminated if the
+ next step employs either quoted-printable or base64
+ encoding.
+
+ (3) Apply transfer encoding.
+
+ A Content-Transfer-Encoding appropriate for this body
+ is applied. Note that there is no fixed relationship
+ between the media type and the transfer encoding. In
+ particular, it may be appropriate to base the choice of
+ base64 or quoted-printable on character frequency
+ counts which are specific to a given instance of a
+ body.
+
+ (4) Insertion into entity.
+
+ The encoded body is inserted into a MIME entity with
+ appropriate headers. The entity is then inserted into
+ the body of a higher-level entity (message or
+ multipart) as needed.
+
+ Conversion from entity form to local form is accomplished by
+ reversing these steps. Note that reversal of these steps may produce
+ differing results since there is no guarantee that the original and
+ final local forms are the same.
+
+
+
+
+Freed & Borenstein Standards Track [Page 10]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ It is vital to note that these steps are only a model; they are
+ specifically NOT a blueprint for how an actual system would be built.
+ In particular, the model fails to account for two common designs:
+
+ (1) In many cases the conversion to a canonical form prior
+ to encoding will be subsumed into the encoder itself,
+ which understands local formats directly. For example,
+ the local newline convention for text bodies might be
+ carried through to the encoder itself along with
+ knowledge of what that format is.
+
+ (2) The output of the encoders may have to pass through one
+ or more additional steps prior to being transmitted as
+ a message. As such, the output of the encoder may not
+ be conformant with the formats specified by RFC 822.
+ In particular, once again it may be appropriate for the
+ converter's output to be expressed using local newline
+ conventions rather than using the standard RFC 822 CRLF
+ delimiters.
+
+ Other implementation variations are conceivable as well. The vital
+ aspect of this discussion is that, in spite of any optimizations,
+ collapsings of required steps, or insertion of additional processing,
+ the resulting messages must be consistent with those produced by the
+ model described here. For example, a message with the following
+ header fields:
+
+ Content-type: text/foo; charset=bar
+ Content-Transfer-Encoding: base64
+
+ must be first represented in the text/foo form, then (if necessary)
+ represented in the "bar" character set, and finally transformed via
+ the base64 algorithm into a mail-safe form.
+
+ NOTE: Some confusion has been caused by systems that represent
+ messages in a format which uses local newline conventions which
+ differ from the RFC822 CRLF convention. It is important to note that
+ these formats are not canonical RFC822/MIME. These formats are
+ instead *encodings* of RFC822, where CRLF sequences in the canonical
+ representation of the message are encoded as the local newline
+ convention. Note that formats which encode CRLF sequences as, for
+ example, LF are not capable of representing MIME messages containing
+ binary data which contains LF octets not part of CRLF line separation
+ sequences.
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 11]
+
+RFC 2049 MIME Conformance November 1996
+
+
+5. Summary
+
+ This document defines what is meant by MIME Conformance. It also
+ details various problems known to exist in the Internet email system
+ and how to use MIME to overcome them. Finally, it describes MIME's
+ canonical encoding model.
+
+6. Security Considerations
+
+ Security issues are discussed in the second document in this set, RFC
+ 2046.
+
+7. Authors' Addresses
+
+ For more information, the authors of this document are best contacted
+ via Internet mail:
+
+ Ned Freed
+ Innosoft International, Inc.
+ 1050 East Garvey Avenue South
+ West Covina, CA 91790
+ USA
+
+ Phone: +1 818 919 3600
+ Fax: +1 818 919 3614
+ EMail: ned@innosoft.com
+
+ Nathaniel S. Borenstein
+ First Virtual Holdings
+ 25 Washington Avenue
+ Morristown, NJ 07960
+ USA
+
+ Phone: +1 201 540 8967
+ Fax: +1 201 993 3032
+ EMail: nsb@nsb.fv.com
+
+ MIME is a result of the work of the Internet Engineering Task Force
+ Working Group on RFC 822 Extensions. The chairman of that group,
+ Greg Vaudreuil, may be reached at:
+
+ Gregory M. Vaudreuil
+ Octel Network Services
+ 17080 Dallas Parkway
+ Dallas, TX 75248-1905
+ USA
+
+ EMail: Greg.Vaudreuil@Octel.Com
+
+
+
+Freed & Borenstein Standards Track [Page 12]
+
+RFC 2049 MIME Conformance November 1996
+
+
+8. Acknowledgements
+
+ This document is the result of the collective effort of a large
+ number of people, at several IETF meetings, on the IETF-SMTP and
+ IETF-822 mailing lists, and elsewhere. Although any enumeration
+ seems doomed to suffer from egregious omissions, the following are
+ among the many contributors to this effort:
+
+ Harald Tveit Alvestrand Marc Andreessen
+ Randall Atkinson Bob Braden
+ Philippe Brandon Brian Capouch
+ Kevin Carosso Uhhyung Choi
+ Peter Clitherow Dave Collier-Brown
+ Cristian Constantinof John Coonrod
+ Mark Crispin Dave Crocker
+ Stephen Crocker Terry Crowley
+ Walt Daniels Jim Davis
+ Frank Dawson Axel Deininger
+ Hitoshi Doi Kevin Donnelly
+ Steve Dorner Keith Edwards
+ Chris Eich Dana S. Emery
+ Johnny Eriksson Craig Everhart
+ Patrik Faltstrom Erik E. Fair
+ Roger Fajman Alain Fontaine
+ Martin Forssen James M. Galvin
+ Stephen Gildea Philip Gladstone
+ Thomas Gordon Keld Simonsen
+ Terry Gray Phill Gross
+ James Hamilton David Herron
+ Mark Horton Bruce Howard
+ Bill Janssen Olle Jarnefors
+ Risto Kankkunen Phil Karn
+ Alan Katz Tim Kehres
+ Neil Katin Steve Kille
+ Kyuho Kim Anders Klemets
+ John Klensin Valdis Kletniek
+ Jim Knowles Stev Knowles
+ Bob Kummerfeld Pekka Kytolaakso
+ Stellan Lagerstrom Vincent Lau
+ Timo Lehtinen Donald Lindsay
+ Warner Losh Carlyn Lowery
+ Laurence Lundblade Charles Lynn
+ John R. MacMillan Larry Masinter
+ Rick McGowan Michael J. McInerny
+ Leo Mclaughlin Goli Montaser-Kohsari
+ Tom Moore John Gardiner Myers
+ Erik Naggum Mark Needleman
+ Chris Newman John Noerenberg
+
+
+
+Freed & Borenstein Standards Track [Page 13]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ Mats Ohrman Julian Onions
+ Michael Patton David J. Pepper
+ Erik van der Poel Blake C. Ramsdell
+ Christer Romson Luc Rooijakkers
+ Marshall T. Rose Jonathan Rosenberg
+ Guido van Rossum Jan Rynning
+ Harri Salminen Michael Sanderson
+ Yutaka Sato Markku Savela
+ Richard Alan Schafer Masahiro Sekiguchi
+ Mark Sherman Bob Smart
+ Peter Speck Henry Spencer
+ Einar Stefferud Michael Stein
+ Klaus Steinberger Peter Svanberg
+ James Thompson Steve Uhler
+ Stuart Vance Peter Vanderbilt
+ Greg Vaudreuil Ed Vielmetti
+ Larry W. Virden Ryan Waldron
+ Rhys Weatherly Jay Weber
+ Dave Wecker Wally Wedel
+ Sven-Ove Westberg Brian Wideen
+ John Wobus Glenn Wright
+ Rayan Zachariassen David Zimmerman
+
+ The authors apologize for any omissions from this list, which are
+ certainly unintentional.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 14]
+
+RFC 2049 MIME Conformance November 1996
+
+
+Appendix A -- A Complex Multipart Example
+
+ What follows is the outline of a complex multipart message. This
+ message contains five parts that are to be displayed serially: two
+ introductory plain text objects, an embedded multipart message, a
+ text/enriched object, and a closing encapsulated text message in a
+ non-ASCII character set. The embedded multipart message itself
+ contains two objects to be displayed in parallel, a picture and an
+ audio fragment.
+
+ MIME-Version: 1.0
+ From: Nathaniel Borenstein <nsb@nsb.fv.com>
+ To: Ned Freed <ned@innosoft.com>
+ Date: Fri, 07 Oct 1994 16:15:05 -0700 (PDT)
+ Subject: A multipart example
+ Content-Type: multipart/mixed;
+ boundary=unique-boundary-1
+
+ This is the preamble area of a multipart message.
+ Mail readers that understand multipart format
+ should ignore this preamble.
+
+ If you are reading this text, you might want to
+ consider changing to a mail reader that understands
+ how to properly display multipart messages.
+
+ --unique-boundary-1
+
+ ... Some text appears here ...
+
+ [Note that the blank between the boundary and the start
+ of the text in this part means no header fields were
+ given and this is text in the US-ASCII character set.
+ It could have been done with explicit typing as in the
+ next part.]
+
+ --unique-boundary-1
+ Content-type: text/plain; charset=US-ASCII
+
+ This could have been part of the previous part, but
+ illustrates explicit versus implicit typing of body
+ parts.
+
+ --unique-boundary-1
+ Content-Type: multipart/parallel; boundary=unique-boundary-2
+
+ --unique-boundary-2
+ Content-Type: audio/basic
+
+
+
+Freed & Borenstein Standards Track [Page 15]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ Content-Transfer-Encoding: base64
+
+ ... base64-encoded 8000 Hz single-channel
+ mu-law-format audio data goes here ...
+
+ --unique-boundary-2
+ Content-Type: image/jpeg
+ Content-Transfer-Encoding: base64
+
+ ... base64-encoded image data goes here ...
+
+ --unique-boundary-2--
+
+ --unique-boundary-1
+ Content-type: text/enriched
+
+ This is <bold><italic>enriched.</italic></bold>
+ <smaller>as defined in RFC 1896</smaller>
+
+ Isn't it
+ <bigger><bigger>cool?</bigger></bigger>
+
+ --unique-boundary-1
+ Content-Type: message/rfc822
+
+ From: (mailbox in US-ASCII)
+ To: (address in US-ASCII)
+ Subject: (subject in US-ASCII)
+ Content-Type: Text/plain; charset=ISO-8859-1
+ Content-Transfer-Encoding: Quoted-printable
+
+ ... Additional text in ISO-8859-1 goes here ...
+
+ --unique-boundary-1--
+
+Appendix B -- Changes from RFC 1521, 1522, and 1590
+
+ These documents are a revision of RFC 1521, 1522, and 1590. For the
+ convenience of those familiar with the earlier documents, the changes
+ from those documents are summarized in this appendix. For further
+ history, note that Appendix H in RFC 1521 specified how that document
+ differed from its predecessor, RFC 1341.
+
+ (1) This document has been completely reformatted and split
+ into multiple documents. This was done to improve the
+ quality of the plain text version of this document,
+ which is required to be the reference copy.
+
+
+
+
+Freed & Borenstein Standards Track [Page 16]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ (2) BNF describing the overall structure of MIME object
+ headers has been added. This is a documentation change
+ only -- the underlying syntax has not changed in any
+ way.
+
+ (3) The specific BNF for the seven media types in MIME has
+ been removed. This BNF was incorrect, incomplete, amd
+ inconsistent with the type-indendependent BNF. And
+ since the type-independent BNF already fully specifies
+ the syntax of the various MIME headers, the type-
+ specific BNF was, in the final analysis, completely
+ unnecessary and caused more problems than it solved.
+
+ (4) The more specific "US-ASCII" character set name has
+ replaced the use of the informal term ASCII in many
+ parts of these documents.
+
+ (5) The informal concept of a primary subtype has been
+ removed.
+
+ (6) The term "object" was being used inconsistently. The
+ definition of this term has been clarified, along with
+ the related terms "body", "body part", and "entity",
+ and usage has been corrected where appropriate.
+
+ (7) The BNF for the multipart media type has been
+ rearranged to make it clear that the CRLF preceeding
+ the boundary marker is actually part of the marker
+ itself rather than the preceeding body part.
+
+ (8) The prose and BNF describing the multipart media type
+ have been changed to make it clear that the body parts
+ within a multipart object MUST NOT contain any lines
+ beginning with the boundary parameter string.
+
+ (9) In the rules on reassembling "message/partial" MIME
+ entities, "Subject" is added to the list of headers to
+ take from the inner message, and the example is
+ modified to clarify this point.
+
+ (10) "Message/partial" fragmenters are restricted to
+ splitting MIME objects only at line boundaries.
+
+ (11) In the discussion of the application/postscript type,
+ an additional paragraph has been added warning about
+ possible interoperability problems caused by embedding
+ of binary data inside a PostScript MIME entity.
+
+
+
+
+Freed & Borenstein Standards Track [Page 17]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ (12) Added a clarifying note to the basic syntax rules for
+ the Content-Type header field to make it clear that the
+ following two forms:
+
+ Content-type: text/plain; charset=us-ascii (comment)
+
+ Content-type: text/plain; charset="us-ascii"
+
+ are completely equivalent.
+
+ (13) The following sentence has been removed from the
+ discussion of the MIME-Version header: "However,
+ conformant software is encouraged to check the version
+ number and at least warn the user if an unrecognized
+ MIME-version is encountered."
+
+ (14) A typo was fixed that said "application/external-body"
+ instead of "message/external-body".
+
+ (15) The definition of a character set has been reorganized
+ to make the requirements clearer.
+
+ (16) The definition of the "image/gif" media type has been
+ moved to a separate document. This change was made
+ because of potential conflicts with IETF rules
+ governing the standardization of patented technology.
+
+ (17) The definitions of "7bit" and "8bit" have been
+ tightened so that use of bare CR, LF can only be used
+ as end-of-line sequences. The document also no longer
+ requires that NUL characters be preserved, which brings
+ MIME into alignment with real-world implementations.
+
+ (18) The definition of canonical text in MIME has been
+ tightened so that line breaks must be represented by a
+ CRLF sequence. CR and LF characters are not allowed
+ outside of this usage. The definition of quoted-
+ printable encoding has been altered accordingly.
+
+ (19) The definition of the quoted-printable encoding now
+ includes a number of suggestions for how quoted-
+ printable encoders might best handle improperly encoded
+ material.
+
+ (20) Prose was added to clarify the use of the "7bit",
+ "8bit", and "binary" transfer-encodings on multipart or
+ message entities encapsulating "8bit" or "binary" data.
+
+
+
+
+Freed & Borenstein Standards Track [Page 18]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ (21) In the section on MIME Conformance, "multipart/digest"
+ support was added to the list of requirements for
+ minimal MIME conformance. Also, the requirement for
+ "message/rfc822" support were strengthened to clarify
+ the importance of recognizing recursive structure.
+
+ (22) The various restrictions on subtypes of "message" are
+ now specified entirely on a subtype by subtype basis.
+
+ (23) The definition of "message/rfc822" was changed to
+ indicate that at least one of the "From", "Subject", or
+ "Date" headers must be present.
+
+ (24) The required handling of unrecognized subtypes as
+ "application/octet-stream" has been made more explicit
+ in both the type definitions sections and the
+ conformance guidelines.
+
+ (25) Examples using text/richtext were changed to
+ text/enriched.
+
+ (26) The BNF definition of subtype has been changed to make
+ it clear that either an IANA registered subtype or a
+ nonstandard "X-" subtype must be used in a Content-Type
+ header field.
+
+ (27) MIME media types that are simply registered for use and
+ those that are standardized by the IETF are now
+ distinguished in the MIME BNF.
+
+ (28) All of the various MIME registration procedures have
+ been extensively revised. IANA registration procedures
+ for character sets have been moved to a separate
+ document that is no included in this set of documents.
+
+ (29) The use of escape and shift mechanisms in the US-ASCII
+ and ISO-8859-X character sets these documents define
+ have been clarified: Such mechanisms should never be
+ used in conjunction with these character sets and their
+ effect if they are used is undefined.
+
+ (30) The definition of the AFS access-type for
+ message/external-body has been removed.
+
+ (31) The handling of the combination of
+ multipart/alternative and message/external-body is now
+ specifically addressed.
+
+
+
+
+Freed & Borenstein Standards Track [Page 19]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ (32) Security issues specific to message/external-body are
+ now discussed in some detail.
+
+Appendix C -- References
+
+ [ATK]
+ Borenstein, Nathaniel S., Multimedia Applications
+ Development with the Andrew Toolkit, Prentice-Hall, 1990.
+
+ [ISO-2022]
+ International Standard -- Information Processing --
+ Character Code Structure and Extension Techniques,
+ ISO/IEC 2022:1994, 4th ed.
+
+ [ISO-8859]
+ International Standard -- Information Processing -- 8-bit
+ Single-Byte Coded Graphic Character Sets
+ - Part 1: Latin Alphabet No. 1, ISO 8859-1:1987, 1st ed.
+ - Part 2: Latin Alphabet No. 2, ISO 8859-2:1987, 1st ed.
+ - Part 3: Latin Alphabet No. 3, ISO 8859-3:1988, 1st ed.
+ - Part 4: Latin Alphabet No. 4, ISO 8859-4:1988, 1st ed.
+ - Part 5: Latin/Cyrillic Alphabet, ISO 8859-5:1988, 1st
+ ed.
+ - Part 6: Latin/Arabic Alphabet, ISO 8859-6:1987, 1st ed.
+ - Part 7: Latin/Greek Alphabet, ISO 8859-7:1987, 1st ed.
+ - Part 8: Latin/Hebrew Alphabet, ISO 8859-8:1988, 1st ed.
+ - Part 9: Latin Alphabet No. 5, ISO/IEC 8859-9:1989, 1st
+ ed.
+ International Standard -- Information Technology -- 8-bit
+ Single-Byte Coded Graphic Character Sets
+ - Part 10: Latin Alphabet No. 6, ISO/IEC 8859-10:1992,
+ 1st ed.
+
+ [ISO-646]
+ International Standard -- Information Technology -- ISO
+ 7-bit Coded Character Set for Information Interchange,
+ ISO 646:1991, 3rd ed..
+
+ [JPEG]
+ JPEG Draft Standard ISO 10918-1 CD.
+
+ [MPEG]
+ Video Coding Draft Standard ISO 11172 CD, ISO
+ IEC/JTC1/SC2/WG11 (Motion Picture Experts Group), May,
+ 1991.
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 20]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ [PCM]
+ CCITT, Fascicle III.4 - Recommendation G.711, "Pulse Code
+ Modulation (PCM) of Voice Frequencies", Geneva, 1972.
+
+ [POSTSCRIPT]
+ Adobe Systems, Inc., PostScript Language Reference
+ Manual, Addison-Wesley, 1985.
+
+ [POSTSCRIPT2]
+ Adobe Systems, Inc., PostScript Language Reference
+ Manual, Addison-Wesley, Second Ed., 1990.
+
+ [RFC-783]
+ Sollins, K.R., "TFTP Protocol (revision 2)", RFC-783,
+ MIT, June 1981.
+
+ [RFC-821]
+ Postel, J.B., "Simple Mail Transfer Protocol", STD 10,
+ RFC 821, USC/Information Sciences Institute, August 1982.
+
+ [RFC-822]
+ Crocker, D., "Standard for the Format of ARPA Internet
+ Text Messages", STD 11, RFC 822, UDEL, August 1982.
+
+ [RFC-934]
+ Rose, M. and E. Stefferud, "Proposed Standard for Message
+ Encapsulation", RFC 934, Delaware and NMA, January 1985.
+
+ [RFC-959]
+ Postel, J. and J. Reynolds, "File Transfer Protocol", STD
+ 9, RFC 959, USC/Information Sciences Institute, October
+ 1985.
+
+ [RFC-1049]
+ Sirbu, M., "Content-Type Header Field for Internet
+ Messages", RFC 1049, CMU, March 1988.
+
+ [RFC-1154]
+ Robinson, D., and R. Ullmann, "Encoding Header Field for
+ Internet Messages", RFC 1154, Prime Computer, Inc., April
+ 1990.
+
+ [RFC-1341]
+ Borenstein, N., and N. Freed, "MIME (Multipurpose
+ Internet Mail Extensions): Mechanisms for Specifying and
+ Describing the Format of Internet Message Bodies", RFC
+ 1341, Bellcore, Innosoft, June 1992.
+
+
+
+
+Freed & Borenstein Standards Track [Page 21]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ [RFC-1342]
+ Moore, K., "Representation of Non-Ascii Text in Internet
+ Message Headers", RFC 1342, University of Tennessee, June
+ 1992.
+
+ [RFC-1344]
+ Borenstein, N., "Implications of MIME for Internet Mail
+ Gateways", RFC 1344, Bellcore, June 1992.
+
+ [RFC-1345]
+ Simonsen, K., "Character Mnemonics & Character Sets", RFC
+ 1345, Rationel Almen Planlaegning, June 1992.
+
+ [RFC-1421]
+ Linn, J., "Privacy Enhancement for Internet Electronic
+ Mail: Part I -- Message Encryption and Authentication
+ Procedures", RFC 1421, IAB IRTF PSRG, IETF PEM WG,
+ February 1993.
+
+ [RFC-1422]
+ Kent, S., "Privacy Enhancement for Internet Electronic
+ Mail: Part II -- Certificate-Based Key Management", RFC
+ 1422, IAB IRTF PSRG, IETF PEM WG, February 1993.
+
+ [RFC-1423]
+ Balenson, D., "Privacy Enhancement for Internet
+ Electronic Mail: Part III -- Algorithms, Modes, and
+ Identifiers", IAB IRTF PSRG, IETF PEM WG, February 1993.
+
+ [RFC-1424]
+ Kaliski, B., "Privacy Enhancement for Internet Electronic
+ Mail: Part IV -- Key Certification and Related
+ Services", IAB IRTF PSRG, IETF PEM WG, February 1993.
+
+ [RFC-1521]
+ Borenstein, N., and Freed, N., "MIME (Multipurpose
+ Internet Mail Extensions): Mechanisms for Specifying and
+ Describing the Format of Internet Message Bodies", RFC
+ 1521, Bellcore, Innosoft, September, 1993.
+
+ [RFC-1522]
+ Moore, K., "Representation of Non-ASCII Text in Internet
+ Message Headers", RFC 1522, University of Tennessee,
+ September 1993.
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 22]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ [RFC-1524]
+ Borenstein, N., "A User Agent Configuration Mechanism for
+ Multimedia Mail Format Information", RFC 1524, Bellcore,
+ September 1993.
+
+ [RFC-1543]
+ Postel, J., "Instructions to RFC Authors", RFC 1543,
+ USC/Information Sciences Institute, October 1993.
+
+ [RFC-1556]
+ Nussbacher, H., "Handling of Bi-directional Texts in
+ MIME", RFC 1556, Israeli Inter-University Computer
+ Center, December 1993.
+
+ [RFC-1590]
+ Postel, J., "Media Type Registration Procedure", RFC
+ 1590, USC/Information Sciences Institute, March 1994.
+
+ [RFC-1602]
+ Internet Architecture Board, Internet Engineering
+ Steering Group, Huitema, C., Gross, P., "The Internet
+ Standards Process -- Revision 2", March 1994.
+
+ [RFC-1652]
+ Klensin, J., (WG Chair), Freed, N., (Editor), Rose, M.,
+ Stefferud, E., and Crocker, D., "SMTP Service Extension
+ for 8bit-MIME transport", RFC 1652, United Nations
+ University, Innosoft, Dover Beach Consulting, Inc.,
+ Network Management Associates, Inc., The Branch Office,
+ March 1994.
+
+ [RFC-1700]
+ Reynolds, J. and J. Postel, "Assigned Numbers", STD 2,
+ RFC 1700, USC/Information Sciences Institute, October
+ 1994.
+
+ [RFC-1741]
+ Faltstrom, P., Crocker, D., and Fair, E., "MIME Content
+ Type for BinHex Encoded Files", December 1994.
+
+ [RFC-1896]
+ Resnick, P., and A. Walker, "The text/enriched MIME
+ Content-type", RFC 1896, February, 1996.
+
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 23]
+
+RFC 2049 MIME Conformance November 1996
+
+
+ [RFC-2045]
+ Freed, N., and and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message
+ Bodies", RFC 2045, Innosoft, First Virtual Holdings,
+ November 1996.
+
+ [RFC-2046]
+ Freed, N., and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", RFC 2046,
+ Innosoft, First Virtual Holdings, November 1996.
+
+ [RFC-2047]
+ Moore, K., "Multipurpose Internet Mail Extensions (MIME)
+ Part Three: Representation of Non-ASCII Text in Internet
+ Message Headers", RFC 2047, University of
+ Tennessee, November 1996.
+
+ [RFC-2048]
+ Freed, N., Klensin, J., and J. Postel, "Multipurpose
+ Internet Mail Extensions (MIME) Part Four: MIME
+ Registration Procedures", RFC 2048, Innosoft, MCI,
+ ISI, November 1996.
+
+ [RFC-2049]
+ Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Five: Conformance Criteria and
+ Examples", RFC 2049 (this document), Innosoft, First
+ Virtual Holdings, November 1996.
+
+ [US-ASCII]
+ Coded Character Set -- 7-Bit American Standard Code for
+ Information Interchange, ANSI X3.4-1986.
+
+ [X400]
+ Schicker, Pietro, "Message Handling Systems, X.400",
+ Message Handling Systems and Distributed Applications, E.
+ Stefferud, O-j. Jacobsen, and P. Schicker, eds., North-
+ Holland, 1989, pp. 3-41.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Freed & Borenstein Standards Track [Page 24]
+
diff --git a/Documentation/en/rfc/rfc2065.txt b/Documentation/en/rfc/rfc2065.txt
new file mode 100644
index 00000000..b0351447
--- /dev/null
+++ b/Documentation/en/rfc/rfc2065.txt
@@ -0,0 +1,2299 @@
+
+
+
+
+
+
+Network Working Group D. Eastlake, 3rd
+Request for Comments: 2065 CyberCash
+Updates: 1034, 1035 C. Kaufman
+Category: Standards Track Iris
+ January 1997
+
+
+ Domain Name System Security Extensions
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ The Domain Name System (DNS) has become a critical operational part
+ of the Internet infrastructure yet it has no strong security
+ mechanisms to assure data integrity or authentication. Extensions to
+ the DNS are described that provide these services to security aware
+ resolvers or applications through the use of cryptographic digital
+ signatures. These digital signatures are included in secured zones
+ as resource records. Security can still be provided even through
+ non-security aware DNS servers in many cases.
+
+ The extensions also provide for the storage of authenticated public
+ keys in the DNS. This storage of keys can support general public key
+ distribution service as well as DNS security. The stored keys enable
+ security aware resolvers to learn the authenticating key of zones in
+ addition to those for which they are initially configured. Keys
+ associated with DNS names can be retrieved to support other
+ protocols. Provision is made for a variety of key types and
+ algorithms.
+
+ In addition, the security extensions provide for the optional
+ authentication of DNS protocol transactions.
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 1]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+Acknowledgments
+
+ The significant contributions of the following persons (in alphabetic
+ order) to this document are gratefully acknowledged:
+
+ Harald T. Alvestrand
+ Madelyn Badger
+ Scott Bradner
+ Matt Crawford
+ James M. Galvin
+ Olafur Gudmundsson
+ Edie Gunter
+ Sandy Murphy
+ Masataka Ohta
+ Michael A. Patton
+ Jeffrey I. Schiller
+
+Table of Contents
+
+ 1. Overview of Contents....................................3
+ 2. Overview of the DNS Extensions.........................4
+ 2.1 Services Not Provided..................................4
+ 2.2 Key Distribution.......................................5
+ 2.3 Data Origin Authentication and Integrity...............5
+ 2.3.1 The SIG Resource Record..............................6
+ 2.3.2 Authenticating Name and Type Non-existence...........7
+ 2.3.3 Special Considerations With Time-to-Live.............7
+ 2.3.4 Special Considerations at Delegation Points..........7
+ 2.3.5 Special Considerations with CNAME RRs................8
+ 2.3.6 Signers Other Than The Zone..........................8
+ 2.4 DNS Transaction and Request Authentication.............8
+ 3. The KEY Resource Record.................................9
+ 3.1 KEY RDATA format......................................10
+ 3.2 Object Types, DNS Names, and Keys.....................10
+ 3.3 The KEY RR Flag Field.................................11
+ 3.4 The Protocol Octet....................................13
+ 3.5 The KEY Algorithm Number and the MD5/RSA Algorithm....13
+ 3.6 Interaction of Flags, Algorithm, and Protocol Bytes...14
+ 3.7 KEY RRs in the Construction of Responses..............15
+ 3.8 File Representation of KEY RRs........................16
+ 4. The SIG Resource Record................................16
+ 4.1 SIG RDATA Format......................................17
+ 4.1.1 Signature Data......................................19
+ 4.1.2 MD5/RSA Algorithm Signature Calculation.............20
+ 4.1.3 Zone Transfer (AXFR) SIG............................21
+ 4.1.4 Transaction and Request SIGs........................22
+ 4.2 SIG RRs in the Construction of Responses..............23
+ 4.3 Processing Responses and SIG RRs......................24
+
+
+
+Eastlake & Kaufman Standards Track [Page 2]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ 4.4 Signature Expiration, TTLs, and Validity..............24
+ 4.5 File Representation of SIG RRs........................25
+ 5. Non-existent Names and Types...........................26
+ 5.1 The NXT Resource Record...............................26
+ 5.2 NXT RDATA Format......................................27
+ 5.3 Example...............................................28
+ 5.4 Interaction of NXT RRs and Wildcard RRs...............28
+ 5.5 Blocking NXT Pseudo-Zone Transfers....................29
+ 5.6 Special Considerations at Delegation Points...........29
+ 6. The AD and CD Bits and How to Resolve Securely.........30
+ 6.1 The AD and CD Header Bits.............................30
+ 6.2 Boot File Format......................................32
+ 6.3 Chaining Through Zones................................32
+ 6.4 Secure Time...........................................33
+ 7. Operational Considerations.............................33
+ 7.1 Key Size Considerations...............................34
+ 7.2 Key Storage...........................................34
+ 7.3 Key Generation........................................35
+ 7.4 Key Lifetimes.........................................35
+ 7.5 Signature Lifetime....................................36
+ 7.6 Root..................................................36
+ 8. Conformance............................................36
+ 8.1 Server Conformance....................................36
+ 8.2 Resolver Conformance..................................37
+ 9. Security Considerations................................37
+ References................................................38
+ Authors' Addresses........................................39
+ Appendix: Base 64 Encoding................................40
+
+1. Overview of Contents
+
+ This document describes extensions of the Domain Name System (DNS)
+ protocol to support DNS security and public key distribution. It
+ assumes that the reader is familiar with the Domain Name System,
+ particularly as described in RFCs 1033, 1034, and 1035.
+
+ Section 2 provides an overview of the extensions and the key
+ distribution, data origin authentication, and transaction and request
+ security they provide.
+
+ Section 3 discusses the KEY resource record, its structure, use in
+ DNS responses, and file representation. These resource records
+ represent the public keys of entities named in the DNS and are used
+ for key distribution.
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 3]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ Section 4 discusses the SIG digital signature resource record, its
+ structure, use in DNS responses, and file representation. These
+ resource records are used to authenticate other resource records in
+ the DNS and optionally to authenticate DNS transactions and requests.
+
+ Section 5 discusses the NXT resource record and its use in DNS
+ responses. The NXT RR permits authenticated denial in the DNS of the
+ existence of a name or of a particular type for an existing name.
+
+ Section 6 discusses how a resolver can be configured with a starting
+ key or keys and proceed to securely resolve DNS requests.
+ Interactions between resolvers and servers are discussed for all
+ combinations of security aware and security non-aware. Two
+ additional query header bits are defined for signaling between
+ resolvers and servers.
+
+ Section 7 reviews a variety of operational considerations including
+ key generation, lifetime, and storage.
+
+ Section 8 defines levels of conformance for resolvers and servers.
+
+ Section 9 provides a few paragraphs on overall security
+ considerations.
+
+ An Appendix is provided that gives details of base 64 encoding which
+ is used in the file representation of some RR's defined in this
+ document.
+
+2. Overview of the DNS Extensions
+
+ The Domain Name System (DNS) protocol security extensions provide
+ three distinct services: key distribution as described in Section 2.2
+ below, data origin authentication as described in Section 2.3 below,
+ and transaction and request authentication, described in Section 2.4
+ below.
+
+ Special considerations related to "time to live", CNAMEs, and
+ delegation points are also discussed in Section 2.3.
+
+2.1 Services Not Provided
+
+ It is part of the design philosophy of the DNS that the data in it is
+ public and that the DNS gives the same answers to all inquirers.
+
+ Following this philosophy, no attempt has been made to include any
+ sort of access control lists or other means to differentiate
+ inquirers.
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 4]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ In addition, no effort has been made to provide for any
+ confidentiality for queries or responses. (This service may be
+ available via IPSEC [RFC 1825].)
+
+2.2 Key Distribution
+
+ Resource records (RRs) are defined to associate keys with DNS names.
+ This permits the DNS to be used as a public key distribution
+ mechanism in support of the DNS data origin authentication and other
+ security services.
+
+ The syntax of a KEY resource record (RR) is described in Section 3.
+ It includes an algorithm identifier, the actual public key
+ parameters, and a variety of flags including those indicating the
+ type of entity the key is associated with and/or asserting that there
+ is no key associated with that entity.
+
+ Under conditions described in Section 3.7, security aware DNS servers
+ will automatically attempt to return KEY resources as additional
+ information, along with those resource records actually requested, to
+ minimize the number of queries needed.
+
+2.3 Data Origin Authentication and Integrity
+
+ Authentication is provided by associating with resource records in
+ the DNS cryptographically generated digital signatures. Commonly,
+ there will be a single private key that signs for an entire zone. If
+ a security aware resolver reliably learns the public key of the zone,
+ it can verify, for signed data read from that zone, that it was
+ properly authorized and is reasonably current. The expected
+ implementation is for the zone private key to be kept off-line and
+ used to re-sign all of the records in the zone periodically.
+
+ This data origin authentication key belongs to the zone and not to
+ the servers that store copies of the data. That means compromise of
+ a server or even all servers for a zone will not necessarily affect
+ the degree of assurance that a resolver has that it can determine
+ whether data is genuine.
+
+ A resolver can learn the public key of a zone either by reading it
+ from DNS or by having it staticly configured. To reliably learn the
+ public key by reading it from DNS, the key itself must be signed.
+ Thus, to provide a reasonable degree of security, the resolver must
+ be configured with at least the public key of one zone that it can
+ use to authenticate signatures. From there, it can securely read the
+ public keys of other zones, if the intervening zones in the DNS tree
+ are secure and their signed keys accessible. (It is in principle
+ more secure to have the resolver manually configured with the public
+
+
+
+Eastlake & Kaufman Standards Track [Page 5]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ keys of multiple zones, since then the compromise of a single zone
+ would not permit the faking of information from other zones. It is
+ also more administratively cumbersome, however, particularly when
+ public keys change.)
+
+ Adding data origin authentication and integrity requires no change to
+ the "on-the-wire" DNS protocol beyond the addition of the signature
+ resource type and, as a practical matter, the key resource type
+ needed for key distribution. This service can be supported by
+ existing resolver and server implementations so long as they can
+ support the additional resource types (see Section 8). The one
+ exception is that CNAME referrals from a secure zone can not be
+ authenticated if they are from non-security aware servers (see
+ Section 2.3.5).
+
+ If signatures are always separately retrieved and verified when
+ retrieving the information they authenticate, there will be more
+ trips to the server and performance will suffer. To avoid this,
+ security aware servers mitigate that degradation by always attempting
+ to send the signature(s) needed.
+
+2.3.1 The SIG Resource Record
+
+ The syntax of a SIG resource record (signature) is described in
+ Section 4. It includes the type of the RR(s) being signed, the name
+ of the signer, the time at which the signature was created, the time
+ it expires (when it is no longer to be believed), its original time
+ to live (which may be longer than its current time to live but cannot
+ be shorter), the cryptographic algorithm in use, and the actual
+ signature.
+
+ Every name in a secured zone will have associated with it at least
+ one SIG resource record for each resource type under that name except
+ for glue RRs and delgation point NS RRs. A security aware server
+ supporting the performance enhanced version of the DNS protocol
+ security extensions will attempt to return, with RRs retrieved, the
+ corresponding SIGs. If a server does not support the protocol, the
+ resolver must retrieve all the SIG records for a name and select the
+ one or ones that sign the resource record(s) that resolver is
+ interested in.
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 6]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+2.3.2 Authenticating Name and Type Non-existence
+
+ The above security mechanism provides only a way to sign existing RRs
+ in a zone. "Data origin" authentication is not obviously provided
+ for the non-existence of a domain name in a zone or the non-existence
+ of a type for an existing name. This gap is filled by the NXT RR
+ which authenticatably asserts a range of non-existent names in a zone
+ and the non-existence of types for the name just before that range.
+
+ Section 5 below covers the NXT RR.
+
+2.3.3 Special Considerations With Time-to-Live
+
+ A digital signature will fail to verify if any change has occurred to
+ the data between the time it was originally signed and the time the
+ signature is verified. This conflicts with our desire to have the
+ time-to-live field tick down when resource records are cached.
+
+ This could be avoided by leaving the time-to-live out of the digital
+ signature, but that would allow unscrupulous servers to set
+ arbitrarily long time to live values undetected. Instead, we include
+ the "original" time-to-live in the signature and communicate that
+ data in addition to the current time-to-live. Unscrupulous servers
+ under this scheme can manipulate the time to live but a security
+ aware resolver will bound the TTL value it uses at the original
+ signed value. Separately, signatures include a time signed and an
+ expiration time. A resolver that knows the absolute time can
+ determine securely whether a signature has expired. It is not
+ possible to rely solely on the signature expiration as a substitute
+ for the TTL, however, since the TTL is primarily a database
+ consistency mechanism and, in any case, non-security aware servers
+ that depend on TTL must still be supported.
+
+2.3.4 Special Considerations at Delegation Points
+
+ DNS security would like to view each zone as a unit of data
+ completely under the control of the zone owner and signed by the
+ zone's key. But the operational DNS views the leaf nodes in a zone,
+ which are also the apex nodes of a subzone (i.e., delegation points),
+ as "really" belonging to the subzone. These nodes occur in two
+ master files and may have RRs signed by both the upper and lower
+ zone's keys. A retrieval could get a mixture of these RRs and SIGs,
+ especially since one server could be serving both the zone above and
+ below a delegation point.
+
+ In general, there must be a zone KEY RR for the subzone in the
+ superzone and the copy signed in the superzone is controlling. For
+ all but one other RR type that should appearing in both the superzone
+
+
+
+Eastlake & Kaufman Standards Track [Page 7]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ and subzone, the data from the subzone is more authoritative. To
+ avoid conflicts, only the KEY RR in the superzone should be signed
+ and the NS and any A (glue) RRs should only be signed in the subzone.
+ The SOA and any other RRs that have the zone name as owner should
+ appear only in the subzone and thus are signed there. The NXT RR type
+ is an exceptional case that will always appear differently and
+ authoritatively in both the superzone and subzone, if both are
+ secure, as described in Section 5.
+
+2.3.5 Special Considerations with CNAME RRs
+
+ There is a significant problem when security related RRs with the
+ same owner name as a CNAME RR are retrieved from a non-security-aware
+ server. In particular, an initial retrieval for the CNAME or any
+ other type will not retrieve any associated signature, key, or NXT
+ RR. For types other than CNAME, it will retrieve that type at the
+ target name of the CNAME (or chain of CNAMEs) and will return the
+ CNAME as additional information. In particular, a specific retrieval
+ for type SIG will not get the SIG, if any, at the original CNAME
+ domain name but rather a SIG at the target name.
+
+ In general, security aware servers MUST be used to securely CNAME in
+ DNS. Security aware servers must (1) allow KEY, SIG, and NXT RRs
+ along with CNAME RRs, (2) suppress CNAME processing on retrieval of
+ these types as well as on retrieval of the type CNAME, and (3)
+ automatically return SIG RRs authenticating the CNAME or CNAMEs
+ encountered in resolving a query. This is a change from the previous
+ DNS standard which prohibited any other RR type at a node where a
+ CNAME RR was present.
+
+2.3.6 Signers Other Than The Zone
+
+ There are two cases where a SIG resource record is signed by other
+ than the zone private key. One is for support of dynamic update
+ where an entity is permitted to authenticate/update its own records.
+ The public key of the entity must be present in the DNS and be
+ appropriately signed but the other RR(s) may be signed with the
+ entity's key. The other is for support of transaction and request
+ authentication as described in Section 2.4 immediately below.
+
+2.4 DNS Transaction and Request Authentication
+
+ The data origin authentication service described above protects
+ retrieved resource records but provides no protection for DNS
+ requests or for message headers.
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 8]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ If header bits are falsely set by a server, there is little that can
+ be done. However, it is possible to add transaction authentication.
+ Such authentication means that a resolver can be sure it is at least
+ getting messages from the server it thinks it queried, that the
+ response is from the query it sent, and that these messages have not
+ been diddled in transit. This is accomplished by optionally adding a
+ special SIG resource record at the end of the reply which digitally
+ signs the concatenation of the server's response and the resolver's
+ query.
+
+ Requests can also be authenticated by including a special SIG RR at
+ the end of the request. Authenticating requests serves no function
+ in the current DNS and requests with a non-empty additional
+ information section are ignored by almost all current DNS servers.
+ However, this syntax for signing requests is defined in connection
+ with authenticating future secure dynamic update requests or the
+ like.
+
+ The private keys used in transaction and request security belongs to
+ the host composing the request or reply message, not to the zone
+ involved. The corresponding public key is normally stored in and
+ retrieved from the DNS.
+
+ Because requests and replies are highly variable, message
+ authentication SIGs can not be pre-calculated. Thus it will be
+ necessary to keep the private key on-line, for example in software or
+ in a directly connected piece of hardware.
+
+3. The KEY Resource Record
+
+ The KEY resource record (RR) is used to document a key that is
+ associated with a Domain Name System (DNS) name. It will be a public
+ key as only public keys are stored in the DNS. This can be the
+ public key of a zone, a host or other end entity, or a user. A KEY
+ RR is, like any other RR, authenticated by a SIG RR. Security aware
+ DNS implementations MUST be designed to handle at least two
+ simultaneously valid keys of the same type associated with a name.
+
+ The type number for the KEY RR is 25.
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 9]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+3.1 KEY RDATA format
+
+ The RDATA for a KEY RR consists of flags, a protocol octet, the
+ algorithm number, and the public key itself. The format is as
+ follows:
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | flags | protocol | algorithm |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | /
+ / public key /
+ / /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+
+ The meaning of the KEY RR owner name, flags, and protocol octet are
+ described in Sections 3.2, 3.3 and 3.4 below respectively. The flags
+ and algorithm must be examined before any data following the
+ algorithm octet as they control the format and even whether there is
+ any following data. The algorithm and public key fields are
+ described in Section 3.5. The format of the public key is algorithm
+ dependent.
+
+3.2 Object Types, DNS Names, and Keys
+
+ The public key in a KEY RR belongs to the object named in the owner
+ name.
+
+ This DNS name may refer to up to three different categories of
+ things. For example, dee.cybercash.com could be (1) a zone, (2) a
+ host or other end entity , and (3) the mapping into a DNS name of the
+ user or account dee@cybercash.com. Thus, there are flags, as
+ described below, in the KEY RR to indicate with which of these roles
+ the owner name and public key are associated. Note that an
+ appropriate zone KEY RR MUST occur at the apex node of a secure zone
+ and at every leaf node which is a delegation point (and thus the same
+ owner name as the apex of a subzone) within a secure zone.
+
+ Although the same name can be used for up to all three of these
+ categories, such overloading of a name is discouraged. It is also
+ possible to use the same key for different things with the same name
+ or even different names, but this is strongly discouraged. In
+ particular, the use of a zone key as a non-zone key will usually
+ require that the corresponding private key be kept on line and
+ thereby become more vulnerable.
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 10]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ In addition to the name type bits, there are additional flag bits
+ including the "type" field, "experimental" bit, "signatory" field,
+ etc., as described below.
+
+3.3 The KEY RR Flag Field
+
+ In the "flags" field:
+
+ Bit 0 and 1 are the key "type" field. Bit 0 a one indicates
+ that use of the key is prohibited for authentication. Bit 1 a one
+ indicates that use of the key is prohibited for confidentiality. If
+ this field is zero, then use of the key for authentication and/or
+ confidentiality is permitted. Note that DNS security makes use of
+ keys for authentication only. Confidentiality use flagging is
+ provided for use of keys in other protocols. Implementations not
+ intended to support key distribution for confidentiality MAY require
+ that the confidentiality use prohibited bit be on for keys they
+ serve. If both bits of this field are one, the "no key" value, there
+ is no key information and the RR stops after the algorithm octet. By
+ the use of this "no key" value, a signed KEY RR can authenticatably
+ assert that, for example, a zone is not secured.
+
+ Bit 2 is the "experimental" bit. It is ignored if the type
+ field indicates "no key" and the following description assumes that
+ type field to be non-zero. Keys may be associated with zones,
+ entities, or users for experimental, trial, or optional use, in which
+ case this bit will be one. If this bit is a zero, it means that the
+ use or availability of security based on the key is "mandatory".
+ Thus, if this bit is off for a zone key, the zone should be assumed
+ secured by SIG RRs and any responses indicating the zone is not
+ secured should be considered bogus. If this bit is a one for a host
+ or end entity, it might sometimes operate in a secure mode and at
+ other times operate without security. The experimental bit, like all
+ other aspects of the KEY RR, is only effective if the KEY RR is
+ appropriately signed by a SIG RR. The experimental bit must be zero
+ for safe secure operation and should only be a one for a minimal
+ transition period.
+
+ Bits 3-4 are reserved and must be zero.
+
+ Bit 5 on indicates that this is a key associated with a "user"
+ or "account" at an end entity, usually a host. The coding of the
+ owner name is that used for the responsible individual mailbox in the
+ SOA and RP RRs: The owner name is the user name as the name of a node
+ under the entity name. For example, "j.random_user" on
+ host.subdomain.domain could have a public key associated through a
+ KEY RR with name j\.random_user.host.subdomain.domain and the user
+ bit a one. It could be used in an security protocol where
+
+
+
+Eastlake & Kaufman Standards Track [Page 11]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ authentication of a user was desired. This key might be useful in IP
+ or other security for a user level service such a telnet, ftp,
+ rlogin, etc.
+
+ Bit 6 on indicates that this is a key associated with the non-
+ zone "entity" whose name is the RR owner name. This will commonly be
+ a host but could, in some parts of the DNS tree, be some other type
+ of entity such as a telephone number [RFC 1530]. This is the public
+ key used in connection with the optional DNS transaction
+ authentication service if the owner name is a DNS server host. It
+ could also be used in an IP-security protocol where authentication of
+ at the host, rather than user, level was desired, such as routing,
+ NTP, etc.
+
+ Bit 7 is the "zone" bit and indicates that this is a zone key
+ for the zone whose name is the KEY RR owner name. This is the public
+ key used for DNS data origin authentication.
+
+ Bit 8 is reserved to be the IPSEC [RFC 1825] bit and indicates
+ that this key is valid for use in conjunction with that security
+ standard. This key could be used in connection with secured
+ communication on behalf of an end entity or user whose name is the
+ owner name of the KEY RR if the entity or user bits are on. The
+ presence of a KEY resource with the IPSEC and entity bits on and
+ experimental and no-key bits off is an assertion that the host speaks
+ IPSEC.
+
+ Bit 9 is reserved to be the "email" bit and indicate that this
+ key is valid for use in conjunction with MIME security multiparts.
+ This key could be used in connection with secured communication on
+ behalf of an end entity or user whose name is the owner name of the
+ KEY RR if the entity or user bits are on.
+
+ Bits 10-11 are reserved and must be zero.
+
+ Bits 12-15 are the "signatory" field. If non-zero, they
+ indicate that the key can validly sign RRs or updates of the same
+ name. If the owner name is a wildcard, then RRs or updates with any
+ name which is in the wildcard's scope can be signed. Fifteen
+ different non-zero values are possible for this field and any
+ differences in their meaning are reserved for definition in
+ connection with DNS dynamic update or other new DNS commands. Zone
+ keys always have authority to sign any RRs in the zone regardless of
+ the value of this field. The signatory field, like all other aspects
+ of the KEY RR, is only effective if the KEY RR is appropriately
+ signed by a SIG RR.
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 12]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+3.4 The Protocol Octet
+
+ It is anticipated that some keys stored in DNS will be used in
+ conjunction with Internet protocols other than DNS (keys with zone
+ bit or signatory field non-zero) and IPSEC/email (keys with IPSEC
+ and/or email bit set). The protocol octet is provided to indicate
+ that a key is valid for such use and, for end entity keys or the host
+ part of user keys, that the secure version of that protocol is
+ implemented on that entity or host.
+
+ Values between 1 and 191 decimal inclusive are available for
+ assignment by IANA for such protocols. The 63 values between 192 and
+ 254 inclusive will not be assigned to a specific protocol and are
+ available for experimental use under bilateral agreement. Value 0
+ indicates, for a particular key, that it is not valid for any
+ particular additional protocol beyond those indicated in the flag
+ field. And value 255 indicates that the key is valid for all assigned
+ protocols (those in the 1 to 191 range).
+
+ It is intended that new uses of DNS stored keys would initially be
+ implemented, and operational experience gained, using the
+ experimental range of the protocol octet. If demand for widespread
+ deployment for the indefinite future warrants, a value in the
+ assigned range would then be designated for the protocol. Finally,
+ (1) should the protocol become so widespread in conjunction with
+ other protocols and with which it shares key values that duplicate
+ RRs are a serious burden and (2) should the protocol provide
+ substantial facilities not available in any protocol for which a
+ flags field bit has been allocated, then one of the remaining flag
+ field bits may be allocated to the protocol. When such a bit has been
+ allocated, a key can be simultaneously indicated as valid for that
+ protocol and the entity or host can be simultaneously flagged as
+ implementing the secure version of that protocol, along with other
+ protocols for which flag field bits have been assigned.
+
+3.5 The KEY Algorithm Number and the MD5/RSA Algorithm
+
+ This octet is the key algorithm parallel to the same field for the
+ SIG resource. The MD5/RSA algorithm described in this document is
+ number 1. Numbers 2 through 252 are available for assignment should
+ sufficient reason arise. However, the designation of a new algorithm
+ could have a major impact on interoperability and requires an IETF
+ standards action. Number 254 is reserved for private use and will
+ never be assigned a specific algorithm. For number 254, the public
+ key area shown in the packet diagram above will actually begin with a
+ length byte followed by an Object Identifier (OID) of that length.
+ The OID indicates the private algorithm in use and the remainder of
+ the area is whatever is required by that algorithm. Number 253 is
+
+
+
+Eastlake & Kaufman Standards Track [Page 13]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ reserved as the "expiration date algorithm" for use where the
+ expiration date or other labeling fields of SIGs are desired without
+ any actual security. It is anticipated that this algorithm will only
+ be used in connection with some modes of DNS dynamic update. For
+ number 253, the public key area is null. Values 0 and 255 are
+ reserved.
+
+ If the type field does not have the "no key" value and the algorithm
+ field is 1, indicating the MD5/RSA algorithm, the public key field is
+ structured as follows:
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | pub exp length| public key exponent /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | /
+ +- modulus /
+ | /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/
+
+ To promote interoperability, the exponent and modulus are each
+ limited to 2552 bits in length. The public key exponent is a
+ variable length unsigned integer. Its length in octets is
+ represented as one octet if it is in the range of 1 to 255 and by a
+ zero octet followed by a two octet unsigned length if it is longer
+ than 255 bytes. The public key modulus field is a multiprecision
+ unsigned integer. The length of the modulus can be determined from
+ the RDLENGTH and the preceding RDATA fields including the exponent.
+ Leading zero bytes are prohibited in the exponent and modulus.
+
+3.6 Interaction of Flags, Algorithm, and Protocol Bytes
+
+ Various combinations of the no-key type value, algorithm byte,
+ protocol byte, and any protocol indicating flags (such as the
+ reserved IPSEC flag) are possible. (Note that the zone flag bit
+ being on or the signatory field being non-zero is effectively a DNS
+ protocol flag on.) The meaning of these combinations is indicated
+ below:
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 14]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ NK = no key type value
+ AL = algorithm byte
+ PR = protocols indicated by protocol byte or protocol flags
+
+ x represents any valid non-zero value(s).
+
+ AL PR NK Meaning
+ 0 0 0 Illegal, claims key but has bad algorithm field.
+ 0 0 1 Specifies total lack of security for owner.
+ 0 x 0 Illegal, claims key but has bad algorithm field.
+ 0 x 1 Specified protocols insecure, others may be secure.
+ x 0 0 Useless. Gives key but no protocols to use it.
+ x 0 1 Useless. Denies key but for no protocols.
+ x x 0 Specifies key for protocols and asserts that
+ those protocols are implemented with security.
+ x x 1 Algorithm not understood for protocol.
+
+ (remember, in reference to the above table, that a protocol
+ byte of 255 means all protocols with protocol byte values
+ assigned)
+
+3.7 KEY RRs in the Construction of Responses
+
+ An explicit request for KEY RRs does not cause any special additional
+ information processing except, of course, for the corresponding SIG
+ RR from a security aware server.
+
+ Security aware DNS servers MUST include KEY RRs as additional
+ information in responses where appropriate including the following:
+
+ (1) On the retrieval of NS RRs, the zone key KEY RR(s) for the zone
+ served by these name servers MUST be included as additional
+ information if space is avilable. There will always be at least one
+ such KEY RR in a secure zone, even if it has the no-key type value to
+ indicate that the subzone is insecure. If not all additional
+ information will fit, the KEY RR(s) have higher priority than type A
+ or AAAA glue RRs. If such a KEY RR does not fit on a retrieval, the
+ retrieval must be considered truncated.
+
+ (2) On retrieval of type A or AAAA RRs, the end entity KEY RR(s) MUST
+ be included if space is available. On inclusion of A or AAAA RRs as
+ additional information, their KEY RRs will also be included but with
+ lower priority than the relevant A or AAAA RRs.
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 15]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+3.8 File Representation of KEY RRs
+
+ KEY RRs may appear as lines in a zone data master file.
+
+ The flag field, protocol, and algorithm number octets are then
+ represented as unsigned integers. Note that if the type field has
+ the "no key" value or the algorithm specified is 253, nothing appears
+ after the algorithm octet.
+
+ The remaining public key portion is represented in base 64 (see
+ Appendix) and may be divided up into any number of white space
+ separated substrings, down to single base 64 digits, which are
+ concatenated to obtain the full signature. These substrings can span
+ lines using the standard parenthesis.
+
+ Note that the public key may have internal sub-fields but these do
+ not appear in the master file representation. For example, with
+ algorithm 1 there is a public exponent size, then a public exponent,
+ and then a modulus. With algorithm 254, there will be an OID size,
+ an OID, and algorithm dependent information. But in both cases only a
+ single logical base 64 string will appear in the master file.
+
+4. The SIG Resource Record
+
+ The SIG or "signature" resource record (RR) is the fundamental way
+ that data is authenticated in the secure Domain Name System (DNS). As
+ such it is the heart of the security provided.
+
+ The SIG RR unforgably authenticates other RRs of a particular type,
+ class, and name and binds them to a time interval and the signer's
+ domain name. This is done using cryptographic techniques and the
+ signer's private key. The signer is frequently the owner of the zone
+ from which the RR originated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 16]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+4.1 SIG RDATA Format
+
+ The RDATA portion of a SIG RR is as shown below. The integrity of
+ the RDATA information is protected by the signature field.
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | type covered | algorithm | labels |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | original TTL |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | signature expiration |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | time signed |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | key footprint | /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ signer's name /
+ / /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | /
+ +- signature /
+ / /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The value of the SIG RR type is 24.
+
+ The "type covered" is the type of the other RRs covered by this SIG.
+
+ The algorithm number is an octet specifying the digital signature
+ algorithm used parallel to the algorithm octet for the KEY RR. The
+ MD5/RSA algorithm described in this document is number 1. Numbers 2
+ through 252 are available for assignment should sufficient reason
+ arise to allocate them. However, the designation of a new algorithm
+ could have a major impact on the interoperability of the global DNS
+ system and requires an IETF standards action. Number 254 is reserved
+ for private use and will not be assigned a specific algorithm. For
+ number 254, the "signature" area shown above will actually begin with
+ a length byte followed by an Object Identifier (OID) of that length.
+ The OID indicates the private algorithm in use and the remainder of
+ the area is whatever is required by that algorithm. Number 253,
+ known as the "expiration date algorithm", is used when the expiration
+ date or other non-signature fields of the SIG are desired without any
+ actual security. It is anticipated that this algorithm will only be
+ used in connection with some modes of DNS dynamic update. For number
+ 253, the signature field will be null. Values 0 and 255 are
+ reserved.
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 17]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ The "labels" octet is an unsigned count of how many labels there are
+ in the original SIG RR owner name not counting the null label for
+ root and not counting any initial "*" for a wildcard. If a secured
+ retrieval is the result of wild card substitution, it is necessary
+ for the resolver to use the original form of the name in verifying
+ the digital signature. This field helps optimize the determination
+ of the original form thus reducing the effort in authenticating
+ signed data.
+
+ If, on retrieval, the RR appears to have a longer name than indicated
+ by "labels", the resolver can tell it is the result of wildcard
+ substitution. If the RR owner name appears to be shorter than the
+ labels count, the SIG RR must be considered corrupt and ignored. The
+ maximum number of labels allowed in the current DNS is 127 but the
+ entire octet is reserved and would be required should DNS names ever
+ be expanded to 255 labels. The following table gives some examples.
+ The value of "labels" is at the top, the retrieved owner name on the
+ left, and the table entry is the name to use in signature
+ verification except that "bad" means the RR is corrupt.
+
+ labels= | 0 | 1 | 2 | 3 | 4 |
+ --------+-----+------+--------+----------+----------+
+ .| . | bad | bad | bad | bad |
+ d.| *. | d. | bad | bad | bad |
+ c.d.| *. | *.d. | c.d. | bad | bad |
+ b.c.d.| *. | *.d. | *.c.d. | b.c.d. | bad |
+ a.b.c.d.| *. | *.d. | *.c.d. | *.b.c.d. | a.b.c.d. |
+
+ The "original TTL" field is included in the RDATA portion to avoid
+ (1) authentication problems that caching servers would otherwise
+ cause by decrementing the real TTL field and (2) security problems
+ that unscrupulous servers could otherwise cause by manipulating the
+ real TTL field. This original TTL is protected by the signature
+ while the current TTL field is not.
+
+ NOTE: The "original TTL" must be restored into the covered RRs when
+ the signature is verified. This implies that all RRs for a
+ particular type, name, and class must have the same TTL to start
+ with.
+
+ The SIG is valid until the "signature expiration" time which is an
+ unsigned number of seconds since the start of 1 January 1970, GMT,
+ ignoring leap seconds. (See also Section 4.4.) SIG RRs should not
+ have a date signed significantly in the future. To prevent
+ misordering of network requests to update a zone dynamically,
+ monotonically increasing "time signed" dates may be necessary.
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 18]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ The "time signed" field is an unsigned number of seconds since the
+ start of 1 January 1970, GMT, ignoring leap seconds.
+
+ A SIG RR with an expiration date before the time signed must be
+ considered corrupt and ignored.
+
+ The "key footprint" is a 16 bit quantity that is used to help
+ efficiently select between multiple keys which may be applicable and
+ as a quick check that a public key about to be used for the
+ computationally expensive effort to check the signature is possibly
+ valid. Its exact meaning is algorithm dependent. For the MD5/RSA
+ algorithm, it is the next to the bottom two octets of the public key
+ modulus needed to decode the signature field. That is to say, the
+ most significant 16 of the lest significant 24 bits of the modulus in
+ network order.
+
+ The "signer's name" field is the domain name of the signer generating
+ the SIG RR. This is the owner of the public KEY RR that can be used
+ to verify the signature. It is frequently the zone which contained
+ the RR(s) being authenticated. The signer's name may be compressed
+ with standard DNS name compression when being transmitted over the
+ network.
+
+ The structure of the "signature" field is described below.
+
+4.1.1 Signature Data
+
+ Except for algorithm number 253 where it is null, the actual
+ signature portion of the SIG RR binds the other RDATA fields to all
+ of the "type covered" RRs with that owner name and class. These
+ covered RRs are thereby authenticated. To accomplish this, a data
+ sequence is constructed as follows:
+
+ data = RDATA | RR(s)...
+
+ where "|" is concatenation, RDATA is all the RDATA fields in the SIG
+ RR itself before and not including the signature, and RR(s) are all
+ the RR(s) of the type covered with the same owner name and class as
+ the SIG RR in canonical form and order. How this data sequence is
+ processed into the signature is algorithm dependent.
+
+ For purposes of DNS security, the canonical form for an RR is the RR
+ with domain names (1) fully expanded (no name compression via
+ pointers), (2) all domain name letters set to lower case, and (3) the
+ original TTL substituted for the current TTL.
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 19]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ For purposes of DNS security, the canonical order for RRs is to sort
+ them in ascending order by name, considering labels as a left
+ justified unsigned octet sequence in network (transmission) order
+ where a missing octet sorts before a zero octet. (See also ordering
+ discussion in Section 5.1.) Within any particular name they are
+ similarly sorted by type and then RDATA as a left justified unsigned
+ octet sequence. EXCEPT that the type SIG RR(s) covering any
+ particular type appear immediately after the other RRs of that type.
+ (This special consideration for SIG RR(s) in ordering really only
+ applies to calculating the AXFR SIG RR as explained in section 4.1.3
+ below.) Thus if at name a.b there are two A RRs and one KEY RR,
+ their order with SIGs for concatenating the "data" to be signed would
+ be as follows:
+
+ a.b. A ....
+ a.b. A ....
+ a.b. SIG A ...
+ a.b. KEY ...
+ a.b. SIG KEY ...
+
+ SIGs covering type ANY should not be included in a zone.
+
+4.1.2 MD5/RSA Algorithm Signature Calculation
+
+ For the MD5/RSA algorithm, the signature is as follows
+
+ hash = MD5 ( data )
+
+ signature = ( 01 | FF* | 00 | prefix | hash ) ** e (mod n)
+
+ where MD5 is the message digest algorithm documented in RFC 1321, "|"
+ is concatenation, "e" is the private key exponent of the signer, and
+ "n" is the modulus of the signer's public key. 01, FF, and 00 are
+ fixed octets of the corresponding hexadecimal value. "prefix" is the
+ ASN.1 BER MD5 algorithm designator prefix specified in PKCS1, that
+ is,
+ hex 3020300c06082a864886f70d020505000410 [NETSEC].
+ This prefix is included to make it easier to use RSAREF or similar
+ packages. The FF octet is repeated the maximum number of times such
+ that the value of the quantity being exponentiated is one octet
+ shorter than the value of n.
+
+ (The above specifications are identical to the corresponding part of
+ Public Key Cryptographic Standard #1 [PKCS1].)
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 20]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ The size of n, including most and least significant bits (which will
+ be 1) SHALL be not less than 512 bits and not more than 2552 bits. n
+ and e SHOULD be chosen such that the public exponent is small.
+
+ Leading zeros bytes are not permitted in the MD5/RSA algorithm
+ signature.
+
+ A public exponent of 3 minimizes the effort needed to decode a
+ signature. Use of 3 as the public exponent may be weak for
+ confidentiality uses since, if the same data can be collected
+ encrypted under three different keys with an exponent of 3 then,
+ using the Chinese Remainder Theorem, the original plain text can be
+ easily recovered. This weakness is not significant for DNS because
+ we seek only authentication, not confidentiality.
+
+4.1.3 Zone Transfer (AXFR) SIG
+
+ The above SIG mechanisms assure the authentication of all zone signed
+ RRs of a particular name, class and type. However, to efficiently
+ assure the completeness and security of zone transfers, a SIG RR
+ owned by the zone name must be created with a type covered of AXFR
+ that covers all zone signed RRs in the zone and their zone SIGs but
+ not the SIG AXFR itself. The RRs are ordered and concatenated for
+ hashing as described in Section 4.1.1. (See also ordering discussion
+ in Section 5.1.)
+
+ The AXFR SIG must be calculated last of all zone key signed SIGs in
+ the zone. In effect, when signing the zone, you order, as described
+ above, all RRs to be signed by the zone, and all associated glue RRs
+ and delegation point NS RRs. You can then make one pass inserting
+ all the zone SIGs. As you proceed you hash RRs to be signed into
+ both an RRset hash and the zone hash. When the name or type changes
+ you calculate and insert the RRset zone SIG, clear the RRset hash,
+ and hash that SIG into the zone hash (note that glue RRs and
+ delegation point NSs are not zone signed but zone apex NSs are).
+ When you have finished processing all the starting RRs as described
+ above, you can then use the cumulative zone hash RR to calculate and
+ insert an AXFR SIG covering the zone. Of course any computational
+ technique producing the same results as above is permitted.
+
+ The AXFR SIG really belongs to the zone as a whole, not to the zone
+ name. Although it should be correct for the zone name, the labels
+ field of an AXFR SIG is otherwise meaningless. The AXFR SIG is only
+ retrieved as part of a zone transfer. After validation of the AXFR
+ SIG, the zone MAY be considered valid without verification of the
+ internal zone signed SIGs in the zone; however, any RRs authenticated
+ by SIGs signed by entity keys or the like MUST still be validated.
+ The AXFR SIG SHOULD be transmitted first in a zone transfer so the
+
+
+
+Eastlake & Kaufman Standards Track [Page 21]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ receiver can tell immediately that they may be able to avoid
+ verifying other zone signed SIGs.
+
+ RRs which are authenticated by a dynamic update key and not by the
+ zone key (see Section 3.2) are not included in the AXFR SIG. They may
+ originate in the network and might not, in general, be migrated to
+ the recommended off line zone signing procedure (see Section 7.2).
+ Thus, such RRs are not directly signed by the zone, are not included
+ in the AXFR SIG, and are protected against omission from zone
+ transfers only to the extent that the server and communication can be
+ trusted.
+
+4.1.4 Transaction and Request SIGs
+
+ A response message from a security aware server may optionally
+ contain a special SIG as the last item in the additional information
+ section to authenticate the transaction.
+
+ This SIG has a "type covered" field of zero, which is not a valid RR
+ type. It is calculated by using a "data" (see Section 4.1.2) of the
+ entire preceding DNS reply message, including DNS header but not the
+ IP header, concatenated with the entire DNS query message that
+ produced this response, including the query's DNS header but not its
+ IP header. That is
+
+ data = full response (less final transaction SIG) | full query
+
+ Verification of the transaction SIG (which is signed by the server
+ host key, not the zone key) by the requesting resolver shows that the
+ query and response were not tampered with in transit, that the
+ response corresponds to the intended query, and that the response
+ comes from the queried server.
+
+ A DNS request may be optionally signed by including one or more SIGs
+ at the end of the query. Such SIGs are identified by having a "type
+ covered" field of zero. They sign the preceding DNS request message
+ including DNS header but not including the IP header or at the
+ begining or any preceding request SIGs at the end. Such request SIGs
+ are included in the "data" used to form any optional response
+ transaction SIG.
+
+ WARNING: Request SIGs are unnecessary for currently defined queries
+ and will cause almost all existing DNS servers to completely ignore a
+ query. However, such SIGs may be needed to authenticate future DNS
+ secure dynamic update or other requests.
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 22]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+4.2 SIG RRs in the Construction of Responses
+
+ Security aware DNS servers MUST, for every authoritative RR the query
+ will return, attempt to send the available SIG RRs which authenticate
+ the requested RR. The following rules apply to the inclusion of SIG
+ RRs in responses:
+
+ 1. when an RR set is placed in a response, its SIG RR has a higher
+ priority for inclusion than other additional RRs that may need to
+ be included. If space does not permit its inclusion, the response
+ MUST be considered truncated except as provided in 2 below.
+
+ 2. when a SIG RR is present in the zone for an additional information
+ section RR, the response MUST NOT be considered truncated merely
+ because space does not permit the inclusion of its SIG RR.
+
+ 3. SIGs to authenticate non-authoritative data (glue records and NS
+ RRs for subzones) are unnecessary and MUST NOT be sent. (Note
+ that KEYs for subzones are controlling in a superzone so the
+ superzone's signature on the KEY MUST be included (unless the KEY
+ was additional information and the SIG did not fit).)
+
+ 4. If a SIG covers any RR that would be in the answer section of the
+ response, its automatic inclusion MUST be the answer section. If
+ it covers an RR that would appear in the authority section, its
+ automatic inclusion MUST be in the authority section. If it
+ covers an RR that would appear in the additional information
+ section it MUST appear in the additional information section.
+ This is a change in the existing standard which contemplates only
+ NS and SOA RRs in the authority section.
+
+ 5. Optionally, DNS transactions may be authenticated by a SIG RR at
+ the end of the response in the additional information section
+ (Section 4.1.4). Such SIG RRs are signed by the DNS server
+ originating the response. Although the signer field MUST be the
+ name of the originating server host, the owner name, class, TTL,
+ and original TTL, are meaningless. The class and TTL fields
+ SHOULD be zero. To conserve space, the owner name SHOULD be root
+ (a single zero octet). If transaction authentication is desired,
+ that SIG RR must be considered higher priority for inclusion than
+ any other RR in the response.
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 23]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+4.3 Processing Responses and SIG RRs
+
+ The following rules apply to the processing of SIG RRs included in a
+ response:
+
+ 1. a security aware resolver that receives a response from what it
+ believes to be a security aware server via a secure communication
+ with the AD bit (see Section 6.1) set, MAY choose to accept the
+ RRs as received without verifying the zone SIG RRs.
+
+ 2. in other cases, a security aware resolver SHOULD verify the SIG
+ RRs for the RRs of interest. This may involve initiating
+ additional queries for SIG or KEY RRs, especially in the case of
+ getting a response from an insecure server. (As explained in 4.2
+ above, it will not be possible to secure CNAMEs being served up by
+ non-secure resolvers.)
+
+ NOTE: Implementers might expect the above SHOULD to be a MUST.
+ However, local policy or the calling application may not require
+ the security services.
+
+ 3. If SIG RRs are received in response to a user query explicitly
+ specifying the SIG type, no special processing is required.
+
+ If the message does not pass reasonable checks or the SIG does not
+ check against the signed RRs, the SIG RR is invalid and should be
+ ignored. If all of the SIG RR(s) purporting to authenticate a set of
+ RRs are invalid, then the set of RR(s) is not authenticated.
+
+ If the SIG RR is the last RR in a response in the additional
+ information section and has a type covered of zero, it is a
+ transaction signature of the response and the query that produced the
+ response. It MAY be optionally checked and the message rejected if
+ the checks fail. But even if the checks succeed, such a transaction
+ authentication SIG does NOT authenticate any RRs in the message.
+ Only a proper SIG RR signed by the zone or a key tracing its
+ authority to the zone or to static resolver configuration can
+ authenticate RRs. If a resolver does not implement transaction
+ and/or request SIGs, it MUST ignore them without error.
+
+ If all reasonable checks indicate that the SIG RR is valid then RRs
+ verified by it should be considered authenticated.
+
+4.4 Signature Expiration, TTLs, and Validity
+
+ Security aware servers must not consider SIG RRs to authenticate
+ anything after their expiration time and not consider any RR to be
+ authenticated after its signatures have expired. Within that
+
+
+
+Eastlake & Kaufman Standards Track [Page 24]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ constraint, servers should continue to follow DNS TTL aging. Thus
+ authoritative servers should continue to follow the zone refresh and
+ expire parameters and a non-authoritative server should count down
+ the TTL and discard RRs when the TTL is zero. In addition, when RRs
+ are transmitted in a query response, the TTL should be trimmed so
+ that current time plus the TTL does not extend beyond the signature
+ expiration time. Thus, in general, the TTL on an transmitted RR
+ would be
+
+ min(sigExpTim,max(zoneMinTTL,min(originalTTL,currentTTL)))
+
+4.5 File Representation of SIG RRs
+
+ A SIG RR can be represented as a single logical line in a zone data
+ file [RFC1033] but there are some special considerations as described
+ below. (It does not make sense to include a transaction or request
+ authenticating SIG RR in a file as they are a transient
+ authentication that covers data including an ephemeral transaction
+ number and so must be calculated in real time.)
+
+ There is no particular problem with the signer, covered type, and
+ times. The time fields appears in the form YYYYMMDDHHMMSS where YYYY
+ is the year, the first MM is the month number (01-12), DD is the day
+ of the month (01-31), HH is the hour in 24 hours notation (00-23),
+ the second MM is the minute (00-59), and SS is the second (00-59).
+
+ The original TTL and algorithm fields appear as unsigned integers.
+
+ If the original TTL, which applies to the type signed, is the same as
+ the TTL of the SIG RR itself, it may be omitted. The date field
+ which follows it is larger than the maximum possible TTL so there is
+ no ambiguity.
+
+ The "labels" field does not appear in the file representation as it
+ can be calculated from the owner name.
+
+ The key footprint appears as an unsigned decimal number.
+
+ However, the signature itself can be very long. It is the last data
+ field and is represented in base 64 (see Appendix) and may be divided
+ up into any number of white space separated substrings, down to
+ single base 64 digits, which are concatenated to obtain the full
+ signature. These substrings can be split between lines using the
+ standard parenthesis.
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 25]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+5. Non-existent Names and Types
+
+ The SIG RR mechanism described in Section 4 above provides strong
+ authentication of RRs that exist in a zone. But is it not clear
+ above how to authenticatably deny the existence of a name in a zone
+ or a type for an existent name.
+
+ The nonexistence of a name in a zone is indicated by the NXT ("next")
+ RR for a name interval containing the nonexistent name. A NXT RR and
+ its SIG are returned in the authority section, along with the error,
+ if the server is security aware. The same is true for a non-existent
+ type under an existing name. This is a change in the existing
+ standard which contemplates only NS and SOA RRs in the authority
+ section. NXT RRs will also be returned if an explicit query is made
+ for the NXT type.
+
+ The existence of a complete set of NXT records in a zone means that
+ any query for any name and any type to a security aware server
+ serving the zone will always result in an reply containing at least
+ one signed RR.
+
+ NXT RRs do not appear in zone master files since they can be derived
+ from the rest of the zone.
+
+5.1 The NXT Resource Record
+
+ The NXT resource record is used to securely indicate that RRs with an
+ owner name in a certain name interval do not exist in a zone and to
+ indicate what zone signed RR types are present for an existing name.
+
+ The owner name of the NXT RR is an existing name in the zone. It's
+ RDATA is a "next" name and a type bit map. The presence of the NXT RR
+ means that generally no name between its owner name and the name in
+ its RDATA area exists and that no other zone signed types exist under
+ its owner name. This implies a canonical ordering of all domain
+ names in a zone.
+
+ The ordering is to sort labels as unsigned left justified octet
+ strings where the absence of a octet sorts before a zero value octet
+ and upper case letters are treated as lower case letters. Names are
+ then sorted by sorting on the highest level label and then, within
+ those names with the same highest level label by the next lower
+ label, etc. down to leaf node labels. Since we are talking about a
+ zone, the zone name itself always exists and all other names are the
+ zone name with some prefix of lower level labels. Thus the zone name
+ itself always sorts first.
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 26]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ There is a potential problem with the last NXT in a zone as it wants
+ to have an owner name which is the last existing name in canonical
+ order, which is easy, but it is not obvious what name to put in its
+ RDATA to indicate the entire remainder of the name space. This is
+ handled by treating the name space as circular and putting the zone
+ name in the RDATA of the last NXT in a zone.
+
+ There are special considerations due to interaction with wildcards as
+ explained below.
+
+ The NXT RRs for a zone SHOULD be automatically calculated and added
+ to the zone by the same recommended off-line process that signs the
+ zone (see Section 7.2). The NXT RR's TTL SHOULD not exceed the zone
+ minimum TTL.
+
+5.2 NXT RDATA Format
+
+ The RDATA for an NXT RR consists simply of a domain name followed by
+ a bit map.
+
+ The type number for the NXT RR is 30.
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | next domain name /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | type bit map /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The NXT RR type bit map is one bit per RR type present for the owner
+ name similar to the WKS socket bit map. The first bit represents RR
+ type zero (an illegal type which should not be present.) A one bit
+ indicates that at least one RR of that type is present for the owner
+ name. A zero indicates that no such RR is present. All bits not
+ specified because they are beyond the end of the bit map are assumed
+ to be zero. Note that bit 30, for NXT, will always be on so the
+ minimum bit map length is actually four octets. The NXT bit map
+ should be printed as a list of RR type mnemonics or decimal numbers
+ similar to the WKS RR.
+
+ The domain name may be compressed with standard DNS name compression
+ when being transmitted over the network. The size of the bit map can
+ be inferred from the RDLENGTH and the length of the next domain name.
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 27]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+5.3 Example
+
+ Assume zone foo.tld has entries for
+
+ big.foo.tld,
+ medium.foo.tld.
+ small.foo.tld.
+ tiny.foo.tld.
+
+ Then a query to a security aware server for huge.foo.tld would
+ produce an error reply with the authority section data including
+ something like the following:
+
+ big.foo.tld. NXT medium.foo.tld. A MX SIG NXT
+ big.foo.tld. SIG NXT 1 3 ( ;type-cov=NXT, alg=1, labels=3
+ 19960102030405 ;signature expiration
+ 19951211100908 ;time signed
+ 21435 ;key footprint
+ foo.tld. ;signer
+ MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgiWCn/GxHhai6VAuHAoNUz4YoU
+ 1tVfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= ;signature (640 bits)
+ )
+
+ Note that this response implies that big.foo.tld is an existing name
+ in the zone and thus has other RR types associated with it than NXT.
+ However, only the NXT (and its SIG) RR appear in the response to this
+ query for huge.foo.tld, which is a non-existent name.
+
+5.4 Interaction of NXT RRs and Wildcard RRs
+
+ Since, in some sense, a wildcard RR causes all possible names in an
+ interval to exist, there should not be an NXT RR that would cover any
+ part of this interval. Thus if *.X.ZONE exists you would expect an
+ NXT RR that ends at X.ZONE and one that starts with the last name
+ covered by *.X.ZONE. However, this "last name covered" is something
+ very ugly and long like \255\255\255....X.zone. So the NXT for the
+ interval following is simply given the owner name *.X.ZONE and an
+ RDATA of the next name after the wildcard. This "*" type owner name
+ is not expanded when the NXT is returned as authority information in
+ connection with a query for a non-existent name.
+
+ If there could be any wildcard RRs in a zone and thus wildcard NXTs,
+ care must be taken in interpreting the results of explicit NXT
+ retrievals as the owner name may be a wildcard expansion.
+
+ The existence of one or more wildcard RRs covering a name interval
+ makes it possible for a malicious server to hide any more
+ specifically named RRs in the internal. The server can just falsely
+
+
+
+Eastlake & Kaufman Standards Track [Page 28]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ return the wildcard match NXT instead of the more specifically named
+ RRs. If there is a zone wide wildcard, there will be an NXT RR whose
+ owner name is the wild card and whose RDATA is the zone name. In this
+ case a server could conceal the existence of any more specific RRs in
+ the zone. It would be possible to design a more strict NXT feature
+ which would eliminate this possibility. But it would be more complex
+ and might be so constraining as to make any dynamic update feature
+ very difficult.
+
+5.5 Blocking NXT Pseudo-Zone Transfers
+
+ In a secure zone, a resolver can query for the initial NXT associated
+ with the zone name. Using the next domain name RDATA field from that
+ RR, it can query for the next NXT RR. By repeating this, it can walk
+ through all the NXTs in the zone. If there are no wildcards, it can
+ use this technique to find all names in a zone. If it does type ANY
+ queries, it can incrementally get all information in the zone and
+ thus defeat attempts to administratively block zone transfers.
+
+ If there are any wildcards, this NXT walking technique will not find
+ any more specific RR names in the part of the name space the wildcard
+ covers. By doing explicit retrievals for wildcard names, a resolver
+ could determine what intervals are covered by wildcards but still
+ could not, with these techniques, find any names inside such
+ intervals except by trying every name.
+
+ If it is desired to block NXT walking, the recommended method is to
+ add a zone wide wildcard of the KEY type with the no-key type value
+ and with no type (zone, entity, or user) bit on. This will cause
+ there to be one zone covering NXT RR and leak no information about
+ what real names exist in the zone. This protection from pseudo-zone
+ transfers is bought at the expense of eliminating the data origin
+ authentication of the non-existence of names that NXT RRs can
+ provide. If an entire zone is covered by a wildcard, a malicious
+ server can return an RR produced by matching the resulting wildcard
+ NXT and can thus hide all the real data and delegations in the zone
+ that have more specific names.
+
+5.6 Special Considerations at Delegation Points
+
+ A name (other than root) which is the head of a zone also appears as
+ the leaf in a superzone. If both are secure, there will always be
+ two different NXT RRs with the same name. They can be distinguished
+ by their signers and next domain name fields. Security aware servers
+ should return the correct NXT automatically when required to
+ authenticate the non-existence of a name and both NXTs, if available,
+ on explicit query for type NXT.
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 29]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ Insecure servers will never automatically return an NXT and some
+ implementations may only return the NXT from the subzone on explicit
+ queries.
+
+6. The AD and CD Bits and How to Resolve Securely
+
+ Retrieving or resolving authentic data from the Domain Name System
+ (DNS) involves starting with one or more trusted public keys for one
+ or more zones. With trusted keys, a resolver willing to perform
+ cryptography can progress securely through the secure DNS zone
+ structure to the zone of interest as described in Section 6.3. Such
+ trusted public keys would normally be configured in a manner similar
+ to that described in Section 6.2. However, as a practical matter, a
+ security aware resolver would still gain some confidence in the
+ results it returns even if it was not configured with any keys but
+ trusted what it got from a local well known server as a starting
+ point.
+
+ Data stored at a security aware server needs to be internally
+ categorized as Authenticated, Pending, or Insecure. There is also a
+ fourth transient state of Bad which indicates that all SIG checks
+ have explicitly failed on the data. Such Bad data is not retained at
+ a security aware server. Authenticated means that the data has a
+ valid SIG under a KEY traceable via a chain of zero or more SIG and
+ KEY RRs to a KEY configured at the resolver via its boot file.
+ Pending data has no authenticated SIGs and at least one additional
+ SIG the resolver is still trying to authenticate. Insecure data is
+ data which it is known can never be either Authenticated or found Bad
+ because it is in or has been reached via a non-secured zone. Behavior
+ in terms of control of and flagging based on such data labels is
+ described in Section 6.1.
+
+ The proper validation of signatures requires a reasonably secure
+ shared opinion of the absolute time between resolvers and servers as
+ described in Section 6.4.
+
+6.1 The AD and CD Header Bits
+
+ Two previously unused bits are allocated out of the DNS
+ query/response format header. The AD (authentic data) bit indicates
+ in a response that the data included has been verified by the server
+ providing it. The CD (checking disabled) bit indicates in a query
+ that non-verified data is acceptable to the resolver sending the
+ query.
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 30]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ These bits are allocated from the must-be-zero Z field as follows:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ID |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ |QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QDCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ANCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | NSCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ARCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ These bits are zero in old servers and resolvers. Thus the responses
+ of old servers are not flagged as authenticated to security aware
+ resolvers and queries from non-security aware resolvers do not assert
+ the checking disabled bit and thus will be answered by security aware
+ servers only with authenticated data. Aware resolvers MUST not trust
+ the AD bit unless they trust the server they are talking to and
+ either have a secure path to it or use DNS transaction security.
+
+ Any security aware resolver willing to do cryptography SHOULD assert
+ the CD bit on all queries to reduce DNS latency time by allowing
+ security aware servers to answer before they have resolved the
+ validity of data.
+
+ Security aware servers NEVER return Bad data. For non-security aware
+ resolvers or security aware resolvers requesting service by having
+ the CD bit clear, security aware servers MUST return only
+ Authenticated or Insecure data with the AD bit set in the response.
+ Security aware resolvers will know that if data is Insecure versus
+ Authentic by the absence of SIG RRs. Security aware servers MAY
+ return Pending data to security aware resolvers requesting the
+ service by clearing the AD bit in the response. The AD bit MUST NOT
+ be set on a response unless all of the RRs in the response are either
+ Authenticated or Insecure.
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 31]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+6.2 Boot File Format
+
+ Two boot file directives are added as described in this section.
+
+ The format for a boot file directive to configure a starting zone key
+ is as follows:
+
+ pubkey name flags protocol algorithm key-data
+
+ for a public key. "name" is the owner name (if the line is
+ translated into a KEY RR). Flags indicates the type of key and is
+ the same as the flag octet in the KEY RR. Protocol and algorithm
+ also have the same meaning as they do in the KEY RR. The material
+ after the algorithm is algorithm dependent and, for private
+ algorithms (algorithm 254), starts with the algorithm's identifying
+ OID and its length. If the "no key" type value is set in flags or
+ the algorithm is specified as 253, then the key-data after algorithm
+ is null. When present the key-data is treated as an octet stream and
+ encoded in base 64 (see Appendix).
+
+ A file of keys for cross certification or other purposes can be
+ configured though the keyfile directive as follows:
+
+ keyfile filename
+
+ The file looks like a master file except that it can only contain KEY
+ and SIG RRs with the SIGs signed under a key configured with the
+ pubkey directive.
+
+ While it might seem logical for everyone to start with the key for
+ the root zone, this has problems. The logistics of updating every
+ DNS resolver in the world when the root key changes would be
+ excessive. It may be some time before there even is a root key.
+ Furthermore, many organizations will explicitly wish their "interior"
+ DNS implementations to completely trust only their own zone. Such
+ interior resolvers can then go through the organization's zone
+ servers to access data outsize the organization's domain and should
+ only be configured with the key forthe organization's DNS apex.
+
+6.3 Chaining Through Zones
+
+ Starting with one or more trusted keys for a zone, it should be
+ possible to retrieve signed keys for its subzones which have a key
+ and, if the zone is not root, for its superzone. Every authoritative
+ secure zone server MUST also include the KEY RR for a super-zone
+ signed by the secure zone via a keyfile directive. This makes it
+ possible to climb the tree of zones if one starts below root. A
+ secure sub-zone is indicated by a KEY RR with non-null key
+
+
+
+Eastlake & Kaufman Standards Track [Page 32]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ information appearing with the NS RRs for the sub-zone. These make
+ it possible to descend within the tree of zones.
+
+ A resolver should keep track of the number of successive secure zones
+ traversed from a starting point to any secure zone it can reach. In
+ general, the lower such a distance number is, the greater the
+ confidence in the data. Data configured via a boot file directive
+ should be given a distance number of zero. If a query encounters
+ different data for the same query with different distance values,
+ that with a larger value should be ignored.
+
+ A security conscious resolver should completely refuse to step from a
+ secure zone into a non-secure zone unless the non-secure zone is
+ certified to be non-secure, or only experimentally secure, by the
+ presence of an authenticated KEY RR for the non-secure zone with the
+ no-key type value or the presence of a KEY RR with the experimental
+ bit set. Otherwise the resolver is getting bogus or spoofed data.
+
+ If legitimate non-secure zones are encountered in traversing the DNS
+ tree, then no zone can be trusted as secure that can be reached only
+ via information from such non-secure zones. Since the non-secure zone
+ data could have been spoofed, the "secure" zone reach via it could be
+ counterfeit. The "distance" to data in such zones or zones reached
+ via such zones could be set to 512 or more as this exceeds the
+ largest possible distance through secure zones in the DNS.
+ Nevertheless, continuing to apply secure checks within "secure" zones
+ reached via non-secure zones is a good practice and will, as a
+ practical matter, provide some small increase in security.
+
+6.4 Secure Time
+
+ Coordinated interpretation of the time fields in SIG RRs requires
+ that reasonably consistent time be available to the hosts
+ implementing the DNS security extensions.
+
+ A variety of time synchronization protocols exist including the
+ Network Time Protocol (NTP, RFC1305). If such protocols are used,
+ they MUST be used securely so that time can not be spoofed.
+ Otherwise, for example, a host could get its clock turned back and
+ might then believe old SIG and KEY RRs which were valid but no longer
+ are.
+
+7. Operational Considerations
+
+ This section discusses a variety of considerations in secure
+ operation of the Domain Name System (DNS) using these protocol
+ extensions.
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 33]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+7.1 Key Size Considerations
+
+ There are a number of factors that effect public key size choice for
+ use in the DNS security extension. Unfortunately, these factors
+ usually do not all point in the same direction. Choice of zone key
+ size should generally be made by the zone administrator depending on
+ their local conditions.
+
+ For most schemes, larger keys are more secure but slower. Given a
+ small public exponent, verification (the most common operation) for
+ the MD5/RSA algorithm will vary roughly with the square of the
+ modulus length, signing will vary with the cube of the modulus
+ length, and key generation (the least common operation) will vary
+ with the fourth power of the modulus length. The current best
+ algorithms for factoring a modulus and breaking RSA security vary
+ roughly with the 1.6 power of the modulus itself. Thus going from a
+ 640 bit modulus to a 1280 bit modulus only increases the verification
+ time by a factor of 4 but increases the work factor of breaking the
+ key by over 2^900. An upper bound of 2552 bits has been established
+ for the MD5/RSA DNS security algorithm for interoperability purposes.
+
+ However, larger keys increase the size of the KEY and SIG RRs. This
+ increases the chance of DNS UDP packet overflow and the possible
+ necessity for using higher overhead TCP in responses.
+
+ The recommended minimum RSA algorithm modulus size, 640 bits, is
+ believed by the authors to be secure at this time but high level
+ zones in the DNS tree may wish to set a higher minimum, perhaps 1000
+ bits, for security reasons. (Since the United States National
+ Security Agency generally permits export of encryption systems using
+ an RSA modulus of up to 512 bits, use of that small a modulus, i.e.
+ n, must be considered weak.)
+
+ For a key used only to secure data and not to secure other keys, 640
+ bits should be adequate at this time.
+
+7.2 Key Storage
+
+ It is recommended that zone private keys and the zone file master
+ copy be kept and used in off-line non-network connected physically
+ secure machines only. Periodically an application can be run to add
+ authentication to a zone by adding SIG and NXT RRs and adding no-key
+ type KEY RRs for subzones where a real KEY RR is not provided. Then
+ the augmented file can be transferred, perhaps by sneaker-net, to the
+ networked zone primary server machine.
+
+ The idea is to have a one way information flow to the network to
+ avoid the possibility of tampering from the network. Keeping the
+
+
+
+Eastlake & Kaufman Standards Track [Page 34]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ zone master file on-line on the network and simply cycling it through
+ an off-line signer does not do this. The on-line version could still
+ be tampered with if the host it resides on is compromised. For
+ maximum security, the master copy of the zone file should be off net
+ and should not be updated based on an unsecured network mediated
+ communication.
+
+ Note, however, that secure resolvers must be configured with some
+ trusted on-line public key information (or a secure path to such a
+ resolver) or they will be unable to authenticate.
+
+ Non-zone private keys, such as host or user keys, generally have to
+ be kept on line to be used for real-time purposes such as DNS
+ transaction security, IPSEC session set-up, or secure mail.
+
+7.3 Key Generation
+
+ Careful key generation is a sometimes overlooked but absolutely
+ essential element in any cryptographically secure system. The
+ strongest algorithms used with the longest keys are still of no use
+ if an adversary can guess enough to lower the size of the likely key
+ space so that it can be exhaustively searched. Suggestions will be
+ found in RFC 1750.
+
+ It is strongly recommended that key generation also occur off-line,
+ perhaps on the machine used to sign zones (see Section 7.2).
+
+7.4 Key Lifetimes
+
+ No key should be used forever. The longer a key is in use, the
+ greater the probability that it will have been compromised through
+ carelessness, accident, espionage, or cryptanalysis. Furthermore, if
+ key rollover is a rare event, there is an increased risk that, when
+ the time does come up change the key, no one at the site will
+ remember how to do it or other problems will have developed in the
+ procedures.
+
+ While key lifetime is a matter of local policy, these considerations
+ suggest that no zone key should have a lifetime significantly over
+ four years. A reasonable maximum lifetime for zone keys that are
+ kept off-line and carefully guarded is 13 months with the intent that
+ they be replaced every year. A reasonable maximum lifetime for end
+ entity and useer keys that are used for IP-security or the like and
+ are kept on line is 36 days with the intent that they be replaced
+ monthly or more often. In some cases, an entity key lifetime of
+ somewhat over a day may be reasonable.
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 35]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+7.5 Signature Lifetime
+
+ Signature expiration times must be set far enough in the future that
+ it is quite certain that new signatures can be generated before the
+ old ones expire. However, setting expiration too far into the future
+ could, if bad data or signatures were ever generated, mean a long
+ time to flush such badness.
+
+ It is recommended that signature lifetime be a small multiple of the
+ TTL but not less than a reasonable re-signing interval.
+
+7.6 Root
+
+ It should be noted that in DNS the root is a zone unto itself. Thus
+ the root zone key should only be seen signing itself or signing RRs
+ with names one level below root, such as .aq, .edu, or .arpa.
+ Implementations MAY reject as bogus any purported root signature of
+ records with a name more than one level below root. The root zone
+ contains the root KEY RR signed by a SIG RR under the root key
+ itself.
+
+8. Conformance
+
+ Levels of server and resolver conformance are defined.
+
+8.1 Server Conformance
+
+ Two levels of server conformance are defined as follows:
+
+ Minimal server compliance is the ability to store and retrieve
+ (including zone transfer) SIG, KEY, and NXT RRs. Any secondary,
+ caching, or other server for a secure zone MUST be at least
+ minimally compliant and even then some things, such as secure
+ CNAMEs, will not work without full compliance.
+
+ Full server compliance adds the following to basic compliance:
+
+ (1) ability to read SIG, KEY, and NXT RRs in zone files and (2)
+ ability, given a zone file and private key, to add appropriate SIG
+ and NXT RRs, possibly via a separate application, (3) proper
+ automatic inclusion of SIG, KEY, and NXT RRs in responses, (4)
+ suppression of CNAME following on retrieval of the security type
+ RRs, (5) recognize the CD query header bit and set the AD query
+ header bit, as appropriate, and (6) proper handling of the two NXT
+ RRs at delegation points. Primary servers for secure zones MUST
+ be fully compliant and for completely successful secure operation,
+ all secondary, caching, and other servers handling the zone SHOULD
+ be fully compliant as well.
+
+
+
+Eastlake & Kaufman Standards Track [Page 36]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+8.2 Resolver Conformance
+
+ Two levels of resolver compliance are defined:
+
+ A basic compliance resolver can handle SIG, KEY, and NXT RRs when
+ they are explicitly requested.
+
+ A fully compliant resolver (1) understands KEY, SIG, and NXT RRs,
+ (2) maintains appropriate information in its local caches and
+ database to indicate which RRs have been authenticated and to what
+ extent they have been authenticated, (3) performs additional
+ queries as necessary to attempt to obtain KEY, SIG, or NXT RRs
+ from non-security aware servers, (4) normally sets the CD query
+ header bit on its queries.
+
+9. Security Considerations
+
+ This document describes technical details of extensions to the Domain
+ Name System (DNS) protocol to provide data integrity and origin
+ authentication, public key distribution, and optional transaction and
+ request security.
+
+ It should be noted that, at most, these extensions guarantee the
+ validity of resource records, including KEY resource records,
+ retrieved from the DNS. They do not magically solve other security
+ problems. For example, using secure DNS you can have high confidence
+ in the IP address you retrieve for a host name; however, this does
+ not stop someone for substituting an unauthorized host at that
+ address or capturing packets sent to that address and falsely
+ responding with packets apparently from that address. Any reasonably
+ complete security system will require the protection of many
+ additional facets of the Internet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 37]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+References
+
+ [NETSEC] - Network Security: PRIVATE Communications in a PUBLIC
+ World, Charlie Kaufman, Radia Perlman, & Mike Speciner,
+ Prentice Hall Series in Computer Networking and
+ Distributed Communications 1995.
+
+ [PKCS1] - PKCS #1: RSA Encryption Standard, RSA Data Security,
+ Inc., 3 June 1991, Version 1.4.
+
+ [RFC1032] - Stahl, M., "Domain Administrators Guide", RFC 1032,
+ November 1987.
+
+ [RFC1033] - Lottor, M., "Domain Administrators Operations Guide",
+ RRFC 1033, November 1987.
+
+ [RFC1034] - Mockapetris, P., "Domain Names - Concepts and
+ Facilities", STD 13, RFC 1034, November 1987.
+
+ [RFC1035] - Mockapetris, P., "Domain Names - Implementation and
+ Specifications", STD 13, RFC 1035, November 1987.
+
+ [RFC1305] - Mills, D., "Network Time Protocol (v3)", RFC 1305, March
+ 1992.
+
+ [RFC1321] - Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321,
+ April 1992.
+
+ [RFC1530] - Malamud, C., and M. Rose, "Principles of Operation for
+ the TPC.INT Subdomain: General Principles and Policy",
+ RFC 1530, October 1993.
+
+ [RFC1750] - Eastlake, D., Crocker, S., and J, Schiller, "Randomness
+ Requirements for Security", RFC 1750, December 1994.
+
+ [RFC1825] - Atkinson, R., "Security Architecture for the Internet
+ Protocol", RFC 1825, August 1995.
+
+ [RSA FAQ] - RSADSI Frequently Asked Questions periodic posting.
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 38]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+Authors' Addresses
+
+ Donald E. Eastlake 3rd
+ CyberCash, Inc.
+ 318 Acton Street
+ Carlisle, MA 01741 USA
+
+ Telephone: +1 508-287-4877
+ +1 508-371-7148(fax)
+ +1 703-620-4200(main office, Reston, Virginia, USA)
+ EMail: dee@cybercash.com
+
+
+ Charles W. Kaufman
+ Iris Associates
+ 1 Technology Park Drive
+ Westford, MA 01886 USA
+
+ Telephone: +1 508-392-5276
+ EMail: charlie_kaufman@iris.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 39]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+Appendix: Base 64 Encoding
+
+ The following encoding technique is taken from RFC 1521 by N.
+ Borenstein and N. Freed. It is reproduced here in an edited form for
+ convenience.
+
+ A 65-character subset of US-ASCII is used, enabling 6 bits to be
+ represented per printable character. (The extra 65th character, "=",
+ is used to signify a special processing function.)
+
+ The encoding process represents 24-bit groups of input bits as output
+ strings of 4 encoded characters. Proceeding from left to right, a
+ 24-bit input group is formed by concatenating 3 8-bit input groups.
+ These 24 bits are then treated as 4 concatenated 6-bit groups, each
+ of which is translated into a single digit in the base 64 alphabet.
+
+ Each 6-bit group is used as an index into an array of 64 printable
+ characters. The character referenced by the index is placed in the
+ output string.
+
+ Table 1: The Base 64 Alphabet
+
+ Value Encoding Value Encoding Value Encoding Value Encoding
+ 0 A 17 R 34 i 51 z
+ 1 B 18 S 35 j 52 0
+ 2 C 19 T 36 k 53 1
+ 3 D 20 U 37 l 54 2
+ 4 E 21 V 38 m 55 3
+ 5 F 22 W 39 n 56 4
+ 6 G 23 X 40 o 57 5
+ 7 H 24 Y 41 p 58 6
+ 8 I 25 Z 42 q 59 7
+ 9 J 26 a 43 r 60 8
+ 10 K 27 b 44 s 61 9
+ 11 L 28 c 45 t 62 +
+ 12 M 29 d 46 u 63 /
+ 13 N 30 e 47 v
+ 14 O 31 f 48 w (pad) =
+ 15 P 32 g 49 x
+ 16 Q 33 h 50 y
+
+ Special processing is performed if fewer than 24 bits are available
+ at the end of the data being encoded. A full encoding quantum is
+ always completed at the end of a quantity. When fewer than 24 input
+ bits are available in an input group, zero bits are added (on the
+ right) to form an integral number of 6-bit groups. Padding at the
+ end of the data is performed using the '=' character. Since all base
+ 64 input is an integral number of octets, only the following cases
+
+
+
+Eastlake & Kaufman Standards Track [Page 40]
+
+RFC 2065 DNS Security Extensions January 1997
+
+
+ can arise: (1) the final quantum of encoding input is an integral
+ multiple of 24 bits; here, the final unit of encoded output will be
+ an integral multiple of 4 characters with no "=" padding, (2) the
+ final quantum of encoding input is exactly 8 bits; here, the final
+ unit of encoded output will be two characters followed by two "="
+ padding characters, or (3) the final quantum of encoding input is
+ exactly 16 bits; here, the final unit of encoded output will be three
+ characters followed by one "=" padding character.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake & Kaufman Standards Track [Page 41]
+
diff --git a/Documentation/en/rfc/rfc2136.txt b/Documentation/en/rfc/rfc2136.txt
new file mode 100644
index 00000000..c0ed36b0
--- /dev/null
+++ b/Documentation/en/rfc/rfc2136.txt
@@ -0,0 +1,1459 @@
+
+
+
+
+
+
+Network Working Group P. Vixie, Editor
+Request for Comments: 2136 ISC
+Updates: 1035 S. Thomson
+Category: Standards Track Bellcore
+ Y. Rekhter
+ Cisco
+ J. Bound
+ DEC
+ April 1997
+
+ Dynamic Updates in the Domain Name System (DNS UPDATE)
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ The Domain Name System was originally designed to support queries of
+ a statically configured database. While the data was expected to
+ change, the frequency of those changes was expected to be fairly low,
+ and all updates were made as external edits to a zone's Master File.
+
+ Using this specification of the UPDATE opcode, it is possible to add
+ or delete RRs or RRsets from a specified zone. Prerequisites are
+ specified separately from update operations, and can specify a
+ dependency upon either the previous existence or nonexistence of an
+ RRset, or the existence of a single RR.
+
+ UPDATE is atomic, i.e., all prerequisites must be satisfied or else
+ no update operations will take place. There are no data dependent
+ error conditions defined after the prerequisites have been met.
+
+1 - Definitions
+
+ This document intentionally gives more definition to the roles of
+ "Master," "Slave," and "Primary Master" servers, and their
+ enumeration in NS RRs, and the SOA MNAME field. In that sense, the
+ following server type definitions can be considered an addendum to
+ [RFC1035], and are intended to be consistent with [RFC1996]:
+
+ Slave an authoritative server that uses AXFR or IXFR to
+ retrieve the zone and is named in the zone's NS
+ RRset.
+
+
+
+Vixie, et. al. Standards Track [Page 1]
+
+RFC 2136 DNS Update April 1997
+
+
+ Master an authoritative server configured to be the
+ source of AXFR or IXFR data for one or more slave
+ servers.
+
+ Primary Master master server at the root of the AXFR/IXFR
+ dependency graph. The primary master is named in
+ the zone's SOA MNAME field and optionally by an NS
+ RR. There is by definition only one primary master
+ server per zone.
+
+ A domain name identifies a node within the domain name space tree
+ structure. Each node has a set (possibly empty) of Resource Records
+ (RRs). All RRs having the same NAME, CLASS and TYPE are called a
+ Resource Record Set (RRset).
+
+ The pseudocode used in this document is for example purposes only.
+ If it is found to disagree with the text, the text shall be
+ considered authoritative. If the text is found to be ambiguous, the
+ pseudocode can be used to help resolve the ambiguity.
+
+ 1.1 - Comparison Rules
+
+ 1.1.1. Two RRs are considered equal if their NAME, CLASS, TYPE,
+ RDLENGTH and RDATA fields are equal. Note that the time-to-live
+ (TTL) field is explicitly excluded from the comparison.
+
+ 1.1.2. The rules for comparison of character strings in names are
+ specified in [RFC1035 2.3.3].
+
+ 1.1.3. Wildcarding is disabled. That is, a wildcard ("*") in an
+ update only matches a wildcard ("*") in the zone, and vice versa.
+
+ 1.1.4. Aliasing is disabled: A CNAME in the zone matches a CNAME in
+ the update, and will not otherwise be followed. All UPDATE
+ operations are done on the basis of canonical names.
+
+ 1.1.5. The following RR types cannot be appended to an RRset. If the
+ following comparison rules are met, then an attempt to add the new RR
+ will result in the replacement of the previous RR:
+
+ SOA compare only NAME, CLASS and TYPE -- it is not possible to
+ have more than one SOA per zone, even if any of the data
+ fields differ.
+
+ WKS compare only NAME, CLASS, TYPE, ADDRESS, and PROTOCOL
+ -- only one WKS RR is possible for this tuple, even if the
+ services masks differ.
+
+
+
+
+Vixie, et. al. Standards Track [Page 2]
+
+RFC 2136 DNS Update April 1997
+
+
+ CNAME compare only NAME, CLASS, and TYPE -- it is not possible
+ to have more than one CNAME RR, even if their data fields
+ differ.
+
+ 1.2 - Glue RRs
+
+ For the purpose of determining whether a domain name used in the
+ UPDATE protocol is contained within a specified zone, a domain name
+ is "in" a zone if it is owned by that zone's domain name. See
+ section 7.18 for details.
+
+ 1.3 - New Assigned Numbers
+
+ CLASS = NONE (254)
+ RCODE = YXDOMAIN (6)
+ RCODE = YXRRSET (7)
+ RCODE = NXRRSET (8)
+ RCODE = NOTAUTH (9)
+ RCODE = NOTZONE (10)
+ Opcode = UPDATE (5)
+
+2 - Update Message Format
+
+ The DNS Message Format is defined by [RFC1035 4.1]. Some extensions
+ are necessary (for example, more error codes are possible under
+ UPDATE than under QUERY) and some fields must be overloaded (see
+ description of CLASS fields below).
+
+ The overall format of an UPDATE message is, following [ibid]:
+
+ +---------------------+
+ | Header |
+ +---------------------+
+ | Zone | specifies the zone to be updated
+ +---------------------+
+ | Prerequisite | RRs or RRsets which must (not) preexist
+ +---------------------+
+ | Update | RRs or RRsets to be added or deleted
+ +---------------------+
+ | Additional Data | additional data
+ +---------------------+
+
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 3]
+
+RFC 2136 DNS Update April 1997
+
+
+ The Header Section specifies that this message is an UPDATE, and
+ describes the size of the other sections. The Zone Section names the
+ zone that is to be updated by this message. The Prerequisite Section
+ specifies the starting invariants (in terms of zone content) required
+ for this update. The Update Section contains the edits to be made,
+ and the Additional Data Section contains data which may be necessary
+ to complete, but is not part of, this update.
+
+ 2.1 - Transport Issues
+
+ An update transaction may be carried in a UDP datagram, if the
+ request fits, or in a TCP connection (at the discretion of the
+ requestor). When TCP is used, the message is in the format described
+ in [RFC1035 4.2.2].
+
+ 2.2 - Message Header
+
+ The header of the DNS Message Format is defined by [RFC 1035 4.1].
+ Not all opcodes define the same set of flag bits, though as a
+ practical matter most of the bits defined for QUERY (in [ibid]) are
+ identically defined by the other opcodes. UPDATE uses only one flag
+ bit (QR).
+
+ The DNS Message Format specifies record counts for its four sections
+ (Question, Answer, Authority, and Additional). UPDATE uses the same
+ fields, and the same section formats, but the naming and use of these
+ sections differs as shown in the following modified header, after
+ [RFC1035 4.1.1]:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ID |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ |QR| Opcode | Z | RCODE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ZOCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | PRCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | UPCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ADCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 4]
+
+RFC 2136 DNS Update April 1997
+
+
+ These fields are used as follows:
+
+ ID A 16-bit identifier assigned by the entity that generates any
+ kind of request. This identifier is copied in the
+ corresponding reply and can be used by the requestor to match
+ replies to outstanding requests, or by the server to detect
+ duplicated requests from some requestor.
+
+ QR A one bit field that specifies whether this message is a
+ request (0), or a response (1).
+
+ Opcode A four bit field that specifies the kind of request in this
+ message. This value is set by the originator of a request
+ and copied into the response. The Opcode value that
+ identifies an UPDATE message is five (5).
+
+ Z Reserved for future use. Should be zero (0) in all requests
+ and responses. A non-zero Z field should be ignored by
+ implementations of this specification.
+
+ RCODE Response code - this four bit field is undefined in requests
+ and set in responses. The values and meanings of this field
+ within responses are as follows:
+
+ Mneumonic Value Description
+ ------------------------------------------------------------
+ NOERROR 0 No error condition.
+ FORMERR 1 The name server was unable to interpret
+ the request due to a format error.
+ SERVFAIL 2 The name server encountered an internal
+ failure while processing this request,
+ for example an operating system error
+ or a forwarding timeout.
+ NXDOMAIN 3 Some name that ought to exist,
+ does not exist.
+ NOTIMP 4 The name server does not support
+ the specified Opcode.
+ REFUSED 5 The name server refuses to perform the
+ specified operation for policy or
+ security reasons.
+ YXDOMAIN 6 Some name that ought not to exist,
+ does exist.
+ YXRRSET 7 Some RRset that ought not to exist,
+ does exist.
+ NXRRSET 8 Some RRset that ought to exist,
+ does not exist.
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 5]
+
+RFC 2136 DNS Update April 1997
+
+
+ NOTAUTH 9 The server is not authoritative for
+ the zone named in the Zone Section.
+ NOTZONE 10 A name used in the Prerequisite or
+ Update Section is not within the
+ zone denoted by the Zone Section.
+
+ ZOCOUNT The number of RRs in the Zone Section.
+
+ PRCOUNT The number of RRs in the Prerequisite Section.
+
+ UPCOUNT The number of RRs in the Update Section.
+
+ ADCOUNT The number of RRs in the Additional Data Section.
+
+ 2.3 - Zone Section
+
+ The Zone Section has the same format as that specified in [RFC1035
+ 4.1.2], with the fields redefined as follows:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / ZNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ZTYPE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ZCLASS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ UPDATE uses this section to denote the zone of the records being
+ updated. All records to be updated must be in the same zone, and
+ therefore the Zone Section is allowed to contain exactly one record.
+ The ZNAME is the zone name, the ZTYPE must be SOA, and the ZCLASS is
+ the zone's class.
+
+ 2.4 - Prerequisite Section
+
+ This section contains a set of RRset prerequisites which must be
+ satisfied at the time the UPDATE packet is received by the primary
+ master server. The format of this section is as specified by
+ [RFC1035 4.1.3]. There are five possible sets of semantics that can
+ be expressed here, summarized as follows and then explained below.
+
+ (1) RRset exists (value independent). At least one RR with a
+ specified NAME and TYPE (in the zone and class specified by
+ the Zone Section) must exist.
+
+
+
+Vixie, et. al. Standards Track [Page 6]
+
+RFC 2136 DNS Update April 1997
+
+
+ (2) RRset exists (value dependent). A set of RRs with a
+ specified NAME and TYPE exists and has the same members
+ with the same RDATAs as the RRset specified here in this
+ Section.
+
+ (3) RRset does not exist. No RRs with a specified NAME and TYPE
+ (in the zone and class denoted by the Zone Section) can exist.
+
+ (4) Name is in use. At least one RR with a specified NAME (in
+ the zone and class specified by the Zone Section) must exist.
+ Note that this prerequisite is NOT satisfied by empty
+ nonterminals.
+
+ (5) Name is not in use. No RR of any type is owned by a
+ specified NAME. Note that this prerequisite IS satisfied by
+ empty nonterminals.
+
+ The syntax of these is as follows:
+
+ 2.4.1 - RRset Exists (Value Independent)
+
+ At least one RR with a specified NAME and TYPE (in the zone and class
+ specified in the Zone Section) must exist.
+
+ For this prerequisite, a requestor adds to the section a single RR
+ whose NAME and TYPE are equal to that of the zone RRset whose
+ existence is required. RDLENGTH is zero and RDATA is therefore
+ empty. CLASS must be specified as ANY to differentiate this
+ condition from that of an actual RR whose RDLENGTH is naturally zero
+ (0) (e.g., NULL). TTL is specified as zero (0).
+
+ 2.4.2 - RRset Exists (Value Dependent)
+
+ A set of RRs with a specified NAME and TYPE exists and has the same
+ members with the same RDATAs as the RRset specified here in this
+ section. While RRset ordering is undefined and therefore not
+ significant to this comparison, the sets be identical in their
+ extent.
+
+ For this prerequisite, a requestor adds to the section an entire
+ RRset whose preexistence is required. NAME and TYPE are that of the
+ RRset being denoted. CLASS is that of the zone. TTL must be
+ specified as zero (0) and is ignored when comparing RRsets for
+ identity.
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 7]
+
+RFC 2136 DNS Update April 1997
+
+
+ 2.4.3 - RRset Does Not Exist
+
+ No RRs with a specified NAME and TYPE (in the zone and class denoted
+ by the Zone Section) can exist.
+
+ For this prerequisite, a requestor adds to the section a single RR
+ whose NAME and TYPE are equal to that of the RRset whose nonexistence
+ is required. The RDLENGTH of this record is zero (0), and RDATA
+ field is therefore empty. CLASS must be specified as NONE in order
+ to distinguish this condition from a valid RR whose RDLENGTH is
+ naturally zero (0) (for example, the NULL RR). TTL must be specified
+ as zero (0).
+
+ 2.4.4 - Name Is In Use
+
+ Name is in use. At least one RR with a specified NAME (in the zone
+ and class specified by the Zone Section) must exist. Note that this
+ prerequisite is NOT satisfied by empty nonterminals.
+
+ For this prerequisite, a requestor adds to the section a single RR
+ whose NAME is equal to that of the name whose ownership of an RR is
+ required. RDLENGTH is zero and RDATA is therefore empty. CLASS must
+ be specified as ANY to differentiate this condition from that of an
+ actual RR whose RDLENGTH is naturally zero (0) (e.g., NULL). TYPE
+ must be specified as ANY to differentiate this case from that of an
+ RRset existence test. TTL is specified as zero (0).
+
+ 2.4.5 - Name Is Not In Use
+
+ Name is not in use. No RR of any type is owned by a specified NAME.
+ Note that this prerequisite IS satisfied by empty nonterminals.
+
+ For this prerequisite, a requestor adds to the section a single RR
+ whose NAME is equal to that of the name whose nonownership of any RRs
+ is required. RDLENGTH is zero and RDATA is therefore empty. CLASS
+ must be specified as NONE. TYPE must be specified as ANY. TTL must
+ be specified as zero (0).
+
+ 2.5 - Update Section
+
+ This section contains RRs to be added to or deleted from the zone.
+ The format of this section is as specified by [RFC1035 4.1.3]. There
+ are four possible sets of semantics, summarized below and with
+ details to follow.
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 8]
+
+RFC 2136 DNS Update April 1997
+
+
+ (1) Add RRs to an RRset.
+ (2) Delete an RRset.
+ (3) Delete all RRsets from a name.
+ (4) Delete an RR from an RRset.
+
+ The syntax of these is as follows:
+
+ 2.5.1 - Add To An RRset
+
+ RRs are added to the Update Section whose NAME, TYPE, TTL, RDLENGTH
+ and RDATA are those being added, and CLASS is the same as the zone
+ class. Any duplicate RRs will be silently ignored by the primary
+ master.
+
+ 2.5.2 - Delete An RRset
+
+ One RR is added to the Update Section whose NAME and TYPE are those
+ of the RRset to be deleted. TTL must be specified as zero (0) and is
+ otherwise not used by the primary master. CLASS must be specified as
+ ANY. RDLENGTH must be zero (0) and RDATA must therefore be empty.
+ If no such RRset exists, then this Update RR will be silently ignored
+ by the primary master.
+
+ 2.5.3 - Delete All RRsets From A Name
+
+ One RR is added to the Update Section whose NAME is that of the name
+ to be cleansed of RRsets. TYPE must be specified as ANY. TTL must
+ be specified as zero (0) and is otherwise not used by the primary
+ master. CLASS must be specified as ANY. RDLENGTH must be zero (0)
+ and RDATA must therefore be empty. If no such RRsets exist, then
+ this Update RR will be silently ignored by the primary master.
+
+ 2.5.4 - Delete An RR From An RRset
+
+ RRs to be deleted are added to the Update Section. The NAME, TYPE,
+ RDLENGTH and RDATA must match the RR being deleted. TTL must be
+ specified as zero (0) and will otherwise be ignored by the primary
+ master. CLASS must be specified as NONE to distinguish this from an
+ RR addition. If no such RRs exist, then this Update RR will be
+ silently ignored by the primary master.
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 9]
+
+RFC 2136 DNS Update April 1997
+
+
+ 2.6 - Additional Data Section
+
+ This section contains RRs which are related to the update itself, or
+ to new RRs being added by the update. For example, out of zone glue
+ (A RRs referred to by new NS RRs) should be presented here. The
+ server can use or ignore out of zone glue, at the discretion of the
+ server implementor. The format of this section is as specified by
+ [RFC1035 4.1.3].
+
+3 - Server Behavior
+
+ A server, upon receiving an UPDATE request, will signal NOTIMP to the
+ requestor if the UPDATE opcode is not recognized or if it is
+ recognized but has not been implemented. Otherwise, processing
+ continues as follows.
+
+ 3.1 - Process Zone Section
+
+ 3.1.1. The Zone Section is checked to see that there is exactly one
+ RR therein and that the RR's ZTYPE is SOA, else signal FORMERR to the
+ requestor. Next, the ZNAME and ZCLASS are checked to see if the zone
+ so named is one of this server's authority zones, else signal NOTAUTH
+ to the requestor. If the server is a zone slave, the request will be
+ forwarded toward the primary master.
+
+ 3.1.2 - Pseudocode For Zone Section Processing
+
+ if (zcount != 1 || ztype != SOA)
+ return (FORMERR)
+ if (zone_type(zname, zclass) == SLAVE)
+ return forward()
+ if (zone_type(zname, zclass) == MASTER)
+ return update()
+ return (NOTAUTH)
+
+ Sections 3.2 through 3.8 describe the primary master's behaviour,
+ whereas Section 6 describes a forwarder's behaviour.
+
+ 3.2 - Process Prerequisite Section
+
+ Next, the Prerequisite Section is checked to see that all
+ prerequisites are satisfied by the current state of the zone. Using
+ the definitions expressed in Section 1.2, if any RR's NAME is not
+ within the zone specified in the Zone Section, signal NOTZONE to the
+ requestor.
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 10]
+
+RFC 2136 DNS Update April 1997
+
+
+ 3.2.1. For RRs in this section whose CLASS is ANY, test to see that
+ TTL and RDLENGTH are both zero (0), else signal FORMERR to the
+ requestor. If TYPE is ANY, test to see that there is at least one RR
+ in the zone whose NAME is the same as that of the Prerequisite RR,
+ else signal NXDOMAIN to the requestor. If TYPE is not ANY, test to
+ see that there is at least one RR in the zone whose NAME and TYPE are
+ the same as that of the Prerequisite RR, else signal NXRRSET to the
+ requestor.
+
+ 3.2.2. For RRs in this section whose CLASS is NONE, test to see that
+ the TTL and RDLENGTH are both zero (0), else signal FORMERR to the
+ requestor. If the TYPE is ANY, test to see that there are no RRs in
+ the zone whose NAME is the same as that of the Prerequisite RR, else
+ signal YXDOMAIN to the requestor. If the TYPE is not ANY, test to
+ see that there are no RRs in the zone whose NAME and TYPE are the
+ same as that of the Prerequisite RR, else signal YXRRSET to the
+ requestor.
+
+ 3.2.3. For RRs in this section whose CLASS is the same as the ZCLASS,
+ test to see that the TTL is zero (0), else signal FORMERR to the
+ requestor. Then, build an RRset for each unique <NAME,TYPE> and
+ compare each resulting RRset for set equality (same members, no more,
+ no less) with RRsets in the zone. If any Prerequisite RRset is not
+ entirely and exactly matched by a zone RRset, signal NXRRSET to the
+ requestor. If any RR in this section has a CLASS other than ZCLASS
+ or NONE or ANY, signal FORMERR to the requestor.
+
+ 3.2.4 - Table Of Metavalues Used In Prerequisite Section
+
+ CLASS TYPE RDATA Meaning
+ ------------------------------------------------------------
+ ANY ANY empty Name is in use
+ ANY rrset empty RRset exists (value independent)
+ NONE ANY empty Name is not in use
+ NONE rrset empty RRset does not exist
+ zone rrset rr RRset exists (value dependent)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 11]
+
+RFC 2136 DNS Update April 1997
+
+
+ 3.2.5 - Pseudocode for Prerequisite Section Processing
+
+ for rr in prerequisites
+ if (rr.ttl != 0)
+ return (FORMERR)
+ if (zone_of(rr.name) != ZNAME)
+ return (NOTZONE);
+ if (rr.class == ANY)
+ if (rr.rdlength != 0)
+ return (FORMERR)
+ if (rr.type == ANY)
+ if (!zone_name<rr.name>)
+ return (NXDOMAIN)
+ else
+ if (!zone_rrset<rr.name, rr.type>)
+ return (NXRRSET)
+ if (rr.class == NONE)
+ if (rr.rdlength != 0)
+ return (FORMERR)
+ if (rr.type == ANY)
+ if (zone_name<rr.name>)
+ return (YXDOMAIN)
+ else
+ if (zone_rrset<rr.name, rr.type>)
+ return (YXRRSET)
+ if (rr.class == zclass)
+ temp<rr.name, rr.type> += rr
+ else
+ return (FORMERR)
+
+ for rrset in temp
+ if (zone_rrset<rrset.name, rrset.type> != rrset)
+ return (NXRRSET)
+
+ 3.3 - Check Requestor's Permissions
+
+ 3.3.1. Next, the requestor's permission to update the RRs named in
+ the Update Section may be tested in an implementation dependent
+ fashion or using mechanisms specified in a subsequent Secure DNS
+ Update protocol. If the requestor does not have permission to
+ perform these updates, the server may write a warning message in its
+ operations log, and may either signal REFUSED to the requestor, or
+ ignore the permission problem and proceed with the update.
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 12]
+
+RFC 2136 DNS Update April 1997
+
+
+ 3.3.2. While the exact processing is implementation defined, if these
+ verification activities are to be performed, this is the point in the
+ server's processing where such performance should take place, since
+ if a REFUSED condition is encountered after an update has been
+ partially applied, it will be necessary to undo the partial update
+ and restore the zone to its original state before answering the
+ requestor.
+
+ 3.3.3 - Pseudocode for Permission Checking
+
+ if (security policy exists)
+ if (this update is not permitted)
+ if (local option)
+ log a message about permission problem
+ if (local option)
+ return (REFUSED)
+
+ 3.4 - Process Update Section
+
+ Next, the Update Section is processed as follows.
+
+ 3.4.1 - Prescan
+
+ The Update Section is parsed into RRs and each RR's CLASS is checked
+ to see if it is ANY, NONE, or the same as the Zone Class, else signal
+ a FORMERR to the requestor. Using the definitions in Section 1.2,
+ each RR's NAME must be in the zone specified by the Zone Section,
+ else signal NOTZONE to the requestor.
+
+ 3.4.1.2. For RRs whose CLASS is not ANY, check the TYPE and if it is
+ ANY, AXFR, MAILA, MAILB, or any other QUERY metatype, or any
+ unrecognized type, then signal FORMERR to the requestor. For RRs
+ whose CLASS is ANY or NONE, check the TTL to see that it is zero (0),
+ else signal a FORMERR to the requestor. For any RR whose CLASS is
+ ANY, check the RDLENGTH to make sure that it is zero (0) (that is,
+ the RDATA field is empty), and that the TYPE is not AXFR, MAILA,
+ MAILB, or any other QUERY metatype besides ANY, or any unrecognized
+ type, else signal FORMERR to the requestor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 13]
+
+RFC 2136 DNS Update April 1997
+
+
+ 3.4.1.3 - Pseudocode For Update Section Prescan
+
+ [rr] for rr in updates
+ if (zone_of(rr.name) != ZNAME)
+ return (NOTZONE);
+ if (rr.class == zclass)
+ if (rr.type & ANY|AXFR|MAILA|MAILB)
+ return (FORMERR)
+ elsif (rr.class == ANY)
+ if (rr.ttl != 0 || rr.rdlength != 0
+ || rr.type & AXFR|MAILA|MAILB)
+ return (FORMERR)
+ elsif (rr.class == NONE)
+ if (rr.ttl != 0 || rr.type & ANY|AXFR|MAILA|MAILB)
+ return (FORMERR)
+ else
+ return (FORMERR)
+
+ 3.4.2 - Update
+
+ The Update Section is parsed into RRs and these RRs are processed in
+ order.
+
+ 3.4.2.1. If any system failure (such as an out of memory condition,
+ or a hardware error in persistent storage) occurs during the
+ processing of this section, signal SERVFAIL to the requestor and undo
+ all updates applied to the zone during this transaction.
+
+ 3.4.2.2. Any Update RR whose CLASS is the same as ZCLASS is added to
+ the zone. In case of duplicate RDATAs (which for SOA RRs is always
+ the case, and for WKS RRs is the case if the ADDRESS and PROTOCOL
+ fields both match), the Zone RR is replaced by Update RR. If the
+ TYPE is SOA and there is no Zone SOA RR, or the new SOA.SERIAL is
+ lower (according to [RFC1982]) than or equal to the current Zone SOA
+ RR's SOA.SERIAL, the Update RR is ignored. In the case of a CNAME
+ Update RR and a non-CNAME Zone RRset or vice versa, ignore the CNAME
+ Update RR, otherwise replace the CNAME Zone RR with the CNAME Update
+ RR.
+
+ 3.4.2.3. For any Update RR whose CLASS is ANY and whose TYPE is ANY,
+ all Zone RRs with the same NAME are deleted, unless the NAME is the
+ same as ZNAME in which case only those RRs whose TYPE is other than
+ SOA or NS are deleted. For any Update RR whose CLASS is ANY and
+ whose TYPE is not ANY all Zone RRs with the same NAME and TYPE are
+ deleted, unless the NAME is the same as ZNAME in which case neither
+ SOA or NS RRs will be deleted.
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 14]
+
+RFC 2136 DNS Update April 1997
+
+
+ 3.4.2.4. For any Update RR whose class is NONE, any Zone RR whose
+ NAME, TYPE, RDATA and RDLENGTH are equal to the Update RR is deleted,
+ unless the NAME is the same as ZNAME and either the TYPE is SOA or
+ the TYPE is NS and the matching Zone RR is the only NS remaining in
+ the RRset, in which case this Update RR is ignored.
+
+ 3.4.2.5. Signal NOERROR to the requestor.
+
+ 3.4.2.6 - Table Of Metavalues Used In Update Section
+
+ CLASS TYPE RDATA Meaning
+ ---------------------------------------------------------
+ ANY ANY empty Delete all RRsets from a name
+ ANY rrset empty Delete an RRset
+ NONE rrset rr Delete an RR from an RRset
+ zone rrset rr Add to an RRset
+
+ 3.4.2.7 - Pseudocode For Update Section Processing
+
+ [rr] for rr in updates
+ if (rr.class == zclass)
+ if (rr.type == CNAME)
+ if (zone_rrset<rr.name, ~CNAME>)
+ next [rr]
+ elsif (zone_rrset<rr.name, CNAME>)
+ next [rr]
+ if (rr.type == SOA)
+ if (!zone_rrset<rr.name, SOA> ||
+ zone_rr<rr.name, SOA>.serial > rr.soa.serial)
+ next [rr]
+ for zrr in zone_rrset<rr.name, rr.type>
+ if (rr.type == CNAME || rr.type == SOA ||
+ (rr.type == WKS && rr.proto == zrr.proto &&
+ rr.address == zrr.address) ||
+ rr.rdata == zrr.rdata)
+ zrr = rr
+ next [rr]
+ zone_rrset<rr.name, rr.type> += rr
+ elsif (rr.class == ANY)
+ if (rr.type == ANY)
+ if (rr.name == zname)
+ zone_rrset<rr.name, ~(SOA|NS)> = Nil
+ else
+ zone_rrset<rr.name, *> = Nil
+ elsif (rr.name == zname &&
+ (rr.type == SOA || rr.type == NS))
+ next [rr]
+ else
+
+
+
+Vixie, et. al. Standards Track [Page 15]
+
+RFC 2136 DNS Update April 1997
+
+
+ zone_rrset<rr.name, rr.type> = Nil
+ elsif (rr.class == NONE)
+ if (rr.type == SOA)
+ next [rr]
+ if (rr.type == NS && zone_rrset<rr.name, NS> == rr)
+ next [rr]
+ zone_rr<rr.name, rr.type, rr.data> = Nil
+ return (NOERROR)
+
+ 3.5 - Stability
+
+ When a zone is modified by an UPDATE operation, the server must
+ commit the change to nonvolatile storage before sending a response to
+ the requestor or answering any queries or transfers for the modified
+ zone. It is reasonable for a server to store only the update records
+ as long as a system reboot or power failure will cause these update
+ records to be incorporated into the zone the next time the server is
+ started. It is also reasonable for the server to copy the entire
+ modified zone to nonvolatile storage after each update operation,
+ though this would have suboptimal performance for large zones.
+
+ 3.6 - Zone Identity
+
+ If the zone's SOA SERIAL is changed by an update operation, that
+ change must be in a positive direction (using modulo 2**32 arithmetic
+ as specified by [RFC1982]). Attempts to replace an SOA with one
+ whose SERIAL is less than the current one will be silently ignored by
+ the primary master server.
+
+ If the zone's SOA's SERIAL is not changed as a result of an update
+ operation, then the server shall increment it automatically before
+ the SOA or any changed name or RR or RRset is included in any
+ response or transfer. The primary master server's implementor might
+ choose to autoincrement the SOA SERIAL if any of the following events
+ occurs:
+
+ (1) Each update operation.
+
+ (2) A name, RR or RRset in the zone has changed and has subsequently
+ been visible to a DNS client since the unincremented SOA was
+ visible to a DNS client, and the SOA is about to become visible
+ to a DNS client.
+
+ (3) A configurable period of time has elapsed since the last update
+ operation. This period shall be less than or equal to one third
+ of the zone refresh time, and the default shall be the lesser of
+ that maximum and 300 seconds.
+
+
+
+
+Vixie, et. al. Standards Track [Page 16]
+
+RFC 2136 DNS Update April 1997
+
+
+ (4) A configurable number of updates has been applied since the last
+ SOA change. The default value for this configuration parameter
+ shall be one hundred (100).
+
+ It is imperative that the zone's contents and the SOA's SERIAL be
+ tightly synchronized. If the zone appears to change, the SOA must
+ appear to change as well.
+
+ 3.7 - Atomicity
+
+ During the processing of an UPDATE transaction, the server must
+ ensure atomicity with respect to other (concurrent) UPDATE or QUERY
+ transactions. No two transactions can be processed concurrently if
+ either depends on the final results of the other; in particular, a
+ QUERY should not be able to retrieve RRsets which have been partially
+ modified by a concurrent UPDATE, and an UPDATE should not be able to
+ start from prerequisites that might not still hold at the completion
+ of some other concurrent UPDATE. Finally, if two UPDATE transactions
+ would modify the same names, RRs or RRsets, then such UPDATE
+ transactions must be serialized.
+
+ 3.8 - Response
+
+ At the end of UPDATE processing, a response code will be known. A
+ response message is generated by copying the ID and Opcode fields
+ from the request, and either copying the ZOCOUNT, PRCOUNT, UPCOUNT,
+ and ADCOUNT fields and associated sections, or placing zeros (0) in
+ the these "count" fields and not including any part of the original
+ update. The QR bit is set to one (1), and the response is sent back
+ to the requestor. If the requestor used UDP, then the response will
+ be sent to the requestor's source UDP port. If the requestor used
+ TCP, then the response will be sent back on the requestor's open TCP
+ connection.
+
+4 - Requestor Behaviour
+
+ 4.1. From a requestor's point of view, any authoritative server for
+ the zone can appear to be able to process update requests, even
+ though only the primary master server is actually able to modify the
+ zone's master file. Requestors are expected to know the name of the
+ zone they intend to update and to know or be able to determine the
+ name servers for that zone.
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 17]
+
+RFC 2136 DNS Update April 1997
+
+
+ 4.2. If update ordering is desired, the requestor will need to know
+ the value of the existing SOA RR. Requestors who update the SOA RR
+ must update the SOA SERIAL field in a positive direction (as defined
+ by [RFC1982]) and also preserve the other SOA fields unless the
+ requestor's explicit intent is to change them. The SOA SERIAL field
+ must never be set to zero (0).
+
+ 4.3. If the requestor has reasonable cause to believe that all of a
+ zone's servers will be equally reachable, then it should arrange to
+ try the primary master server (as given by the SOA MNAME field if
+ matched by some NS NSDNAME) first to avoid unnecessary forwarding
+ inside the slave servers. (Note that the primary master will in some
+ cases not be reachable by all requestors, due to firewalls or network
+ partitioning.)
+
+ 4.4. Once the zone's name servers been found and possibly sorted so
+ that the ones more likely to be reachable and/or support the UPDATE
+ opcode are listed first, the requestor composes an UPDATE message of
+ the following form and sends it to the first name server on its list:
+
+ ID: (new)
+ Opcode: UPDATE
+ Zone zcount: 1
+ Zone zname: (zone name)
+ Zone zclass: (zone class)
+ Zone ztype: T_SOA
+ Prerequisite Section: (see previous text)
+ Update Section: (see previous text)
+ Additional Data Section: (empty)
+
+ 4.5. If the requestor receives a response, and the response has an
+ RCODE other than SERVFAIL or NOTIMP, then the requestor returns an
+ appropriate response to its caller.
+
+ 4.6. If a response is received whose RCODE is SERVFAIL or NOTIMP, or
+ if no response is received within an implementation dependent timeout
+ period, or if an ICMP error is received indicating that the server's
+ port is unreachable, then the requestor will delete the unusable
+ server from its internal name server list and try the next one,
+ repeating until the name server list is empty. If the requestor runs
+ out of servers to try, an appropriate error will be returned to the
+ requestor's caller.
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 18]
+
+RFC 2136 DNS Update April 1997
+
+
+5 - Duplicate Detection, Ordering and Mutual Exclusion
+
+ 5.1. For correct operation, mechanisms may be needed to ensure
+ idempotence, order UPDATE requests and provide mutual exclusion. An
+ UPDATE message or response might be delivered zero times, one time,
+ or multiple times. Datagram duplication is of particular interest
+ since it covers the case of the so-called "replay attack" where a
+ correct request is duplicated maliciously by an intruder.
+
+ 5.2. Multiple UPDATE requests or responses in transit might be
+ delivered in any order, due to network topology changes or load
+ balancing, or to multipath forwarding graphs wherein several slave
+ servers all forward to the primary master. In some cases, it might
+ be required that the earlier update not be applied after the later
+ update, where "earlier" and "later" are defined by an external time
+ base visible to some set of requestors, rather than by the order of
+ request receipt at the primary master.
+
+ 5.3. A requestor can ensure transaction idempotence by explicitly
+ deleting some "marker RR" (rather than deleting the RRset of which it
+ is a part) and then adding a new "marker RR" with a different RDATA
+ field. The Prerequisite Section should specify that the original
+ "marker RR" must be present in order for this UPDATE message to be
+ accepted by the server.
+
+ 5.4. If the request is duplicated by a network error, all duplicate
+ requests will fail since only the first will find the original
+ "marker RR" present and having its known previous value. The
+ decisions of whether to use such a "marker RR" and what RR to use are
+ left up to the application programmer, though one obvious choice is
+ the zone's SOA RR as described below.
+
+ 5.5. Requestors can ensure update ordering by externally
+ synchronizing their use of successive values of the "marker RR."
+ Mutual exclusion can be addressed as a degenerate case, in that a
+ single succession of the "marker RR" is all that is needed.
+
+ 5.6. A special case where update ordering and datagram duplication
+ intersect is when an RR validly changes to some new value and then
+ back to its previous value. Without a "marker RR" as described
+ above, this sequence of updates can leave the zone in an undefined
+ state if datagrams are duplicated.
+
+ 5.7. To achieve an atomic multitransaction "read-modify-write" cycle,
+ a requestor could first retrieve the SOA RR, and build an UPDATE
+ message one of whose prerequisites was the old SOA RR. It would then
+ specify updates that would delete this SOA RR and add a new one with
+ an incremented SOA SERIAL, along with whatever actual prerequisites
+
+
+
+Vixie, et. al. Standards Track [Page 19]
+
+RFC 2136 DNS Update April 1997
+
+
+ and updates were the object of the transaction. If the transaction
+ succeeds, the requestor knows that the RRs being changed were not
+ otherwise altered by any other requestor.
+
+6 - Forwarding
+
+ When a zone slave forwards an UPDATE message upward toward the zone's
+ primary master server, it must allocate a new ID and prepare to enter
+ the role of "forwarding server," which is a requestor with respect to
+ the forward server.
+
+ 6.1. The set of forward servers will be same as the set of servers
+ this zone slave would use as the source of AXFR or IXFR data. So,
+ while the original requestor might have used the zone's NS RRset to
+ locate its update server, a forwarder always forwards toward its
+ designated zone master servers.
+
+ 6.2. If the original requestor used TCP, then the TCP connection from
+ the requestor is still open and the forwarder must use TCP to forward
+ the message. If the original requestor used UDP, the forwarder may
+ use either UDP or TCP to forward the message, at the whim of the
+ implementor.
+
+ 6.3. It is reasonable for forward servers to be forwarders
+ themselves, if the AXFR dependency graph being followed is a deep one
+ involving firewalls and multiple connectivity realms. In most cases
+ the AXFR dependency graph will be shallow and the forward server will
+ be the primary master server.
+
+ 6.4. The forwarder will not respond to its requestor until it
+ receives a response from its forward server. UPDATE transactions
+ involving forwarders are therefore time synchronized with respect to
+ the original requestor and the primary master server.
+
+ 6.5. When there are multiple possible sources of AXFR data and
+ therefore multiple possible forward servers, a forwarder will use the
+ same fallback strategy with respect to connectivity or timeout errors
+ that it would use when performing an AXFR. This is implementation
+ dependent.
+
+ 6.6. When a forwarder receives a response from a forward server, it
+ copies this response into a new response message, assigns its
+ requestor's ID to that message, and sends the response back to the
+ requestor.
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 20]
+
+RFC 2136 DNS Update April 1997
+
+
+7 - Design, Implementation, Operation, and Protocol Notes
+
+ Some of the principles which guided the design of this UPDATE
+ specification are as follows. Note that these are not part of the
+ formal specification and any disagreement between this section and
+ any other section of this document should be resolved in favour of
+ the other section.
+
+ 7.1. Using metavalues for CLASS is possible only because all RRs in
+ the packet are assumed to be in the same zone, and CLASS is an
+ attribute of a zone rather than of an RRset. (It is for this reason
+ that the Zone Section is not optional.)
+
+ 7.2. Since there are no data-present or data-absent errors possible
+ from processing the Update Section, any necessary data-present and
+ data- absent dependencies should be specified in the Prerequisite
+ Section.
+
+ 7.3. The Additional Data Section can be used to supply a server with
+ out of zone glue that will be needed in referrals. For example, if
+ adding a new NS RR to HOME.VIX.COM specifying a nameserver called
+ NS.AU.OZ, the A RR for NS.AU.OZ can be included in the Additional
+ Data Section. Servers can use this information or ignore it, at the
+ discretion of the implementor. We discourage caching this
+ information for use in subsequent DNS responses.
+
+ 7.4. The Additional Data Section might be used if some of the RRs
+ later needed for Secure DNS Update are not actually zone updates, but
+ rather ancillary keys or signatures not intended to be stored in the
+ zone (as an update would be), yet necessary for validating the update
+ operation.
+
+ 7.5. It is expected that in the absence of Secure DNS Update, a
+ server will only accept updates if they come from a source address
+ that has been statically configured in the server's description of a
+ primary master zone. DHCP servers would be likely candidates for
+ inclusion in this statically configured list.
+
+ 7.6. It is not possible to create a zone using this protocol, since
+ there is no provision for a slave server to be told who its master
+ servers are. It is expected that this protocol will be extended in
+ the future to cover this case. Therefore, at this time, the addition
+ of SOA RRs is unsupported. For similar reasons, deletion of SOA RRs
+ is also unsupported.
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 21]
+
+RFC 2136 DNS Update April 1997
+
+
+ 7.7. The prerequisite for specifying that a name own at least one RR
+ differs semantically from QUERY, in that QUERY would return
+ <NOERROR,ANCOUNT=0> rather than NXDOMAIN if queried for an RRset at
+ this name, while UPDATE's prerequisite condition [Section 2.4.4]
+ would NOT be satisfied.
+
+ 7.8. It is possible for a UDP response to be lost in transit and for
+ a request to be retried due to a timeout condition. In this case an
+ UPDATE that was successful the first time it was received by the
+ primary master might ultimately appear to have failed when the
+ response to a duplicate request is finally received by the requestor.
+ (This is because the original prerequisites may no longer be
+ satisfied after the update has been applied.) For this reason,
+ requestors who require an accurate response code must use TCP.
+
+ 7.9. Because a requestor who requires an accurate response code will
+ initiate their UPDATE transaction using TCP, a forwarder who receives
+ a request via TCP must forward it using TCP.
+
+ 7.10. Deferral of SOA SERIAL autoincrements is made possible so that
+ serial numbers can be conserved and wraparound at 2**32 can be made
+ an infrequent occurance. Visible (to DNS clients) SOA SERIALs need
+ to differ if the zone differs. Note that the Authority Section SOA
+ in a QUERY response is a form of visibility, for the purposes of this
+ prerequisite.
+
+ 7.11. A zone's SOA SERIAL should never be set to zero (0) due to
+ interoperability problems with some older but widely installed
+ implementations of DNS. When incrementing an SOA SERIAL, if the
+ result of the increment is zero (0) (as will be true when wrapping
+ around 2**32), it is necessary to increment it again or set it to one
+ (1). See [RFC1982] for more detail on this subject.
+
+ 7.12. Due to the TTL minimalization necessary when caching an RRset,
+ it is recommended that all TTLs in an RRset be set to the same value.
+ While the DNS Message Format permits variant TTLs to exist in the
+ same RRset, and this variance can exist inside a zone, such variance
+ will have counterintuitive results and its use is discouraged.
+
+ 7.13. Zone cut management presents some obscure corner cases to the
+ add and delete operations in the Update Section. It is possible to
+ delete an NS RR as long as it is not the last NS RR at the root of a
+ zone. If deleting all RRs from a name, SOA and NS RRs at the root of
+ a zone are unaffected. If deleting RRsets, it is not possible to
+ delete either SOA or NS RRsets at the top of a zone. An attempt to
+ add an SOA will be treated as a replace operation if an SOA already
+ exists, or as a no-op if the SOA would be new.
+
+
+
+
+Vixie, et. al. Standards Track [Page 22]
+
+RFC 2136 DNS Update April 1997
+
+
+ 7.14. No semantic checking is required in the primary master server
+ when adding new RRs. Therefore a requestor can cause CNAME or NS or
+ any other kind of RR to be added even if their target name does not
+ exist or does not have the proper RRsets to make the original RR
+ useful. Primary master servers that DO implement this kind of
+ checking should take great care to avoid out-of-zone dependencies
+ (whose veracity cannot be authoritatively checked) and should
+ implement all such checking during the prescan phase.
+
+ 7.15. Nonterminal or wildcard CNAMEs are not well specified by
+ [RFC1035] and their use will probably lead to unpredictable results.
+ Their use is discouraged.
+
+ 7.16. Empty nonterminals (nodes with children but no RRs of their
+ own) will cause <NOERROR,ANCOUNT=0> responses to be sent in response
+ to a query of any type for that name. There is no provision for
+ empty terminal nodes -- so if all RRs of a terminal node are deleted,
+ the name is no longer in use, and queries of any type for that name
+ will result in an NXDOMAIN response.
+
+ 7.17. In a deep AXFR dependency graph, it has not historically been
+ an error for slaves to depend mutually upon each other. This
+ configuration has been used to enable a zone to flow from the primary
+ master to all slaves even though not all slaves have continuous
+ connectivity to the primary master. UPDATE's use of the AXFR
+ dependency graph for forwarding prohibits this kind of dependency
+ loop, since UPDATE forwarding has no loop detection analagous to the
+ SOA SERIAL pretest used by AXFR.
+
+ 7.18. Previously existing names which are occluded by a new zone cut
+ are still considered part of the parent zone, for the purposes of
+ zone transfers, even though queries for such names will be referred
+ to the new subzone's servers. If a zone cut is removed, all parent
+ zone names that were occluded by it will again become visible to
+ queries. (This is a clarification of [RFC1034].)
+
+ 7.19. If a server is authoritative for both a zone and its child,
+ then queries for names at the zone cut between them will be answered
+ authoritatively using only data from the child zone. (This is a
+ clarification of [RFC1034].)
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 23]
+
+RFC 2136 DNS Update April 1997
+
+
+ 7.20. Update ordering using the SOA RR is problematic since there is
+ no way to know which of a zone's NS RRs represents the primary
+ master, and the zone slaves can be out of date if their SOA.REFRESH
+ timers have not elapsed since the last time the zone was changed on
+ the primary master. We recommend that a zone needing ordered updates
+ use only servers which implement NOTIFY (see [RFC1996]) and IXFR (see
+ [RFC1995]), and that a client receiving a prerequisite error while
+ attempting an ordered update simply retry after a random delay period
+ to allow the zone to settle.
+
+8 - Security Considerations
+
+ 8.1. In the absence of [RFC2137] or equivilent technology, the
+ protocol described by this document makes it possible for anyone who
+ can reach an authoritative name server to alter the contents of any
+ zones on that server. This is a serious increase in vulnerability
+ from the current technology. Therefore it is very strongly
+ recommended that the protocols described in this document not be used
+ without [RFC2137] or other equivalently strong security measures,
+ e.g. IPsec.
+
+ 8.2. A denial of service attack can be launched by flooding an update
+ forwarder with TCP sessions containing updates that the primary
+ master server will ultimately refuse due to permission problems.
+ This arises due to the requirement that an update forwarder receiving
+ a request via TCP use a synchronous TCP session for its forwarding
+ operation. The connection management mechanisms of [RFC1035 4.2.2]
+ are sufficient to prevent large scale damage from such an attack, but
+ not to prevent some queries from going unanswered during the attack.
+
+Acknowledgements
+
+ We would like to thank the IETF DNSIND working group for their input
+ and assistance, in particular, Rob Austein, Randy Bush, Donald
+ Eastlake, Masataka Ohta, Mark Andrews, and Robert Elz. Special
+ thanks to Bill Simpson, Ken Wallich and Bob Halley for reviewing this
+ document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 24]
+
+RFC 2136 DNS Update April 1997
+
+
+References
+
+ [RFC1035]
+ Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1035, USC/Information Sciences
+ Institute, November 1987.
+
+ [RFC1982]
+ Elz, R., "Serial Number Arithmetic", RFC 1982, University of
+ Melbourne, August 1996.
+
+ [RFC1995]
+ Ohta, M., "Incremental Zone Transfer", RFC 1995, Tokyo Institute
+ of Technology, August 1996.
+
+ [RFC1996]
+ Vixie, P., "A Mechanism for Prompt Notification of Zone Changes",
+ RFC 1996, Internet Software Consortium, August 1996.
+
+ [RFC2065]
+ Eastlake, D., and C. Kaufman, "Domain Name System Protocol
+ Security Extensions", RFC 2065, January 1997.
+
+ [RFC2137]
+ Eastlake, D., "Secure Domain Name System Dynamic Update", RFC
+ 2137, April 1997.
+
+Authors' Addresses
+
+ Yakov Rekhter
+ Cisco Systems
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706
+
+ Phone: +1 914 528 0090
+ EMail: yakov@cisco.com
+
+
+ Susan Thomson
+ Bellcore
+ 445 South Street
+ Morristown, NJ 07960
+
+ Phone: +1 201 829 4514
+ EMail: set@thumper.bellcore.com
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 25]
+
+RFC 2136 DNS Update April 1997
+
+
+ Jim Bound
+ Digital Equipment Corp.
+ 110 Spitbrook Rd ZK3-3/U14
+ Nashua, NH 03062-2698
+
+ Phone: +1 603 881 0400
+ EMail: bound@zk3.dec.com
+
+
+ Paul Vixie
+ Internet Software Consortium
+ Star Route Box 159A
+ Woodside, CA 94062
+
+ Phone: +1 415 747 0204
+ EMail: paul@vix.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et. al. Standards Track [Page 26]
+
diff --git a/Documentation/en/rfc/rfc2137.txt b/Documentation/en/rfc/rfc2137.txt
new file mode 100644
index 00000000..ceb3613d
--- /dev/null
+++ b/Documentation/en/rfc/rfc2137.txt
@@ -0,0 +1,619 @@
+
+
+
+
+
+
+Network Working Group D. Eastlake 3rd
+Request for Comments: 2137 CyberCash, Inc.
+Updates: 1035 April 1997
+Category: Standards Track
+
+
+ Secure Domain Name System Dynamic Update
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ Domain Name System (DNS) protocol extensions have been defined to
+ authenticate the data in DNS and provide key distribution services
+ [RFC2065]. DNS Dynamic Update operations have also been defined
+ [RFC2136], but without a detailed description of security for the
+ update operation. This memo describes how to use DNSSEC digital
+ signatures covering requests and data to secure updates and restrict
+ updates to those authorized to perform them as indicated by the
+ updater's possession of cryptographic keys.
+
+Acknowledgements
+
+ The contributions of the following persons (who are listed in
+ alphabetic order) to this memo are gratefully acknowledged:
+
+ Olafur Gudmundsson (ogud@tis.com>
+ Charlie Kaufman <Charlie_Kaufman@iris.com>
+ Stuart Kwan <skwan@microsoft.com>
+ Edward Lewis <lewis@tis.com>
+
+Table of Contents
+
+ 1. Introduction............................................2
+ 1.1 Overview of DNS Dynamic Update.........................2
+ 1.2 Overview of DNS Security...............................2
+ 2. Two Basic Modes.........................................3
+ 3. Keys....................................................5
+ 3.1 Update Keys............................................6
+ 3.1.1 Update Key Name Scope................................6
+ 3.1.2 Update Key Class Scope...............................6
+ 3.1.3 Update Key Signatory Field...........................6
+
+
+
+Eastlake Standards Track [Page 1]
+
+RFC 2137 SDNSDU April 1997
+
+
+ 3.2 Zone Keys and Update Modes.............................8
+ 3.3 Wildcard Key Punch Through.............................9
+ 4. Update Signatures.......................................9
+ 4.1 Update Request Signatures..............................9
+ 4.2 Update Data Signatures................................10
+ 5. Security Considerations................................10
+ References................................................10
+ Author's Address..........................................11
+
+1. Introduction
+
+ Dynamic update operations have been defined for the Domain Name
+ System (DNS) in RFC 2136, but without a detailed description of
+ security for those updates. Means of securing the DNS and using it
+ for key distribution have been defined in RFC 2065.
+
+ This memo proposes techniques based on the defined DNS security
+ mechanisms to authenticate DNS updates.
+
+ Familiarity with the DNS system [RFC 1034, 1035] is assumed.
+ Familiarity with the DNS security and dynamic update proposals will
+ be helpful.
+
+1.1 Overview of DNS Dynamic Update
+
+ DNS dynamic update defines a new DNS opcode, new DNS request and
+ response structure if that opcode is used, and new error codes. An
+ update can specify complex combinations of deletion and insertion
+ (with or without pre-existence testing) of resource records (RRs)
+ with one or more owner names; however, all testing and changes for
+ any particular DNS update request are restricted to a single zone.
+ Updates occur at the primary server for a zone.
+
+ The primary server for a secure dynamic zone must increment the zone
+ SOA serial number when an update occurs or the next time the SOA is
+ retrieved if one or more updates have occurred since the previous SOA
+ retrieval and the updates themselves did not update the SOA.
+
+1.2 Overview of DNS Security
+
+ DNS security authenticates data in the DNS by also storing digital
+ signatures in the DNS as SIG resource records (RRs). A SIG RR
+ provides a digital signature on the set of all RRs with the same
+ owner name and class as the SIG and whose type is the type covered by
+ the SIG. The SIG RR cryptographically binds the covered RR set to
+ the signer, time signed, signature expiration date, etc. There are
+ one or more keys associated with every secure zone and all data in
+ the secure zone is signed either by a zone key or by a dynamic update
+
+
+
+Eastlake Standards Track [Page 2]
+
+RFC 2137 SDNSDU April 1997
+
+
+ key tracing its authority to a zone key.
+
+ DNS security also defines transaction SIGs and request SIGs.
+ Transaction SIGs appear at the end of a response. Transaction SIGs
+ authenticate the response and bind it to the corresponding request
+ with the key of the host where the responding DNS server is. Request
+ SIGs appear at the end of a request and authenticate the request with
+ the key of the submitting entity.
+
+ Request SIGs are the primary means of authenticating update requests.
+
+ DNS security also permits the storage of public keys in the DNS via
+ KEY RRs. These KEY RRs are also, of course, authenticated by SIG
+ RRs. KEY RRs for zones are stored in their superzone and subzone
+ servers, if any, so that the secure DNS tree of zones can be
+ traversed by a security aware resolver.
+
+2. Two Basic Modes
+
+ A dynamic secure zone is any secure DNS zone containing one or more
+ KEY RRs that can authorize dynamic updates, i.e., entity or user KEY
+ RRs with the signatory field non-zero, and whose zone KEY RR
+ signatory field indicates that updates are implemented. There are two
+ basic modes of dynamic secure zone which relate to the update
+ strategy, mode A and mode B. A summary comparison table is given
+ below and then each mode is described.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 3]
+
+RFC 2137 SDNSDU April 1997
+
+
+ SUMMARY OF DYNAMIC SECURE ZONE MODES
+
+ CRITERIA: | MODE A | MODE B
+ =========================+====================+===================
+ Definition: | Zone Key Off line | Zone Key On line
+ =========================+====================+===================
+ Server Workload | Low | High
+ -------------------------+--------------------+-------------------
+ Static Data Security | Very High | Medium-High
+ -------------------------+--------------------+-------------------
+ Dynamic Data Security | Medium | Medium-High
+ -------------------------+--------------------+-------------------
+ Key Restrictions | Fine grain | Coarse grain
+ -------------------------+--------------------+-------------------
+ Dynamic Data Temporality | Transient | Permanent
+ -------------------------+--------------------+-------------------
+ Dynamic Key Rollover | No | Yes
+ -------------------------+--------------------+-------------------
+
+ For mode A, the zone owner key and static zone master file are always
+ kept off-line for maximum security of the static zone contents.
+
+ As a consequence, any dynamicly added or changed RRs are signed in
+ the secure zone by their authorizing dynamic update key and they are
+ backed up, along with this SIG RR, in a separate online dynamic
+ master file. In this type of zone, server computation is minimized
+ since the server need only check signatures on the update data and
+ request, which have already been signed by the updater, generally a
+ much faster operation than signing data. However, the AXFR SIG and
+ NXT RRs which covers the zone under the zone key will not cover
+ dynamically added data. Thus, for type A dynamic secure zones, zone
+ transfer security is not automatically provided for dynamically added
+ RRs, where they could be omitted, and authentication is not provided
+ for the server denial of the existence of a dynamically added type.
+ Because the dynamicly added RRs retain their update KEY signed SIG,
+ finer grained control of updates can be implemented via bits in the
+ KEY RR signatory field. Because dynamic data is only stored in the
+ online dynamic master file and only authenticated by dynamic keys
+ which expire, updates are transient in nature. Key rollover for an
+ entity that can authorize dynamic updates is more cumbersome since
+ the authority of their key must be traceable to a zone key and so, in
+ general, they must securely communicate a new key to the zone
+ authority for manual transfer to the off line static master file.
+ NOTE: for this mode the zone SOA must be signed by a dynamic update
+ key and that private key must be kept on line so that the SOA can be
+ changed for updates.
+
+
+
+
+
+Eastlake Standards Track [Page 4]
+
+RFC 2137 SDNSDU April 1997
+
+
+ For mode B, the zone owner key and master file are kept on-line at
+ the zone primary server. When authenticated updates succeed, SIGs
+ under the zone key for the resulting data (including the possible NXT
+ type bit map changes) are calculated and these SIG (and possible NXT)
+ changes are entered into the zone and the unified on-line master
+ file. (The zone transfer AXFR SIG may be recalculated for each
+ update or on demand when a zone transfer is requested and it is out
+ of date.)
+
+ As a consequence, this mode requires considerably more computational
+ effort on the part of the server as the public/private keys are
+ generally arranged so that signing (calculating a SIG) is more effort
+ than verifying a signature. The security of static data in the zone
+ is decreased because the ultimate state of the static data being
+ served and the ultimate zone authority private key are all on-line on
+ the net. This means that if the primary server is subverted, false
+ data could be authenticated to secondaries and other
+ servers/resolvers. On the other hand, this mode of operation means
+ that data added dynamically is more secure than in mode A. Dynamic
+ data will be covered by the AXFR SIG and thus always protected during
+ zone transfers and will be included in NXT RRs so that it can be
+ falsely denied by a server only to the same extent that static data
+ can (i.e., if it is within a wild card scope). Because the zone key
+ is used to sign all the zone data, the information as to who
+ originated the current state of dynamic RR sets is lost, making
+ unavailable the effects of some of the update control bits in the KEY
+ RR signatory field. In addition, the incorporation of the updates
+ into the primary master file and their authentication by the zone key
+ makes then permanent in nature. Maintaining the zone key on-line
+ also means that dynamic update keys which are signed by the zone key
+ can be dynamically updated since the zone key is available to
+ dynamically sign new values.
+
+ NOTE: The Mode A / Mode B distinction only effects the validation
+ and performance of update requests. It has no effect on retrievals.
+ One reasonable operational scheme may be to keep a mostly static main
+ zone operating in Mode A and have one or more dynamic subzones
+ operating in Mode B.
+
+3. Keys
+
+ Dynamic update requests depend on update keys as described in section
+ 3.1 below. In addition, the zone secure dynamic update mode and
+ availability of some options is indicated in the zone key. Finally,
+ a special rule is used in searching for KEYs to validate updates as
+ described in section 3.3.
+
+
+
+
+
+Eastlake Standards Track [Page 5]
+
+RFC 2137 SDNSDU April 1997
+
+
+3.1 Update Keys
+
+ All update requests to a secure zone must include signatures by one
+ or more key(s) that together can authorize that update. In order for
+ the Domain Name System (DNS) server receiving the request to confirm
+ this, the key or keys must be available to and authenticated by that
+ server as a specially flagged KEY Resource Record.
+
+ The scope of authority of such keys is indicated by their KEY RR
+ owner name, class, and signatory field flags as described below. In
+ addition, such KEY RRs must be entity or user keys and not have the
+ authentication use prohibited bit on. All parts of the actual update
+ must be within the scope of at least one of the keys used for a
+ request SIG on the update request as described in section 4.
+
+3.1.1 Update Key Name Scope
+
+ The owner name of any update authorizing KEY RR must (1) be the same
+ as the owner name of any RRs being added or deleted or (2) a wildcard
+ name including within its extended scope (see section 3.3) the name
+ of any RRs being added or deleted and those RRs must be in the same
+ zone.
+
+3.1.2 Update Key Class Scope
+
+ The class of any update authorizing KEY RR must be the same as the
+ class of any RR's being added or deleted.
+
+3.1.3 Update Key Signatory Field
+
+ The four bit "signatory field" (see RFC 2065) of any update
+ authorizing KEY RR must be non-zero. The bits have the meanings
+ described below for non-zone keys (see section 3.2 for zone type
+ keys).
+
+ UPDATE KEY RR SIGNATORY FIELD BITS
+
+ 0 1 2 3
+ +-----------+-----------+-----------+-----------+
+ | zone | strong | unique | general |
+ +-----------+-----------+-----------+-----------+
+
+ Bit 0, zone control - If nonzero, this key is authorized to attach,
+ detach, and move zones by creating and deleting NS, glue A, and
+ zone KEY RR(s). If zero, the key can not authorize any update
+ that would effect such RRs. This bit is meaningful for both
+ type A and type B dynamic secure zones.
+
+
+
+
+Eastlake Standards Track [Page 6]
+
+RFC 2137 SDNSDU April 1997
+
+
+ NOTE: do not confuse the "zone" signatory field bit with the
+ "zone" key type bit.
+
+ Bit 1, strong update - If nonzero, this key is authorized to add and
+ delete RRs even if there are other RRs with the same owner name
+ and class that are authenticated by a SIG signed with a
+ different dynamic update KEY. If zero, the key can only
+ authorize updates where any existing RRs of the same owner and
+ class are authenticated by a SIG using the same key. This bit
+ is meaningful only for type A dynamic zones and is ignored in
+ type B dynamic zones.
+
+ Keeping this bit zero on multiple KEY RRs with the same or
+ nested wild card owner names permits multiple entities to exist
+ that can create and delete names but can not effect RRs with
+ different owner names from any they created. In effect, this
+ creates two levels of dynamic update key, strong and weak, where
+ weak keys are limited in interfering with each other but a
+ strong key can interfere with any weak keys or other strong
+ keys.
+
+ Bit 2, unique name update - If nonzero, this key is authorized to add
+ and update RRs for only a single owner name. If there already
+ exist RRs with one or more names signed by this key, they may be
+ updated but no new name created until the number of existing
+ names is reduced to zero. This bit is meaningful only for mode
+ A dynamic zones and is ignored in mode B dynamic zones. This bit
+ is meaningful only if the owner name is a wildcard. (Any
+ dynamic update KEY with a non-wildcard name is, in effect, a
+ unique name update key.)
+
+ This bit can be used to restrict a KEY from flooding a zone with
+ new names. In conjunction with a local administratively imposed
+ limit on the number of dynamic RRs with a particular name, it
+ can completely restrict a KEY from flooding a zone with RRs.
+
+ Bit 3, general update - The general update signatory field bit has no
+ special meaning. If the other three bits are all zero, it must
+ be one so that the field is non-zero to designate that the key
+ is an update key. The meaning of all values of the signatory
+ field with the general bit and one or more other signatory field
+ bits on is reserved.
+
+ All the signatory bit update authorizations described above only
+ apply if the update is within the name and class scope as per
+ sections 3.1.1 and 3.1.2.
+
+
+
+
+
+Eastlake Standards Track [Page 7]
+
+RFC 2137 SDNSDU April 1997
+
+
+3.2 Zone Keys and Update Modes
+
+ Zone type keys are automatically authorized to sign anything in their
+ zone, of course, regardless of the value of their signatory field.
+ For zone keys, the signatory field bits have different means than
+ they they do for update keys, as shown below. The signatory field
+ MUST be zero if dynamic update is not supported for a zone and MUST
+ be non-zero if it is.
+
+ ZONE KEY RR SIGNATORY FIELD BITS
+
+ 0 1 2 3
+ +-----------+-----------+-----------+-----------+
+ | mode | strong | unique | general |
+ +-----------+-----------+-----------+-----------+
+
+ Bit 0, mode - This bit indicates the update mode for this zone. Zero
+ indicates mode A while a one indicates mode B.
+
+ Bit 1, strong update - If nonzero, this indicates that the "strong"
+ key feature described in section 3.1.3 above is implemented and
+ enabled for this secure zone. If zero, the feature is not
+ available. Has no effect if the zone is a mode B secure update
+ zone.
+
+ Bit 2, unique name update - If nonzero, this indicates that the
+ "unique name" feature described in section 3.1.3 above is
+ implemented and enabled for this secure zone. If zero, this
+ feature is not available. Has no effect if the zone is a mode B
+ secure update zone.
+
+ Bit 3, general - This bit has no special meeting. If dynamic update
+ for a zone is supported and the other bits in the zone key
+ signatory field are zero, it must be a one. The meaning of zone
+ keys where the signatory field has the general bit and one or
+ more other bits on is reserved.
+
+ If there are multiple dynamic update KEY RRs for a zone and zone
+ policy is in transition, they might have different non-zero signatory
+ fields. In that case, strong and unique name restrictions must be
+ enforced as long as there is a non-expired zone key being advertised
+ that indicates mode A with the strong or unique name bit on
+ respectively. Mode B updates MUST be supported as long as there is a
+ non-expired zone key that indicates mode B. Mode A updates may be
+ treated as mode B updates at server option if non-expired zone keys
+ indicate that both are supported.
+
+
+
+
+
+Eastlake Standards Track [Page 8]
+
+RFC 2137 SDNSDU April 1997
+
+
+ A server that will be executing update operations on a zone, that is,
+ the primary master server, MUST not advertize a zone key that will
+ attract requests for a mode or features that it can not support.
+
+3.3 Wildcard Key Punch Through
+
+ Just as a zone key is valid throughout the entire zone, update keys
+ with wildcard names are valid throughout their extended scope, within
+ the zone. That is, they remain valid for any name that would match
+ them, even existing specific names within their apparent scope.
+
+ If this were not so, then whenever a name within a wildcard scope was
+ created by dynamic update, it would be necessary to first create a
+ copy of the KEY RR with this name, because otherwise the existence of
+ the more specific name would hide the authorizing KEY RR and would
+ make later updates impossible. An updater could create such a KEY RR
+ but could not zone sign it with their authorizing signer. They would
+ have to sign it with the same key using the wildcard name as signer.
+ Thus in creating, for example, one hundred type A RRs authorized by a
+ *.1.1.1.in-addr.arpa. KEY RR, without key punch through 100 As, 100
+ KEYs, and 200 SIGs would have to be created as opposed to merely 100
+ As and 100 SIGs with key punch through.
+
+4. Update Signatures
+
+ Two kinds of signatures can appear in updates. Request signatures,
+ which are always required, cover the entire request and authenticate
+ the DNS header, including opcode, counts, etc., as well as the data.
+ Data signatures, on the other hand, appear only among the RRs to be
+ added and are only required for mode A operation. These two types of
+ signatures are described further below.
+
+4.1 Update Request Signatures
+
+ An update can effect multiple owner names in a zone. It may be that
+ these different names are covered by different dynamic update keys.
+ For every owner name effected, the updater must know a private key
+ valid for that name (and the zone's class) and must prove this by
+ appending request SIG RRs under each such key.
+
+ As specified in RFC 2065, a request signature is a SIG RR occurring
+ at the end of a request with a type covered field of zero. For an
+ update, request signatures occur in the Additional information
+ section. Each request SIG signs the entire request, including DNS
+ header, but excluding any other request SIG(s) and with the ARCOUNT
+ in the DNS header set to what it wold be without the request SIGs.
+
+
+
+
+
+Eastlake Standards Track [Page 9]
+
+RFC 2137 SDNSDU April 1997
+
+
+4.2 Update Data Signatures
+
+ Mode A dynamic secure zones require that the update requester provide
+ SIG RRs that will authenticate the after update state of all RR sets
+ that are changed by the update and are non-empty after the update.
+ These SIG RRs appear in the request as RRs to be added and the
+ request must delete any previous data SIG RRs that are invalidated by
+ the request.
+
+ In Mode B dynamic secure zones, all zone data is authenticated by
+ zone key SIG RRs. In this case, data signatures need not be included
+ with the update. A resolver can determine which mode an updatable
+ secure zone is using by examining the signatory field bits of the
+ zone KEY RR (see section 3.2).
+
+5. Security Considerations
+
+ Any zone permitting dynamic updates is inherently less secure than a
+ static secure zone maintained off line as recommended in RFC 2065. If
+ nothing else, secure dynamic update requires on line change to and
+ re-signing of the zone SOA resource record (RR) to increase the SOA
+ serial number. This means that compromise of the primary server host
+ could lead to arbitrary serial number changes.
+
+ Isolation of dynamic RRs to separate zones from those holding most
+ static RRs can limit the damage that could occur from breach of a
+ dynamic zone's security.
+
+References
+
+ [RFC2065] Eastlake, D., and C. Kaufman, "Domain Name System Security
+ Extensions", RFC 2065, CyberCash, Iris, January 1997.
+
+ [RFC2136] Vixie, P., Editor, Thomson, T., Rekhter, Y., and J. Bound,
+ "Dynamic Updates in the Domain Name System (DNS UPDATE)", RFC 2136,
+ April 1997.
+
+ [RFC1035] Mockapetris, P., "Domain Names - Implementation and
+ Specifications", STD 13, RFC 1035, November 1987.
+
+ [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ STD 13, RFC 1034, November 1987.
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 10]
+
+RFC 2137 SDNSDU April 1997
+
+
+Author's Address
+
+ Donald E. Eastlake, 3rd
+ CyberCash, Inc.
+ 318 Acton Street
+ Carlisle, MA 01741 USA
+
+ Phone: +1 508-287-4877
+ +1 508-371-7148 (fax)
+ +1 703-620-4200 (main office, Reston, Virginia, USA)
+ EMail: dee@cybercash.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 11]
+
diff --git a/Documentation/en/rfc/rfc2181.txt b/Documentation/en/rfc/rfc2181.txt
new file mode 100644
index 00000000..7899e1cb
--- /dev/null
+++ b/Documentation/en/rfc/rfc2181.txt
@@ -0,0 +1,842 @@
+
+
+
+
+
+
+Network Working Group R. Elz
+Request for Comments: 2181 University of Melbourne
+Updates: 1034, 1035, 1123 R. Bush
+Category: Standards Track RGnet, Inc.
+ July 1997
+
+
+ Clarifications to the DNS Specification
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+1. Abstract
+
+ This document considers some areas that have been identified as
+ problems with the specification of the Domain Name System, and
+ proposes remedies for the defects identified. Eight separate issues
+ are considered:
+
+ + IP packet header address usage from multi-homed servers,
+ + TTLs in sets of records with the same name, class, and type,
+ + correct handling of zone cuts,
+ + three minor issues concerning SOA records and their use,
+ + the precise definition of the Time to Live (TTL)
+ + Use of the TC (truncated) header bit
+ + the issue of what is an authoritative, or canonical, name,
+ + and the issue of what makes a valid DNS label.
+
+ The first six of these are areas where the correct behaviour has been
+ somewhat unclear, we seek to rectify that. The other two are already
+ adequately specified, however the specifications seem to be sometimes
+ ignored. We seek to reinforce the existing specifications.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 1]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+
+
+Contents
+
+ 1 Abstract ................................................... 1
+ 2 Introduction ............................................... 2
+ 3 Terminology ................................................ 3
+ 4 Server Reply Source Address Selection ...................... 3
+ 5 Resource Record Sets ....................................... 4
+ 6 Zone Cuts .................................................. 8
+ 7 SOA RRs .................................................... 10
+ 8 Time to Live (TTL) ......................................... 10
+ 9 The TC (truncated) header bit .............................. 11
+ 10 Naming issues .............................................. 11
+ 11 Name syntax ................................................ 13
+ 12 Security Considerations .................................... 14
+ 13 References ................................................. 14
+ 14 Acknowledgements ........................................... 15
+ 15 Authors' Addresses ......................................... 15
+
+
+
+
+2. Introduction
+
+ Several problem areas in the Domain Name System specification
+ [RFC1034, RFC1035] have been noted through the years [RFC1123]. This
+ document addresses several additional problem areas. The issues here
+ are independent. Those issues are the question of which source
+ address a multi-homed DNS server should use when replying to a query,
+ the issue of differing TTLs for DNS records with the same label,
+ class and type, and the issue of canonical names, what they are, how
+ CNAME records relate, what names are legal in what parts of the DNS,
+ and what is the valid syntax of a DNS name.
+
+ Clarifications to the DNS specification to avoid these problems are
+ made in this memo. A minor ambiguity in RFC1034 concerned with SOA
+ records is also corrected, as is one in the definition of the TTL
+ (Time To Live) and some possible confusion in use of the TC bit.
+
+
+
+
+
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 2]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+3. Terminology
+
+ This memo does not use the oft used expressions MUST, SHOULD, MAY, or
+ their negative forms. In some sections it may seem that a
+ specification is worded mildly, and hence some may infer that the
+ specification is optional. That is not correct. Anywhere that this
+ memo suggests that some action should be carried out, or must be
+ carried out, or that some behaviour is acceptable, or not, that is to
+ be considered as a fundamental aspect of this specification,
+ regardless of the specific words used. If some behaviour or action
+ is truly optional, that will be clearly specified by the text.
+
+4. Server Reply Source Address Selection
+
+ Most, if not all, DNS clients, expect the address from which a reply
+ is received to be the same address as that to which the query
+ eliciting the reply was sent. This is true for servers acting as
+ clients for the purposes of recursive query resolution, as well as
+ simple resolver clients. The address, along with the identifier (ID)
+ in the reply is used for disambiguating replies, and filtering
+ spurious responses. This may, or may not, have been intended when
+ the DNS was designed, but is now a fact of life.
+
+ Some multi-homed hosts running DNS servers generate a reply using a
+ source address that is not the same as the destination address from
+ the client's request packet. Such replies will be discarded by the
+ client because the source address of the reply does not match that of
+ a host to which the client sent the original request. That is, it
+ appears to be an unsolicited response.
+
+4.1. UDP Source Address Selection
+
+ To avoid these problems, servers when responding to queries using UDP
+ must cause the reply to be sent with the source address field in the
+ IP header set to the address that was in the destination address
+ field of the IP header of the packet containing the query causing the
+ response. If this would cause the response to be sent from an IP
+ address that is not permitted for this purpose, then the response may
+ be sent from any legal IP address allocated to the server. That
+ address should be chosen to maximise the possibility that the client
+ will be able to use it for further queries. Servers configured in
+ such a way that not all their addresses are equally reachable from
+ all potential clients need take particular care when responding to
+ queries sent to anycast, multicast, or similar, addresses.
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 3]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+4.2. Port Number Selection
+
+ Replies to all queries must be directed to the port from which they
+ were sent. When queries are received via TCP this is an inherent
+ part of the transport protocol. For queries received by UDP the
+ server must take note of the source port and use that as the
+ destination port in the response. Replies should always be sent from
+ the port to which they were directed. Except in extraordinary
+ circumstances, this will be the well known port assigned for DNS
+ queries [RFC1700].
+
+5. Resource Record Sets
+
+ Each DNS Resource Record (RR) has a label, class, type, and data. It
+ is meaningless for two records to ever have label, class, type and
+ data all equal - servers should suppress such duplicates if
+ encountered. It is however possible for most record types to exist
+ with the same label, class and type, but with different data. Such a
+ group of records is hereby defined to be a Resource Record Set
+ (RRSet).
+
+5.1. Sending RRs from an RRSet
+
+ A query for a specific (or non-specific) label, class, and type, will
+ always return all records in the associated RRSet - whether that be
+ one or more RRs. The response must be marked as "truncated" if the
+ entire RRSet will not fit in the response.
+
+5.2. TTLs of RRs in an RRSet
+
+ Resource Records also have a time to live (TTL). It is possible for
+ the RRs in an RRSet to have different TTLs. No uses for this have
+ been found that cannot be better accomplished in other ways. This
+ can, however, cause partial replies (not marked "truncated") from a
+ caching server, where the TTLs for some but not all the RRs in the
+ RRSet have expired.
+
+ Consequently the use of differing TTLs in an RRSet is hereby
+ deprecated, the TTLs of all RRs in an RRSet must be the same.
+
+ Should a client receive a response containing RRs from an RRSet with
+ differing TTLs, it should treat this as an error. If the RRSet
+ concerned is from a non-authoritative source for this data, the
+ client should simply ignore the RRSet, and if the values were
+ required, seek to acquire them from an authoritative source. Clients
+ that are configured to send all queries to one, or more, particular
+ servers should treat those servers as authoritative for this purpose.
+ Should an authoritative source send such a malformed RRSet, the
+
+
+
+Elz & Bush Standards Track [Page 4]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ client should treat the RRs for all purposes as if all TTLs in the
+ RRSet had been set to the value of the lowest TTL in the RRSet. In
+ no case may a server send an RRSet with TTLs not all equal.
+
+5.3. DNSSEC Special Cases
+
+ Two of the record types added by DNS Security (DNSSEC) [RFC2065]
+ require special attention when considering the formation of Resource
+ Record Sets. Those are the SIG and NXT records. It should be noted
+ that DNS Security is still very new, and there is, as yet, little
+ experience with it. Readers should be prepared for the information
+ related to DNSSEC contained in this document to become outdated as
+ the DNS Security specification matures.
+
+5.3.1. SIG records and RRSets
+
+ A SIG record provides signature (validation) data for another RRSet
+ in the DNS. Where a zone has been signed, every RRSet in the zone
+ will have had a SIG record associated with it. The data type of the
+ RRSet is included in the data of the SIG RR, to indicate with which
+ particular RRSet this SIG record is associated. Were the rules above
+ applied, whenever a SIG record was included with a response to
+ validate that response, the SIG records for all other RRSets
+ associated with the appropriate node would also need to be included.
+ In some cases, this could be a very large number of records, not
+ helped by their being rather large RRs.
+
+ Thus, it is specifically permitted for the authority section to
+ contain only those SIG RRs with the "type covered" field equal to the
+ type field of an answer being returned. However, where SIG records
+ are being returned in the answer section, in response to a query for
+ SIG records, or a query for all records associated with a name
+ (type=ANY) the entire SIG RRSet must be included, as for any other RR
+ type.
+
+ Servers that receive responses containing SIG records in the
+ authority section, or (probably incorrectly) as additional data, must
+ understand that the entire RRSet has almost certainly not been
+ included. Thus, they must not cache that SIG record in a way that
+ would permit it to be returned should a query for SIG records be
+ received at that server. RFC2065 actually requires that SIG queries
+ be directed only to authoritative servers to avoid the problems that
+ could be caused here, and while servers exist that do not understand
+ the special properties of SIG records, this will remain necessary.
+ However, careful design of SIG record processing in new
+ implementations should permit this restriction to be relaxed in the
+ future, so resolvers do not need to treat SIG record queries
+ specially.
+
+
+
+Elz & Bush Standards Track [Page 5]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ It has been occasionally stated that a received request for a SIG
+ record should be forwarded to an authoritative server, rather than
+ being answered from data in the cache. This is not necessary - a
+ server that has the knowledge of SIG as a special case for processing
+ this way would be better to correctly cache SIG records, taking into
+ account their characteristics. Then the server can determine when it
+ is safe to reply from the cache, and when the answer is not available
+ and the query must be forwarded.
+
+5.3.2. NXT RRs
+
+ Next Resource Records (NXT) are even more peculiar. There will only
+ ever be one NXT record in a zone for a particular label, so
+ superficially, the RRSet problem is trivial. However, at a zone cut,
+ both the parent zone, and the child zone (superzone and subzone in
+ RFC2065 terminology) will have NXT records for the same name. Those
+ two NXT records do not form an RRSet, even where both zones are
+ housed at the same server. NXT RRSets always contain just a single
+ RR. Where both NXT records are visible, two RRSets exist. However,
+ servers are not required to treat this as a special case when
+ receiving NXT records in a response. They may elect to notice the
+ existence of two different NXT RRSets, and treat that as they would
+ two different RRSets of any other type. That is, cache one, and
+ ignore the other. Security aware servers will need to correctly
+ process the NXT record in the received response though.
+
+5.4. Receiving RRSets
+
+ Servers must never merge RRs from a response with RRs in their cache
+ to form an RRSet. If a response contains data that would form an
+ RRSet with data in a server's cache the server must either ignore the
+ RRs in the response, or discard the entire RRSet currently in the
+ cache, as appropriate. Consequently the issue of TTLs varying
+ between the cache and a response does not cause concern, one will be
+ ignored. That is, one of the data sets is always incorrect if the
+ data from an answer differs from the data in the cache. The
+ challenge for the server is to determine which of the data sets is
+ correct, if one is, and retain that, while ignoring the other. Note
+ that if a server receives an answer containing an RRSet that is
+ identical to that in its cache, with the possible exception of the
+ TTL value, it may, optionally, update the TTL in its cache with the
+ TTL of the received answer. It should do this if the received answer
+ would be considered more authoritative (as discussed in the next
+ section) than the previously cached answer.
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 6]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+5.4.1. Ranking data
+
+ When considering whether to accept an RRSet in a reply, or retain an
+ RRSet already in its cache instead, a server should consider the
+ relative likely trustworthiness of the various data. An
+ authoritative answer from a reply should replace cached data that had
+ been obtained from additional information in an earlier reply.
+ However additional information from a reply will be ignored if the
+ cache contains data from an authoritative answer or a zone file.
+
+ The accuracy of data available is assumed from its source.
+ Trustworthiness shall be, in order from most to least:
+
+ + Data from a primary zone file, other than glue data,
+ + Data from a zone transfer, other than glue,
+ + The authoritative data included in the answer section of an
+ authoritative reply.
+ + Data from the authority section of an authoritative answer,
+ + Glue from a primary zone, or glue from a zone transfer,
+ + Data from the answer section of a non-authoritative answer, and
+ non-authoritative data from the answer section of authoritative
+ answers,
+ + Additional information from an authoritative answer,
+ Data from the authority section of a non-authoritative answer,
+ Additional information from non-authoritative answers.
+
+ Note that the answer section of an authoritative answer normally
+ contains only authoritative data. However when the name sought is an
+ alias (see section 10.1.1) only the record describing that alias is
+ necessarily authoritative. Clients should assume that other records
+ may have come from the server's cache. Where authoritative answers
+ are required, the client should query again, using the canonical name
+ associated with the alias.
+
+ Unauthenticated RRs received and cached from the least trustworthy of
+ those groupings, that is data from the additional data section, and
+ data from the authority section of a non-authoritative answer, should
+ not be cached in such a way that they would ever be returned as
+ answers to a received query. They may be returned as additional
+ information where appropriate. Ignoring this would allow the
+ trustworthiness of relatively untrustworthy data to be increased
+ without cause or excuse.
+
+ When DNS security [RFC2065] is in use, and an authenticated reply has
+ been received and verified, the data thus authenticated shall be
+ considered more trustworthy than unauthenticated data of the same
+ type. Note that throughout this document, "authoritative" means a
+ reply with the AA bit set. DNSSEC uses trusted chains of SIG and KEY
+
+
+
+Elz & Bush Standards Track [Page 7]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ records to determine the authenticity of data, the AA bit is almost
+ irrelevant. However DNSSEC aware servers must still correctly set
+ the AA bit in responses to enable correct operation with servers that
+ are not security aware (almost all currently).
+
+ Note that, glue excluded, it is impossible for data from two
+ correctly configured primary zone files, two correctly configured
+ secondary zones (data from zone transfers) or data from correctly
+ configured primary and secondary zones to ever conflict. Where glue
+ for the same name exists in multiple zones, and differs in value, the
+ nameserver should select data from a primary zone file in preference
+ to secondary, but otherwise may choose any single set of such data.
+ Choosing that which appears to come from a source nearer the
+ authoritative data source may make sense where that can be
+ determined. Choosing primary data over secondary allows the source
+ of incorrect glue data to be discovered more readily, when a problem
+ with such data exists. Where a server can detect from two zone files
+ that one or more are incorrectly configured, so as to create
+ conflicts, it should refuse to load the zones determined to be
+ erroneous, and issue suitable diagnostics.
+
+ "Glue" above includes any record in a zone file that is not properly
+ part of that zone, including nameserver records of delegated sub-
+ zones (NS records), address records that accompany those NS records
+ (A, AAAA, etc), and any other stray data that might appear.
+
+5.5. Sending RRSets (reprise)
+
+ A Resource Record Set should only be included once in any DNS reply.
+ It may occur in any of the Answer, Authority, or Additional
+ Information sections, as required. However it should not be repeated
+ in the same, or any other, section, except where explicitly required
+ by a specification. For example, an AXFR response requires the SOA
+ record (always an RRSet containing a single RR) be both the first and
+ last record of the reply. Where duplicates are required this way,
+ the TTL transmitted in each case must be the same.
+
+6. Zone Cuts
+
+ The DNS tree is divided into "zones", which are collections of
+ domains that are treated as a unit for certain management purposes.
+ Zones are delimited by "zone cuts". Each zone cut separates a
+ "child" zone (below the cut) from a "parent" zone (above the cut).
+ The domain name that appears at the top of a zone (just below the cut
+ that separates the zone from its parent) is called the zone's
+ "origin". The name of the zone is the same as the name of the domain
+ at the zone's origin. Each zone comprises that subset of the DNS
+ tree that is at or below the zone's origin, and that is above the
+
+
+
+Elz & Bush Standards Track [Page 8]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ cuts that separate the zone from its children (if any). The
+ existence of a zone cut is indicated in the parent zone by the
+ existence of NS records specifying the origin of the child zone. A
+ child zone does not contain any explicit reference to its parent.
+
+6.1. Zone authority
+
+ The authoritative servers for a zone are enumerated in the NS records
+ for the origin of the zone, which, along with a Start of Authority
+ (SOA) record are the mandatory records in every zone. Such a server
+ is authoritative for all resource records in a zone that are not in
+ another zone. The NS records that indicate a zone cut are the
+ property of the child zone created, as are any other records for the
+ origin of that child zone, or any sub-domains of it. A server for a
+ zone should not return authoritative answers for queries related to
+ names in another zone, which includes the NS, and perhaps A, records
+ at a zone cut, unless it also happens to be a server for the other
+ zone.
+
+ Other than the DNSSEC cases mentioned immediately below, servers
+ should ignore data other than NS records, and necessary A records to
+ locate the servers listed in the NS records, that may happen to be
+ configured in a zone at a zone cut.
+
+6.2. DNSSEC issues
+
+ The DNS security mechanisms [RFC2065] complicate this somewhat, as
+ some of the new resource record types added are very unusual when
+ compared with other DNS RRs. In particular the NXT ("next") RR type
+ contains information about which names exist in a zone, and hence
+ which do not, and thus must necessarily relate to the zone in which
+ it exists. The same domain name may have different NXT records in
+ the parent zone and the child zone, and both are valid, and are not
+ an RRSet. See also section 5.3.2.
+
+ Since NXT records are intended to be automatically generated, rather
+ than configured by DNS operators, servers may, but are not required
+ to, retain all differing NXT records they receive regardless of the
+ rules in section 5.4.
+
+ For a secure parent zone to securely indicate that a subzone is
+ insecure, DNSSEC requires that a KEY RR indicating that the subzone
+ is insecure, and the parent zone's authenticating SIG RR(s) be
+ present in the parent zone, as they by definition cannot be in the
+ subzone. Where a subzone is secure, the KEY and SIG records will be
+ present, and authoritative, in that zone, but should also always be
+ present in the parent zone (if secure).
+
+
+
+
+Elz & Bush Standards Track [Page 9]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ Note that in none of these cases should a server for the parent zone,
+ not also being a server for the subzone, set the AA bit in any
+ response for a label at a zone cut.
+
+7. SOA RRs
+
+ Three minor issues concerning the Start of Zone of Authority (SOA)
+ Resource Record need some clarification.
+
+7.1. Placement of SOA RRs in authoritative answers
+
+ RFC1034, in section 3.7, indicates that the authority section of an
+ authoritative answer may contain the SOA record for the zone from
+ which the answer was obtained. When discussing negative caching,
+ RFC1034 section 4.3.4 refers to this technique but mentions the
+ additional section of the response. The former is correct, as is
+ implied by the example shown in section 6.2.5 of RFC1034. SOA
+ records, if added, are to be placed in the authority section.
+
+7.2. TTLs on SOA RRs
+
+ It may be observed that in section 3.2.1 of RFC1035, which defines
+ the format of a Resource Record, that the definition of the TTL field
+ contains a throw away line which states that the TTL of an SOA record
+ should always be sent as zero to prevent caching. This is mentioned
+ nowhere else, and has not generally been implemented.
+ Implementations should not assume that SOA records will have a TTL of
+ zero, nor are they required to send SOA records with a TTL of zero.
+
+7.3. The SOA.MNAME field
+
+ It is quite clear in the specifications, yet seems to have been
+ widely ignored, that the MNAME field of the SOA record should contain
+ the name of the primary (master) server for the zone identified by
+ the SOA. It should not contain the name of the zone itself. That
+ information would be useless, as to discover it, one needs to start
+ with the domain name of the SOA record - that is the name of the
+ zone.
+
+8. Time to Live (TTL)
+
+ The definition of values appropriate to the TTL field in STD 13 is
+ not as clear as it could be, with respect to how many significant
+ bits exist, and whether the value is signed or unsigned. It is
+ hereby specified that a TTL value is an unsigned number, with a
+ minimum value of 0, and a maximum value of 2147483647. That is, a
+ maximum of 2^31 - 1. When transmitted, this value shall be encoded
+ in the less significant 31 bits of the 32 bit TTL field, with the
+
+
+
+Elz & Bush Standards Track [Page 10]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ most significant, or sign, bit set to zero.
+
+ Implementations should treat TTL values received with the most
+ significant bit set as if the entire value received was zero.
+
+ Implementations are always free to place an upper bound on any TTL
+ received, and treat any larger values as if they were that upper
+ bound. The TTL specifies a maximum time to live, not a mandatory
+ time to live.
+
+9. The TC (truncated) header bit
+
+ The TC bit should be set in responses only when an RRSet is required
+ as a part of the response, but could not be included in its entirety.
+ The TC bit should not be set merely because some extra information
+ could have been included, but there was insufficient room. This
+ includes the results of additional section processing. In such cases
+ the entire RRSet that will not fit in the response should be omitted,
+ and the reply sent as is, with the TC bit clear. If the recipient of
+ the reply needs the omitted data, it can construct a query for that
+ data and send that separately.
+
+ Where TC is set, the partial RRSet that would not completely fit may
+ be left in the response. When a DNS client receives a reply with TC
+ set, it should ignore that response, and query again, using a
+ mechanism, such as a TCP connection, that will permit larger replies.
+
+10. Naming issues
+
+ It has sometimes been inferred from some sections of the DNS
+ specification [RFC1034, RFC1035] that a host, or perhaps an interface
+ of a host, is permitted exactly one authoritative, or official, name,
+ called the canonical name. There is no such requirement in the DNS.
+
+10.1. CNAME resource records
+
+ The DNS CNAME ("canonical name") record exists to provide the
+ canonical name associated with an alias name. There may be only one
+ such canonical name for any one alias. That name should generally be
+ a name that exists elsewhere in the DNS, though there are some rare
+ applications for aliases with the accompanying canonical name
+ undefined in the DNS. An alias name (label of a CNAME record) may,
+ if DNSSEC is in use, have SIG, NXT, and KEY RRs, but may have no
+ other data. That is, for any label in the DNS (any domain name)
+ exactly one of the following is true:
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 11]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ + one CNAME record exists, optionally accompanied by SIG, NXT, and
+ KEY RRs,
+ + one or more records exist, none being CNAME records,
+ + the name exists, but has no associated RRs of any type,
+ + the name does not exist at all.
+
+10.1.1. CNAME terminology
+
+ It has been traditional to refer to the label of a CNAME record as "a
+ CNAME". This is unfortunate, as "CNAME" is an abbreviation of
+ "canonical name", and the label of a CNAME record is most certainly
+ not a canonical name. It is, however, an entrenched usage. Care
+ must therefore be taken to be very clear whether the label, or the
+ value (the canonical name) of a CNAME resource record is intended.
+ In this document, the label of a CNAME resource record will always be
+ referred to as an alias.
+
+10.2. PTR records
+
+ Confusion about canonical names has lead to a belief that a PTR
+ record should have exactly one RR in its RRSet. This is incorrect,
+ the relevant section of RFC1034 (section 3.6.2) indicates that the
+ value of a PTR record should be a canonical name. That is, it should
+ not be an alias. There is no implication in that section that only
+ one PTR record is permitted for a name. No such restriction should
+ be inferred.
+
+ Note that while the value of a PTR record must not be an alias, there
+ is no requirement that the process of resolving a PTR record not
+ encounter any aliases. The label that is being looked up for a PTR
+ value might have a CNAME record. That is, it might be an alias. The
+ value of that CNAME RR, if not another alias, which it should not be,
+ will give the location where the PTR record is found. That record
+ gives the result of the PTR type lookup. This final result, the
+ value of the PTR RR, is the label which must not be an alias.
+
+10.3. MX and NS records
+
+ The domain name used as the value of a NS resource record, or part of
+ the value of a MX resource record must not be an alias. Not only is
+ the specification clear on this point, but using an alias in either
+ of these positions neither works as well as might be hoped, nor well
+ fulfills the ambition that may have led to this approach. This
+ domain name must have as its value one or more address records.
+ Currently those will be A records, however in the future other record
+ types giving addressing information may be acceptable. It can also
+ have other RRs, but never a CNAME RR.
+
+
+
+
+Elz & Bush Standards Track [Page 12]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ Searching for either NS or MX records causes "additional section
+ processing" in which address records associated with the value of the
+ record sought are appended to the answer. This helps avoid needless
+ extra queries that are easily anticipated when the first was made.
+
+ Additional section processing does not include CNAME records, let
+ alone the address records that may be associated with the canonical
+ name derived from the alias. Thus, if an alias is used as the value
+ of an NS or MX record, no address will be returned with the NS or MX
+ value. This can cause extra queries, and extra network burden, on
+ every query. It is trivial for the DNS administrator to avoid this
+ by resolving the alias and placing the canonical name directly in the
+ affected record just once when it is updated or installed. In some
+ particular hard cases the lack of the additional section address
+ records in the results of a NS lookup can cause the request to fail.
+
+11. Name syntax
+
+ Occasionally it is assumed that the Domain Name System serves only
+ the purpose of mapping Internet host names to data, and mapping
+ Internet addresses to host names. This is not correct, the DNS is a
+ general (if somewhat limited) hierarchical database, and can store
+ almost any kind of data, for almost any purpose.
+
+ The DNS itself places only one restriction on the particular labels
+ that can be used to identify resource records. That one restriction
+ relates to the length of the label and the full name. The length of
+ any one label is limited to between 1 and 63 octets. A full domain
+ name is limited to 255 octets (including the separators). The zero
+ length full name is defined as representing the root of the DNS tree,
+ and is typically written and displayed as ".". Those restrictions
+ aside, any binary string whatever can be used as the label of any
+ resource record. Similarly, any binary string can serve as the value
+ of any record that includes a domain name as some or all of its value
+ (SOA, NS, MX, PTR, CNAME, and any others that may be added).
+ Implementations of the DNS protocols must not place any restrictions
+ on the labels that can be used. In particular, DNS servers must not
+ refuse to serve a zone because it contains labels that might not be
+ acceptable to some DNS client programs. A DNS server may be
+ configurable to issue warnings when loading, or even to refuse to
+ load, a primary zone containing labels that might be considered
+ questionable, however this should not happen by default.
+
+ Note however, that the various applications that make use of DNS data
+ can have restrictions imposed on what particular values are
+ acceptable in their environment. For example, that any binary label
+ can have an MX record does not imply that any binary name can be used
+ as the host part of an e-mail address. Clients of the DNS can impose
+
+
+
+Elz & Bush Standards Track [Page 13]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+ whatever restrictions are appropriate to their circumstances on the
+ values they use as keys for DNS lookup requests, and on the values
+ returned by the DNS. If the client has such restrictions, it is
+ solely responsible for validating the data from the DNS to ensure
+ that it conforms before it makes any use of that data.
+
+ See also [RFC1123] section 6.1.3.5.
+
+12. Security Considerations
+
+ This document does not consider security.
+
+ In particular, nothing in section 4 is any way related to, or useful
+ for, any security related purposes.
+
+ Section 5.4.1 is also not related to security. Security of DNS data
+ will be obtained by the Secure DNS [RFC2065], which is mostly
+ orthogonal to this memo.
+
+ It is not believed that anything in this document adds to any
+ security issues that may exist with the DNS, nor does it do anything
+ to that will necessarily lessen them. Correct implementation of the
+ clarifications in this document might play some small part in
+ limiting the spread of non-malicious bad data in the DNS, but only
+ DNSSEC can help with deliberate attempts to subvert DNS data.
+
+13. References
+
+ [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ STD 13, RFC 1034, November 1987.
+
+ [RFC1035] Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1035, November 1987.
+
+ [RFC1123] Braden, R., "Requirements for Internet Hosts - application
+ and support", STD 3, RFC 1123, January 1989.
+
+ [RFC1700] Reynolds, J., Postel, J., "Assigned Numbers",
+ STD 2, RFC 1700, October 1994.
+
+ [RFC2065] Eastlake, D., Kaufman, C., "Domain Name System Security
+ Extensions", RFC 2065, January 1997.
+
+
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 14]
+
+RFC 2181 Clarifications to the DNS Specification July 1997
+
+
+14. Acknowledgements
+
+ This memo arose from discussions in the DNSIND working group of the
+ IETF in 1995 and 1996, the members of that working group are largely
+ responsible for the ideas captured herein. Particular thanks to
+ Donald E. Eastlake, 3rd, and Olafur Gudmundsson, for help with the
+ DNSSEC issues in this document, and to John Gilmore for pointing out
+ where the clarifications were not necessarily clarifying. Bob Halley
+ suggested clarifying the placement of SOA records in authoritative
+ answers, and provided the references. Michael Patton, as usual, and
+ Mark Andrews, Alan Barrett and Stan Barber provided much assistance
+ with many details. Josh Littlefield helped make sure that the
+ clarifications didn't cause problems in some irritating corner cases.
+
+15. Authors' Addresses
+
+ Robert Elz
+ Computer Science
+ University of Melbourne
+ Parkville, Victoria, 3052
+ Australia.
+
+ EMail: kre@munnari.OZ.AU
+
+
+ Randy Bush
+ RGnet, Inc.
+ 5147 Crystal Springs Drive NE
+ Bainbridge Island, Washington, 98110
+ United States.
+
+ EMail: randy@psg.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Elz & Bush Standards Track [Page 15]
diff --git a/Documentation/en/rfc/rfc2183.txt b/Documentation/en/rfc/rfc2183.txt
new file mode 100644
index 00000000..f16f127e
--- /dev/null
+++ b/Documentation/en/rfc/rfc2183.txt
@@ -0,0 +1,675 @@
+
+
+
+
+
+
+Network Working Group R. Troost
+Request for Comments: 2183 New Century Systems
+Updates: 1806 S. Dorner
+Category: Standards Track QUALCOMM Incorporated
+ K. Moore, Editor
+ University of Tennessee
+ August 1997
+
+
+ Communicating Presentation Information in
+ Internet Messages:
+ The Content-Disposition Header Field
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Abstract
+
+ This memo provides a mechanism whereby messages conforming to the
+ MIME specifications [RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC
+ 2049] can convey presentational information. It specifies the
+ "Content-Disposition" header field, which is optional and valid for
+ any MIME entity ("message" or "body part"). Two values for this
+ header field are described in this memo; one for the ordinary linear
+ presentation of the body part, and another to facilitate the use of
+ mail to transfer files. It is expected that more values will be
+ defined in the future, and procedures are defined for extending this
+ set of values.
+
+ This document is intended as an extension to MIME. As such, the
+ reader is assumed to be familiar with the MIME specifications, and
+ [RFC 822]. The information presented herein supplements but does not
+ replace that found in those documents.
+
+ This document is a revision to the Experimental protocol defined in
+ RFC 1806. As compared to RFC 1806, this document contains minor
+ editorial updates, adds new parameters needed to support the File
+ Transfer Body Part, and references a separate specification for the
+ handling of non-ASCII and/or very long parameter values.
+
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 1]
+
+RFC 2183 Content-Disposition August 1997
+
+
+1. Introduction
+
+ MIME specifies a standard format for encapsulating multiple pieces of
+ data into a single Internet message. That document does not address
+ the issue of presentation styles; it provides a framework for the
+ interchange of message content, but leaves presentation issues solely
+ in the hands of mail user agent (MUA) implementors.
+
+ Two common ways of presenting multipart electronic messages are as a
+ main document with a list of separate attachments, and as a single
+ document with the various parts expanded (displayed) inline. The
+ display of an attachment is generally construed to require positive
+ action on the part of the recipient, while inline message components
+ are displayed automatically when the message is viewed. A mechanism
+ is needed to allow the sender to transmit this sort of presentational
+ information to the recipient; the Content-Disposition header provides
+ this mechanism, allowing each component of a message to be tagged
+ with an indication of its desired presentation semantics.
+
+ Tagging messages in this manner will often be sufficient for basic
+ message formatting. However, in many cases a more powerful and
+ flexible approach will be necessary. The definition of such
+ approaches is beyond the scope of this memo; however, such approaches
+ can benefit from additional Content-Disposition values and
+ parameters, to be defined at a later date.
+
+ In addition to allowing the sender to specify the presentational
+ disposition of a message component, it is desirable to allow her to
+ indicate a default archival disposition; a filename. The optional
+ "filename" parameter provides for this. Further, the creation-date,
+ modification-date, and read-date parameters allow preservation of
+ those file attributes when the file is transmitted over MIME email.
+
+ NB: The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
+ SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
+ document, are to be interpreted as described in [RFC 2119].
+
+2. The Content-Disposition Header Field
+
+ Content-Disposition is an optional header field. In its absence, the
+ MUA may use whatever presentation method it deems suitable.
+
+ It is desirable to keep the set of possible disposition types small
+ and well defined, to avoid needless complexity. Even so, evolving
+ usage will likely require the definition of additional disposition
+ types or parameters, so the set of disposition values is extensible;
+ see below.
+
+
+
+
+Troost, et. al. Standards Track [Page 2]
+
+RFC 2183 Content-Disposition August 1997
+
+
+ In the extended BNF notation of [RFC 822], the Content-Disposition
+ header field is defined as follows:
+
+ disposition := "Content-Disposition" ":"
+ disposition-type
+ *(";" disposition-parm)
+
+ disposition-type := "inline"
+ / "attachment"
+ / extension-token
+ ; values are not case-sensitive
+
+ disposition-parm := filename-parm
+ / creation-date-parm
+ / modification-date-parm
+ / read-date-parm
+ / size-parm
+ / parameter
+
+ filename-parm := "filename" "=" value
+
+ creation-date-parm := "creation-date" "=" quoted-date-time
+
+ modification-date-parm := "modification-date" "=" quoted-date-time
+
+ read-date-parm := "read-date" "=" quoted-date-time
+
+ size-parm := "size" "=" 1*DIGIT
+
+ quoted-date-time := quoted-string
+ ; contents MUST be an RFC 822 `date-time'
+ ; numeric timezones (+HHMM or -HHMM) MUST be used
+
+
+
+ NOTE ON PARAMETER VALUE LENGHTS: A short (length <= 78 characters)
+ parameter value containing only non-`tspecials' characters SHOULD be
+ represented as a single `token'. A short parameter value containing
+ only ASCII characters, but including `tspecials' characters, SHOULD
+ be represented as `quoted-string'. Parameter values longer than 78
+ characters, or which contain non-ASCII characters, MUST be encoded as
+ specified in [RFC 2184].
+
+ `Extension-token', `parameter', `tspecials' and `value' are defined
+ according to [RFC 2045] (which references [RFC 822] in the definition
+ of some of these tokens). `quoted-string' and `DIGIT' are defined in
+ [RFC 822].
+
+
+
+
+Troost, et. al. Standards Track [Page 3]
+
+RFC 2183 Content-Disposition August 1997
+
+
+2.1 The Inline Disposition Type
+
+ A bodypart should be marked `inline' if it is intended to be
+ displayed automatically upon display of the message. Inline
+ bodyparts should be presented in the order in which they occur,
+ subject to the normal semantics of multipart messages.
+
+2.2 The Attachment Disposition Type
+
+ Bodyparts can be designated `attachment' to indicate that they are
+ separate from the main body of the mail message, and that their
+ display should not be automatic, but contingent upon some further
+ action of the user. The MUA might instead present the user of a
+ bitmap terminal with an iconic representation of the attachments, or,
+ on character terminals, with a list of attachments from which the
+ user could select for viewing or storage.
+
+2.3 The Filename Parameter
+
+ The sender may want to suggest a filename to be used if the entity is
+ detached and stored in a separate file. If the receiving MUA writes
+ the entity to a file, the suggested filename should be used as a
+ basis for the actual filename, where possible.
+
+ It is important that the receiving MUA not blindly use the suggested
+ filename. The suggested filename SHOULD be checked (and possibly
+ changed) to see that it conforms to local filesystem conventions,
+ does not overwrite an existing file, and does not present a security
+ problem (see Security Considerations below).
+
+ The receiving MUA SHOULD NOT respect any directory path information
+ that may seem to be present in the filename parameter. The filename
+ should be treated as a terminal component only. Portable
+ specification of directory paths might possibly be done in the future
+ via a separate Content-Disposition parameter, but no provision is
+ made for it in this draft.
+
+ Current [RFC 2045] grammar restricts parameter values (and hence
+ Content-Disposition filenames) to US-ASCII. We recognize the great
+ desirability of allowing arbitrary character sets in filenames, but
+ it is beyond the scope of this document to define the necessary
+ mechanisms. We expect that the basic [RFC 1521] `value'
+ specification will someday be amended to allow use of non-US-ASCII
+ characters, at which time the same mechanism should be used in the
+ Content-Disposition filename parameter.
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 4]
+
+RFC 2183 Content-Disposition August 1997
+
+
+ Beyond the limitation to US-ASCII, the sending MUA may wish to bear
+ in mind the limitations of common filesystems. Many have severe
+ length and character set restrictions. Short alphanumeric filenames
+ are least likely to require modification by the receiving system.
+
+ The presence of the filename parameter does not force an
+ implementation to write the entity to a separate file. It is
+ perfectly acceptable for implementations to leave the entity as part
+ of the normal mail stream unless the user requests otherwise. As a
+ consequence, the parameter may be used on any MIME entity, even
+ `inline' ones. These will not normally be written to files, but the
+ parameter could be used to provide a filename if the receiving user
+ should choose to write the part to a file.
+
+2.4 The Creation-Date parameter
+
+ The creation-date parameter MAY be used to indicate the date at which
+ the file was created. If this parameter is included, the paramter
+ value MUST be a quoted-string which contains a representation of the
+ creation date of the file in [RFC 822] `date-time' format.
+
+ UNIX and POSIX implementors are cautioned that the `st_ctime' file
+ attribute of the `stat' structure is not the creation time of the
+ file; it is thus not appropriate as a source for the creation-date
+ parameter value.
+
+2.5 The Modification-Date parameter
+
+ The modification-date parameter MAY be used to indicate the date at
+ which the file was last modified. If the modification-date parameter
+ is included, the paramter value MUST be a quoted-string which
+ contains a representation of the last modification date of the file
+ in [RFC 822] `date-time' format.
+
+2.6 The Read-Date parameter
+
+ The read-date parameter MAY be used to indicate the date at which the
+ file was last read. If the read-date parameter is included, the
+ parameter value MUST be a quoted-string which contains a
+ representation of the last-read date of the file in [RFC 822] `date-
+ time' format.
+
+2.7 The Size parameter
+
+ The size parameter indicates an approximate size of the file in
+ octets. It can be used, for example, to pre-allocate space before
+ attempting to store the file, or to determine whether enough space
+ exists.
+
+
+
+Troost, et. al. Standards Track [Page 5]
+
+RFC 2183 Content-Disposition August 1997
+
+
+2.8 Future Extensions and Unrecognized Disposition Types
+
+ In the likely event that new parameters or disposition types are
+ needed, they should be registered with the Internet Assigned Numbers
+ Authority (IANA), in the manner specified in Section 9 of this memo.
+
+ Once new disposition types and parameters are defined, there is of
+ course the likelihood that implementations will see disposition types
+ and parameters they do not understand. Furthermore, since x-tokens
+ are allowed, implementations may also see entirely unregistered
+ disposition types and parameters.
+
+ Unrecognized parameters should be ignored. Unrecognized disposition
+ types should be treated as `attachment'. The choice of `attachment'
+ for unrecognized types is made because a sender who goes to the
+ trouble of producing a Content-Disposition header with a new
+ disposition type is more likely aiming for something more elaborate
+ than inline presentation.
+
+ Unless noted otherwise in the definition of a parameter, Content-
+ Disposition parameters are valid for all dispositions. (In contrast
+ to MIME content-type parameters, which are defined on a per-content-
+ type basis.) Thus, for example, the `filename' parameter still means
+ the name of the file to which the part should be written, even if the
+ disposition itself is unrecognized.
+
+2.9 Content-Disposition and Multipart
+
+ If a Content-Disposition header is used on a multipart body part, it
+ applies to the multipart as a whole, not the individual subparts.
+ The disposition types of the subparts do not need to be consulted
+ until the multipart itself is presented. When the multipart is
+ displayed, then the dispositions of the subparts should be respected.
+
+ If the `inline' disposition is used, the multipart should be
+ displayed as normal; however, an `attachment' subpart should require
+ action from the user to display.
+
+ If the `attachment' disposition is used, presentation of the
+ multipart should not proceed without explicit user action. Once the
+ user has chosen to display the multipart, the individual subpart
+ dispositions should be consulted to determine how to present the
+ subparts.
+
+
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 6]
+
+RFC 2183 Content-Disposition August 1997
+
+
+2.10 Content-Disposition and the Main Message
+
+ It is permissible to use Content-Disposition on the main body of an
+ [RFC 822] message.
+
+3. Examples
+
+ Here is a an example of a body part containing a JPEG image that is
+ intended to be viewed by the user immediately:
+
+ Content-Type: image/jpeg
+ Content-Disposition: inline
+ Content-Description: just a small picture of me
+
+ <jpeg data>
+
+ The following body part contains a JPEG image that should be
+ displayed to the user only if the user requests it. If the JPEG is
+ written to a file, the file should be named "genome.jpg". The
+ recipient's user might also choose to set the last-modified date of
+ the stored file to date in the modification-date parameter:
+
+ Content-Type: image/jpeg
+ Content-Disposition: attachment; filename=genome.jpeg;
+ modification-date="Wed, 12 Feb 1997 16:29:51 -0500";
+ Content-Description: a complete map of the human genome
+
+ <jpeg data>
+
+ The following is an example of the use of the `attachment'
+ disposition with a multipart body part. The user should see text-
+ part-1 immediately, then take some action to view multipart-2. After
+ taking action to view multipart-2, the user will see text-part-2
+ right away, and be required to take action to view jpeg-1. Subparts
+ are indented for clarity; they would not be so indented in a real
+ message.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 7]
+
+RFC 2183 Content-Disposition August 1997
+
+
+ Content-Type: multipart/mixed; boundary=outer
+ Content-Description: multipart-1
+
+ --outer
+ Content-Type: text/plain
+ Content-Disposition: inline
+ Content-Description: text-part-1
+
+ Some text goes here
+
+ --outer
+ Content-Type: multipart/mixed; boundary=inner
+ Content-Disposition: attachment
+ Content-Description: multipart-2
+
+ --inner
+ Content-Type: text/plain
+ Content-Disposition: inline
+ Content-Description: text-part-2
+
+ Some more text here.
+
+ --inner
+ Content-Type: image/jpeg
+ Content-Disposition: attachment
+ Content-Description: jpeg-1
+
+ <jpeg data>
+ --inner--
+ --outer--
+
+4. Summary
+
+ Content-Disposition takes one of two values, `inline' and
+ `attachment'. `Inline' indicates that the entity should be
+ immediately displayed to the user, whereas `attachment' means that
+ the user should take additional action to view the entity.
+
+ The `filename' parameter can be used to suggest a filename for
+ storing the bodypart, if the user wishes to store it in an external
+ file.
+
+
+
+
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 8]
+
+RFC 2183 Content-Disposition August 1997
+
+
+5. Security Considerations
+
+ There are security issues involved any time users exchange data.
+ While these are not to be minimized, neither does this memo change
+ the status quo in that regard, except in one instance.
+
+ Since this memo provides a way for the sender to suggest a filename,
+ a receiving MUA must take care that the sender's suggested filename
+ does not represent a hazard. Using UNIX as an example, some hazards
+ would be:
+
+ + Creating startup files (e.g., ".login").
+
+ + Creating or overwriting system files (e.g., "/etc/passwd").
+
+ + Overwriting any existing file.
+
+ + Placing executable files into any command search path
+ (e.g., "~/bin/more").
+
+ + Sending the file to a pipe (e.g., "| sh").
+
+ In general, the receiving MUA should not name or place the file such
+ that it will get interpreted or executed without the user explicitly
+ initiating the action.
+
+ It is very important to note that this is not an exhaustive list; it
+ is intended as a small set of examples only. Implementors must be
+ alert to the potential hazards on their target systems.
+
+6. References
+
+ [RFC 2119]
+ Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", RFC 2119, March 1997.
+
+ [RFC 2184]
+ Freed, N. and K. Moore, "MIME Parameter value and Encoded Words:
+ Character Sets, Lanaguage, and Continuations", RFC 2184, August
+ 1997.
+
+ [RFC 2045]
+ Freed, N. and N. Borenstein, "MIME (Multipurpose Internet Mail
+ Extensions) Part One: Format of Internet Message Bodies", RFC
+ 2045, December 1996.
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 9]
+
+RFC 2183 Content-Disposition August 1997
+
+
+ [RFC 2046]
+ Freed, N. and N. Borenstein, "MIME (Multipurpose Internet Mail
+ Extensions) Part Two: Media Types", RFC 2046, December 1996.
+
+ [RFC 2047]
+ Moore, K., "MIME (Multipurpose Internet Mail Extensions) Part
+ Three: Message Header Extensions for non-ASCII Text", RFC 2047,
+ December 1996.
+
+ [RFC 2048]
+ Freed, N., Klensin, J. and J. Postel, "MIME (Multipurpose
+ Internet Mail Extensions) Part Four: Registration Procedures",
+ RFC 2048, December 1996.
+
+ [RFC 2049]
+ Freed, N. and N. Borenstein, "MIME (Multipurpose Internet Mail
+ Extensions) Part Five: Conformance Criteria and Examples", RFC
+ 2049, December 1996.
+
+ [RFC 822]
+ Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", STD 11, RFC 822, UDEL, August 1982.
+
+7. Acknowledgements
+
+ We gratefully acknowledge the help these people provided during the
+ preparation of this draft:
+
+ Nathaniel Borenstein
+ Ned Freed
+ Keith Moore
+ Dave Crocker
+ Dan Pritchett
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 10]
+
+RFC 2183 Content-Disposition August 1997
+
+
+8. Authors' Addresses
+
+ You should blame the editor of this version of the document for any
+ changes since RFC 1806:
+
+ Keith Moore
+ Department of Computer Science
+ University of Tennessee, Knoxville
+ 107 Ayres Hall
+ Knoxville TN 37996-1301
+ USA
+
+ Phone: +1 (423) 974-5067
+ Fax: +1 (423) 974-8296
+ Email: moore@cs.utk.edu
+
+
+ The authors of RFC 1806 are:
+
+ Rens Troost
+ New Century Systems
+ 324 East 41st Street #804
+ New York, NY, 10017 USA
+
+ Phone: +1 (212) 557-2050
+ Fax: +1 (212) 557-2049
+ EMail: rens@century.com
+
+
+ Steve Dorner
+ QUALCOMM Incorporated
+ 6455 Lusk Boulevard
+ San Diego, CA 92121
+ USA
+
+ EMail: sdorner@qualcomm.com
+
+
+9. Registration of New Content-Disposition Values and Parameters
+
+ New Content-Disposition values (besides "inline" and "attachment")
+ may be defined only by Internet standards-track documents, or in
+ Experimental documents approved by the Internet Engineering Steering
+ Group.
+
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 11]
+
+RFC 2183 Content-Disposition August 1997
+
+
+ New content-disposition parameters may be registered by supplying the
+ information in the following template and sending it via electronic
+ mail to IANA@IANA.ORG:
+
+ To: IANA@IANA.ORG
+ Subject: Registration of new Content-Disposition parameter
+
+ Content-Disposition parameter name:
+
+ Allowable values for this parameter:
+ (If the parameter can only assume a small number of values,
+ list each of those values. Otherwise, describe the values
+ that the parameter can assume.)
+ Description:
+ (What is the purpose of this parameter and how is it used?)
+
+10. Changes since RFC 1806
+
+ The following changes have been made since the earlier version of
+ this document, published in RFC 1806 as an Experimental protocol:
+
+ + Updated references to MIME documents. In some cases this
+ involved substituting a reference to one of the current MIME
+ RFCs for a reference to RFC 1521; in other cases, a reference to
+ RFC 1521 was simply replaced with the word "MIME".
+
+ + Added a section on registration procedures, since none of the
+ procedures in RFC 2048 seemed to be appropriate.
+
+ + Added new parameter types: creation-date, modification-date,
+ read-date, and size.
+
+
+ + Incorporated a reference to draft-freed-pvcsc-* for encoding
+ long or non-ASCII parameter values.
+
+ + Added reference to RFC 2119 to define MUST, SHOULD, etc.
+ keywords.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Troost, et. al. Standards Track [Page 12]
+
diff --git a/Documentation/en/rfc/rfc2184.txt b/Documentation/en/rfc/rfc2184.txt
new file mode 100644
index 00000000..254321a1
--- /dev/null
+++ b/Documentation/en/rfc/rfc2184.txt
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+Network Working Group N. Freed
+Request for Comments: 2184 Innosoft
+Updates: 2045, 2047, 2183 K. Moore
+Category: Standards Track University of Tennessee
+ August 1997
+
+
+ MIME Parameter Value and Encoded Word Extensions:
+ Character Sets, Languages, and Continuations
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+1. Abstract
+
+ This memo defines extensions to the RFC 2045 media type and RFC 2183
+ disposition parameter value mechanisms to provide
+
+ (1) a means to specify parameter values in character sets
+ other than US-ASCII,
+
+ (2) to specify the language to be used should the value be
+ displayed, and
+
+ (3) a continuation mechanism for long parameter values to
+ avoid problems with header line wrapping.
+
+ This memo also defines an extension to the encoded words defined in
+ RFC 2047 to allow the specification of the language to be used for
+ display as well as the character set.
+
+2. Introduction
+
+ The Multipurpose Internet Mail Extensions, or MIME [RFC-2045, RFC-
+ 2046, RFC-2047, RFC-2048, RFC-2049], define a message format that
+ allows for
+
+ (1) textual message bodies in character sets other than
+ US-ASCII,
+
+ (2) non-textual message bodies,
+
+ (3) multi-part message bodies, and
+
+
+
+Freed & Moore Standards Track [Page 1]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+ (4) textual header information in character sets other than
+ US-ASCII.
+
+ MIME is now widely deployed and is used by a variety of Internet
+ protocols, including, of course, Internet email. However, MIME's
+ success has resulted in the need for additional mechanisms that were
+ not provided in the original protocol specification.
+
+ In particular, existing MIME mechanisms provide for named media type
+ (content-type field) parameters as well as named disposition
+ (content-disposition field). A MIME media type may specify any
+ number of parameters associated with all of its subtypes, and any
+ specific subtype may specify additional parameters for its own use. A
+ MIME disposition value may specify any number of associated
+ parameters, the most important of which is probably the attachment
+ disposition's filename parameter.
+
+ These parameter names and values end up appearing in the content-type
+ and content-disposition header fields in Internet email. This
+ inherently imposes three crucial limitations:
+
+ (1) Lines in Internet email header fields are folded according to
+ RFC 822 folding rules. This makes long parameter values
+ problematic.
+
+ (2) MIME headers, like the RFC 822 headers they often appear in,
+ are limited to 7bit US-ASCII, and the encoded-word mechanisms
+ of RFC 2047 are not available to parameter values. This makes
+ it impossible to have parameter values in character sets other
+ than US-ASCII without specifying some sort of private per-
+ parameter encoding.
+
+ (3) It has recently become clear that character set information
+ is not sufficient to properly display some sorts of
+ information -- language information is also needed [RFC-2130].
+ For example, support for handicapped users may require reading
+ text string aloud. The language the text is written in is
+ needed for this to be done correctly. Some parameter values
+ may need to be displayed, hence there is a need to allow for
+ the inclusion of language information.
+
+ The last problem on this list is also an issue for the encoded words
+ defined by RFC 2047, as encoded words are intended primarily for
+ display purposes.
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 2]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+ This document defines extensions that address all of these
+ limitations. All of these extensions are implemented in a fashion
+ that is completely compatible at a syntactic level with existing MIME
+ implementations. In addition, the extensions are designed to have as
+ little impact as possible on existing uses of MIME.
+
+ IMPORTANT NOTE: These mechanisms end up being somewhat gibbous when
+ they actually are used. As such, use of these mechanisms should not
+ be used lightly; they should be reserved for situations where a real
+ need for them exists.
+
+2.1. Requirements notation
+
+ This document occasionally uses terms that appear in capital letters.
+ When the terms "MUST", "SHOULD", "MUST NOT", "SHOULD NOT", and "MAY"
+ appear capitalized, they are being used to indicate particular
+ requirements of this specification. A discussion of the meanings of
+ these terms appears in [RFC-2119].
+
+
+3. Parameter Value Continuations
+
+ Long MIME media type or disposition parameter values do not interact
+ well with header line wrapping conventions. In particular, proper
+ header line wrapping depends on there being places where linear
+ whitespace (LWSP) is allowed, which may or may not be present in a
+ parameter value, and even if present may not be recognizable as such
+ since specific knowledge of parameter value syntax may not be
+ available to the agent doing the line wrapping. The result is that
+ long parameter values may end up getting truncated or otherwise
+ damaged by incorrect line wrapping implementations.
+
+ A mechanism is therefore needed to break up parameter values into
+ smaller units that are amenable to line wrapping. Any such mechanism
+ MUST be compatible with existing MIME processors. This means that
+
+ (1) the mechanism MUST NOT change the syntax of MIME media
+ type and disposition lines, and
+
+ (2) the mechanism MUST NOT depend on parameter ordering
+ since MIME states that parameters are not order sensitive.
+ Note that while MIME does prohibit modification of MIME
+ headers during transport, it is still possible that parameters
+ will be reordered when user agent level processing is done.
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 3]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+ The obvious solution, then, is to use multiple parameters to contain
+ a single parameter value and to use some kind of distinguished name
+ to indicate when this is being done. And this obvious solution is
+ exactly what is specified here: The asterisk character ("*") followed
+ by a decimal count is employed to indicate that multiple parameters
+ are being used to encapsulate a single parameter value. The count
+ starts at 0 and increments by 1 for each subsequent section of the
+ parameter value. Decimal values are used and neither leading zeroes
+ nor gaps in the sequence are allowed.
+
+ The original parameter value is recovered by concatenating the
+ various sections of the parameter, in order. For example, the
+ content-type field
+
+ Content-Type: message/external-body; access-type=URL;
+ URL*0="ftp://";
+ URL*1="cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar"
+
+ is semantically identical to
+
+ Content-Type: message/external-body; access-type=URL;
+ URL="ftp://cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar"
+
+ Note that quotes around parameter values are part of the value
+ syntax; they are NOT part of the value itself. Furthermore, it is
+ explicitly permitted to have a mixture of quoted and unquoted
+ continuation fields.
+
+4. Parameter Value Character Set and Language Information
+
+ Some parameter values may need to be qualified with character set or
+ language information. It is clear that a distinguished parameter
+ name is needed to identify when this information is present along
+ with a specific syntax for the information in the value itself. In
+ addition, a lightweight encoding mechanism is needed to accomodate 8
+ bit information in parameter values.
+
+ Asterisks ("*") are reused to provide the indicator that language and
+ character set information is present and encoding is being used. A
+ single quote ("'") is used to delimit the character set and language
+ information at the beginning of the parameter value. Percent signs
+ ("%") are used as the encoding flag, which agrees with RFC 2047.
+
+
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 4]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+ Specifically, an asterisk at the end of a parameter name acts as an
+ indicator that character set and language information may appear at
+ the beginning of the parameter value. A single quote is used to
+ separate the character set, language, and actual value information in
+ the parameter value string, and an percent sign is used to flag
+ octets encoded in hexadecimal. For example:
+
+ Content-Type: application/x-stuff;
+ title*=us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A
+
+ Note that it is perfectly permissible to leave either the character
+ set or language field blank. Note also that the single quote
+ delimiters MUST be present even when one of the field values is
+ omitted. This is done when either character set, language, or both
+ are not relevant to the parameter value at hand. This MUST NOT be
+ done in order to indicate a default character set or language --
+ parameter field definitions MUST NOT assign a default character set
+ or lanugage.
+
+4.1. Combining Character Set, Language, and Parameter Continuations
+
+ Character set and language information may be combined with the
+ parameter continuation mechanism. For example:
+
+ Content-Type: application/x-stuff
+ title*1*=us-ascii'en'This%20is%20even%20more%20
+ title*2*=%2A%2A%2Afun%2A%2A%2A%20
+ title*3="isn't it!"
+
+ Note that:
+
+ (1) Language and character set information only appear at
+ the beginning of a given parameter value.
+
+ (2) Continuations do not provide a facility for using more
+ than one character set or language in the same parameter
+ value.
+
+ (3) A value presented using multiple continuations may
+ contain a mixture of encoded and unencoded segments.
+
+ (4) The first segment of a continuation MUST be encoded if
+ language and character set information are given.
+
+ (5) If the first segment of a continued parameter value is
+ encoded the language and character set field delimiters MUST
+ be present even when the fields are left blank.
+
+
+
+
+Freed & Moore Standards Track [Page 5]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+5. Language specification in Encoded Words
+
+ RFC 2047 provides support for non-US-ASCII character sets in RFC 822
+ message header comments, phrases, and any unstructured text field.
+ This is done by defining an encoded word construct which can appear
+ in any of these places. Given that these are fields intended for
+ display, it is sometimes necessary to associate language information
+ with encoded words as well as just the character set. This
+ specification extends the definition of an encoded word to allow the
+ inclusion of such information. This is simply done by suffixing the
+ character set specification with an asterisk followed by the language
+ tag. For example:
+
+ From: =?US-ASCII*EN?Q?Keith_Moore?= <moore@cs.utk.edu>
+
+6. IMAP4 Handling of Parameter Values
+
+ IMAP4 [RFC-2060] servers SHOULD decode parameter value continuations
+ when generating the BODY and BODYSTRUCTURE fetch attributes.
+
+7. Modifications to MIME ABNF
+
+ The ABNF for MIME parameter values given in RFC 2045 is:
+
+ parameter := attribute "=" value
+
+ attribute := token
+ ; Matching of attributes
+ ; is ALWAYS case-insensitive.
+
+ This specification changes this ABNF to:
+
+ parameter := regular-parameter / extended-parameter
+
+ regular-parameter := regular-parameter-name "=" value
+
+ regular-parameter-name := attribute [section]
+
+ attribute := 1*attribute-char
+
+ attribute-char := <any (US-ASCII) CHAR except SPACE, CTLs,
+ "*", "'", "%", or tspecials>
+
+ section := initial-section / other-sections
+
+ initial-section := "*1"
+
+
+
+
+
+Freed & Moore Standards Track [Page 6]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+ other-sections := "*" (("2" / "3" / "4" / "5" /
+ "6" / "7" / "8" / "9") *DIGIT) /
+ ("1" 1*DIGIT))
+
+ extended-parameter := (extended-initial-name "="
+ extended-value) /
+ (extended-other-names "="
+ extended-other-values)
+
+ extended-initial-name := attribute [initial-section] "*"
+
+ extended-other-names := attribute other-sections "*"
+
+ extended-initial-value := [charset] "'" [language] "'"
+ extended-other-values
+
+ extended-other-values := *(ext-octet / attribute-char)
+
+ ext-octet := "%" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F")
+
+ charset := <registered character set name>
+
+ language := <registered language tag [RFC-1766]>
+
+ The ABNF given in RFC 2047 for encoded-words is:
+
+ encoded-word := "=?" charset "?" encoding "?" encoded-text "?="
+
+ This specification changes this ABNF to:
+
+ encoded-word := "=?" charset ["*" language] "?" encoded-text "?="
+
+
+8. Character sets which allow specification of language
+
+ In the future it is likely that some character sets will provide
+ facilities for inline language labelling. Such facilities are
+ inherently more flexible than those defined here as they allow for
+ language switching in the middle of a string.
+
+ If and when such facilities are developed they SHOULD be used in
+ preference to the language labelling facilities specified here. Note
+ that all the mechanisms defined here allow for the omission of
+ language labels so as to be able to accomodate this possible future
+ usage.
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 7]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+9. Security Considerations
+
+ This RFC does not discuss security issues and is not believed to
+ raise any security issues not already endemic in electronic mail and
+ present in fully conforming implementations of MIME.
+
+10. References
+
+ [RFC-822]
+ Crocker, D., "Standard for the Format of ARPA Internet Text
+ Messages", STD 11, RFC 822, August 1982.
+
+ [RFC-1766]
+ Alvestrand, H., "Tags for the Identification of Languages", RFC
+ 1766, March 1995.
+
+ [RFC-2045]
+ Freed, N. and Borenstein, N., "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message Bodies",
+ RFC 2045, Innosoft, First Virtual Holdings, December 1996.
+
+ [RFC-2046]
+ Freed, N. and Borenstein, N., "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", RFC 2046, Innosoft,
+ First Virtual Holdings, December 1996.
+
+ [RFC-2047]
+ Moore, K., "Multipurpose Internet Mail Extensions (MIME) Part
+ Three: Representation of Non-ASCII Text in Internet Message
+ Headers", RFC 2047, University of Tennessee, December 1996.
+
+ [RFC-2048]
+ Freed, N., Klensin, J., Postel, J., "Multipurpose Internet Mail
+ Extensions (MIME) Part Four: MIME Registration Procedures", RFC
+ 2048, Innosoft, MCI, ISI, December 1996.
+
+ [RFC-2049]
+ Freed, N. and Borenstein, N., "Multipurpose Internet Mail
+ Extensions (MIME) Part Five: Conformance Criteria and Examples",
+ RFC 2049, Innosoft, FIrst Virtual Holdings, December 1996.
+
+ [RFC-2060]
+ Crispin, M., "Internet Message Access Protocol - Version 4rev1",
+ RFC 2060, December 1996.
+
+ [RFC-2119]
+ Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", RFC 2119, March 1997.
+
+
+
+Freed & Moore Standards Track [Page 8]
+
+RFC 2184 MIME Parameter Value and Encoded Word Extensions August 1997
+
+
+ [RFC-2130]
+ Weider, C., Preston, C., Simonsen, K., Alvestrand, H., Atkinson,
+ R., Crispin, M., Svanberg, P., "Report from the IAB Character Set
+ Workshop", RFC 2130, April 1997.
+
+ [RFC-2183]
+ Troost, R., Dorner, S., and Moore, K., "Communicating Presentation
+ Information in Internet Messages: The Content-Disposition
+ Header", RFC 2183, August 1997.
+
+11. Authors' Addresses
+
+ Ned Freed
+ Innosoft International, Inc.
+ 1050 East Garvey Avenue South
+ West Covina, CA 91790
+ USA
+ tel: +1 818 919 3600 fax: +1 818 919 3614
+ email: ned@innosoft.com
+
+ Keith Moore
+ Computer Science Dept.
+ University of Tennessee
+ 107 Ayres Hall
+ Knoxville, TN 37996-1301
+ USA
+ email: moore@cs.utk.edu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 9]
+
diff --git a/Documentation/en/rfc/rfc2231.txt b/Documentation/en/rfc/rfc2231.txt
new file mode 100644
index 00000000..120f98f8
--- /dev/null
+++ b/Documentation/en/rfc/rfc2231.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+Network Working Group N. Freed
+Request for Comments: 2231 Innosoft
+Updates: 2045, 2047, 2183 K. Moore
+Obsoletes: 2184 University of Tennessee
+Category: Standards Track November 1997
+
+
+ MIME Parameter Value and Encoded Word Extensions:
+ Character Sets, Languages, and Continuations
+
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (1997). All Rights Reserved.
+
+1. Abstract
+
+ This memo defines extensions to the RFC 2045 media type and RFC 2183
+ disposition parameter value mechanisms to provide
+
+ (1) a means to specify parameter values in character sets
+ other than US-ASCII,
+
+ (2) to specify the language to be used should the value be
+ displayed, and
+
+ (3) a continuation mechanism for long parameter values to
+ avoid problems with header line wrapping.
+
+ This memo also defines an extension to the encoded words defined in
+ RFC 2047 to allow the specification of the language to be used for
+ display as well as the character set.
+
+2. Introduction
+
+ The Multipurpose Internet Mail Extensions, or MIME [RFC-2045, RFC-
+ 2046, RFC-2047, RFC-2048, RFC-2049], define a message format that
+ allows for:
+
+
+
+
+
+Freed & Moore Standards Track [Page 1]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ (1) textual message bodies in character sets other than
+ US-ASCII,
+
+ (2) non-textual message bodies,
+
+ (3) multi-part message bodies, and
+
+ (4) textual header information in character sets other than
+ US-ASCII.
+
+ MIME is now widely deployed and is used by a variety of Internet
+ protocols, including, of course, Internet email. However, MIME's
+ success has resulted in the need for additional mechanisms that were
+ not provided in the original protocol specification.
+
+ In particular, existing MIME mechanisms provide for named media type
+ (content-type field) parameters as well as named disposition
+ (content-disposition field). A MIME media type may specify any
+ number of parameters associated with all of its subtypes, and any
+ specific subtype may specify additional parameters for its own use. A
+ MIME disposition value may specify any number of associated
+ parameters, the most important of which is probably the attachment
+ disposition's filename parameter.
+
+ These parameter names and values end up appearing in the content-type
+ and content-disposition header fields in Internet email. This
+ inherently imposes three crucial limitations:
+
+ (1) Lines in Internet email header fields are folded
+ according to RFC 822 folding rules. This makes long
+ parameter values problematic.
+
+ (2) MIME headers, like the RFC 822 headers they often
+ appear in, are limited to 7bit US-ASCII, and the
+ encoded-word mechanisms of RFC 2047 are not available
+ to parameter values. This makes it impossible to have
+ parameter values in character sets other than US-ASCII
+ without specifying some sort of private per-parameter
+ encoding.
+
+ (3) It has recently become clear that character set
+ information is not sufficient to properly display some
+ sorts of information -- language information is also
+ needed [RFC-2130]. For example, support for
+ handicapped users may require reading text string
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 2]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ aloud. The language the text is written in is needed
+ for this to be done correctly. Some parameter values
+ may need to be displayed, hence there is a need to
+ allow for the inclusion of language information.
+
+ The last problem on this list is also an issue for the encoded words
+ defined by RFC 2047, as encoded words are intended primarily for
+ display purposes.
+
+ This document defines extensions that address all of these
+ limitations. All of these extensions are implemented in a fashion
+ that is completely compatible at a syntactic level with existing MIME
+ implementations. In addition, the extensions are designed to have as
+ little impact as possible on existing uses of MIME.
+
+ IMPORTANT NOTE: These mechanisms end up being somewhat gibbous when
+ they actually are used. As such, these mechanisms should not be used
+ lightly; they should be reserved for situations where a real need for
+ them exists.
+
+2.1. Requirements notation
+
+ This document occasionally uses terms that appear in capital letters.
+ When the terms "MUST", "SHOULD", "MUST NOT", "SHOULD NOT", and "MAY"
+ appear capitalized, they are being used to indicate particular
+ requirements of this specification. A discussion of the meanings of
+ these terms appears in [RFC- 2119].
+
+3. Parameter Value Continuations
+
+ Long MIME media type or disposition parameter values do not interact
+ well with header line wrapping conventions. In particular, proper
+ header line wrapping depends on there being places where linear
+ whitespace (LWSP) is allowed, which may or may not be present in a
+ parameter value, and even if present may not be recognizable as such
+ since specific knowledge of parameter value syntax may not be
+ available to the agent doing the line wrapping. The result is that
+ long parameter values may end up getting truncated or otherwise
+ damaged by incorrect line wrapping implementations.
+
+ A mechanism is therefore needed to break up parameter values into
+ smaller units that are amenable to line wrapping. Any such mechanism
+ MUST be compatible with existing MIME processors. This means that
+
+ (1) the mechanism MUST NOT change the syntax of MIME media
+ type and disposition lines, and
+
+
+
+
+
+Freed & Moore Standards Track [Page 3]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ (2) the mechanism MUST NOT depend on parameter ordering
+ since MIME states that parameters are not order
+ sensitive. Note that while MIME does prohibit
+ modification of MIME headers during transport, it is
+ still possible that parameters will be reordered when
+ user agent level processing is done.
+
+ The obvious solution, then, is to use multiple parameters to contain
+ a single parameter value and to use some kind of distinguished name
+ to indicate when this is being done. And this obvious solution is
+ exactly what is specified here: The asterisk character ("*") followed
+ by a decimal count is employed to indicate that multiple parameters
+ are being used to encapsulate a single parameter value. The count
+ starts at 0 and increments by 1 for each subsequent section of the
+ parameter value. Decimal values are used and neither leading zeroes
+ nor gaps in the sequence are allowed.
+
+ The original parameter value is recovered by concatenating the
+ various sections of the parameter, in order. For example, the
+ content-type field
+
+ Content-Type: message/external-body; access-type=URL;
+ URL*0="ftp://";
+ URL*1="cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar"
+
+ is semantically identical to
+
+ Content-Type: message/external-body; access-type=URL;
+ URL="ftp://cs.utk.edu/pub/moore/bulk-mailer/bulk-mailer.tar"
+
+ Note that quotes around parameter values are part of the value
+ syntax; they are NOT part of the value itself. Furthermore, it is
+ explicitly permitted to have a mixture of quoted and unquoted
+ continuation fields.
+
+4. Parameter Value Character Set and Language Information
+
+ Some parameter values may need to be qualified with character set or
+ language information. It is clear that a distinguished parameter
+ name is needed to identify when this information is present along
+ with a specific syntax for the information in the value itself. In
+ addition, a lightweight encoding mechanism is needed to accommodate 8
+ bit information in parameter values.
+
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 4]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ Asterisks ("*") are reused to provide the indicator that language and
+ character set information is present and encoding is being used. A
+ single quote ("'") is used to delimit the character set and language
+ information at the beginning of the parameter value. Percent signs
+ ("%") are used as the encoding flag, which agrees with RFC 2047.
+
+ Specifically, an asterisk at the end of a parameter name acts as an
+ indicator that character set and language information may appear at
+ the beginning of the parameter value. A single quote is used to
+ separate the character set, language, and actual value information in
+ the parameter value string, and an percent sign is used to flag
+ octets encoded in hexadecimal. For example:
+
+ Content-Type: application/x-stuff;
+ title*=us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A
+
+ Note that it is perfectly permissible to leave either the character
+ set or language field blank. Note also that the single quote
+ delimiters MUST be present even when one of the field values is
+ omitted. This is done when either character set, language, or both
+ are not relevant to the parameter value at hand. This MUST NOT be
+ done in order to indicate a default character set or language --
+ parameter field definitions MUST NOT assign a default character set
+ or language.
+
+4.1. Combining Character Set, Language, and Parameter Continuations
+
+ Character set and language information may be combined with the
+ parameter continuation mechanism. For example:
+
+ Content-Type: application/x-stuff
+ title*0*=us-ascii'en'This%20is%20even%20more%20
+ title*1*=%2A%2A%2Afun%2A%2A%2A%20
+ title*2="isn't it!"
+
+ Note that:
+
+ (1) Language and character set information only appear at
+ the beginning of a given parameter value.
+
+ (2) Continuations do not provide a facility for using more
+ than one character set or language in the same
+ parameter value.
+
+ (3) A value presented using multiple continuations may
+ contain a mixture of encoded and unencoded segments.
+
+
+
+
+
+Freed & Moore Standards Track [Page 5]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ (4) The first segment of a continuation MUST be encoded if
+ language and character set information are given.
+
+ (5) If the first segment of a continued parameter value is
+ encoded the language and character set field delimiters
+ MUST be present even when the fields are left blank.
+
+5. Language specification in Encoded Words
+
+ RFC 2047 provides support for non-US-ASCII character sets in RFC 822
+ message header comments, phrases, and any unstructured text field.
+ This is done by defining an encoded word construct which can appear
+ in any of these places. Given that these are fields intended for
+ display, it is sometimes necessary to associate language information
+ with encoded words as well as just the character set. This
+ specification extends the definition of an encoded word to allow the
+ inclusion of such information. This is simply done by suffixing the
+ character set specification with an asterisk followed by the language
+ tag. For example:
+
+ From: =?US-ASCII*EN?Q?Keith_Moore?= <moore@cs.utk.edu>
+
+6. IMAP4 Handling of Parameter Values
+
+ IMAP4 [RFC-2060] servers SHOULD decode parameter value continuations
+ when generating the BODY and BODYSTRUCTURE fetch attributes.
+
+7. Modifications to MIME ABNF
+
+ The ABNF for MIME parameter values given in RFC 2045 is:
+
+ parameter := attribute "=" value
+
+ attribute := token
+ ; Matching of attributes
+ ; is ALWAYS case-insensitive.
+
+ This specification changes this ABNF to:
+
+ parameter := regular-parameter / extended-parameter
+
+ regular-parameter := regular-parameter-name "=" value
+
+ regular-parameter-name := attribute [section]
+
+ attribute := 1*attribute-char
+
+
+
+
+
+Freed & Moore Standards Track [Page 6]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ attribute-char := <any (US-ASCII) CHAR except SPACE, CTLs,
+ "*", "'", "%", or tspecials>
+
+ section := initial-section / other-sections
+
+ initial-section := "*0"
+
+ other-sections := "*" ("1" / "2" / "3" / "4" / "5" /
+ "6" / "7" / "8" / "9") *DIGIT)
+
+ extended-parameter := (extended-initial-name "="
+ extended-value) /
+ (extended-other-names "="
+ extended-other-values)
+
+ extended-initial-name := attribute [initial-section] "*"
+
+ extended-other-names := attribute other-sections "*"
+
+ extended-initial-value := [charset] "'" [language] "'"
+ extended-other-values
+
+ extended-other-values := *(ext-octet / attribute-char)
+
+ ext-octet := "%" 2(DIGIT / "A" / "B" / "C" / "D" / "E" / "F")
+
+ charset := <registered character set name>
+
+ language := <registered language tag [RFC-1766]>
+
+ The ABNF given in RFC 2047 for encoded-words is:
+
+ encoded-word := "=?" charset "?" encoding "?" encoded-text "?="
+
+ This specification changes this ABNF to:
+
+ encoded-word := "=?" charset ["*" language] "?" encoded-text "?="
+
+8. Character sets which allow specification of language
+
+ In the future it is likely that some character sets will provide
+ facilities for inline language labeling. Such facilities are
+ inherently more flexible than those defined here as they allow for
+ language switching in the middle of a string.
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 7]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ If and when such facilities are developed they SHOULD be used in
+ preference to the language labeling facilities specified here. Note
+ that all the mechanisms defined here allow for the omission of
+ language labels so as to be able to accommodate this possible future
+ usage.
+
+9. Security Considerations
+
+ This RFC does not discuss security issues and is not believed to
+ raise any security issues not already endemic in electronic mail and
+ present in fully conforming implementations of MIME.
+
+10. References
+
+ [RFC-822]
+ Crocker, D., "Standard for the Format of ARPA Internet
+ Text Messages", STD 11, RFC 822 August 1982.
+
+ [RFC-1766]
+ Alvestrand, H., "Tags for the Identification of
+ Languages", RFC 1766, March 1995.
+
+ [RFC-2045]
+ Freed, N., and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message
+ Bodies", RFC 2045, December 1996.
+
+ [RFC-2046]
+ Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", RFC 2046,
+ December 1996.
+
+ [RFC-2047]
+ Moore, K., "Multipurpose Internet Mail Extensions (MIME)
+ Part Three: Representation of Non-ASCII Text in Internet
+ Message Headers", RFC 2047, December 1996.
+
+ [RFC-2048]
+ Freed, N., Klensin, J. and J. Postel, "Multipurpose
+ Internet Mail Extensions (MIME) Part Four: MIME
+ Registration Procedures", RFC 2048, December 1996.
+
+ [RFC-2049]
+ Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Five: Conformance Criteria and
+ Examples", RFC 2049, December 1996.
+
+
+
+
+
+Freed & Moore Standards Track [Page 8]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+ [RFC-2060]
+ Crispin, M., "Internet Message Access Protocol - Version
+ 4rev1", RFC 2060, December 1996.
+
+ [RFC-2119]
+ Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", RFC 2119, March 1997.
+
+ [RFC-2130]
+ Weider, C., Preston, C., Simonsen, K., Alvestrand, H.,
+ Atkinson, R., Crispin, M., and P. Svanberg, "Report from the
+ IAB Character Set Workshop", RFC 2130, April 1997.
+
+ [RFC-2183]
+ Troost, R., Dorner, S. and K. Moore, "Communicating
+ Presentation Information in Internet Messages: The
+ Content-Disposition Header", RFC 2183, August 1997.
+
+11. Authors' Addresses
+
+ Ned Freed
+ Innosoft International, Inc.
+ 1050 Lakes Drive
+ West Covina, CA 91790
+ USA
+
+ Phone: +1 626 919 3600
+ Fax: +1 626 919 3614
+ EMail: ned.freed@innosoft.com
+
+
+ Keith Moore
+ Computer Science Dept.
+ University of Tennessee
+ 107 Ayres Hall
+ Knoxville, TN 37996-1301
+ USA
+
+ EMail: moore@cs.utk.edu
+
+
+
+
+
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 9]
+
+RFC 2231 MIME Value and Encoded Word Extensions November 1997
+
+
+12. Full Copyright Statement
+
+ Copyright (C) The Internet Society (1997). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Freed & Moore Standards Track [Page 10]
+
diff --git a/Documentation/en/rfc/rfc2308.txt b/Documentation/en/rfc/rfc2308.txt
new file mode 100644
index 00000000..9123a952
--- /dev/null
+++ b/Documentation/en/rfc/rfc2308.txt
@@ -0,0 +1,1067 @@
+
+
+
+
+
+
+Network Working Group M. Andrews
+Request for Comments: 2308 CSIRO
+Updates: 1034, 1035 March 1998
+Category: Standards Track
+
+
+ Negative Caching of DNS Queries (DNS NCACHE)
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (1998). All Rights Reserved.
+
+Abstract
+
+ [RFC1034] provided a description of how to cache negative responses.
+ It however had a fundamental flaw in that it did not allow a name
+ server to hand out those cached responses to other resolvers, thereby
+ greatly reducing the effect of the caching. This document addresses
+ issues raise in the light of experience and replaces [RFC1034 Section
+ 4.3.4].
+
+ Negative caching was an optional part of the DNS specification and
+ deals with the caching of the non-existence of an RRset [RFC2181] or
+ domain name.
+
+ Negative caching is useful as it reduces the response time for
+ negative answers. It also reduces the number of messages that have
+ to be sent between resolvers and name servers hence overall network
+ traffic. A large proportion of DNS traffic on the Internet could be
+ eliminated if all resolvers implemented negative caching. With this
+ in mind negative caching should no longer be seen as an optional part
+ of a DNS resolver.
+
+
+
+
+
+
+
+
+
+
+
+Andrews Standards Track [Page 1]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+1 - Terminology
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+ "Negative caching" - the storage of knowledge that something does not
+ exist. We can store the knowledge that a record has a particular
+ value. We can also do the reverse, that is, to store the knowledge
+ that a record does not exist. It is the storage of knowledge that
+ something does not exist, cannot or does not give an answer that we
+ call negative caching.
+
+ "QNAME" - the name in the query section of an answer, or where this
+ resolves to a CNAME, or CNAME chain, the data field of the last
+ CNAME. The last CNAME in this sense is that which contains a value
+ which does not resolve to another CNAME. Implementations should note
+ that including CNAME records in responses in order, so that the first
+ has the label from the query section, and then each in sequence has
+ the label from the data section of the previous (where more than one
+ CNAME is needed) allows the sequence to be processed in one pass, and
+ considerably eases the task of the receiver. Other relevant records
+ (such as SIG RRs [RFC2065]) can be interspersed amongst the CNAMEs.
+
+ "NXDOMAIN" - an alternate expression for the "Name Error" RCODE as
+ described in [RFC1035 Section 4.1.1] and the two terms are used
+ interchangeably in this document.
+
+ "NODATA" - a pseudo RCODE which indicates that the name is valid, for
+ the given class, but are no records of the given type. A NODATA
+ response has to be inferred from the answer.
+
+ "FORWARDER" - a nameserver used to resolve queries instead of
+ directly using the authoritative nameserver chain. The forwarder
+ typically either has better access to the internet, or maintains a
+ bigger cache which may be shared amongst many resolvers. How a
+ server is identified as a FORWARDER, or knows it is a FORWARDER is
+ outside the scope of this document. However if you are being used as
+ a forwarder the query will have the recursion desired flag set.
+
+ An understanding of [RFC1034], [RFC1035] and [RFC2065] is expected
+ when reading this document.
+
+
+
+
+
+
+
+
+
+Andrews Standards Track [Page 2]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+2 - Negative Responses
+
+ The most common negative responses indicate that a particular RRset
+ does not exist in the DNS. The first sections of this document deal
+ with this case. Other negative responses can indicate failures of a
+ nameserver, those are dealt with in section 7 (Other Negative
+ Responses).
+
+ A negative response is indicated by one of the following conditions:
+
+2.1 - Name Error
+
+ Name errors (NXDOMAIN) are indicated by the presence of "Name Error"
+ in the RCODE field. In this case the domain referred to by the QNAME
+ does not exist. Note: the answer section may have SIG and CNAME RRs
+ and the authority section may have SOA, NXT [RFC2065] and SIG RRsets.
+
+ It is possible to distinguish between a referral and a NXDOMAIN
+ response by the presense of NXDOMAIN in the RCODE regardless of the
+ presence of NS or SOA records in the authority section.
+
+ NXDOMAIN responses can be categorised into four types by the contents
+ of the authority section. These are shown below along with a
+ referral for comparison. Fields not mentioned are not important in
+ terms of the examples.
+
+ NXDOMAIN RESPONSE: TYPE 1.
+
+ Header:
+ RDCODE=NXDOMAIN
+ Query:
+ AN.EXAMPLE. A
+ Answer:
+ AN.EXAMPLE. CNAME TRIPPLE.XX.
+ Authority:
+ XX. SOA NS1.XX. HOSTMASTER.NS1.XX. ....
+ XX. NS NS1.XX.
+ XX. NS NS2.XX.
+ Additional:
+ NS1.XX. A 127.0.0.2
+ NS2.XX. A 127.0.0.3
+
+ NXDOMAIN RESPONSE: TYPE 2.
+
+ Header:
+ RDCODE=NXDOMAIN
+ Query:
+ AN.EXAMPLE. A
+
+
+
+Andrews Standards Track [Page 3]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ Answer:
+ AN.EXAMPLE. CNAME TRIPPLE.XX.
+ Authority:
+ XX. SOA NS1.XX. HOSTMASTER.NS1.XX. ....
+ Additional:
+ <empty>
+
+ NXDOMAIN RESPONSE: TYPE 3.
+
+ Header:
+ RDCODE=NXDOMAIN
+ Query:
+ AN.EXAMPLE. A
+ Answer:
+ AN.EXAMPLE. CNAME TRIPPLE.XX.
+ Authority:
+ <empty>
+ Additional:
+ <empty>
+
+ NXDOMAIN RESPONSE: TYPE 4
+
+ Header:
+ RDCODE=NXDOMAIN
+ Query:
+ AN.EXAMPLE. A
+ Answer:
+ AN.EXAMPLE. CNAME TRIPPLE.XX.
+ Authority:
+ XX. NS NS1.XX.
+ XX. NS NS2.XX.
+ Additional:
+ NS1.XX. A 127.0.0.2
+ NS2.XX. A 127.0.0.3
+
+ REFERRAL RESPONSE.
+
+ Header:
+ RDCODE=NOERROR
+ Query:
+ AN.EXAMPLE. A
+ Answer:
+ AN.EXAMPLE. CNAME TRIPPLE.XX.
+ Authority:
+ XX. NS NS1.XX.
+ XX. NS NS2.XX.
+ Additional:
+ NS1.XX. A 127.0.0.2
+
+
+
+Andrews Standards Track [Page 4]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ NS2.XX. A 127.0.0.3
+
+ Note, in the four examples of NXDOMAIN responses, it is known that
+ the name "AN.EXAMPLE." exists, and has as its value a CNAME record.
+ The NXDOMAIN refers to "TRIPPLE.XX", which is then known not to
+ exist. On the other hand, in the referral example, it is shown that
+ "AN.EXAMPLE" exists, and has a CNAME RR as its value, but nothing is
+ known one way or the other about the existence of "TRIPPLE.XX", other
+ than that "NS1.XX" or "NS2.XX" can be consulted as the next step in
+ obtaining information about it.
+
+ Where no CNAME records appear, the NXDOMAIN response refers to the
+ name in the label of the RR in the question section.
+
+2.1.1 Special Handling of Name Error
+
+ This section deals with errors encountered when implementing negative
+ caching of NXDOMAIN responses.
+
+ There are a large number of resolvers currently in existence that
+ fail to correctly detect and process all forms of NXDOMAIN response.
+ Some resolvers treat a TYPE 1 NXDOMAIN response as a referral. To
+ alleviate this problem it is recommended that servers that are
+ authoritative for the NXDOMAIN response only send TYPE 2 NXDOMAIN
+ responses, that is the authority section contains a SOA record and no
+ NS records. If a non- authoritative server sends a type 1 NXDOMAIN
+ response to one of these old resolvers, the result will be an
+ unnecessary query to an authoritative server. This is undesirable,
+ but not fatal except when the server is being used a FORWARDER. If
+ however the resolver is using the server as a FORWARDER to such a
+ resolver it will be necessary to disable the sending of TYPE 1
+ NXDOMAIN response to it, use TYPE 2 NXDOMAIN instead.
+
+ Some resolvers incorrectly continue processing if the authoritative
+ answer flag is not set, looping until the query retry threshold is
+ exceeded and then returning SERVFAIL. This is a problem when your
+ nameserver is listed as a FORWARDER for such resolvers. If the
+ nameserver is used as a FORWARDER by such resolver, the authority
+ flag will have to be forced on for NXDOMAIN responses to these
+ resolvers. In practice this causes no problems even if turned on
+ always, and has been the default behaviour in BIND from 4.9.3
+ onwards.
+
+2.2 - No Data
+
+ NODATA is indicated by an answer with the RCODE set to NOERROR and no
+ relevant answers in the answer section. The authority section will
+ contain an SOA record, or there will be no NS records there.
+
+
+
+Andrews Standards Track [Page 5]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ NODATA responses have to be algorithmically determined from the
+ response's contents as there is no RCODE value to indicate NODATA.
+ In some cases to determine with certainty that NODATA is the correct
+ response it can be necessary to send another query.
+
+ The authority section may contain NXT and SIG RRsets in addition to
+ NS and SOA records. CNAME and SIG records may exist in the answer
+ section.
+
+ It is possible to distinguish between a NODATA and a referral
+ response by the presence of a SOA record in the authority section or
+ the absence of NS records in the authority section.
+
+ NODATA responses can be categorised into three types by the contents
+ of the authority section. These are shown below along with a
+ referral for comparison. Fields not mentioned are not important in
+ terms of the examples.
+
+ NODATA RESPONSE: TYPE 1.
+
+ Header:
+ RDCODE=NOERROR
+ Query:
+ ANOTHER.EXAMPLE. A
+ Answer:
+ <empty>
+ Authority:
+ EXAMPLE. SOA NS1.XX. HOSTMASTER.NS1.XX. ....
+ EXAMPLE. NS NS1.XX.
+ EXAMPLE. NS NS2.XX.
+ Additional:
+ NS1.XX. A 127.0.0.2
+ NS2.XX. A 127.0.0.3
+
+ NO DATA RESPONSE: TYPE 2.
+
+ Header:
+ RDCODE=NOERROR
+ Query:
+ ANOTHER.EXAMPLE. A
+ Answer:
+ <empty>
+ Authority:
+ EXAMPLE. SOA NS1.XX. HOSTMASTER.NS1.XX. ....
+ Additional:
+ <empty>
+
+
+
+
+
+Andrews Standards Track [Page 6]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ NO DATA RESPONSE: TYPE 3.
+
+ Header:
+ RDCODE=NOERROR
+ Query:
+ ANOTHER.EXAMPLE. A
+ Answer:
+ <empty>
+ Authority:
+ <empty>
+ Additional:
+ <empty>
+
+ REFERRAL RESPONSE.
+
+ Header:
+ RDCODE=NOERROR
+ Query:
+ ANOTHER.EXAMPLE. A
+ Answer:
+ <empty>
+ Authority:
+ EXAMPLE. NS NS1.XX.
+ EXAMPLE. NS NS2.XX.
+ Additional:
+ NS1.XX. A 127.0.0.2
+ NS2.XX. A 127.0.0.3
+
+
+ These examples, unlike the NXDOMAIN examples above, have no CNAME
+ records, however they could, in just the same way that the NXDOMAIN
+ examples did, in which case it would be the value of the last CNAME
+ (the QNAME) for which NODATA would be concluded.
+
+2.2.1 - Special Handling of No Data
+
+ There are a large number of resolvers currently in existence that
+ fail to correctly detect and process all forms of NODATA response.
+ Some resolvers treat a TYPE 1 NODATA response as a referral. To
+ alleviate this problem it is recommended that servers that are
+ authoritative for the NODATA response only send TYPE 2 NODATA
+ responses, that is the authority section contains a SOA record and no
+ NS records. Sending a TYPE 1 NODATA response from a non-
+ authoritative server to one of these resolvers will only result in an
+ unnecessary query. If a server is listed as a FORWARDER for another
+ resolver it may also be necessary to disable the sending of TYPE 1
+ NODATA response for non-authoritative NODATA responses.
+
+
+
+
+Andrews Standards Track [Page 7]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ Some name servers fail to set the RCODE to NXDOMAIN in the presence
+ of CNAMEs in the answer section. If a definitive NXDOMAIN / NODATA
+ answer is required in this case the resolver must query again using
+ the QNAME as the query label.
+
+3 - Negative Answers from Authoritative Servers
+
+ Name servers authoritative for a zone MUST include the SOA record of
+ the zone in the authority section of the response when reporting an
+ NXDOMAIN or indicating that no data of the requested type exists.
+ This is required so that the response may be cached. The TTL of this
+ record is set from the minimum of the MINIMUM field of the SOA record
+ and the TTL of the SOA itself, and indicates how long a resolver may
+ cache the negative answer. The TTL SIG record associated with the
+ SOA record should also be trimmed in line with the SOA's TTL.
+
+ If the containing zone is signed [RFC2065] the SOA and appropriate
+ NXT and SIG records MUST be added.
+
+4 - SOA Minimum Field
+
+ The SOA minimum field has been overloaded in the past to have three
+ different meanings, the minimum TTL value of all RRs in a zone, the
+ default TTL of RRs which did not contain a TTL value and the TTL of
+ negative responses.
+
+ Despite being the original defined meaning, the first of these, the
+ minimum TTL value of all RRs in a zone, has never in practice been
+ used and is hereby deprecated.
+
+ The second, the default TTL of RRs which contain no explicit TTL in
+ the master zone file, is relevant only at the primary server. After
+ a zone transfer all RRs have explicit TTLs and it is impossible to
+ determine whether the TTL for a record was explicitly set or derived
+ from the default after a zone transfer. Where a server does not
+ require RRs to include the TTL value explicitly, it should provide a
+ mechanism, not being the value of the MINIMUM field of the SOA
+ record, from which the missing TTL values are obtained. How this is
+ done is implementation dependent.
+
+ The Master File format [RFC 1035 Section 5] is extended to include
+ the following directive:
+
+ $TTL <TTL> [comment]
+
+
+
+
+
+
+
+Andrews Standards Track [Page 8]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ All resource records appearing after the directive, and which do not
+ explicitly include a TTL value, have their TTL set to the TTL given
+ in the $TTL directive. SIG records without a explicit TTL get their
+ TTL from the "original TTL" of the SIG record [RFC 2065 Section 4.5].
+
+ The remaining of the current meanings, of being the TTL to be used
+ for negative responses, is the new defined meaning of the SOA minimum
+ field.
+
+5 - Caching Negative Answers
+
+ Like normal answers negative answers have a time to live (TTL). As
+ there is no record in the answer section to which this TTL can be
+ applied, the TTL must be carried by another method. This is done by
+ including the SOA record from the zone in the authority section of
+ the reply. When the authoritative server creates this record its TTL
+ is taken from the minimum of the SOA.MINIMUM field and SOA's TTL.
+ This TTL decrements in a similar manner to a normal cached answer and
+ upon reaching zero (0) indicates the cached negative answer MUST NOT
+ be used again.
+
+ A negative answer that resulted from a name error (NXDOMAIN) should
+ be cached such that it can be retrieved and returned in response to
+ another query for the same <QNAME, QCLASS> that resulted in the
+ cached negative response.
+
+ A negative answer that resulted from a no data error (NODATA) should
+ be cached such that it can be retrieved and returned in response to
+ another query for the same <QNAME, QTYPE, QCLASS> that resulted in
+ the cached negative response.
+
+ The NXT record, if it exists in the authority section of a negative
+ answer received, MUST be stored such that it can be be located and
+ returned with SOA record in the authority section, as should any SIG
+ records in the authority section. For NXDOMAIN answers there is no
+ "necessary" obvious relationship between the NXT records and the
+ QNAME. The NXT record MUST have the same owner name as the query
+ name for NODATA responses.
+
+ Negative responses without SOA records SHOULD NOT be cached as there
+ is no way to prevent the negative responses looping forever between a
+ pair of servers even with a short TTL.
+
+ Despite the DNS forming a tree of servers, with various mis-
+ configurations it is possible to form a loop in the query graph, e.g.
+ two servers listing each other as forwarders, various lame server
+ configurations. Without a TTL count down a cache negative response
+
+
+
+
+Andrews Standards Track [Page 9]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ when received by the next server would have its TTL reset. This
+ negative indication could then live forever circulating between the
+ servers involved.
+
+ As with caching positive responses it is sensible for a resolver to
+ limit for how long it will cache a negative response as the protocol
+ supports caching for up to 68 years. Such a limit should not be
+ greater than that applied to positive answers and preferably be
+ tunable. Values of one to three hours have been found to work well
+ and would make sensible a default. Values exceeding one day have
+ been found to be problematic.
+
+6 - Negative answers from the cache
+
+ When a server, in answering a query, encounters a cached negative
+ response it MUST add the cached SOA record to the authority section
+ of the response with the TTL decremented by the amount of time it was
+ stored in the cache. This allows the NXDOMAIN / NODATA response to
+ time out correctly.
+
+ If a NXT record was cached along with SOA record it MUST be added to
+ the authority section. If a SIG record was cached along with a NXT
+ record it SHOULD be added to the authority section.
+
+ As with all answers coming from the cache, negative answers SHOULD
+ have an implicit referral built into the answer. This enables the
+ resolver to locate an authoritative source. An implicit referral is
+ characterised by NS records in the authority section referring the
+ resolver towards a authoritative source. NXDOMAIN types 1 and 4
+ responses contain implicit referrals as does NODATA type 1 response.
+
+7 - Other Negative Responses
+
+ Caching of other negative responses is not covered by any existing
+ RFC. There is no way to indicate a desired TTL in these responses.
+ Care needs to be taken to ensure that there are not forwarding loops.
+
+7.1 Server Failure (OPTIONAL)
+
+ Server failures fall into two major classes. The first is where a
+ server can determine that it has been misconfigured for a zone. This
+ may be where it has been listed as a server, but not configured to be
+ a server for the zone, or where it has been configured to be a server
+ for the zone, but cannot obtain the zone data for some reason. This
+ can occur either because the zone file does not exist or contains
+ errors, or because another server from which the zone should have
+ been available either did not respond or was unable or unwilling to
+ supply the zone.
+
+
+
+Andrews Standards Track [Page 10]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ The second class is where the server needs to obtain an answer from
+ elsewhere, but is unable to do so, due to network failures, other
+ servers that don't reply, or return server failure errors, or
+ similar.
+
+ In either case a resolver MAY cache a server failure response. If it
+ does so it MUST NOT cache it for longer than five (5) minutes, and it
+ MUST be cached against the specific query tuple <query name, type,
+ class, server IP address>.
+
+7.2 Dead / Unreachable Server (OPTIONAL)
+
+ Dead / Unreachable servers are servers that fail to respond in any
+ way to a query or where the transport layer has provided an
+ indication that the server does not exist or is unreachable. A
+ server may be deemed to be dead or unreachable if it has not
+ responded to an outstanding query within 120 seconds.
+
+ Examples of transport layer indications are:
+
+ ICMP error messages indicating host, net or port unreachable.
+ TCP resets
+ IP stack error messages providing similar indications to those above.
+
+ A server MAY cache a dead server indication. If it does so it MUST
+ NOT be deemed dead for longer than five (5) minutes. The indication
+ MUST be stored against query tuple <query name, type, class, server
+ IP address> unless there was a transport layer indication that the
+ server does not exist, in which case it applies to all queries to
+ that specific IP address.
+
+8 - Changes from RFC 1034
+
+ Negative caching in resolvers is no-longer optional, if a resolver
+ caches anything it must also cache negative answers.
+
+ Non-authoritative negative answers MAY be cached.
+
+ The SOA record from the authority section MUST be cached. Name error
+ indications must be cached against the tuple <query name, QCLASS>.
+ No data indications must be cached against <query name, QTYPE,
+ QCLASS> tuple.
+
+ A cached SOA record must be added to the response. This was
+ explicitly not allowed because previously the distinction between a
+ normal cached SOA record, and the SOA cached as a result of a
+ negative response was not made, and simply extracting a normal cached
+ SOA and adding that to a cached negative response causes problems.
+
+
+
+Andrews Standards Track [Page 11]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ The $TTL TTL directive was added to the master file format.
+
+9 - History of Negative Caching
+
+ This section presents a potted history of negative caching in the DNS
+ and forms no part of the technical specification of negative caching.
+
+ It is interesting to note that the same concepts were re-invented in
+ both the CHIVES and BIND servers.
+
+ The history of the early CHIVES work (Section 9.1) was supplied by
+ Rob Austein <sra@epilogue.com> and is reproduced here in the form in
+ which he supplied it [MPA].
+
+ Sometime around the spring of 1985, I mentioned to Paul Mockapetris
+ that our experience with his JEEVES DNS resolver had pointed out the
+ need for some kind of negative caching scheme. Paul suggested that
+ we simply cache authoritative errors, using the SOA MINIMUM value for
+ the zone that would have contained the target RRs. I'm pretty sure
+ that this conversation took place before RFC-973 was written, but it
+ was never clear to me whether this idea was something that Paul came
+ up with on the spot in response to my question or something he'd
+ already been planning to put into the document that became RFC-973.
+ In any case, neither of us was entirely sure that the SOA MINIMUM
+ value was really the right metric to use, but it was available and
+ was under the control of the administrator of the target zone, both
+ of which seemed to us at the time to be important feature.
+
+ Late in 1987, I released the initial beta-test version of CHIVES, the
+ DNS resolver I'd written to replace Paul's JEEVES resolver. CHIVES
+ included a search path mechanism that was used pretty heavily at
+ several sites (including my own), so CHIVES also included a negative
+ caching mechanism based on SOA MINIMUM values. The basic strategy
+ was to cache authoritative error codes keyed by the exact query
+ parameters (QNAME, QCLASS, and QTYPE), with a cache TTL equal to the
+ SOA MINIMUM value. CHIVES did not attempt to track down SOA RRs if
+ they weren't supplied in the authoritative response, so it never
+ managed to completely eliminate the gratuitous DNS error message
+ traffic, but it did help considerably. Keep in mind that this was
+ happening at about the same time as the near-collapse of the ARPANET
+ due to congestion caused by exponential growth and the the "old"
+ (pre-VJ) TCP retransmission algorithm, so negative caching resulted
+ in drasticly better DNS response time for our users, mailer daemons,
+ etcetera.
+
+
+
+
+
+
+
+Andrews Standards Track [Page 12]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ As far as I know, CHIVES was the first resolver to implement negative
+ caching. CHIVES was developed during the twilight years of TOPS-20,
+ so it never ran on very many machines, but the few machines that it
+ did run on were the ones that were too critical to shut down quickly
+ no matter how much it cost to keep them running. So what few users
+ we did have tended to drive CHIVES pretty hard. Several interesting
+ bits of DNS technology resulted from that, but the one that's
+ relevant here is the MAXTTL configuration parameter.
+
+ Experience with JEEVES had already shown that RRs often showed up
+ with ridiculously long TTLs (99999999 was particularly popular for
+ many years, due to bugs in the code and documentation of several
+ early versions of BIND), and that robust software that blindly
+ believed such TTLs could create so many strange failures that it was
+ often necessary to reboot the resolver frequently just to clear this
+ garbage out of the cache. So CHIVES had a configuration parameter
+ "MAXTTL", which specified the maximum "reasonable" TTL in a received
+ RR. RRs with TTLs greater than MAXTTL would either have their TTLs
+ reduced to MAXTTL or would be discarded entirely, depending on the
+ setting of another configuration parameter.
+
+ When we started getting field experience with CHIVES's negative
+ caching code, it became clear that the SOA MINIMUM value was often
+ large enough to cause the same kinds of problems for negative caching
+ as the huge TTLs in RRs had for normal caching (again, this was in
+ part due to a bug in several early versions of BIND, where a
+ secondary server would authoritatively deny all knowledge of its
+ zones if it couldn't contact the primaries on reboot). So we started
+ running the negative cache TTLs through the MAXTTL check too, and
+ continued to experiment.
+
+ The configuration that seemed to work best on WSMR-SIMTEL20.ARMY.MIL
+ (last of the major Internet TOPS-20 machines to be shut down, thus
+ the last major user of CHIVES, thus the place where we had the
+ longest experimental baseline) was to set MAXTTL to about three days.
+ Most of the traffic initiated by SIMTEL20 in its last years was
+ mail-related, and the mail queue timeout was set to one week, so this
+ gave a "stuck" message several tries at complete DNS resolution,
+ without bogging down the system with a lot of useless queries. Since
+ (for reasons that now escape me) we only had the single MAXTTL
+ parameter rather than separate ones for positive and negative
+ caching, it's not clear how much effect this setting of MAXTTL had on
+ the negative caching code.
+
+ CHIVES also included a second, somewhat controversial mechanism which
+ took the place of negative caching in some cases. The CHIVES
+ resolver daemon could be configured to load DNS master files, giving
+ it the ability to act as what today would be called a "stealth
+
+
+
+Andrews Standards Track [Page 13]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ secondary". That is, when configured in this way, the resolver had
+ direct access to authoritative information for heavily-used zones.
+ The search path mechanisms in CHIVES reflected this: there were
+ actually two separate search paths, one of which only searched local
+ authoritative zone data, and one which could generate normal
+ iterative queries. This cut down on the need for negative caching in
+ cases where usage was predictably heavy (e.g., the resolver on
+ XX.LCS.MIT.EDU always loaded the zone files for both LCS.MIT.EDU and
+ AI.MIT.EDU and put both of these suffixes into the "local" search
+ path, since between them the hosts in these two zones accounted for
+ the bulk of the DNS traffic). Not all sites running CHIVES chose to
+ use this feature; C.CS.CMU.EDU, for example, chose to use the
+ "remote" search path for everything because there were too many
+ different sub-zones at CMU for zone shadowing to be practical for
+ them, so they relied pretty heavily on negative caching even for
+ local traffic.
+
+ Overall, I still think the basic design we used for negative caching
+ was pretty reasonable: the zone administrator specified how long to
+ cache negative answers, and the resolver configuration chose the
+ actual cache time from the range between zero and the period
+ specified by the zone administrator. There are a lot of details I'd
+ do differently now (like using a new SOA field instead of overloading
+ the MINIMUM field), but after more than a decade, I'd be more worried
+ if we couldn't think of at least a few improvements.
+
+9.2 BIND
+
+ While not the first attempt to get negative caching into BIND, in
+ July 1993, BIND 4.9.2 ALPHA, Anant Kumar of ISI supplied code that
+ implemented, validation and negative caching (NCACHE). This code had
+ a 10 minute TTL for negative caching and only cached the indication
+ that there was a negative response, NXDOMAIN or NOERROR_NODATA. This
+ is the origin of the NODATA pseudo response code mentioned above.
+
+ Mark Andrews of CSIRO added code (RETURNSOA) that stored the SOA
+ record such that it could be retrieved by a similar query. UUnet
+ complained that they were getting old answers after loading a new
+ zone, and the option was turned off, BIND 4.9.3-alpha5, April 1994.
+ In reality this indicated that the named needed to purge the space
+ the zone would occupy. Functionality to do this was added in BIND
+ 4.9.3 BETA11 patch2, December 1994.
+
+ RETURNSOA was re-enabled by default, BIND 4.9.5-T1A, August 1996.
+
+
+
+
+
+
+
+Andrews Standards Track [Page 14]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+10 Example
+
+ The following example is based on a signed zone that is empty apart
+ from the nameservers. We will query for WWW.XX.EXAMPLE showing
+ initial response and again 10 minutes later. Note 1: during the
+ intervening 10 minutes the NS records for XX.EXAMPLE have expired.
+ Note 2: the TTL of the SIG records are not explicitly set in the zone
+ file and are hence the TTL of the RRset they are the signature for.
+
+ Zone File:
+
+ $TTL 86400
+ $ORIGIN XX.EXAMPLE.
+ @ IN SOA NS1.XX.EXAMPLE. HOSTMATER.XX.EXAMPLE. (
+ 1997102000 ; serial
+ 1800 ; refresh (30 mins)
+ 900 ; retry (15 mins)
+ 604800 ; expire (7 days)
+ 1200 ) ; minimum (20 mins)
+ IN SIG SOA ...
+ 1200 IN NXT NS1.XX.EXAMPLE. A NXT SIG SOA NS KEY
+ IN SIG NXT ... XX.EXAMPLE. ...
+ 300 IN NS NS1.XX.EXAMPLE.
+ 300 IN NS NS2.XX.EXAMPLE.
+ IN SIG NS ... XX.EXAMPLE. ...
+ IN KEY 0x4100 1 1 ...
+ IN SIG KEY ... XX.EXAMPLE. ...
+ IN SIG KEY ... EXAMPLE. ...
+ NS1 IN A 10.0.0.1
+ IN SIG A ... XX.EXAMPLE. ...
+ 1200 IN NXT NS2.XX.EXAMPLE. A NXT SIG
+ IN SIG NXT ...
+ NS2 IN A 10.0.0.2
+ IN SIG A ... XX.EXAMPLE. ...
+ 1200 IN NXT XX.EXAMPLE. A NXT SIG
+ IN SIG NXT ... XX.EXAMPLE. ...
+
+ Initial Response:
+
+ Header:
+ RDCODE=NXDOMAIN, AA=1, QR=1, TC=0
+ Query:
+ WWW.XX.EXAMPLE. IN A
+ Answer:
+ <empty>
+ Authority:
+ XX.EXAMPLE. 1200 IN SOA NS1.XX.EXAMPLE. ...
+ XX.EXAMPLE. 1200 IN SIG SOA ... XX.EXAMPLE. ...
+
+
+
+Andrews Standards Track [Page 15]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ NS2.XX.EXAMPLE. 1200 IN NXT XX.EXAMPLE. NXT A NXT SIG
+ NS2.XX.EXAMPLE. 1200 IN SIG NXT ... XX.EXAMPLE. ...
+ XX.EXAMPLE. 86400 IN NS NS1.XX.EXAMPLE.
+ XX.EXAMPLE. 86400 IN NS NS2.XX.EXAMPLE.
+ XX.EXAMPLE. 86400 IN SIG NS ... XX.EXAMPLE. ...
+ Additional
+ XX.EXAMPLE. 86400 IN KEY 0x4100 1 1 ...
+ XX.EXAMPLE. 86400 IN SIG KEY ... EXAMPLE. ...
+ NS1.XX.EXAMPLE. 86400 IN A 10.0.0.1
+ NS1.XX.EXAMPLE. 86400 IN SIG A ... XX.EXAMPLE. ...
+ NS2.XX.EXAMPLE. 86400 IN A 10.0.0.2
+ NS3.XX.EXAMPLE. 86400 IN SIG A ... XX.EXAMPLE. ...
+
+ After 10 Minutes:
+
+ Header:
+ RDCODE=NXDOMAIN, AA=0, QR=1, TC=0
+ Query:
+ WWW.XX.EXAMPLE. IN A
+ Answer:
+ <empty>
+ Authority:
+ XX.EXAMPLE. 600 IN SOA NS1.XX.EXAMPLE. ...
+ XX.EXAMPLE. 600 IN SIG SOA ... XX.EXAMPLE. ...
+ NS2.XX.EXAMPLE. 600 IN NXT XX.EXAMPLE. NXT A NXT SIG
+ NS2.XX.EXAMPLE. 600 IN SIG NXT ... XX.EXAMPLE. ...
+ EXAMPLE. 65799 IN NS NS1.YY.EXAMPLE.
+ EXAMPLE. 65799 IN NS NS2.YY.EXAMPLE.
+ EXAMPLE. 65799 IN SIG NS ... XX.EXAMPLE. ...
+ Additional
+ XX.EXAMPLE. 65800 IN KEY 0x4100 1 1 ...
+ XX.EXAMPLE. 65800 IN SIG KEY ... EXAMPLE. ...
+ NS1.YY.EXAMPLE. 65799 IN A 10.100.0.1
+ NS1.YY.EXAMPLE. 65799 IN SIG A ... EXAMPLE. ...
+ NS2.YY.EXAMPLE. 65799 IN A 10.100.0.2
+ NS3.YY.EXAMPLE. 65799 IN SIG A ... EXAMPLE. ...
+ EXAMPLE. 65799 IN KEY 0x4100 1 1 ...
+ EXAMPLE. 65799 IN SIG KEY ... . ...
+
+
+11 Security Considerations
+
+ It is believed that this document does not introduce any significant
+ additional security threats other that those that already exist when
+ using data from the DNS.
+
+
+
+
+
+
+Andrews Standards Track [Page 16]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+ With negative caching it might be possible to propagate a denial of
+ service attack by spreading a NXDOMAIN message with a very high TTL.
+ Without negative caching that would be much harder. A similar effect
+ could be achieved previously by spreading a bad A record, so that the
+ server could not be reached - which is almost the same. It has the
+ same effect as far as what the end user is able to do, but with a
+ different psychological effect. With the bad A, I feel "damn the
+ network is broken again" and try again tomorrow. With the "NXDOMAIN"
+ I feel "Oh, they've turned off the server and it doesn't exist any
+ more" and probably never bother trying this server again.
+
+ A practical example of this is a SMTP server where this behaviour is
+ encoded. With a NXDOMAIN attack the mail message would bounce
+ immediately, where as with a bad A attack the mail would be queued
+ and could potentially get through after the attack was suspended.
+
+ For such an attack to be successful, the NXDOMAIN indiction must be
+ injected into a parent server (or a busy caching resolver). One way
+ this might be done by the use of a CNAME which results in the parent
+ server querying an attackers server. Resolvers that wish to prevent
+ such attacks can query again the final QNAME ignoring any NS data in
+ the query responses it has received for this query.
+
+ Implementing TTL sanity checking will reduce the effectiveness of
+ such an attack, because a successful attack would require re-
+ injection of the bogus data at more frequent intervals.
+
+ DNS Security [RFC2065] provides a mechanism to verify whether a
+ negative response is valid or not, through the use of NXT and SIG
+ records. This document supports the use of that mechanism by
+ promoting the transmission of the relevant security records even in a
+ non security aware server.
+
+Acknowledgments
+
+ I would like to thank Rob Austein for his history of the CHIVES
+ nameserver. The DNSIND working group, in particular Robert Elz for
+ his valuable technical and editorial contributions to this document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Andrews Standards Track [Page 17]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+References
+
+ [RFC1034]
+ Mockapetris, P., "DOMAIN NAMES - CONCEPTS AND FACILITIES,"
+ STD 13, RFC 1034, November 1987.
+
+ [RFC1035]
+ Mockapetris, P., "DOMAIN NAMES - IMPLEMENTATION AND
+ SPECIFICATION," STD 13, RFC 1035, November 1987.
+
+ [RFC2065]
+ Eastlake, D., and C. Kaufman, "Domain Name System Security
+ Extensions," RFC 2065, January 1997.
+
+ [RFC2119]
+ Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels," BCP 14, RFC 2119, March 1997.
+
+ [RFC2181]
+ Elz, R., and R. Bush, "Clarifications to the DNS
+ Specification," RFC 2181, July 1997.
+
+Author's Address
+
+ Mark Andrews
+ CSIRO - Mathematical and Information Sciences
+ Locked Bag 17
+ North Ryde NSW 2113
+ AUSTRALIA
+
+ Phone: +61 2 9325 3148
+ EMail: Mark.Andrews@cmis.csiro.au
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Andrews Standards Track [Page 18]
+
+RFC 2308 DNS NCACHE March 1998
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (1998). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Andrews Standards Track [Page 19]
+
diff --git a/Documentation/en/rfc/rfc2376.txt b/Documentation/en/rfc/rfc2376.txt
new file mode 100644
index 00000000..73bc3cf3
--- /dev/null
+++ b/Documentation/en/rfc/rfc2376.txt
@@ -0,0 +1,843 @@
+
+
+
+
+
+
+Network Working Group E. Whitehead
+Request for Comments: 2376 UC Irvine
+Category: Informational M. Murata
+ Fuji Xerox Info. Systems
+ July 1998
+
+
+ XML Media Types
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It does
+ not specify an Internet standard of any kind. Distribution of this
+ memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (1998). All Rights Reserved.
+
+Abstract
+
+ This document proposes two new media subtypes, text/xml and
+ application/xml, for use in exchanging network entities which are
+ conforming Extensible Markup Language (XML). XML entities are
+ currently exchanged via the HyperText Transfer Protocol on the World
+ Wide Web, are an integral part of the WebDAV protocol for remote web
+ authoring, and are expected to have utility in many domains.
+
+Table of Contents
+
+ 1 INTRODUCTION ....................................................2
+ 2 NOTATIONAL CONVENTIONS ..........................................3
+ 3 XML MEDIA TYPES .................................................3
+ 3.1 Text/xml Registration ........................................3
+ 3.2 Application/xml Registration .................................6
+ 4 SECURITY CONSIDERATIONS .........................................8
+ 5 THE BYTE ORDER MARK (BOM) AND CONVERSIONS TO/FROM UTF-16 ........9
+ 6 EXAMPLES ........................................................9
+ 6.1 text/xml with UTF-8 Charset .................................10
+ 6.2 text/xml with UTF-16 Charset ................................10
+ 6.3 text/xml with ISO-2022-KR Charset ...........................10
+ 6.4 text/xml with Omitted Charset ...............................11
+ 6.5 application/xml with UTF-16 Charset .........................11
+ 6.6 application/xml with ISO-2022-KR Charset ....................11
+ 6.7 application/xml with Omitted Charset and UTF-16 XML Entity ..12
+ 6.8 application/xml with Omitted Charset and UTF-8 Entity .......12
+ 6.9 application/xml with Omitted Charset and Internal Encoding
+ Declaration.......................................................12
+
+
+
+Whitehead & Murata Informational [Page 1]
+
+RFC 2376 XML Media Types July 1998
+
+
+ 7 REFERENCES .....................................................13
+ 8 ACKNOWLEDGEMENTS ...............................................14
+ 9 ADDRESSES OF AUTHORS ...........................................14
+ 10 FULL COPYRIGHT STATEMENT ......................................15
+
+1 Introduction
+
+ The World Wide Web Consortium (W3C) has issued a Recommendation
+ [REC-XML] which defines the Extensible Markup Language (XML), version
+ 1. To enable the exchange of XML network entities, this document
+ proposes two new media types, text/xml and application/xml.
+
+ XML entities are currently exchanged on the World Wide Web, and XML
+ is also used for property values and parameter marshalling by the
+ WebDAV protocol for remote web authoring. Thus, there is a need for a
+ media type to properly label the exchange of XML network entities.
+ (Note that, as sometimes happens between two communities, both MIME
+ and XML have defined the term entity, with different meanings.)
+
+ Although XML is a subset of the Standard Generalized Markup Language
+ (SGML) [ISO-8897], and currently is assigned the media types
+ text/sgml and application/sgml, there are several reasons why use of
+ text/sgml or application/sgml to label XML is inappropriate. First,
+ there exist many applications which can process XML, but which cannot
+ process SGML, due to SGML's larger feature set. Second, SGML
+ applications cannot always process XML entities, because XML uses
+ features of recent technical corrigenda to SGML. Third, the
+ definition of text/sgml and application/sgml [RFC-1874] includes
+ parameters for SGML bit combination transformation format (SGML-
+ bctf), and SGML boot attribute (SGML-boot). Since XML does not use
+ these parameters, it would be ambiguous if such parameters were given
+ for an XML entity. For these reasons, the best approach for labeling
+ XML network entities is to provide new media types for XML.
+
+ Since XML is an integral part of the WebDAV Distributed Authoring
+ Protocol, and since World Wide Web Consortium Recommendations have
+ conventionally been assigned IETF tree media types, and since similar
+ media types (HTML, SGML) have been assigned IETF tree media types,
+ the XML media types also belong in the IETF media types tree.
+
+
+
+
+
+
+
+
+
+
+
+
+Whitehead & Murata Informational [Page 2]
+
+RFC 2376 XML Media Types July 1998
+
+
+2 Notational Conventions
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC-2119].
+
+3 XML Media Types
+
+ This document introduces two new media types for XML entities,
+ text/xml and application/xml. Registration information for these
+ media types are described in the sections below.
+
+ Every XML entity is suitable for use with the application/xml media
+ type without modification. But this does not exploit the fact that
+ XML can be treated as plain text in many cases. MIME user agents
+ (and web user agents) that do not have explicit support for
+ application/xml will treat it as application/octet-stream, for
+ example, by offering to save it to a file.
+
+ To indicate that an XML entity should be treated as plain text by
+ default, use the text/xml media type. This restricts the encoding
+ used in the XML entity to those that are compatible with the
+ requirements for text media types as described in [RFC-2045] and
+ [RFC-2046], e.g., UTF-8, but not UTF-16 (except for HTTP).
+
+ XML provides a general framework for defining sequences of structured
+ data. In some cases, it may be desirable to define new media types
+ which use XML but define a specific application of XML, perhaps due
+ to domain-specific security considerations or runtime information.
+ This document does not prohibit future media types dedicated to such
+ XML applications. However, developers of such media types are
+ recommended to use this document as a basis. In particular, the
+ charset parameter should be used in the same manner.
+
+ Within the XML specification, XML entities can be classified into
+ four types. In the XML terminology, they are called "document
+ entities", "external DTD subsets", "external parsed entities", and
+ "external parameter entities". The media types text/xml and
+ application/xml can be used for any of these four types.
+
+3.1 Text/xml Registration
+
+ MIME media type name: text
+
+ MIME subtype name: xml
+
+ Mandatory parameters: none
+
+
+
+
+Whitehead & Murata Informational [Page 3]
+
+RFC 2376 XML Media Types July 1998
+
+
+ Optional parameters: charset
+
+ Although listed as an optional parameter, the use of the charset
+ parameter is STRONGLY RECOMMENDED, since this information can be
+ used by XML processors to determine authoritatively the character
+ encoding of the XML entity. The charset parameter can also be used
+ to provide protocol-specific operations, such as charset-based
+ content negotiation in HTTP. "UTF-8" [RFC-2279] is the
+ recommended value, representing the UTF-8 charset. UTF-8 is
+ supported by all conforming XML processors [REC-XML].
+
+ If the XML entity is transmitted via HTTP, which uses a MIME-like
+ mechanism that is exempt from the restrictions on the text top-
+ level type (see section 19.4.1 of HTTP 1.1 [RFC-2068]), "UTF-16"
+ (Appendix C.3 of [UNICODE] and Amendment 1 of [ISO-10646]) is also
+ recommended. UTF-16 is supported by all conforming XML processors
+ [REC-XML]. Since the handling of CR, LF and NUL for text types in
+ most MIME applications would cause undesired transformations of
+ individual octets in UTF-16 multi-octet characters, gateways from
+ HTTP to these MIME applications MUST transform the XML entity from
+ a text/xml; charset="utf-16" to application/xml; charset="utf-16".
+
+ Conformant with [RFC-2046], if a text/xml entity is received with
+ the charset parameter omitted, MIME processors and XML processors
+ MUST use the default charset value of "us-ascii". In cases where
+ the XML entity is transmitted via HTTP, the default charset value
+ is still "us-ascii".
+
+ Since the charset parameter is authoritative, the charset is not
+ always declared within an XML encoding declaration. Thus, special
+ care is needed when the recipient strips the MIME header and
+ provides persistent storage of the received XML entity (e.g., in a
+ file system). Unless the charset is UTF-8 or UTF-16, the recipient
+ SHOULD also persistently store information about the charset,
+ perhaps by embedding a correct XML encoding declaration within the
+ XML entity.
+
+ Encoding considerations:
+
+ This media type MAY be encoded as appropriate for the charset and
+ the capabilities of the underlying MIME transport. For 7-bit
+ transports, data in both UTF-8 and UTF-16 is encoded in quoted-
+ printable or base64. For 8-bit clean transport (e.g., ESMTP,
+ 8BITMIME, or NNTP), UTF-8 is not encoded, but UTF-16 is base64
+ encoded. For binary clean transports (e.g., HTTP), no content-
+ transfer-encoding is necessary.
+
+
+
+
+
+Whitehead & Murata Informational [Page 4]
+
+RFC 2376 XML Media Types July 1998
+
+
+ Security considerations:
+
+ See section 4 below.
+
+ Interoperability considerations:
+
+ XML has proven to be interoperable across WebDAV clients and
+ servers, and for import and export from multiple XML authoring
+ tools.
+
+ Published specification: see [REC-XML]
+
+ Applications which use this media type:
+
+ XML is device-, platform-, and vendor-neutral and is supported by
+ a wide range of Web user agents, WebDAV clients and servers, as
+ well as XML authoring tools.
+
+ Additional information:
+
+ Magic number(s): none
+
+ Although no byte sequences can be counted on to always be present,
+ XML entities in ASCII-compatible charsets (including UTF-8) often
+ begin with hexadecimal 3C 3F 78 6D 6C ("<?xml"). For more
+ information, see Appendix F of [REC-XML].
+
+ File extension(s): .xml, .dtd
+ Macintosh File Type Code(s): "TEXT"
+
+ Person & email address for further information:
+
+ Dan Connolly <connolly@w3.org>
+ Murata Makoto (Family Given) <murata@fxis.fujixerox.co.jp>
+
+ Intended usage: COMMON
+
+ Author/Change controller:
+
+ The XML specification is a work product of the World Wide Web
+ Consortium's XML Working Group, and was edited by:
+
+ Tim Bray <tbray@textuality.com>
+ Jean Paoli <jeanpa@microsoft.com>
+ C. M. Sperberg-McQueen <cmsmcq@uic.edu>
+
+ The W3C, and the W3C XML working group, has change control over
+ the XML specification.
+
+
+
+Whitehead & Murata Informational [Page 5]
+
+RFC 2376 XML Media Types July 1998
+
+
+3.2 Application/xml Registration
+
+ MIME media type name: application
+
+ MIME subtype name: xml
+
+ Mandatory parameters: none
+
+ Optional parameters: charset
+
+ Although listed as an optional parameter, the use of the charset
+ parameter is STRONGLY RECOMMENDED, since this information can be
+ used by XML processors to determine authoritatively the charset of
+ the XML entity. The charset parameter can also be used to provide
+ protocol-specific operations, such as charset-based content
+ negotiation in HTTP.
+
+ "UTF-8" [RFC-2279] and "UTF-16" (Appendix C.3 of [UNICODE] and
+ Amendment 1 of [ISO-10646]) are the recommended values,
+ representing the UTF-8 and UTF-16 charsets, respectively. These
+ charsets are preferred since they are supported by all conforming
+ XML processors [REC-XML].
+
+ If an application/xml entity is received where the charset
+ parameter is omitted, no information is being provided about the
+ charset by the MIME Content-Type header. Conforming XML processors
+ MUST follow the requirements in section 4.3.3 of [REC-XML] which
+ directly address this contingency. However, MIME processors which
+ are not XML processors should not assume a default charset if the
+ charset parameter is omitted from an application/xml entity.
+
+ Since the charset parameter is authoritative, the charset is not
+ always declared within an XML encoding declaration. Thus, special
+ care is needed when the recipient strips the MIME header and
+ provides persistent storage of the received XML entity (e.g., in a
+ file system). Unless the charset is UTF-8 or UTF-16, the
+ recipient SHOULD also persistently store information about the
+ charset, perhaps by embedding a correct XML encoding declaration
+ within the XML entity.
+
+
+
+
+
+
+
+
+
+
+
+
+Whitehead & Murata Informational [Page 6]
+
+RFC 2376 XML Media Types July 1998
+
+
+ Encoding considerations:
+
+ This media type MAY be encoded as appropriate for the charset and
+ the capabilities of the underlying MIME transport. For 7-bit
+ transports, data in both UTF-8 and UTF-16 is encoded in quoted-
+ printable or base64. For 8-bit clean transport (e.g., ESMTP,
+ 8BITMIME, or NNTP), UTF-8 is not encoded, but UTF-16 is base64
+ encoded. For binary clean transport (e.g., HTTP), no content-
+ transfer-encoding is necessary.
+
+ Security considerations:
+
+ See section 4 below.
+
+ Interoperability considerations:
+
+ XML has proven to be interoperable for import and export from
+ multiple XML authoring tools.
+
+ Published specification: see [REC-XML]
+
+ Applications which use this media type:
+
+ XML is device-, platform-, and vendor-neutral and is supported by
+ a wide range of Web user agents and XML authoring tools.
+
+ Additional information:
+
+ Magic number(s): none
+
+ Although no byte sequences can be counted on to always be present,
+ XML entities in ASCII-compatible charsets (including UTF-8) often
+ begin with hexadecimal 3C 3F 78 6D 6C ("<?xml"), and those in
+ UTF-16 often begin with hexadecimal FE FF 00 3C 00 3F 00 78 00 6D
+ or FF FE 3C 00 3F 00 78 00 6D 00 (the Byte Order Mark (BOM)
+ followed by "<?xml"). For more information, see Annex F of [REC-
+ XML].
+
+ File extension(s): .xml, .dtd
+ Macintosh File Type Code(s): "TEXT"
+
+ Person & email address for further information:
+
+ Dan Connolly <connolly@w3.org>
+ Murata Makoto (Family Given) <murata@fxis.fujixerox.co.jp>
+
+ Intended usage: COMMON
+
+
+
+
+Whitehead & Murata Informational [Page 7]
+
+RFC 2376 XML Media Types July 1998
+
+
+ Author/Change controller:
+
+ The XML specification is a work product of the World Wide Web
+ Consortium's XML Working Group, and was edited by:
+
+ Tim Bray <tbray@textuality.com>
+ Jean Paoli <jeanpa@microsoft.com>
+ C. M. Sperberg-McQueen <cmsmcq@uic.edu>
+
+ The W3C, and the W3C XML working group, has change control over
+ the XML specification.
+
+4 Security Considerations
+
+ XML, as a subset of SGML, has the same security considerations as
+ specified in [RFC-1874].
+
+ To paraphrase section 3 of [RFC-1874], XML entities contain
+ information to be parsed and processed by the recipient's XML system.
+ These entities may contain and such systems may permit explicit
+ system level commands to be executed while processing the data. To
+ the extent that an XML system will execute arbitrary command strings,
+ recipients of XML entities may be at risk. In general, it may be
+ possible to specify commands that perform unauthorized file
+ operations or make changes to the display processor's environment
+ that affect subsequent operations.
+
+ Use of XML is expected to be varied, and widespread. XML is under
+ scrutiny by a wide range of communities for use as a common syntax
+ for community-specific metadata. For example, the Dublin Core group
+ is using XML for document metadata, and a new effort has begun which
+ is considering use of XML for medical information. Other groups view
+ XML as a mechanism for marshalling parameters for remote procedure
+ calls. More uses of XML will undoubtedly arise.
+
+ Security considerations will vary by domain of use. For example, XML
+ medical records will have much more stringent privacy and security
+ considerations than XML library metadata. Similarly, use of XML as a
+ parameter marshalling syntax necessitates a case by case security
+ review.
+
+ XML may also have some of the same security concerns as plain text.
+ Like plain text, XML can contain escape sequences which, when
+ displayed, have the potential to change the display processor
+ environment in ways that adversely affect subsequent operations.
+ Possible effects include, but are not limited to, locking the
+ keyboard, changing display parameters so subsequent displayed text is
+ unreadable, or even changing display parameters to deliberately
+
+
+
+Whitehead & Murata Informational [Page 8]
+
+RFC 2376 XML Media Types July 1998
+
+
+ obscure or distort subsequent displayed material so that its meaning
+ is lost or altered. Display processors should either filter such
+ material from displayed text or else make sure to reset all important
+ settings after a given display operation is complete.
+
+ Some terminal devices have keys whose output, when pressed, can be
+ changed by sending the display processor a character sequence. If
+ this is possible the display of a text object containing such
+ character sequences could reprogram keys to perform some illicit or
+ dangerous action when the key is subsequently pressed by the user.
+ In some cases not only can keys be programmed, they can be triggered
+ remotely, making it possible for a text display operation to directly
+ perform some unwanted action. As such, the ability to program keys
+ should be blocked either by filtering or by disabling the ability to
+ program keys entirely.
+
+ Note that it is also possible to construct XML documents which make
+ use of what XML terms "entity references" (using the XML meaning of
+ the term "entity", which differs from the MIME definition of this
+ term), to construct repeated expansions of text. Recursive expansions
+ are prohibited [REC-XML] and XML processors are required to detect
+ them. However, even non-recursive expansions may cause problems with
+ the finite computing resources of computers, if they are performed
+ many times.
+
+5 The Byte Order Mark (BOM) and Conversions to/from UTF-16
+
+ The XML Recommendation, in section 4.3.3, specifies that UTF-16 XML
+ entities must begin with a byte order mark (BOM), which is the ZERO
+ WIDTH NO-BREAK SPACE character, hexadecimal sequence 0xFEFF (or
+ 0xFFFE, depending on endian). The XML Recommendation further states
+ that the BOM is an encoding signature, and is not part of either the
+ markup or the character data of the XML document.
+
+ Due to the BOM, applications which convert XML from the UTF-16
+ encoding to another encoding SHOULD strip the BOM before conversion.
+ Similarly, when converting from another encoding into UTF-16, the BOM
+ SHOULD be added after conversion is complete.
+
+6 Examples
+
+ The examples below give the value of the Content-type MIME header and
+ the XML declaration (which includes the encoding declaration) inside
+ the XML entity. For UTF-16 examples, the Byte Order Mark character
+ is denoted as "{BOM}", and the XML declaration is assumed to come at
+ the beginning of the XML entity, immediately following the BOM. Note
+ that other MIME headers may be present, and the XML entity may
+
+
+
+
+Whitehead & Murata Informational [Page 9]
+
+RFC 2376 XML Media Types July 1998
+
+
+ contain other data in addition to the XML declaration; the examples
+ focus on the Content-type header and the encoding declaration for
+ clarity.
+
+6.1 text/xml with UTF-8 Charset
+
+ Content-type: text/xml; charset="utf-8"
+
+ <?xml version="1.0" encoding="utf-8"?>
+
+ This is the recommended charset value for use with text/xml. Since
+ the charset parameter is provided, MIME and XML processors must treat
+ the enclosed entity as UTF-8 encoded.
+
+ If sent using a 7-bit transport (e.g. SMTP), the XML entity must use
+ a content-transfer-encoding of either quoted-printable or base64.
+ For an 8-bit clean transport (e.g., ESMTP, 8BITMIME, or NNTP), or a
+ binary clean transport (e.g., HTTP) no content-transfer-encoding is
+ necessary.
+
+6.2 text/xml with UTF-16 Charset
+
+ Content-type: text/xml; charset="utf-16"
+
+ {BOM}<?xml version='1.0' encoding='utf-16'?>
+
+ This is possible only when the XML entity is transmitted via HTTP,
+ which uses a MIME-like mechanism and is a binary-clean protocol,
+ hence does not perform CR and LF transformations and allows NUL
+ octets. This differs from typical text MIME type processing (see
+ section 19.4.1 of HTTP 1.1 [RFC-2068] for details).
+
+ Since HTTP is binary clean, no content-transfer-encoding is
+ necessary.
+
+6.3 text/xml with ISO-2022-KR Charset
+
+ Content-type: text/xml; charset="iso-2022-kr"
+
+ <?xml version="1.0" encoding='iso-2022-kr'?>
+
+ This example shows text/xml with a Korean charset (e.g., Hangul)
+ encoded following the specification in [RFC-1557]. Since the charset
+ parameter is provided, MIME and XML processors must treat the
+ enclosed entity as encoded per [RFC-1557].
+
+ Since ISO-2022-KR has been defined to use only 7 bits of data, no
+ content-transfer-encoding is necessary with any transport.
+
+
+
+Whitehead & Murata Informational [Page 10]
+
+RFC 2376 XML Media Types July 1998
+
+
+6.4 text/xml with Omitted Charset
+
+ Content-type: text/xml
+
+ {BOM}<?xml version="1.0" encoding="utf-16"?>
+
+ This example shows text/xml with the charset parameter omitted. In
+ this case, MIME and XML processors must assume the charset is "us-
+ ascii", the default charset value for text media types specified in
+ [RFC-2046]. The default of "us-ascii" holds even if the text/xml
+ entity is transported using HTTP.
+
+ Omitting the charset parameter is NOT RECOMMENDED for text/xml. For
+ example, even if the contents of the XML entity are UTF-16 or UTF-8,
+ or the XML entity has an explicit encoding declaration, XML and MIME
+ processors must assume the charset is "us-ascii".
+
+6.5 application/xml with UTF-16 Charset
+
+ Content-type: application/xml; charset="utf-16"
+
+ {BOM}<?xml version="1.0"?>
+
+ This is a recommended charset value for use with application/xml.
+ Since the charset parameter is provided, MIME and XML processors must
+ treat the enclosed entity as UTF-16 encoded.
+
+ If sent using a 7-bit transport (e.g., SMTP) or an 8-bit clean
+ transport (e.g., ESMTP, 8BITMIME, or NNTP), the XML entity must be
+ encoded in quoted-printable or base64. For a binary clean transport
+ (e.g., HTTP), no content-transfer-encoding is necessary.
+
+6.6 application/xml with ISO-2022-KR Charset
+
+ Content-type: application/xml; charset="iso-2022-kr"
+
+ <?xml version="1.0" encoding="iso-2022-kr"?>
+
+ This example shows application/xml with a Korean charset (e.g.,
+ Hangul) encoded following the specification in [RFC-1557]. Since the
+ charset parameter is provided, MIME and XML processors must treat the
+ enclosed entity as encoded per [RFC-1557], independent of whether the
+ XML entity has an internal encoding declaration (this example does
+ show such a declaration, which agrees with the charset parameter).
+
+ Since ISO-2022-KR has been defined to use only 7 bits of data, no
+ content-transfer-encoding is necessary with any transport.
+
+
+
+
+Whitehead & Murata Informational [Page 11]
+
+RFC 2376 XML Media Types July 1998
+
+
+6.7 application/xml with Omitted Charset and UTF-16 XML Entity
+
+ Content-type: application/xml
+
+ {BOM}<?xml version='1.0'?>
+
+ For this example, the XML entity begins with a BOM. Since the
+ charset has been omitted, a conforming XML processor follows the
+ requirements of [REC-XML], section 4.3.3. Specifically, the XML
+ processor reads the BOM, and thus knows deterministically that the
+ charset encoding is UTF-16.
+
+ An XML-unaware MIME processor should make no assumptions about the
+ charset of the XML entity.
+
+6.8 application/xml with Omitted Charset and UTF-8 Entity
+
+ Content-type: application/xml
+
+ <?xml version='1.0'?>
+
+ In this example, the charset parameter has been omitted, and there is
+ no BOM. Since there is no BOM, the XML processor follows the
+ requirements in section 4.3.3, and optionally applies the mechanism
+ described in appendix F (which is non-normative) of [REC-XML] to
+ determine the charset encoding of UTF-8. The XML entity does not
+ contain an encoding declaration, but since the encoding is UTF-8,
+ this is still a conforming XML entity.
+
+ An XML-unaware MIME processor should make no assumptions about the
+ charset of the XML entity.
+
+6.9 application/xml with Omitted Charset and Internal Encoding
+ Declaration
+
+ Content-type: application/xml
+
+ <?xml version='1.0' encoding="ISO-10646-UCS-4"?>
+
+ In this example, the charset parameter has been omitted, and there is
+ no BOM. However, the XML entity does have an encoding declaration
+ inside the XML entity which specifies the entity's charset. Following
+ the requirements in section 4.3.3, and optionally applying the
+ mechanism described in appendix F (non-normative) of [REC-XML], the
+ XML processor determines the charset encoding of the XML entity (in
+ this example, UCS-4).
+
+
+
+
+
+Whitehead & Murata Informational [Page 12]
+
+RFC 2376 XML Media Types July 1998
+
+
+ An XML-unaware MIME processor should make no assumptions about the
+ charset of the XML entity.
+
+7 References
+
+ [ISO-10646] ISO/IEC, Information Technology - Universal Multiple-
+ Octet Coded Character Set (UCS) - Part 1: Architecture
+ and Basic Multilingual Plane, May 1993.
+
+ [ISO-8897] ISO (International Organization for Standardization) ISO
+ 8879:1986(E) Information Processing -- Text and Office
+ Systems -- Standard Generalized Markup Language (SGML).
+ First edition -- 1986- 10-15.
+
+ [REC-XML] T. Bray, J. Paoli, C. M. Sperberg-McQueen, "Extensible
+ Markup Language (XML)" World Wide Web Consortium
+ Recommendation REC- xml-19980210.
+ http://www.w3.org/TR/1998/REC-xml-19980210.
+
+ [RFC-1557] Choi, U., Chon, K., and H. Park. "Korean Character
+ Encoding for Internet Messages", RFC 1557. December,
+ 1993.
+
+ [RFC-1874] Levinson, E., "SGML Media Types", RFC 1874. December
+ 1995.
+
+ [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC-2045] Freed, N., and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message
+ Bodies", RFC 2045, November 1996.
+
+ [RFC-2046] Freed, N., and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", RFC 2046,
+ November 1996.
+
+ [RFC-2068] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., and T.
+ Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1",
+ RFC 2068, January 1997.
+
+ [RFC-2279] Yergeau, F., "UTF-8, a transformation format of ISO
+ 10646", RFC 2279, January 1998.
+
+ [UNICODE] The Unicode Consortium, "The Unicode Standard -- Version
+ 2.0", Addison-Wesley, 1996.
+
+
+
+
+
+Whitehead & Murata Informational [Page 13]
+
+RFC 2376 XML Media Types July 1998
+
+
+8 Acknowledgements
+
+ Chris Newman and Yaron Y. Goland both contributed content to the
+ security considerations section of this document. In particular,
+ some text in the security considerations section is copied verbatim
+ from work in progress, draft-newman-mime-textpara-00, by permission
+ of the author. Chris Newman additionally contributed content to the
+ encoding considerations sections. Dan Connolly contributed content
+ discussing when to use text/xml. Discussions with Ned Freed and Dan
+ Connolly helped refine the author's understanding of the text media
+ type; feedback from Larry Masinter was also very helpful in
+ understanding media type registration issues.
+
+ Members of the W3C XML Working Group and XML Special Interest group
+ have made significant contributions to this document, and the authors
+ would like to specially recognize James Clark, Martin Duerst, Rick
+ Jelliffe, Gavin Nicol for their many thoughtful comments.
+
+9 Addresses of Authors
+
+ E. James Whitehead, Jr.
+ Dept. of Information and Computer Science
+ University of California, Irvine
+ Irvine, CA 92697-3425
+
+ EMail: ejw@ics.uci.edu
+
+
+ Murata Makoto (Family Given)
+ Fuji Xerox Information Systems,
+ KSP 9A7, 2-1, Sakado 3-chome, Takatsu-ku,
+ Kawasaki-shi, Kanagawa-ken,
+ 213 Japan
+
+ EMail: murata@fxis.fujixerox.co.jp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Whitehead & Murata Informational [Page 14]
+
+RFC 2376 XML Media Types July 1998
+
+
+10 Full Copyright Statement
+
+ Copyright (C) The Internet Society (1998). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Whitehead & Murata Informational [Page 15]
+
diff --git a/Documentation/en/rfc/rfc2535.txt b/Documentation/en/rfc/rfc2535.txt
new file mode 100644
index 00000000..fe0b3d07
--- /dev/null
+++ b/Documentation/en/rfc/rfc2535.txt
@@ -0,0 +1,2635 @@
+
+
+
+
+
+
+Network Working Group D. Eastlake
+Request for Comments: 2535 IBM
+Obsoletes: 2065 March 1999
+Updates: 2181, 1035, 1034
+Category: Standards Track
+
+ Domain Name System Security Extensions
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (1999). All Rights Reserved.
+
+Abstract
+
+ Extensions to the Domain Name System (DNS) are described that provide
+ data integrity and authentication to security aware resolvers and
+ applications through the use of cryptographic digital signatures.
+ These digital signatures are included in secured zones as resource
+ records. Security can also be provided through non-security aware
+ DNS servers in some cases.
+
+ The extensions provide for the storage of authenticated public keys
+ in the DNS. This storage of keys can support general public key
+ distribution services as well as DNS security. The stored keys
+ enable security aware resolvers to learn the authenticating key of
+ zones in addition to those for which they are initially configured.
+ Keys associated with DNS names can be retrieved to support other
+ protocols. Provision is made for a variety of key types and
+ algorithms.
+
+ In addition, the security extensions provide for the optional
+ authentication of DNS protocol transactions and requests.
+
+ This document incorporates feedback on RFC 2065 from early
+ implementers and potential users.
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 1]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+Acknowledgments
+
+ The significant contributions and suggestions of the following
+ persons (in alphabetic order) to DNS security are gratefully
+ acknowledged:
+
+ James M. Galvin
+ John Gilmore
+ Olafur Gudmundsson
+ Charlie Kaufman
+ Edward Lewis
+ Thomas Narten
+ Radia J. Perlman
+ Jeffrey I. Schiller
+ Steven (Xunhua) Wang
+ Brian Wellington
+
+Table of Contents
+
+ Abstract...................................................1
+ Acknowledgments............................................2
+ 1. Overview of Contents....................................4
+ 2. Overview of the DNS Extensions..........................5
+ 2.1 Services Not Provided..................................5
+ 2.2 Key Distribution.......................................5
+ 2.3 Data Origin Authentication and Integrity...............6
+ 2.3.1 The SIG Resource Record..............................7
+ 2.3.2 Authenticating Name and Type Non-existence...........7
+ 2.3.3 Special Considerations With Time-to-Live.............7
+ 2.3.4 Special Considerations at Delegation Points..........8
+ 2.3.5 Special Considerations with CNAME....................8
+ 2.3.6 Signers Other Than The Zone..........................9
+ 2.4 DNS Transaction and Request Authentication.............9
+ 3. The KEY Resource Record................................10
+ 3.1 KEY RDATA format......................................10
+ 3.1.1 Object Types, DNS Names, and Keys...................11
+ 3.1.2 The KEY RR Flag Field...............................11
+ 3.1.3 The Protocol Octet..................................13
+ 3.2 The KEY Algorithm Number Specification................14
+ 3.3 Interaction of Flags, Algorithm, and Protocol Bytes...15
+ 3.4 Determination of Zone Secure/Unsecured Status.........15
+ 3.5 KEY RRs in the Construction of Responses..............17
+ 4. The SIG Resource Record................................17
+ 4.1 SIG RDATA Format......................................17
+ 4.1.1 Type Covered Field..................................18
+ 4.1.2 Algorithm Number Field..............................18
+ 4.1.3 Labels Field........................................18
+ 4.1.4 Original TTL Field..................................19
+
+
+
+Eastlake Standards Track [Page 2]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 4.1.5 Signature Expiration and Inception Fields...........19
+ 4.1.6 Key Tag Field.......................................20
+ 4.1.7 Signer's Name Field.................................20
+ 4.1.8 Signature Field.....................................20
+ 4.1.8.1 Calculating Transaction and Request SIGs..........21
+ 4.2 SIG RRs in the Construction of Responses..............21
+ 4.3 Processing Responses and SIG RRs......................22
+ 4.4 Signature Lifetime, Expiration, TTLs, and Validity....23
+ 5. Non-existent Names and Types...........................24
+ 5.1 The NXT Resource Record...............................24
+ 5.2 NXT RDATA Format......................................25
+ 5.3 Additional Complexity Due to Wildcards................26
+ 5.4 Example...............................................26
+ 5.5 Special Considerations at Delegation Points...........27
+ 5.6 Zone Transfers........................................27
+ 5.6.1 Full Zone Transfers.................................28
+ 5.6.2 Incremental Zone Transfers..........................28
+ 6. How to Resolve Securely and the AD and CD Bits.........29
+ 6.1 The AD and CD Header Bits.............................29
+ 6.2 Staticly Configured Keys..............................31
+ 6.3 Chaining Through The DNS..............................31
+ 6.3.1 Chaining Through KEYs...............................31
+ 6.3.2 Conflicting Data....................................33
+ 6.4 Secure Time...........................................33
+ 7. ASCII Representation of Security RRs...................34
+ 7.1 Presentation of KEY RRs...............................34
+ 7.2 Presentation of SIG RRs...............................35
+ 7.3 Presentation of NXT RRs...............................36
+ 8. Canonical Form and Order of Resource Records...........36
+ 8.1 Canonical RR Form.....................................36
+ 8.2 Canonical DNS Name Order..............................37
+ 8.3 Canonical RR Ordering Within An RRset.................37
+ 8.4 Canonical Ordering of RR Types........................37
+ 9. Conformance............................................37
+ 9.1 Server Conformance....................................37
+ 9.2 Resolver Conformance..................................38
+ 10. Security Considerations...............................38
+ 11. IANA Considerations...................................39
+ References................................................39
+ Author's Address..........................................41
+ Appendix A: Base 64 Encoding..............................42
+ Appendix B: Changes from RFC 2065.........................44
+ Appendix C: Key Tag Calculation...........................46
+ Full Copyright Statement..................................47
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 3]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+1. Overview of Contents
+
+ This document standardizes extensions of the Domain Name System (DNS)
+ protocol to support DNS security and public key distribution. It
+ assumes that the reader is familiar with the Domain Name System,
+ particularly as described in RFCs 1033, 1034, 1035 and later RFCs. An
+ earlier version of these extensions appears in RFC 2065. This
+ replacement for that RFC incorporates early implementation experience
+ and requests from potential users.
+
+ Section 2 provides an overview of the extensions and the key
+ distribution, data origin authentication, and transaction and request
+ security they provide.
+
+ Section 3 discusses the KEY resource record, its structure, and use
+ in DNS responses. These resource records represent the public keys
+ of entities named in the DNS and are used for key distribution.
+
+ Section 4 discusses the SIG digital signature resource record, its
+ structure, and use in DNS responses. These resource records are used
+ to authenticate other resource records in the DNS and optionally to
+ authenticate DNS transactions and requests.
+
+ Section 5 discusses the NXT resource record (RR) and its use in DNS
+ responses including full and incremental zone transfers. The NXT RR
+ permits authenticated denial of the existence of a name or of an RR
+ type for an existing name.
+
+ Section 6 discusses how a resolver can be configured with a starting
+ key or keys and proceed to securely resolve DNS requests.
+ Interactions between resolvers and servers are discussed for various
+ combinations of security aware and security non-aware. Two
+ additional DNS header bits are defined for signaling between
+ resolvers and servers.
+
+ Section 7 describes the ASCII representation of the security resource
+ records for use in master files and elsewhere.
+
+ Section 8 defines the canonical form and order of RRs for DNS
+ security purposes.
+
+ Section 9 defines levels of conformance for resolvers and servers.
+
+ Section 10 provides a few paragraphs on overall security
+ considerations.
+
+ Section 11 specified IANA considerations for allocation of additional
+ values of paramters defined in this document.
+
+
+
+Eastlake Standards Track [Page 4]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ Appendix A gives details of base 64 encoding which is used in the
+ file representation of some RRs defined in this document.
+
+ Appendix B summarizes changes between this memo and RFC 2065.
+
+ Appendix C specified how to calculate the simple checksum used as a
+ key tag in most SIG RRs.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+2. Overview of the DNS Extensions
+
+ The Domain Name System (DNS) protocol security extensions provide
+ three distinct services: key distribution as described in Section 2.2
+ below, data origin authentication as described in Section 2.3 below,
+ and transaction and request authentication, described in Section 2.4
+ below.
+
+ Special considerations related to "time to live", CNAMEs, and
+ delegation points are also discussed in Section 2.3.
+
+2.1 Services Not Provided
+
+ It is part of the design philosophy of the DNS that the data in it is
+ public and that the DNS gives the same answers to all inquirers.
+ Following this philosophy, no attempt has been made to include any
+ sort of access control lists or other means to differentiate
+ inquirers.
+
+ No effort has been made to provide for any confidentiality for
+ queries or responses. (This service may be available via IPSEC [RFC
+ 2401], TLS, or other security protocols.)
+
+ Protection is not provided against denial of service.
+
+2.2 Key Distribution
+
+ A resource record format is defined to associate keys with DNS names.
+ This permits the DNS to be used as a public key distribution
+ mechanism in support of DNS security itself and other protocols.
+
+ The syntax of a KEY resource record (RR) is described in Section 3.
+ It includes an algorithm identifier, the actual public key
+ parameter(s), and a variety of flags including those indicating the
+ type of entity the key is associated with and/or asserting that there
+ is no key associated with that entity.
+
+
+
+Eastlake Standards Track [Page 5]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ Under conditions described in Section 3.5, security aware DNS servers
+ will automatically attempt to return KEY resources as additional
+ information, along with those resource records actually requested, to
+ minimize the number of queries needed.
+
+2.3 Data Origin Authentication and Integrity
+
+ Authentication is provided by associating with resource record sets
+ (RRsets [RFC 2181]) in the DNS cryptographically generated digital
+ signatures. Commonly, there will be a single private key that
+ authenticates an entire zone but there might be multiple keys for
+ different algorithms, signers, etc. If a security aware resolver
+ reliably learns a public key of the zone, it can authenticate, for
+ signed data read from that zone, that it is properly authorized. The
+ most secure implementation is for the zone private key(s) to be kept
+ off-line and used to re-sign all of the records in the zone
+ periodically. However, there are cases, for example dynamic update
+ [RFCs 2136, 2137], where DNS private keys need to be on-line [RFC
+ 2541].
+
+ The data origin authentication key(s) are associated with the zone
+ and not with the servers that store copies of the data. That means
+ compromise of a secondary server or, if the key(s) are kept off line,
+ even the primary server for a zone, will not necessarily affect the
+ degree of assurance that a resolver has that it can determine whether
+ data is genuine.
+
+ A resolver could learn a public key of a zone either by reading it
+ from the DNS or by having it staticly configured. To reliably learn
+ a public key by reading it from the DNS, the key itself must be
+ signed with a key the resolver trusts. The resolver must be
+ configured with at least a public key which authenticates one zone as
+ a starting point. From there, it can securely read public keys of
+ other zones, if the intervening zones in the DNS tree are secure and
+ their signed keys accessible.
+
+ Adding data origin authentication and integrity requires no change to
+ the "on-the-wire" DNS protocol beyond the addition of the signature
+ resource type and the key resource type needed for key distribution.
+ (Data non-existence authentication also requires the NXT RR as
+ described in 2.3.2.) This service can be supported by existing
+ resolver and caching server implementations so long as they can
+ support the additional resource types (see Section 9). The one
+ exception is that CNAME referrals in a secure zone can not be
+ authenticated if they are from non-security aware servers (see
+ Section 2.3.5).
+
+
+
+
+
+Eastlake Standards Track [Page 6]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ If signatures are separately retrieved and verified when retrieving
+ the information they authenticate, there will be more trips to the
+ server and performance will suffer. Security aware servers mitigate
+ that degradation by attempting to send the signature(s) needed (see
+ Section 4.2).
+
+2.3.1 The SIG Resource Record
+
+ The syntax of a SIG resource record (signature) is described in
+ Section 4. It cryptographicly binds the RRset being signed to the
+ signer and a validity interval.
+
+ Every name in a secured zone will have associated with it at least
+ one SIG resource record for each resource type under that name except
+ for glue address RRs and delegation point NS RRs. A security aware
+ server will attempt to return, with RRs retrieved, the corresponding
+ SIGs. If a server is not security aware, the resolver must retrieve
+ all the SIG records for a name and select the one or ones that sign
+ the resource record set(s) that resolver is interested in.
+
+2.3.2 Authenticating Name and Type Non-existence
+
+ The above security mechanism only provides a way to sign existing
+ RRsets in a zone. "Data origin" authentication is not obviously
+ provided for the non-existence of a domain name in a zone or the
+ non-existence of a type for an existing name. This gap is filled by
+ the NXT RR which authenticatably asserts a range of non-existent
+ names in a zone and the non-existence of types for the existing name
+ just before that range.
+
+ Section 5 below covers the NXT RR.
+
+2.3.3 Special Considerations With Time-to-Live
+
+ A digital signature will fail to verify if any change has occurred to
+ the data between the time it was originally signed and the time the
+ signature is verified. This conflicts with our desire to have the
+ time-to-live (TTL) field of resource records tick down while they are
+ cached.
+
+ This could be avoided by leaving the time-to-live out of the digital
+ signature, but that would allow unscrupulous servers to set
+ arbitrarily long TTL values undetected. Instead, we include the
+ "original" TTL in the signature and communicate that data along with
+ the current TTL. Unscrupulous servers under this scheme can
+ manipulate the TTL but a security aware resolver will bound the TTL
+ value it uses at the original signed value. Separately, signatures
+ include a signature inception time and a signature expiration time. A
+
+
+
+Eastlake Standards Track [Page 7]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ resolver that knows the absolute time can determine securely whether
+ a signature is in effect. It is not possible to rely solely on the
+ signature expiration as a substitute for the TTL, however, since the
+ TTL is primarily a database consistency mechanism and non-security
+ aware servers that depend on TTL must still be supported.
+
+2.3.4 Special Considerations at Delegation Points
+
+ DNS security would like to view each zone as a unit of data
+ completely under the control of the zone owner with each entry
+ (RRset) signed by a special private key held by the zone manager.
+ But the DNS protocol views the leaf nodes in a zone, which are also
+ the apex nodes of a subzone (i.e., delegation points), as "really"
+ belonging to the subzone. These nodes occur in two master files and
+ might have RRs signed by both the upper and lower zone's keys. A
+ retrieval could get a mixture of these RRs and SIGs, especially since
+ one server could be serving both the zone above and below a
+ delegation point. [RFC 2181]
+
+ There MUST be a zone KEY RR, signed by its superzone, for every
+ subzone if the superzone is secure. This will normally appear in the
+ subzone and may also be included in the superzone. But, in the case
+ of an unsecured subzone which can not or will not be modified to add
+ any security RRs, a KEY declaring the subzone to be unsecured MUST
+ appear with the superzone signature in the superzone, if the
+ superzone is secure. For all but one other RR type the data from the
+ subzone is more authoritative so only the subzone KEY RR should be
+ signed in the superzone if it appears there. The NS and any glue
+ address RRs SHOULD only be signed in the subzone. The SOA and any
+ other RRs that have the zone name as owner should appear only in the
+ subzone and thus are signed only there. The NXT RR type is the
+ exceptional case that will always appear differently and
+ authoritatively in both the superzone and subzone, if both are
+ secure, as described in Section 5.
+
+2.3.5 Special Considerations with CNAME
+
+ There is a problem when security related RRs with the same owner name
+ as a CNAME RR are retrieved from a non-security-aware server. In
+ particular, an initial retrieval for the CNAME or any other type may
+ not retrieve any associated SIG, KEY, or NXT RR. For retrieved types
+ other than CNAME, it will retrieve that type at the target name of
+ the CNAME (or chain of CNAMEs) and will also return the CNAME. In
+ particular, a specific retrieval for type SIG will not get the SIG,
+ if any, at the original CNAME domain name but rather a SIG at the
+ target name.
+
+
+
+
+
+Eastlake Standards Track [Page 8]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ Security aware servers must be used to securely CNAME in DNS.
+ Security aware servers MUST (1) allow KEY, SIG, and NXT RRs along
+ with CNAME RRs, (2) suppress CNAME processing on retrieval of these
+ types as well as on retrieval of the type CNAME, and (3)
+ automatically return SIG RRs authenticating the CNAME or CNAMEs
+ encountered in resolving a query. This is a change from the previous
+ DNS standard [RFCs 1034/1035] which prohibited any other RR type at a
+ node where a CNAME RR was present.
+
+2.3.6 Signers Other Than The Zone
+
+ There are cases where the signer in a SIG resource record is other
+ than one of the private key(s) used to authenticate a zone.
+
+ One is for support of dynamic update [RFC 2136] (or future requests
+ which require secure authentication) where an entity is permitted to
+ authenticate/update its records [RFC 2137] and the zone is operating
+ in a mode where the zone key is not on line. The public key of the
+ entity must be present in the DNS and be signed by a zone level key
+ but the other RR(s) may be signed with the entity's key.
+
+ A second case is support of transaction and request authentication as
+ described in Section 2.4.
+
+ In additions, signatures can be included on resource records within
+ the DNS for use by applications other than DNS. DNS related
+ signatures authenticate that data originated with the authority of a
+ zone owner or that a request or transaction originated with the
+ relevant entity. Other signatures can provide other types of
+ assurances.
+
+2.4 DNS Transaction and Request Authentication
+
+ The data origin authentication service described above protects
+ retrieved resource records and the non-existence of resource records
+ but provides no protection for DNS requests or for message headers.
+
+ If header bits are falsely set by a bad server, there is little that
+ can be done. However, it is possible to add transaction
+ authentication. Such authentication means that a resolver can be
+ sure it is at least getting messages from the server it thinks it
+ queried and that the response is from the query it sent (i.e., that
+ these messages have not been diddled in transit). This is
+ accomplished by optionally adding a special SIG resource record at
+ the end of the reply which digitally signs the concatenation of the
+ server's response and the resolver's query.
+
+
+
+
+
+Eastlake Standards Track [Page 9]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ Requests can also be authenticated by including a special SIG RR at
+ the end of the request. Authenticating requests serves no function
+ in older DNS servers and requests with a non-empty additional
+ information section produce error returns or may even be ignored by
+ many of them. However, this syntax for signing requests is defined as
+ a way of authenticating secure dynamic update requests [RFC 2137] or
+ future requests requiring authentication.
+
+ The private keys used in transaction security belong to the entity
+ composing the reply, not to the zone involved. Request
+ authentication may also involve the private key of the host or other
+ entity composing the request or other private keys depending on the
+ request authority it is sought to establish. The corresponding public
+ key(s) are normally stored in and retrieved from the DNS for
+ verification.
+
+ Because requests and replies are highly variable, message
+ authentication SIGs can not be pre-calculated. Thus it will be
+ necessary to keep the private key on-line, for example in software or
+ in a directly connected piece of hardware.
+
+3. The KEY Resource Record
+
+ The KEY resource record (RR) is used to store a public key that is
+ associated with a Domain Name System (DNS) name. This can be the
+ public key of a zone, a user, or a host or other end entity. Security
+ aware DNS implementations MUST be designed to handle at least two
+ simultaneously valid keys of the same type associated with the same
+ name.
+
+ The type number for the KEY RR is 25.
+
+ A KEY RR is, like any other RR, authenticated by a SIG RR. KEY RRs
+ must be signed by a zone level key.
+
+3.1 KEY RDATA format
+
+ The RDATA for a KEY RR consists of flags, a protocol octet, the
+ algorithm number octet, and the public key itself. The format is as
+ follows:
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 10]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | flags | protocol | algorithm |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | /
+ / public key /
+ / /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+
+ The KEY RR is not intended for storage of certificates and a separate
+ certificate RR has been developed for that purpose, defined in [RFC
+ 2538].
+
+ The meaning of the KEY RR owner name, flags, and protocol octet are
+ described in Sections 3.1.1 through 3.1.5 below. The flags and
+ algorithm must be examined before any data following the algorithm
+ octet as they control the existence and format of any following data.
+ The algorithm and public key fields are described in Section 3.2.
+ The format of the public key is algorithm dependent.
+
+ KEY RRs do not specify their validity period but their authenticating
+ SIG RR(s) do as described in Section 4 below.
+
+3.1.1 Object Types, DNS Names, and Keys
+
+ The public key in a KEY RR is for the object named in the owner name.
+
+ A DNS name may refer to three different categories of things. For
+ example, foo.host.example could be (1) a zone, (2) a host or other
+ end entity , or (3) the mapping into a DNS name of the user or
+ account foo@host.example. Thus, there are flag bits, as described
+ below, in the KEY RR to indicate with which of these roles the owner
+ name and public key are associated. Note that an appropriate zone
+ KEY RR MUST occur at the apex node of a secure zone and zone KEY RRs
+ occur only at delegation points.
+
+3.1.2 The KEY RR Flag Field
+
+ In the "flags" field:
+
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ | A/C | Z | XT| Z | Z | NAMTYP| Z | Z | Z | Z | SIG |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+
+ Bit 0 and 1 are the key "type" bits whose values have the following
+ meanings:
+
+
+
+Eastlake Standards Track [Page 11]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 10: Use of the key is prohibited for authentication.
+ 01: Use of the key is prohibited for confidentiality.
+ 00: Use of the key for authentication and/or confidentiality
+ is permitted. Note that DNS security makes use of keys
+ for authentication only. Confidentiality use flagging is
+ provided for use of keys in other protocols.
+ Implementations not intended to support key distribution
+ for confidentiality MAY require that the confidentiality
+ use prohibited bit be on for keys they serve.
+ 11: If both bits are one, the "no key" value, there is no key
+ information and the RR stops after the algorithm octet.
+ By the use of this "no key" value, a signed KEY RR can
+ authenticatably assert that, for example, a zone is not
+ secured. See section 3.4 below.
+
+ Bits 2 is reserved and must be zero.
+
+ Bits 3 is reserved as a flag extension bit. If it is a one, a second
+ 16 bit flag field is added after the algorithm octet and
+ before the key data. This bit MUST NOT be set unless one or
+ more such additional bits have been defined and are non-zero.
+
+ Bits 4-5 are reserved and must be zero.
+
+ Bits 6 and 7 form a field that encodes the name type. Field values
+ have the following meanings:
+
+ 00: indicates that this is a key associated with a "user" or
+ "account" at an end entity, usually a host. The coding
+ of the owner name is that used for the responsible
+ individual mailbox in the SOA and RP RRs: The owner name
+ is the user name as the name of a node under the entity
+ name. For example, "j_random_user" on
+ host.subdomain.example could have a public key associated
+ through a KEY RR with name
+ j_random_user.host.subdomain.example. It could be used
+ in a security protocol where authentication of a user was
+ desired. This key might be useful in IP or other
+ security for a user level service such a telnet, ftp,
+ rlogin, etc.
+ 01: indicates that this is a zone key for the zone whose name
+ is the KEY RR owner name. This is the public key used
+ for the primary DNS security feature of data origin
+ authentication. Zone KEY RRs occur only at delegation
+ points.
+ 10: indicates that this is a key associated with the non-zone
+ "entity" whose name is the RR owner name. This will
+ commonly be a host but could, in some parts of the DNS
+
+
+
+Eastlake Standards Track [Page 12]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ tree, be some other type of entity such as a telephone
+ number [RFC 1530] or numeric IP address. This is the
+ public key used in connection with DNS request and
+ transaction authentication services. It could also be
+ used in an IP-security protocol where authentication at
+ the host, rather than user, level was desired, such as
+ routing, NTP, etc.
+ 11: reserved.
+
+ Bits 8-11 are reserved and must be zero.
+
+ Bits 12-15 are the "signatory" field. If non-zero, they indicate
+ that the key can validly sign things as specified in DNS
+ dynamic update [RFC 2137]. Note that zone keys (see bits
+ 6 and 7 above) always have authority to sign any RRs in
+ the zone regardless of the value of the signatory field.
+
+3.1.3 The Protocol Octet
+
+ It is anticipated that keys stored in DNS will be used in conjunction
+ with a variety of Internet protocols. It is intended that the
+ protocol octet and possibly some of the currently unused (must be
+ zero) bits in the KEY RR flags as specified in the future will be
+ used to indicate a key's validity for different protocols.
+
+ The following values of the Protocol Octet are reserved as indicated:
+
+ VALUE Protocol
+
+ 0 -reserved
+ 1 TLS
+ 2 email
+ 3 dnssec
+ 4 IPSEC
+ 5-254 - available for assignment by IANA
+ 255 All
+
+ In more detail:
+ 1 is reserved for use in connection with TLS.
+ 2 is reserved for use in connection with email.
+ 3 is used for DNS security. The protocol field SHOULD be set to
+ this value for zone keys and other keys used in DNS security.
+ Implementations that can determine that a key is a DNS
+ security key by the fact that flags label it a zone key or the
+ signatory flag field is non-zero are NOT REQUIRED to check the
+ protocol field.
+ 4 is reserved to refer to the Oakley/IPSEC [RFC 2401] protocol
+ and indicates that this key is valid for use in conjunction
+
+
+
+Eastlake Standards Track [Page 13]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ with that security standard. This key could be used in
+ connection with secured communication on behalf of an end
+ entity or user whose name is the owner name of the KEY RR if
+ the entity or user flag bits are set. The presence of a KEY
+ resource with this protocol value is an assertion that the
+ host speaks Oakley/IPSEC.
+ 255 indicates that the key can be used in connection with any
+ protocol for which KEY RR protocol octet values have been
+ defined. The use of this value is discouraged and the use of
+ different keys for different protocols is encouraged.
+
+3.2 The KEY Algorithm Number Specification
+
+ This octet is the key algorithm parallel to the same field for the
+ SIG resource as described in Section 4.1. The following values are
+ assigned:
+
+ VALUE Algorithm
+
+ 0 - reserved, see Section 11
+ 1 RSA/MD5 [RFC 2537] - recommended
+ 2 Diffie-Hellman [RFC 2539] - optional, key only
+ 3 DSA [RFC 2536] - MANDATORY
+ 4 reserved for elliptic curve crypto
+ 5-251 - available, see Section 11
+ 252 reserved for indirect keys
+ 253 private - domain name (see below)
+ 254 private - OID (see below)
+ 255 - reserved, see Section 11
+
+ Algorithm specific formats and procedures are given in separate
+ documents. The mandatory to implement for interoperability algorithm
+ is number 3, DSA. It is recommended that the RSA/MD5 algorithm,
+ number 1, also be implemented. Algorithm 2 is used to indicate
+ Diffie-Hellman keys and algorithm 4 is reserved for elliptic curve.
+
+ Algorithm number 252 indicates an indirect key format where the
+ actual key material is elsewhere. This format is to be defined in a
+ separate document.
+
+ Algorithm numbers 253 and 254 are reserved for private use and will
+ never be assigned a specific algorithm. For number 253, the public
+ key area and the signature begin with a wire encoded domain name.
+ Only local domain name compression is permitted. The domain name
+ indicates the private algorithm to use and the remainder of the
+ public key area is whatever is required by that algorithm. For
+ number 254, the public key area for the KEY RR and the signature
+ begin with an unsigned length byte followed by a BER encoded Object
+
+
+
+Eastlake Standards Track [Page 14]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ Identifier (ISO OID) of that length. The OID indicates the private
+ algorithm in use and the remainder of the area is whatever is
+ required by that algorithm. Entities should only use domain names
+ and OIDs they control to designate their private algorithms.
+
+ Values 0 and 255 are reserved but the value 0 is used in the
+ algorithm field when that field is not used. An example is in a KEY
+ RR with the top two flag bits on, the "no-key" value, where no key is
+ present.
+
+3.3 Interaction of Flags, Algorithm, and Protocol Bytes
+
+ Various combinations of the no-key type flags, algorithm byte,
+ protocol byte, and any future assigned protocol indicating flags are
+ possible. The meaning of these combinations is indicated below:
+
+ NK = no key type (flags bits 0 and 1 on)
+ AL = algorithm byte
+ PR = protocols indicated by protocol byte or future assigned flags
+
+ x represents any valid non-zero value(s).
+
+ AL PR NK Meaning
+ 0 0 0 Illegal, claims key but has bad algorithm field.
+ 0 0 1 Specifies total lack of security for owner zone.
+ 0 x 0 Illegal, claims key but has bad algorithm field.
+ 0 x 1 Specified protocols unsecured, others may be secure.
+ x 0 0 Gives key but no protocols to use it.
+ x 0 1 Denies key for specific algorithm.
+ x x 0 Specifies key for protocols.
+ x x 1 Algorithm not understood for protocol.
+
+3.4 Determination of Zone Secure/Unsecured Status
+
+ A zone KEY RR with the "no-key" type field value (both key type flag
+ bits 0 and 1 on) indicates that the zone named is unsecured while a
+ zone KEY RR with a key present indicates that the zone named is
+ secure. The secured versus unsecured status of a zone may vary with
+ different cryptographic algorithms. Even for the same algorithm,
+ conflicting zone KEY RRs may be present.
+
+ Zone KEY RRs, like all RRs, are only trusted if they are
+ authenticated by a SIG RR whose signer field is a signer for which
+ the resolver has a public key they trust and where resolver policy
+ permits that signer to sign for the KEY owner name. Untrusted zone
+ KEY RRs MUST be ignored in determining the security status of the
+ zone. However, there can be multiple sets of trusted zone KEY RRs
+ for a zone with different algorithms, signers, etc.
+
+
+
+Eastlake Standards Track [Page 15]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ For any particular algorithm, zones can be (1) secure, indicating
+ that any retrieved RR must be authenticated by a SIG RR or it will be
+ discarded as bogus, (2) unsecured, indicating that SIG RRs are not
+ expected or required for RRs retrieved from the zone, or (3)
+ experimentally secure, which indicates that SIG RRs might or might
+ not be present but must be checked if found. The status of a zone is
+ determined as follows:
+
+ 1. If, for a zone and algorithm, every trusted zone KEY RR for the
+ zone says there is no key for that zone, it is unsecured for that
+ algorithm.
+
+ 2. If, there is at least one trusted no-key zone KEY RR and one
+ trusted key specifying zone KEY RR, then that zone is only
+ experimentally secure for the algorithm. Both authenticated and
+ non-authenticated RRs for it should be accepted by the resolver.
+
+ 3. If every trusted zone KEY RR that the zone and algorithm has is
+ key specifying, then it is secure for that algorithm and only
+ authenticated RRs from it will be accepted.
+
+ Examples:
+
+ (1) A resolver initially trusts only signatures by the superzone of
+ zone Z within the DNS hierarchy. Thus it will look only at the KEY
+ RRs that are signed by the superzone. If it finds only no-key KEY
+ RRs, it will assume the zone is not secure. If it finds only key
+ specifying KEY RRs, it will assume the zone is secure and reject any
+ unsigned responses. If it finds both, it will assume the zone is
+ experimentally secure
+
+ (2) A resolver trusts the superzone of zone Z (to which it got
+ securely from its local zone) and a third party, cert-auth.example.
+ When considering data from zone Z, it may be signed by the superzone
+ of Z, by cert-auth.example, by both, or by neither. The following
+ table indicates whether zone Z will be considered secure,
+ experimentally secure, or unsecured, depending on the signed zone KEY
+ RRs for Z;
+
+ c e r t - a u t h . e x a m p l e
+
+ KEY RRs| None | NoKeys | Mixed | Keys |
+ S --+-----------+-----------+----------+----------+
+ u None | illegal | unsecured | experim. | secure |
+ p --+-----------+-----------+----------+----------+
+ e NoKeys | unsecured | unsecured | experim. | secure |
+ r --+-----------+-----------+----------+----------+
+ Z Mixed | experim. | experim. | experim. | secure |
+
+
+
+Eastlake Standards Track [Page 16]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ o --+-----------+-----------+----------+----------+
+ n Keys | secure | secure | secure | secure |
+ e +-----------+-----------+----------+----------+
+
+3.5 KEY RRs in the Construction of Responses
+
+ An explicit request for KEY RRs does not cause any special additional
+ information processing except, of course, for the corresponding SIG
+ RR from a security aware server (see Section 4.2).
+
+ Security aware DNS servers include KEY RRs as additional information
+ in responses, where a KEY is available, in the following cases:
+
+ (1) On the retrieval of SOA or NS RRs, the KEY RRset with the same
+ name (perhaps just a zone key) SHOULD be included as additional
+ information if space is available. If not all additional information
+ will fit, type A and AAAA glue RRs have higher priority than KEY
+ RR(s).
+
+ (2) On retrieval of type A or AAAA RRs, the KEY RRset with the same
+ name (usually just a host RR and NOT the zone key (which usually
+ would have a different name)) SHOULD be included if space is
+ available. On inclusion of A or AAAA RRs as additional information,
+ the KEY RRset with the same name should also be included but with
+ lower priority than the A or AAAA RRs.
+
+4. The SIG Resource Record
+
+ The SIG or "signature" resource record (RR) is the fundamental way
+ that data is authenticated in the secure Domain Name System (DNS). As
+ such it is the heart of the security provided.
+
+ The SIG RR unforgably authenticates an RRset [RFC 2181] of a
+ particular type, class, and name and binds it to a time interval and
+ the signer's domain name. This is done using cryptographic
+ techniques and the signer's private key. The signer is frequently
+ the owner of the zone from which the RR originated.
+
+ The type number for the SIG RR type is 24.
+
+4.1 SIG RDATA Format
+
+ The RDATA portion of a SIG RR is as shown below. The integrity of
+ the RDATA information is protected by the signature field.
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 17]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | type covered | algorithm | labels |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | original TTL |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | signature expiration |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | signature inception |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | key tag | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ signer's name +
+ | /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/
+ / /
+ / signature /
+ / /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+4.1.1 Type Covered Field
+
+ The "type covered" is the type of the other RRs covered by this SIG.
+
+4.1.2 Algorithm Number Field
+
+ This octet is as described in section 3.2.
+
+4.1.3 Labels Field
+
+ The "labels" octet is an unsigned count of how many labels there are
+ in the original SIG RR owner name not counting the null label for
+ root and not counting any initial "*" for a wildcard. If a secured
+ retrieval is the result of wild card substitution, it is necessary
+ for the resolver to use the original form of the name in verifying
+ the digital signature. This field makes it easy to determine the
+ original form.
+
+ If, on retrieval, the RR appears to have a longer name than indicated
+ by "labels", the resolver can tell it is the result of wildcard
+ substitution. If the RR owner name appears to be shorter than the
+ labels count, the SIG RR must be considered corrupt and ignored. The
+ maximum number of labels allowed in the current DNS is 127 but the
+ entire octet is reserved and would be required should DNS names ever
+ be expanded to 255 labels. The following table gives some examples.
+ The value of "labels" is at the top, the retrieved owner name on the
+ left, and the table entry is the name to use in signature
+ verification except that "bad" means the RR is corrupt.
+
+
+
+Eastlake Standards Track [Page 18]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ labels= | 0 | 1 | 2 | 3 | 4 |
+ --------+-----+------+--------+----------+----------+
+ .| . | bad | bad | bad | bad |
+ d.| *. | d. | bad | bad | bad |
+ c.d.| *. | *.d. | c.d. | bad | bad |
+ b.c.d.| *. | *.d. | *.c.d. | b.c.d. | bad |
+ a.b.c.d.| *. | *.d. | *.c.d. | *.b.c.d. | a.b.c.d. |
+
+4.1.4 Original TTL Field
+
+ The "original TTL" field is included in the RDATA portion to avoid
+ (1) authentication problems that caching servers would otherwise
+ cause by decrementing the real TTL field and (2) security problems
+ that unscrupulous servers could otherwise cause by manipulating the
+ real TTL field. This original TTL is protected by the signature
+ while the current TTL field is not.
+
+ NOTE: The "original TTL" must be restored into the covered RRs when
+ the signature is verified (see Section 8). This generaly implies
+ that all RRs for a particular type, name, and class, that is, all the
+ RRs in any particular RRset, must have the same TTL to start with.
+
+4.1.5 Signature Expiration and Inception Fields
+
+ The SIG is valid from the "signature inception" time until the
+ "signature expiration" time. Both are unsigned numbers of seconds
+ since the start of 1 January 1970, GMT, ignoring leap seconds. (See
+ also Section 4.4.) Ring arithmetic is used as for DNS SOA serial
+ numbers [RFC 1982] which means that these times can never be more
+ than about 68 years in the past or the future. This means that these
+ times are ambiguous modulo ~136.09 years. However there is no
+ security flaw because keys are required to be changed to new random
+ keys by [RFC 2541] at least every five years. This means that the
+ probability that the same key is in use N*136.09 years later should
+ be the same as the probability that a random guess will work.
+
+ A SIG RR may have an expiration time numerically less than the
+ inception time if the expiration time is near the 32 bit wrap around
+ point and/or the signature is long lived.
+
+ (To prevent misordering of network requests to update a zone
+ dynamically, monotonically increasing "signature inception" times may
+ be necessary.)
+
+ A secure zone must be considered changed for SOA serial number
+ purposes not only when its data is updated but also when new SIG RRs
+ are inserted (ie, the zone or any part of it is re-signed).
+
+
+
+
+Eastlake Standards Track [Page 19]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+4.1.6 Key Tag Field
+
+ The "key Tag" is a two octet quantity that is used to efficiently
+ select between multiple keys which may be applicable and thus check
+ that a public key about to be used for the computationally expensive
+ effort to check the signature is possibly valid. For algorithm 1
+ (MD5/RSA) as defined in [RFC 2537], it is the next to the bottom two
+ octets of the public key modulus needed to decode the signature
+ field. That is to say, the most significant 16 of the least
+ significant 24 bits of the modulus in network (big endian) order. For
+ all other algorithms, including private algorithms, it is calculated
+ as a simple checksum of the KEY RR as described in Appendix C.
+
+4.1.7 Signer's Name Field
+
+ The "signer's name" field is the domain name of the signer generating
+ the SIG RR. This is the owner name of the public KEY RR that can be
+ used to verify the signature. It is frequently the zone which
+ contained the RRset being authenticated. Which signers should be
+ authorized to sign what is a significant resolver policy question as
+ discussed in Section 6. The signer's name may be compressed with
+ standard DNS name compression when being transmitted over the
+ network.
+
+4.1.8 Signature Field
+
+ The actual signature portion of the SIG RR binds the other RDATA
+ fields to the RRset of the "type covered" RRs with that owner name
+ and class. This covered RRset is thereby authenticated. To
+ accomplish this, a data sequence is constructed as follows:
+
+ data = RDATA | RR(s)...
+
+ where "|" is concatenation,
+
+ RDATA is the wire format of all the RDATA fields in the SIG RR itself
+ (including the canonical form of the signer's name) before but not
+ including the signature, and
+
+ RR(s) is the RRset of the RR(s) of the type covered with the same
+ owner name and class as the SIG RR in canonical form and order as
+ defined in Section 8.
+
+ How this data sequence is processed into the signature is algorithm
+ dependent. These algorithm dependent formats and procedures are
+ described in separate documents (Section 3.2).
+
+
+
+
+
+Eastlake Standards Track [Page 20]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ SIGs SHOULD NOT be included in a zone for any "meta-type" such as
+ ANY, AXFR, etc. (but see section 5.6.2 with regard to IXFR).
+
+4.1.8.1 Calculating Transaction and Request SIGs
+
+ A response message from a security aware server may optionally
+ contain a special SIG at the end of the additional information
+ section to authenticate the transaction.
+
+ This SIG has a "type covered" field of zero, which is not a valid RR
+ type. It is calculated by using a "data" (see Section 4.1.8) of the
+ entire preceding DNS reply message, including DNS header but not the
+ IP header and before the reply RR counts have been adjusted for the
+ inclusion of any transaction SIG, concatenated with the entire DNS
+ query message that produced this response, including the query's DNS
+ header and any request SIGs but not its IP header. That is
+
+ data = full response (less transaction SIG) | full query
+
+ Verification of the transaction SIG (which is signed by the server
+ host key, not the zone key) by the requesting resolver shows that the
+ query and response were not tampered with in transit, that the
+ response corresponds to the intended query, and that the response
+ comes from the queried server.
+
+ A DNS request may be optionally signed by including one or more SIGs
+ at the end of the query. Such SIGs are identified by having a "type
+ covered" field of zero. They sign the preceding DNS request message
+ including DNS header but not including the IP header or any request
+ SIGs at the end and before the request RR counts have been adjusted
+ for the inclusions of any request SIG(s).
+
+ WARNING: Request SIGs are unnecessary for any currently defined
+ request other than update [RFC 2136, 2137] and will cause some old
+ DNS servers to give an error return or ignore a query. However, such
+ SIGs may in the future be needed for other requests.
+
+ Except where needed to authenticate an update or similar privileged
+ request, servers are not required to check request SIGs.
+
+4.2 SIG RRs in the Construction of Responses
+
+ Security aware DNS servers SHOULD, for every authenticated RRset the
+ query will return, attempt to send the available SIG RRs which
+ authenticate the requested RRset. The following rules apply to the
+ inclusion of SIG RRs in responses:
+
+
+
+
+
+Eastlake Standards Track [Page 21]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 1. when an RRset is placed in a response, its SIG RR has a higher
+ priority for inclusion than additional RRs that may need to be
+ included. If space does not permit its inclusion, the response
+ MUST be considered truncated except as provided in 2 below.
+
+ 2. When a SIG RR is present in the zone for an additional
+ information section RR, the response MUST NOT be considered
+ truncated merely because space does not permit the inclusion of
+ the SIG RR with the additional information.
+
+ 3. SIGs to authenticate glue records and NS RRs for subzones at a
+ delegation point are unnecessary and MUST NOT be sent.
+
+ 4. If a SIG covers any RR that would be in the answer section of
+ the response, its automatic inclusion MUST be in the answer
+ section. If it covers an RR that would appear in the authority
+ section, its automatic inclusion MUST be in the authority
+ section. If it covers an RR that would appear in the additional
+ information section it MUST appear in the additional information
+ section. This is a change in the existing standard [RFCs 1034,
+ 1035] which contemplates only NS and SOA RRs in the authority
+ section.
+
+ 5. Optionally, DNS transactions may be authenticated by a SIG RR at
+ the end of the response in the additional information section
+ (Section 4.1.8.1). Such SIG RRs are signed by the DNS server
+ originating the response. Although the signer field MUST be a
+ name of the originating server host, the owner name, class, TTL,
+ and original TTL, are meaningless. The class and TTL fields
+ SHOULD be zero. To conserve space, the owner name SHOULD be
+ root (a single zero octet). If transaction authentication is
+ desired, that SIG RR must be considered the highest priority for
+ inclusion.
+
+4.3 Processing Responses and SIG RRs
+
+ The following rules apply to the processing of SIG RRs included in a
+ response:
+
+ 1. A security aware resolver that receives a response from a
+ security aware server via a secure communication with the AD bit
+ (see Section 6.1) set, MAY choose to accept the RRs as received
+ without verifying the zone SIG RRs.
+
+ 2. In other cases, a security aware resolver SHOULD verify the SIG
+ RRs for the RRs of interest. This may involve initiating
+ additional queries for SIG or KEY RRs, especially in the case of
+
+
+
+
+Eastlake Standards Track [Page 22]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ getting a response from a server that does not implement
+ security. (As explained in 2.3.5 above, it will not be possible
+ to secure CNAMEs being served up by non-secure resolvers.)
+
+ NOTE: Implementers might expect the above SHOULD to be a MUST.
+ However, local policy or the calling application may not require
+ the security services.
+
+ 3. If SIG RRs are received in response to a user query explicitly
+ specifying the SIG type, no special processing is required.
+
+ If the message does not pass integrity checks or the SIG does not
+ check against the signed RRs, the SIG RR is invalid and should be
+ ignored. If all of the SIG RR(s) purporting to authenticate an RRset
+ are invalid, then the RRset is not authenticated.
+
+ If the SIG RR is the last RR in a response in the additional
+ information section and has a type covered of zero, it is a
+ transaction signature of the response and the query that produced the
+ response. It MAY be optionally checked and the message rejected if
+ the checks fail. But even if the checks succeed, such a transaction
+ authentication SIG does NOT directly authenticate any RRs in the
+ message. Only a proper SIG RR signed by the zone or a key tracing
+ its authority to the zone or to static resolver configuration can
+ directly authenticate RRs, depending on resolver policy (see Section
+ 6). If a resolver does not implement transaction and/or request
+ SIGs, it MUST ignore them without error.
+
+ If all checks indicate that the SIG RR is valid then RRs verified by
+ it should be considered authenticated.
+
+4.4 Signature Lifetime, Expiration, TTLs, and Validity
+
+ Security aware servers MUST NOT consider SIG RRs to authenticate
+ anything before their signature inception or after its expiration
+ time (see also Section 6). Security aware servers MUST NOT consider
+ any RR to be authenticated after all its signatures have expired.
+ When a secure server caches authenticated data, if the TTL would
+ expire at a time further in the future than the authentication
+ expiration time, the server SHOULD trim the TTL in the cache entry
+ not to extent beyond the authentication expiration time. Within
+ these constraints, servers should continue to follow DNS TTL aging.
+ Thus authoritative servers should continue to follow the zone refresh
+ and expire parameters and a non-authoritative server should count
+ down the TTL and discard RRs when the TTL is zero (even for a SIG
+ that has not yet reached its authentication expiration time). In
+ addition, when RRs are transmitted in a query response, the TTL
+
+
+
+
+Eastlake Standards Track [Page 23]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ should be trimmed so that current time plus the TTL does not extend
+ beyond the authentication expiration time. Thus, in general, the TTL
+ on a transmitted RR would be
+
+ min(authExpTim,max(zoneMinTTL,min(originalTTL,currentTTL)))
+
+ When signatures are generated, signature expiration times should be
+ set far enough in the future that it is quite certain that new
+ signatures can be generated before the old ones expire. However,
+ setting expiration too far into the future could mean a long time to
+ flush any bad data or signatures that may have been generated.
+
+ It is recommended that signature lifetime be a small multiple of the
+ TTL (ie, 4 to 16 times the TTL) but not less than a reasonable
+ maximum re-signing interval and not less than the zone expiry time.
+
+5. Non-existent Names and Types
+
+ The SIG RR mechanism described in Section 4 above provides strong
+ authentication of RRs that exist in a zone. But it is not clear
+ above how to verifiably deny the existence of a name in a zone or a
+ type for an existent name.
+
+ The nonexistence of a name in a zone is indicated by the NXT ("next")
+ RR for a name interval containing the nonexistent name. An NXT RR or
+ RRs and its or their SIG(s) are returned in the authority section,
+ along with the error, if the server is security aware. The same is
+ true for a non-existent type under an existing name except that there
+ is no error indication other than an empty answer section
+ accompanying the NXT(s). This is a change in the existing standard
+ [RFCs 1034/1035] which contemplates only NS and SOA RRs in the
+ authority section. NXT RRs will also be returned if an explicit query
+ is made for the NXT type.
+
+ The existence of a complete set of NXT records in a zone means that
+ any query for any name and any type to a security aware server
+ serving the zone will result in an reply containing at least one
+ signed RR unless it is a query for delegation point NS or glue A or
+ AAAA RRs.
+
+5.1 The NXT Resource Record
+
+ The NXT resource record is used to securely indicate that RRs with an
+ owner name in a certain name interval do not exist in a zone and to
+ indicate what RR types are present for an existing name.
+
+
+
+
+
+
+Eastlake Standards Track [Page 24]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ The owner name of the NXT RR is an existing name in the zone. It's
+ RDATA is a "next" name and a type bit map. Thus the NXT RRs in a zone
+ create a chain of all of the literal owner names in that zone,
+ including unexpanded wildcards but omitting the owner name of glue
+ address records unless they would otherwise be included. This implies
+ a canonical ordering of all domain names in a zone as described in
+ Section 8. The presence of the NXT RR means that no name between its
+ owner name and the name in its RDATA area exists and that no other
+ types exist under its owner name.
+
+ There is a potential problem with the last NXT in a zone as it wants
+ to have an owner name which is the last existing name in canonical
+ order, which is easy, but it is not obvious what name to put in its
+ RDATA to indicate the entire remainder of the name space. This is
+ handled by treating the name space as circular and putting the zone
+ name in the RDATA of the last NXT in a zone.
+
+ The NXT RRs for a zone SHOULD be automatically calculated and added
+ to the zone when SIGs are added. The NXT RR's TTL SHOULD NOT exceed
+ the zone minimum TTL.
+
+ The type number for the NXT RR is 30.
+
+ NXT RRs are only signed by zone level keys.
+
+5.2 NXT RDATA Format
+
+ The RDATA for an NXT RR consists simply of a domain name followed by
+ a bit map, as shown below.
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | next domain name /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | type bit map /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The NXT RR type bit map format currently defined is one bit per RR
+ type present for the owner name. A one bit indicates that at least
+ one RR of that type is present for the owner name. A zero indicates
+ that no such RR is present. All bits not specified because they are
+ beyond the end of the bit map are assumed to be zero. Note that bit
+ 30, for NXT, will always be on so the minimum bit map length is
+ actually four octets. Trailing zero octets are prohibited in this
+ format. The first bit represents RR type zero (an illegal type which
+ can not be present) and so will be zero in this format. This format
+ is not used if there exists an RR with a type number greater than
+
+
+
+Eastlake Standards Track [Page 25]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 127. If the zero bit of the type bit map is a one, it indicates that
+ a different format is being used which will always be the case if a
+ type number greater than 127 is present.
+
+ The domain name may be compressed with standard DNS name compression
+ when being transmitted over the network. The size of the bit map can
+ be inferred from the RDLENGTH and the length of the next domain name.
+
+5.3 Additional Complexity Due to Wildcards
+
+ Proving that a non-existent name response is correct or that a
+ wildcard expansion response is correct makes things a little more
+ complex.
+
+ In particular, when a non-existent name response is returned, an NXT
+ must be returned showing that the exact name queried did not exist
+ and, in general, one or more additional NXT's need to be returned to
+ also prove that there wasn't a wildcard whose expansion should have
+ been returned. (There is no need to return multiple copies of the
+ same NXT.) These NXTs, if any, are returned in the authority section
+ of the response.
+
+ Furthermore, if a wildcard expansion is returned in a response, in
+ general one or more NXTs needs to also be returned in the authority
+ section to prove that no more specific name (including possibly more
+ specific wildcards in the zone) existed on which the response should
+ have been based.
+
+5.4 Example
+
+ Assume zone foo.nil has entries for
+
+ big.foo.nil,
+ medium.foo.nil.
+ small.foo.nil.
+ tiny.foo.nil.
+
+ Then a query to a security aware server for huge.foo.nil would
+ produce an error reply with an RCODE of NXDOMAIN and the authority
+ section data including something like the following:
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 26]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ foo.nil. NXT big.foo.nil NS KEY SOA NXT ;prove no *.foo.nil
+ foo.nil. SIG NXT 1 2 ( ;type-cov=NXT, alg=1, labels=2
+ 19970102030405 ;signature expiration
+ 19961211100908 ;signature inception
+ 2143 ;key identifier
+ foo.nil. ;signer
+ AIYADP8d3zYNyQwW2EM4wXVFdslEJcUx/fxkfBeH1El4ixPFhpfHFElxbvKoWmvjDTCm
+ fiYy2X+8XpFjwICHc398kzWsTMKlxovpz2FnCTM= ;signature (640 bits)
+ )
+ big.foo.nil. NXT medium.foo.nil. A MX SIG NXT ;prove no huge.foo.nil
+ big.foo.nil. SIG NXT 1 3 ( ;type-cov=NXT, alg=1, labels=3
+ 19970102030405 ;signature expiration
+ 19961211100908 ;signature inception
+ 2143 ;key identifier
+ foo.nil. ;signer
+ MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgiWCn/GxHhai6VAuHAoNUz4YoU
+ 1tVfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= ;signature (640 bits)
+ )
+ Note that this response implies that big.foo.nil is an existing name
+ in the zone and thus has other RR types associated with it than NXT.
+ However, only the NXT (and its SIG) RR appear in the response to this
+ query for huge.foo.nil, which is a non-existent name.
+
+5.5 Special Considerations at Delegation Points
+
+ A name (other than root) which is the head of a zone also appears as
+ the leaf in a superzone. If both are secure, there will always be
+ two different NXT RRs with the same name. They can be easily
+ distinguished by their signers, the next domain name fields, the
+ presence of the SOA type bit, etc. Security aware servers should
+ return the correct NXT automatically when required to authenticate
+ the non-existence of a name and both NXTs, if available, on explicit
+ query for type NXT.
+
+ Non-security aware servers will never automatically return an NXT and
+ some old implementations may only return the NXT from the subzone on
+ explicit queries.
+
+5.6 Zone Transfers
+
+ The subsections below describe how full and incremental zone
+ transfers are secured.
+
+ SIG RRs secure all authoritative RRs transferred for both full and
+ incremental [RFC 1995] zone transfers. NXT RRs are an essential
+ element in secure zone transfers and assure that every authoritative
+ name and type will be present; however, if there are multiple SIGs
+ with the same name and type covered, a subset of the SIGs could be
+
+
+
+Eastlake Standards Track [Page 27]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ sent as long as at least one is present and, in the case of unsigned
+ delegation point NS or glue A or AAAA RRs a subset of these RRs or
+ simply a modified set could be sent as long as at least one of each
+ type is included.
+
+ When an incremental or full zone transfer request is received with
+ the same or newer version number than that of the server's copy of
+ the zone, it is replied to with just the SOA RR of the server's
+ current version and the SIG RRset verifying that SOA RR.
+
+ The complete NXT chains specified in this document enable a resolver
+ to obtain, by successive queries chaining through NXTs, all of the
+ names in a zone even if zone transfers are prohibited. Different
+ format NXTs may be specified in the future to avoid this.
+
+5.6.1 Full Zone Transfers
+
+ To provide server authentication that a complete transfer has
+ occurred, transaction authentication SHOULD be used on full zone
+ transfers. This provides strong server based protection for the
+ entire zone in transit.
+
+5.6.2 Incremental Zone Transfers
+
+ Individual RRs in an incremental (IXFR) transfer [RFC 1995] can be
+ verified in the same way as for a full zone transfer and the
+ integrity of the NXT name chain and correctness of the NXT type bits
+ for the zone after the incremental RR deletes and adds can check each
+ disjoint area of the zone updated. But the completeness of an
+ incremental transfer can not be confirmed because usually neither the
+ deleted RR section nor the added RR section has a compete zone NXT
+ chain. As a result, a server which securely supports IXFR must
+ handle IXFR SIG RRs for each incremental transfer set that it
+ maintains.
+
+ The IXFR SIG is calculated over the incremental zone update
+ collection of RRs in the order in which it is transmitted: old SOA,
+ then deleted RRs, then new SOA and added RRs. Within each section,
+ RRs must be ordered as specified in Section 8. If condensation of
+ adjacent incremental update sets is done by the zone owner, the
+ original IXFR SIG for each set included in the condensation must be
+ discarded and a new on IXFR SIG calculated to cover the resulting
+ condensed set.
+
+ The IXFR SIG really belongs to the zone as a whole, not to the zone
+ name. Although it SHOULD be correct for the zone name, the labels
+ field of an IXFR SIG is otherwise meaningless. The IXFR SIG is only
+ sent as part of an incremental zone transfer. After validation of
+
+
+
+Eastlake Standards Track [Page 28]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ the IXFR SIG, the transferred RRs MAY be considered valid without
+ verification of the internal SIGs if such trust in the server
+ conforms to local policy.
+
+6. How to Resolve Securely and the AD and CD Bits
+
+ Retrieving or resolving secure data from the Domain Name System (DNS)
+ involves starting with one or more trusted public keys that have been
+ staticly configured at the resolver. With starting trusted keys, a
+ resolver willing to perform cryptography can progress securely
+ through the secure DNS structure to the zone of interest as described
+ in Section 6.3. Such trusted public keys would normally be configured
+ in a manner similar to that described in Section 6.2. However, as a
+ practical matter, a security aware resolver would still gain some
+ confidence in the results it returns even if it was not configured
+ with any keys but trusted what it got from a local well known server
+ as if it were staticly configured.
+
+ Data stored at a security aware server needs to be internally
+ categorized as Authenticated, Pending, or Insecure. There is also a
+ fourth transient state of Bad which indicates that all SIG checks
+ have explicitly failed on the data. Such Bad data is not retained at
+ a security aware server. Authenticated means that the data has a
+ valid SIG under a KEY traceable via a chain of zero or more SIG and
+ KEY RRs allowed by the resolvers policies to a KEY staticly
+ configured at the resolver. Pending data has no authenticated SIGs
+ and at least one additional SIG the resolver is still trying to
+ authenticate. Insecure data is data which it is known can never be
+ either Authenticated or found Bad in the zone where it was found
+ because it is in or has been reached via a unsecured zone or because
+ it is unsigned glue address or delegation point NS data. Behavior in
+ terms of control of and flagging based on such data labels is
+ described in Section 6.1.
+
+ The proper validation of signatures requires a reasonably secure
+ shared opinion of the absolute time between resolvers and servers as
+ described in Section 6.4.
+
+6.1 The AD and CD Header Bits
+
+ Two previously unused bits are allocated out of the DNS
+ query/response format header. The AD (authentic data) bit indicates
+ in a response that all the data included in the answer and authority
+ portion of the response has been authenticated by the server
+ according to the policies of that server. The CD (checking disabled)
+ bit indicates in a query that Pending (non-authenticated) data is
+ acceptable to the resolver sending the query.
+
+
+
+
+Eastlake Standards Track [Page 29]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ These bits are allocated from the previously must-be-zero Z field as
+ follows:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ID |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ |QR| Opcode |AA|TC|RD|RA| Z|AD|CD| RCODE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QDCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ANCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | NSCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ARCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ These bits are zero in old servers and resolvers. Thus the responses
+ of old servers are not flagged as authenticated to security aware
+ resolvers and queries from non-security aware resolvers do not assert
+ the checking disabled bit and thus will be answered by security aware
+ servers only with Authenticated or Insecure data. Security aware
+ resolvers MUST NOT trust the AD bit unless they trust the server they
+ are talking to and either have a secure path to it or use DNS
+ transaction security.
+
+ Any security aware resolver willing to do cryptography SHOULD assert
+ the CD bit on all queries to permit it to impose its own policies and
+ to reduce DNS latency time by allowing security aware servers to
+ answer with Pending data.
+
+ Security aware servers MUST NOT return Bad data. For non-security
+ aware resolvers or security aware resolvers requesting service by
+ having the CD bit clear, security aware servers MUST return only
+ Authenticated or Insecure data in the answer and authority sections
+ with the AD bit set in the response. Security aware servers SHOULD
+ return Pending data, with the AD bit clear in the response, to
+ security aware resolvers requesting this service by asserting the CD
+ bit in their request. The AD bit MUST NOT be set on a response
+ unless all of the RRs in the answer and authority sections of the
+ response are either Authenticated or Insecure. The AD bit does not
+ cover the additional information section.
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 30]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+6.2 Staticly Configured Keys
+
+ The public key to authenticate a zone SHOULD be defined in local
+ configuration files before that zone is loaded at the primary server
+ so the zone can be authenticated.
+
+ While it might seem logical for everyone to start with a public key
+ associated with the root zone and staticly configure this in every
+ resolver, this has problems. The logistics of updating every DNS
+ resolver in the world should this key ever change would be severe.
+ Furthermore, many organizations will explicitly wish their "interior"
+ DNS implementations to completely trust only their own DNS servers.
+ Interior resolvers of such organizations can then go through the
+ organization's zone servers to access data outside the organization's
+ domain and need not be configured with keys above the organization's
+ DNS apex.
+
+ Host resolvers that are not part of a larger organization may be
+ configured with a key for the domain of their local ISP whose
+ recursive secure DNS caching server they use.
+
+6.3 Chaining Through The DNS
+
+ Starting with one or more trusted keys for any zone, it should be
+ possible to retrieve signed keys for that zone's subzones which have
+ a key. A secure sub-zone is indicated by a KEY RR with non-null key
+ information appearing with the NS RRs in the sub-zone and which may
+ also be present in the parent. These make it possible to descend
+ within the tree of zones.
+
+6.3.1 Chaining Through KEYs
+
+ In general, some RRset that you wish to validate in the secure DNS
+ will be signed by one or more SIG RRs. Each of these SIG RRs has a
+ signer under whose name is stored the public KEY to use in
+ authenticating the SIG. Each of those KEYs will, generally, also be
+ signed with a SIG. And those SIGs will have signer names also
+ referring to KEYs. And so on. As a result, authentication leads to
+ chains of alternating SIG and KEY RRs with the first SIG signing the
+ original data whose authenticity is to be shown and the final KEY
+ being some trusted key staticly configured at the resolver performing
+ the authentication.
+
+ In testing such a chain, the validity periods of the SIGs encountered
+ must be intersected to determine the validity period of the
+ authentication of the data, a purely algorithmic process. In
+ addition, the validation of each SIG over the data with reference to
+ a KEY must meet the objective cryptographic test implied by the
+
+
+
+Eastlake Standards Track [Page 31]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ cryptographic algorithm used (although even here the resolver may
+ have policies as to trusted algorithms and key lengths). Finally,
+ the judgement that a SIG with a particular signer name can
+ authenticate data (possibly a KEY RRset) with a particular owner
+ name, is primarily a policy question. Ultimately, this is a policy
+ local to the resolver and any clients that depend on that resolver's
+ decisions. It is, however, recommended, that the policy below be
+ adopted:
+
+ Let A < B mean that A is a shorter domain name than B formed by
+ dropping one or more whole labels from the left end of B, i.e.,
+ A is a direct or indirect superdomain of B. Let A = B mean that
+ A and B are the same domain name (i.e., are identical after
+ letter case canonicalization). Let A > B mean that A is a
+ longer domain name than B formed by adding one or more whole
+ labels on the left end of B, i.e., A is a direct or indirect
+ subdomain of B
+
+ Let Static be the owner names of the set of staticly configured
+ trusted keys at a resolver.
+
+ Then Signer is a valid signer name for a SIG authenticating an
+ RRset (possibly a KEY RRset) with owner name Owner at the
+ resolver if any of the following three rules apply:
+
+ (1) Owner > or = Signer (except that if Signer is root, Owner
+ must be root or a top level domain name). That is, Owner is the
+ same as or a subdomain of Signer.
+
+ (2) ( Owner < Signer ) and ( Signer > or = some Static ). That
+ is, Owner is a superdomain of Signer and Signer is staticly
+ configured or a subdomain of a staticly configured key.
+
+ (3) Signer = some Static. That is, the signer is exactly some
+ staticly configured key.
+
+ Rule 1 is the rule for descending the DNS tree and includes a special
+ prohibition on the root zone key due to the restriction that the root
+ zone be only one label deep. This is the most fundamental rule.
+
+ Rule 2 is the rule for ascending the DNS tree from one or more
+ staticly configured keys. Rule 2 has no effect if only root zone
+ keys are staticly configured.
+
+ Rule 3 is a rule permitting direct cross certification. Rule 3 has
+ no effect if only root zone keys are staticly configured.
+
+
+
+
+
+Eastlake Standards Track [Page 32]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ Great care should be taken that the consequences have been fully
+ considered before making any local policy adjustments to these rules
+ (other than dispensing with rules 2 and 3 if only root zone keys are
+ staticly configured).
+
+6.3.2 Conflicting Data
+
+ It is possible that there will be multiple SIG-KEY chains that appear
+ to authenticate conflicting RRset answers to the same query. A
+ resolver should choose only the most reliable answer to return and
+ discard other data. This choice of most reliable is a matter of
+ local policy which could take into account differing trust in
+ algorithms, key sizes, staticly configured keys, zones traversed,
+ etc. The technique given below is recommended for taking into
+ account SIG-KEY chain length.
+
+ A resolver should keep track of the number of successive secure zones
+ traversed from a staticly configured key starting point to any secure
+ zone it can reach. In general, the lower such a distance number is,
+ the greater the confidence in the data. Staticly configured data
+ should be given a distance number of zero. If a query encounters
+ different Authenticated data for the same query with different
+ distance values, that with a larger value should be ignored unless
+ some other local policy covers the case.
+
+ A security conscious resolver should completely refuse to step from a
+ secure zone into a unsecured zone unless the unsecured zone is
+ certified to be non-secure by the presence of an authenticated KEY RR
+ for the unsecured zone with the no-key type value. Otherwise the
+ resolver is getting bogus or spoofed data.
+
+ If legitimate unsecured zones are encountered in traversing the DNS
+ tree, then no zone can be trusted as secure that can be reached only
+ via information from such non-secure zones. Since the unsecured zone
+ data could have been spoofed, the "secure" zone reached via it could
+ be counterfeit. The "distance" to data in such zones or zones
+ reached via such zones could be set to 256 or more as this exceeds
+ the largest possible distance through secure zones in the DNS.
+
+6.4 Secure Time
+
+ Coordinated interpretation of the time fields in SIG RRs requires
+ that reasonably consistent time be available to the hosts
+ implementing the DNS security extensions.
+
+ A variety of time synchronization protocols exist including the
+ Network Time Protocol (NTP [RFC 1305, 2030]). If such protocols are
+ used, they MUST be used securely so that time can not be spoofed.
+
+
+
+Eastlake Standards Track [Page 33]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ Otherwise, for example, a host could get its clock turned back and
+ might then believe old SIG RRs, and the data they authenticate, which
+ were valid but are no longer.
+
+7. ASCII Representation of Security RRs
+
+ This section discusses the format for master file and other ASCII
+ presentation of the three DNS security resource records.
+
+ The algorithm field in KEY and SIG RRs can be represented as either
+ an unsigned integer or symbolicly. The following initial symbols are
+ defined as indicated:
+
+ Value Symbol
+
+ 001 RSAMD5
+ 002 DH
+ 003 DSA
+ 004 ECC
+ 252 INDIRECT
+ 253 PRIVATEDNS
+ 254 PRIVATEOID
+
+7.1 Presentation of KEY RRs
+
+ KEY RRs may appear as single logical lines in a zone data master file
+ [RFC 1033].
+
+ The flag field is represented as an unsigned integer or a sequence of
+ mnemonics as follows separated by instances of the verticle bar ("|")
+ character:
+
+ BIT Mnemonic Explanation
+ 0-1 key type
+ NOCONF =1 confidentiality use prohibited
+ NOAUTH =2 authentication use prohibited
+ NOKEY =3 no key present
+ 2 FLAG2 - reserved
+ 3 EXTEND flags extension
+ 4 FLAG4 - reserved
+ 5 FLAG5 - reserved
+ 6-7 name type
+ USER =0 (default, may be omitted)
+ ZONE =1
+ HOST =2 (host or other end entity)
+ NTYP3 - reserved
+ 8 FLAG8 - reserved
+ 9 FLAG9 - reserved
+
+
+
+Eastlake Standards Track [Page 34]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 10 FLAG10 - reserved
+ 11 FLAG11 - reserved
+ 12-15 signatory field, values 0 to 15
+ can be represented by SIG0, SIG1, ... SIG15
+
+ No flag mnemonic need be present if the bit or field it represents is
+ zero.
+
+ The protocol octet can be represented as either an unsigned integer
+ or symbolicly. The following initial symbols are defined:
+
+ 000 NONE
+ 001 TLS
+ 002 EMAIL
+ 003 DNSSEC
+ 004 IPSEC
+ 255 ALL
+
+ Note that if the type flags field has the NOKEY value, nothing
+ appears after the algorithm octet.
+
+ The remaining public key portion is represented in base 64 (see
+ Appendix A) and may be divided up into any number of white space
+ separated substrings, down to single base 64 digits, which are
+ concatenated to obtain the full signature. These substrings can span
+ lines using the standard parenthesis.
+
+ Note that the public key may have internal sub-fields but these do
+ not appear in the master file representation. For example, with
+ algorithm 1 there is a public exponent size, then a public exponent,
+ and then a modulus. With algorithm 254, there will be an OID size,
+ an OID, and algorithm dependent information. But in both cases only a
+ single logical base 64 string will appear in the master file.
+
+7.2 Presentation of SIG RRs
+
+ A data SIG RR may be represented as a single logical line in a zone
+ data file [RFC 1033] but there are some special considerations as
+ described below. (It does not make sense to include a transaction or
+ request authenticating SIG RR in a file as they are a transient
+ authentication that covers data including an ephemeral transaction
+ number and so must be calculated in real time.)
+
+ There is no particular problem with the signer, covered type, and
+ times. The time fields appears in the form YYYYMMDDHHMMSS where YYYY
+ is the year, the first MM is the month number (01-12), DD is the day
+ of the month (01-31), HH is the hour in 24 hours notation (00-23),
+ the second MM is the minute (00-59), and SS is the second (00-59).
+
+
+
+Eastlake Standards Track [Page 35]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ The original TTL field appears as an unsigned integer.
+
+ If the original TTL, which applies to the type signed, is the same as
+ the TTL of the SIG RR itself, it may be omitted. The date field
+ which follows it is larger than the maximum possible TTL so there is
+ no ambiguity.
+
+ The "labels" field appears as an unsigned integer.
+
+ The key tag appears as an unsigned number.
+
+ However, the signature itself can be very long. It is the last data
+ field and is represented in base 64 (see Appendix A) and may be
+ divided up into any number of white space separated substrings, down
+ to single base 64 digits, which are concatenated to obtain the full
+ signature. These substrings can be split between lines using the
+ standard parenthesis.
+
+7.3 Presentation of NXT RRs
+
+ NXT RRs do not appear in original unsigned zone master files since
+ they should be derived from the zone as it is being signed. If a
+ signed file with NXTs added is printed or NXTs are printed by
+ debugging code, they appear as the next domain name followed by the
+ RR type present bits as an unsigned interger or sequence of RR
+ mnemonics.
+
+8. Canonical Form and Order of Resource Records
+
+ This section specifies, for purposes of domain name system (DNS)
+ security, the canonical form of resource records (RRs), their name
+ order, and their overall order. A canonical name order is necessary
+ to construct the NXT name chain. A canonical form and ordering
+ within an RRset is necessary in consistently constructing and
+ verifying SIG RRs. A canonical ordering of types within a name is
+ required in connection with incremental transfer (Section 5.6.2).
+
+8.1 Canonical RR Form
+
+ For purposes of DNS security, the canonical form for an RR is the
+ wire format of the RR with domain names (1) fully expanded (no name
+ compression via pointers), (2) all domain name letters set to lower
+ case, (3) owner name wild cards in master file form (no substitution
+ made for *), and (4) the original TTL substituted for the current
+ TTL.
+
+
+
+
+
+
+Eastlake Standards Track [Page 36]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+8.2 Canonical DNS Name Order
+
+ For purposes of DNS security, the canonical ordering of owner names
+ is to sort individual labels as unsigned left justified octet strings
+ where the absence of a octet sorts before a zero value octet and
+ upper case letters are treated as lower case letters. Names in a
+ zone are sorted by sorting on the highest level label and then,
+ within those names with the same highest level label by the next
+ lower label, etc. down to leaf node labels. Within a zone, the zone
+ name itself always exists and all other names are the zone name with
+ some prefix of lower level labels. Thus the zone name itself always
+ sorts first.
+
+ Example:
+ foo.example
+ a.foo.example
+ yljkjljk.a.foo.example
+ Z.a.foo.example
+ zABC.a.FOO.EXAMPLE
+ z.foo.example
+ *.z.foo.example
+ \200.z.foo.example
+
+8.3 Canonical RR Ordering Within An RRset
+
+ Within any particular owner name and type, RRs are sorted by RDATA as
+ a left justified unsigned octet sequence where the absence of an
+ octet sorts before the zero octet.
+
+8.4 Canonical Ordering of RR Types
+
+ When RRs of the same name but different types must be ordered, they
+ are ordered by type, considering the type to be an unsigned integer,
+ except that SIG RRs are placed immediately after the type they cover.
+ Thus, for example, an A record would be put before an MX record
+ because A is type 1 and MX is type 15 but if both were signed, the
+ order would be A < SIG(A) < MX < SIG(MX).
+
+9. Conformance
+
+ Levels of server and resolver conformance are defined below.
+
+9.1 Server Conformance
+
+ Two levels of server conformance for DNS security are defined as
+ follows:
+
+
+
+
+
+Eastlake Standards Track [Page 37]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ BASIC: Basic server compliance is the ability to store and retrieve
+ (including zone transfer) SIG, KEY, and NXT RRs. Any secondary or
+ caching server for a secure zone MUST have at least basic compliance
+ and even then some things, such as secure CNAMEs, will not work
+ without full compliance.
+
+ FULL: Full server compliance adds the following to basic compliance:
+ (1) ability to read SIG, KEY, and NXT RRs in zone files and (2)
+ ability, given a zone file and private key, to add appropriate SIG
+ and NXT RRs, possibly via a separate application, (3) proper
+ automatic inclusion of SIG, KEY, and NXT RRs in responses, (4)
+ suppression of CNAME following on retrieval of the security type RRs,
+ (5) recognize the CD query header bit and set the AD query header
+ bit, as appropriate, and (6) proper handling of the two NXT RRs at
+ delegation points. Primary servers for secure zones MUST be fully
+ compliant and for complete secure operation, all secondary, caching,
+ and other servers handling the zone SHOULD be fully compliant as
+ well.
+
+9.2 Resolver Conformance
+
+ Two levels of resolver compliance (including the resolver portion of
+ a server) are defined for DNS Security:
+
+ BASIC: A basic compliance resolver can handle SIG, KEY, and NXT RRs
+ when they are explicitly requested.
+
+ FULL: A fully compliant resolver (1) understands KEY, SIG, and NXT
+ RRs including verification of SIGs at least for the mandatory
+ algorithm, (2) maintains appropriate information in its local caches
+ and database to indicate which RRs have been authenticated and to
+ what extent they have been authenticated, (3) performs additional
+ queries as necessary to attempt to obtain KEY, SIG, or NXT RRs when
+ needed, (4) normally sets the CD query header bit on its queries.
+
+10. Security Considerations
+
+ This document specifies extensions to the Domain Name System (DNS)
+ protocol to provide data integrity and data origin authentication,
+ public key distribution, and optional transaction and request
+ security.
+
+ It should be noted that, at most, these extensions guarantee the
+ validity of resource records, including KEY resource records,
+ retrieved from the DNS. They do not magically solve other security
+ problems. For example, using secure DNS you can have high confidence
+ in the IP address you retrieve for a host name; however, this does
+ not stop someone for substituting an unauthorized host at that
+
+
+
+Eastlake Standards Track [Page 38]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ address or capturing packets sent to that address and falsely
+ responding with packets apparently from that address. Any reasonably
+ complete security system will require the protection of many
+ additional facets of the Internet beyond DNS.
+
+ The implementation of NXT RRs as described herein enables a resolver
+ to determine all the names in a zone even if zone transfers are
+ prohibited (section 5.6). This is an active area of work and may
+ change.
+
+ A number of precautions in DNS implementation have evolved over the
+ years to harden the insecure DNS against spoofing. These precautions
+ should not be abandoned but should be considered to provide
+ additional protection in case of key compromise in secure DNS.
+
+11. IANA Considerations
+
+ KEY RR flag bits 2 and 8-11 and all flag extension field bits can be
+ assigned by IETF consensus as defined in RFC 2434. The remaining
+ values of the NAMTYP flag field and flag bits 4 and 5 (which could
+ conceivably become an extension of the NAMTYP field) can only be
+ assigned by an IETF Standards Action [RFC 2434].
+
+ Algorithm numbers 5 through 251 are available for assignment should
+ sufficient reason arise. However, the designation of a new algorithm
+ could have a major impact on interoperability and requires an IETF
+ Standards Action [RFC 2434]. The existence of the private algorithm
+ types 253 and 254 should satify most needs for private or proprietary
+ algorithms.
+
+ Additional values of the Protocol Octet (5-254) can be assigned by
+ IETF Consensus [RFC 2434].
+
+ The meaning of the first bit of the NXT RR "type bit map" being a one
+ can only be assigned by a standards action.
+
+References
+
+ [RFC 1033] Lottor, M., "Domain Administrators Operations Guide", RFC
+ 1033, November 1987.
+
+ [RFC 1034] Mockapetris, P., "Domain Names - Concepts and
+ Facilities", STD 13, RFC 1034, November 1987.
+
+ [RFC 1035] Mockapetris, P., "Domain Names - Implementation and
+ Specifications", STD 13, RFC 1035, November 1987.
+
+
+
+
+
+Eastlake Standards Track [Page 39]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ [RFC 1305] Mills, D., "Network Time Protocol (v3)", RFC 1305, March
+ 1992.
+
+ [RFC 1530] Malamud, C. and M. Rose, "Principles of Operation for the
+ TPC.INT Subdomain: General Principles and Policy", RFC
+ 1530, October 1993.
+
+ [RFC 2401] Kent, S. and R. Atkinson, "Security Architecture for the
+ Internet Protocol", RFC 2401, November 1998.
+
+ [RFC 1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC
+ 1982, September 1996.
+
+ [RFC 1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995,
+ August 1996.
+
+ [RFC 2030] Mills, D., "Simple Network Time Protocol (SNTP) Version 4
+ for IPv4, IPv6 and OSI", RFC 2030, October 1996.
+
+ [RFC 2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message
+ Bodies", RFC 2045, November 1996.
+
+ [RFC 2065] Eastlake, D. and C. Kaufman, "Domain Name System Security
+ Extensions", RFC 2065, January 1997.
+
+ [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC 2136] Vixie, P., Thomson, S., Rekhter, Y. and J. Bound,
+ "Dynamic Updates in the Domain Name System (DNS UPDATE)",
+ RFC 2136, April 1997.
+
+ [RFC 2137] Eastlake, D., "Secure Domain Name System Dynamic Update",
+ RFC 2137, April 1997.
+
+ [RFC 2181] Elz, R. and R. Bush, "Clarifications to the DNS
+ Specification", RFC 2181, July 1997.
+
+ [RFC 2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
+ IANA Considerations Section in RFCs", BCP 26, RFC 2434,
+ October 1998.
+
+ [RFC 2537] Eastlake, D., "RSA/MD5 KEYs and SIGs in the Domain Name
+ System (DNS)", RFC 2537, March 1999.
+
+ [RFC 2539] Eastlake, D., "Storage of Diffie-Hellman Keys in the
+ Domain Name System (DNS)", RFC 2539, March 1999.
+
+
+
+Eastlake Standards Track [Page 40]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ [RFC 2536] Eastlake, D., "DSA KEYs and SIGs in the Domain Name
+ System (DNS)", RFC 2536, March 1999.
+
+ [RFC 2538] Eastlake, D. and O. Gudmundsson, "Storing Certificates in
+ the Domain Name System", RFC 2538, March 1999.
+
+ [RFC 2541] Eastlake, D., "DNS Operational Security Considerations",
+ RFC 2541, March 1999.
+
+ [RSA FAQ] - RSADSI Frequently Asked Questions periodic posting.
+
+Author's Address
+
+ Donald E. Eastlake 3rd
+ IBM
+ 65 Shindegan Hill Road
+ RR #1
+ Carmel, NY 10512
+
+ Phone: +1-914-784-7913 (w)
+ +1-914-276-2668 (h)
+ Fax: +1-914-784-3833 (w-fax)
+ EMail: dee3@us.ibm.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 41]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+Appendix A: Base 64 Encoding
+
+ The following encoding technique is taken from [RFC 2045] by N.
+ Borenstein and N. Freed. It is reproduced here in an edited form for
+ convenience.
+
+ A 65-character subset of US-ASCII is used, enabling 6 bits to be
+ represented per printable character. (The extra 65th character, "=",
+ is used to signify a special processing function.)
+
+ The encoding process represents 24-bit groups of input bits as output
+ strings of 4 encoded characters. Proceeding from left to right, a
+ 24-bit input group is formed by concatenating 3 8-bit input groups.
+ These 24 bits are then treated as 4 concatenated 6-bit groups, each
+ of which is translated into a single digit in the base 64 alphabet.
+
+ Each 6-bit group is used as an index into an array of 64 printable
+ characters. The character referenced by the index is placed in the
+ output string.
+
+ Table 1: The Base 64 Alphabet
+
+ Value Encoding Value Encoding Value Encoding Value Encoding
+ 0 A 17 R 34 i 51 z
+ 1 B 18 S 35 j 52 0
+ 2 C 19 T 36 k 53 1
+ 3 D 20 U 37 l 54 2
+ 4 E 21 V 38 m 55 3
+ 5 F 22 W 39 n 56 4
+ 6 G 23 X 40 o 57 5
+ 7 H 24 Y 41 p 58 6
+ 8 I 25 Z 42 q 59 7
+ 9 J 26 a 43 r 60 8
+ 10 K 27 b 44 s 61 9
+ 11 L 28 c 45 t 62 +
+ 12 M 29 d 46 u 63 /
+ 13 N 30 e 47 v
+ 14 O 31 f 48 w (pad) =
+ 15 P 32 g 49 x
+ 16 Q 33 h 50 y
+
+ Special processing is performed if fewer than 24 bits are available
+ at the end of the data being encoded. A full encoding quantum is
+ always completed at the end of a quantity. When fewer than 24 input
+ bits are available in an input group, zero bits are added (on the
+ right) to form an integral number of 6-bit groups. Padding at the
+ end of the data is performed using the '=' character. Since all base
+ 64 input is an integral number of octets, only the following cases
+
+
+
+Eastlake Standards Track [Page 42]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ can arise: (1) the final quantum of encoding input is an integral
+ multiple of 24 bits; here, the final unit of encoded output will be
+ an integral multiple of 4 characters with no "=" padding, (2) the
+ final quantum of encoding input is exactly 8 bits; here, the final
+ unit of encoded output will be two characters followed by two "="
+ padding characters, or (3) the final quantum of encoding input is
+ exactly 16 bits; here, the final unit of encoded output will be three
+ characters followed by one "=" padding character.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 43]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+Appendix B: Changes from RFC 2065
+
+ This section summarizes the most important changes that have been
+ made since RFC 2065.
+
+ 1. Most of Section 7 of [RFC 2065] called "Operational
+ Considerations", has been removed and may be made into a separate
+ document [RFC 2541].
+
+ 2. The KEY RR has been changed by (2a) eliminating the "experimental"
+ flag as unnecessary, (2b) reserving a flag bit for flags
+ expansion, (2c) more compactly encoding a number of bit fields in
+ such a way as to leave unchanged bits actually used by the limited
+ code currently deployed, (2d) eliminating the IPSEC and email flag
+ bits which are replaced by values of the protocol field and adding
+ a protocol field value for DNS security itself, (2e) adding
+ material to indicate that zone KEY RRs occur only at delegation
+ points, and (2f) removing the description of the RSA/MD5 algorithm
+ to a separate document [RFC 2537]. Section 3.4 describing the
+ meaning of various combinations of "no-key" and key present KEY
+ RRs has been added and the secure / unsecure status of a zone has
+ been clarified as being per algorithm.
+
+ 3. The SIG RR has been changed by (3a) renaming the "time signed"
+ field to be the "signature inception" field, (3b) clarifying that
+ signature expiration and inception use serial number ring
+ arithmetic, (3c) changing the definition of the key footprint/tag
+ for algorithms other than 1 and adding Appendix C to specify its
+ calculation. In addition, the SIG covering type AXFR has been
+ eliminated while one covering IXFR [RFC 1995] has been added (see
+ section 5.6).
+
+ 4. Algorithm 3, the DSA algorithm, is now designated as the mandatory
+ to implement algorithm. Algorithm 1, the RSA/MD5 algorithm, is
+ now a recommended option. Algorithm 2 and 4 are designated as the
+ Diffie-Hellman key and elliptic cryptography algorithms
+ respectively, all to be defined in separate documents. Algorithm
+ code point 252 is designated to indicate "indirect" keys, to be
+ defined in a separate document, where the actual key is elsewhere.
+ Both the KEY and SIG RR definitions have been simplified by
+ eliminating the "null" algorithm 253 as defined in [RFC 2065].
+ That algorithm had been included because at the time it was
+ thought it might be useful in DNS dynamic update [RFC 2136]. It
+ was in fact not so used and it is dropped to simplify DNS
+ security. Howver, that algorithm number has been re-used to
+ indicate private algorithms where a domain name specifies the
+ algorithm.
+
+
+
+
+Eastlake Standards Track [Page 44]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+ 5. The NXT RR has been changed so that (5a) the NXT RRs in a zone
+ cover all names, including wildcards as literal names without
+ expansion, except for glue address records whose names would not
+ otherwise appear, (5b) all NXT bit map areas whose first octet has
+ bit zero set have been reserved for future definition, (5c) the
+ number of and circumstances under which an NXT must be returned in
+ connection with wildcard names has been extended, and (5d) in
+ connection with the bit map, references to the WKS RR have been
+ removed and verticle bars ("|") have been added between the RR
+ type mnemonics in the ASCII representation.
+
+ 6. Information on the canonical form and ordering of RRs has been
+ moved into a separate Section 8.
+
+ 7. A subsection covering incremental and full zone transfer has been
+ added in Section 5.
+
+ 8. Concerning DNS chaining: Further specification and policy
+ recommendations on secure resolution have been added, primarily in
+ Section 6.3.1. It is now clearly stated that authenticated data
+ has a validity period of the intersection of the validity periods
+ of the SIG RRs in its authentication chain. The requirement to
+ staticly configure a superzone's key signed by a zone in all of
+ the zone's authoritative servers has been removed. The
+ recommendation to continue DNS security checks in a secure island
+ of DNS data that is separated from other parts of the DNS tree by
+ insecure zones and does not contain a zone for which a key has
+ been staticly configured was dropped.
+
+ 9. It was clarified that the presence of the AD bit in a response
+ does not apply to the additional information section or to glue
+ address or delegation point NS RRs. The AD bit only indicates
+ that the answer and authority sections of the response are
+ authoritative.
+
+ 10. It is now required that KEY RRs and NXT RRs be signed only with
+ zone-level keys.
+
+ 11. Add IANA Considerations section and references to RFC 2434.
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 45]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+Appendix C: Key Tag Calculation
+
+ The key tag field in the SIG RR is just a means of more efficiently
+ selecting the correct KEY RR to use when there is more than one KEY
+ RR candidate available, for example, in verifying a signature. It is
+ possible for more than one candidate key to have the same tag, in
+ which case each must be tried until one works or all fail. The
+ following reference implementation of how to calculate the Key Tag,
+ for all algorithms other than algorithm 1, is in ANSI C. It is coded
+ for clarity, not efficiency. (See section 4.1.6 for how to determine
+ the Key Tag of an algorithm 1 key.)
+
+ /* assumes int is at least 16 bits
+ first byte of the key tag is the most significant byte of return
+ value
+ second byte of the key tag is the least significant byte of
+ return value
+ */
+
+ int keytag (
+
+ unsigned char key[], /* the RDATA part of the KEY RR */
+ unsigned int keysize, /* the RDLENGTH */
+ )
+ {
+ long int ac; /* assumed to be 32 bits or larger */
+
+ for ( ac = 0, i = 0; i < keysize; ++i )
+ ac += (i&1) ? key[i] : key[i]<<8;
+ ac += (ac>>16) & 0xFFFF;
+ return ac & 0xFFFF;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 46]
+
+RFC 2535 DNS Security Extensions March 1999
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (1999). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 47]
+
diff --git a/Documentation/en/rfc/rfc2646.txt b/Documentation/en/rfc/rfc2646.txt
new file mode 100644
index 00000000..cd2e8dfd
--- /dev/null
+++ b/Documentation/en/rfc/rfc2646.txt
@@ -0,0 +1,787 @@
+
+
+
+
+
+
+Network Working Group R. Gellens, Editor
+Request for Comments: 2646 Qualcomm
+Updates: 2046 August 1999
+Category: Standards Track
+
+
+ The Text/Plain Format Parameter
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (1999). All Rights Reserved.
+
+Table of Contents
+
+ 1. Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. Conventions Used in this Document . . . . . . . . . . . . . 2
+ 3. The Problem . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 3.1. Paragraph Text . . . . . . . . . . . . . . . . . . . . 3
+ 3.2. Embarrassing Line Wrap . . . . . . . . . . . . . . . . . 3
+ 3.3. New Media Types . . . . . . . . . . . . . . . . . . . . 4
+ 4. The Format Parameter to the Text/Plain Media Type . . . . . 4
+ 4.1. Generating Format=Flowed . . . . . . . . . . . . . . . 5
+ 4.2. Interpreting Format=Flowed . . . . . . . . . . . . . . . 6
+ 4.3. Usenet Signature Convention . . . . . . . . . . . . . . 7
+ 4.4. Space-Stuffing . . . . . . . . . . . . . . . . . . . . . 7
+ 4.5. Quoting . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 4.6. Digital Signatures and Encryption . . . . . . . . . . . 9
+ 4.7. Line Analysis Table . . . . . . . . . . . . . . . . . . 10
+ 4.8. Examples . . . . . . . . . . . . . . . . . . . . . . . . 10
+ 5. ABNF . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
+ 6. Failure Modes . . . . . . . . . . . . . . . . . . . . . . . 11
+ 6.1. Trailing White Space Corruption . . . . . . . . . . . . 11
+ 7. Security Considerations . . . . . . . . . . . . . . . . . . 12
+ 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . 12
+ 9. Internationalization Considerations . . . . . . . . . . . . 12
+ 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 12
+ 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
+ 12. Editor's Address . . . . . . . . . . . . . . . . . . . . . 13
+ 13. Full Copyright Statement . . . . . . . . . . . . . . . . . . 14
+
+
+
+
+Gellens Standards Track [Page 1]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+1. Abstract
+
+ Interoperability problems have been observed with erroneous labelling
+ of paragraph text as Text/Plain, and with various forms of
+ "embarrassing line wrap." (See section 3.)
+
+ Attempts to deploy new media types, such as Text/Enriched [RICH] and
+ Text/HTML [HTML] have suffered from a lack of backwards compatibility
+ and an often hostile user reaction at the receiving end.
+
+ What is required is a format which is in all significant ways
+ Text/Plain, and therefore is quite suitable for display as
+ Text/Plain, and yet allows the sender to express to the receiver
+ which lines can be considered a logical paragraph, and thus flowed
+ (wrapped and joined) as appropriate.
+
+ This memo proposes a new parameter to be used with Text/Plain, and,
+ in the presence of this parameter, the use of trailing whitespace to
+ indicate flowed lines. This results in an encoding which appears as
+ normal Text/Plain in older implementations, since it is in fact
+ normal Text/Plain.
+
+2. Conventions Used in this Document
+
+ The key words "REQUIRED", "MUST", "MUST NOT", "SHOULD", "SHOULD NOT",
+ and "MAY" in this document are to be interpreted as described in "Key
+ words for use in RFCs to Indicate Requirement Levels" [KEYWORDS].
+
+3. The Problem
+
+ The Text/Plain media type is the lowest common denominator of
+ Internet email, with lines of no more than 997 characters (by
+ convention usually no more than 80), and where the CRLF sequence
+ represents a line break [MIME-IMT].
+
+ Text/Plain is usually displayed as preformatted text, often in a
+ fixed font. That is, the characters start at the left margin of the
+ display window, and advance to the right until a CRLF sequence is
+ seen, at which point a new line is started, again at the left margin.
+ When a line length exceeds the display window, some clients will wrap
+ the line, while others invoke a horizontal scroll bar.
+
+ Text which meets this description is defined by this memo as "fixed".
+
+ Some interoperability problems have been observed with this media
+ type:
+
+
+
+
+
+Gellens Standards Track [Page 2]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+3.1. Paragraph Text
+
+ Many modern programs use a proportional-spaced font and CRLF to
+ represent paragraph breaks. Line breaks are "soft", occurring as
+ needed on display. That is, characters are grouped into a paragraph
+ until a CRLF sequence is seen, at which point a new paragraph is
+ started. Each paragraph is displayed, starting at the left margin
+ (or paragraph indent), and continuing to the right until a word is
+ encountered which does not fit in the remaining display width. This
+ word is displayed at the left margin of the next line. This
+ continues until the paragraph ends (a CRLF is seen). Extra vertical
+ space is left between paragraphs.
+
+ Text which meets this description is defined by this memo as
+ "flowed".
+
+ Numerous software products erroneously label this media type as
+ Text/Plain, resulting in much user discomfort.
+
+3.2. Embarrassing Line Wrap
+
+ As Text/Plain messages get quoted in replies or forwarded messages,
+ the length of each line gradually increases, resulting in
+ "embarrassing line wrap." This results in text which is at best hard
+ to read, and often confuses attributions.
+
+ Example:
+
+ >>>>>>This is a comment from the first message to show a
+ >quoting example.
+ >>>>>This is a comment from the second message to show a
+ >quoting example.
+ >>>>This is a comment from the third message.
+ >>>This is a comment from the fourth message.
+
+ It can be confusing to assign attribution to lines 2 and 4 above.
+
+ In addition, as devices with display widths smaller than 80
+ characters become more popular, embarrassing line wrap has become
+ even more prevalent, even with unquoted text.
+
+
+
+
+
+
+
+
+
+
+
+Gellens Standards Track [Page 3]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ Example:
+
+ This is paragraph text that is
+ meant to be flowed across
+ several lines.
+ However, the sending mailer is
+ converting it to fixed text at
+ a width of 72
+ characters, which causes it to
+ look like this when shown on a
+ PDA with only
+ 30 character lines.
+
+3.3. New Media Types
+
+ Attempts to deploy new media types, such as Text/Enriched [RICH] and
+ Text/HTML [HTML] have suffered from a lack of backwards compatibility
+ and an often hostile user reaction at the receiving end.
+
+ In particular, Text/Enriched requires that open angle brackets ("<")
+ and hard line breaks be doubled, with resulting user unhappiness when
+ viewed as Text/Plain. Text/HTML requires even more alteration of
+ text, with a corresponding increase in user complaints.
+
+ A proposal to define a new media type to explicitly represent the
+ paragraph form suffered from a lack of interoperability with
+ currently deployed software. Some programs treat unknown subtypes of
+ Text as an attachment.
+
+ What is desired is a format which is in all significant ways
+ Text/Plain, and therefore is quite suitable for display as
+ Text/Plain, and yet allows the sender to express to the receiver
+ which lines can be considered a logical paragraph, and thus flowed
+ (wrapped and joined) as appropriate.
+
+4. The Format Parameter to the Text/Plain Media Type
+
+ This document defines a new MIME parameter for use with Text/Plain:
+
+ Name: Format
+ Value: Fixed, Flowed
+
+ (Neither the parameter name nor its value are case sensitive.)
+
+ If not specified, a value of Fixed is assumed. The semantics of the
+ Fixed value are the usual associated with Text/Plain [MIME-IMT].
+
+
+
+
+
+Gellens Standards Track [Page 4]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ A value of Flowed indicates that the definition of flowed text (as
+ specified in this memo) was used on generation, and MAY be used on
+ reception.
+
+ This section discusses flowed text; section 5 provides a formal
+ definition.
+
+ Because flowed lines are all-but-indistinguishable from fixed lines,
+ currently deployed software treats flowed lines as normal Text/Plain
+ (which is what they are). Thus, no interoperability problems are
+ expected.
+
+ Note that this memo describes an on-the-wire format. It does not
+ address formats for local file storage.
+
+4.1. Generating Format=Flowed
+
+ When generating Format=Flowed text, lines SHOULD be shorter than 80
+ characters. As suggested values, any paragraph longer than 79
+ characters in total length could be wrapped using lines of 72 or
+ fewer characters. While the specific line length used is a matter of
+ aesthetics and preference, longer lines are more likely to require
+ rewrapping and to encounter difficulties with older mailers. It has
+ been suggested that 66 character lines are the most readable.
+
+ (The reason for the restriction to 79 or fewer characters between
+ CRLFs on the wire is to ensure that all lines, even when displayed by
+ a non-flowed-aware program, will fit in a standard 80-column screen
+ without having to be wrapped. The limit is 79, not 80, because while
+ 80 fit on a line, the last column is often reserved for a line-wrap
+ indicator.)
+
+ When creating flowed text, the generating agent wraps, that is,
+ inserts 'soft' line breaks as needed. Soft line breaks are added
+ between words. Because a soft line break is a SP CRLF sequence, the
+ generating agent creates one by inserting a CRLF after the occurance
+ of a space.
+
+ A generating agent SHOULD NOT insert white space into a word (a
+ sequence of printable characters not containing spaces). If faced
+ with a word which exceeds 79 characters (but less than 998
+ characters, the [SMTP] limit on line length), the agent SHOULD send
+ the word as is and exceed the 79-character limit on line length.
+
+
+
+
+
+
+
+
+Gellens Standards Track [Page 5]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ A generating agent SHOULD:
+
+ 1. Ensure all lines (fixed and flowed) are 79 characters or
+ fewer in length, counting the trailing space but not
+ counting the CRLF, unless a word by itself exceeds 79
+ characters.
+ 2. Trim spaces before user-inserted hard line breaks.
+ 3. Space-stuff lines which start with a space, "From ", or
+ ">".
+
+ In order to create messages which do not require space-stuffing, and
+ are thus more aesthetically pleasing when viewed as Format=Fixed, a
+ generating agent MAY avoid wrapping immediately before ">", "From ",
+ or space.
+
+ (See sections 4.4 and 4.5 for more information on space-stuffing and
+ quoting, respectively.)
+
+ A Format=Flowed message consists of zero or more paragraphs, each
+ containing one or more flowed lines followed by one fixed line. The
+ usual case is a series of flowed text lines with blank (empty) fixed
+ lines between them.
+
+ Any number of fixed lines can appear between paragraphs.
+
+ [Quoted-Printable] encoding SHOULD NOT be used with Format=Flowed
+ unless absolutely necessary (for example, non-US-ASCII (8-bit)
+ characters over a strictly 7-bit transport such as unextended SMTP).
+ In particular, a message SHOULD NOT be encoded in Quoted-Printable
+ for the sole purpose of protecting the trailing space on flowed lines
+ unless the body part is cryptographically signed or encrypted (see
+ Section 4.6).
+
+ The intent of Format=Flowed is to allow user agents to generate
+ flowed text which is non-obnoxious when viewed as pure, raw
+ Text/Plain (without any decoding); use of Quoted-Printable hinders
+ this and may cause Format=Flowed to be rejected by end users.
+
+4.2. Interpreting Format=Flowed
+
+ If the first character of a line is a quote mark (">"), the line is
+ considered to be quoted (see section 4.5). Logically, all quote
+ marks are counted and deleted, resulting in a line with a non-zero
+ quote depth, and content. (The agent is of course free to display the
+ content with quote marks or excerpt bars or anything else.)
+ Logically, this test for quoted lines is done before any other tests
+ (that is, before checking for space-stuffed and flowed).
+
+
+
+
+Gellens Standards Track [Page 6]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ If the first character of a line is a space, the line has been
+ space-stuffed (see section 4.4). Logically, this leading space is
+ deleted before examining the line further (that is, before checking
+ for flowed).
+
+ If the line ends in one or more spaces, the line is flowed.
+ Otherwise it is fixed. Trailing spaces are part of the line's
+ content, but the CRLF of a soft line break is not.
+
+ A series of one or more flowed lines followed by one fixed line is
+ considered a paragraph, and MAY be flowed (wrapped and unwrapped) as
+ appropriate on display and in the construction of new messages (see
+ section 4.5).
+
+ A line consisting of one or more spaces (after deleting a stuffed
+ space) is considered a flowed line.
+
+4.3. Usenet Signature Convention
+
+ There is a convention in Usenet news of using "-- " as the separator
+ line between the body and the signature of a message. When
+ generating a Format=Flowed message containing a Usenet-style
+ separator before the signature, the separator line is sent as-is.
+ This is a special case; an (optionally quoted) line consisting of
+ DASH DASH SP is not considered flowed.
+
+4.4. Space-Stuffing
+
+ In order to allow for unquoted lines which start with ">", and to
+ protect against systems which "From-munge" in-transit messages
+ (modifying any line which starts with "From " to ">From "),
+ Format=Flowed provides for space-stuffing.
+
+ Space-stuffing adds a single space to the start of any line which
+ needs protection when the message is generated. On reception, if the
+ first character of a line is a space, it is logically deleted. This
+ occurs after the test for a quoted line, and before the test for a
+ flowed line.
+
+ On generation, any unquoted lines which start with ">", and any lines
+ which start with a space or "From " SHOULD be space-stuffed. Other
+ lines MAY be space-stuffed as desired.
+
+ (Note that space-stuffing is similar to dot-stuffing as specified in
+ [SMTP].)
+
+
+
+
+
+
+Gellens Standards Track [Page 7]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ If a space-stuffed message is received by an agent which handles
+ Format=Flowed, the space-stuffing is reversed and thus the message
+ appears unchanged. An agent which is not aware of Format=Flowed will
+ of course not undo any space-stuffing, thus Format=Flowed messages
+ may appear with a leading space on some lines (those which start with
+ a space, ">" which is not a quote indicator, or "From "). Since
+ lines which require space-stuffing rarely occur, and the aesthetic
+ consequences of unreversed space-stuffing are minimal, this is not
+ expected to be a significant problem.
+
+4.5. Quoting
+
+ In Format=Flowed, the canonical quote indicator (or quote mark) is
+ one or more close angle bracket (">") characters. Lines which start
+ with the quote indicator are considered quoted. The number of ">"
+ characters at the start of the line specifies the quote depth.
+ Flowed lines which are also quoted may require special handling on
+ display and when copied to new messages.
+
+ When creating quoted flowed lines, each such line starts with the
+ quote indicator.
+
+ Note that because of space-stuffing, the lines
+ >> Exit, Stage Left
+ and
+ >>Exit, Stage Left
+ are semantically identical; both have a quote-depth of two, and a
+ content of "Exit, Stage Left".
+
+ However, the line
+ > > Exit, Stage Left
+ is different. It has a quote-depth of one, and a content of
+ "> Exit, Stage Left".
+
+ When generating quoted flowed lines, an agent needs to pay attention
+ to changes in quote depth. A sequence of quoted lines of the same
+ quote depth SHOULD be encoded as a paragraph, with the last line
+ generated as fixed and prior lines generated as flowed.
+
+ If a receiving agent wishes to reformat flowed quoted lines (joining
+ and/or wrapping them) on display or when generating new messages, the
+ lines SHOULD be de-quoted, reformatted, and then re-quoted. To
+ de-quote, the number of close angle brackets in the quote indicator
+ at the start of each line is counted. Consecutive lines with the
+ same quoting depth are considered one paragraph and are reformatted
+ together. To re-quote after reformatting, a quote indicator
+ containing the same number of close angle brackets originally present
+ is prefixed to each line.
+
+
+
+Gellens Standards Track [Page 8]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ On reception, if a change in quoting depth occurs on a flowed line,
+ this is an improperly formatted message. The receiver SHOULD handle
+ this error by using the 'quote-depth-wins' rule, which is to ignore
+ the flowed indicator and treat the line as fixed. That is, the
+ change in quote depth ends the paragraph.
+
+ For example, consider the following sequence of lines (using '*' to
+ indicate a soft line break, i.e., SP CRLF, and '#' to indicate a hard
+ line break, i.e., CRLF):
+
+ > Thou villainous ill-breeding spongy dizzy-eyed*
+ > reeky elf-skinned pigeon-egg!* <--- problem ---<
+ >> Thou artless swag-bellied milk-livered*
+ >> dismal-dreaming idle-headed scut!#
+ >>> Thou errant folly-fallen spleeny reeling-ripe*
+ >>> unmuzzled ratsbane!#
+ >>>> Henceforth, the coding style is to be strictly*
+ >>>> enforced, including the use of only upper case.#
+ >>>>> I've noticed a lack of adherence to the coding*
+ >>>>> styles, of late.#
+ >>>>>> Any complaints?#
+
+ The second line ends in a soft line break, even though it is the last
+ line of the one-deep quote block. The question then arises as to how
+ this line should be interpreted, considering that the next line is
+ the first line of the two-deep quote block.
+
+ The example text above, when processed according to quote-depth wins,
+ results in the first two lines being considered as one quoted, flowed
+ section, with a quote depth of 1; the third and fourth lines become a
+ quoted, flowed section, with a quote depth of 2.
+
+ A generating agent SHOULD NOT create this situation; a receiving
+ agent SHOULD handle it using quote-depth wins.
+
+4.6. Digital Signatures and Encryption
+
+ If a message is digitally signed or encrypted it is important that
+ cryptographic processing use the on-the-wire Format=Flowed format.
+ That is, during generation the message SHOULD be prepared for
+ transmission, including addition of soft line breaks, space-stuffing,
+ and [Quoted-Printable] encoding (to protect soft line breaks) before
+ being digitally signed or encrypted; similarly, on receipt the
+ message SHOULD have the signature verified or be decrypted before
+ [Quoted-Printable] decoding and removal of stuffed spaces, soft line
+ breaks and quote marks, and reflowing.
+
+
+
+
+
+Gellens Standards Track [Page 9]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+4.7. Line Analysis Table
+
+ Lines contained in a Text/Plain body part with Format=Flowed can be
+ analyzed by examining the start and end of the line. If the line
+ starts with the quote indicator, it is quoted. If the line ends with
+ one or more space characters, it is flowed. This is summarized by
+ the following table:
+
+ Starts Ends in
+ with One or Line
+ Quote More Spaces Type
+ ------ ----------- ---------------
+ no no unquoted, fixed
+ yes no quoted, fixed
+ no yes unquoted, flowed
+ yes yes quoted, flowed
+
+4.8. Examples
+
+ The following example contains three paragraphs:
+
+ `Take some more tea,' the March Hare said to Alice, very
+ earnestly.
+
+ `I've had nothing yet,' Alice replied in an offended tone, `so I
+ can't take more.'
+
+ `You mean you can't take LESS,' said the Hatter: `it's very easy
+ to take MORE than nothing.'
+
+ This could be encoded as follows (using '*' to indicate a soft line
+ break, that is, SP CRLF sequence, and '#' to indicate a hard line
+ break, that is, CRLF):
+
+ `Take some more tea,' the March Hare said to Alice, very*
+ earnestly.*
+ #
+ `I've had nothing yet,' Alice replied in an offended tone, `so*
+ I can't take more.'*
+ #
+ `You mean you can't take LESS,' said the Hatter: `it's very*
+ easy to take MORE than nothing.'#
+
+
+
+
+
+
+
+
+
+Gellens Standards Track [Page 10]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ To show an example of quoting, here we have the same exchange,
+ presented as a series of direct quotes:
+
+ >>>Take some more tea.#
+ >>I've had nothing yet, so I can't take more.#
+ >You mean you can't take LESS, it's very easy to take*
+ >MORE than nothing.#
+
+5. ABNF
+
+ The constructs used in Text/Plain; Format=Flowed body parts are
+ described using [ABNF], including the Core Rules:
+
+ paragraph = 1*flowed-line fixed-line
+ fixed-line = fixed / sig-sep
+ fixed = [quote] [stuffing] *text-char non-sp CRLF
+ flowed-line = flow-qt / flow-unqt
+ flow-qt = quote [stuffing] *text-char 1*SP CRLF
+ flow-unqt = [stuffing] *text-char 1*SP CRLF
+ non-sp = %x01-09 / %x0B / %x0C / %x0E-1F / %x21-7F
+ ; any 7-bit US-ASCII character, excluding
+ ; NUL, CR, LF, and SP
+ quote = 1*">"
+ sig-sep = [quote] "--" SP CRLF
+ stuffing = [SP] ; space-stuffed, added on generation if
+ ; needed, deleted on reception
+ text-char = non-sp / SP
+
+6. Failure Modes
+
+6.1. Trailing White Space Corruption
+
+ There are systems in existence which alter trailing whitespace on
+ messages which pass through them. Such systems may strip, or in
+ rarer cases, add trailing whitespace, in violation of RFC 821 [SMTP]
+ section 4.5.2.
+
+ Stripping trailing whitespace has the effect of converting flowed
+ lines to fixed lines, which results in a message no worse than if
+ Format=Flowed had not been used.
+
+ Adding trailing whitespace to a Format=Flowed message may result in a
+ malformed display or reply.
+
+ Since most systems which add trailing white space do so to create a
+ line which fills an internal record format, the result is almost
+ always a line which contains an even number of characters (counting
+ the added trailing white space).
+
+
+
+Gellens Standards Track [Page 11]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ One possible avoidance, therefore, would be to define Format=Flowed
+ lines to use either one or two trailing space characters to indicate
+ a flowed line, such that the total line length is odd. However,
+ considering the scarcity of such systems today, it is not worth the
+ added complexity.
+
+7. Security Considerations
+
+ This parameter introduces no security considerations beyond those
+ which apply to Text/Plain.
+
+ Section 4.6 discusses the interaction between Format=Flowed and
+ digital signatures or encryption.
+
+8. IANA Considerations
+
+ IANA is requested to add a reference to this specification in the
+ Text/Plain Media Type registration.
+
+9. Internationalization Considerations
+
+ The line wrap and quoting specifications of Format=Flowed may not be
+ suitable for certain charsets, such as for Arabic and Hebrew
+ characters that read from right to left. Care should be taken in
+ applying format=flowed in these cases, as format=fixed combined with
+ quoted-printable encoding may be more suitable.
+
+10. Acknowledgments
+
+ This proposal evolved from a discussion of Chris Newman's
+ Text/Paragraph draft which took place on the IETF 822 mailing list.
+ Special thanks to Ian Bell, Steve Dorner, Brian Kelley, Dan Kohn,
+ Laurence Lundblade, and Dan Wing for their reviews, comments,
+ suggestions, and discussions.
+
+11. References
+
+ [ABNF] Crocker, D. and P. Overell, "Augmented BNF for
+ Syntax Specifications: ABNF", RFC 2234, November
+ 1997.
+
+ [KEYWORDS] S. Bradner, "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RICH] Resnick, P. and A. Walker, "The text/enriched MIME
+ Content-type", RFC 1896, February 1996.
+
+
+
+
+
+Gellens Standards Track [Page 12]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+ [MIME-IMT] Freed, N. and N. Borenstein, "Multipurpose
+ Internet Mail Extensions (MIME) Part Two: Media
+ Types", RFC 2046, November 1996.
+
+ [Quoted-Printable] Freed, N. and N. Borenstein, "Multipurpose
+ Internet Mail Extensions (MIME) Part One: Format
+ of Internet Message Bodies", RFC 2045, November
+ 1996.
+
+ [SMTP] Postel, J., "Simple Mail Transfer Protocol", STD
+ 10, RFC 821, August 1982.
+
+ [HTML] Berners-Lee, T. and D. Connolly, "Hypertext Markup
+ Language -- 2.0", RFC 1866, November 1995.
+
+
+12. Editor's Address
+
+ Randall Gellens
+ QUALCOMM Incorporated
+ 5775 Morehouse Dr.
+ San Diego, CA 92121-2779
+ USA
+
+ Phone: +1 619 651 5115
+ EMail: randy@qualcomm.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gellens Standards Track [Page 13]
+
+RFC 2646 The Text/Plain Format Parameter August 1999
+
+
+13. Full Copyright Statement
+
+ Copyright (C) The Internet Society (1999). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Gellens Standards Track [Page 14]
+
diff --git a/Documentation/en/rfc/rfc2845.txt b/Documentation/en/rfc/rfc2845.txt
new file mode 100644
index 00000000..aa9f385a
--- /dev/null
+++ b/Documentation/en/rfc/rfc2845.txt
@@ -0,0 +1,843 @@
+
+
+
+
+
+
+Network Working Group P. Vixie
+Request for Comments: 2845 ISC
+Category: Standards Track O. Gudmundsson
+Updates: 1035 NAI Labs
+ D. Eastlake 3rd
+ Motorola
+ B. Wellington
+ Nominum
+ May 2000
+
+
+ Secret Key Transaction Authentication for DNS (TSIG)
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+Abstract
+
+ This protocol allows for transaction level authentication using
+ shared secrets and one way hashing. It can be used to authenticate
+ dynamic updates as coming from an approved client, or to authenticate
+ responses as coming from an approved recursive name server.
+
+ No provision has been made here for distributing the shared secrets;
+ it is expected that a network administrator will statically configure
+ name servers and clients using some out of band mechanism such as
+ sneaker-net until a secure automated mechanism for key distribution
+ is available.
+
+1 - Introduction
+
+ 1.1. The Domain Name System (DNS) [RFC1034, RFC1035] is a replicated
+ hierarchical distributed database system that provides information
+ fundamental to Internet operations, such as name <=> address
+ translation and mail handling information. DNS has recently been
+ extended [RFC2535] to provide for data origin authentication, and
+ public key distribution, all based on public key cryptography and
+ public key based digital signatures. To be practical, this form of
+
+
+
+
+Vixie, et al. Standards Track [Page 1]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ security generally requires extensive local caching of keys and
+ tracing of authentication through multiple keys and signatures to a
+ pre-trusted locally configured key.
+
+ 1.2. One difficulty with the [RFC2535] scheme is that common DNS
+ implementations include simple "stub" resolvers which do not have
+ caches. Such resolvers typically rely on a caching DNS server on
+ another host. It is impractical for these stub resolvers to perform
+ general [RFC2535] authentication and they would naturally depend on
+ their caching DNS server to perform such services for them. To do so
+ securely requires secure communication of queries and responses.
+ [RFC2535] provides public key transaction signatures to support this,
+ but such signatures are very expensive computationally to generate.
+ In general, these require the same complex public key logic that is
+ impractical for stubs. This document specifies use of a message
+ authentication code (MAC), specifically HMAC-MD5 (a keyed hash
+ function), to provide an efficient means of point-to-point
+ authentication and integrity checking for transactions.
+
+ 1.3. A second area where use of straight [RFC2535] public key based
+ mechanisms may be impractical is authenticating dynamic update
+ [RFC2136] requests. [RFC2535] provides for request signatures but
+ with [RFC2535] they, like transaction signatures, require
+ computationally expensive public key cryptography and complex
+ authentication logic. Secure Domain Name System Dynamic Update
+ ([RFC2137]) describes how different keys are used in dynamically
+ updated zones. This document's secret key based MACs can be used to
+ authenticate DNS update requests as well as transaction responses,
+ providing a lightweight alternative to the protocol described by
+ [RFC2137].
+
+ 1.4. A further use of this mechanism is to protect zone transfers.
+ In this case the data covered would be the whole zone transfer
+ including any glue records sent. The protocol described by [RFC2535]
+ does not protect glue records and unsigned records unless SIG(0)
+ (transaction signature) is used.
+
+ 1.5. The authentication mechanism proposed in this document uses
+ shared secret keys to establish a trust relationship between two
+ entities. Such keys must be protected in a fashion similar to
+ private keys, lest a third party masquerade as one of the intended
+ parties (forge MACs). There is an urgent need to provide simple and
+ efficient authentication between clients and local servers and this
+ proposal addresses that need. This proposal is unsuitable for
+ general server to server authentication for servers which speak with
+ many other servers, since key management would become unwieldy with
+
+
+
+
+
+Vixie, et al. Standards Track [Page 2]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ the number of shared keys going up quadratically. But it is suitable
+ for many resolvers on hosts that only talk to a few recursive
+ servers.
+
+ 1.6. A server acting as an indirect caching resolver -- a "forwarder"
+ in common usage -- might use transaction-based authentication when
+ communicating with its small number of preconfigured "upstream"
+ servers. Other uses of DNS secret key authentication and possible
+ systems for automatic secret key distribution may be proposed in
+ separate future documents.
+
+ 1.7. New Assigned Numbers
+
+ RRTYPE = TSIG (250)
+ ERROR = 0..15 (a DNS RCODE)
+ ERROR = 16 (BADSIG)
+ ERROR = 17 (BADKEY)
+ ERROR = 18 (BADTIME)
+
+ 1.8. The key words "MUST", "REQUIRED", "SHOULD", "RECOMMENDED", and
+ "MAY" in this document are to be interpreted as described in [RFC
+ 2119].
+
+2 - TSIG RR Format
+
+ 2.1 TSIG RR Type
+
+ To provide secret key authentication, we use a new RR type whose
+ mnemonic is TSIG and whose type code is 250. TSIG is a meta-RR and
+ MUST not be cached. TSIG RRs are used for authentication between DNS
+ entities that have established a shared secret key. TSIG RRs are
+ dynamically computed to cover a particular DNS transaction and are
+ not DNS RRs in the usual sense.
+
+ 2.2 TSIG Calculation
+
+ As the TSIG RRs are related to one DNS request/response, there is no
+ value in storing or retransmitting them, thus the TSIG RR is
+ discarded once it has been used to authenticate a DNS message. The
+ only message digest algorithm specified in this document is "HMAC-
+ MD5" (see [RFC1321], [RFC2104]). The "HMAC-MD5" algorithm is
+ mandatory to implement for interoperability. Other algorithms can be
+ specified at a later date. Names and definitions of new algorithms
+ MUST be registered with IANA. All multi-octet integers in the TSIG
+ record are sent in network byte order (see [RFC1035 2.3.2]).
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 3]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ 2.3. Record Format
+
+ NAME The name of the key used in domain name syntax. The name
+ should reflect the names of the hosts and uniquely identify
+ the key among a set of keys these two hosts may share at any
+ given time. If hosts A.site.example and B.example.net share a
+ key, possibilities for the key name include
+ <id>.A.site.example, <id>.B.example.net, and
+ <id>.A.site.example.B.example.net. It should be possible for
+ more than one key to be in simultaneous use among a set of
+ interacting hosts. The name only needs to be meaningful to
+ the communicating hosts but a meaningful mnemonic name as
+ above is strongly recommended.
+
+ The name may be used as a local index to the key involved and
+ it is recommended that it be globally unique. Where a key is
+ just shared between two hosts, its name actually only need
+ only be meaningful to them but it is recommended that the key
+ name be mnemonic and incorporate the resolver and server host
+ names in that order.
+
+ TYPE TSIG (250: Transaction SIGnature)
+
+ CLASS ANY
+
+ TTL 0
+
+ RdLen (variable)
+
+ RDATA
+
+ Field Name Data Type Notes
+ --------------------------------------------------------------
+ Algorithm Name domain-name Name of the algorithm
+ in domain name syntax.
+ Time Signed u_int48_t seconds since 1-Jan-70 UTC.
+ Fudge u_int16_t seconds of error permitted
+ in Time Signed.
+ MAC Size u_int16_t number of octets in MAC.
+ MAC octet stream defined by Algorithm Name.
+ Original ID u_int16_t original message ID
+ Error u_int16_t expanded RCODE covering
+ TSIG processing.
+ Other Len u_int16_t length, in octets, of
+ Other Data.
+ Other Data octet stream empty unless Error == BADTIME
+
+
+
+
+
+Vixie, et al. Standards Track [Page 4]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ 2.4. Example
+
+ NAME HOST.EXAMPLE.
+
+ TYPE TSIG
+
+ CLASS ANY
+
+ TTL 0
+
+ RdLen as appropriate
+
+ RDATA
+
+ Field Name Contents
+ -------------------------------------
+ Algorithm Name SAMPLE-ALG.EXAMPLE.
+ Time Signed 853804800
+ Fudge 300
+ MAC Size as appropriate
+ MAC as appropriate
+ Original ID as appropriate
+ Error 0 (NOERROR)
+ Other Len 0
+ Other Data empty
+
+3 - Protocol Operation
+
+ 3.1. Effects of adding TSIG to outgoing message
+
+ Once the outgoing message has been constructed, the keyed message
+ digest operation can be performed. The resulting message digest will
+ then be stored in a TSIG which is appended to the additional data
+ section (the ARCOUNT is incremented to reflect this). If the TSIG
+ record cannot be added without causing the message to be truncated,
+ the server MUST alter the response so that a TSIG can be included.
+ This response consists of only the question and a TSIG record, and
+ has the TC bit set and RCODE 0 (NOERROR). The client SHOULD at this
+ point retry the request using TCP (per [RFC1035 4.2.2]).
+
+ 3.2. TSIG processing on incoming messages
+
+ If an incoming message contains a TSIG record, it MUST be the last
+ record in the additional section. Multiple TSIG records are not
+ allowed. If a TSIG record is present in any other position, the
+ packet is dropped and a response with RCODE 1 (FORMERR) MUST be
+ returned. Upon receipt of a message with a correctly placed TSIG RR,
+ the TSIG RR is copied to a safe location, removed from the DNS
+
+
+
+Vixie, et al. Standards Track [Page 5]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ Message, and decremented out of the DNS message header's ARCOUNT. At
+ this point the keyed message digest operation is performed. If the
+ algorithm name or key name is unknown to the recipient, or if the
+ message digests do not match, the whole DNS message MUST be
+ discarded. If the message is a query, a response with RCODE 9
+ (NOTAUTH) MUST be sent back to the originator with TSIG ERROR 17
+ (BADKEY) or TSIG ERROR 16 (BADSIG). If no key is available to sign
+ this message it MUST be sent unsigned (MAC size == 0 and empty MAC).
+ A message to the system operations log SHOULD be generated, to warn
+ the operations staff of a possible security incident in progress.
+ Care should be taken to ensure that logging of this type of event
+ does not open the system to a denial of service attack.
+
+ 3.3. Time values used in TSIG calculations
+
+ The data digested includes the two timer values in the TSIG header in
+ order to defend against replay attacks. If this were not done, an
+ attacker could replay old messages but update the "Time Signed" and
+ "Fudge" fields to make the message look new. This data is named
+ "TSIG Timers", and for the purpose of digest calculation they are
+ invoked in their "on the wire" format, in the following order: first
+ Time Signed, then Fudge. For example:
+
+Field Name Value Wire Format Meaning
+----------------------------------------------------------------------
+Time Signed 853804800 00 00 32 e4 07 00 Tue Jan 21 00:00:00 1997
+Fudge 300 01 2C 5 minutes
+
+ 3.4. TSIG Variables and Coverage
+
+ When generating or verifying the contents of a TSIG record, the
+ following data are digested, in network byte order or wire format, as
+ appropriate:
+
+ 3.4.1. DNS Message
+
+ A whole and complete DNS message in wire format, before the TSIG RR
+ has been added to the additional data section and before the DNS
+ Message Header's ARCOUNT field has been incremented to contain the
+ TSIG RR. If the message ID differs from the original message ID, the
+ original message ID is substituted for the message ID. This could
+ happen when forwarding a dynamic update request, for example.
+
+
+
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 6]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ 3.4.2. TSIG Variables
+
+Source Field Name Notes
+-----------------------------------------------------------------------
+TSIG RR NAME Key name, in canonical wire format
+TSIG RR CLASS (Always ANY in the current specification)
+TSIG RR TTL (Always 0 in the current specification)
+TSIG RDATA Algorithm Name in canonical wire format
+TSIG RDATA Time Signed in network byte order
+TSIG RDATA Fudge in network byte order
+TSIG RDATA Error in network byte order
+TSIG RDATA Other Len in network byte order
+TSIG RDATA Other Data exactly as transmitted
+
+ The RR RDLEN and RDATA MAC Length are not included in the hash since
+ they are not guaranteed to be knowable before the MAC is generated.
+
+ The Original ID field is not included in this section, as it has
+ already been substituted for the message ID in the DNS header and
+ hashed.
+
+ For each label type, there must be a defined "Canonical wire format"
+ that specifies how to express a label in an unambiguous way. For
+ label type 00, this is defined in [RFC2535], for label type 01, this
+ is defined in [RFC2673]. The use of label types other than 00 and 01
+ is not defined for this specification.
+
+ 3.4.3. Request MAC
+
+ When generating the MAC to be included in a response, the request MAC
+ must be included in the digest. The request's MAC is digested in
+ wire format, including the following fields:
+
+ Field Type Description
+ ---------------------------------------------------
+ MAC Length u_int16_t in network byte order
+ MAC Data octet stream exactly as transmitted
+
+ 3.5. Padding
+
+ Digested components are fed into the hashing function as a continuous
+ octet stream with no interfield padding.
+
+
+
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 7]
+
+RFC 2845 DNS TSIG May 2000
+
+
+4 - Protocol Details
+
+ 4.1. TSIG generation on requests
+
+ Client performs the message digest operation and appends a TSIG
+ record to the additional data section and transmits the request to
+ the server. The client MUST store the message digest from the
+ request while awaiting an answer. The digest components for a
+ request are:
+
+ DNS Message (request)
+ TSIG Variables (request)
+
+ Note that some older name servers will not accept requests with a
+ nonempty additional data section. Clients SHOULD only attempt signed
+ transactions with servers who are known to support TSIG and share
+ some secret key with the client -- so, this is not a problem in
+ practice.
+
+ 4.2. TSIG on Answers
+
+ When a server has generated a response to a signed request, it signs
+ the response using the same algorithm and key. The server MUST not
+ generate a signed response to an unsigned request. The digest
+ components are:
+
+ Request MAC
+ DNS Message (response)
+ TSIG Variables (response)
+
+ 4.3. TSIG on TSIG Error returns
+
+ When a server detects an error relating to the key or MAC, the server
+ SHOULD send back an unsigned error message (MAC size == 0 and empty
+ MAC). If an error is detected relating to the TSIG validity period,
+ the server SHOULD send back a signed error message. The digest
+ components are:
+
+ Request MAC (if the request MAC validated)
+ DNS Message (response)
+ TSIG Variables (response)
+
+ The reason that the request is not included in this digest in some
+ cases is to make it possible for the client to verify the error. If
+ the error is not a TSIG error the response MUST be generated as
+ specified in [4.2].
+
+
+
+
+
+Vixie, et al. Standards Track [Page 8]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ 4.4. TSIG on TCP connection
+
+ A DNS TCP session can include multiple DNS envelopes. This is, for
+ example, commonly used by zone transfer. Using TSIG on such a
+ connection can protect the connection from hijacking and provide data
+ integrity. The TSIG MUST be included on the first and last DNS
+ envelopes. It can be optionally placed on any intermediary
+ envelopes. It is expensive to include it on every envelopes, but it
+ MUST be placed on at least every 100'th envelope. The first envelope
+ is processed as a standard answer, and subsequent messages have the
+ following digest components:
+
+ Prior Digest (running)
+ DNS Messages (any unsigned messages since the last TSIG)
+ TSIG Timers (current message)
+
+ This allows the client to rapidly detect when the session has been
+ altered; at which point it can close the connection and retry. If a
+ client TSIG verification fails, the client MUST close the connection.
+ If the client does not receive TSIG records frequently enough (as
+ specified above) it SHOULD assume the connection has been hijacked
+ and it SHOULD close the connection. The client SHOULD treat this the
+ same way as they would any other interrupted transfer (although the
+ exact behavior is not specified).
+
+ 4.5. Server TSIG checks
+
+ Upon receipt of a message, server will check if there is a TSIG RR.
+ If one exists, the server is REQUIRED to return a TSIG RR in the
+ response. The server MUST perform the following checks in the
+ following order, check KEY, check TIME values, check MAC.
+
+ 4.5.1. KEY check and error handling
+
+ If a non-forwarding server does not recognize the key used by the
+ client, the server MUST generate an error response with RCODE 9
+ (NOTAUTH) and TSIG ERROR 17 (BADKEY). This response MUST be unsigned
+ as specified in [4.3]. The server SHOULD log the error.
+
+ 4.5.2. TIME check and error handling
+
+ If the server time is outside the time interval specified by the
+ request (which is: Time Signed, plus/minus Fudge), the server MUST
+ generate an error response with RCODE 9 (NOTAUTH) and TSIG ERROR 18
+ (BADTIME). The server SHOULD also cache the most recent time signed
+ value in a message generated by a key, and SHOULD return BADTIME if a
+ message received later has an earlier time signed value. A response
+ indicating a BADTIME error MUST be signed by the same key as the
+
+
+
+Vixie, et al. Standards Track [Page 9]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ request. It MUST include the client's current time in the time
+ signed field, the server's current time (a u_int48_t) in the other
+ data field, and 6 in the other data length field. This is done so
+ that the client can verify a message with a BADTIME error without the
+ verification failing due to another BADTIME error. The data signed
+ is specified in [4.3]. The server SHOULD log the error.
+
+ 4.5.3. MAC check and error handling
+
+ If a TSIG fails to verify, the server MUST generate an error response
+ as specified in [4.3] with RCODE 9 (NOTAUTH) and TSIG ERROR 16
+ (BADSIG). This response MUST be unsigned as specified in [4.3]. The
+ server SHOULD log the error.
+
+ 4.6. Client processing of answer
+
+ When a client receives a response from a server and expects to see a
+ TSIG, it first checks if the TSIG RR is present in the response.
+ Otherwise, the response is treated as having a format error and
+ discarded. The client then extracts the TSIG, adjusts the ARCOUNT,
+ and calculates the keyed digest in the same way as the server. If
+ the TSIG does not validate, that response MUST be discarded, unless
+ the RCODE is 9 (NOTAUTH), in which case the client SHOULD attempt to
+ verify the response as if it were a TSIG Error response, as specified
+ in [4.3]. A message containing an unsigned TSIG record or a TSIG
+ record which fails verification SHOULD not be considered an
+ acceptable response; the client SHOULD log an error and continue to
+ wait for a signed response until the request times out.
+
+ 4.6.1. Key error handling
+
+ If an RCODE on a response is 9 (NOTAUTH), and the response TSIG
+ validates, and the TSIG key is different from the key used on the
+ request, then this is a KEY error. The client MAY retry the request
+ using the key specified by the server. This should never occur, as a
+ server MUST NOT sign a response with a different key than signed the
+ request.
+
+ 4.6.2. Time error handling
+
+ If the response RCODE is 9 (NOTAUTH) and the TSIG ERROR is 18
+ (BADTIME), or the current time does not fall in the range specified
+ in the TSIG record, then this is a TIME error. This is an indication
+ that the client and server clocks are not synchronized. In this case
+ the client SHOULD log the event. DNS resolvers MUST NOT adjust any
+ clocks in the client based on BADTIME errors, but the server's time
+ in the other data field SHOULD be logged.
+
+
+
+
+Vixie, et al. Standards Track [Page 10]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ 4.6.3. MAC error handling
+
+ If the response RCODE is 9 (NOTAUTH) and TSIG ERROR is 16 (BADSIG),
+ this is a MAC error, and client MAY retry the request with a new
+ request ID but it would be better to try a different shared key if
+ one is available. Client SHOULD keep track of how many MAC errors
+ are associated with each key. Clients SHOULD log this event.
+
+ 4.7. Special considerations for forwarding servers
+
+ A server acting as a forwarding server of a DNS message SHOULD check
+ for the existence of a TSIG record. If the name on the TSIG is not
+ of a secret that the server shares with the originator the server
+ MUST forward the message unchanged including the TSIG. If the name
+ of the TSIG is of a key this server shares with the originator, it
+ MUST process the TSIG. If the TSIG passes all checks, the forwarding
+ server MUST, if possible, include a TSIG of his own, to the
+ destination or the next forwarder. If no transaction security is
+ available to the destination and the response has the AD flag (see
+ [RFC2535]), the forwarder MUST unset the AD flag before adding the
+ TSIG to the answer.
+
+5 - Shared Secrets
+
+ 5.1. Secret keys are very sensitive information and all available
+ steps should be taken to protect them on every host on which they are
+ stored. Generally such hosts need to be physically protected. If
+ they are multi-user machines, great care should be taken that
+ unprivileged users have no access to keying material. Resolvers
+ often run unprivileged, which means all users of a host would be able
+ to see whatever configuration data is used by the resolver.
+
+ 5.2. A name server usually runs privileged, which means its
+ configuration data need not be visible to all users of the host. For
+ this reason, a host that implements transaction-based authentication
+ should probably be configured with a "stub resolver" and a local
+ caching and forwarding name server. This presents a special problem
+ for [RFC2136] which otherwise depends on clients to communicate only
+ with a zone's authoritative name servers.
+
+ 5.3. Use of strong random shared secrets is essential to the security
+ of TSIG. See [RFC1750] for a discussion of this issue. The secret
+ should be at least as long as the keyed message digest, i.e. 16 bytes
+ for HMAC-MD5 or 20 bytes for HMAC-SHA1.
+
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 11]
+
+RFC 2845 DNS TSIG May 2000
+
+
+6 - Security Considerations
+
+ 6.1. The approach specified here is computationally much less
+ expensive than the signatures specified in [RFC2535]. As long as the
+ shared secret key is not compromised, strong authentication is
+ provided for the last hop from a local name server to the user
+ resolver.
+
+ 6.2. Secret keys should be changed periodically. If the client host
+ has been compromised, the server should suspend the use of all
+ secrets known to that client. If possible, secrets should be stored
+ in encrypted form. Secrets should never be transmitted in the clear
+ over any network. This document does not address the issue on how to
+ distribute secrets. Secrets should never be shared by more than two
+ entities.
+
+ 6.3. This mechanism does not authenticate source data, only its
+ transmission between two parties who share some secret. The original
+ source data can come from a compromised zone master or can be
+ corrupted during transit from an authentic zone master to some
+ "caching forwarder." However, if the server is faithfully performing
+ the full [RFC2535] security checks, then only security checked data
+ will be available to the client.
+
+ 6.4. A fudge value that is too large may leave the server open to
+ replay attacks. A fudge value that is too small may cause failures
+ if machines are not time synchronized or there are unexpected network
+ delays. The recommended value in most situation is 300 seconds.
+
+7 - IANA Considerations
+
+ IANA is expected to create and maintain a registry of algorithm names
+ to be used as "Algorithm Names" as defined in Section 2.3. The
+ initial value should be "HMAC-MD5.SIG-ALG.REG.INT". Algorithm names
+ are text strings encoded using the syntax of a domain name. There is
+ no structure required other than names for different algorithms must
+ be unique when compared as DNS names, i.e., comparison is case
+ insensitive. Note that the initial value mentioned above is not a
+ domain name, and therefore need not be a registered name within the
+ DNS. New algorithms are assigned using the IETF Consensus policy
+ defined in RFC 2434. The algorithm name HMAC-MD5.SIG-ALG.REG.INT
+ looks like a FQDN for historical reasons; future algorithm names are
+ expected to be simple (i.e., single-component) names.
+
+
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 12]
+
+RFC 2845 DNS TSIG May 2000
+
+
+ IANA is expected to create and maintain a registry of "TSIG Error
+ values" to be used for "Error" values as defined in section 2.3.
+ Initial values should be those defined in section 1.7. New TSIG
+ error codes for the TSIG error field are assigned using the IETF
+ Consensus policy defined in RFC 2434.
+
+8 - References
+
+ [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ STD 13, RFC 1034, November 1987.
+
+ [RFC1035] Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1034, November 1987.
+
+ [RFC1321] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321,
+ April 1992.
+
+ [RFC1750] Eastlake, D., Crocker, S. and J. Schiller, "Randomness
+ Recommendations for Security", RFC 1750, December 1995.
+
+ [RFC2104] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC-MD5:
+ Keyed-MD5 for Message Authentication", RFC 2104, February
+ 1997.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2136] Vixie, P., Thomson, S., Rekhter, Y. and J. Bound "Dynamic
+ Updates in the Domain Name System", RFC 2136, April 1997.
+
+ [RFC2137] Eastlake 3rd, D., "Secure Domain Name System Dynamic
+ Update", RFC 2137, April 1997.
+
+ [RFC2535] Eastlake, D., "Domain Name System Security Extensions",
+ RFC 2535, March 1999.
+
+ [RFC2673] Crawford, M., "Binary Labels in the Domain Name System",
+ RFC 2673, August 1999.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 13]
+
+RFC 2845 DNS TSIG May 2000
+
+
+9 - Authors' Addresses
+
+ Paul Vixie
+ Internet Software Consortium
+ 950 Charter Street
+ Redwood City, CA 94063
+
+ Phone: +1 650 779 7001
+ EMail: vixie@isc.org
+
+
+ Olafur Gudmundsson
+ NAI Labs
+ 3060 Washington Road, Route 97
+ Glenwood, MD 21738
+
+ Phone: +1 443 259 2389
+ EMail: ogud@tislabs.com
+
+
+ Donald E. Eastlake 3rd
+ Motorola
+ 140 Forest Avenue
+ Hudson, MA 01749 USA
+
+ Phone: +1 508 261 5434
+ EMail: dee3@torque.pothole.com
+
+
+ Brian Wellington
+ Nominum, Inc.
+ 950 Charter Street
+ Redwood City, CA 94063
+
+ Phone: +1 650 779 6022
+ EMail: Brian.Wellington@nominum.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 14]
+
+RFC 2845 DNS TSIG May 2000
+
+
+10 Full Copyright Statement
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Vixie, et al. Standards Track [Page 15]
+
diff --git a/Documentation/en/rfc/rfc2931.txt b/Documentation/en/rfc/rfc2931.txt
new file mode 100644
index 00000000..84cc97e2
--- /dev/null
+++ b/Documentation/en/rfc/rfc2931.txt
@@ -0,0 +1,563 @@
+
+
+
+
+
+
+Network Working Group D. Eastlake 3rd
+Request for Comments: 2931 Motorola
+Updates: 2535 September 2000
+Category: Standards Track
+
+
+ DNS Request and Transaction Signatures ( SIG(0)s )
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+Abstract
+
+ Extensions to the Domain Name System (DNS) are described in [RFC
+ 2535] that can provide data origin and transaction integrity and
+ authentication to security aware resolvers and applications through
+ the use of cryptographic digital signatures.
+
+ Implementation experience has indicated the need for minor but non-
+ interoperable changes in Request and Transaction signature resource
+ records ( SIG(0)s ). These changes are documented herein.
+
+Acknowledgments
+
+ The contributions and suggestions of the following persons (in
+ alphabetic order) to this memo are gratefully acknowledged:
+
+ Olafur Gudmundsson
+
+ Ed Lewis
+
+ Erik Nordmark
+
+ Brian Wellington
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 1]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+Table of Contents
+
+ 1. Introduction................................................. 2
+ 2. SIG(0) Design Rationale...................................... 3
+ 2.1 Transaction Authentication.................................. 3
+ 2.2 Request Authentication...................................... 3
+ 2.3 Keying...................................................... 3
+ 2.4 Differences Between TSIG and SIG(0)......................... 4
+ 3. The SIG(0) Resource Record................................... 4
+ 3.1 Calculating Request and Transaction SIGs.................... 5
+ 3.2 Processing Responses and SIG(0) RRs......................... 6
+ 3.3 SIG(0) Lifetime and Expiration.............................. 7
+ 4. Security Considerations...................................... 7
+ 5. IANA Considerations.......................................... 7
+ References...................................................... 7
+ Author's Address................................................ 8
+ Appendix: SIG(0) Changes from RFC 2535.......................... 9
+ Full Copyright Statement........................................ 10
+
+1. Introduction
+
+ This document makes minor but non-interoperable changes to part of
+ [RFC 2535], familiarity with which is assumed, and includes
+ additional explanatory text. These changes concern SIG Resource
+ Records (RRs) that are used to digitally sign DNS requests and
+ transactions / responses. Such a resource record, because it has a
+ type covered field of zero, is frequently called a SIG(0). The
+ changes are based on implementation and attempted implementation
+ experience with TSIG [RFC 2845] and the [RFC 2535] specification for
+ SIG(0).
+
+ Sections of [RFC 2535] updated are all of 4.1.8.1 and parts of 4.2
+ and 4.3. No changes are made herein related to the KEY or NXT RRs or
+ to the processing involved with data origin and denial authentication
+ for DNS data.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC 2119].
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 2]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+2. SIG(0) Design Rationale
+
+ SIG(0) provides protection for DNS transactions and requests that is
+ not provided by the regular SIG, KEY, and NXT RRs specified in [RFC
+ 2535]. The authenticated data origin services of secure DNS either
+ provide protected data resource records (RRs) or authenticatably deny
+ their nonexistence. These services provide no protection for glue
+ records, DNS requests, no protection for message headers on requests
+ or responses, and no protection of the overall integrity of a
+ response.
+
+2.1 Transaction Authentication
+
+ Transaction authentication means that a requester can be sure it is
+ at least getting the messages from the server it queried and that the
+ received messages are in response to the query it sent. This is
+ accomplished by optionally adding either a TSIG RR [RFC 2845] or, as
+ described herein, a SIG(0) resource record at the end of the response
+ which digitally signs the concatenation of the server's response and
+ the corresponding resolver query.
+
+2.2 Request Authentication
+
+ Requests can also be authenticated by including a TSIG or, as
+ described herein, a special SIG(0) RR at the end of the request.
+ Authenticating requests serves no function in DNS servers that
+ predate the specification of dynamic update. Requests with a non-
+ empty additional information section produce error returns or may
+ even be ignored by a few such older DNS servers. However, this syntax
+ for signing requests is defined for authenticating dynamic update
+ requests [RFC 2136], TKEY requests [RFC 2930], or future requests
+ requiring authentication.
+
+2.3 Keying
+
+ The private keys used in transaction security belong to the host
+ composing the DNS response message, not to the zone involved.
+ Request authentication may also involve the private key of the host
+ or other entity composing the request or of a zone to be affected by
+ the request or other private keys depending on the request authority
+ it is sought to establish. The corresponding public key(s) are
+ normally stored in and retrieved from the DNS for verification as KEY
+ RRs with a protocol byte of 3 (DNSSEC) or 255 (ANY).
+
+ Because requests and replies are highly variable, message
+ authentication SIGs can not be pre-calculated. Thus it will be
+ necessary to keep the private key on-line, for example in software or
+ in a directly connected piece of hardware.
+
+
+
+Eastlake Standards Track [Page 3]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+2.4 Differences Between TSIG and SIG(0)
+
+ There are significant differences between TSIG and SIG(0).
+
+ Because TSIG involves secret keys installed at both the requester and
+ server the presence of such a key implies that the other party
+ understands TSIG and very likely has the same key installed.
+ Furthermore, TSIG uses keyed hash authentication codes which are
+ relatively inexpensive to compute. Thus it is common to authenticate
+ requests with TSIG and responses are authenticated with TSIG if the
+ corresponding request is authenticated.
+
+ SIG(0) on the other hand, uses public key authentication, where the
+ public keys are stored in DNS as KEY RRs and a private key is stored
+ at the signer. Existence of such a KEY RR does not necessarily imply
+ implementation of SIG(0). In addition, SIG(0) involves relatively
+ expensive public key cryptographic operations that should be
+ minimized and the verification of a SIG(0) involves obtaining and
+ verifying the corresponding KEY which can be an expensive and lengthy
+ operation. Indeed, a policy of using SIG(0) on all requests and
+ verifying it before responding would, for some configurations, lead
+ to a deadly embrace with the attempt to obtain and verify the KEY
+ needed to authenticate the request SIG(0) resulting in additional
+ requests accompanied by a SIG(0) leading to further requests
+ accompanied by a SIG(0), etc. Furthermore, omitting SIG(0)s when not
+ required on requests halves the number of public key operations
+ required by the transaction.
+
+ For these reasons, SIG(0)s SHOULD only be used on requests when
+ necessary to authenticate that the requester has some required
+ privilege or identity. SIG(0)s on replies are defined in such a way
+ as to not require a SIG(0) on the corresponding request and still
+ provide transaction protection. For other replies, whether they are
+ authenticated by the server or required to be authenticated by the
+ requester SHOULD be a local configuration option.
+
+3. The SIG(0) Resource Record
+
+ The structure of and type number of SIG resource records (RRs) is
+ given in [RFC 2535] Section 4.1. However all of Section 4.1.8.1 and
+ the parts of Sections 4.2 and 4.3 related to SIG(0) should be
+ considered replaced by the material below. Any conflict between [RFC
+ 2535] and this document concerning SIG(0) RRs should be resolved in
+ favor of this document.
+
+ For all transaction SIG(0)s, the signer field MUST be a name of the
+ originating host and there MUST be a KEY RR at that name with the
+ public key corresponding to the private key used to calculate the
+
+
+
+Eastlake Standards Track [Page 4]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+ signature. (The host domain name used may be the inverse IP address
+ mapping name for an IP address of the host if the relevant KEY is
+ stored there.)
+
+ For all SIG(0) RRs, the owner name, class, TTL, and original TTL, are
+ meaningless. The TTL fields SHOULD be zero and the CLASS field
+ SHOULD be ANY. To conserve space, the owner name SHOULD be root (a
+ single zero octet). When SIG(0) authentication on a response is
+ desired, that SIG RR MUST be considered the highest priority of any
+ additional information for inclusion in the response. If the SIG(0)
+ RR cannot be added without causing the message to be truncated, the
+ server MUST alter the response so that a SIG(0) can be included.
+ This response consists of only the question and a SIG(0) record, and
+ has the TC bit set and RCODE 0 (NOERROR). The client should at this
+ point retry the request using TCP.
+
+3.1 Calculating Request and Transaction SIGs
+
+ A DNS request may be optionally signed by including one SIG(0)s at
+ the end of the query additional information section. Such a SIG is
+ identified by having a "type covered" field of zero. It signs the
+ preceding DNS request message including DNS header but not including
+ the UDP/IP header and before the request RR counts have been adjusted
+ for the inclusions of the request SIG(0).
+
+ It is calculated by using a "data" (see [RFC 2535], Section 4.1.8) of
+ (1) the SIG's RDATA section entirely omitting (not just zeroing) the
+ signature subfield itself, (2) the DNS query messages, including DNS
+ header, but not the UDP/IP header and before the reply RR counts have
+ been adjusted for the inclusion of the SIG(0). That is
+
+ data = RDATA | request - SIG(0)
+
+ where "|" is concatenation and RDATA is the RDATA of the SIG(0) being
+ calculated less the signature itself.
+
+ Similarly, a SIG(0) can be used to secure a response and the request
+ that produced it. Such transaction signatures are calculated by
+ using a "data" of (1) the SIG's RDATA section omitting the signature
+ itself, (2) the entire DNS query message that produced this response,
+ including the query's DNS header but not its UDP/IP header, and (3)
+ the entire DNS response message, including DNS header but not the
+ UDP/IP header and before the response RR counts have been adjusted
+ for the inclusion of the SIG(0).
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 5]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+ That is
+
+ data = RDATA | full query | response - SIG(0)
+
+ where "|" is concatenation and RDATA is the RDATA of the SIG(0) being
+ calculated less the signature itself.
+
+ Verification of a response SIG(0) (which is signed by the server host
+ key, not the zone key) by the requesting resolver shows that the
+ query and response were not tampered with in transit, that the
+ response corresponds to the intended query, and that the response
+ comes from the queried server.
+
+ In the case of a DNS message via TCP, a SIG(0) on the first data
+ packet is calculated with "data" as above and for each subsequent
+ packet, it is calculated as follows:
+
+ data = RDATA | DNS payload - SIG(0) | previous packet
+
+ where "|" is concatenations, RDATA is as above, and previous packet
+ is the previous DNS payload including DNS header and the SIG(0) but
+ not the TCP/IP header. Support of SIG(0) for TCP is OPTIONAL. As an
+ alternative, TSIG may be used after, if necessary, setting up a key
+ with TKEY [RFC 2930].
+
+ Except where needed to authenticate an update, TKEY, or similar
+ privileged request, servers are not required to check a request
+ SIG(0).
+
+ Note: requests and responses can either have a single TSIG or one
+ SIG(0) but not both a TSIG and a SIG(0).
+
+3.2 Processing Responses and SIG(0) RRs
+
+ If a SIG RR is at the end of the additional information section of a
+ response and has a type covered of zero, it is a transaction
+ signature covering the response and the query that produced the
+ response. For TKEY responses, it MUST be checked and the message
+ rejected if the checks fail unless otherwise specified for the TKEY
+ mode in use. For all other responses, it MAY be checked and the
+ message rejected if the checks fail.
+
+ If a response's SIG(0) check succeed, such a transaction
+ authentication SIG does NOT directly authenticate the validity any
+ data-RRs in the message. However, it authenticates that they were
+ sent by the queried server and have not been diddled. (Only a proper
+ SIG(0) RR signed by the zone or a key tracing its authority to the
+ zone or to static resolver configuration can directly authenticate
+
+
+
+Eastlake Standards Track [Page 6]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+ data-RRs, depending on resolver policy.) If a resolver or server does
+ not implement transaction and/or request SIGs, it MUST ignore them
+ without error where they are optional and treat them as failing where
+ they are required.
+
+3.3 SIG(0) Lifetime and Expiration
+
+ The inception and expiration times in SIG(0)s are for the purpose of
+ resisting replay attacks. They should be set to form a time bracket
+ such that messages outside that bracket can be ignored. In IP
+ networks, this time bracket should not normally extend further than 5
+ minutes into the past and 5 minutes into the future.
+
+4. Security Considerations
+
+ No additional considerations beyond those in [RFC 2535].
+
+ The inclusion of the SIG(0) inception and expiration time under the
+ signature improves resistance to replay attacks.
+
+5. IANA Considerations
+
+ No new parameters are created or parameter values assigned by this
+ document.
+
+References
+
+ [RFC 1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982,
+ September 1996.
+
+ [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC 2136] Vixie, P., Thomson, S., Rekhter, Y. and J. Bound, "Dynamic
+ Updates in the Domain Name System (DNS UPDATE)", RFC 2136,
+ April 1997.
+
+ [RFC 2535] Eastlake, D., "Domain Name System Security Extensions",
+ RFC 2535, March 1999.
+
+ [RFC 2845] Vixie, P., Gudmundsson, O., Eastlake, D. and B.
+ Wellington, "Secret Key Transaction Signatures for DNS
+ (TSIG)", RFC 2845, May 2000.
+
+ [RFC 2930] Eastlake, D., "Secret Key Establishment for DNS (RR)", RFC
+ 2930, September 2000.
+
+
+
+
+
+Eastlake Standards Track [Page 7]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+Author's Address
+
+ Donald E. Eastlake 3rd
+ Motorola
+ 140 Forest Avenue
+ Hudson, MA 01749 USA
+
+ Phone: +1-978-562-2827(h)
+ +1-508-261-5434(w)
+ Fax: +1 978-567-7941(h)
+ +1-508-261-4447(w)
+ EMail: Donald.Eastlake@motorola.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 8]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+Appendix: SIG(0) Changes from RFC 2535
+
+ Add explanatory text concerning the differences between TSIG and
+ SIG(0).
+
+ Change the data over which SIG(0) is calculated to include the SIG(0)
+ RDATA other than the signature itself so as to secure the signature
+ inception and expiration times and resist replay attacks. Specify
+ SIG(0) for TCP.
+
+ Add discussion of appropriate inception and expiration times for
+ SIG(0).
+
+ Add wording to indicate that either a TSIG or one or more SIG(0)s may
+ be present but not both.
+
+ Reword some areas for clarity.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 9]
+
+RFC 2931 DNS SIG(0) September 2000
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Eastlake Standards Track [Page 10]
+
diff --git a/Documentation/en/rfc/rfc3007.txt b/Documentation/en/rfc/rfc3007.txt
new file mode 100644
index 00000000..16974753
--- /dev/null
+++ b/Documentation/en/rfc/rfc3007.txt
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+Network Working Group B. Wellington
+Request for Comments: 3007 Nominum
+Updates: 2535, 2136 November 2000
+Obsoletes: 2137
+Category: Standards Track
+
+
+ Secure Domain Name System (DNS) Dynamic Update
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+Abstract
+
+ This document proposes a method for performing secure Domain Name
+ System (DNS) dynamic updates. The method described here is intended
+ to be flexible and useful while requiring as few changes to the
+ protocol as possible. The authentication of the dynamic update
+ message is separate from later DNSSEC validation of the data. Secure
+ communication based on authenticated requests and transactions is
+ used to provide authorization.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [RFC2119].
+
+1 - Introduction
+
+ This document defines a means to secure dynamic updates of the Domain
+ Name System (DNS), allowing only authorized sources to make changes
+ to a zone's contents. The existing unsecured dynamic update
+ operations form the basis for this work.
+
+ Familiarity with the DNS system [RFC1034, RFC1035] and dynamic update
+ [RFC2136] is helpful and is assumed by this document. In addition,
+ knowledge of DNS security extensions [RFC2535], SIG(0) transaction
+ security [RFC2535, RFC2931], and TSIG transaction security [RFC2845]
+ is recommended.
+
+
+
+
+Wellington Standards Track [Page 1]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+ This document updates portions of RFC 2535, in particular section
+ 3.1.2, and RFC 2136. This document obsoletes RFC 2137, an alternate
+ proposal for secure dynamic update, due to implementation experience.
+
+1.1 - Overview of DNS Dynamic Update
+
+ DNS dynamic update defines a new DNS opcode and a new interpretation
+ of the DNS message if that opcode is used. An update can specify
+ insertions or deletions of data, along with prerequisites necessary
+ for the updates to occur. All tests and changes for a DNS update
+ request are restricted to a single zone, and are performed at the
+ primary server for the zone. The primary server for a dynamic zone
+ must increment the zone SOA serial number when an update occurs or
+ before the next retrieval of the SOA.
+
+1.2 - Overview of DNS Transaction Security
+
+ Exchanges of DNS messages which include TSIG [RFC2845] or SIG(0)
+ [RFC2535, RFC2931] records allow two DNS entities to authenticate DNS
+ requests and responses sent between them. A TSIG MAC (message
+ authentication code) is derived from a shared secret, and a SIG(0) is
+ generated from a private key whose public counterpart is stored in
+ DNS. In both cases, a record containing the message signature/MAC is
+ included as the final resource record in a DNS message. Keyed
+ hashes, used in TSIG, are inexpensive to calculate and verify.
+ Public key encryption, as used in SIG(0), is more scalable as the
+ public keys are stored in DNS.
+
+1.3 - Comparison of data authentication and message authentication
+
+ Message based authentication, using TSIG or SIG(0), provides
+ protection for the entire message with a single signing and single
+ verification which, in the case of TSIG, is a relatively inexpensive
+ MAC creation and check. For update requests, this signature can
+ establish, based on policy or key negotiation, the authority to make
+ the request.
+
+ DNSSEC SIG records can be used to protect the integrity of individual
+ RRs or RRsets in a DNS message with the authority of the zone owner.
+ However, this cannot sufficiently protect the dynamic update request.
+
+ Using SIG records to secure RRsets in an update request is
+ incompatible with the design of update, as described below, and would
+ in any case require multiple expensive public key signatures and
+ verifications.
+
+
+
+
+
+
+Wellington Standards Track [Page 2]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+ SIG records do not cover the message header, which includes record
+ counts. Therefore, it is possible to maliciously insert or remove
+ RRsets in an update request without causing a verification failure.
+
+ If SIG records were used to protect the prerequisite section, it
+ would be impossible to determine whether the SIGs themselves were a
+ prerequisite or simply used for validation.
+
+ In the update section of an update request, signing requests to add
+ an RRset is straightforward, and this signature could be permanently
+ used to protect the data, as specified in [RFC2535]. However, if an
+ RRset is deleted, there is no data for a SIG to cover.
+
+1.4 - Data and message signatures
+
+ As specified in [RFC3008], the DNSSEC validation process performed by
+ a resolver MUST NOT process any non-zone keys unless local policy
+ dictates otherwise. When performing secure dynamic update, all zone
+ data modified in a signed zone MUST be signed by a relevant zone key.
+ This completely disassociates authentication of an update request
+ from authentication of the data itself.
+
+ The primary usefulness of host and user keys, with respect to DNSSEC,
+ is to authenticate messages, including dynamic updates. Thus, host
+ and user keys MAY be used to generate SIG(0) records to authenticate
+ updates and MAY be used in the TKEY [RFC2930] process to generate
+ TSIG shared secrets. In both cases, no SIG records generated by
+ non-zone keys will be used in a DNSSEC validation process unless
+ local policy dictates.
+
+ Authentication of data, once it is present in DNS, only involves
+ DNSSEC zone keys and signatures generated by them.
+
+1.5 - Signatory strength
+
+ [RFC2535, section 3.1.2] defines the signatory field of a key as the
+ final 4 bits of the flags field, but does not define its value. This
+ proposal leaves this field undefined. Updating [RFC2535], this field
+ SHOULD be set to 0 in KEY records, and MUST be ignored.
+
+2 - Authentication
+
+ TSIG or SIG(0) records MUST be included in all secure dynamic update
+ messages. This allows the server to verifiably determine the
+ originator of a message. If the message contains authentication in
+ the form of a SIG(0), the identity of the sender (that is, the
+ principal) is the owner of the KEY RR that generated the SIG(0). If
+ the message contains a TSIG generated by a statically configured
+
+
+
+Wellington Standards Track [Page 3]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+ shared secret, the principal is the same as or derived from the
+ shared secret name. If the message contains a TSIG generated by a
+ dynamically configured shared secret, the principal is the same as
+ the one that authenticated the TKEY process; if the TKEY process was
+ unauthenticated, no information is known about the principal, and the
+ associated TSIG shared secret MUST NOT be used for secure dynamic
+ update.
+
+ SIG(0) signatures SHOULD NOT be generated by zone keys, since
+ transactions are initiated by a host or user, not a zone.
+
+ DNSSEC SIG records (other than SIG(0)) MAY be included in an update
+ message, but MUST NOT be used to authenticate the update request.
+
+ If an update fails because it is signed with an unauthorized key, the
+ server MUST indicate failure by returning a message with RCODE
+ REFUSED. Other TSIG, SIG(0), or dynamic update errors are returned
+ as specified in the appropriate protocol description.
+
+3 - Policy
+
+ All policy is configured by the zone administrator and enforced by
+ the zone's primary name server. Policy dictates the authorized
+ actions that an authenticated principal can take. Policy checks are
+ based on the principal and the desired action, where the principal is
+ derived from the message signing key and applied to dynamic update
+ messages signed with that key.
+
+ The server's policy defines criteria which determine if the key used
+ to sign the update is permitted to perform the requested updates. By
+ default, a principal MUST NOT be permitted to make any changes to
+ zone data; any permissions MUST be enabled though configuration.
+
+ The policy is fully implemented in the primary zone server's
+ configuration for several reasons. This removes limitations imposed
+ by encoding policy into a fixed number of bits (such as the KEY RR's
+ signatory field). Policy is only relevant in the server applying it,
+ so there is no reason to expose it. Finally, a change in policy or a
+ new type of policy should not affect the DNS protocol or data format,
+ and should not cause interoperability failures.
+
+3.1 - Standard policies
+
+ Implementations SHOULD allow access control policies to use the
+ principal as an authorization token, and MAY also allow policies to
+ grant permission to a signed message regardless of principal.
+
+
+
+
+
+Wellington Standards Track [Page 4]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+ A common practice would be to restrict the permissions of a principal
+ by domain name. That is, a principal could be permitted to add,
+ delete, or modify entries corresponding to one or more domain names.
+ Implementations SHOULD allow per-name access control, and SHOULD
+ provide a concise representation of the principal's own name, its
+ subdomains, and all names in the zone.
+
+ Additionally, a server SHOULD allow restricting updates by RR type,
+ so that a principal could add, delete, or modify specific record
+ types at certain names. Implementations SHOULD allow per-type access
+ control, and SHOULD provide concise representations of all types and
+ all "user" types, where a user type is defined as one that does not
+ affect the operation of DNS itself.
+
+3.1.1 - User types
+
+ User types include all data types except SOA, NS, SIG, and NXT. SOA
+ and NS records SHOULD NOT be modified by normal users, since these
+ types create or modify delegation points. The addition of SIG
+ records can lead to attacks resulting in additional workload for
+ resolvers, and the deletion of SIG records could lead to extra work
+ for the server if the zone SIG was deleted. Note that these records
+ are not forbidden, but not recommended for normal users.
+
+ NXT records MUST NOT be created, modified, or deleted by dynamic
+ update, as their update may cause instability in the protocol. This
+ is an update to RFC 2136.
+
+ Issues concerning updates of KEY records are discussed in the
+ Security Considerations section.
+
+3.2 - Additional policies
+
+ Users are free to implement any policies. Policies may be as
+ specific or general as desired, and as complex as desired. They may
+ depend on the principal or any other characteristics of the signed
+ message.
+
+4 - Interaction with DNSSEC
+
+ Although this protocol does not change the way updates to secure
+ zones are processed, there are a number of issues that should be
+ clarified.
+
+
+
+
+
+
+
+
+Wellington Standards Track [Page 5]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+4.1 - Adding SIGs
+
+ An authorized update request MAY include SIG records with each RRset.
+ Since SIG records (except SIG(0) records) MUST NOT be used for
+ authentication of the update message, they are not required.
+
+ If a principal is authorized to update SIG records and there are SIG
+ records in the update, the SIG records are added without
+ verification. The server MAY examine SIG records and drop SIGs with
+ a temporal validity period in the past.
+
+4.2 - Deleting SIGs
+
+ If a principal is authorized to update SIG records and the update
+ specifies the deletion of SIG records, the server MAY choose to
+ override the authority and refuse the update. For example, the
+ server may allow all SIG records not generated by a zone key to be
+ deleted.
+
+4.3 - Non-explicit updates to SIGs
+
+ If the updated zone is secured, the RRset affected by an update
+ operation MUST, at the completion of the update, be signed in
+ accordance with the zone's signing policy. This will usually require
+ one or more SIG records to be generated by one or more zone keys
+ whose private components MUST be online [RFC3008].
+
+ When the contents of an RRset are updated, the server MAY delete all
+ associated SIG records, since they will no longer be valid.
+
+4.4 - Effects on the zone
+
+ If any changes are made, the server MUST, if necessary, generate a
+ new SOA record and new NXT records, and sign these with the
+ appropriate zone keys. Changes to NXT records by secure dynamic
+ update are explicitly forbidden. SOA updates are allowed, since the
+ maintenance of SOA parameters is outside of the scope of the DNS
+ protocol.
+
+5 - Security Considerations
+
+ This document requires that a zone key and possibly other
+ cryptographic secret material be held in an on-line, network-
+ connected host, most likely a name server. This material is at the
+ mercy of host security to remain a secret. Exposing this secret puts
+ DNS data at risk of masquerade attacks. The data at risk is that in
+ both zones served by the machine and delegated from this machine.
+
+
+
+
+Wellington Standards Track [Page 6]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+ Allowing updates of KEY records may lead to undesirable results,
+ since a principal may be allowed to insert a public key without
+ holding the private key, and possibly masquerade as the key owner.
+
+6 - Acknowledgements
+
+ The author would like to thank the following people for review and
+ informative comments (in alphabetical order):
+
+ Harald Alvestrand
+ Donald Eastlake
+ Olafur Gudmundsson
+ Andreas Gustafsson
+ Bob Halley
+ Stuart Kwan
+ Ed Lewis
+
+7 - References
+
+ [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ STD 13, RFC 1034, November 1987.
+
+ [RFC1035] Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1035, November 1987.
+
+ [RFC2136] Vixie (Ed.), P., Thomson, S., Rekhter, Y. and J. Bound,
+ "Dynamic Updates in the Domain Name System", RFC 2136,
+ April 1997.
+
+ [RFC2137] Eastlake, D., "Secure Domain Name System Dynamic Update",
+ RFC 2137, April 1997.
+
+ [RFC2535] Eastlake, G., "Domain Name System Security Extensions",
+ RFC 2535, March 1999.
+
+ [RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D. and B.
+ Wellington, "Secret Key Transaction Signatures for DNS
+ (TSIG)", RFC 2845, May 2000.
+
+ [RFC2930] Eastlake, D., "Secret Key Establishment for DNS (TKEY
+ RR)", RFC 2930, September 2000.
+
+ [RFC2931] Eastlake, D., "DNS Request and Transaction Signatures
+ (SIG(0)s)", RFC 2931, September 2000.
+
+ [RFC3008] Wellington, B., "Domain Name System Security (DNSSEC)
+ Signing Authority", RFC 3008, November 2000.
+
+
+
+
+Wellington Standards Track [Page 7]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+8 - Author's Address
+
+ Brian Wellington
+ Nominum, Inc.
+ 950 Charter Street
+ Redwood City, CA 94063
+
+ Phone: +1 650 381 6022
+ EMail: Brian.Wellington@nominum.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Wellington Standards Track [Page 8]
+
+RFC 3007 Secure Dynamic Update November 2000
+
+
+9. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Wellington Standards Track [Page 9]
+
diff --git a/Documentation/en/rfc/rfc3008.txt b/Documentation/en/rfc/rfc3008.txt
new file mode 100644
index 00000000..08a4a8fa
--- /dev/null
+++ b/Documentation/en/rfc/rfc3008.txt
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+Network Working Group B. Wellington
+Request for Comments: 3008 Nominum
+Updates: 2535 November 2000
+Category: Standards Track
+
+
+ Domain Name System Security (DNSSEC) Signing Authority
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+Abstract
+
+ This document proposes a revised model of Domain Name System Security
+ (DNSSEC) Signing Authority. The revised model is designed to clarify
+ earlier documents and add additional restrictions to simplify the
+ secure resolution process. Specifically, this affects the
+ authorization of keys to sign sets of records.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [RFC2119].
+
+1 - Introduction
+
+ This document defines additional restrictions on DNSSEC signatures
+ (SIG) records relating to their authority to sign associated data.
+ The intent is to establish a standard policy followed by a secure
+ resolver; this policy can be augmented by local rules. This builds
+ upon [RFC2535], updating section 2.3.6 of that document.
+
+ The most significant change is that in a secure zone, zone data is
+ required to be signed by the zone key.
+
+ Familiarity with the DNS system [RFC1034, RFC1035] and the DNS
+ security extensions [RFC2535] is assumed.
+
+
+
+
+
+
+Wellington Standards Track [Page 1]
+
+RFC 3008 DNSSEC Signing Authority November 2000
+
+
+2 - The SIG Record
+
+ A SIG record is normally associated with an RRset, and "covers" (that
+ is, demonstrates the authenticity and integrity of) the RRset. This
+ is referred to as a "data SIG". Note that there can be multiple SIG
+ records covering an RRset, and the same validation process should be
+ repeated for each of them. Some data SIGs are considered "material",
+ that is, relevant to a DNSSEC capable resolver, and some are
+ "immaterial" or "extra-DNSSEC", as they are not relevant to DNSSEC
+ validation. Immaterial SIGs may have application defined roles. SIG
+ records may exist which are not bound to any RRset; these are also
+ considered immaterial. The validation process determines which SIGs
+ are material; once a SIG is shown to be immaterial, no other
+ validation is necessary.
+
+ SIGs may also be used for transaction security. In this case, a SIG
+ record with a type covered field of 0 is attached to a message, and
+ is used to protect message integrity. This is referred to as a
+ SIG(0) [RFC2535, RFC2931].
+
+ The following sections define requirements for all of the fields of a
+ SIG record. These requirements MUST be met in order for a DNSSEC
+ capable resolver to process this signature. If any of these
+ requirements are not met, the SIG cannot be further processed.
+ Additionally, once a KEY has been identified as having generated this
+ SIG, there are requirements that it MUST meet.
+
+2.1 - Type Covered
+
+ For a data SIG, the type covered MUST be the same as the type of data
+ in the associated RRset. For a SIG(0), the type covered MUST be 0.
+
+2.2 - Algorithm Number
+
+ The algorithm specified in a SIG MUST be recognized by the client,
+ and it MUST be an algorithm that has a defined SIG rdata format.
+
+2.3 - Labels
+
+ The labels count MUST be less than or equal to the number of labels
+ in the SIG owner name, as specified in [RFC2535, section 4.1.3].
+
+2.4 - Original TTL
+
+ The original TTL MUST be greater than or equal to the TTL of the SIG
+ record itself, since the TTL cannot be increased by intermediate
+ servers. This field can be ignored for SIG(0) records.
+
+
+
+
+Wellington Standards Track [Page 2]
+
+RFC 3008 DNSSEC Signing Authority November 2000
+
+
+2.5 - Signature Expiration and Inception
+
+ The current time at the time of validation MUST lie within the
+ validity period bounded by the inception and expiration times.
+
+2.6 - Key Tag
+
+ There are no restrictions on the Key Tag field, although it is
+ possible that future algorithms will impose constraints.
+
+2.7 - Signer's Name
+
+ The signer's name field of a data SIG MUST contain the name of the
+ zone to which the data and signature belong. The combination of
+ signer's name, key tag, and algorithm MUST identify a zone key if the
+ SIG is to be considered material. The only exception that the
+ signer's name field in a SIG KEY at a zone apex SHOULD contain the
+ parent zone's name, unless the KEY set is self-signed. This document
+ defines a standard policy for DNSSEC validation; local policy may
+ override the standard policy.
+
+ There are no restrictions on the signer field of a SIG(0) record.
+ The combination of signer's name, key tag, and algorithm MUST
+ identify a key if this SIG(0) is to be processed.
+
+2.8 - Signature
+
+ There are no restrictions on the signature field. The signature will
+ be verified at some point, but does not need to be examined prior to
+ verification unless a future algorithm imposes constraints.
+
+3 - The Signing KEY Record
+
+ Once a signature has been examined and its fields validated (but
+ before the signature has been verified), the resolver attempts to
+ locate a KEY that matches the signer name, key tag, and algorithm
+ fields in the SIG. If one is not found, the SIG cannot be verified
+ and is considered immaterial. If KEYs are found, several fields of
+ the KEY record MUST have specific values if the SIG is to be
+ considered material and authorized. If there are multiple KEYs, the
+ following checks are performed on all of them, as there is no way to
+ determine which one generated the signature until the verification is
+ performed.
+
+
+
+
+
+
+
+
+Wellington Standards Track [Page 3]
+
+RFC 3008 DNSSEC Signing Authority November 2000
+
+
+3.1 - Type Flags
+
+ The signing KEY record MUST have a flags value of 00 or 01
+ (authentication allowed, confidentiality optional) [RFC2535, 3.1.2].
+ A DNSSEC resolver MUST only trust signatures generated by keys that
+ are permitted to authenticate data.
+
+3.2 - Name Flags
+
+ The interpretation of this field is considerably different for data
+ SIGs and SIG(0) records.
+
+3.2.1 - Data SIG
+
+ If the SIG record covers an RRset, the name type of the associated
+ KEY MUST be 01 (zone) [RFC2535, 3.1.2]. This updates RFC 2535,
+ section 2.3.6. The DNSSEC validation process performed by a resolver
+ MUST ignore all keys that are not zone keys unless local policy
+ dictates otherwise.
+
+ The primary reason that RFC 2535 allows host and user keys to
+ generate material DNSSEC signatures is to allow dynamic update
+ without online zone keys; that is, avoid storing private keys in an
+ online server. The desire to avoid online signing keys cannot be
+ achieved, though, because they are necessary to sign NXT and SOA sets
+ [RFC3007]. These online zone keys can sign any incoming data.
+ Removing the goal of having no online keys removes the reason to
+ allow host and user keys to generate material signatures.
+
+ Limiting material signatures to zone keys simplifies the validation
+ process. The length of the verification chain is bounded by the
+ name's label depth. The authority of a key is clearly defined; a
+ resolver does not need to make a potentially complicated decision to
+ determine whether a key has the proper authority to sign data.
+
+ Finally, there is no additional flexibility granted by allowing
+ host/user key generated material signatures. As long as users and
+ hosts have the ability to authenticate update requests to the primary
+ zone server, signatures by zone keys are sufficient to protect the
+ integrity of the data to the world at large.
+
+3.2.2 - SIG(0)
+
+ If the SIG record is a SIG(0) protecting a message, the name type of
+ the associated KEY SHOULD be 00 (user) or 10 (host/entity).
+ Transactions are initiated by a host or user, not a zone, so zone
+ keys SHOULD not generate SIG(0) records.
+
+
+
+
+Wellington Standards Track [Page 4]
+
+RFC 3008 DNSSEC Signing Authority November 2000
+
+
+ A client is either explicitly executed by a user or on behalf of a
+ host, therefore the name type of a SIG(0) generated by a client
+ SHOULD be either user or host. A nameserver is associated with a
+ host, and its use of SIG(0) is not associated with a particular zone,
+ so the name type of a SIG(0) generated by a nameserver SHOULD be
+ host.
+
+3.3 - Signatory Flags
+
+ This document does not assign any values to the signatory field, nor
+ require any values to be present.
+
+3.4 - Protocol
+
+ The signing KEY record MUST have a protocol value of 3 (DNSSEC) or
+ 255 (ALL). If a key is not specified for use with DNSSEC, a DNSSEC
+ resolver MUST NOT trust any signature that it generates.
+
+3.5 - Algorithm Number
+
+ The algorithm field MUST be identical to that of the generated SIG
+ record, and MUST meet all requirements for an algorithm value in a
+ SIG record.
+
+4 - Security Considerations
+
+ This document defines a standard baseline for a DNSSEC capable
+ resolver. This is necessary for a thorough security analysis of
+ DNSSEC, if one is to be done.
+
+ Specifically, this document places additional restrictions on SIG
+ records that a resolver must validate before the signature can be
+ considered worthy of DNSSEC trust. This simplifies the protocol,
+ making it more robust and able to withstand scrutiny by the security
+ community.
+
+5 - Acknowledgements
+
+ The author would like to thank the following people for review and
+ informative comments (in alphabetical order):
+
+ Olafur Gudmundsson
+ Ed Lewis
+
+
+
+
+
+
+
+
+Wellington Standards Track [Page 5]
+
+RFC 3008 DNSSEC Signing Authority November 2000
+
+
+6 - References
+
+ [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ STD 13, RFC 1034, November 1987.
+
+ [RFC1035] Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1035, November 1987.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2136] Vixie (Ed.), P., Thomson, S., Rekhter, Y. and J. Bound,
+ "Dynamic Updates in the Domain Name System", RFC 2136,
+ April 1997.
+
+ [RFC2535] Eastlake, D., "Domain Name System Security Extensions",
+ RFC 2535, March 1999.
+
+ [RFC2931] Eastlake, D., "DNS Request and Transaction Signatures
+ (SIG(0)s )", RFC 2931, September 2000.
+
+ [RFC3007] Wellington, B., "Simple Secure Domain Name System
+ (DNS) Dynamic Update", RFC 3007, November 2000.
+
+7 - Author's Address
+
+ Brian Wellington
+ Nominum, Inc.
+ 950 Charter Street
+ Redwood City, CA 94063
+
+ Phone: +1 650 381 6022
+ EMail: Brian.Wellington@nominum.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Wellington Standards Track [Page 6]
+
+RFC 3008 DNSSEC Signing Authority November 2000
+
+
+8 Full Copyright Statement
+
+ Copyright (C) The Internet Society (2000). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Wellington Standards Track [Page 7]
+
diff --git a/Documentation/en/rfc/rfc3023.txt b/Documentation/en/rfc/rfc3023.txt
new file mode 100644
index 00000000..7507859a
--- /dev/null
+++ b/Documentation/en/rfc/rfc3023.txt
@@ -0,0 +1,2187 @@
+
+
+
+
+
+
+Network Working Group M. Murata
+Request for Comments: 3023 IBM Tokyo Research Laboratory
+Obsoletes: 2376 S. St.Laurent
+Updates: 2048 simonstl.com
+Category: Standards Track D. Kohn
+ Skymoon Ventures
+ January 2001
+
+
+ XML Media Types
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+Abstract
+
+ This document standardizes five new media types -- text/xml,
+ application/xml, text/xml-external-parsed-entity, application/xml-
+ external-parsed-entity, and application/xml-dtd -- for use in
+ exchanging network entities that are related to the Extensible Markup
+ Language (XML). This document also standardizes a convention (using
+ the suffix '+xml') for naming media types outside of these five types
+ when those media types represent XML MIME (Multipurpose Internet Mail
+ Extensions) entities. XML MIME entities are currently exchanged via
+ the HyperText Transfer Protocol on the World Wide Web, are an
+ integral part of the WebDAV protocol for remote web authoring, and
+ are expected to have utility in many domains.
+
+ Major differences from RFC 2376 are (1) the addition of text/xml-
+ external-parsed-entity, application/xml-external-parsed-entity, and
+ application/xml-dtd, (2) the '+xml' suffix convention (which also
+ updates the RFC 2048 registration process), and (3) the discussion of
+ "utf-16le" and "utf-16be".
+
+
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 1]
+
+RFC 3023 XML Media Types January 2001
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Notational Conventions . . . . . . . . . . . . . . . . . . . 4
+ 3. XML Media Types . . . . . . . . . . . . . . . . . . . . . . 5
+ 3.1 Text/xml Registration . . . . . . . . . . . . . . . . . . . 7
+ 3.2 Application/xml Registration . . . . . . . . . . . . . . . . 9
+ 3.3 Text/xml-external-parsed-entity Registration . . . . . . . . 11
+ 3.4 Application/xml-external-parsed-entity Registration . . . . 12
+ 3.5 Application/xml-dtd Registration . . . . . . . . . . . . . . 13
+ 3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 14
+ 4. The Byte Order Mark (BOM) and Conversions to/from the UTF-16
+ Charset . . . . . . . . . . . . . . . . . . . . . . . . . . 15
+ 5. Fragment Identifiers . . . . . . . . . . . . . . . . . . . . 15
+ 6. The Base URI . . . . . . . . . . . . . . . . . . . . . . . . 15
+ 7. A Naming Convention for XML-Based Media Types . . . . . . . 16
+ 7.1 Referencing . . . . . . . . . . . . . . . . . . . . . . . . 18
+ 8. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 18
+ 8.1 Text/xml with UTF-8 Charset . . . . . . . . . . . . . . . . 19
+ 8.2 Text/xml with UTF-16 Charset . . . . . . . . . . . . . . . . 19
+ 8.3 Text/xml with UTF-16BE Charset . . . . . . . . . . . . . . . 19
+ 8.4 Text/xml with ISO-2022-KR Charset . . . . . . . . . . . . . 20
+ 8.5 Text/xml with Omitted Charset . . . . . . . . . . . . . . . 20
+ 8.6 Application/xml with UTF-16 Charset . . . . . . . . . . . . 20
+ 8.7 Application/xml with UTF-16BE Charset . . . . . . . . . . . 21
+ 8.8 Application/xml with ISO-2022-KR Charset . . . . . . . . . . 21
+ 8.9 Application/xml with Omitted Charset and UTF-16 XML MIME
+ Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
+ 8.10 Application/xml with Omitted Charset and UTF-8 Entity . . . 22
+ 8.11 Application/xml with Omitted Charset and Internal Encoding
+ Declaration . . . . . . . . . . . . . . . . . . . . . . . . 22
+ 8.12 Text/xml-external-parsed-entity with UTF-8 Charset . . . . . 22
+ 8.13 Application/xml-external-parsed-entity with UTF-16 Charset . 23
+ 8.14 Application/xml-external-parsed-entity with UTF-16BE Charset 23
+ 8.15 Application/xml-dtd . . . . . . . . . . . . . . . . . . . . 23
+ 8.16 Application/mathml+xml . . . . . . . . . . . . . . . . . . . 24
+ 8.17 Application/xslt+xml . . . . . . . . . . . . . . . . . . . . 24
+ 8.18 Application/rdf+xml . . . . . . . . . . . . . . . . . . . . 24
+ 8.19 Image/svg+xml . . . . . . . . . . . . . . . . . . . . . . . 24
+ 8.20 INCONSISTENT EXAMPLE: Text/xml with UTF-8 Charset . . . . . 25
+ 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 25
+ 10. Security Considerations . . . . . . . . . . . . . . . . . . 25
+ References . . . . . . . . . . . . . . . . . . . . . . . . . 27
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 31
+ A. Why Use the '+xml' Suffix for XML-Based MIME Types? . . . . 32
+ A.1 Why not just use text/xml or application/xml and let the XML
+ processor dispatch to the correct application based on the
+ referenced DTD? . . . . . . . . . . . . . . . . . . . . . . 32
+
+
+
+Murata, et al. Standards Track [Page 2]
+
+RFC 3023 XML Media Types January 2001
+
+
+ A.2 Why not create a new subtree (e.g., image/xml.svg) to
+ represent XML MIME types? . . . . . . . . . . . . . . . . . 32
+ A.3 Why not create a new top-level MIME type for XML-based media
+ types? . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
+ A.4 Why not just have the MIME processor 'sniff' the content to
+ determine whether it is XML? . . . . . . . . . . . . . . . . 33
+ A.5 Why not use a MIME parameter to specify that a media type
+ uses XML syntax? . . . . . . . . . . . . . . . . . . . . . . 33
+ A.6 How about labeling with parameters in the other direction
+ (e.g., application/xml; Content-Feature=iotp)? . . . . . . . 34
+ A.7 How about a new superclass MIME parameter that is defined to
+ apply to all MIME types (e.g., Content-Type:
+ application/iotp; $superclass=xml)? . . . . . . . . . . . . 34
+ A.8 What about adding a new parameter to the Content-Disposition
+ header or creating a new Content-Structure header to
+ indicate XML syntax? . . . . . . . . . . . . . . . . . . . . 35
+ A.9 How about a new Alternative-Content-Type header? . . . . . . 35
+ A.10 How about using a conneg tag instead (e.g., accept-features:
+ (syntax=xml))? . . . . . . . . . . . . . . . . . . . . . . . 35
+ A.11 How about a third-level content-type, such as text/xml/rdf? 35
+ A.12 Why use the plus ('+') character for the suffix '+xml'? . . 36
+ A.13 What is the semantic difference between application/foo and
+ application/foo+xml? . . . . . . . . . . . . . . . . . . . . 36
+ A.14 What happens when an even better markup language (e.g.,
+ EBML) is defined, or a new category of data? . . . . . . . . 36
+ A.15 Why must I use the '+xml' suffix for my new XML-based media
+ type? . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
+ B. Changes from RFC 2376 . . . . . . . . . . . . . . . . . . . 37
+ C. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 38
+ Full Copyright Statement . . . . . . . . . . . . . . . . . . 39
+
+1. Introduction
+
+ The World Wide Web Consortium has issued Extensible Markup Language
+ (XML) 1.0 (Second Edition)[XML]. To enable the exchange of XML
+ network entities, this document standardizes five new media types --
+ text/xml, application/xml, text/xml-external-parsed-entity,
+ application/xml-external-parsed-entity, and application/xml-dtd -- as
+ well as a naming convention for identifying XML-based MIME media
+ types.
+
+ XML entities are currently exchanged on the World Wide Web, and XML
+ is also used for property values and parameter marshalling by the
+ WebDAV[RFC2518] protocol for remote web authoring. Thus, there is a
+ need for a media type to properly label the exchange of XML network
+ entities.
+
+
+
+
+
+Murata, et al. Standards Track [Page 3]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Although XML is a subset of the Standard Generalized Markup Language
+ (SGML) ISO 8879[SGML], which has been assigned the media types
+ text/sgml and application/sgml, there are several reasons why use of
+ text/sgml or application/sgml to label XML is inappropriate. First,
+ there exist many applications that can process XML, but that cannot
+ process SGML, due to SGML's larger feature set. Second, SGML
+ applications cannot always process XML entities, because XML uses
+ features of recent technical corrigenda to SGML. Third, the
+ definition of text/sgml and application/sgml in [RFC1874] includes
+ parameters for SGML bit combination transformation format (SGML-
+ bctf), and SGML boot attribute (SGML-boot). Since XML does not use
+ these parameters, it would be ambiguous if such parameters were given
+ for an XML MIME entity. For these reasons, the best approach for
+ labeling XML network entities is to provide new media types for XML.
+
+ Since XML is an integral part of the WebDAV Distributed Authoring
+ Protocol, and since World Wide Web Consortium Recommendations have
+ conventionally been assigned IETF tree media types, and since similar
+ media types (HTML, SGML) have been assigned IETF tree media types,
+ the XML media types also belong in the IETF media types tree.
+
+ Similarly, XML will be used as a foundation for other media types,
+ including types in every branch of the IETF media types tree. To
+ facilitate the processing of such types, media types based on XML,
+ but that are not identified using text/xml or application/xml, SHOULD
+ be named using a suffix of '+xml' as described in Section 7. This
+ will allow XML-based tools -- browsers, editors, search engines, and
+ other processors -- to work with all XML-based media types.
+
+2. Notational Conventions
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+ As defined in [RFC2781], the three charsets "utf-16", "utf-16le", and
+ "utf-16be" are used to label UTF-16 text. In this document, "the
+ UTF-16 family" refers to those three charsets. By contrast, the
+ phrases "utf-16" or UTF-16 in this document refer specifically to the
+ single charset "utf-16".
+
+ As sometimes happens between two communities, both MIME and XML have
+ defined the term entity, with different meanings. Section 2.4 of
+ [RFC2045] says:
+
+ "The term 'entity' refers specifically to the MIME-defined header
+ fields and contents of either a message or one of the parts in the
+ body of a multipart entity."
+
+
+
+Murata, et al. Standards Track [Page 4]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Section 4 of [XML] says:
+
+ "An XML document may consist of one or many storage units" called
+ entities that "have content" and are normally "identified by
+ name".
+
+ In this document, "XML MIME entity" is defined as the latter (an XML
+ entity) encapsulated in the former (a MIME entity).
+
+3. XML Media Types
+
+ This document standardizes five media types related to XML MIME
+ entities: text/xml, application/xml, text/xml-external-parsed-entity,
+ application/xml-external-parsed-entity, and application/xml-dtd.
+ Registration information for these media types is described in the
+ sections below.
+
+ Within the XML specification, XML MIME entities can be classified
+ into four types. In the XML terminology, they are called "document
+ entities", "external DTD subsets", "external parsed entities", and
+ "external parameter entities". The media types text/xml and
+ application/xml MAY be used for "document entities", while text/xml-
+ external-parsed-entity or application/xml-external-parsed-entity
+ SHOULD be used for "external parsed entities". The media type
+ application/xml-dtd SHOULD be used for "external DTD subsets" or
+ "external parameter entities". application/xml and text/xml MUST NOT
+ be used for "external parameter entities" or "external DTD subsets",
+ and MUST NOT be used for "external parsed entities" unless they are
+ also well-formed "document entities" and are referenced as such.
+ Note that [RFC2376] (which this document obsoletes) allowed such
+ usage, although in practice it is likely to have been rare.
+
+ Neither external DTD subsets nor external parameter entities parse as
+ XML documents, and while some XML document entities may be used as
+ external parsed entities and vice versa, there are many cases where
+ the two are not interchangeable. XML also has unparsed entities,
+ internal parsed entities, and internal parameter entities, but they
+ are not XML MIME entities.
+
+ If an XML document -- that is, the unprocessed, source XML document
+ -- is readable by casual users, text/xml is preferable to
+ application/xml. MIME user agents (and web user agents) that do not
+ have explicit support for text/xml will treat it as text/plain, for
+ example, by displaying the XML MIME entity as plain text.
+ Application/xml is preferable when the XML MIME entity is unreadable
+ by casual users. Similarly, text/xml-external-parsed-entity is
+
+
+
+
+
+Murata, et al. Standards Track [Page 5]
+
+RFC 3023 XML Media Types January 2001
+
+
+ preferable when an external parsed entity is readable by casual
+ users, but application/xml-external-parsed-entity is preferable when
+ a plain text display is inappropriate.
+
+ NOTE: Users are in general not used to text containing tags such
+ as <price>, and often find such tags quite disorienting or
+ annoying. If one is not sure, the conservative principle would
+ suggest using application/* instead of text/* so as not to put
+ information in front of users that they will quite likely not
+ understand.
+
+ The top-level media type "text" has some restrictions on MIME
+ entities and they are described in [RFC2045] and [RFC2046]. In
+ particular, the UTF-16 family, UCS-4, and UTF-32 are not allowed
+ (except over HTTP[RFC2616], which uses a MIME-like mechanism). Thus,
+ if an XML document or external parsed entity is encoded in such
+ character encoding schemes, it cannot be labeled as text/xml or
+ text/xml-external-parsed-entity (except for HTTP).
+
+ Text/xml and application/xml behave differently when the charset
+ parameter is not explicitly specified. If the default charset (i.e.,
+ US-ASCII) for text/xml is inconvenient for some reason (e.g., bad web
+ servers), application/xml provides an alternative (see "Optional
+ parameters" of application/xml registration in Section 3.2). The
+ same rules apply to the distinction between text/xml-external-
+ parsed-entity and application/xml-external-parsed-entity.
+
+ XML provides a general framework for defining sequences of structured
+ data. In some cases, it may be desirable to define new media types
+ that use XML but define a specific application of XML, perhaps due to
+ domain-specific security considerations or runtime information.
+ Furthermore, such media types may allow UTF-8 or UTF-16 only and
+ prohibit other charsets. This document does not prohibit such media
+ types and in fact expects them to proliferate. However, developers
+ of such media types are STRONGLY RECOMMENDED to use this document as
+ a basis for their registration. In particular, the charset parameter
+ SHOULD be used in the same manner, as described in Section 7.1, in
+ order to enhance interoperability.
+
+ An XML document labeled as text/xml or application/xml might contain
+ namespace declarations, stylesheet-linking processing instructions
+ (PIs), schema information, or other declarations that might be used
+ to suggest how the document is to be processed. For example, a
+ document might have the XHTML namespace and a reference to a CSS
+ stylesheet. Such a document might be handled by applications that
+ would use this information to dispatch the document for appropriate
+ processing.
+
+
+
+
+Murata, et al. Standards Track [Page 6]
+
+RFC 3023 XML Media Types January 2001
+
+
+3.1 Text/xml Registration
+
+ MIME media type name: text
+
+ MIME subtype name: xml
+
+ Mandatory parameters: none
+
+ Optional parameters: charset
+
+ Although listed as an optional parameter, the use of the charset
+ parameter is STRONGLY RECOMMENDED, since this information can be
+ used by XML processors to determine authoritatively the character
+ encoding of the XML MIME entity. The charset parameter can also
+ be used to provide protocol-specific operations, such as charset-
+ based content negotiation in HTTP. "utf-8" [RFC2279] is the
+ recommended value, representing the UTF-8 charset. UTF-8 is
+ supported by all conforming processors of [XML].
+
+ If the XML MIME entity is transmitted via HTTP, which uses a
+ MIME-like mechanism that is exempt from the restrictions on the
+ text top-level type (see section 19.4.1 of [RFC2616]), "utf-16"
+ [RFC2781]) is also recommended. UTF-16 is supported by all
+ conforming processors of [XML]. Since the handling of CR, LF and
+ NUL for text types in most MIME applications would cause undesired
+ transformations of individual octets in UTF-16 multi-octet
+ characters, gateways from HTTP to these MIME applications MUST
+ transform the XML MIME entity from text/xml; charset="utf-16" to
+ application/xml; charset="utf-16".
+
+ Conformant with [RFC2046], if a text/xml entity is received with
+ the charset parameter omitted, MIME processors and XML processors
+ MUST use the default charset value of "us-ascii"[ASCII]. In cases
+ where the XML MIME entity is transmitted via HTTP, the default
+ charset value is still "us-ascii". (Note: There is an
+ inconsistency between this specification and HTTP/1.1, which uses
+ ISO-8859-1[ISO8859] as the default for a historical reason. Since
+ XML is a new format, a new default should be chosen for better
+ I18N. US-ASCII was chosen, since it is the intersection of UTF-8
+ and ISO-8859-1 and since it is already used by MIME.)
+
+ There are several reasons that the charset parameter is
+ authoritative. First, some MIME processing engines do transcoding
+ of MIME bodies of the top-level media type "text" without
+ reference to any of the internal content. Thus, it is possible
+ that some agent might change text/xml; charset="iso-2022-jp" to
+ text/xml; charset="utf-8" without modifying the encoding
+ declaration of an XML document. Second, text/xml must be
+
+
+
+Murata, et al. Standards Track [Page 7]
+
+RFC 3023 XML Media Types January 2001
+
+
+ compatible with text/plain, since MIME agents that do not
+ understand text/xml will fallback to handling it as text/plain.
+ If the charset parameter for text/xml were not authoritative, such
+ fallback would cause data corruption. Third, recent web servers
+ have been improved so that users can specify the charset
+ parameter. Fourth, [RFC2130] specifies that the recommended
+ specification scheme is the "charset" parameter.
+
+ Since the charset parameter is authoritative, the charset is not
+ always declared within an XML encoding declaration. Thus, special
+ care is needed when the recipient strips the MIME header and
+ provides persistent storage of the received XML MIME entity (e.g.,
+ in a file system). Unless the charset is UTF-8 or UTF-16, the
+ recipient SHOULD also persistently store information about the
+ charset, perhaps by embedding a correct XML encoding declaration
+ within the XML MIME entity.
+
+ Encoding considerations: This media type MAY be encoded as
+ appropriate for the charset and the capabilities of the underlying
+ MIME transport. For 7-bit transports, data in UTF-8 MUST be
+ encoded in quoted-printable or base64. For 8-bit clean transport
+ (e.g., 8BITMIME[RFC1652] ESMTP or NNTP[RFC0977]), UTF-8 does not
+ need to be encoded. Over HTTP[RFC2616], no content-transfer-
+ encoding is necessary and UTF-16 may also be used.
+
+ Security considerations: See Section 10.
+
+ Interoperability considerations: XML has proven to be interoperable
+ across WebDAV clients and servers, and for import and export from
+ multiple XML authoring tools. For maximum interoperability,
+ validating processors are recommended. Although non-validating
+ processors may be more efficient, they are not required to handle
+ all features of XML. For further information, see sub-section 2.9
+ "Standalone Document Declaration" and section 5 "Conformance" of
+ [XML].
+
+ Published specification: Extensible Markup Language (XML) 1.0 (Second
+ Edition)[XML].
+
+ Applications which use this media type: XML is device-, platform-,
+ and vendor-neutral and is supported by a wide range of Web user
+ agents, WebDAV[RFC2518] clients and servers, as well as XML
+ authoring tools.
+
+ Additional information:
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 8]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Magic number(s): None.
+
+ Although no byte sequences can be counted on to always be
+ present, XML MIME entities in ASCII-compatible charsets
+ (including UTF-8) often begin with hexadecimal 3C 3F 78 6D 6C
+ ("<?xml"), and those in UTF-16 often begin with hexadecimal FE
+ FF 00 3C 00 3F 00 78 00 6D 00 6C or FF FE 3C 00 3F 00 78 00 6D
+ 00 6C 00 (the Byte Order Mark (BOM) followed by "<?xml"). For
+ more information, see Appendix F of [XML].
+
+ File extension(s): .xml
+
+ Macintosh File Type Code(s): "TEXT"
+
+ Person and email address for further information:
+
+ MURATA Makoto (FAMILY Given) <mmurata@trl.ibm.co.jp>
+
+ Simon St.Laurent <simonstl@simonstl.com>
+
+ Daniel Kohn <dan@dankohn.com>
+
+ Intended usage: COMMON
+
+ Author/Change controller: The XML specification is a work product of
+ the World Wide Web Consortium's XML Working Group, and was edited
+ by:
+
+ Tim Bray <tbray@textuality.com>
+
+ Jean Paoli <jeanpa@microsoft.com>
+
+ C. M. Sperberg-McQueen <cmsmcq@uic.edu>
+
+ Eve Maler <eve.maler@east.sun.com>
+
+ The W3C, and the W3C XML Core Working Group, have change control
+ over the XML specification.
+
+3.2 Application/xml Registration
+
+ MIME media type name: application
+
+ MIME subtype name: xml
+
+ Mandatory parameters: none
+
+
+
+
+
+Murata, et al. Standards Track [Page 9]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Optional parameters: charset
+
+ Although listed as an optional parameter, the use of the charset
+ parameter is STRONGLY RECOMMENDED, since this information can be
+ used by XML processors to determine authoritatively the charset of
+ the XML MIME entity. The charset parameter can also be used to
+ provide protocol-specific operations, such as charset-based
+ content negotiation in HTTP.
+
+ "utf-8" [RFC2279] and "utf-16" [RFC2781] are the recommended
+ values, representing the UTF-8 and UTF-16 charsets, respectively.
+ These charsets are preferred since they are supported by all
+ conforming processors of [XML].
+
+ If an application/xml entity is received where the charset
+ parameter is omitted, no information is being provided about the
+ charset by the MIME Content-Type header. Conforming XML
+ processors MUST follow the requirements in section 4.3.3 of [XML]
+ that directly address this contingency. However, MIME processors
+ that are not XML processors SHOULD NOT assume a default charset if
+ the charset parameter is omitted from an application/xml entity.
+
+ There are several reasons that the charset parameter is
+ authoritative. First, recent web servers have been improved so
+ that users can specify the charset parameter. Second, [RFC2130]
+ specifies that the recommended specification scheme is the
+ "charset" parameter.
+
+ On the other hand, it has been argued that the charset parameter
+ should be omitted and the mechanism described in Appendix F of
+ [XML] (which is non-normative) should be solely relied on. This
+ approach would allow users to avoid configuration of the charset
+ parameter; an XML document stored in a file is likely to contain a
+ correct encoding declaration or BOM (if necessary), since the
+ operating system does not typically provide charset information
+ for files. If users would like to rely on the encoding
+ declaration or BOM and to hide charset information from protocols,
+ they may determine not to use the parameter.
+
+ Since the charset parameter is authoritative, the charset is not
+ always declared within an XML encoding declaration. Thus, special
+ care is needed when the recipient strips the MIME header and
+ provides persistent storage of the received XML MIME entity (e.g.,
+ in a file system). Unless the charset is UTF-8 or UTF-16, the
+ recipient SHOULD also persistently store information about the
+ charset, perhaps by embedding a correct XML encoding declaration
+ within the XML MIME entity.
+
+
+
+
+Murata, et al. Standards Track [Page 10]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Encoding considerations: This media type MAY be encoded as
+ appropriate for the charset and the capabilities of the underlying
+ MIME transport. For 7-bit transports, data in either UTF-8 or
+ UTF-16 MUST be encoded in quoted-printable or base64. For 8-bit
+ clean transport (e.g., 8BITMIME[RFC1652] ESMTP or NNTP[RFC0977]),
+ UTF-8 is not encoded, but the UTF-16 family MUST be encoded in
+ base64. For binary clean transports (e.g., HTTP[RFC2616]), no
+ content-transfer-encoding is necessary.
+
+ Security considerations: See Section 10.
+
+ Interoperability considerations: Same as Section 3.1.
+
+ Published specification: Same as Section 3.1.
+
+ Applications which use this media type: Same as Section 3.1.
+
+ Additional information: Same as Section 3.1.
+
+ Person and email address for further information: Same as Section
+ 3.1.
+
+ Intended usage: COMMON
+
+ Author/Change controller: Same as Section 3.1.
+
+3.3 Text/xml-external-parsed-entity Registration
+
+ MIME media type name: text
+
+ MIME subtype name: xml-external-parsed-entity
+
+ Mandatory parameters: none
+
+ Optional parameters: charset
+
+ The charset parameter of text/xml-external-parsed-entity is
+ handled the same as that of text/xml as described in Section 3.1.
+
+ Encoding considerations: Same as Section 3.1.
+
+ Security considerations: See Section 10.
+
+ Interoperability considerations: XML external parsed entities are as
+ interoperable as XML documents, though they have a less tightly
+ constrained structure and therefore need to be referenced by XML
+ documents for proper handling by XML processors. Similarly, XML
+ documents cannot be reliably used as external parsed entities
+
+
+
+Murata, et al. Standards Track [Page 11]
+
+RFC 3023 XML Media Types January 2001
+
+
+ because external parsed entities are prohibited from having
+ standalone document declarations or DTDs. Identifying XML
+ external parsed entities with their own content type should
+ enhance interoperability of both XML documents and XML external
+ parsed entities.
+
+ Published specification: Same as Section 3.1.
+
+ Applications which use this media type: Same as Section 3.1.
+
+ Additional information:
+
+ Magic number(s): Same as Section 3.1.
+
+ File extension(s): .xml or .ent
+
+ Macintosh File Type Code(s): "TEXT"
+
+ Person and email address for further information: Same as Section
+ 3.1.
+
+ Intended usage: COMMON
+
+ Author/Change controller: Same as Section 3.1.
+
+3.4 Application/xml-external-parsed-entity Registration
+
+ MIME media type name: application
+
+ MIME subtype name: xml-external-parsed-entity
+
+ Mandatory parameters: none
+
+ Optional parameters: charset
+
+ The charset parameter of application/xml-external-parsed-entity is
+ handled the same as that of application/xml as described in
+ Section 3.2.
+
+ Encoding considerations: Same as Section 3.2.
+
+ Security considerations: See Section 10.
+
+ Interoperability considerations: Same as those for text/xml-
+ external-parsed-entity as described in Section 3.3.
+
+ Published specification: Same as text/xml as described in Section
+ 3.1.
+
+
+
+Murata, et al. Standards Track [Page 12]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Applications which use this media type: Same as Section 3.1.
+
+ Additional information:
+
+ Magic number(s): Same as Section 3.1.
+
+ File extension(s): .xml or .ent
+
+ Macintosh File Type Code(s): "TEXT"
+
+ Person and email address for further information: Same as Section
+ 3.1.
+
+ Intended usage: COMMON
+
+ Author/Change controller: Same as Section 3.1.
+
+3.5 Application/xml-dtd Registration
+
+ MIME media type name: application
+
+ MIME subtype name: xml-dtd
+
+ Mandatory parameters: none
+
+ Optional parameters: charset
+
+ The charset parameter of application/xml-dtd is handled the same
+ as that of application/xml as described in Section 3.2.
+
+ Encoding considerations: Same as Section 3.2.
+
+ Security considerations: See Section 10.
+
+ Interoperability considerations: XML DTDs have proven to be
+ interoperable by DTD authoring tools and XML browsers, among
+ others.
+
+ Published specification: Same as text/xml as described in Section
+ 3.1.
+
+ Applications which use this media type: DTD authoring tools handle
+ external DTD subsets as well as external parameter entities. XML
+ browsers may also access external DTD subsets and external
+ parameter entities.
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 13]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Additional information:
+
+ Magic number(s): Same as Section 3.1.
+
+ File extension(s): .dtd or .mod
+
+ Macintosh File Type Code(s): "TEXT"
+
+ Person and email address for further information: Same as Section
+ 3.1.
+
+ Intended usage: COMMON
+
+ Author/Change controller: Same as Section 3.1.
+
+3.6 Summary
+
+ The following list applies to text/xml, text/xml-external-parsed-
+ entity, and XML-based media types under the top-level type "text"
+ that define the charset parameter according to this specification:
+
+ o Charset parameter is strongly recommended.
+
+ o If the charset parameter is not specified, the default is "us-
+ ascii". The default of "iso-8859-1" in HTTP is explicitly
+ overridden.
+
+ o No error handling provisions.
+
+ o An encoding declaration, if present, is irrelevant, but when
+ saving a received resource as a file, the correct encoding
+ declaration SHOULD be inserted.
+
+ The next list applies to application/xml, application/xml-external-
+ parsed-entity, application/xml-dtd, and XML-based media types under
+ top-level types other than "text" that define the charset parameter
+ according to this specification:
+
+ o Charset parameter is strongly recommended, and if present, it
+ takes precedence.
+
+ o If the charset parameter is omitted, conforming XML processors
+ MUST follow the requirements in section 4.3.3 of [XML].
+
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 14]
+
+RFC 3023 XML Media Types January 2001
+
+
+4. The Byte Order Mark (BOM) and Conversions to/from the UTF-16 Charset
+
+ Section 4.3.3 of [XML] specifies that XML MIME entities in the
+ charset "utf-16" MUST begin with a byte order mark (BOM), which is a
+ hexadecimal octet sequence 0xFE 0xFF (or 0xFF 0xFE, depending on
+ endian). The XML Recommendation further states that the BOM is an
+ encoding signature, and is not part of either the markup or the
+ character data of the XML document.
+
+ Due to the presence of the BOM, applications that convert XML from
+ "utf-16" to a non-Unicode encoding MUST strip the BOM before
+ conversion. Similarly, when converting from another encoding into
+ "utf-16", the BOM MUST be added after conversion is complete.
+
+ In addition to the charset "utf-16", [RFC2781] introduces "utf-16le"
+ (little endian) and "utf-16be" (big endian) as well. The BOM is
+ prohibited for these charsets. When an XML MIME entity is encoded in
+ "utf-16le" or "utf-16be", it MUST NOT begin with the BOM but SHOULD
+ contain an encoding declaration. Conversion from "utf-16" to "utf-
+ 16be" or "utf-16le" and conversion in the other direction MUST strip
+ or add the BOM, respectively.
+
+5. Fragment Identifiers
+
+ Section 4.1 of [RFC2396] notes that the semantics of a fragment
+ identifier (the part of a URI after a "#") is a property of the data
+ resulting from a retrieval action, and that the format and
+ interpretation of fragment identifiers is dependent on the media type
+ of the retrieval result.
+
+ As of today, no established specifications define identifiers for XML
+ media types. However, a working draft published by W3C, namely "XML
+ Pointer Language (XPointer)", attempts to define fragment identifiers
+ for text/xml and application/xml. The current specification for
+ XPointer is available at http://www.w3.org/TR/xptr.
+
+6. The Base URI
+
+ Section 5.1 of [RFC2396] specifies that the semantics of a relative
+ URI reference embedded in a MIME entity is dependent on the base URI.
+ The base URI is either (1) the base URI embedded in the MIME entity,
+ (2) the base URI of the encapsulating MIME entity, (3) the URI used
+ to retrieve the MIME entity, or (4) the application-dependent default
+ base URI, where (1) has the highest precedence. [RFC2396] further
+ specifies that the mechanism for embedding the base URI is dependent
+ on the media type.
+
+
+
+
+
+Murata, et al. Standards Track [Page 15]
+
+RFC 3023 XML Media Types January 2001
+
+
+ As of today, no established specifications define mechanisms for
+ embedding the base URI in XML MIME entities. However, a Proposed
+ Recommendation published by W3C, namely "XML Base", attempts to
+ define such a mechanism for text/xml, application/xml, text/xml-
+ external-parsed-entity, and application/xml-external-parsed-entity.
+ The current specification for XML Base is available at
+ http://www.w3.org/TR/xmlbase.
+
+7. A Naming Convention for XML-Based Media Types
+
+ This document recommends the use of a naming convention (a suffix of
+ '+xml') for identifying XML-based MIME media types, whatever their
+ particular content may represent. This allows the use of generic XML
+ processors and technologies on a wide variety of different XML
+ document types at a minimum cost, using existing frameworks for media
+ type registration.
+
+ Although the use of a suffix was not considered as part of the
+ original MIME architecture, this choice is considered to provide the
+ most functionality with the least potential for interoperability
+ problems or lack of future extensibility. The alternatives to the '
+ +xml' suffix and the reason for its selection are described in
+ Appendix A.
+
+ As XML development continues, new XML document types are appearing
+ rapidly. Many of these XML document types would benefit from the
+ identification possibilities of a more specific MIME media type than
+ text/xml or application/xml can provide, and it is likely that many
+ new media types for XML-based document types will be registered in
+ the near and ongoing future.
+
+ While the benefits of specific MIME types for particular types of XML
+ documents are significant, all XML documents share common structures
+ and syntax that make possible common processing.
+
+ Some areas where 'generic' processing is useful include:
+
+ o Browsing - An XML browser can display any XML document with a
+ provided [CSS] or [XSLT] style sheet, whatever the vocabulary of
+ that document.
+
+ o Editing - Any XML editor can read, modify, and save any XML
+ document.
+
+ o Fragment identification - XPointers (work in progress) can work
+ with any XML document, whatever vocabulary it uses and whether or
+ not it uses XPointer for its own fragment identification.
+
+
+
+
+Murata, et al. Standards Track [Page 16]
+
+RFC 3023 XML Media Types January 2001
+
+
+ o Hypertext linking - XLink (work in progress) hypertext linking is
+ designed to connect any XML documents, regardless of vocabulary.
+
+ o Searching - XML-oriented search engines, web crawlers, agents, and
+ query tools should be able to read XML documents and extract the
+ names and content of elements and attributes even if the tools are
+ ignorant of the particular vocabulary used for elements and
+ attributes.
+
+ o Storage - XML-oriented storage systems, which keep XML documents
+ internally in a parsed form, should similarly be able to process,
+ store, and recreate any XML document.
+
+ o Well-formedness and validity checking - An XML processor can
+ confirm that any XML document is well-formed and that it is valid
+ (i.e., conforms to its declared DTD or Schema).
+
+ When a new media type is introduced for an XML-based format, the name
+ of the media type SHOULD end with '+xml'. This convention will allow
+ applications that can process XML generically to detect that the MIME
+ entity is supposed to be an XML document, verify this assumption by
+ invoking some XML processor, and then process the XML document
+ accordingly. Applications may match for types that represent XML
+ MIME entities by comparing the subtype to the pattern '*/*+xml'. (Of
+ course, 4 of the 5 media types defined in this document -- text/xml,
+ application/xml, text/xml-external-parsed-entity, and
+ application/xml-external-parsed-entity -- also represent XML MIME
+ entities while not conforming to the '*/*+xml' pattern.)
+
+ NOTE: Section 14.1 of HTTP[RFC2616] does not support Accept
+ headers of the form "Accept: */*+xml" and so this header MUST NOT
+ be used in this way. Instead, content negotiation[RFC2703] could
+ potentially be used if an XML-based MIME type were needed.
+
+ XML generic processing is not always appropriate for XML-based media
+ types. For example, authors of some such media types may wish that
+ the types remain entirely opaque except to applications that are
+ specifically designed to deal with that media type. By NOT following
+ the naming convention '+xml', such media types can avoid XML-generic
+ processing. Since generic processing will be useful in many cases,
+ however -- including in some situations that are difficult to predict
+ ahead of time -- those registering media types SHOULD use the '+xml'
+ convention unless they have a particularly compelling reason not to.
+
+ The registration process for these media types is described in
+ [RFC2048]. The registrar for the IETF tree will encourage new XML-
+ based media type registrations in the IETF tree to follow this
+ guideline. Registrars for other trees SHOULD follow this convention
+
+
+
+Murata, et al. Standards Track [Page 17]
+
+RFC 3023 XML Media Types January 2001
+
+
+ in order to ensure maximum interoperability of their XML-based
+ documents. Similarly, media subtypes that do not represent XML MIME
+ entities MUST NOT be allowed to register with a '+xml' suffix.
+
+7.1 Referencing
+
+ Registrations for new XML-based media types under the top-level type
+ "text" SHOULD, in specifying the charset parameter and encoding
+ considerations, define them as: "Same as [charset parameter /
+ encoding considerations] of text/xml as specified in RFC 3023."
+
+ Registrations for new XML-based media types under top-level types
+ other than "text" SHOULD, in specifying the charset parameter and
+ encoding considerations, define them as: "Same as [charset parameter
+ / encoding considerations] of application/xml as specified in RFC
+ 3023."
+
+ The use of the charset parameter is STRONGLY RECOMMENDED, since this
+ information can be used by XML processors to determine
+ authoritatively the charset of the XML MIME entity.
+
+ These registrations SHOULD specify that the XML-based media type
+ being registered has all of the security considerations described in
+ RFC 3023 plus any additional considerations specific to that media
+ type.
+
+ These registrations SHOULD also make reference to RFC 3023 in
+ specifying magic numbers, fragment identifiers, base URIs, and use of
+ the BOM.
+
+ These registrations MAY reference the text/xml registration in RFC
+ 3023 in specifying interoperability considerations, if these
+ considerations are not overridden by issues specific to that media
+ type.
+
+8. Examples
+
+ The examples below give the value of the MIME Content-type header and
+ the XML declaration (which includes the encoding declaration) inside
+ the XML MIME entity. For UTF-16 examples, the Byte Order Mark
+ character is denoted as "{BOM}", and the XML declaration is assumed
+ to come at the beginning of the XML MIME entity, immediately
+ following the BOM. Note that other MIME headers may be present, and
+ the XML MIME entity may contain other data in addition to the XML
+ declaration; the examples focus on the Content-type header and the
+ encoding declaration for clarity.
+
+
+
+
+
+Murata, et al. Standards Track [Page 18]
+
+RFC 3023 XML Media Types January 2001
+
+
+8.1 Text/xml with UTF-8 Charset
+
+ Content-type: text/xml; charset="utf-8"
+
+ <?xml version="1.0" encoding="utf-8"?>
+
+ This is the recommended charset value for use with text/xml. Since
+ the charset parameter is provided, MIME and XML processors MUST treat
+ the enclosed entity as UTF-8 encoded.
+
+ If sent using a 7-bit transport (e.g., SMTP[RFC0821]), the XML MIME
+ entity MUST use a content-transfer-encoding of either quoted-
+ printable or base64. For an 8-bit clean transport (e.g., 8BITMIME
+ ESMTP or NNTP), or a binary clean transport (e.g., HTTP), no
+ content-transfer-encoding is necessary.
+
+8.2 Text/xml with UTF-16 Charset
+
+ Content-type: text/xml; charset="utf-16"
+
+ {BOM}<?xml version='1.0' encoding='utf-16'?>
+
+ or
+
+ {BOM}<?xml version='1.0'?>
+
+ This is possible only when the XML MIME entity is transmitted via
+ HTTP, which uses a MIME-like mechanism and is a binary-clean
+ protocol, hence does not perform CR and LF transformations and allows
+ NUL octets. As described in [RFC2781], the UTF-16 family MUST NOT be
+ used with media types under the top-level type "text" except over
+ HTTP (see section 19.4.1 of [RFC2616] for details).
+
+ Since HTTP is binary clean, no content-transfer-encoding is
+ necessary.
+
+8.3 Text/xml with UTF-16BE Charset
+
+ Content-type: text/xml; charset="utf-16be"
+
+ <?xml version='1.0' encoding='utf-16be'?>
+
+ Observe that the BOM does not exist. This is again possible only
+ when the XML MIME entity is transmitted via HTTP.
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 19]
+
+RFC 3023 XML Media Types January 2001
+
+
+8.4 Text/xml with ISO-2022-KR Charset
+
+ Content-type: text/xml; charset="iso-2022-kr"
+
+ <?xml version="1.0" encoding='iso-2022-kr'?>
+
+ This example shows text/xml with a Korean charset (e.g., Hangul)
+ encoded following the specification in [RFC1557]. Since the charset
+ parameter is provided, MIME and XML processors MUST treat the
+ enclosed entity as encoded per RFC 1557.
+
+ Since ISO-2022-KR has been defined to use only 7 bits of data, no
+ content-transfer-encoding is necessary with any transport.
+
+8.5 Text/xml with Omitted Charset
+
+ Content-type: text/xml
+
+ {BOM}<?xml version="1.0" encoding="utf-16"?>
+
+ or
+
+ {BOM}<?xml version="1.0"?>
+
+ This example shows text/xml with the charset parameter omitted. In
+ this case, MIME and XML processors MUST assume the charset is "us-
+ ascii", the default charset value for text media types specified in
+ [RFC2046]. The default of "us-ascii" holds even if the text/xml
+ entity is transported using HTTP.
+
+ Omitting the charset parameter is NOT RECOMMENDED for text/xml. For
+ example, even if the contents of the XML MIME entity are UTF-16 or
+ UTF-8, or the XML MIME entity has an explicit encoding declaration,
+ XML and MIME processors MUST assume the charset is "us-ascii".
+
+8.6 Application/xml with UTF-16 Charset
+
+ Content-type: application/xml; charset="utf-16"
+
+ {BOM}<?xml version="1.0" encoding="utf-16"?>
+
+ or
+
+ {BOM}<?xml version="1.0"?>
+
+ This is a recommended charset value for use with application/xml.
+ Since the charset parameter is provided, MIME and XML processors MUST
+ treat the enclosed entity as UTF-16 encoded.
+
+
+
+Murata, et al. Standards Track [Page 20]
+
+RFC 3023 XML Media Types January 2001
+
+
+ If sent using a 7-bit transport (e.g., SMTP) or an 8-bit clean
+ transport (e.g., 8BITMIME ESMTP or NNTP), the XML MIME entity MUST be
+ encoded in quoted-printable or base64. For a binary clean transport
+ (e.g., HTTP), no content-transfer-encoding is necessary.
+
+8.7 Application/xml with UTF-16BE Charset
+
+ Content-type: application/xml; charset="utf-16be"
+
+ <?xml version='1.0' encoding='utf-16be'?>
+
+ Observe that the BOM does not exist. Since the charset parameter is
+ provided, MIME and XML processors MUST treat the enclosed entity as
+ UTF-16BE encoded.
+
+8.8 Application/xml with ISO-2022-KR Charset
+
+ Content-type: application/xml; charset="iso-2022-kr"
+
+ <?xml version="1.0" encoding="iso-2022-kr"?>
+
+ This example shows application/xml with a Korean charset (e.g.,
+ Hangul) encoded following the specification in [RFC1557]. Since the
+ charset parameter is provided, MIME and XML processors MUST treat the
+ enclosed entity as encoded per RFC 1557, independent of whether the
+ XML MIME entity has an internal encoding declaration (this example
+ does show such a declaration, which agrees with the charset
+ parameter).
+
+ Since ISO-2022-KR has been defined to use only 7 bits of data, no
+ content-transfer-encoding is necessary with any transport.
+
+8.9 Application/xml with Omitted Charset and UTF-16 XML MIME Entity
+
+ Content-type: application/xml
+
+ {BOM}<?xml version='1.0' encoding="utf-16"?>
+
+ or
+
+ {BOM}<?xml version='1.0'?>
+
+ For this example, the XML MIME entity begins with a BOM. Since the
+ charset has been omitted, a conforming XML processor follows the
+ requirements of [XML], section 4.3.3. Specifically, the XML
+ processor reads the BOM, and thus knows deterministically that the
+ charset is UTF-16.
+
+
+
+
+Murata, et al. Standards Track [Page 21]
+
+RFC 3023 XML Media Types January 2001
+
+
+ An XML-unaware MIME processor SHOULD make no assumptions about the
+ charset of the XML MIME entity.
+
+8.10 Application/xml with Omitted Charset and UTF-8 Entity
+
+ Content-type: application/xml
+
+ <?xml version='1.0'?>
+
+ In this example, the charset parameter has been omitted, and there is
+ no BOM. Since there is no BOM, the XML processor follows the
+ requirements in section 4.3.3 of [XML], and optionally applies the
+ mechanism described in Appendix F (which is non-normative) of [XML]
+ to determine the charset encoding of UTF-8. The XML MIME entity does
+ not contain an encoding declaration, but since the encoding is UTF-8,
+ this is still a conforming XML MIME entity.
+
+ An XML-unaware MIME processor SHOULD make no assumptions about the
+ charset of the XML MIME entity.
+
+8.11 Application/xml with Omitted Charset and Internal Encoding
+ Declaration
+
+ Content-type: application/xml
+
+ <?xml version='1.0' encoding="iso-10646-ucs-4"?>
+
+ In this example, the charset parameter has been omitted, and there is
+ no BOM. However, the XML MIME entity does have an encoding
+ declaration inside the XML MIME entity that specifies the entity's
+ charset. Following the requirements in section 4.3.3 of [XML], and
+ optionally applying the mechanism described in Appendix F (non-
+ normative) of [XML], the XML processor determines the charset of the
+ XML MIME entity (in this example, UCS-4).
+
+ An XML-unaware MIME processor SHOULD make no assumptions about the
+ charset of the XML MIME entity.
+
+8.12 Text/xml-external-parsed-entity with UTF-8 Charset
+
+ Content-type: text/xml-external-parsed-entity; charset="utf-8"
+
+ <?xml encoding="utf-8"?>
+
+ This is the recommended charset value for use with text/xml-
+ external-parsed-entity. Since the charset parameter is provided,
+ MIME and XML processors MUST treat the enclosed entity as UTF-8
+ encoded.
+
+
+
+Murata, et al. Standards Track [Page 22]
+
+RFC 3023 XML Media Types January 2001
+
+
+ If sent using a 7-bit transport (e.g., SMTP), the XML MIME entity
+ MUST use a content-transfer-encoding of either quoted-printable or
+ base64. For an 8-bit clean transport (e.g., 8BITMIME ESMTP or NNTP),
+ or a binary clean transport (e.g., HTTP) no content-transfer-encoding
+ is necessary.
+
+8.13 Application/xml-external-parsed-entity with UTF-16 Charset
+
+ Content-type: application/xml-external-parsed-entity;
+ charset="utf-16"
+
+ {BOM}<?xml encoding="utf-16"?>
+
+ or
+
+ {BOM}<?xml?>
+
+ This is a recommended charset value for use with application/xml-
+ external-parsed-entity. Since the charset parameter is provided,
+ MIME and XML processors MUST treat the enclosed entity as UTF-16
+ encoded.
+
+ If sent using a 7-bit transport (e.g., SMTP) or an 8-bit clean
+ transport (e.g., 8BITMIME ESMTP or NNTP), the XML MIME entity MUST be
+ encoded in quoted-printable or base64. For a binary clean transport
+ (e.g., HTTP), no content-transfer-encoding is necessary.
+
+8.14 Application/xml-external-parsed-entity with UTF-16BE Charset
+
+ Content-type: application/xml-external-parsed-entity;
+ charset="utf-16be"
+
+ <?xml encoding="utf-16be"?>
+
+ Since the charset parameter is provided, MIME and XML processors MUST
+ treat the enclosed entity as UTF-16BE encoded.
+
+8.15 Application/xml-dtd
+
+ Content-type: application/xml-dtd; charset="utf-8"
+
+ <?xml encoding="utf-8"?>
+
+ Charset "utf-8" is a recommended charset value for use with
+ application/xml-dtd. Since the charset parameter is provided, MIME
+ and XML processors MUST treat the enclosed entity as UTF-8 encoded.
+
+
+
+
+
+Murata, et al. Standards Track [Page 23]
+
+RFC 3023 XML Media Types January 2001
+
+
+8.16 Application/mathml+xml
+
+ Content-type: application/mathml+xml
+
+ <?xml version="1.0" ?>
+
+ MathML documents are XML documents whose content describes
+ mathematical information, as defined by [MathML]. As a format based
+ on XML, MathML documents SHOULD use the '+xml' suffix convention in
+ their MIME content-type identifier. However, no content type has yet
+ been registered for MathML and so this media type should not be used
+ until such registration has been completed.
+
+8.17 Application/xslt+xml
+
+ Content-type: application/xslt+xml
+
+ <?xml version="1.0" ?>
+
+ Extensible Stylesheet Language (XSLT) documents are XML documents
+ whose content describes stylesheets for other XML documents, as
+ defined by [XSLT]. As a format based on XML, XSLT documents SHOULD
+ use the '+xml' suffix convention in their MIME content-type
+ identifier. However, no content type has yet been registered for
+ XSLT and so this media type should not be used until such
+ registration has been completed.
+
+8.18 Application/rdf+xml
+
+ Content-type: application/rdf+xml
+
+ <?xml version="1.0" ?>
+
+ RDF documents identified using this MIME type are XML documents whose
+ content describes metadata, as defined by [RDF]. As a format based
+ on XML, RDF documents SHOULD use the '+xml' suffix convention in
+ their MIME content-type identifier. However, no content type has yet
+ been registered for RDF and so this media type should not be used
+ until such registration has been completed.
+
+8.19 Image/svg+xml
+
+ Content-type: image/svg+xml
+
+ <?xml version="1.0" ?>
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 24]
+
+RFC 3023 XML Media Types January 2001
+
+
+ Scalable Vector Graphics (SVG) documents are XML documents whose
+ content describes graphical information, as defined by [SVG]. As a
+ format based on XML, SVG documents SHOULD use the '+xml' suffix
+ convention in their MIME content-type identifier. However, no
+ content type has yet been registered for SVG and so this media type
+ should not be used until such registration has been completed.
+
+8.20 INCONSISTENT EXAMPLE: Text/xml with UTF-8 Charset
+
+ Content-type: text/xml; charset="utf-8"
+
+ <?xml version="1.0" encoding="iso-8859-1"?>
+
+ Since the charset parameter is provided in the Content-Type header,
+ MIME and XML processors MUST treat the enclosed entity as UTF-8
+ encoded. That is, the "iso-8859-1" encoding MUST be ignored.
+
+ Processors generating XML MIME entities MUST NOT label conflicting
+ charset information between the MIME Content-Type and the XML
+ declaration.
+
+9. IANA Considerations
+
+ As described in Section 7, this document updates the [RFC2048]
+ registration process for XML-based MIME types.
+
+10. Security Considerations
+
+ XML, as a subset of SGML, has all of the same security considerations
+ as specified in [RFC1874], and likely more, due to its expected
+ ubiquitous deployment.
+
+ To paraphrase section 3 of RFC 1874, XML MIME entities contain
+ information to be parsed and processed by the recipient's XML system.
+ These entities may contain and such systems may permit explicit
+ system level commands to be executed while processing the data. To
+ the extent that an XML system will execute arbitrary command strings,
+ recipients of XML MIME entities may be a risk. In general, it may be
+ possible to specify commands that perform unauthorized file
+ operations or make changes to the display processor's environment
+ that affect subsequent operations.
+
+ In general, any information stored outside of the direct control of
+ the user -- including CSS style sheets, XSL transformations, entity
+ declarations, and DTDs -- can be a source of insecurity, by either
+ obvious or subtle means. For example, a tiny "whiteout attack"
+ modification made to a "master" style sheet could make words in
+ critical locations disappear in user documents, without directly
+
+
+
+Murata, et al. Standards Track [Page 25]
+
+RFC 3023 XML Media Types January 2001
+
+
+ modifying the user document or the stylesheet it references. Thus,
+ the security of any XML document is vitally dependent on all of the
+ documents recursively referenced by that document.
+
+ The entity lists and DTDs for XHTML 1.0[XHTML], for instance, are
+ likely to be a commonly used set of information. Many developers
+ will use and trust them, few of whom will know much about the level
+ of security on the W3C's servers, or on any similarly trusted
+ repository.
+
+ The simplest attack involves adding declarations that break
+ validation. Adding extraneous declarations to a list of character
+ entities can effectively "break the contract" used by documents. A
+ tiny change that produces a fatal error in a DTD could halt XML
+ processing on a large scale. Extraneous declarations are fairly
+ obvious, but more sophisticated tricks, like changing attributes from
+ being optional to required, can be difficult to track down. Perhaps
+ the most dangerous option available to crackers is redefining default
+ values for attributes: e.g., if developers have relied on defaulted
+ attributes for security, a relatively small change might expose
+ enormous quantities of information.
+
+ Apart from the structural possibilities, another option, "entity
+ spoofing," can be used to insert text into documents, vandalizing and
+ perhaps conveying an unintended message. Because XML 1.0 permits
+ multiple entity declarations, and the first declaration takes
+ precedence, it's possible to insert malicious content where an entity
+ is used, such as by inserting the full text of Winnie the Pooh in
+ every occurrence of &mdash;.
+
+ Use of the digital signatures work currently underway by the xmldsig
+ working group may eventually ameliorate the dangers of referencing
+ external documents not under one's own control.
+
+ Use of XML is expected to be varied, and widespread. XML is under
+ scrutiny by a wide range of communities for use as a common syntax
+ for community-specific metadata. For example, the Dublin
+ Core[RFC2413] group is using XML for document metadata, and a new
+ effort has begun that is considering use of XML for medical
+ information. Other groups view XML as a mechanism for marshalling
+ parameters for remote procedure calls. More uses of XML will
+ undoubtedly arise.
+
+ Security considerations will vary by domain of use. For example, XML
+ medical records will have much more stringent privacy and security
+ considerations than XML library metadata. Similarly, use of XML as a
+ parameter marshalling syntax necessitates a case by case security
+ review.
+
+
+
+Murata, et al. Standards Track [Page 26]
+
+RFC 3023 XML Media Types January 2001
+
+
+ XML may also have some of the same security concerns as plain text.
+ Like plain text, XML can contain escape sequences that, when
+ displayed, have the potential to change the display processor
+ environment in ways that adversely affect subsequent operations.
+ Possible effects include, but are not limited to, locking the
+ keyboard, changing display parameters so subsequent displayed text is
+ unreadable, or even changing display parameters to deliberately
+ obscure or distort subsequent displayed material so that its meaning
+ is lost or altered. Display processors SHOULD either filter such
+ material from displayed text or else make sure to reset all important
+ settings after a given display operation is complete.
+
+ Some terminal devices have keys whose output, when pressed, can be
+ changed by sending the display processor a character sequence. If
+ this is possible the display of a text object containing such
+ character sequences could reprogram keys to perform some illicit or
+ dangerous action when the key is subsequently pressed by the user.
+ In some cases not only can keys be programmed, they can be triggered
+ remotely, making it possible for a text display operation to directly
+ perform some unwanted action. As such, the ability to program keys
+ SHOULD be blocked either by filtering or by disabling the ability to
+ program keys entirely.
+
+ Note that it is also possible to construct XML documents that make
+ use of what XML terms "entity references" (using the XML meaning of
+ the term "entity" as described in Section 2), to construct repeated
+ expansions of text. Recursive expansions are prohibited by [XML] and
+ XML processors are required to detect them. However, even non-
+ recursive expansions may cause problems with the finite computing
+ resources of computers, if they are performed many times.
+
+References
+
+ [ASCII] "US-ASCII. Coded Character Set -- 7-Bit American Standard
+ Code for Information Interchange", ANSI X3.4-1986, 1986.
+
+ [CSS] Bos, B., Lie, H.W., Lilley, C. and I. Jacobs, "Cascading
+ Style Sheets, level 2 (CSS2) Specification", World Wide
+ Web Consortium Recommendation REC-CSS2, May 1998,
+ <http://www.w3.org/TR/REC-CSS2/>.
+
+ [ISO8859] "ISO-8859. International Standard -- Information
+ Processing -- 8-bit Single-Byte Coded Graphic Character
+ Sets -- Part 1: Latin alphabet No. 1, ISO-8859-1:1987",
+ 1987.
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 27]
+
+RFC 3023 XML Media Types January 2001
+
+
+ [MathML] Ion, P. and R. Miner, "Mathematical Markup Language
+ (MathML) 1.01", World Wide Web Consortium Recommendation
+ REC-MathML, July 1999, <http://www.w3.org/TR/REC-MathML/>.
+
+ [PNG] Boutell, T., "PNG (Portable Network Graphics)
+ Specification", World Wide Web Consortium Recommendation
+ REC-png, October 1996, <http://www.w3.org/TR/REC-png>.
+
+ [RDF] Lassila, O. and R.R. Swick, "Resource Description
+ Framework (RDF) Model and Syntax Specification", World
+ Wide Web Consortium Recommendation REC-rdf-syntax,
+ February 1999, <http://www.w3.org/TR/REC-rdf-syntax/>.
+
+ [RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC
+ 821, August 1982.
+
+ [RFC0977] Kantor, B. and P. Lapsley, "Network News Transfer
+ Protocol", RFC 977, February 1986.
+
+ [RFC1557] Choi, U., Chon, K. and H. Park, "Korean Character Encoding
+ for Internet Messages", RFC 1557, December 1993.
+
+ [RFC1652] Klensin, J., Freed, N., Rose, M., Stefferud, E. and D.
+ Crocker, "SMTP Service Extension for 8bit-MIMEtransport",
+ RFC 1652, July 1994.
+
+ [RFC1874] Levinson, E., "SGML Media Types", RFC 1874, December 1995.
+
+ [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part One: Format of Internet Message
+ Bodies", RFC 2045, November 1996.
+
+ [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types", RFC 2046,
+ November 1996.
+
+ [RFC2048] Freed, N., Klensin, J. and J. Postel, "Multipurpose
+ Internet Mail Extensions (MIME) Part Four: Registration
+ Procedures", RFC 2048, November 1996.
+
+ [RFC2060] Crispin, M., "Internet Message Access Protocol - Version
+ 4rev1", RFC 2060, December 1996.
+
+ [RFC2077] Nelson, S., Parks, C. and Mitra, "The Model Primary
+ Content Type for Multipurpose Internet Mail Extensions",
+ RFC 2077, January 1997.
+
+
+
+
+
+Murata, et al. Standards Track [Page 28]
+
+RFC 3023 XML Media Types January 2001
+
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2130] Weider, C., Preston, C., Simonsen, K., Alvestrand, H.,
+ Atkinson, R., Crispin, M. and P. Svanberg, "The Report of
+ the IAB Character Set Workshop held 29 February - 1 March,
+ 1996", RFC 2130, April 1997.
+
+ [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO
+ 10646", RFC 2279, January 1998.
+
+ [RFC2376] Whitehead, E. and M. Murata, "XML Media Types", RFC 2376,
+ July 1998.
+
+ [RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform
+ Resource Identifiers (URI): Generic Syntax.", RFC 2396,
+ August 1998.
+
+ [RFC2413] Weibel, S., Kunze, J., Lagoze, C. and M. Wolf, "Dublin
+ Core Metadata for Resource Discovery", RFC 2413, September
+ 1998.
+
+ [RFC2445] Dawson, F. and D. Stenerson, "Internet Calendaring and
+ Scheduling Core Object Specification (iCalendar)", RFC
+ 2445, November 1998.
+
+ [RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S. and D.
+ Jensen, "HTTP Extensions for Distributed Authoring --
+ WEBDAV", RFC 2518, February 1999.
+
+ [RFC2616] Fielding, R., Gettys, J., Mogul, J., Nielsen, H.,
+ Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext
+ Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
+
+ [RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629,
+ June 1999.
+
+ [RFC2703] Klyne, G., "Protocol-independent Content Negotiation
+ Framework", RFC 2703, September 1999.
+
+ [RFC2781] Hoffman, P. and F. Yergeau, "UTF-16, an encoding of ISO
+ 10646", RFC 2781, Februrary 2000.
+
+ [RFC2801] Burdett, D., "Internet Open Trading Protocol - IOTP
+ Version 1.0", RFC 2801, April 2000.
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 29]
+
+RFC 3023 XML Media Types January 2001
+
+
+ [SGML] International Standard Organization, "Information
+ Processing -- Text and Office Systems -- Standard
+ Generalized Markup Language (SGML)", ISO 8879, October
+ 1986.
+
+ [SVG] Ferraiolo, J., "Scalable Vector Graphics (SVG)", World
+ Wide Web Consortium Candidate Recommendation SVG, November
+ 2000, <http://www.w3.org/TR/SVG>.
+
+ [XHTML] Pemberton, S. and et al, "XHTML 1.0: The Extensible
+ HyperText Markup Language", World Wide Web Consortium
+ Recommendation xhtml1, January 2000,
+ <http://www.w3.org/TR/xhtml1>.
+
+ [XML] Bray, T., Paoli, J., Sperberg-McQueen, C.M. and E. Maler,
+ "Extensible Markup Language (XML) 1.0 (Second Edition)",
+ World Wide Web Consortium Recommendation REC-xml, October
+ 2000, <http://www.w3.org/TR/REC-xml>.
+
+ [XSLT] Clark, J., "XSL Transformations (XSLT) Version 1.0", World
+ Wide Web Consortium Recommendation xslt, November 1999,
+ <http://www.w3.org/TR/xslt>.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 30]
+
+RFC 3023 XML Media Types January 2001
+
+
+Authors' Addresses
+
+ MURATA Makoto (FAMILY Given)
+ IBM Tokyo Research Laboratory
+ 1623-14, Shimotsuruma
+ Yamato-shi, Kanagawa-ken 242-8502
+ Japan
+
+ Phone: +81-46-215-4678
+ EMail: mmurata@trl.ibm.co.jp
+
+
+ Simon St.Laurent
+ simonstl.com
+ 1259 Dryden Road
+ Ithaca, New York 14850
+ USA
+
+ EMail: simonstl@simonstl.com
+ URI: http://www.simonstl.com/
+
+
+ Dan Kohn
+ Skymoon Ventures
+ 3045 Park Boulevard
+ Palo Alto, California 94306
+ USA
+
+ Phone: +1-650-327-2600
+ EMail: dan@dankohn.com
+ URI: http://www.dankohn.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 31]
+
+RFC 3023 XML Media Types January 2001
+
+
+Appendix A. Why Use the '+xml' Suffix for XML-Based MIME Types?
+
+ Although the use of a suffix was not considered as part of the
+ original MIME architecture, this choice is considered to provide the
+ most functionality with the least potential for interoperability
+ problems or lack of future extensibility. The alternatives to the
+ '+xml' suffix and the reason for its selection are described below.
+
+A.1 Why not just use text/xml or application/xml and let the XML
+ processor dispatch to the correct application based on the
+ referenced DTD?
+
+ text/xml and application/xml remain useful in many situations,
+ especially for document-oriented applications that involve combining
+ XML with a stylesheet in order to present the data. However, XML is
+ also used to define entirely new data types, and an XML-based format
+ such as image/svg+xml fits the definition of a MIME media type
+ exactly as well as image/png[PNG] does. (Note that image/svg+xml is
+ not yet registered.) Although extra functionality is available for
+ MIME processors that are also XML processors, XML-based media types
+ -- even when treated as opaque, non-XML media types -- are just as
+ useful as any other media type and should be treated as such.
+
+ Since MIME dispatchers work off of the MIME type, use of text/xml or
+ application/xml to label discrete media types will hinder correct
+ dispatching and general interoperability. Finally, many XML
+ documents use neither DTDs nor namespaces, yet are perfectly legal
+ XML.
+
+A.2 Why not create a new subtree (e.g., image/xml.svg) to represent XML
+ MIME types?
+
+ The subtree under which a media type is registered -- IETF, vendor
+ (*/vnd.*), or personal (*/prs.*); see [RFC2048] for details -- is
+ completely orthogonal from whether the media type uses XML syntax or
+ not. The suffix approach allows XML document types to be identified
+ within any subtree. The vendor subtree, for example, is likely to
+ include a large number of XML-based document types. By using a
+ suffix, rather than setting up a separate subtree, those types may
+ remain in the same location in the tree of MIME types that they would
+ have occupied had they not been based on XML.
+
+A.3 Why not create a new top-level MIME type for XML-based media types?
+
+ The top-level MIME type (e.g., model/*[RFC2077]) determines what kind
+ of content the type is, not what syntax it uses. For example, agents
+ using image/* to signal acceptance of any image format should
+ certainly be given access to media type image/svg+xml, which is in
+
+
+
+Murata, et al. Standards Track [Page 32]
+
+RFC 3023 XML Media Types January 2001
+
+
+ all respects a standard image subtype. It just happens to use XML to
+ describe its syntax. The two aspects of the media type are
+ completely orthogonal.
+
+ XML-based data types will most likely be registered in ALL top-level
+ categories. Potential, though currently unregistered, examples could
+ include application/mathml+xml[MathML] and image/svg+xml[SVG].
+
+A.4 Why not just have the MIME processor 'sniff' the content to
+ determine whether it is XML?
+
+ Rather than explicitly labeling XML-based media types, the processor
+ could look inside each type and see whether or not it is XML. The
+ processor could also cache a list of XML-based media types.
+
+ Although this method might work acceptably for some mail
+ applications, it would fail completely in many other uses of MIME.
+ For instance, an XML-based web crawler would have no way of
+ determining whether a file is XML except to fetch it and check. The
+ same issue applies in some IMAP4[RFC2060] mail applications, where
+ the client first fetches the MIME type as part of the message
+ structure and then decides whether to fetch the MIME entity.
+ Requiring these fetches just to determine whether the MIME type is
+ XML could have significant bandwidth and latency disadvantages in
+ many situations.
+
+ Sniffing XML also isn't as simple as it might seem. DOCTYPE
+ declarations aren't required, and they can appear fairly deep into a
+ document under certain unpreventable circumstances. (E.g., the XML
+ declaration, comments, and processing instructions can occupy space
+ before the DOCTYPE declaration.) Even sniffing the DOCTYPE isn't
+ completely reliable, thanks to a variety of issues involving default
+ values for namespaces within external DTDs and overrides inside the
+ internal DTD. Finally, the variety in potential character encodings
+ (something XML provides tools to deal with), also makes reliable
+ sniffing less likely.
+
+A.5 Why not use a MIME parameter to specify that a media type uses XML
+ syntax?
+
+ For example, one could use "Content-Type: application/iotp;
+ alternate-type=text/xml" or "Content-Type: application/iotp;
+ syntax=xml".
+
+ Section 5 of [RFC2045] says that "Parameters are modifiers of the
+ media subtype, and as such do not fundamentally affect the nature of
+ the content". However, all XML-based media types are by their nature
+
+
+
+
+Murata, et al. Standards Track [Page 33]
+
+RFC 3023 XML Media Types January 2001
+
+
+ always XML. Parameters, as they have been defined in the MIME
+ architecture, are never invariant across all instantiations of a
+ media type.
+
+ More practically, very few if any MIME dispatchers and other MIME
+ agents support dispatching off of a parameter. While MIME agents on
+ the receiving side will need to be updated in either case to support
+ (or fall back to) generic XML processing, it has been suggested that
+ it is easier to implement this functionality when acting off of the
+ media type rather than a parameter. More important, sending agents
+ require no update to properly tag an image as "image/svg+xml", but
+ few if any sending agents currently support always tagging certain
+ content types with a parameter.
+
+A.6 How about labeling with parameters in the other direction (e.g.,
+ application/xml; Content-Feature=iotp)?
+
+ This proposal fails under the simplest case, of a user with neither
+ knowledge of XML nor an XML-capable MIME dispatcher. In that case,
+ the user's MIME dispatcher is likely to dispatch the content to an
+ XML processing application when the correct default behavior should
+ be to dispatch the content to the application responsible for the
+ content type (e.g., an ecommerce engine for
+ application/iotp+xml[RFC2801], once this media type is registered).
+
+ Note that even if the user had already installed the appropriate
+ application (e.g., the ecommerce engine), and that installation had
+ updated the MIME registry, many operating system level MIME
+ registries such as .mailcap in Unix and HKEY_CLASSES_ROOT in Windows
+ do not currently support dispatching off a parameter, and cannot
+ easily be upgraded to do so. And, even if the operating system were
+ upgraded to support this, each MIME dispatcher would also separately
+ need to be upgraded.
+
+A.7 How about a new superclass MIME parameter that is defined to apply
+ to all MIME types (e.g., Content-Type: application/iotp;
+ $superclass=xml)?
+
+ This combines the problems of Appendix A.5 and Appendix A.6.
+
+ If the sender attaches an image/svg+xml file to a message and
+ includes the instructions "Please copy the French text on the road
+ sign", someone with an XML-aware MIME client and an XML browser but
+ no support for SVG can still probably open the file and copy the
+ text. By contrast, with superclasses, the sender must add superclass
+ support to her existing mailer AND the receiver must add superclass
+ support to his before this transaction can work correctly.
+
+
+
+
+Murata, et al. Standards Track [Page 34]
+
+RFC 3023 XML Media Types January 2001
+
+
+ If the receiver comes to rely on the superclass tag being present and
+ applications are deployed relying on that tag (as always seems to
+ happen), then only upgraded senders will be able to interoperate with
+ those receiving applications.
+
+A.8 What about adding a new parameter to the Content-Disposition header
+ or creating a new Content-Structure header to indicate XML syntax?
+
+ This has nearly identical problems to Appendix A.7, in that it
+ requires both senders and receivers to be upgraded, and few if any
+ operating systems and MIME dispatchers support working off of
+ anything other than the MIME type.
+
+A.9 How about a new Alternative-Content-Type header?
+
+ This is better than Appendix A.8, in that no extra functionality
+ needs to be added to a MIME registry to support dispatching of
+ information other than standard content types. However, it still
+ requires both sender and receiver to be upgraded, and it will also
+ fail in many cases (e.g., web hosting to an outsourced server), where
+ the user can set MIME types (often through implicit mapping to file
+ extensions), but has no way of adding arbitrary HTTP headers.
+
+A.10 How about using a conneg tag instead (e.g., accept-features:
+ (syntax=xml))?
+
+ When the conneg protocol is fully defined, this may potentially be a
+ reasonable thing to do. But given the limited current state of
+ conneg[RFC2703] development, it is not a credible replacement for a
+ MIME-based solution.
+
+A.11 How about a third-level content-type, such as text/xml/rdf?
+
+ MIME explicitly defines two levels of content type, the top-level for
+ the kind of content and the second-level for the specific media type.
+ [RFC2048] extends this in an interoperable way by using prefixes to
+ specify separate trees for IETF, vendor, and personal registrations.
+ This specification also extends the two-level type by using the '
+ +xml' suffix. In both cases, processors that are unaware of these
+ later specifications treat them as opaque and continue to
+ interoperate. By contrast, adding a third-level type would break the
+ current MIME architecture and cause numerous interoperability
+ failures.
+
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 35]
+
+RFC 3023 XML Media Types January 2001
+
+
+A.12 Why use the plus ('+') character for the suffix '+xml'?
+
+ As specified in Section 5.1 of [RFC2045], a tspecial can't be used:
+
+ tspecials :=
+ "(" / ")" / "<" / ">" / "@" /
+ "," / ";" / ":" / "\" / <">
+ "/" / "[" / "]" / "?" / "="
+
+ It was thought that "." would not be a good choice since it is
+ already used as an additional hierarchy delimiter. Also, "*" has a
+ common wildcard meaning, and "-" and "_" are common word separators
+ and easily confused. The characters %'`#& are frequently used for
+ quoting or comments and so are not ideal.
+
+ That leaves: ~!$^+{}|
+
+ Note that "-" is used heavily in the current registry. "$" and "_"
+ are used once each. The others are currently unused.
+
+ It was thought that '+' expressed the semantics that a MIME type can
+ be treated (for example) as both scalable vector graphics AND ALSO as
+ XML; it is both simultaneously.
+
+A.13 What is the semantic difference between application/foo and
+ application/foo+xml?
+
+ MIME processors that are unaware of XML will treat the '+xml' suffix
+ as completely opaque, so it is essential that no extra semantics be
+ assigned to its presence. Therefore, application/foo and
+ application/foo+xml SHOULD be treated as completely independent media
+ types. Although, for example, text/calendar+xml could be an XML
+ version of text/calendar[RFC2445], it is possible that this
+ (hypothetical) new media type would include new semantics as well as
+ new syntax, and in any case, there would be many applications that
+ support text/calendar but had not yet been upgraded to support
+ text/calendar+xml.
+
+A.14 What happens when an even better markup language (e.g., EBML) is
+ defined, or a new category of data?
+
+ In the ten years that MIME has existed, XML is the first generic data
+ format that has seemed to justify special treatment, so it is hoped
+ that no further suffixes will be necessary. However, if some are
+ later defined, and these documents were also XML, they would need to
+ specify that the '+xml' suffix is always the outermost suffix (e.g.,
+
+
+
+
+
+Murata, et al. Standards Track [Page 36]
+
+RFC 3023 XML Media Types January 2001
+
+
+ application/foo+ebml+xml not application/foo+xml+ebml). If they were
+ not XML, then they would use a regular suffix (e.g.,
+ application/foo+ebml).
+
+A.15 Why must I use the '+xml' suffix for my new XML-based media type?
+
+ You don't have to, but unless you have a good reason to explicitly
+ disallow generic XML processing, you should use the suffix so as not
+ to curtail the options of future users and developers.
+
+ Whether the inventors of a media type, today, design it for dispatch
+ to generic XML processing machinery (and most won't) is not the
+ critical issue. The core notion is that the knowledge that some
+ media type happens to use XML syntax opens the door to unanticipated
+ kinds of processing beyond those envisioned by its inventors, and on
+ this basis identifying such encoding is a good and useful thing.
+
+ Developers of new media types are often tightly focused on a
+ particular type of processing that meets current needs. But there is
+ no need to rule out generic processing as well, which could make your
+ media type more valuable over time. It is believed that registering
+ with the '+xml' suffix will cause no interoperability problems
+ whatsoever, while it may enable significant new functionality and
+ interoperability now and in the future. So, the conservative
+ approach is to include the '+xml' suffix.
+
+Appendix B. Changes from RFC 2376
+
+ There are numerous and significant differences between this
+ specification and [RFC2376], which it obsoletes. This appendix
+ summarizes the major differences only.
+
+ First, text/xml-external-parsed-entity and application/xml-external-
+ parsed-entity are added as media types for external parsed entities,
+ and text/xml and application/xml are now prohibited.
+
+ Second, application/xml-dtd is added as a media type for external DTD
+ subsets and external parameter entities, and text/xml and
+ application/xml are now prohibited.
+
+ Third, "utf-16le" and "utf-16be" are added. RFC 2781 has introduced
+ these BOM-less variations of the UTF-16 family.
+
+ Fourth, a naming convention ('+xml') for XML-based media types has
+ been added, which also updates [RFC2048] as described in Section 7.
+ By following this convention, an XML-based media type can be easily
+ recognized as such.
+
+
+
+
+Murata, et al. Standards Track [Page 37]
+
+RFC 3023 XML Media Types January 2001
+
+
+Appendix C. Acknowledgements
+
+ This document reflects the input of numerous participants to the
+ ietf-xml-mime@imc.org mailing list, though any errors are the
+ responsibility of the authors. Special thanks to:
+
+ Mark Baker, James Clark, Dan Connolly, Martin Duerst, Ned Freed,
+ Yaron Goland, Rick Jelliffe, Larry Masinter, David Megginson, Keith
+ Moore, Chris Newman, Gavin Nicol, Marshall Rose, Jim Whitehead and
+ participants of the XML activity at the W3C.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 38]
+
+RFC 3023 XML Media Types January 2001
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Murata, et al. Standards Track [Page 39]
+
diff --git a/Documentation/en/rfc/rfc3090.txt b/Documentation/en/rfc/rfc3090.txt
new file mode 100644
index 00000000..08008f7a
--- /dev/null
+++ b/Documentation/en/rfc/rfc3090.txt
@@ -0,0 +1,619 @@
+
+
+
+
+
+
+Network Working Group E. Lewis
+Request for Comments: 3090 NAI Labs
+Category: Standards Track March 2001
+
+
+ DNS Security Extension Clarification on Zone Status
+
+Status of this Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+Abstract
+
+ The definition of a secured zone is presented, clarifying and
+ updating sections of RFC 2535. RFC 2535 defines a zone to be secured
+ based on a per algorithm basis, e.g., a zone can be secured with RSA
+ keys, and not secured with DSA keys. This document changes this to
+ define a zone to be secured or not secured regardless of the key
+ algorithm used (or not used). To further simplify the determination
+ of a zone's status, "experimentally secure" status is deprecated.
+
+1 Introduction
+
+ Whether a DNS zone is "secured" or not is a question asked in at
+ least four contexts. A zone administrator asks the question when
+ configuring a zone to use DNSSEC. A dynamic update server asks the
+ question when an update request arrives, which may require DNSSEC
+ processing. A delegating zone asks the question of a child zone when
+ the parent enters data indicating the status the child. A resolver
+ asks the question upon receipt of data belonging to the zone.
+
+1.1 When a Zone's Status is Important
+
+ A zone administrator needs to be able to determine what steps are
+ needed to make the zone as secure as it can be. Realizing that due
+ to the distributed nature of DNS and its administration, any single
+ zone is at the mercy of other zones when it comes to the appearance
+ of security. This document will define what makes a zone qualify as
+ secure.
+
+
+
+
+Lewis Standards Track [Page 1]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+ A name server performing dynamic updates needs to know whether a zone
+ being updated is to have signatures added to the updated data, NXT
+ records applied, and other required processing. In this case, it is
+ conceivable that the name server is configured with the knowledge,
+ but being able to determine the status of a zone by examining the
+ data is a desirable alternative to configuration parameters.
+
+ A delegating zone is required to indicate whether a child zone is
+ secured. The reason for this requirement lies in the way in which a
+ resolver makes its own determination about a zone (next paragraph).
+ To shorten a long story, a parent needs to know whether a child
+ should be considered secured. This is a two part question. Under
+ what circumstances does a parent consider a child zone to be secure,
+ and how does a parent know if the child conforms?
+
+ A resolver needs to know if a zone is secured when the resolver is
+ processing data from the zone. Ultimately, a resolver needs to know
+ whether or not to expect a usable signature covering the data. How
+ this determination is done is out of the scope of this document,
+ except that, in some cases, the resolver will need to contact the
+ parent of the zone to see if the parent states that the child is
+ secured.
+
+1.2 Islands of Security
+
+ The goal of DNSSEC is to have each zone secured, from the root zone
+ and the top-level domains down the hierarchy to the leaf zones.
+ Transitioning from an unsecured DNS, as we have now, to a fully
+ secured - or "as much as will be secured" - tree will take some time.
+ During this time, DNSSEC will be applied in various locations in the
+ tree, not necessarily "top down."
+
+ For example, at a particular instant, the root zone and the "test."
+ TLD might be secured, but region1.test. might not be. (For
+ reference, let's assume that region2.test. is secured.) However,
+ subarea1.region1.test. may have gone through the process of becoming
+ secured, along with its delegations. The dilemma here is that
+ subarea1 cannot get its zone keys properly signed as its parent zone,
+ region1, is not secured.
+
+ The colloquial phrase describing the collection of contiguous secured
+ zones at or below subarea1.region1.test. is an "island of security."
+ The only way in which a DNSSEC resolver will come to trust any data
+ from this island is if the resolver is pre-configured with the zone
+ key(s) for subarea1.region1.test., i.e., the root of the island of
+ security. Other resolvers (not so configured) will recognize this
+ island as unsecured.
+
+
+
+
+Lewis Standards Track [Page 2]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+ An island of security begins with one zone whose public key is pre-
+ configured in resolvers. Within this island are subzones which are
+ also secured. The "bottom" of the island is defined by delegations
+ to unsecured zones. One island may also be on top of another -
+ meaning that there is at least one unsecured zone between the bottom
+ of the upper island and the root of the lower secured island.
+
+ Although both subarea1.region1.test. and region2.test. have both been
+ properly brought to a secured state by the administering staff, only
+ the latter of the two is actually "globally" secured - in the sense
+ that all DNSSEC resolvers can and will verify its data. The former,
+ subarea1, will be seen as secured by a subset of those resolvers,
+ just those appropriately configured. This document refers to such
+ zones as being "locally" secured.
+
+ In RFC 2535, there is a provision for "certification authorities,"
+ entities that will sign public keys for zones such as subarea1.
+ There is another document, [RFC3008], that restricts this activity.
+ Regardless of the other document, resolvers would still need proper
+ configuration to be able to use the certification authority to verify
+ the data for the subarea1 island.
+
+1.2.1 Determining the closest security root
+
+ Given a domain, in order to determine whether it is secure or not,
+ the first step is to determine the closest security root. The
+ closest security root is the top of an island of security whose name
+ has the most matching (in order from the root) right-most labels to
+ the given domain.
+
+ For example, given a name "sub.domain.testing.signed.exp.test.", and
+ given the secure roots "exp.test.", "testing.signed.exp.test." and
+ "not-the-same.xy.", the middle one is the closest. The first secure
+ root shares 2 labels, the middle 4, and the last 0.
+
+ The reason why the closest is desired is to eliminate false senses of
+ insecurity because of a NULL key. Continuing with the example, the
+ reason both "testing..." and "exp.test." are listed as secure root is
+ presumably because "signed.exp.test." is unsecured (has a NULL key).
+ If we started to descend from "exp.test." to our given domain
+ (sub...), we would encounter a NULL key and conclude that sub... was
+ unsigned. However, if we descend from "testing..." and find keys
+ "domain...." then we can conclude that "sub..." is secured.
+
+ Note that this example assumes one-label deep zones, and assumes that
+ we do not configure overlapping islands of security. To be clear,
+ the definition given should exclude "short.xy.test." from being a
+ closest security root for "short.xy." even though 2 labels match.
+
+
+
+Lewis Standards Track [Page 3]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+ Overlapping islands of security introduce no conceptually interesting
+ ideas and do not impact the protocol in anyway. However, protocol
+ implementers are advised to make sure their code is not thrown for a
+ loop by overlaps. Overlaps are sure to be configuration problems as
+ islands of security grow to encompass larger regions of the name
+ space.
+
+1.3 Parent Statement of Child Security
+
+ In 1.1 of this document, there is the comment "the parent states that
+ the child is secured." This has caused quite a bit of confusion.
+
+ The need to have the parent "state" the status of a child is derived
+ from the following observation. If you are looking to see if an
+ answer is secured, that it comes from an "island of security" and is
+ properly signed, you must begin at the (appropriate) root of the
+ island of security.
+
+ To find the answer you are inspecting, you may have to descend
+ through zones within the island of security. Beginning with the
+ trusted root of the island, you descend into the next zone down. As
+ you trust the upper zone, you need to get data from it about the next
+ zone down, otherwise there is a vulnerable point in which a zone can
+ be hijacked. When or if you reach a point of traversing from a
+ secured zone to an unsecured zone, you have left the island of
+ security and should conclude that the answer is unsecured.
+
+ However, in RFC 2535, section 2.3.4, these words seem to conflict
+ with the need to have the parent "state" something about a child:
+
+ There MUST be a zone KEY RR, signed by its superzone, for every
+ subzone if the superzone is secure. This will normally appear in
+ the subzone and may also be included in the superzone. But, in
+ the case of an unsecured subzone which can not or will not be
+ modified to add any security RRs, a KEY declaring the subzone to
+ be unsecured MUST appear with the superzone signature in the
+ superzone, if the superzone is secure.
+
+ The confusion here is that in RFC 2535, a secured parent states that
+ a child is secured by SAYING NOTHING ("may also be" as opposed to
+ "MUST also be"). This is counter intuitive, the fact that an absence
+ of data means something is "secured." This notion, while acceptable
+ in a theoretic setting has met with some discomfort in an operation
+ setting. However, the use of "silence" to state something does
+ indeed work in this case, so there hasn't been sufficient need
+ demonstrated to change the definition.
+
+
+
+
+
+Lewis Standards Track [Page 4]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+1.4 Impact on RFC 2535
+
+ This document updates sections of RFC 2535. The definition of a
+ secured zone is an update to section 3.4 of the RFC. Section 3.4 is
+ updated to eliminate the definition of experimental keys and
+ illustrate a way to still achieve the functionality they were
+ designed to provide. Section 3.1.3 is updated by the specifying the
+ value of the protocol octet in a zone key.
+
+1.5 "MUST" and other key words
+
+ The key words "MUST", "REQUIRED", "SHOULD", "RECOMMENDED", and "MAY"
+ in this document are to be interpreted as described in [RFC 2119].
+ Currently, only "MUST" is used in this document.
+
+2 Status of a Zone
+
+ In this section, rules governing a zone's DNSSEC status are
+ presented. There are three levels of security defined: global,
+ local, and unsecured. A zone is globally secure when it complies
+ with the strictest set of DNSSEC processing rules. A zone is locally
+ secured when it is configured in such a way that only resolvers that
+ are appropriately configured see the zone as secured. All other
+ zones are unsecured.
+
+ Note: there currently is no document completely defining DNSSEC
+ verification rules. For the purposes of this document, the strictest
+ rules are assumed to state that the verification chain of zone keys
+ parallels the delegation tree up to the root zone. (See 2.b below.)
+ This is not intended to disallow alternate verification paths, just
+ to establish a baseline definition.
+
+ To avoid repetition in the rules below, the following terms are
+ defined.
+
+ 2.a Zone signing KEY RR - A KEY RR whose flag field has the value 01
+ for name type (indicating a zone key) and either value 00 or value 01
+ for key type (indicating a key permitted to authenticate data). (See
+ RFC 2535, section 3.1.2). The KEY RR also has a protocol octet value
+ of DNSSEC (3) or ALL (255).
+
+ The definition updates RFC 2535's definition of a zone key. The
+ requirement that the protocol field be either DNSSEC or ALL is a new
+ requirement (a change to section 3.1.3.)
+
+ 2.b On-tree Validation - The authorization model in which only the
+ parent zone is recognized to supply a DNSSEC-meaningful signature
+ that is used by a resolver to build a chain of trust from the child's
+
+
+
+Lewis Standards Track [Page 5]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+ keys to a recognized root of security. The term "on-tree" refers to
+ following the DNS domain hierarchy (upwards) to reach a trusted key,
+ presumably the root key if no other key is available. The term
+ "validation" refers to the digital signature by the parent to prove
+ the integrity, authentication and authorization of the child's key to
+ sign the child's zone data.
+
+ 2.c Off-tree Validation - Any authorization model that permits domain
+ names other than the parent's to provide a signature over a child's
+ zone keys that will enable a resolver to trust the keys.
+
+2.1 Globally Secured
+
+ A globally secured zone, in a nutshell, is a zone that uses only
+ mandatory to implement algorithms (RFC 2535, section 3.2) and relies
+ on a key certification chain that parallels the delegation tree (on-
+ tree validation). Globally secured zones are defined by the
+ following rules.
+
+ 2.1.a. The zone's apex MUST have a KEY RR set. There MUST be at
+ least one zone signing KEY RR (2.a) of a mandatory to implement
+ algorithm in the set.
+
+ 2.1.b. The zone's apex KEY RR set MUST be signed by a private key
+ belonging to the parent zone. The private key's public companion
+ MUST be a zone signing KEY RR (2.a) of a mandatory to implement
+ algorithm and owned by the parent's apex.
+
+ If a zone cannot get a conforming signature from the parent zone, the
+ child zone cannot be considered globally secured. The only exception
+ to this is the root zone, for which there is no parent zone.
+
+ 2.1.c. NXT records MUST be deployed throughout the zone. (Clarifies
+ RFC 2535, section 2.3.2.) Note: there is some operational discomfort
+ with the current NXT record. This requirement is open to
+ modification when two things happen. First, an alternate mechanism
+ to the NXT is defined and second, a means by which a zone can
+ indicate that it is using an alternate method.
+
+ 2.1.d. Each RR set that qualifies for zone membership MUST be signed
+ by a key that is in the apex's KEY RR set and is a zone signing KEY
+ RR (2.a) of a mandatory to implement algorithm. (Updates 2535,
+ section 2.3.1.)
+
+ Mentioned earlier, the root zone is a special case. The root zone
+ will be considered to be globally secured provided that if conforms
+ to the rules for locally secured, with the exception that rule 2.1.a.
+ be also met (mandatory to implement requirement).
+
+
+
+Lewis Standards Track [Page 6]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+2.2 Locally Secured
+
+ The term "locally" stems from the likely hood that the only resolvers
+ to be configured for a particular zone will be resolvers "local" to
+ an organization.
+
+ A locally secured zone is a zone that complies with rules like those
+ for a globally secured zone with the following exceptions. The
+ signing keys may be of an algorithm that is not mandatory to
+ implement and/or the verification of the zone keys in use may rely on
+ a verification chain that is not parallel to the delegation tree
+ (off-tree validation).
+
+ 2.2.a. The zone's apex MUST have a KEY RR set. There MUST be at
+ least one zone signing KEY RR (2.a) in the set.
+
+ 2.2.b. The zone's apex KEY RR set MUST be signed by a private key and
+ one of the following two subclauses MUST hold true.
+
+ 2.2.b.1 The private key's public companion MUST be pre-configured in
+ all the resolvers of interest.
+
+ 2.2.b.2 The private key's public companion MUST be a zone signing KEY
+ RR (2.a) authorized to provide validation of the zone's apex KEY RR
+ set, as recognized by resolvers of interest.
+
+ The previous sentence is trying to convey the notion of using a
+ trusted third party to provide validation of keys. If the domain
+ name owning the validating key is not the parent zone, the domain
+ name must represent someone the resolver trusts to provide
+ validation.
+
+ 2.2.c. NXT records MUST be deployed throughout the zone. Note: see
+ the discussion following 2.1.c.
+
+ 2.2.d. Each RR set that qualifies for zone membership MUST be signed
+ by a key that is in the apex's KEY RR set and is a zone signing KEY
+ RR (2.a). (Updates 2535, section 2.3.1.)
+
+2.3 Unsecured
+
+ All other zones qualify as unsecured. This includes zones that are
+ designed to be experimentally secure, as defined in a later section
+ on that topic.
+
+
+
+
+
+
+
+Lewis Standards Track [Page 7]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+2.4 Wrap up
+
+ The designation of globally secured, locally secured, and unsecured
+ are merely labels to apply to zones, based on their contents.
+ Resolvers, when determining whether a signature is expected or not,
+ will only see a zone as secured or unsecured.
+
+ Resolvers that follow the most restrictive DNSSEC verification rules
+ will only see globally secured zones as secured, and all others as
+ unsecured, including zones which are locally secured. Resolvers that
+ are not as restrictive, such as those that implement algorithms in
+ addition to the mandatory to implement algorithms, will see some
+ locally secured zones as secured.
+
+ The intent of the labels "global" and "local" is to identify the
+ specific attributes of a zone. The words are chosen to assist in the
+ writing of a document recommending the actions a zone administrator
+ take in making use of the DNS security extensions. The words are
+ explicitly not intended to convey a state of compliance with DNS
+ security standards.
+
+3 Experimental Status
+
+ The purpose of an experimentally secured zone is to facilitate the
+ migration from an unsecured zone to a secured zone. This distinction
+ is dropped.
+
+ The objective of facilitating the migration can be achieved without a
+ special designation of an experimentally secure status.
+ Experimentally secured is a special case of locally secured. A zone
+ administrator can achieve this by publishing a zone with signatures
+ and configuring a set of test resolvers with the corresponding public
+ keys. Even if the public key is published in a KEY RR, as long as
+ there is no parent signature, the resolvers will need some pre-
+ configuration to know to process the signatures. This allows a zone
+ to be secured with in the sphere of the experiment, yet still be
+ registered as unsecured in the general Internet.
+
+4 IANA Considerations
+
+ This document does not request any action from an assigned number
+ authority nor recommends any actions.
+
+
+
+
+
+
+
+
+
+Lewis Standards Track [Page 8]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+5 Security Considerations
+
+ Without a means to enforce compliance with specified protocols or
+ recommended actions, declaring a DNS zone to be "completely" secured
+ is impossible. Even if, assuming an omnipotent view of DNS, one can
+ declare a zone to be properly configured for security, and all of the
+ zones up to the root too, a misbehaving resolver could be duped into
+ believing bad data. If a zone and resolver comply, a non-compliant
+ or subverted parent could interrupt operations. The best that can be
+ hoped for is that all parties are prepared to be judged secure and
+ that security incidents can be traced to the cause in short order.
+
+6 Acknowledgements
+
+ The need to refine the definition of a secured zone has become
+ apparent through the efforts of the participants at two DNSSEC
+ workshops, sponsored by the NIC-SE (.se registrar), CAIRN (a DARPA-
+ funded research network), and other workshops. Further discussions
+ leading to the document include Olafur Gudmundsson, Russ Mundy,
+ Robert Watson, and Brian Wellington. Roy Arends, Ted Lindgreen and
+ others have contributed significant input via the namedroppers
+ mailing list.
+
+7 References
+
+ [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ STD 13, RFC 1034, November 1987.
+
+ [RFC1035] Mockapetris, P., "Domain Names - Implementation and
+ Specification", STD 13, RFC 1035, November 1987.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2136] Vixie, P., (Ed.), Thomson, S., Rekhter, Y. and J. Bound,
+ "Dynamic Updates in the Domain Name System", RFC 2136,
+ April 1997.
+
+ [RFC2535] Eastlake, D., "Domain Name System Security Extensions", RFC
+ 2535, March 1999.
+
+ [RFC3007] Wellington, B., "Simple Secure Domain Name System (DNS)
+ Dynamic Update", RFC 3007, November 2000.
+
+ [RFC3008] Wellington, B., "Domain Name System Security (DNSSEC)
+ Signing Authority", RFC 3008, November 2000.
+
+
+
+
+
+Lewis Standards Track [Page 9]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+10 Author's Address
+
+ Edward Lewis
+ NAI Labs
+ 3060 Washington Road Glenwood
+ MD 21738
+
+ Phone: +1 443 259 2352
+ EMail: lewis@tislabs.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Lewis Standards Track [Page 10]
+
+RFC 3090 DNS Security Extension on Zone Status March 2001
+
+
+11 Full Copyright Statement
+
+ Copyright (C) The Internet Society (2001). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Lewis Standards Track [Page 11]
+
diff --git a/Documentation/en/rfc/rfc724.txt b/Documentation/en/rfc/rfc724.txt
new file mode 100644
index 00000000..ff6b1239
--- /dev/null
+++ b/Documentation/en/rfc/rfc724.txt
@@ -0,0 +1,1869 @@
+
+
+
+
+ RFC # 724
+ NIC #37435 12 May 1977
+
+
+
+
+
+
+
+
+
+
+
+
+ Proposed Official Standard for the
+ Format of ARPA Network Messages
+
+
+
+
+
+
+
+
+
+
+ by
+
+
+ Ken Pogran, MIT-LCS/CSR (Pogran at MIT-Multics)
+ John Vittal, BBN (Vittal at BBN-TENEXA)
+ Dave Crocker, RAND-ISD (DCrocker at Rand-Unix)
+ Austin Henderson, BBN (Henderson at BBN-TENEXD)
+
+
+
+ Proposed Standard for Message Format / ii
+
+
+
+
+
+ PREFACE
+
+
+
+ ARPA's Committee on Computer-Aided Human Communication
+ (CAHCOM) wishes to promulgate an official standard for the format
+ of ARPA Network mail headers which will adequately meet the needs
+ of the various message service subsystems on the Network today.
+ The authors of this RFC constitute the CAHCOM subcommittee
+ charged with the task of developing this new standard; this
+ document presents our current thoughts on the matter and a
+ specific proposal.
+
+ This document is organized as follows: First, we present a
+ history, of the development of what has become known as the ARPA
+ Network "mail" or "message" service, and the issues which we feel
+ are most pressing -- problems for which solutions are lacking
+ today, inhibiting the further development of message subsystems.
+ We then present the specification for the new ARPA Network
+ Message Header standard. This is followed by a References
+ section.
+
+ Essentially, we propose a revision to Request for Comments
+ (RFC) 561, "Standardizing Network Mail Headers", and RFC 680,
+ "Message Transmission Protocol". This revision removes and
+ compacts portions of the previous syntax and adds several
+ features to network address specification. In particular, we
+ focus on people and not mailboxes as recipients and allow
+ reference to stored address lists. We expect this syntax to
+ provide sufficient capabilities to meet most users' immediate
+ needs and, therefore, give developers enough breathing room to
+ produce a new mail transmission protocol "properly". We believe
+ that there is enough of a consensus in the Network community in
+ favor of such a standard syntax to make possible its adoption at
+ this time.
+
+ We would like to make clear the status of this proposed
+ standard: The CAHCOM Steering Committee has replaced the Message
+ Service Committee as the ARPANET standards-setting organization
+ in the area of message services. It is expected that the
+ proposal of this CAHCOM subcommittee, when in its final form,
+ will be adopted as an ARPANET standard by CAHCOM. In the
+ interests of making this standard the best possible one, we are
+ distributing this proposal as an RFC.
+
+ Please send any comments and criticisms to any of the
+ authors of this RFC by 15 June 1977. It is planned that the
+ standard will be officially adopted by 1 September 1977, with
+ hosts expected to accept its syntax by 1 January 1978.
+
+
+
+ Proposed Standard for Message Format / iii
+
+
+
+
+
+
+
+
+
+
+
+ CONTENTS
+
+
+
+ I. PROBLEMS WITH ARPANET
+ MESSAGE STANDARDS
+
+ A. Background and History
+ B. Issues and Conclusions
+ C. Message Parts
+ D. Adoption of the Standard
+
+
+
+ II. STANDARD FOR THE FORMAT
+ OF ARPA NETWORK MESSAGES
+
+ A. Framework
+ B. Syntax
+ C. Semantics
+ D. Examples
+
+
+
+ III. REFERENCES
+
+
+
+
+ APPENDIX
+
+ A. Alphabetical Listing of Syntax Rules
+
+
+
+ I. Problems with ARPANET Message Standards / 1
+ A. Background and History
+
+
+
+
+
+ I. PROBLEMS WITH ARPANET MESSAGE STANDARDS
+
+
+
+ A. BACKGROUND AND HISTORY
+
+
+ Today's ARPA Network "mail" or "message" service uses, for
+ its delivery mechanism, two special commands of the File Transfer
+ Protocol. Viewed from within the structure of FTP, the entire
+ message, both header and text, is data for the FTP MAIL and MLFL
+ commands. This facility was added to the File Transfer Protocol
+ as an afterthought; it was an interim solution to be used only
+ until a separate mail transmission protocol was specified.
+ Several versions of such a protocol have been proposed, but none
+ has yet received general acceptance. Meanwhile, attempts have
+ been made to improve upon the original interim facility.
+
+ As message service subsystems on various host systems
+ (especially TENEX) developed to the point where rudimentary
+ parsing of incoming messages was being done, it became clear that
+ it would be desirable to standardize the format and content of
+ the headers of messages transmitted between hosts using these FTP
+ commands. To this end, an ad hoc committee wrote RFC 561, which
+ suggested a standard message header format. The committee was
+ unofficial, so it could not legislate a standard, it could only
+ recommend. However, the standard it suggested adequately met an
+ urgent need, and was generally adopted.
+
+ Several salient points should be noted:
+
+ 1. RFC 561 defined the concept of a message header, and
+ specified the syntax which delimited it from the actual
+ text of a message;
+
+ 2. It proposed a standard format for the most obvious and
+ most urgently-needed header items: "From:", "Date:", and
+ "Subject:";
+
+ 3. It proposed that a general standard syntax be used for
+ all other header items;
+
+ 4. RFC 561 is still, today, an unofficial standard, adhered
+ to by most because of its utility;
+
+ 5. Its syntax was designed to allow humans to read the text
+ easily, without the aid of special message processing
+ systems.
+
+
+
+ I. Problems with ARPANET Message Standards / 2
+ A. Background and History
+
+
+
+ As message services grew in sophistication, the need for
+ specific header items in RFC 561's "miscellaneous" category grew:
+ "To:" and "cc:", especially, were generated and recognized by
+ several different message services. However, there was no
+ specific standard for the syntax of the contents of these items.
+ The message service subsystems on TENEX developed a particular
+ format for these items; since more messages originated from the
+ TENEX hosts on the Network than from any other type of host
+ system, the TENEX format for these fields soon became a de facto
+ standard. Message service subsystems on TENEX began to parse
+ these fields, expecting them to be in the TENEX-generated format.
+ Message service subsystems on other hosts -- Multics, for example
+ -- began to dabble with other formats for these fields, since
+ there was no standard for them, only to receive complaints from
+ users of TENEX message service subsystems that their "non-
+ standard" message headers could not be parsed according to the
+ (de facto) "standard" syntax.
+
+ Recognizing that the time had come to make an attempt to
+ standardize the additional header fields that had come into use
+ since RFC 561 was published, ARPA's Message Service Committee
+ chartered a small group in 1975 to develop a revised version of
+ RFC 561 which would define the syntax of these additional message
+ header fields. Several things should be noted about this small
+ group of people: first, they were TENEX-oriented; when the
+ functionality of the message header items they desired was
+ matched by the functionality of an already-existing message
+ header item of the TENEX message subsystems, they adopted the
+ syntax used by the TENEX message subsystems. Second, they based
+ additional header items not already found on TENEX message
+ subsystems on the deliberations of the Message Service Committee.
+ Third, they were not familiar with the procedure for publication
+ of a document as a Network RFC.
+
+ The document which this group produced, labelled RFC 680,
+ "Message Transmission Protocol", received only limited
+ distribution. Matters were further confused because its title
+ was misleading, since it was not a protocol for the transmission
+ of messages between ARPA Network hosts, but rather a standard for
+ the format of messages transmitted via the standard File Transfer
+ Protocol. Some, including the Message Service Committee,
+ believed that RFC 680 became a Network Standard. This was not
+ strictly true, because it never received proper distribution, and
+ it had never been "officially blessed" by anyone, to turn it from
+ a request for comments into an accepted official ARPA Network
+ standard document. Reflecting this confusion over the status of
+ the document are the facts that the document DOES currently
+ reside in the "official" ARPANET Protocol Handbook, and most
+ users and message system implementors remain unaware that this is
+ so.
+
+
+
+ I. Problems with ARPANET Message Standards / 3
+ A. Background and History
+
+
+
+ For all its shortcomings, RFC 680 has performed a needed
+ service, just as did RFC 561 before it. It defined additional
+ message header items at a time when this needed to be done.
+ Unfortunately, since the group had not sought ideas and input
+ from others, the specification did not adequately respond to a
+ sufficient set of community needs. In addition, the manner in
+ which the document was promulgated -- or not promulgated -- left
+ a great deal to be desired. Implementators of message-processing
+ subsystems who had not received RFC 680 proceeded to go their own
+ ways, feeling justified in doing so, while those who accepted RFC
+ 680 as a standard felt justified in complaining to -- and about
+ -- those whom they considered to be maverick implementors of
+ idiosyncratic message service subsystems.
+
+ Perhaps because of the ad-hoc nature of the interim mail
+ facility, users have not, until recently, attempted to push the
+ system to the limits of their imagination. Presently, however,
+ several different sites are using the "interim" mail facility for
+ more than it was designed and in ways which are incompatible both
+ with each other and with the original intent of the facility.
+ Mail subsystem implementors are increasingly being asked to
+ provide for the handling of mail from idiosyncratic hosts. Also,
+ it has become clear that there are a few very specific features,
+ too useful to ignore, which cannot reasonably be specified within
+ the syntax of RFC 680.
+
+
+
+ B. ISSUES AND CONCLUSIONS
+
+
+ At first glance, it would seem that a resolution of today's
+ somewhat chaotic situation could best be obtained by immediately
+ junking the existing "interim" mail facility, and adopting a true
+ mail transmission protocol. We strongly believe that this would
+ be ill-advised at this time, for we feel that there is no general
+ understanding within the Network community today of how to
+ specify and implement a full and adequate mail transmission
+ protocol. However, we are convinced that there is, finally, a
+ strong commitment within the Network community to attack this
+ problem (which there was not at the time the "interim" mail
+ transmission facility was specified and developed).
+
+ The frontal attacks on the mail protocol problem have, so
+ far, resulted in at least two suggestions for a mail transmission
+ protocol. Why should not one of these protocols be adopted
+ immediately? We feel that, in general, there has been a tendency
+ for experimental Network software to be prematurely treated as
+ though it were adequately designed and fully operational.
+ Typically, the system or protocol proposed is so much better than
+ what was previously available that its experimental nature is
+ disregarded, and it is pressed into service before it has had a
+
+
+ I. Problems with ARPANET Message Standards / 4
+ B. Issues and Conclusions
+
+
+
+ chance to properly develop and mature. We are very concerned
+ that this phenomenon not afflict the Network mail system any more
+ than it already has.
+
+ While it is true that there are several sites in the ARPA
+ Community which have mail systems that understand the syntax
+ specified in RFC's 561 and 680, in addition to some of the "non-
+ standard" syntax provided by the mail generating programs at
+ several other sites, most mail systems do not parse much of the
+ contents of received messages. A consideration of the syntax
+ specified here is that messages which are sent to people should
+ be easily read by people. Parsers which can turn an ugly,
+ syntactically expedient form into something which is easy to read
+ are the exception, rather than the rule, in today's message
+ systems. Also, the modifications to the existing "non-standard"
+ syntax should be kept to a minimum, enhancing the probability
+ that the requirement of small perturbations to existing software
+ will be accepted.
+
+ With this syntax, we introduce mechanisms so that:
+
+ 1. Users of mail systems can have multiple mailboxes, either
+ on one machine or multiple machines, all of which are
+ treated identically; the default mailbox for a user is
+ not necessarily associated (directly) with his login
+ name.
+
+ 2. Mail for a person can be sent to other than a single,
+ default mailbox.
+
+ 3. Named groups may consist of both individuals and
+ (possibly) other named groups (i.e., nesting within
+ groups is permitted).
+
+ 4. Address lists may contain references to other, stored,
+ lists. The complete path with which one can retrieve the
+ stored list may be specified in order to allow either
+ manual or automatic retrieval of the stored list.
+
+ 5. Address lists may contain references to addresses which
+ are not accessible through the standard ARPANET message
+ system. For example, U.S. Postal system addresses can
+ be specified. Such addresses are, of course, expected to
+ be ignored by the ARPANET system, although individual
+ sites may provide services for using the information
+ (e.g., automatically sending a copy of the message to a
+ line printer, in preparation for transmission through the
+ Postal system).
+
+ 6. Parenthetical remarks, or comments, can be included and
+ syntactically recognized as such within some header
+ items.
+
+
+ I. Problems with ARPANET Message Standards / 5
+ B. Issues and Conclusions
+
+
+
+ 7. Received messages are capable of being read by humans
+ without a program having to parse the message (or parts
+ of it) before presenting the message to the user; however
+ there is sufficient formal syntax to enable a parsing
+ program to modify the appearance and content of material
+ presented to users. Although message-display software
+ may exercise considerable control over message
+ appearance, the degree to which a message's actual format
+ is PLEASANT for humans to read is entirely the
+ responsibility of the message creation program.
+
+ No mechanism for authentication is provided, since the Network
+ provides no mechanisms for enforcing mail security. The syntax
+ does provide for one aspect of "correctness": a distinction is
+ made between an address which is claimed to be a valid network
+ address and one which is simply free text, included for the
+ convenience of the human participants.
+
+
+
+
+ C. MESSAGE PARTS
+
+ Some confusion has existed over the roles played by
+ different message parts. Einar Stefferud has suggested using the
+ perspective of envelope, letter head, and letter content. The
+ presence of structured portions in messages additionally requires
+ reference to "headers".
+
+ In computer-based message systems, human users do not
+ generally encounter "envelopes", which are often constructed
+ automatically, to be used by the participating system(s) to
+ deliver the message. For example on TENEX, the envelope is the
+ name of the file containing a message awaiting transmission. For
+ FTP servers, it is the data portion of the MAIL or MLFL command
+ line. Some systems attach "envelope-like" information to the
+ message header, such as time-stamp and originating host name.
+
+ In paper-based communications, headers occur both before
+ (e.g., "To:" and "From:" and after (e.g., "cc:" and "enclosure:")
+ the body of the message. Within this standard, all headers occur
+ before the body of the message, although local message display
+ programs may choose to alter that ordering.
+
+ Wayne Hathaway has pointed out that ARPANET message format
+ does not support specification of letterheads, since these are a
+ type of organizational public relations symbol. Some
+ idiosyncrasies are supported, however, by way of choosing special
+ field names.
+
+ In general, it is important to realize that the header
+ portion of a message plays several roles during the life of a
+
+
+ I. Problems with ARPANET Message Standards / 6
+ C. Message Parts
+
+
+
+ message, variously participating in each of the three functions
+ suggested by Stefferud.
+
+
+
+ D. ADOPTION OF THE STANDARD
+
+
+ During the early phases of specifying this standard, a great
+ deal of concern was expressed over the problems which may be
+ experienced during the transition from the current standard to
+ this new one. We feel that the true problem is the lack of
+ realization that THERE IS NO CURRENT OFFICIAL STANDARD. Enough
+ systems have enough overlapping behaviors to allow the current
+ mail environment to function, but this in no way constitutes a
+ standard.
+
+ In fact, we strongly believe that the new requirements
+ imposed by the proposed standard involve less complexity than the
+ ambiguities resulting from the current variations in system
+ behaviors.
+
+
+
+ II. Standard for the Format of Messages / 7
+
+
+
+
+
+
+
+ II. STANDARD FOR THE FORMAT
+ OF ARPA NETWORK MESSAGES
+
+
+
+ This standard supercedes the informal standards specified in
+ ARPANET Request for Comments numbers 561, "Standardizing Network
+ Mail Headers", and 680, "Message Transmission Protocol". In this
+ document, a general framework is described. The formal syntax is
+ then specified, followed by a discussion of the semantics.
+ Finally, a number of examples are given.
+
+ This specification is intended strictly as a definition of
+ what is to be passed between hosts on the ARPANET. It is NOT
+ intended to dictate either features which systems on the Network
+ are expected to support, or user interfaces to message creating
+ or reading programs.
+
+ A distinction should be made between what the specification
+ requires and what it allows. Certain equivalences are defined,
+ such as between a space character <space> and an end-of-line
+ character <crlf>, which both facilitate the formal specification
+ and indicate what the OFFICIAL semantics are for messages.
+ Particular implementations may wish to preserve further
+ distinctions which the specification does not require.
+
+
+
+ A. FRAMEWORK
+
+
+ Since there are many message systems which exist outside the
+ ARPANET environment, as well as those within it, it may be useful
+ to consider the general framework, and resulting capabilities and
+ limitations, of this standard.
+
+ Messages are expected to consist of lines of text. No
+ special provisions are made, at this time, for encoding drawings,
+ facimile, speech, or structured text.
+
+ No significant consideration has been given to questions of
+ data compression or transmission/storage efficiency. The
+ standard, in fact, tends to be very free with the number of bits
+ consumed. For example, field names are specified as free text,
+ rather than special terse codes.
+
+ A general "memo" framework is used. That is, a message
+ consists of some information, in a rigid format, followed by the
+ main part of the message, which is text and whose format is not
+
+
+ II. Standard for the Format of Messages / 8
+ A. Framework
+
+
+
+ specified in this document. The syntax of several fields of the
+ rigidly-formated ("header") section is defined in this
+ specification; some of the header fields must be included in all
+ messages. In addition to the fields specified in this document,
+ it is expected that other fields will gain common use. User-
+ defined header fields allow systems to extend their functionality
+ while maintaining a uniform framework. Our approach is similar
+ to that of the TELNET protocol, in that we are defining a basic
+ standard which includes a mechanism for (optionally) extending
+ itself. The authors of this document will regulate the
+ publishing of specifications for these extensions.
+
+ Such a framework severely constrains document "tone" and
+ appearance and is primarily useful for most intra-organization
+ communications and relatively structured inter-organization
+ communication. A more robust environment might allow for multi-
+ font, multi-color, multi-dimension encoding of information. A
+ less robust environment, as is present in most single-machine
+ message systems, would more severely constrain the ability to add
+ fields and the decision to include specific fields. Relative to
+ paper-based communication, it is interesting to note that the
+ RECEIVER of a message can exercise an extraordinary amount of
+ control over the message's appearance. The amount of actual
+ control available to message receivers is contingent upon the
+ capabilties of their individual message systems.
+
+
+
+ II. Standard for the Format of Messages / 9
+ B. Syntax
+
+
+
+
+
+ B. SYNTAX
+
+
+ This syntax is given in four parts. The first part
+ describes a base-level lexical analyzer which feeds the higher-
+ level parser described in the succeeding sections. The second
+ part gives a general syntax for messages and standard header
+ fields. The third part specifies the syntax of addresses. A
+ final section specifies some general syntax which supports the
+ other sections.
+
+
+
+ 1. LEXICAL ANALYSIS OF MESSAGES
+
+
+ a. General Description
+
+ A message consists of headers and, optionally, a body (i.e.
+ the <message-text>). The <message-text> part is just a
+ sequence of ASCII characters; it is separated from the
+ headers by a null line (i.e., a line with nothing preceding
+ the <crlf>).
+
+ 1) Folding and unfolding of headers
+
+ Each header item can be viewed as a single, logical, long
+ line of ASCII characters. For convenience, this
+ conceptual entity can be split into a multiple-line
+ representation (i.e., "folded"). The general rule is that
+ wherever there can be <linear-white-space> characters, you
+ can instead insert a <crlf> immediately followed by AT
+ LEAST one <linear-white-space> character. Thus, the
+ single line
+
+ To: "Joe Dokes & J. Harvey" <ddd at Host>, JJV at BBN
+
+ can be represented as
+
+ To: "Joe Dokes & J. Harvey" <ddd at Host>,
+ JJV at BBN
+
+ and
+
+ To: "Joe Dokes & J. Harvey"
+ <ddd at Host>,
+ JJV at BBN
+
+
+
+ II. Standard for the Format of Messages / 10
+ B. Syntax
+ 1. Lexical Analysis
+
+
+
+ and
+
+ To: "Joe Dokes
+ & J. Harvey" <ddd at Host>, JJV at BBN
+
+ The process of moving from this folded multiple-line
+ representation of a header field to its single line
+ representation will be called "unfolding". Unfolding is
+ accomplished by regarding <crlf> immediately followed by a
+ <linear-white-space-char> as equivalent to the <linear-
+ white-space-char>.
+
+
+ 2) Structure of header fields
+
+ Once header fields have been unfolded, they may be viewed
+ as being composed of a <field-name> followed by a ":"
+ (colon), followed by a <field-body>. The <field-name>
+ must be composed of printable ASCII characters (i.e.,
+ characters which have decimal values between 33 and 126)
+ and <linear-white-space> characters. The <field-body> may
+ composed of any ASCII characters (other than <cr> and
+ <lf>, which have been removed by unfolding).
+
+ Certain header fields may be interpreted according to an
+ internal syntax which some systems may wish to parse.
+ These fields will be referred to as structured fields.
+ Examples include fields containing dates and addresses.
+ Other fields, such as the subject field, are regarded
+ simply as a single line of text.
+
+ 3) Field names
+
+ To aid in the creation and reading of <field-name>s, the
+ free insertion of <linear-white-space> characters is
+ allowed in reasonable places. Rather than obscuring the
+ syntax specification for <field-name> with the explicit
+ syntax for these <linear-white-space> characters, the
+ existence of a simple "lexical" analyzer is assumed. The
+ analyzer reinterprets the unfolded text which comprises
+ the <field-name> as a sequence of <atoms> separated by
+ <linear-white-space> characters. The field name may be
+ conveniently represented by the sequence of these atoms,
+ separated by a single ASCII space character.
+
+
+
+ II. Standard for the Format of Messages / 11
+ B. Syntax
+ 1. Lexical Analysis
+
+
+
+ 4) Field bodies
+
+ To aid in the creation and reading of structured fields,
+ the free insertion of <linear-white-space> characters is
+ allowed in reasonable places. Rather than obscuring the
+ syntax specifications for these structured fields with
+ explicit syntax for these <linear-white-space> characters,
+ the existence of another simple "lexical" analyzer is
+ assumed. It provides an interpretation of the unfolded
+ text comprising the body of the field as a sequence of
+ lexical symbols. These include
+
+ - individual special characters
+ - quoted strings
+ - comments
+ - atoms
+
+ The first three symbols are self-delimiting. Atoms are
+ not; they therefore are delimited by the self-delimiting
+ symbols and by <linear-white-space>.
+
+ So, for example, the folded body of an address field
+
+ ":sysmail"@ Some-Host,
+ Muhammed(I am the greatest)Ali at WBA
+
+ is analyzed into the following lexical symbols and types:
+
+ ":sysmail" quoted string
+ @ special
+ Some-Host atom
+ , special
+ Muhammed atom
+ (I am the greatest) comment
+ Ali atom
+ at atom
+ WBA atom
+
+
+ b. Formal Definition
+
+ <field> ::= <field-name> ":" <field-body>
+ <field-name> ::= <atom>
+ | <atom> <field-name>
+
+ <field-body> ::= <field-body-contents>
+ | <field-body-contents> <crlf>
+ <linear-white-space-char>
+ <field-body>
+
+
+
+ II. Standard for the Format of Messages / 12
+ B. Syntax
+ 1. Lexical Analysis
+
+
+
+ <field-body-contents> ::= <the TELNET ASCII characters making
+ up the <field-body>, as defined in
+ the following sections, and
+ consisting of combinations of
+ <atom>, <quoted-string>, <text-line>,
+ and <specials> tokens>
+
+ <atom> ::= <a sequence of one or more TELNET
+ ASCII alpha-numeric or graphics
+ characters, excluding all control
+ characters (those characters with
+ a decimal value less than 33 or
+ equal to 127) and <delimeters> >
+
+ <quoted-string> ::= <double quote mark ("), decimal 34>
+ <a sequence of one or more TELNET
+ ASCII characters, where two
+ adjacent quotes are treated as a
+ single quote and part of the
+ string> <">
+
+ <text-line> ::= <a sequence of one or more TELNET
+ ASCII characters excluding <cr>
+ and <lf> >
+
+ <message-text> ::= <a sequence of zero of more TELNET
+ ASCII characters>
+
+ <delimeters> ::= <specials> | <comment>
+ | <linear-white-space> | <crlf>
+
+ <specials> ::= "(" | ")" | "<" | ">"
+ | "@" | "," | ";" | ":" | <">
+
+ <comment> ::= "(" <TELNET ASCII characters, except
+ <crlf> > ")"
+
+ <linear-white-space>::= <linear-white-space-char>
+ | <linear-white-space-char>
+ <linear-white-space>
+ <linear-white-space-char>::= <space> | <horizontal-tab>
+
+ <space> ::= <TELNET ASCII space (decimal 32)>
+ <tab> ::= <TELNET ASCII tab (decimal 9)>
+ <cr> ::= <TELNET ASCII carriage return
+ (decimal 13)>
+ <lf> ::= <TELNET ASCII line feed (decimal 10)>
+ <crlf> ::= <TELNET ASCII carriage return/line
+ feed (decimal 13, followed by
+ decimal 10)>
+
+
+
+ II. Standard for the Format of Messages / 13
+ B. Syntax
+ 1. Lexical Analysis
+
+
+
+ c. Clarifications
+
+ 1) Comments
+
+ Comments may appear only within <field-body>s of
+ structured fields. A comment is any set of TELNET ASCII
+ characters, which is not within a quoted string, and which
+ is enclosed in matching parentheses; parentheses nest, so
+ that if a left paren occurs in a comment string, there
+ must also be a matching right paren.
+
+ Comments are NOT passed to the FTP server, as part of a
+ MAIL or MLFL command, since comments are not part of the
+ "formal" address.
+
+
+ 2) "White space"
+
+ Remember that in structured fields, MULTIPLE LINEAR WHITE
+ SPACE TELNET ASCII CHARACTERS (namely <tab>s and <space>s)
+ ARE TREATED AS SINGLE SPACES AND MAY FREELY SURROUND ANY
+ SYMBOL. In all header fields, at least one <space> is
+ REQUIRED only at the beginning of folded lines.
+
+ Writers of mail-sending (i.e. header generating) programs
+ should realize that there is no Network-wide definition of
+ the effect of <tab> TELNET ASCII characters on the
+ appearance of text at another Network host; therefore, the
+ use of <tab>s in message headers, though permitted, is
+ discouraged.
+
+ Note that the contents of messages are required to conform
+ with TELNET NVT conventions (e.g. <cr> must be followed
+ by either <lf>, making a <crlf>, or <null>, if the <cr> is
+ to stand alone).
+
+ 3) Quoted strings
+
+ Where permitted (i.e., in structured fields) quoted
+ strings are treated as a single symbol (i.e. equivalent
+ to an <atom> syntactically). However, if quoted strings
+ are to be "folded" onto multiple lines, then the syntax
+ for folding must be adhered to (See items II.B.1.a.1,
+ above, and II.B.1.c.6, below.) Note that the official
+ semantics do not encounter <crlf>s in quoted strings,
+ although particular parsing programs may wish to note
+ their presence.
+
+
+
+ II. Standard for the Format of Messages / 14
+ B. Syntax
+ 1. Lexical Analysis
+
+
+
+ 4) Bracketing characters
+
+ There are two types of brackets which must be well nested:
+
+ - Parentheses are used to indicate comments.
+
+ - Angle brackets ("<" and ">") are used
+ where there is a question of the presence
+ of machine-usable code (e.g. deliminating
+ mailboxes).
+
+ 5) Case independence of certain specials <atom>s
+
+ It should be assumed by all mail reading programs that
+ certain <atom>s can be represented in any combination of
+ upper and lower case. These are:
+
+ - <field-name>s,
+ - "File", in a <path>,
+ - "at", in an <at-indicator>,
+ - <host-name>s,
+ - <day-of-week>s,
+ - <string-month>s, and
+ - <time-zone>s
+
+ For example, the <field-name>s "From", "FROM", "from", and
+ even "FroM" should all be treated identically. Note that,
+ at the level of this specification, case IS relevant to
+ other <word>s and <text-line>s. Also see Section
+ II.C.1.a.4, below.
+
+ 6) Folding long lines
+
+ Each header item (field of the message) may be represented
+ on exactly one line consisting of the name of the field
+ and its body, and this is what the parser sees. For
+ readability, it is recommended that the <field-body>
+ portion of long header items be "folded" onto multiple
+ lines of the actual header.
+
+
+ 7) Backspace characters
+
+ Backspace TELNET ASCII characters (ASCII BS, decimal 8)
+ may be included in <text-line> and <quoted-string> to
+ effect overstriking; however, any use of backspaces which
+ effects an overstrike to the left of the beginning of the
+ <text-line> or <quoted-string> is prohibited.
+
+
+
+
+ II. Standard for the Format of Messages / 15
+ B. Syntax
+ 2. Messages
+
+
+
+ 2. GENERAL SYNTAX OF MESSAGES:
+
+ NOTE: The syntax indicates that items in <required-headers>
+ must be in a specific order and precede all other header
+ items. Header fields, in fact, are NOT required to occur in
+ any particular order. Required header items must be unique
+ (occur exactly once). This specification permits multiple
+ occurrences of most optional fields. However, the
+ interpretation of such multiple occurrences is not specified
+ here.
+
+ <message> ::= <headers>
+ | <headers> <crlf> <message-text>
+
+ <headers> ::= <required-headers>
+ | <required-headers> <optional-headers>
+ <required-headers> ::= <date-field> <originator>
+ <originator> ::= <mach-from-field>
+ | <mach-from-list> <sender-field>
+ | <mach-from-field> <reply-to-field>
+ | <any-from-field> <sender-field>
+ <reply-to-field>
+
+ <date-field> ::= "Date" ":" <date-time>
+ <mach-from-field> ::= "From" ":" <mach-addr-item>
+ <mach-from-list> ::= "From" ":" <mach-addr-list>
+ <any-from-field> ::= "From" ":" <address-list>
+ <sender-field> ::= "Sender" ":" <host-phrase>
+ <reply-to-field> ::= "Reply-To" ":" <mach-addr-list>
+
+ <optional-headers>::= <optional-header-field>
+ | <optional-headers>
+ <optional-header-field>
+
+ <optional-header-field> ::= <addressee-field>
+ | <extension-field>
+
+ <addressee-field> ::= "To" ":" <address-list>
+ | "cc" ":" <address-list>
+ | "bcc" ":" <address-list>
+ | "Fcc" ":" <path-list>
+
+ <extension-field> ::= "In-Reply-To" ":" <reference-list>
+ | "Keywords" ":" <phrase-list>
+ | "Message-Id" ":" <mach-host-phrase>
+ | "References" ":" <reference-list>
+ | "Subject" ":" <text-line>
+ | "Comments" ":" <text-line>
+ | <user-defined-field>
+
+
+
+ II. Standard for the Format of Messages / 16
+ B. Syntax
+ 2. Messages
+
+
+
+ <user-defined-field> ::= <A <field> which has a <field-name>
+ not defined in this specification>
+
+
+
+ The following syntax for the bodies of various fields should be
+ thought of as describing each field body as a single long string
+ (or line). The section on Lexical Analysis (section II.B.1)
+ indicated how such long strings can be represented on more than
+ one line in the actual transmitted message.
+
+
+ 3. SYNTAX OF GENERAL ADDRESSEE ITEMS
+
+ <mach-addr-list> ::= <mach-addr-item>
+ | <mach-addr-item> "," <address-list>
+
+ <address-list> ::= <null>
+ | <address-item>
+ | <address-item> "," <address-list>
+ <address-item> ::= <mach-addr-item>
+ | <group-name> ":" <address-list> ";"
+ | <any-name>
+ | <path>
+
+ <mach-addr-item> ::= <mailbox>
+ | <phrase> "<" <mailbox-list> ">"
+
+ <group-name> ::= <phrase>
+ <any-name> ::= <quoted-string>
+
+ <mailbox-list> ::= <mailbox>
+ | <mailbox> "," <mailbox-list>
+ <mailbox> ::= <host-phrase>
+
+ <path> ::= ":" "File" ":" <path-name>
+ <path-name> ::= <path-item>
+ | "<" <path-list> ">"
+ <path-list> ::= <path-item>
+ | <path-item> "," <path-list>
+ <path-item> ::= <host-phrase>
+
+
+
+
+ II. Standard for the Format of Messages / 17
+ B. Syntax
+ 4. Supporting Constructs
+
+
+
+ 4. SUPPORTING SYNTAX
+
+ <reference-list> ::= <null>
+ | <reference-item>
+ | <reference-item> "," <reference-list>
+ <reference-item> ::= <phrase>
+ | <mach-host-phrase>
+
+ <mach-host-phrase>::= "<" <host-phrase> ">"
+ <host-phrase> ::= <phrase> <host-indicator>
+ <host-indicator> ::= <at-indicator> <host-name>
+ <at-indicator> ::= "at" | "@"
+ <host-name> ::= <atom>
+ | <decimal host address>
+
+ <date-time> ::= <day> <date> <time>
+ <day> ::= <null>
+ | <day-of-week> ","
+ <day-of-week> ::= "Monday" | "Mon"
+ | "Tuesday" | "Tue"
+ | "Wednesday" | "Wed"
+ | "Thursday" | "Thu"
+ | "Friday" | "Fri"
+ | "Saturday" | "Sat"
+ | "Sunday" | "Sun"
+ <date> ::= <string-date>
+ | <slash-date>
+ <string-date> ::= <day-of-month> <string-month>
+ <4-digit-year>
+ <slash-date> ::= <numeric-month> "/" <date-of-month>
+ "/" <2-digit-year>
+ <numeric-month> ::= <one or two decimal digits>
+ <day-of-month> ::= <one or two decimal digits>
+ <string-month> ::= "January" | "Jan"
+ | "February" | "Feb"
+ | "March" | "Mar"
+ | "April" | "Apr"
+ | "May"
+ | "June" | "Jun"
+ | "July" | "Jul"
+ | "August" | "Aug"
+ | "September"| "Sep"
+ | "October" | "Oct"
+ | "November" | "Nov"
+ | "December" | "Dec"
+ <4-digit-year> ::= <four decimal digits>
+ <2-digit-year> ::= <two decimal digits>
+ <time> ::= <24-hour-time> "-" <time-zone>
+ <24-hour-time> ::= <hour> <minute>
+ <hour> ::= <two decimal digits>
+ <minute> ::= <two decimal digits>
+
+
+ II. Standard for the Format of Messages / 18
+ B. Syntax
+ 4. Supporting Constructs
+
+
+
+ <time-zone> ::= "GMT" | "Z" | "GDT"
+ | "AST" | "ADT"
+ | "EST" | "EDT" | "CST" | "CDT"
+ | "MST" | "MDT" | "PST" | "PDT"
+ | "YST" | "YDT" | "HST" | "HDT"
+
+ <phrase> ::= <word>
+ | <word> <phrase>
+ <phrase-list> ::= <null>
+ | <phrase>
+ | <phrase> "," <phrase-list>
+
+ <word> ::= <atom>
+ | <quoted-string>
+
+
+
+ II. Standard for the Format of Messages / 19
+ C. Semantics
+ 1. Address Fields
+
+
+
+
+
+ C. SEMANTICS
+
+
+ 1. ADDRESS FIELDS
+
+ a. General
+
+ 1) <path>s are used to refer to a location, on the ARPANET,
+ containing a stored address list. The <phrase> should
+ contain text which the referenced host can resolve to a
+ file. This standard is not a protocol and so does not
+ prescribe HOW data is to be retrieved from the file.
+ However, the following requirements are made:
+
+ - the file must be accessible through the local
+ operating system interface (if it exists), given
+ adequate user access rights; and
+
+ - if a host has an FTP server and a user is able to
+ retrieve any files from the host using that server,
+ then the file must be accessible through FTP, using
+ DEFAULT transfer settings, given adequate user access
+ rights.
+
+ It is intended that this mechanism will allow programs to
+ retrieve such lists automatically.
+
+ The interpretation of a <path> follows. This is not
+ intended to imply any particular implementation scheme, but
+ is included to aid in understanding the notion of <path>s:
+
+ - The contents of the file indicated by a <path-name> is
+ treated as an <address-list> and is inserted as an
+ <address-item> in the position of the <path-name> item
+ in the syntax. That is, the TELNET ASCII character
+ string of the <path-name> or, if present, the <path-
+ list> containing it, is replaced by the contents of
+ the file to which the <path-name> refers. Therefore,
+ the contents of the file indicated by a <path-name>
+ must be syntactically self-contained and must adhere
+ to the full syntax prescribed herein for <address-
+ list>.
+
+ - <Path-item>s of a <path-list> are alternates and the
+ contents of ONLY ONE of them is to be included in the
+ resultant address list.
+
+ 2) The <phrase> part of a <mailbox> is understood to be
+ whatever the receiving FTP Server allows (for example,
+
+
+ II. Standard for the Format of Messages / 20
+ C. Semantics
+ 1. Address Fields
+
+
+
+ TENEX systems do not now understand addresses of the form
+ "P. D. Q. Bach", but another system might).
+
+ Note that a <mailbox> is a conceptual entity which does not
+ necessarily pertain to file storage. For example, some
+ sites may choose to print mail on their line printer and
+ deliver the output to the addressee's desk.
+
+ A user may have several mailboxes. The use of the second
+ alternative of <mach-addr-item> (<phrase> "<" <mailbox-
+ list> ">") indicates that a copy of the message is to be
+ sent to EACH mailbox named.
+
+ 3) <any-name> may contain any sequence of "words". This
+ sequence of words, used as an <address-item>, is used to
+ facilitate reference to non-standard (e.g. non-Network)
+ addresses. Such an address might be one which is
+ acceptable to the U.S. Postal Service.
+
+ 4) The <host-name> in a <host-phrase> must be THE official
+ name of a Network host, or else a decimal number indicating
+ the Network address for that host. The USE OF NUMBERS IS
+ STRONGLY DISCOURAGED and is permitted only due to the
+ occasional necessity of bypassing local host-name tables.
+
+ The <phrase> in a <host-phrase> is intended to be
+ meaningful only to the indicated host. To all other hosts,
+ the <phrase> is treated as a literal string. No case
+ transformations should be (automatically) performed on the
+ <phrase>. The <phrase> is passed to the local host's mail
+ sending program; it is the responsibility of the
+ destination host's mail receiving (distribution) program to
+ perform case mapping on this <phrase>, if required, to
+ deliver the mail.
+
+ b. Originator Fields
+
+ WARNING: The standard allows only a subset of the
+ combinations possible with the From,
+ Sender, and Reply-to fields. The
+ limitation is intentional; the permitted
+ alternatives have been carefully chosen
+ and are adequate for the purposes of this
+ standard.
+
+
+
+ II. Standard for the Format of Messages / 21
+ C. Semantics
+ 1. Address Fields
+
+
+
+ 1) From:
+
+ This field contains the identity of the person(s) who
+ wished this message to be sent. The message-creation
+ process should default this field to be a single machine
+ address, indicating the user entering the message; if and
+ only if this is done, the "Sender:" field need not be
+ present.
+
+ 2) Sender:
+
+ This field contains the identity of the person who sends
+ the message. It need not be present in the header of the
+ message if it is the SAME as the "From:" field.
+
+ The <sender-field-body> includes a <phrase> which must
+ correspond to a user, rather than a standard <address-
+ item>, to indicate the expectation that the field will
+ refer to the PERSON responsible for sending the mail and
+ not simply include the name of a mailbox, from which the
+ mail was sent. For example in the case of a shared login
+ name, the name, by itself, would not be adequate. The
+ <phrase> (user) is a system entity, not a generalized
+ person reference.
+
+ 3) Reply-to:
+
+ This field provides a general mechanism for indicating any
+ mailbox(es) to which responses are to be sent. Three
+ different uses for this feature can be distinguished. In
+ the first case, the author(s) may not have regular
+ machine-based mailboxes and therefore wish to indicate an
+ alternate machine address. In the second case, an author
+ may wish additional persons to be made aware of, or
+ responsible for, responses; responders should send their
+ replies to the "Reply-to:" mailbox(es). More interesting
+ is a case such as text-message teleconferencing in which an
+ automatic distribution facility is provided and a user
+ submitting an "entry" for distribution only needs to send
+ their message to the mailbox(es) indicated in the "Reply-
+ to:" field.
+
+ If there is no <reply-to-field>, then the <from-field> MUST
+ contain AT LEAST ONE machine address. In all cases when
+ used and even if a <sender> field is present, the Reply-to
+ field must contain at least one machine address.
+
+ NOTE: For systems which automatically generate address lists
+ for replies to messages, the following requirements are made:
+
+
+
+ II. Standard for the Format of Messages / 22
+ C. Semantics
+ 1. Address Fields
+
+
+
+ - The receiver, when replying to a message, must NEVER
+ automatically include the <sender-field-body> in the
+ reply's address list
+
+ - If the <reply-to-field> exists, then the reply should
+ go ONLY to the <reply-to-field-body> addressees.
+
+ (Extensive examples are provided in Section II.D.) This
+ recommendation is intended only for <originator-field>s and in
+ no way is intended to reflect that replies should not be sent,
+ also, to the other recipients of this message. It is up to
+ the respective mail handling programs as to what additional
+ facilities will be provided.
+
+ c. Receiver Fields
+
+ 1) To:
+
+ This field contains the identity of the primary recipients
+ of the message.
+
+ 2) cc:
+
+ This field contains the identity of the secondary
+ recipients of the message.
+
+ 3) Bcc:
+
+ This field contains the identity of additional recipients
+ of the message who are to remain hidden from the primary
+ and secondary recipients. Some systems may choose to
+ include the text of the "Bcc:" field only in the
+ author(s)'s copy, while others may include it in the text
+ sent to all those indicated in the "Bcc:" list.
+
+ 4) Fcc:
+
+ This field contains the identity of any message files in
+ which copies of this message are being placed by the
+ originator. Note that the presence of this field does NOT
+ guarantee long-term availability of the message in any of
+ the indicated files.
+
+
+
+
+ II. Standard for the Format of Messages / 23
+ C. Semantics
+ 2. Reference Specification Fields
+
+
+
+ 2. REFERENCE SPECIFICATION FIELDS
+
+ a. Message-Id:
+
+ This field contains a unique identifier (the <phrase>) to
+ refer to this version of this message. The uniqueness of the
+ message identifier is guaranteed by each host. This
+ identifier is intended to be machine readable, and not
+ necessarily meaningful to humans. A message-id pertains to
+ exactly one instantiation of a particular message; subsequent
+ revisions to the message should receive new message-id's.
+
+ b. In-Reply-To:
+
+ The contents of this field identify previous correspondence
+ which this message answers. If message identifiers are used
+ in this field, they should be enclosed in angle brackets (<>).
+
+ c. References:
+
+ The contents of this field identify other correspondence which
+ this message references. If message identifiers are used,
+ they should be enclosed in angle brackets (<>).
+
+ d. Keywords:
+
+ This field contains keywords or phrases, separated by commas.
+
+
+ 3. OTHER FIELDS AND SYNTACTIC ITEMS
+
+ a. Subject:
+
+ The "subject:" field is intended to provide as much
+ information as necessary to adequately summarize or indicate
+ the nature of the message.
+
+ b. Comments:
+
+ Permits adding text comments onto the message without
+ disturbing the contents of the message's body.
+
+
+
+
+ II. Standard for the Format of Messages / 24
+ C. Semantics
+ 4. Dates
+
+
+
+ 4. DATES
+
+ It is recommended that, because of differing international
+ interpretations, the <string-day> option be used instead of
+ the <slash-day> option in the specification of a <day>.
+
+ If included, <day-of-week> must be the day implied by the
+ <date> specification.
+
+ <Time-zones> allow reference to Greenwich and to each of the
+ zones in the United States. The zone references beginning
+ with "A" are for Atlantic time which are one hour faster than
+ the corresponding Eastern times. "Y" indicates Yukon time in
+ Alaska, which is one hour slower than the corresponding
+ Pacific times, and "H" indicates Hawaiian times, which are two
+ hours slower.
+
+
+
+ II. Standard for the Format of Messages / 25
+ D. Examples
+
+
+
+
+
+
+ D. EXAMPLES
+
+
+ 1. ADDRESSES
+
+ a. Alfred E. Newman <Newman at BBN-TENEXA>
+ Newman@BBN-TENEXA
+
+ These two "Alfred E. Newman" examples have identical
+ semantics, as far as the operation of the local host's mailer
+ and the remote host's FTP server are concerned. In the first
+ example, the "Alfred E. Newman" is ignored by the mailer, as
+ "Newman at BBN-TENEXA" completely specifies the recipient.
+ The second example contains no superfluous information, and,
+ again, "Newman@BBN-TENEXA" is the intended recipient.
+
+ b. Al Newman at BBN-TENEXA
+
+ This is identical with "Al Newman<Al Newman at BBN-TENEXA>."
+ That is, the full <phrase>, "Al Newman", is passed to the FTP
+ server. Note that not all FTP servers accept multi-word
+ identifiers; and some that do accept them will treat each word
+ as a different addressee (in this case, attempting to send a
+ copy of the message to "Al" and a copy to "Newman").
+
+ c. "George Lovell, Ted Hackle" <Shared-Mailbox at Office-1>
+
+ This form might be used to indicate that a single mailbox is
+ shared by several users. The quoted string is ignored by the
+ originating host's mailer, as "Shared-Mailbox at Office-1"
+ completely specifies the destination mailbox.
+
+ d. Wilt (the Stilt) Chamberlain at NBA
+
+ The "(the Stilt)" is a comment, which is NOT included in the
+ destination mailbox address handed to the originating system's
+ mailer. The address is the string "Wilt Chamberlain", with
+ exactly one space between the first and second words. (The
+ quotation marks are not included.)
+
+
+
+
+ II. Standard for the Format of Messages / 26
+ D. Examples
+
+
+
+
+ 2. ADDRESS LISTS
+
+ Gourmets: Pompous Person <WhoZiWhatZit at Cordon-Bleu>,
+ Cooks: Childs at WGBH, Galloping Gourmet at
+ ANT (Australian National Television);
+ Wine Lovers: Drunk at Discount-Liquors,
+ Port at Portugal;;,
+ Jones at SEA
+
+ This group list example points out the use of comments, the
+ nesting of groups, and the mixing of addresses and groups.
+ Note that the two consecutive semi-colons preceding "Jones at
+ SEA" mean that Jones is NOT a member of the Gourmets group.
+
+
+ 3. ORIGINATOR ITEMS
+
+ a. George Jones logs into his Host as "Jones". He sends mail
+ himself.
+
+ From: Jones at Host
+ or
+ From: George Jones <Jones at Host>
+
+ b. George Jones logs in as Jones on his Host. His secretary, who
+ logs in as Secy on her Host (SHost) sends mail for him.
+ Replies to the mail should go to George, of course.
+
+ From: George Jones <Jones at Host>
+ Sender: Secy at SHost
+
+ c. George Jones logs in as Group at Host. He sends mail himself;
+ replies should go to the Group mailbox.
+
+ From: George Jones <Group at Host>
+
+ d. George Jones' secretary sends mail for George in his capacity
+ as a member of Group while logged in as Secy at Host. Replies
+ should go to Group.
+
+ From: George Jones<Group at Host>
+ Sender: Secy at Host
+
+ Note that there need not be a space between "Jones" and the
+ "<", but adding a space enhances readability (as is the case
+ in other examples).
+
+ e. George Jones asks his secretary (Secy at Host) to send a
+ message for him in his capacity as Group. He wants his
+ secretary to handle all replies.
+
+
+
+ II. Standard for the Format of Messages / 27
+ D. Examples
+
+
+
+
+ From: George Jones <Group at Host>
+ Sender: Secy at Host
+ Reply-to: Secy at Host
+
+ f. A non-ARPANET user friend of George's, Sarah, is visting.
+ George's secretary sends some mail to a friend of Sarah in
+ computer-land. Replies should go to George, whose mailbox is
+ Jones at Host.
+
+ From: Sarah Friendly
+ Sender: Secy at Host
+ Reply-to: Jones at Host
+
+ g. George is a member of a committee. He wishes to have any
+ replies to his message go to all committee members.
+
+ From: George Jones
+ Sender: Jones at Host
+ Reply-To: Big-committee: Jones at Host,
+ Smith at Other-Host,
+ Doe at Somewhere-Else;
+
+ Note that if George had not included himself in the
+ enumeration of Big-committee, he would not have gotten a
+ reply; the presence of the "Reply-to:" field SUPERSEDES the
+ sending of a reply to the person named in the "From:" field.
+
+ h. (Example of INCORRECT USE)
+
+ George desires a reply to go to his secretary; therefore his
+ secretary leaves his mailbox address off the "From:" field,
+ leaving only his name, which is not, itself, a mailbox
+ address.
+
+ From: George Jones
+ Sender: Secy at SHost
+
+ THIS IS NOT PERMITTED. Replies are NEVER implicitly sent to
+ the "Sender:"; George's secretary should have used the
+ "Reply-to:" field, or the mail creating program she was using
+ should have forced her to.
+
+ i. George's secretary sends out a message which was authored
+ jointly by all the members of the "Big-committee".
+
+ From: Big-committee: Jones at Host,
+ Smith at Other-Host,
+ Doe at Somewhere-Else;
+ Sender: Secy at SHost
+
+
+
+ II. Standard for the Format of Messages / 28
+ D. Examples
+
+
+
+
+ 4. COMPLETE HEADERS
+
+ a. Minimum required:
+
+ Date: 26 August 1976 1429-EDT
+ From: Jones at Host
+
+ b. Using some of the additional fields:
+
+ Date 26 August 1976 1430-EDT
+ From: George Jones<Group at Host>
+ Sender: Secy at SHOST
+ To: Al Newman at Mad-Host,
+ Sam Irving at Other-Host
+ Message-id: some string at SHOST
+
+ c. About as complex as you're going to get:
+
+ Date: 27 Aug 1976 0932-PDT
+ From: Ken Davis <KDavis at Other-Host>
+ Sender: KSecy at Other-Host
+ Reply-to: Sam Irving at Other-Host
+ Subject: Re: The Syntax in the RFC
+ To: George Jones <Group at Host>,
+ Al Newman at Mad-Host
+ cc: Tom Softwood <Balsa at Another-Host>,
+ Sam Irving at Other-Host,
+ Standard Distribution:
+ :File:
+ </main/davis/people/standard at Other Host,
+ "<Jones>standard.dist.3" at Tops-20-Host>
+ In-Reply-to: <some string at SHOST>
+ Message-ID: 4231.629.XYzi-What at Other-Host
+ Comment: Sam is away on business. He asked me to handle
+ his mail for him today. He'll be able to
+ provide a more accurate explanation tomorrow
+ when he returns.
+
+
+
+ III. References
+
+
+
+
+
+
+
+ III. REFERENCES
+
+
+ --- TELNET Protocol Specification. Network Information Center
+ No. 18639; Augmentation Research Center, Stanford Research
+ Institute: Menlo Park, August 1973.
+
+ Bhushan, A.K. The File Transfer Protocol. ARPANET Request for
+ Comments, No. 354, Network Information Center No. 10596;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, July 1972.
+
+ Bhushan, A.K. Comments on the File Transfer Protocol. ARPANET
+ Request for Comments, No. 385, Network Information Center No.
+ 11357; Augmentation Research Center, Stanford Research
+ Institute: Menlo Park, August 1972.
+
+ Bhushan, A.K., Pogran, K.T., Tomlinson, R.S., and White, J.E.
+ Standardizing Network Mail Headers. ARPANET Request for
+ Comments, No. 561, Network Information Center No. 18516;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, September 1973.
+
+ Feinler, E.J. and Postel, J.B. ARPANET Protocol Handbook.
+ Network Information Center No. 7104; Augmentation Research
+ Center, Stanford Research Institute: Menlo Park, April 1976.
+ (NTIS AD A003890).
+
+ McKenzie, A. File Transfer Protocol. ARPANET Request for
+ Comments, No. 454, Network Information Center No. 14333;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, February 1973.
+
+ Myer, T.H. and Henderson, D.A. Message Transmission Protocol.
+ ARPANET Request for Comments, No. 680, Network Information
+ Center No. 32116; Augmentation Research Center, Stanford
+ Research Institute: Menlo Park, 1975.
+
+ Neigus, N. File Transfer Protocol. ARPANET Request for
+ Comments, No. 542, Network Information Center No. 17759;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, July 1973.
+
+ Postel, J.B. Revised FTP Reply Codes. ARPANET Request for
+ Comments, No. 640, Network Information Center No. 30843;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, June 1974.
+
+
+
+ Appendix / 30
+ Alphabetical Listing of Syntax Rules
+
+
+
+
+
+
+ APPENDIX
+
+
+ A. ALPHABETICAL LISTING OF SYNTAX RULES
+
+ <2-digit-year> ::= <two decimal digits>
+ <4-digit-year> ::= <four decimal digits>
+ <24-hour-time> ::= <hour> <minute>
+
+ <addressee-field> ::= "To" ":" <address-list>
+ | "cc" ":" <address-list>
+ | "bcc" ":" <address-list>
+ | "Fcc" ":" <path-list>
+ <address-item> ::= <mach-addr-item>
+ | <group-name> ":" <address-list> ";"
+ | <any-name>
+ | <path>
+ <address-list> ::= <null> | <address-item>
+ | <address-item> "," <address-list>
+
+ <any-from-field> ::= "From" ":" <address-list>
+
+ <any-name> ::= <quoted-string>
+
+ <at-indicator> ::= "at" | "@"
+
+ <atom> ::= <a sequence of one or more TELNET ASCII
+ alpha-numeric or graphics characters,
+ excluding all control characters
+ (those characters with a decimal value
+ less than 33 or equal to 127) and
+ <delimeters> >
+
+ <comment> ::= "(" <TELNET ASCII characters, except
+ <crlf> > ")"
+
+ <cr> ::= <TELNET ASCII carriage return (decimal 13)>
+ <crlf> ::= <TELNET ASCII carriage return/line feed
+ (decimal 13, followed by decimal 10)>
+
+ <date> ::= <string-date> | <slash-date>
+ <date-field> ::= "Date" ":" <date-time>
+ <date-time> ::= <day> <date> <time>
+ <day> ::= <null> | <day-of-week> ","
+ <day-of-month> ::= <one or two decimal digits>
+ <day-of-week> ::= "Monday" | "Mon"
+ | "Tuesday" | "Tue"
+ | "Wednesday" | "Wed"
+ | "Thursday" | "Thu"
+
+
+ Appendix / 31
+ Alphabetical Listing of Syntax Rules
+
+
+
+
+ | "Friday" | "Fri"
+ | "Saturday" | "Sat"
+ | "Sunday" | "Sun"
+
+ <delimeter> ::= <specials> | <comment>
+ | <linear-white-space> | <crlf>
+
+ <field> ::= <field-name> ":" <field-body>
+ <field-body> ::= <field-body-contents>
+ | <field-body-contents> <crlf>
+ <linear-white-space-CHAR> <field-body>
+ <field-body-contents> ::= <the TELNET ASCII characters making up
+ the field body, as defined in the
+ following sections and consisting of
+ combinations of <atom>, <quoted-
+ string>, <text-line>, and <specials>
+ tokens>
+
+ <field-name> ::= <atom> | <atom> <field-name>
+
+ <group-name> ::= <phrase>
+
+ <headers> ::= <required-headers>
+ | <required-headers> <optional-headers>
+
+ <host-indicator> ::= <at-indicator> <host-name>
+ <host-name> ::= <atom> | <decimal host address>
+ <host-phrase> ::= <phrase> <host-indicator>
+
+ <hour> ::= <two decimal digits>
+
+ <lf> ::= <TELNET ASCII line feed (decimal 10)>
+ <linear-white-space>::= <linear-white-space-char>
+ | <linear-white-space-char>
+ <linear-white-space>
+ <linear-white-space-char>::= <space> | <horizontal-tab>
+
+ <mach-addr-item> ::= <mailbox> | <phrase> "<" <mailbox-list> ">"
+ <mach-addr-list> ::= <mach-addr-item>
+ | <mach-addr-item> "," <address-list>
+
+ <mach-from-field> ::= "From" ":" <mach-addr-item>
+ <mach-from-list> ::= "From" ":" <mach-addr-list>
+
+ <mach-host-phrase>::= "<" <host-phrase> ">"
+
+ <mailbox> ::= <host-phrase>
+ <mailbox-list> ::= <mailbox> | <mailbox> "," <mailbox-list>
+
+ <message> ::= <headers>
+ | <headers> <crlf> <message-text>
+
+
+ Appendix / 32
+ Alphabetical Listing of Syntax Rules
+
+
+
+
+ <message-text> ::= <a sequence of zero of more TELNET ASCII
+ characters>
+
+ <minute> ::= <two decimal digits>
+
+ <numeric-month> ::= <one or two decimal digits>
+
+ <optional-headers>::= <optional-header-field>
+ | <optional-headers> <optional-header-field>
+ <optional-header-field> ::= <addressee-field> | <extension-field>
+
+ <originator> ::= <mach-from-field>
+ | <mach-from-list> <sender-field>
+ | <mach-from-field> <reply-to-field>
+ | <any-from-field> <sender-field>
+ <reply-to-field>
+
+ <path> ::= ":" "File" ":" <path-name>
+ <path-item> ::= <host-phrase>
+ <path-list> ::= <path-item> | <path-item> "," <path-list>
+ <path-name> ::= <path-item> | "<" <path-list> ">"
+
+ <phrase> ::= <word> | <word> <phrase>
+ <phrase-list> ::= <null> | <phrase>
+ | <phrase> "," <phrase-list>
+
+ <reference-item> ::= <phrase> | <mach-host-phrase>
+ <reference-list> ::= <null> | <reference-item>
+ | <reference-item> "," <reference-list>
+
+ <quoted-string> ::= <double quote mark ("), decimal 34>
+ <a sequence of one or more TELNET
+ ASCII characters, where two adjacent
+ quotes are treated as a single quote
+ and part of the string> <">
+
+ <reply-to-field> ::= "Reply-To" ":" <mach-addr-list>
+
+ <required-headers> ::= <date-field> <originator>
+
+ <sender-field> ::= "Sender" ":" <host-phrase>
+
+ <slash-date> ::= <numeric-month> "/" <date-of-month>
+ "/" <2-digit-year>
+ <space> ::= <TELNET ASCII space (decimal 32)>
+
+ <specials> ::= "(" | ")" | "<" | ">"
+ | "@" | "," | ";" | ":" | <">
+
+ <string-date> ::= <day-of-month> <string-month>
+ <string-month> ::= "January" | "Jan" | "February" | "Feb"
+
+
+ Appendix / 33
+ Alphabetical Listing of Syntax Rules
+
+
+
+
+ | "March" | "Mar" | "April" | "Apr"
+ | "May" | "June" | "Jun"
+ | "July" | "Jul" | "August" | "Aug"
+ | "September"| "Sep" | "October" | "Oct"
+ | "November" | "Nov" | "December" | "Dec"
+
+ <tab> ::= <TELNET ASCII tab (decimal 9)>
+
+ <text-line> ::= <a sequence of one or more TELNET ASCII
+ characters excluding <cr> and <lf> >
+
+ <time> ::= <24-hour-time> "-" <time-zone>
+ <time-zone> ::= "GMT" | "Z" | "GDT" | "AST" | "ADT
+ | "EST" | "EDT" | "CST" | "CDT"
+ | "MST" | "MDT" | "PST" | "PDT"
+ | "YST" | "YDT" | "HST" | "HDT"
+
+ <user-defined-field> ::= <A <field> which has a <field-name> not
+ defined in this specification>
+
+ <word> ::= <atom> | <quoted-string>
+
+
+
+
diff --git a/Documentation/en/rfc/rfc733.txt b/Documentation/en/rfc/rfc733.txt
new file mode 100644
index 00000000..a2a1472e
--- /dev/null
+++ b/Documentation/en/rfc/rfc733.txt
@@ -0,0 +1,1958 @@
+
+
+
+
+RFC # 733
+NIC # 41952
+
+Obsoletes: RFC #561 (NIC #18516)
+ RFC #680 (NIC #32116)
+ RFC #724 (NIC #37435)
+
+
+
+
+
+
+
+ STANDARD FOR THE FORMAT OF
+
+ ARPA NETWORK TEXT MESSAGES(1)
+
+
+
+
+ 21 November 1977
+
+
+
+
+ by
+
+
+ David H. Crocker
+ The Rand Corporation
+
+ John J. Vittal
+ Bolt Beranek and Newman Inc.
+
+ Kenneth T. Pogran
+ Massachusets Institute of Technology
+
+ D. Austin Henderson, Jr.(2)
+ Bolt Beranek and Newman Inc.
+
+
+
+_________________________________________________________________
+(1)This work was supported by the Defense Advanced Research
+Projects Agency of the Department of Defense, under contract Nos.
+N00014-75-C-0661, MDA903-76-C-0212, and DAHC15-73-C0181.
+
+(2)The authors' postal addresses are: D. Crocker, The Rand
+Corporation, Information Sciences Dept., 1700 Main St., Santa
+Monica, California 90406; J. Vittal & D. A. Henderson, Bolt
+Beranek & Newman, 50 Moulton St., Cambridge, Massachusetts 02138;
+and K. Pogran, MIT Laboratory for Computer Science, 545
+Technology Square, Cambridge, Massachusetts 02139. The authors'
+ARPANET addresses are: DCrocker at Rand-Unix, Vittal at BBN-
+TenexD, Pogran at MIT-Multics, and Henderson at BBN-TenexD.
+
+ -iii-
+
+
+
+
+
+ PREFACE
+
+
+
+ ARPA's Committee on Computer-Aided Human Communication
+(CAHCOM) wishes to promulgate a standard for the format of ARPA
+Network text message (mail) headers which will reasonably meet
+the needs of the various message service subsystems on the
+Network today. The authors of this document constitute the
+CAHCOM subcommittee charged with the task of developing this new
+standard.
+
+ Essentially, we specify a revision to ARPANET Request for
+Comments (RFC) 561, "Standardizing Network Mail Headers", and RFC
+680, "Message Transmission Protocol". This revision removes and
+compacts portions of the previous syntax and adds several
+features to network address specification. In particular, we
+focus on people and not mailboxes as recipients and allow
+reference to stored address lists. We expect this syntax to
+provide sufficient capabilities to meet most users' immediate
+needs and, therefore, give developers enough breathing room to
+produce a new mail transmission protocol "properly". We believe
+that there is enough of a consensus in the Network community in
+favor of such a standard syntax to make possible its adoption at
+this time. An earlier draft of this specification was published
+as RFC #724, "Proposed Official Standard for the Format of ARPA
+Network Messages" and contained extensive discussion of the
+background and issues in ARPANET mail standards.
+
+ This specification was developed over the course of one
+year, using the ARPANET mail environment, itself, to provide an
+on-going forum for discussing the capabilities to be included.
+More than twenty individuals, from across the country,
+participated in this discussion and we would like to acknowledge
+their considerable efforts. The syntax of the standard was
+originally specified in the Backus-Naur Form (BNF) meta-language.
+Ken L. Harrenstien, of SRI International, was responsible for
+re-coding the BNF into an augmented BNF which compacts the
+specification and allows increased comprehensibility.
+
+
+
+ -v-
+
+
+
+
+
+ CONTENTS
+
+
+
+PREFACE..................................................... iii
+
+
+Section
+ I. INTRODUCTION......................................... 1
+
+ II. FRAMEWORK............................................ 2
+
+ III. SYNTAX............................................... 4
+ A. Notational Conventions............................ 4
+ B. Lexical Analysis of Messages...................... 5
+ C. General Syntax of Messages........................ 13
+ D. Syntax of General Addressee Items................. 15
+ E. Supporting Constructs............................. 15
+
+ IV. SEMANTICS............................................ 17
+ A. Address Fields.................................... 17
+ B. Reference Specification Fields.................... 22
+ C. Other Fields and Syntactic Items.................. 23
+ D. Dates and Times................................... 24
+
+ V. EXAMPLES............................................. 25
+ A. Addresses......................................... 25
+ B. Address Lists..................................... 26
+ C. Originator Items.................................. 26
+ D. Complete Headers.................................. 28
+
+
+Appendix
+ A. ALPHABETICAL LISTING OF SYNTAX RULES................. 31
+ B. SIMPLE PARSING....................................... 35
+
+BIBLIOGRAPHY................................................ 37
+
+
+Standard for the Format of Text Messages 1
+I. Introduction
+
+
+
+
+
+ I. INTRODUCTION
+
+
+
+
+ This standard specifies a syntax for text messages which are
+passed between computer users within the framework of "electronic
+mail". The standard supersedes the informal standards specified
+in ARPANET Request for Comments numbers 561, "Standardizing
+Network Mail Headers", and 680, "Message Transmission Protocol".
+In this document, a general framework is first described; the
+formal syntax is then specified, followed by a discussion of the
+semantics. Finally, a number of examples are given.
+
+ This specification is intended strictly as a definition of
+what is to be passed between hosts on the ARPANET. It is NOT
+intended to dictate either features which systems on the Network
+are expected to support, or user interfaces to message creating
+or reading programs.
+
+ A distinction should be made between what the specification
+REQUIRES and what it ALLOWS. Messages can be made complex and
+rich with formally-structured components of information or can be
+kept small and simple, with a minimum of such information. Also,
+the standard simplifies the interpretation of differing visual
+formats in messages. These simplifications facilitate the formal
+specification and indicate what the OFFICIAL semantics are for
+messages. Only the visual aspect of a message is affected and
+not the interpretation of information within it. Implementors
+may choose to retain such visual distinctions.
+
+
+
+
+Standard for the Format of Text Messages 2
+II. Framework
+
+
+
+
+
+ II. FRAMEWORK
+
+
+
+
+ Since there are many message systems which exist outside the
+ARPANET environment, as well as those within it, it may be useful
+to consider the general framework, and resulting capabilities and
+limitations, provided by this standard.
+
+ Messages are expected to consist of lines of text. No
+special provisions are made, at this time, for encoding drawings,
+facsimile, speech, or structured text.
+
+ No significant consideration has been given to questions of
+data compression or transmission/storage efficiency. The
+standard, in fact, tends to be very free with the number of bits
+consumed. For example, field names are specified as free text,
+rather than special terse codes.
+
+ A general "memo" framework is used. That is, a message
+consists of some information, in a rigid format, followed by the
+main part of the message, which is text and whose format is not
+specified in this document. The syntax of several fields of the
+rigidly-formated ("header") section is defined in this
+specification; some of the header fields must be included in all
+messages. The syntax which distinguishes between headers is
+specified separately from the internal syntax for particular
+headers. This separation is intended to allow extremely simple
+parsers to operate on the overall structure of messages, without
+concern for the detailed structure of individual headers.
+Appendix B is provided to facilitate construction of these simple
+parsers. In addition to the fields specified in this document,
+it is expected that other fields will gain common use. User-
+defined header fields allow systems to extend their functionality
+while maintaining a uniform framework. The approach is similar
+to that of the TELNET protocol, in that a basic standard is
+defined which includes a mechanism for (optionally) extending
+itself. As necessary, the authors of this document will regulate
+the publishing of specifications for these "extension-fields",
+through the same mechanisms used to publish this document.
+
+ Such a framework severely constrains document tone and
+appearance and is primarily useful for most intra-organization
+communications and relatively structured inter-organization
+communication. A more robust environment might allow for multi-
+font, multi-color, multi-dimension encoding of information. A
+less robust environment, as is present in most single-machine
+message systems, would more severely constrain the ability to add
+fields and the decision to include specific fields. In contrast
+to paper-based communication, it is interesting to note that the
+
+Standard for the Format of Text Messages 3
+II. Framework
+
+
+
+RECEIVER of a message can exercise an extraordinary amount of
+control over the message's appearance. The amount of actual
+control available to message receivers is contingent upon the
+capabilities of their individual message systems.
+
+
+Standard for the Format of Text Messages 4
+III. Syntax
+
+
+
+
+
+ III. SYNTAX
+
+
+
+ This syntax is given in five parts. The first part
+describes the notation used in the specification. The second
+part describes the base-level lexical analyzers which feed the
+higher-level parser described in the succeeding sections. The
+third part gives a general syntax for messages and standard
+header fields; and the fourth part specifies the syntax of
+addresses. A final part specifies some general syntax which
+supports the other sections.
+
+
+
+A. NOTATIONAL CONVENTIONS
+
+These specifications are made in an augmented Backus-Naur Form
+(BNF). Differences from standard BNF involve the naming of
+rules, the indication of repetition and of "local" alternatives.
+
+
+1. Rule naming
+
+Angle brackets ("<", ">") are not used, in general. The name of
+a rule is simply the name itself, rather than "<name>".
+Quotation-marks enclose literal text (which may be upper and/or
+lower case). Certain basic rules are in uppercase, such as
+SPACE, TAB, CRLF, DIGIT, ALPHA, etc. Angle brackets are used in
+rule definitions, and in the rest of this document, whenever
+their presence will facilitate discerning the use of rule names.
+
+
+2. Parentheses: Local alternatives
+
+Elements enclosed in parentheses are treated as a single element.
+Thus, "(elem (foo / bar) elem)" allows "(elem foo elem)" and
+"(elem bar elem)".
+
+
+3. * construct: Repetition
+
+The character "*" preceding an element indicates repetition. The
+full form is:
+
+ <l>*<m>element
+
+indicating at least <l> and at most <m> occurrences of element.
+Default values are 0 and infinity so that "*(element)" allows any
+number, including zero; "1*element" requires at least one; and
+"1*2element" allows one or two.
+
+Standard for the Format of Text Messages 5
+III. Syntax
+ A. Notational Conventions
+
+
+
+4. <number>element
+
+"<n>(element)" is equivalent to "<n>*<n>(element)"; that is,
+exactly <n> occurrences of (element). Thus 2DIGIT is a 2-digit
+number, and 3ALPHA is a string of three alphabetic characters.
+
+
+5. # construct: Lists
+
+A construct "#" is defined, similar to "*", as follows:
+
+ <l>#<m>element
+
+indicating at least <l> and at most <m> elements, each separated
+by one or more commas (","). This makes the usual form of lists
+very easy; a rule such as '(element *("," element))' can be shown
+as "1#element". Wherever this construct is used, null elements
+are allowed, but do not contribute to the count of elements
+present. That is, "(element),,(element)" is permitted, but
+counts as only two elements. Therefore, where at least one
+element is required, at least one non-null element must be
+present.
+
+
+6. [optional]
+
+Square brackets enclose optional elements; "[foo bar]" is
+equivalent to "*1(foo bar)".
+
+
+7. ; Comments
+
+A semi-colon, set off some distance to the right of rule text,
+starts a comment which continues to the end of line. This is a
+simple way of including useful notes in parallel with the
+specifications.
+
+
+
+B. LEXICAL ANALYSIS OF MESSAGES
+
+
+1. General Description
+
+A message consists of headers and, optionally, a body (i.e. a
+series of text lines). The text part is just a sequence of lines
+containing ASCII characters; it is separated from the headers by
+a null line (i.e., a line with nothing preceding the CRLF).
+
+
+Standard for the Format of Text Messages 6
+III. Syntax
+ B. Lexical Analysis
+
+
+
+a. Folding and unfolding of headers
+
+ Each header item can be viewed as a single, logical line of
+ ASCII characters. For convenience, the field-body portion of
+ this conceptual entity can be split into a multiple-line
+ representation (i.e., "folded"). The general rule is that
+ wherever there can be linear-white-space (NOT simply LWSP-
+ chars), a CRLF immediately followed by AT LEAST one LWSP-char
+ can instead be inserted. (However, a header's name and the
+ following colon (":"), which occur at the beginning of the
+ header item, may NOT be folded onto multiple lines.) Thus,
+ the single line
+
+ To: "Joe Dokes & J. Harvey" <ddd at Host>, JJV at BBN
+
+ can be represented as
+
+ To: "Joe Dokes & J. Harvey" <ddd at Host>,
+ JJV at BBN
+
+ and
+
+ To: "Joe Dokes & J. Harvey"
+ <ddd at Host>,
+ JJV at BBN
+
+ and
+
+ To: "Joe Dokes
+ & J. Harvey" <ddd at Host>, JJV at BBN
+
+ The process of moving from this folded multiple-line
+ representation of a header field to its single line
+ representation will be called "unfolding". Unfolding is
+ accomplished by regarding CRLF immediately followed by a
+ LWSP-char as equivalent to the LWSP-char.
+
+b. Structure of header fields
+
+ Once header fields have been unfolded, they may be viewed as
+ being composed of a field-name followed by a colon (":"),
+ followed by a field-body. The field-name must be composed of
+ printable ASCII characters (i.e., characters which have
+ values between 33. and 126., decimal, except colon) and
+ LWSP-chars. The field-body may be composed of any ASCII
+ characters (other than an unquoted CRLF, which has been
+ removed by unfolding).
+
+ Certain field-bodies of header fields may be interpreted
+ according to an internal syntax which some systems may wish
+ to parse. These fields will be referred to as "structured"
+ fields. Examples include fields containing dates and
+
+Standard for the Format of Text Messages 7
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ addresses. Other fields, such as "Subject" and "Comments",
+ are regarded simply as strings of text.
+
+ NOTE: Field-names, unstructured field bodies and structured
+ field bodies each are scanned by their own, INDEPENDENT
+ "lexical" analyzer.
+
+c. Field-names
+
+ To aid in the creation and reading of field-names, the free
+ insertion of LWSP-chars is allowed in reasonable places.
+
+ Rather than obscuring the syntax specification for field-name
+ with the explicit syntax for these LWSP-chars, the existence
+ of a "lexical" analyzer is assumed. The analyzer interprets
+ the text which comprises the field-name as a sequence of
+ field-name atoms (fnatoms) separated by LWSP-chars
+
+ Note that ONLY LWSP-chars may occur between the fnatoms of a
+ field-name and that CRLFs may NOT. In addition, comments are
+ NOT lexically recognized, as such, but parenthesized strings
+ are legal as part of field-names. These constraints are
+ different from what is permissible within structured field
+ bodies. In particular, this means that header field-names
+ must wholly occur on the FIRST line of a folded header item
+ and may NOT be split across two or more lines.
+
+d. Unstructured field bodies
+
+ For some fields, such as "Subject" and "Comments", no
+ structuring is assumed; and they are treated simply as texts,
+ like those in the message body. Rules of folding apply to
+ these fields, so that such field bodies which occupy several
+ lines must therefore have the second and successive lines
+ indented by at least one LWSP-char.
+
+e. Structured field bodies
+
+ To aid in the creation and reading of structured fields, the
+ free insertion of linear-white-space (which permits folding
+ by inclusion of CRLFs) is allowed in reasonable places.
+ Rather than obscuring the syntax specifications for these
+ structured fields with explicit syntax for this linear-
+ white-space, the existence of another "lexical" analyzer is
+ assumed. This analyzer does not apply for field bodies which
+ are simply unstructured strings of text, as described above.
+ It provides an interpretation of the unfolded text comprising
+ the body of the field as a sequence of lexical symbols.
+ These symbols are:
+
+ - individual special characters
+ - quoted-strings
+
+Standard for the Format of Text Messages 8
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ - comments
+ - atoms
+
+ The first three of these symbols are self-delimiting. Atoms
+ are not; they therefore are delimited by the self-delimiting
+ symbols and by linear-white-space. For the purposes of re-
+ generating sequences of atoms and quoted-strings, exactly one
+ SPACE is assumed to exist and should be used between them.
+ (Also, in Section III.B.3.a, note the rules concerning
+ treatment of multiple continguous LWSP-chars.)
+
+ So, for example, the folded body of an address field
+
+ ":sysmail"@ Some-Host,
+ Muhammed(I am the greatest)Ali at(the)WBA
+
+ is analyzed into the following lexical symbols and types:
+
+ ":sysmail" quoted string
+ @ special
+ Some-Host atom
+ , special
+ Muhammed atom
+ (I am the greatest) comment
+ Ali atom
+ at atom
+ (the) comment
+ WBA atom
+
+ The cononical representations for the data in these addresses
+ are the following strings (note that there is exactly one
+ SPACE between words):
+
+ :sysmail at Some-Host
+
+ and
+
+ Muhammed Ali at WBA
+
+
+
+2. Formal Definitions
+
+The first four rules, below, indicate a meta-syntax for fields,
+without regard to their particular type or internal syntax. The
+remaining rules define basic syntactic structures which are used
+by the rules in Sections III.C, III.D, and III.E.
+
+field = field-name ":" [ field-body ] CRLF
+
+field-name = fnatom *( LWSP-char [fnatom] )
+
+
+Standard for the Format of Text Messages 9
+III. Syntax
+ B. Lexical Analysis
+
+
+
+fnatom = 1*<any CHAR, excluding CTLs, SPACE, and ":">
+
+field-body = field-body-contents
+ [CRLF LWSP-char field-body]
+
+field-body-contents = <the TELNET ASCII characters making up the
+ field-body, as defined in the following sections,
+ and consisting of combinations of atom, quoted-
+ string, and specials tokens, or else consisting of
+ texts>
+
+ ; ( Octal, Decimal.)
+CHAR = <any TELNET ASCII character> ; ( 0-177, 0.-127.)
+ALPHA = <any TELNET ASCII alphabetic character>
+ ; (101-132, 65.- 90.)
+ ; (141-172, 97.-122.)
+DIGIT = <any TELNET ASCII digit> ; ( 60- 71, 48.- 57.)
+CTL = <any TELNET ASCII control ; ( 0- 37, 0.- 31.)
+ character and DEL> ; ( 177, 127.)
+CR = <TELNET ASCII carriage return>;( 15, 13.)
+LF = <TELNET ASCII linefeed> ; ( 12, 10.)
+SPACE = <TELNET ASCII space> ; ( 40, 32.)
+HTAB = <TELNET ASCII horizontal-tab>; ( 11, 9.)
+<"> = <TELNET ASCII quote mark> ; ( 42, 34.)
+CRLF = CR LF
+
+LWSP-char = SPACE / HTAB ; semantics = SPACE
+linear-white-space = 1*([CRLF] LWSP-char) ; semantics = SPACE
+ ; CRLF => folding
+
+specials = "(" / ")" / "<" / ">" / "@" ; To use in a word,
+ / "," / ";" / ":" / "\" / <"> ; word must be a
+ ; quoted-string.
+
+delimiters = specials / comment / linear-white-space
+
+text = <any CHAR, including bare ; => atoms, specials,
+ CR and/or bare LF, but NOT ; comments and
+ including CRLF> ; quoted-strings are
+ ; NOT interpreted.
+
+atom = 1*<any CHAR except specials and CTLs>
+
+quoted-string = <"> *(qtext/quoted-pair) <">; Any number of qtext
+ ; chars or any
+ ; quoted char.
+
+qtext = <any CHAR excepting <"> ; => may be folded
+ and CR, and including
+ linear-white-space>
+
+
+Standard for the Format of Text Messages 10
+III. Syntax
+ B. Lexical Analysis
+
+
+
+comment = "(" *(ctext / comment / quoted-pair) ")"
+ctext = <any CHAR excluding "(", ; => may be folded
+ ")" and CR, and including
+ linear-white-space>
+
+quoted-pair = "\" CHAR
+
+
+3. Clarifications
+
+a. "White space"
+
+ Remember that in field-names and structured field bodies,
+ MULTIPLE LINEAR WHITE SPACE TELNET ASCII CHARACTERS (namely
+ HTABs and SPACEs) ARE TREATED AS SINGLE SPACES AND MAY FREELY
+ SURROUND ANY SYMBOL. In all header fields, the only place in
+ which at least one space is REQUIRED is at the beginning of
+ continuation lines in a folded field. When passing text to
+ processes which do not interpret text according to this
+ standard (e.g., ARPANET FTP mail servers), then exactly one
+ SPACE should be used in place of arbitrary linear-white-space
+ and comment sequences.
+
+ WHEREVER A MEMBER OF THE LIST OF <DELIMITER>S IS ALLOWED,
+ LWSP-CHARS MAY ALSO OCCUR BEFORE AND/OR AFTER IT.
+
+ Writers of mail-sending (i.e. header generating) programs
+ should realize that there is no Network-wide definition of
+ the effect of horizontal-tab TELNET ASCII characters on the
+ appearance of text at another Network host; therefore, the
+ use of tabs in message headers, though permitted, is
+ discouraged.
+
+ Note that during transmissions across the ARPANET using
+ TELNET NVT connections, data must conform to TELNET NVT
+ conventions (e.g., CR must be followed by either LF, making a
+ CRLF, or <null>, if the CR is to stand alone).
+
+b. Comments
+
+ Comments are detected as such only within field-bodies of
+ structured fields. A comment is a set of TELNET ASCII
+ characters, which is not within a quoted-string and which is
+ enclosed in matching parentheses; parentheses nest, so that
+ if an unquoted left parenthesis occurs in a comment string,
+ there must also be a matching right parenthesis. When a
+ comment is used to act as the delimiter between a sequence of
+ two lexical symbols, such as two atoms, it is lexically
+ equivalent with one SPACE, for the purposes of regenerating
+ the sequence, such as when passing the sequence onto an FTP
+ mail server.
+
+
+Standard for the Format of Text Messages 11
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ In particular comments are NOT passed to the FTP server, as
+ part of a MAIL or MLFL command, since comments are not part
+ of the "formal" address.
+
+ If a comment is to be "folded" onto multiple lines, then the
+ syntax for folding must be adhered to. (See items III.B.1.a,
+ above, and III.B.3.f, below.) Note that the official
+ semantics therefore do not "see" any unquoted CRLFs which are
+ in comments, although particular parsing programs may wish to
+ note their presence. For these programs, it would be
+ reasonable to interpret a "CRLF LWSP-char" as being a CRLF
+ which is part of the comment; i.e., the CRLF is kept and the
+ LWSP-char is discarded. Quoted CRLFs (i.e., a backslash
+ followed by a CR followed by a LF) still must be followed by
+ at least one LWSP-char.
+
+c. Delimiting and quoting characters
+
+ The quote character (backslash) and characters which delimit
+ syntactic units are not, generally, to be taken as data which
+ are part of the delimited or quoted unit(s). The one
+ exception is SPACE. In particular, the quotation-marks which
+ define a quoted-string, the parentheses which define a
+ comment and the backslash which quotes a following character
+ are NOT part of the quoted-string, comment or quoted
+ character. A quotation-mark which is to be part of a
+ quoted-string, a parenthesis which is to be part of a comment
+ and a backslash which is to be part of either must each be
+ preceded by the quote-character backslash ("\"). Note that
+ the syntax allows any character to be quoted within a
+ quoted-string or comment; however only certain characters
+ MUST be quoted to be included as data. These characters are
+ those which are not part of the alternate text group (i.e.,
+ ctext or qtext).
+
+ A single SPACE is assumed to exist between contiguous words
+ in a phrase, and this interpretation is independent of the
+ actual number of LWSP-chars which the creator places between
+ the words. To include more than one SPACE, the creator must
+ make the LWSP-chars be part of a quoted-string.
+
+ Quotation marks which delimit a quoted string and backslashes
+ which quote the following character should NOT accompany the
+ quoted-string when the string is used with processes that do
+ not interpret data according to this specification (e.g.,
+ ARPANET FTP mail servers).
+
+
+Standard for the Format of Text Messages 12
+III. Syntax
+ B. Lexical Analysis
+
+
+
+d. Quoted-strings
+
+ Where permitted (i.e., in words in structured fields)
+ quoted-strings are treated as a single symbol (i.e.
+ equivalent to an atom, syntactically). If a quoted-string is
+ to be "folded" onto multiple lines, then the syntax for
+ folding must be adhered to. (See items III.B.1.a, above, and
+ III.B.3.f, below.) Note that the official semantics
+ therefore do not "see" any bare CRLFs which are in quoted-
+ strings, although particular parsing programs may wish to
+ note their presence. For these programs, it would be
+ reasonable to interpret a "CRLF LWSP-char" as being a CRLF
+ which is part of the quoted-string; i.e., the CRLF is kept
+ and the LWSP-char is discarded. Quoted CRLFs (i.e., a
+ backslash followed by a CR followed by a LF) are also subject
+ to rules of folding, but the presence of the quoting
+ character (backslash) explicitly indicates that the CRLF is
+ data to the quoted string. Stripping off the first following
+ LWSP-char is also appropriate when parsing quoted CRLFs.
+
+e. Bracketing characters
+
+ There are three types of brackets which must be well nested:
+
+ o Parentheses are used to indicate comments.
+
+ o Angle brackets ("<" and ">") are generally used
+ to indicate the presence of at least one machine-
+ usable code (e.g., delimiting mailboxes).
+
+ o Colon/semi-colon (":" and ";") are used in
+ address specifications to indicate that the
+ included list of addresses are to be treated as a
+ group.
+
+f. Case independence of certain specials atoms
+
+ Certain atoms, which are represented in the syntax as literal
+ alphabetic strings, can be represented in any combination of
+ upper and lower case. These are:
+
+ - field-name,
+ - "Include", "Postal" and equivalent atoms in a
+ ":"<atom>":" address specification,
+ - "at", in a host-indicator,
+ - node,
+ - day-of-week,
+ - month, and
+ - zones.
+
+ When matching an atom against one of these literals, case is
+ to be ignored. For example, the field-names "From", "FROM",
+
+Standard for the Format of Text Messages 13
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ "from", and even "FroM" should all be treated identically.
+ However, the case shown in this specification is suggested
+ for message-creating processes. Note that, at the level of
+ this specification, case IS relevant to other words and
+ texts. Also see Section IV.A.1.f, below.
+
+g. Folding long lines
+
+ Each header item (field of the message) may be represented on
+ exactly one line consisting of the name of the field and its
+ body; this is what the parser sees. For readability, it is
+ recommended that the field-body portion of long header items
+ be "folded" onto multiple lines of the actual header. "Long"
+ is commonly interpreted to mean greater than 65 or 72
+ characters. The former length is recommended as a limit, but
+ it is not imposed by this standard.
+
+h. Backspace characters
+
+ Backspace TELNET ASCII characters (ASCII BS, decimal 8.) may
+ be included in texts and quoted-strings to effect
+ overstriking; however, any use of backspaces which effects an
+ overstrike to the left of the beginning of the text or
+ quoted-string is prohibited.
+
+
+
+C. GENERAL SYNTAX OF MESSAGES:
+
+
+ NOTE: Due to an artifact of the notational conventions,
+ the syntax indicates that, when present, "Date",
+ "From", "Sender", and "Reply-To" fields must be
+ in a particular order. These header items must
+ be unique (occur exactly once). However header
+ fields, in fact, are NOT required to occur in any
+ particular order, except that the message body
+ must occur AFTER the headers. For readability
+ and ease of parsing by simple systems, it is
+ recommended that headers be sent in the order
+ "Date", "From", "Subject", "Sender", "To", "cc",
+ etc. This specification permits multiple
+ occurrences of most optional-fields. However,
+ their interpretation is not specified here, and
+ their use is strongly discouraged.
+
+The following syntax for the bodies of various fields should be
+thought of as describing each field body as a single long string
+(or line). The section on Lexical Analysis (section II.B)
+indicates how such long strings can be represented on more than
+one line in the actual transmitted message.
+
+
+Standard for the Format of Text Messages 14
+III. Syntax
+ C. Messages
+
+
+
+message = fields *( CRLF *text ) ; Everything after
+ ; first null line
+ ; is message body
+
+fields = date-field ; Creation time-stamp
+ originator-fields ; & author id are
+ *optional-field ; required: others
+ ; are all optional
+
+originator-fields =
+ ( "From" ":" mailbox ; Single author
+ ["Reply-To" ":" #address] )
+ / ( "From" ":" 1#address ; Multiple authors &
+ "Sender" ":" mailbox ; may have non-mach-
+ ["Reply-To" ":" #address] ); ine addresses
+
+date-field = "Date" ":" date-time
+
+optional-field =
+ "To" ":" #address
+ / "cc" ":" #address
+ / "bcc" ":" #address ; Blind carbon
+ / "Subject" ":" *text
+ / "Comments" ":" *text
+ / "Message-ID" ":" mach-id ; Only one allowed
+ / "In-Reply-To"":" #(phrase / mach-id)
+ / "References" ":" #(phrase / mach-id)
+ / "Keywords" ":" #phrase
+ / extension-field ; To be defined in
+ ; supplemental
+ ; specifications
+ / user-defined-field ; Must have unique
+ ; field-name & may
+ ; be pre-empted
+
+extension-field = <Any field which is defined in a document
+ published as a formal extension to this
+ specification>
+
+user-defined-field = <Any field which has not been defined in
+ this specification or published as an extension to
+ this specification; names for such fields must be
+ unique and may be preempted by published
+ extensions>
+
+
+
+
+Standard for the Format of Text Messages 15
+III. Syntax
+ D. Addressee Items
+
+
+
+D. SYNTAX OF GENERAL ADDRESSEE ITEMS
+
+
+address = host-phrase ; Machine mailbox
+ / ( [phrase] "<" #address ">") ; Individual / List
+ / ( [phrase] ":" #address ";") ; Group
+ / quoted-string ; Arbitrary text
+ / (":" ( "Include" ; File, w/ addr list
+ / "Postal" ; (U.S.) Postal addr
+ / atom ) ; Extended data type
+ ":" address)
+
+mailbox = host-phrase / (phrase mach-id)
+
+mach-id = "<" host-phrase ">" ; Contents must never
+ ; be modified!
+
+
+
+E. SUPPORTING CONSTRUCTS
+
+
+host-phrase = phrase host-indicator ; Basic address
+
+host-indicator = 1*( ("at" / "@") node ) ; Right-most node is
+ ; at top of network
+ ; hierarchy; left-
+ ; most must be host
+
+node = word / 1*DIGIT ; Official host or
+ ; network name or
+ ; decimal address
+
+
+date-time = [ day-of-week "," ] date time
+
+day-of-week = "Monday" / "Mon" / "Tuesday" / "Tue"
+ / "Wednesday" / "Wed" / "Thursday" / "Thu"
+ / "Friday" / "Fri" / "Saturday" / "Sat"
+ / "Sunday" / "Sun"
+
+date = 1*2DIGIT ["-"] month ; day month year
+ ["-"] (2DIGIT /4DIGIT) ; e.g. 20 Aug [19]77
+
+month = "January" / "Jan" / "February" / "Feb"
+ / "March" / "Mar" / "April" / "Apr"
+ / "May" / "June" / "Jun"
+ / "July" / "Jul" / "August" / "Aug"
+ / "September" / "Sep" / "October" / "Oct"
+ / "November" / "Nov" / "December" / "Dec"
+
+
+Standard for the Format of Text Messages 16
+III. Syntax
+ E. Supporting Constructs
+
+
+
+time = hour zone ; ANSI and Military
+ ; (seconds optional)
+
+hour = 2DIGIT [":"] 2DIGIT [ [":"] 2DIGIT ]
+ ; 0000[00] - 2359[59]
+
+zone = ( ["-"] ( "GMT" ; Relative to GMT:
+ ; North American
+ / "NST" / ; Newfoundland:-3:30
+ / "AST" / "ADT" ; Atlantic: - 4/ - 3
+ / "EST" / "EDT" ; Eastern: - 5/ - 4
+ / "CST" / "CDT" ; Central: - 6/ - 5
+ / "MST" / "MDT" ; Mountain: - 7/ - 6
+ / "PST" / "PDT" ; Pacific: - 8/ - 7
+ / "YST" / "YDT" ; Yukon: - 9/ - 8
+ / "HST" / "HDT" ; Haw/Ala -10/ - 9
+ / "BST" / "BDT" ; Bering: -11/ -10
+ 1ALPHA )) ; Military: Z = GMT;
+ ; A:-1; (J not used)
+ ; M:-12; N:+1; Y:+12
+ / ( ("+" / "-") 4DIGIT ) ; Local differential
+ ; hours/min. (HHMM)
+
+phrase = 1*word ; Sequence of words.
+ ; Separation seman-
+ ; tically = SPACE
+
+word = atom / quoted-string
+
+
+
+Standard for the Format of Text Messages 17
+IV. Semantics
+ A. Address Fields
+
+
+
+
+
+ IV. SEMANTICS
+
+
+
+A. ADDRESS FIELDS
+
+
+1. General
+
+a. The phrase part of a host-phrase in an address specification
+ (i.e., the host's name for the mailbox) is understood to be
+ whatever the receiving FTP Server allows (for example, TENEX
+ systems do not now understand addresses of the form "P. D.
+ Q. Bach", but another system might).
+
+ Note that a mailbox is a conceptual entity which does not
+ necessarily pertain to file storage. For example, some sites
+ may choose to print mail on their line printer and deliver
+ the output to the addressee's desk.
+
+ An individual may have several mailboxes and a group of
+ individuals may wish to receive mail as a single unit (i.e.,
+ a distribution list). The second and third alternatives of
+ an address list (#address) allow naming a collection of
+ subordinate addresses list(s). Recipient mailboxes are
+ specified within the bracketed part ("<" - ">" or ":" - ";")
+ of such named lists. The use of angle-brackets ("<", ">") is
+ intended for the cases of individuals with multiple mailboxes
+ and of special mailbox lists; it is not expected to be nested
+ more than one level, although the specification allows such
+ nesting. The use of colon/semi-colon (":", ";") is intended
+ for the case of groups. Groups can be expected to nest
+ (i.e., to contain subgroups). For both individuals and
+ groups, a copy of the transmitted message is to be sent to
+ EACH mailbox listed. For the case of a special list,
+ treatment of addresses is defined in the relevant subsections
+ of this section.
+
+b. The inclusion of bare quoted-strings as addresses (i.e., the
+ fourth address-form alternative) is allowed as a syntactic
+ convenience, but no semantics are defined for their use.
+ However, it is reasonable, when replicating an address list,
+ to replicate ALL of its members, including quoted-strings.
+
+c. ":Include:" specifications are used to refer to one or more
+ locations containing stored address lists (#address). If
+ more than one location is referenced, the address part of the
+ Include phrase must be a list (#address) surrounded by
+ angle-brackets, as per the "Individual / List" alternative of
+ <address>. Constituent addresses must resolve to a host-
+
+Standard for the Format of Text Messages 18
+IV. Semantics
+ A. Address Fields
+
+
+
+ phrase; only they have any meaning within this construct.
+ The phrase part of indicated host-phrases should contain text
+ which the referenced host can resolve to a file. This
+ standard is not a protocol and so does not prescribe HOW data
+ is to be retrieved from the file. However, the following
+ requirements are made:
+
+ o The file must be accessible through the local
+ operating system interface (if it exists), given
+ adequate user access rights; and
+
+ o If a host has an FTP server and a user is able
+ to retrieve any files from the host using that
+ server, then the file must be accessible through
+ FTP, using DEFAULT transfer settings, given
+ adequate user access rights.
+
+ It is intended that this mechanism allow programs to retrieve
+ such lists automatically.
+
+ The interpretation of such a file reference follows. This is
+ not intended to imply any particular implementation scheme,
+ but is presented to aid in understanding the notion of
+ including file contents in address lists:
+
+ o Elements of the address list part are alternates
+ and the contents of ONLY ONE of them are to be
+ included in the resultant address list.
+
+ o The contents of the file indicated by a member
+ host-phrase are treated as an address list and
+ are inserted as an address list (#address) in
+ the position of the path item in the syntax.
+ That is, the TELNET ASCII characters specifying
+ the entire Include <address> is replaced by the
+ contents of one of the files to which the host-
+ phrase(s), of the address list (#address),
+ refers. Therefore, the contents of each file,
+ indicated by an Include address, must be
+ syntactically self-contained and must adhere to
+ the full syntax prescribed herein for an address
+ list.
+
+d. ":Postal:" specifications are used to indicate (U.S.) postal
+ addresses, but can be treated the same as quoted-string
+ addresses. To reference a list of postal addresses, the list
+ must conform to the "Individual / List" alternative of
+ <address>. The ":Include:" alternative also is valid.
+
+e. The "':' atom ':'" syntax is intended as a general mechanism
+ for indicating specially data-typed addresses. As with
+ extension-fields, the authors of this document will regulate
+
+Standard for the Format of Text Messages 19
+IV. Semantics
+ A. Address Fields
+
+
+
+ the publishing of specifications for these extended data-
+ types. In the absence of defined semantics, any occurrence
+ of an address in this form may be treated as a quoted-string
+ address.
+
+f. A node name must be THE official name of a network or a host,
+ or else a decimal number indicating the Network address for
+ that network or host, at the time the message is created.
+ The USE OF NUMBERS IS STRONGLY DISCOURAGED and is permitted
+ only due to the occasional necessity of bypassing local name
+ tables. For the ARPANET, official names are maintained by
+ the Network Information Center at SRI International, Menlo
+ Park, California.
+
+ Whenever a message might be transmitted or migrate to a host
+ on another network, full hierarchical addresses must be
+ specified. These are indicated as a series of words,
+ separated by at-sign or "at" indications. The communication
+ environment is assumed to consist of a collection of networks
+ organized as independent "trees" except for connections
+ between the root nodes. That is, only the roots can act as
+ gateways between these independent networks. While other
+ actual connections may exist, it is believed that presuming
+ this type of organization will provide a reliable method for
+ describing VALID, if not EFFICIENT, paths between hosts. A
+ typical full mailbox specification might therefore look like:
+
+ Friendly User @ hosta @ local-net1 @ major-netq
+
+ In the simplest case, a mail-sending host should transmit the
+ message to the node which is mentioned last (farthest to the
+ right), strip off that node reference from the specification,
+ and then pass the remaining host-phrase to the recipient host
+ (in the ARPANET, its FTP server) for it to process. This
+ treats the remaining portion of the host-indicator merely as
+ the terminating part of the phrase.
+
+ NOTE: When passing any portion of a host-indicator
+ onto a process which does not interpret data
+ according to this standard (e.g., ARPANET
+ FTP servers), "@" must be used and not "at"
+ and it must not be preceded or followed by
+ any LWSP-chars. Using the above example,
+ the following string would be passed to the
+ major-netq gateway:
+
+ Friendly User@hosta@local-net1
+
+ When the sending host has more knowledge of the network
+ environment, then it should send the message along a more
+ efficient path, making appropriate changes to the form of the
+ host-phrase which it gives to the recipient host.
+
+Standard for the Format of Text Messages 20
+IV. Semantics
+ A. Address Fields
+
+
+
+ To use the above specification as an example: If a sending
+ hostb also were part of local-net1, then it could send the
+ message directly to hosta and would give only the phrase
+ "Friendly User" to hosta's mail-receiving program. If hostb
+ were part of local-net2, along with hostc, and happened to
+ know that hosta and hostc were part of another local-net,
+ then hostb could send the message to hostc to the address
+ "Friendly User@hosta".
+
+ The phrase in a host-phrase is intended to be meaningful only
+ to the indicated receiving host. To all other hosts, the
+ phrase is to be treated as an uninterpreted string. No case
+ transformations should be (automatically) performed on the
+ phrase. The phrase is passed to the local host's mail
+ sending program; it is the responsibility of the destination
+ host's mail receiving (distribution) program to perform case
+ mapping on this phrase, if required, to deliver the mail.
+
+
+2. Originator Fields
+
+ WARNING: The standard allows only a subset of the
+ combinations possible with the From, Sender,
+ and Reply-To fields. The limitation is
+ intentional.
+
+a. From
+
+ This field contains the identity of the person(s) who wished
+ this message to be sent. The message-creation process should
+ default this field to be a single machine address, indicating
+ the AGENT (person or process) entering the message. If this
+ is NOT done, the "Sender" field MUST be present; if this IS
+ done, the "Sender" field is optional.
+
+b. Sender
+
+ This field contains the identity of the AGENT (person or
+ process) who sends the message. It is intended for use when
+ the sender is not the author of the message, or to indicate
+ who among a group of authors actually sent the message. If
+ the contents of the "Sender" field would be completely
+ redundant with the "From" field, then the "Sender" field need
+ not be present and its use is discouraged (though still
+ legal); in particular, the "Sender" field MUST be present
+ if it is NOT the same as the "From" Field.
+
+ The Sender host-phrase includes a phrase which must
+ correspond to a specific agent (i.e., a human user or a
+ computer program) rather than a standard address. This
+ indicates the expectation that the field will identify the
+ single AGENT (person or process) responsible for sending the
+
+Standard for the Format of Text Messages 21
+IV. Semantics
+ A. Address Fields
+
+
+
+ mail and not simply include the name of a mailbox from which
+ the mail was sent. For example in the case of a shared login
+ name, the name, by itself, would not be adequate. The phrase
+ part of the host-phrase, which refers to this agent, is
+ expected to be a computer system term, and not (for example)
+ a generalized person reference which can be used outside the
+ network text message context.
+
+ Since the critical function served by the "Sender" field is
+ the identification of the agent responsible for sending mail
+ and since computer programs cannot be held accountable for
+ their behavior, is strongly recommended that when a computer
+ program generates a message, the HUMAN who is responsible for
+ that program be referenced as part of the "Sender" field
+ host-phrase.
+
+c. Reply-To
+
+ This field provides a general mechanism for indicating any
+ mailbox(es) to which responses are to be sent. Three typical
+ uses for this feature can be distinguished. In the first
+ case, the author(s) may not have regular machine-based
+ mailboxes and therefore wish(es) to indicate an alternate
+ machine address. In the second case, an author may wish
+ additional persons to be made aware of, or responsible for,
+ responses; responders should send their replies to the
+ "Reply-To" mailbox(es) listed in the original message. A
+ somewhat different use may be of some help to "text message
+ teleconferencing" groups equipped with automatic distribution
+ services: include the address of that service in the
+ "Reply-To" field of all messages submitted to the
+ teleconference; then participants can "reply" to conference
+ submissions to guarantee the correct distribution of any
+ submission of their own.
+
+ Reply-To fields are NOT required to contain any machine
+ addresses (i.e., host-phrases). Note, however, that the
+ absence of even one valid network address will tend to
+ prevent software systems from automatically assisting users
+ in conveniently responding to mail.
+
+NOTE: For systems which automatically generate address lists for
+replies to messages, the following recommendations are made:
+
+ o The receiver, when replying to a message, should
+ NEVER automatically include the "Sender" host-phrase
+ in the reply's address list;
+
+ o If the "Reply-To" field exists, then the reply
+ should go ONLY to the addresses indicated in that
+ field and not to the addresses indicated in the
+ "From" field.
+
+Standard for the Format of Text Messages 22
+IV. Semantics
+ A. Address Fields
+
+
+
+(Extensive examples are provided in Section V.) This
+recommendation is intended only for originator-fields and is not
+intended to suggest that replies should not also be sent to the
+other recipients of this message. It is up to the respective
+mail handling programs to decide what additional facilities will
+be provided.
+
+
+3. Receiver Fields
+
+a. To
+
+ This field contains the identity of the primary recipients of
+ the message.
+
+b. cc
+
+ This field contains the identity of the secondary recipients
+ of the message.
+
+b. Bcc
+
+ This field contains the identity of additional recipients of
+ the message. The contents of this field are not included in
+ copies of the message sent to the primary and secondary
+ recipients. Some systems may choose to include the text of
+ the "Bcc" field only in the author(s)'s copy, while others
+ may also include it in the text sent to all those indicated
+ in the "Bcc" list.
+
+
+
+B. REFERENCE SPECIFICATION FIELDS
+
+
+1. Message-ID
+
+This field contains a unique identifier (the phrase) which refers
+to THIS version of THIS message. The uniqueness of the message
+identifier is guaranteed by the host which generates it. This
+identifier is intended to be machine readable and not necessarily
+meaningful to humans. A message identifier pertains to exactly
+one instantiation of a particular message; subsequent revisions
+to the message should each receive a new message identifier.
+
+
+2. In-Reply-To
+
+The contents of this field identify previous correspondence which
+this message answers. Note that if message identifiers are used
+in this field, they must use the mach-id specification format.
+
+
+Standard for the Format of Text Messages 23
+IV. Semantics
+ B. Reference Specification Fields
+
+
+
+3. References
+
+The contents of this field identify other correspondence which
+this message references. Note that if message identifiers
+are used, they must use the mach-id specification format.
+
+
+4. Keywords
+
+This field contains keywords or phrases, separated by commas.
+
+
+
+C. OTHER FIELDS AND SYNTACTIC ITEMS
+
+
+1. Subject
+
+The "Subject" field is intended to provide as much information as
+necessary to adequately summarize or indicate the nature of the
+message.
+
+
+2. Comments
+
+Permits adding text comments onto the message without disturbing
+the contents of the message's body.
+
+
+3. Extension-field
+
+A relatively limited number of common fields have been defined in
+this document. As network mail requirements dictate, additional
+fields may be standardized. The authors of this document will
+regulate the publishing of such definitions as extensions to the
+basic specification.
+
+
+4. User-defined-field
+
+Individual users of network mail are free to define and use
+additional header fields. Such fields must have names which are
+not already used in the current specification or in any
+definitions of extension-fields, and the overall syntax of these
+user-defined-fields must conform to this specification's rules
+for delimiting and folding fields. Due to the extension-field
+publishing process, the name of a user-defined-field may be pre-
+empted.
+
+
+
+
+Standard for the Format of Text Messages 24
+IV. Semantics
+ D. Dates
+
+
+
+D. DATES AND TIMES
+
+If included, day-of-week must be the day implied by the date
+specification.
+
+Time zone may be indicated in several ways. The military
+standard uses a single character for each zone. "Z" is
+Greenwhich Mean Time; "A" indicates one hour earlier, and "M"
+indicates 12 hours earlier; "N" is one hour later, and "Y" is 12
+hours later. The letter "J" is not used. The other remaining
+two forms are taken from ANSI standard X3.51-1975. One allows
+explicit indication of the amount of offset from GMT; the other
+uses common 3-character strings for indicating time zones in
+North America.
+
+
+Standard for the Format of Text Messages 25
+V. Examples
+A. Addresses
+
+
+
+
+
+ V. EXAMPLES
+
+
+A. ADDRESSES
+
+
+1. Alfred E. Neuman <Neuman at BBN-TENEXA>
+
+2. Neuman@BBN-TENEXA
+
+These two "Alfred E. Neuman" examples have identical semantics,
+as far as the operation of the local host's mail sending
+(distribution) program (also sometimes called its "mailer") and
+the remote host's FTP server are concerned. In the first
+example, the "Alfred E. Neuman" is ignored by the mailer, as
+"Neuman at BBN-TENEXA" completely specifies the recipient. The
+second example contains no superfluous information, and, again,
+"Neuman@BBN-TENEXA" is the intended recipient.
+
+
+3. Al Neuman at BBN-TENEXA
+
+This is identical to "Al Neuman <Al Neuman at BBN-TENEXA>". That
+is, the full phrase, "Al Neuman", is passed to the FTP server.
+Note that not all FTP servers accept multi-word identifiers; and
+some that do accept them will treat each word as a different
+addressee (in this case, attempting to send a copy of the message
+to "Al" and a copy to "Neuman").
+
+
+4. "George Lovell, Ted Hackle" <Shared-Mailbox at Office-1>
+
+This form might be used to indicate that a single mailbox is
+shared by several users. The quoted string is ignored by the
+originating host's mailer, as "Shared-Mailbox at Office-1"
+completely specifies the destination mailbox.
+
+
+4. Wilt (the Stilt) Chamberlain at NBA
+
+The "(the Stilt)" is a comment, which is NOT included in the
+destination mailbox address handed to the originating system's
+mailer. The address is the string "Wilt Chamberlain", with
+exactly one space between the first and second words. (The
+quotation marks are not included.)
+
+
+
+
+Standard for the Format of Text Messages 26
+V. Examples
+B. Address Lists
+
+
+
+B. ADDRESS LISTS
+
+ Gourmets: Pompous Person <WhoZiWhatZit at Cordon-Bleu>,
+ Cooks: Childs at WGBH, Galloping Gourmet at
+ ANT (Australian National Television);,
+ Wine Lovers: Cheapie at Discount-Liquors,
+ Port at Portugal;;,
+ Jones at SEA
+
+This group list example points out the use of comments, the
+nesting of groups, and the mixing of addresses and groups. Note
+that the two consecutive semi-colons preceding "Jones at SEA"
+mean that Jones is NOT a member of the Gourmets group.
+
+
+C. ORIGINATOR ITEMS
+
+
+1. Author-sent
+
+George Jones logs into his Host as "Jones". He sends mail
+himself.
+
+ From: Jones at Host
+or
+ From: George Jones <Jones at Host>
+
+
+2. Secretary-sent
+
+George Jones logs in as Jones on his Host. His secretary, who
+logs in as Secy on Shost sends mail for him. Replies to the mail
+should go to George, of course.
+
+ From: George Jones <Jones at Host>
+ Sender: Secy at SHost
+
+
+3. Shared directory or unrepresentative directory-name
+
+George Jones logs in as Group at Host. He sends mail himself;
+replies should go to the Group mailbox.
+
+ From: George Jones <Group at Host>
+
+
+
+Standard for the Format of Text Messages 27
+V. Examples
+C. Originator Items
+
+
+
+4. Secretary-sent, for user of shared directory
+
+George Jones' secretary sends mail for George in his capacity as
+a member of Group while logged in as Secy at Host. Replies
+should go to Group.
+
+ From: George Jones<Group at Host>
+ Sender: Secy at Host
+
+Note that there need not be a space between "Jones" and the "<",
+but adding a space enhances readability (as is the case in other
+examples).
+
+
+5. Secretary acting as full agent of author
+
+George Jones asks his secretary (Secy at Host) to send a message
+for him in his capacity as Group. He wants his secretary to
+handle all replies.
+
+ From: George Jones <Group at Host>
+ Sender: Secy at Host
+ Reply-To: Secy at Host
+
+
+6. Agent for user without online mailbox
+
+A non-ARPANET user friend of George's, Sarah, is visting.
+George's secretary sends some mail to a friend of Sarah in
+computer-land. Replies should go to George, whose mailbox is
+Jones at Host.
+
+ From: Sarah Friendly
+ Sender: Secy at Host
+ Reply-To: Jones at Host
+
+
+7. Sent by member of a committee
+
+George is a member of a committee. He wishes to have any replies
+to his message go to all committee members.
+
+ From: George Jones
+ Sender: Jones at Host
+ Reply-To: Big-committee: Jones at Host,
+ Smith at Other-Host,
+ Doe at Somewhere-Else;
+
+Note that if George had not included himself in the enumeration
+of Big-committee, he would not have gotten an implicit reply; the
+presence of the "Reply-to" field SUPERSEDES the sending of a
+reply to the person named in the "From" field.
+
+Standard for the Format of Text Messages 28
+V. Examples
+C. Originator Items
+
+
+
+8. Example of INCORRECT use
+
+George desires a reply to go to his secretary; therefore his
+secretary leaves his mailbox address off the "From" field,
+leaving only his name, which is not, itself, a mailbox address.
+
+ From: George Jones
+ Sender: Secy at SHost
+
+THIS IS NOT PERMITTED. Replies are NEVER implicitly sent to the
+"Sender"; George's secretary should have used the "Reply-To"
+field, or the mail creating program should have forced the
+secretary to.
+
+9. Agent for member of a committee
+
+George's secretary sends out a message which was authored jointly
+by all the members of the "Big-committee".
+
+ From: Big-committee: Jones at Host,
+ Smith at Other-Host,
+ Doe at Somewhere-Else;
+ Sender: Secy at SHost
+
+
+
+D. COMPLETE HEADERS
+
+
+1. Minimum required:
+
+ Date: 26 August 1976 1429-EDT
+ From: Jones at Host
+
+
+2. Using some of the additional fields:
+
+ Date: 26 August 1976 1430-EDT
+ From:George Jones<Group at Host>
+ Sender:Secy at SHOST
+ To:Al Neuman at Mad-Host,
+ Sam Irving at Other-Host
+ Message-ID: <some string at SHOST>
+
+
+
+Standard for the Format of Text Messages 29
+V. Examples
+D. Complete Headers
+
+
+
+3. About as complex as you're going to get:
+
+ Date : 27 Aug 1976 0932-PDT
+ From : Ken Davis <KDavis at Other-Host>
+ Subject : Re: The Syntax in the RFC
+ Sender : KSecy at Other-Host
+ Reply-To : Sam Irving at Other-Host
+ To : George Jones <Group at Host>,
+ Al Neuman at Mad-Host
+ cc : Important folk:
+ Tom Softwood <Balsa at Another-Host>,
+ Sam Irving at Other-Host;,
+ Standard Distribution::Include:
+ </main/davis/people/standard at Other-Host,
+ "<Jones>standard.dist.3" at Tops-20-Host>,
+ (The following Included Postal list is part
+ of Standard Distribution.)
+ :Postal::Include: Non-net-addrs@Other-host;,
+ :Postal: "Sam Irving, P.O. Box 001, Las Vegas,
+ Nevada" (So that he can stay
+ apprised of the situation)
+ Comment : Sam is away on business. He asked me to handle
+ his mail for him. He'll be able to provide a
+ more accurate explanation when he returns
+ next week.
+ In-Reply-To: <some string at SHOST>
+ Special (action): This is a sample of multi-word field-
+ names, using a range of characters. There
+ could also be a field-name "Special (info)".
+ Message-ID: <4231.629.XYzi-What at Other-Host>
+
+
+Standard for the Format of Text Messages 31
+Appendix
+A. Alphabetical Listing of Syntax Rules
+
+
+
+
+
+ APPENDIX
+
+
+
+A. ALPHABETICAL LISTING OF SYNTAX RULES
+
+
+address = host-phrase / quoted-string
+ / (*phrase "<" #address ">" )
+ / (*phrase ":" #address ";" )
+ / (":" ("Include" / "Postal" / atom) ":" address)
+ALPHA = <any TELNET ASCII alphabetic character>
+atom = 1*<any CHAR except specials and CTLs>
+
+CHAR = <any TELNET ASCII character>
+comment = "(" *(ctext / comment / quoted-pair) ")"
+CR = <TELNET ASCII carriage return>
+CRLF = CR LF
+ctext = <any CHAR excluding "(", ")", CR, LF and
+ including linear-white-space>
+CTL = <any TELNET ASCII control character and DEL>
+
+date = 1*2DIGIT ["-"] month ["-"] (2DIGIT /4DIGIT)
+date-field = "Date" ":" date-time
+date-time = [ day-of-week "," ] date time
+day-of-week = "Monday" / "Mon" / "Tuesday" / "Tue"
+ / "Wednesday" / "Wed" / "Thursday" / "Thu"
+ / "Friday" / "Fri" / "Saturday" / "Sat"
+ / "Sunday" / "Sun"
+delimiters = specials / comment / linear-white-space
+DIGIT = <any TELNET ASCII digit>
+
+extension-field = <Any field which is defined in a document
+ published as a formal extension to this
+ specification>
+
+field = field-name ":" [ field-body ] CRLF
+
+fields = date-field originator-fields *optional-field
+field-body = field-body-contents
+ [CRLF LWSP-char field-body]
+field-body-contents = <the TELNET ASCII characters making up the
+ field-body, as defined in the following sections,
+ and consisting of combinations of atom, quoted-
+ string, and specials tokens, or else consisting of
+ texts>
+field-name = fnatom *(LWSP-char [fnatom])
+fnatom = 1*<any CHAR, excluding CTLs, SPACE, and ":">
+
+
+Standard for the Format of Text Messages 32
+Appendix
+A. Alphabetical Listing of Syntax Rules
+
+
+
+host-indicator = 1*( ("at" / "@") node )
+host-phrase = phrase host-indicator
+hour = 2DIGIT [":"] 2DIGIT [ [":"] 2DIGIT ]
+HTAB = <TELNET ASCII horizontal-tab>
+
+LF = <TELNET ASCII linefeed>
+linear-white-space = 1*([CRLF] LWSP-char)
+LWSP-char = SPACE / HTAB
+
+mach-id = "<" host-phrase ">"
+mailbox = host-phrase / (phrase mach-id)
+message = fields *(CRLF *text)
+month = "January" / "Jan" / "February" / "Feb"
+ / "March" / "Mar" / "April" / "Apr"
+ / "May" / "June" / "Jun"
+ / "July" / "Jul" / "August" / "Aug"
+ / "September" / "Sep" / "October" / "Oct"
+ / "November" / "Nov" / "December" / "Dec"
+
+node = word / 1*DIGIT
+
+optional-field =
+ "To" ":" #address
+ / "cc" ":" #address
+ / "bcc" ":" #address
+ / "Subject" ":" *text
+ / "Comments" ":" *text
+ / "Message-ID" ":" mach-id
+ / "In-Reply-To"":" #(phrase / mach-id)
+ / "References" ":" #(phrase / mach-id)
+ / "Keywords" ":" #phrase
+ / extension-field
+ / user-defined-field
+originator-fields =
+ ( "From" ":" mailbox
+ ["Reply-To" ":" #address] )
+ / ( "From" ":" 1#address
+ "Sender" ":" mailbox
+ ["Reply-To" ":" #address] )
+
+phrase = 1*word
+
+quoted-pair = "\" CHAR
+quoted-string = <"> *(qtext / quoted-pair) <">
+qtext = <any CHAR except <">, CR, or LF and including
+ linear-white-space>
+SPACE = <TELNET ASCII space>
+specials = "(" / ")" / "<" / ">" / "@"/ "," / ";" / ":"
+ / "\" / <">
+
+text = <any CHAR, including bare CR and/or bare LF, but
+ NOT including CRLF>
+
+Standard for the Format of Text Messages 33
+Appendix
+A. Alphabetical Listing of Syntax Rules
+
+
+
+time = hour zone
+
+user-defined-field = <Any field which has not been defined in
+ this specification or published as an extension to
+ this specification; names for such fields must be
+ unique and may be preempted by putlished
+ extensions>
+
+word = atom / quoted-string
+
+zone = ( ("+" / "-") 4DIGIT )
+ / ( ["-"] (1ALPHA
+ / "GMT" / "NST" / "AST" / "ADT" / "EST" / "EDT"
+ / "CST" / "CDT" / "MST" / "MDT" / "PST" / "PDT"
+ / "YST" / "YDT" / "HST" / "HDT" / "BST" / "BDT" ))
+
+<"> = <TELNET ASCII quote mark>
+
+
+Standard for the Format of Text Messages 35
+Appendix
+B. Simple Parsing
+
+
+
+
+B. SIMPLE PARSING
+
+
+ Some mail-reading software systems may wish to perform only
+minimal processing, ignoring the internal syntax of structured
+field-bodies and treating them the same as unstructured-field-
+bodies. Such software will need only to distinguish:
+
+ - Header fields from the message body,
+ - Beginnings of fields from lines which continue fields,
+ - Field-names from field-contents.
+
+ The abbreviated set of syntactic rules which follows will
+suffice for this purpose. They describe a limited view of
+messages and are a subset of the syntactic rules provided in the
+main part of this specification. One small exception is that the
+contents of field-bodies consist only of text:
+
+
+SYNTAX:
+
+message = *field *(CRLF *text)
+
+field = field-name ":" [field-body] CRLF
+
+field-name = fnatom *( LWSP-char [fnatom] )
+
+fnatom = 1*<any CHAR, excluding CTLs, SPACE, and ":">
+
+
+field-body = *text [CRLF LWSP-char field-body]
+
+
+SEMANTICS:
+
+ Headers occur before the message body and are terminated by
+a null line (i.e., two contiguous CRLFs).
+
+ A line which continues a header field begins with a SPACE or
+HTAB character, while a line beginning a field starts with a
+printable character which is not a colon.
+
+ A field-name consists of one or more printable characters
+(excluding colon), each separated by one or more SPACES or HTABS.
+A field-name MUST be contained on one line. Upper and lower case
+are not distinguished when comparing field-names.
+
+
+Standard for the Format of Text Messages 37
+Bibliography
+
+
+
+
+
+
+ BIBLIOGRAPHY
+
+
+ANSI. Representations of universal time, local time
+ differentials, and United States time zone references for
+ information interchange. ANSI X3.51-1975; American National
+ Standards Institute: New York, 1975.
+
+Bhushan, A.K. The File Transfer Protocol. ARPANET Request for
+ Comments, No. 354, Network Information Center No. 10596;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, July 1972.
+
+Bhushan, A.K. Comments on the File Transfer Protocol. ARPANET
+ Request for Comments, No. 385, Network Information Center No.
+ 11357; Augmentation Research Center, Stanford Research
+ Institute: Menlo Park, August 1972.
+
+Bhushan, A.K., Pogran, K.T., Tomlinson, R.S., and White, J.E.
+ Standardizing Network Mail Headers. ARPANET Request for
+ Comments, No. 561, Network Information Center No. 18516;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, September 1973.
+
+Feinler, E.J. and Postel, J.B. ARPANET Protocol Handbook.
+ Network Information Center No. 7104; Augmentation Research
+ Center, Stanford Research Institute: Menlo Park, April 1976.
+ (NTIS AD A003890).
+
+McKenzie, A. File Transfer Protocol. ARPANET Request for
+ Comments, No. 454, Network Information Center No. 14333;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, February 1973.
+
+McKenzie, A. TELNET Protocol Specification. Network Information
+ Center No. 18639; Augmentation Research Center, Stanford
+ Research Institute: Menlo Park, August 1973.
+
+Myer, T.H. and Henderson, D.A. Message Transmission Protocol.
+ ARPANET Request for Comments, No. 680, Network Information
+ Center No. 32116; Augmentation Research Center, Stanford
+ Research Institute: Menlo Park, 1975.
+
+Neigus, N. File Transfer Protocol. ARPANET Request for
+ Comments, No. 542, Network Information Center No. 17759;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, July 1973.
+
+Pogran, K., Vittal, J., Crocker, D. and Henderson, A. Proposed
+ official standard for the format of ARPA network messages.
+
+Standard for the Format of Text Messages 38
+Bibliography
+
+
+
+
+ ARPANET Request for Comments, No. 724, Network Information
+ Center No. 37435; Augmentation Research Center, Stanford
+ Research Institute: Menlo Park, May 1977.
+
+Postel, J.B. Revised FTP Reply Codes. ARPANET Request for
+ Comments, No. 640, Network Information Center No. 30843;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, June 1974.
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc772.txt b/Documentation/en/rfc/rfc772.txt
new file mode 100644
index 00000000..bd6fdefb
--- /dev/null
+++ b/Documentation/en/rfc/rfc772.txt
@@ -0,0 +1,1798 @@
+
+
+Network Working Group S. Sluizer
+Request for Comments: 772 J. Postel
+ ISI
+ September 1980
+
+ MAIL TRANSFER PROTOCOL
+
+
+PREFACE
+
+ This is a first draft of this protocol and comments are very
+ definitely requested.
+
+INTRODUCTION
+
+ The objective of Mail Transfer Protocol (MTP) is to transfer mail
+ reliably and efficiently.
+
+ This paper assumes knowledge of the following protocols described in
+ the ARPA Internet Protocol Handbook. The reader will note strong
+ similarities to portions of the File Transfer Protocol; in part, this
+ is due to the original ARPA Network implementation of computer mail
+ as a feature of FTP.
+
+ The ARPANET Host-to-Host Protocol [Network Control Protocol] (NCP)
+
+ The Transmission Control Protocol (TCP)
+
+ The TELNET Protocol (TELNET)
+
+ The File Transfer Protocol (FTP)
+
+DISCUSSION
+
+ In this section, the terminology and the MTP model are discussed.
+ The terms defined in this section are only those that have special
+ significance in MTP. Some of the terminology is very specific to the
+ MTP model; some readers may wish to turn to the section on the MTP
+ model while reviewing the terminology.
+
+ TERMINOLOGY
+
+ ASCII
+
+ The ASCII character set as defined in the ARPA Internet
+ Protocol Handbook. In MTP, ASCII characters are defined to be
+ the lower half of an eight-bit code set (i.e., the most
+ significant bit is zero) and is called NVT-ASCII.
+
+
+
+
+
+
+ 1
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ control connection
+
+ The TCP full-duplex communication path or two NCP simplex
+ communication paths between a sender-MTP and a receiver-MTP for
+ the exchange of commands, replies, and mail text. The control
+ connection operates according to the TELNET Protocol.
+
+ data mode
+
+ The mail is transmitted over the control connection as a stream
+ of octets. (In FTP terminology this is called stream mode.)
+
+ data structure
+
+ The internal structure of mail is considered to be a continuous
+ sequence of data octets. (In FTP terminology this is called
+ file-structure.)
+
+ data representation
+
+ The internal representation of all data (i.e., mail) is in
+ NVT-ASCII.
+
+ host
+
+ A computer in the internetwork environment on which mailboxes
+ reside.
+
+ MTP commands
+
+ A set of commands which comprise the control information
+ flowing from the sender-MTP to the receiver-MTP.
+
+ mail
+
+ An ordered set of computer data of arbitrary length, which
+ conforms to the standard set in RFC 733 (Standard for the
+ Format of ARPA Network Text Messages).
+
+ mailbox
+
+ A character string (address) which identifies a user to whom
+ mail is to be sent. Mailbox normally consists of the host and
+ user specifications. The standard mailbox naming convention is
+ defined to be "user@host". Additionally, the "container" in
+ which mail is stored.
+
+
+
+ 2
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ NVT
+
+ The Network Virtual Terminal as defined in the TELNET Protocol.
+
+ octet
+
+ Bytes in MTP are octets (8 bits). This is not necessarily the
+ same byte size in which data is stored in a host.
+
+ reply
+
+ A reply is an acknowledgment (positive or negative) sent from
+ receiver to sender via the control connection in response to a
+ MTP command. The general form of a reply is a completion code
+ (including error codes) followed by a text string. The codes
+ are for use by programs and the text is usually intended for
+ human users.
+
+ receiver-MTP process
+
+ A process which transfers mail in cooperation with a sender-MTP
+ process. It "listens" on its port/socket L for a connection
+ from a sender-MTP and establishes a control connection using
+ the TELNET Protocol. It receives MTP commands from the
+ sender-MTP, sends replies, and governs the transfer of mail.
+
+ sender-MTP process
+
+ A process which transfers mail in cooperation with a
+ receiver-MTP process. A local language may be used in the user
+ interface command/reply dialogue. The sender-MTP initiates the
+ control connection from its port/socket U to the receiver-MTP
+ process. It initiates MTP commands, receives replies, and
+ governs the transfer of mail.
+
+ user
+
+ A human being (or a process on behalf of a human being) wishing
+ to obtain mail transfer service. In addition, a recipient of
+ computer mail.
+
+
+
+
+
+
+
+
+
+ 3
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ THE MTP MODEL
+
+ With the above definitions in mind, the following model (shown in
+ Figure 1) may be diagrammed for an MTP service.
+
+ ------------ ------------
+ | | | | --------
+ | | MTP | |<-->| User |
+ | Receiver-|Commands/Replies| Sender- | --------
+ -------- | MTP |<-------------->| MTP | --------
+ | Mail |<-->| | Mail | |<-->| Mail |
+ |System| | | | | |System|
+ -------- ------------ ------------ --------
+
+
+ Receiver-MTP Sender-MTP
+
+ Model for MTP Use
+
+ Figure 1
+
+ In the model described in Figure 1, the sender-MTP initiates the
+ TCP/NCP control connection which follows the TELNET Protocol. At
+ the initiation of the user, standard MTP commands are generated by
+ the sender-MTP and transmitted to the receiver-MTP via the control
+ connection. Standard replies are sent from the receiver-MTP to
+ the sender-MTP over the control connection in response to the
+ commands. In addition, mail is sent over the control connection.
+
+MAIL TRANSFER FUNCTIONS
+
+ The control connection is used for the transfer of commands which
+ describe the functions to be performed, the replies to commands, as
+ well as the actual transfer of mail. Mail is transferred only via
+ the control connection.
+
+ The communication channel from the sender-MTP to the receiver-MTP is
+ established by a TCP/NCP control connection from the sender to a
+ standard receiver port/socket. The sender-MTP is responsible for
+ sending MTP commands, interpreting the replies received, and sending
+ the mail; the receiver-MTP interprets commands, sends replies, and
+ receives the mail.
+
+
+
+
+
+
+
+ 4
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ MAIL REPRESENTATION AND STORAGE
+
+ Mail is transferred from a storage device in the sending host to a
+ storage device in the receiving host. It may be necessary to
+ perform certain transformations on the mail because data storage
+ representations in the two systems are different. For example,
+ NVT-ASCII has different data storage representations in different
+ systems. PDP-10's generally store NVT-ASCII as five 7-bit ASCII
+ characters, left-justified in a 36-bit word. 360's store
+ NVT-ASCII as four 8-bit EBCDIC codes in a 32-bit word. Multics
+ stores NVT-ASCII as four 9-bit characters in a 36-bit word.
+
+ For the sake of simplicity, all data must be represented in MTP as
+ NVT-ASCII. This means that characters must be converted into the
+ standard NVT-ASCII representation when transmitting text,
+ regardless of whether the sending and receiving hosts are
+ dissimilar. The sender converts the data from its internal
+ character representation to the standard 8-bit NVT-ASCII
+ representation (see the TELNET specification). The receiver
+ converts the data from the standard form to its own internal form.
+ In accordance with this standard, the <CRLF> sequence should be
+ used to denote the end of a line of text.
+
+ The mail in MTP has no internal structure and is considered to be
+ a continuous sequence of data octets.
+
+ ERROR RECOVERY AND RESTART
+
+ There is no provision for detecting bits lost or scrambled in data
+ transfer; this level of error control is handled by the TCP/NCP.
+ In addition, there is no restart procedure provided to protect
+ senders from gross system failures (including failures of a host,
+ an MTP-process, or the underlying network).
+
+MTP COMMANDS
+
+ COMMAND SEMANTICS
+
+ The MTP commands define the mail transfer or the mail system
+ function requested by the user. The syntax of mailboxes must
+ conform to receiver site conventions (with standard defaults
+ applicable). In response to an MTP transfer command, the mail
+ shall always be transferred over the control connection.
+
+ The Mail Transfer Protocol follows the specifications of the
+ TELNET Protocol for all communications over the control
+
+
+
+ 5
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ connection. Although the language used for TELNET communication
+ can be a negotiated option, the "TELNET language" and the
+ corresponding "TELNET end of line code" are required to be
+ NVT-ASCII and <CRLF> respectively. No other specifications of the
+ TELNET Protocol will be cited.
+
+ MTP commands are NVT-ASCII strings terminated by <CRLF>. The
+ command codes themselves are alphabetic characters terminated by
+ the character <SP> (space) if parameters follow and <CRLF>
+ otherwise.
+
+ The MTP commands are discussed below. In the description of a few
+ of the commands in this section the possible replies are given
+ explicitly. MTP replies are discussed in the next section.
+
+ MAIL (MAIL)
+
+ This command allows a sender-MTP to send mail over the
+ control connection. The argument field contains a sender
+ and optional path sequence. If the path sequence is
+ present, it consists of an optional list of hosts and a
+ destination mailbox. When the list of hosts is present, it
+ is source routing information and indicates that the mail
+ must be forwarded to the first host on the list. Following
+ this command line the receiver treats all subsequent
+ characters as mail text from the sender. The mail text is
+ terminated by the character sequence "CRLF.CRLF".
+
+ As mail is forwarded along the path sequence, each
+ forwarding host must remove itself from the list. When mail
+ reaches its ultimate destination (the path sequence has only
+ a (possibly empty) destination mailbox), the receiver
+ inserts it into the destination mailbox in accordance with
+ its host mail conventions. If the second argument field is
+ blank (one or more spaces) or empty (<CRLF>), the mail is
+ destined for a printer or other designated place for site
+ general delivery mail. The mail may be marked as sent from
+ the sender as specified by the first argument field.
+
+ MAIL RECIPIENT SCHEME QUESTION (MRSQ)
+
+ This MTP command is used to select a scheme for the
+ transmission of mail to several users at the same host. The
+ schemes are to list the recipients first, or to send the
+ mail first.
+
+
+
+
+ 6
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ MAIL RECIPIENT (MRCP)
+
+ This command is used to identify the individual recipients
+ of the mail in the transmission of mail for multiple users
+ at one host.
+
+ HELP (HELP)
+
+ This command causes the receiver to send helpful information
+ regarding its implementation status over the control
+ connection to the receiver. The command may take an
+ argument (e.g., any command name) and return more specific
+ information as a response. The reply is type 211 or 214.
+
+ QUIT (QUIT)
+
+ This command specifies that the receiver must close the
+ control connection.
+
+ NOOP (NOOP)
+
+ This command does not affect any parameters or previously
+ entered commands. It specifies no action other than that
+ the receiver send an OK reply.
+
+ COMMAND SYNTAX
+
+ The commands (and their functions and semantics) are TELNET
+ NVT-ASCII strings transmitted over the control connection. The
+ functions and semantics of commands are described in the section
+ on MTP Commands. The reply sequences are discussed in the section
+ on Sequencing of Commands and Replies. Scenarios illustrating the
+ use of commands are provided in the section on Typical MTP
+ Scenarios. The command syntax is specified in this section.
+
+ The commands begin with a command code followed by an argument
+ field. The command codes are four alphabetic characters. Upper
+ and lower case alphabetic characters are to be treated
+ identically. Thus any of the following may represent the mail
+ command:
+
+ MAIL Mail mail MaIl mAIl
+
+ This also applies to any symbols representing parameter values,
+ such as R or r for RECIPIENT first. The command codes and the
+ argument fields are separated by one or more spaces.
+
+
+
+ 7
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ The argument field consists of a variable length character string
+ ending with the character sequence <CRLF>. It should be noted
+ that the receiver is to take no action until the end of line code
+ is received.
+
+ The syntax is specified below in NVT-ASCII. All characters in the
+ argument field are ASCII characters. Square brackets denote an
+ optional argument field. If the option is not taken, the
+ appropriate default is implied.
+
+ The following are the MTP commands:
+
+ MAIL <SP> FROM:<sender> [<SP> TO:<path>] <CRLF>
+
+ MRSQ [<SP> <scheme>] <CRLF>
+
+ MRCP <SP> TO:<path> <CRLF>
+
+ HELP [<SP> <string>] <CRLF>
+
+ QUIT <CRLF>
+
+ NOOP <CRLF>
+
+ The syntax of the above argument fields (using BNF notation where
+ applicable) is given below. The "..." notation indicates that a
+ field may be repeated one or more times.
+
+ <sender> ::= "<" <mailbox> ">"
+
+ <path> ::= "<" ["@" <host> "," ...] <mailbox> ">"
+
+ <scheme> ::= "R" | "T" | "?"
+
+ <string> ::= <char> | <char><string>
+
+ <mailbox> ::= <user> "@" <host>
+
+ <host> ::= <string>
+
+ <user> ::= <string>
+
+ <char> ::= any of the 128 ASCII characters except <CR> and <LF>
+
+
+
+
+
+
+ 8
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ CONTROL FUNCTIONS
+
+ Most time-sharing systems provide mechanisms to allow a terminal
+ user to regain control of a "runaway" process. When used locally,
+ such systems have access to all user-supplied signals, whether
+ these are normal characters or special "out of band" signals.
+ When terminals are connected to the system through the network,
+ the system does not necessarily have access to all user signals;
+ the network's flow control mechanisms may cause such signals to be
+ buffered elsewhere, for example in the user's host.
+
+ To counter this problem, the TELNET "Synch" mechanism is used. A
+ Synch signal consists of a TCP Urgent or an NCP Interrupt
+ notification, coupled with the TELNET command DATA MARK (DM).
+ This notification, which is not subject to the flow control
+ pertaining to the TELNET connection, is used to invoke special
+ handling of the data stream by the process which receives it. In
+ this mode the data stream is immediately scanned for a TELNET
+ Interrupt Process (IP) command. (The rationale for the use of the
+ TELNET IP command is to allow an existing server TELNET module to
+ sit "under" the MTP. If this code were directly implemented in
+ the MTP the IP command would be unnecessary.) The TELNET command
+ DM is the synchronizing mark in the data stream which indicates
+ that any special signal has already occurred and the recipient can
+ return to normal processing of the data stream. For a more
+ complete understanding of this mechanism, see the TELNET Protocol
+ Specification in the Internet Protocol Handbook.
+
+ The effect of this mechanism is to to discard all characters (up
+ to the DM) between the sender of the Synch and its recipeint.
+ Thus, all characters in the control connection are ignored until
+ the TELNET command DM is received. The full sequence is
+ illustrated below. Each vertical bar (|) represents the boundary
+ between data octets; IAC refers to the TELNET command code
+ Interpret As Command.
+
+ Old New
+ -+-+-+-+-+-----+---+--+---+--+-
+ ...|M|A|I|L| ... |IAC|IP|IAC|DM|...
+ -+-+-+-+-+-----+---+--+---+--+-
+
+
+
+
+
+
+
+
+
+ 9
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+MTP REPLIES
+
+ Replies to Mail Transfer Protocol commands are devised to ensure the
+ synchronization of requests and actions in the process of mail
+ transfer, and to guarantee that the sender-MTP always knows the state
+ of the receiver. Every command must generate at least one reply,
+ although there may be more than one. In the latter case, the
+ multiple replies must be easily distinguished. Additionally, some
+ commands must occur sequentially, such as MRSQ T->MAIL->MRCP or
+ MRSQ R->MRCP->MAIL. Replies to these sequences show the existence of
+ an intermediate state if all preceding commands have been successful.
+ A failure at any point in the sequence necessitates the repetition of
+ the entire sequence from the beginning.
+
+ The details of the command-reply sequence are made explicit in the
+ section on State Diagrams.
+
+ An MTP reply consists of a three digit number (transmitted as three
+ alphanumeric characters) followed by some text. The number is
+ intended for use by automata to determine what state to enter next;
+ the text is meant for the human user. It is intended that the three
+ digits contain enough encoded information that the sender-MTP will
+ not need to examine the text and may either discard it or pass it on
+ to the user, as appropriate. In particular, the text may be
+ receiver-dependent, so there are likely to be varying texts for each
+ reply code.
+
+ Formally, a reply is defined to be the sequence: a three-digit code,
+ space <SP>, one line of text (where the maximum line length is 65),
+ and a terminal <CRLF>. Occasionally the text is longer than a single
+ line; in these cases the complete text must be bracketed so the
+ sender-MTP knows when it can stop reading the reply. This requires a
+ special first line format to indicate a multiple line reply, and
+ another on the last line to so designate it. Both lines will contain
+ the appropriate reply code which indicates the transaction state.
+
+ Thus the format for multi-line replies is that the first line will
+ begin with the exact required reply code, followed immediately by
+ a Hyphen, "-" (also known as minus), followed by text. The last
+ line will begin with the same code, followed immediately by space
+ <SP>, optionally some text, and <CRLF>.
+
+
+
+
+
+
+
+
+ 10
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ For example:
+ 123-First line
+ Second line
+ 234 A line beginning with numbers
+ 123 The last line
+
+ The sender-MTP then simply needs to search for the second
+ occurrence of the same reply code followed by <SP> (space> at the
+ beginning of a line, and ignore all intermediary lines. If an
+ intermediary line begins with a three-digit number, the receiver
+ must pad the front to avoid confusion.
+
+ This scheme allows standard system routines to be used for
+ reply information, with "artificial" first and last lines
+ tacked on. In the rare cases where these routines are able to
+ generate three digits and a space at the beginning of any line,
+ the beginning of each text line should be offset by some
+ neutral text, like space.
+
+ This scheme assumes that multi-line replies may not be nested. In
+ general, reply nesting will not occur except for random system
+ messages (also called spontaneous replies) which may interrupt
+ another reply. System messages (i.e., those not processed by the
+ receiver-MTP) will NOT carry reply codes and may occur anywhere in
+ the command-reply sequence. They may be ignored by the sender-MTP
+ as they are only information for the human user.
+
+ The three digits of the reply each have a special significance. This
+ is intended to allow a range of very simple to very sophisticated
+ response by the sender-MTP. The first digit denotes whether the
+ response is good, bad or incomplete. (Referring to the state
+ diagram) an unsophisticated sender-MTP will be able to determine its
+ next action (proceed as planned, redo, retrench, etc.) by simply
+ examining this first digit. A sender-MTP that wants to know
+ approximately what kind of error occurred (e.g., mail system error,
+ command syntax error) may examine the second digit, reserving the
+ third digit for the finest gradation of information.
+
+ There are five values for the first digit of the reply code:
+
+ 1yz Positive Preliminary reply
+
+ The requested action is being initiated; expect another
+ reply before proceeding with a new command. (The sender-MTP
+ sending another command before the completion reply would be
+
+
+
+
+ 11
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ in violation of protocol. However, receiver-MTP processes
+ should queue any commands that arrive while a preceding
+ command is in progress.)
+
+ 2yz Positive Completion reply
+
+ The requested action has been successfully completed. A new
+ request may be initiated.
+
+ 3yz Positive Intermediate reply
+
+ The command has been accepted, but the requested action is
+ being held in abeyance, pending receipt of further
+ information. The sender-MTP should send another command
+ specifying this information. This reply is used in command
+ sequence groups.
+
+ 4yz Transient Negative Completion reply
+
+ The command was not accepted and the requested action did
+ not occur. However, the error condition is temporary and
+ the action may be requested again. The sender should return
+ to the beginning of the command sequence (if any). It is
+ difficult to assign a meaning to "transient" when two
+ different sites (receiver- and sender- MTPs) must agree on
+ the interpretation. Each reply in this category might have
+ a different time value, but the sender-MTP is encouraged to
+ try again. A rule of thumb to determine if a reply fits
+ into the 4yz or the 5yz category (see below) is that replies
+ are 4yz if they can be repeated without any change in
+ command form or in properties of the sender or receiver.
+ (E.g., the command is repeated identically; the receiver
+ does not put up a new implementation).
+
+ 5yz Permanent Negative Completion reply
+
+ The command was not accepted and the requested action did
+ not occur. The sender-MTP is discouraged from repeating the
+ exact request (in the same sequence). Even some "permanent"
+ error conditions can be corrected, so the human user may
+ want to direct the sender-MTP to reinitiate the command
+ sequence by direct action at some point in the future (e.g.,
+ after the spelling has been changed, or the user has altered
+ his/her directory status.)
+
+
+
+
+
+ 12
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ The second digit encodes responses in specific categories:
+
+ x0z Syntax -- These replies refer to syntax errors,
+ syntactically correct commands that don't fit any
+ functional category, and unimplemented or superfluous
+ commands.
+
+ x1z Information -- These are replies to requests for
+ information, such as status or help.
+
+ x2z Connections -- These are replies referring to the control
+ connection.
+
+ x3z Unspecified as yet.
+
+ x4z Unspecified as yet.
+
+ x5z Mail system -- These replies indicate the status of the
+ receiver mail system vis-a-vis the requested transfer or
+ other mail system action.
+
+ The third digit gives a finer gradation of meaning in each
+ category specified by the second digit. The list of replies below
+ will illustrate this. Each reply text is recommended rather than
+ mandatory, and may even change according to the command with which
+ it is associated. On the other hand, the reply codes must
+ strictly follow the specifications in this section. Receiver
+ implementations should not invent new codes for slightly different
+ situations from the ones described here, but rather adapt codes
+ already defined.
+
+ A command such as NOOP whose successful execution does not
+ offer the sender-MTP any new information will return a 200
+ reply. The response is 502 when the command requests an
+ unimplemented non-site-specific action. A refinement of that
+ is the 504 reply for a command that IS implemented, but that
+ requests an unimplemented parameter.
+
+ REPLY CODES BY FUNCTION GROUPS
+
+ 200 Command okay
+ 500 Syntax error, command unrecognized
+ [This may include errors such as command line too long]
+ 501 Syntax error in parameters or arguments
+ 502 Command not implemented
+ 503 Bad sequence of commands
+
+
+
+ 13
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+
+ 211 System status, or system help reply
+ 214 Help message
+ [Information on how to use the receiver or the meaning of a
+ particular non-standard command; this reply is useful only to
+ the human user]
+ 215 <scheme> is the preferred scheme
+
+ 120 <host> Service ready in nnn minutes
+ 220 <host> Service ready for new user
+ 221 <host> Service closing control connection
+ 421 <host> Service not available, closing control connection
+ [This may be a reply to any command if the service knows it
+ must shut down]
+
+ 151 User not local; will forward to <user>@<host>
+ 152 User unknown; mail will be forwarded by the operator
+ 250 Requested mail action okay, completed
+ 450 Requested mail action not taken: mailbox unavailable
+ [E.g., mailbox busy]
+ 550 Requested action not taken: mailbox unavailable
+ [E.g., mailbox not found, no access]
+ 451 Requested action aborted: local error in processing
+ 452 Requested action not taken: insufficient system storage space
+ 552 Requested mail action aborted: exceeded storage allocation
+ [For current mailbox location]
+ 553 Requested action not taken: mailbox name not allowed
+ 354 Start mail input; end with <CR><LF>.<CR><LF>
+
+
+ NUMERIC ORDER LIST OF REPLY CODES
+
+ 120 <host> Service ready in nnn minutes
+ 151 User not local; will forward to <user>@<host>
+ 152 User unknown; mail will be forwarded by the operator
+ 200 Command okay
+ 211 System status, or system help reply
+ 214 Help message
+ [Information on how to use the receiver or the meaning of a
+ particular non-standard command; this reply is useful only to
+ the human user]
+ 215 <scheme> is the preferred scheme
+ 220 <host> Service ready for new user
+ 221 <host> Service closing control connection
+ 250 Requested mail action okay, completed
+ 354 Start mail input; end with <CR><LF>.<CR><LF>
+
+
+
+ 14
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ 421 <host> Service not available, closing control connection
+ [This may be a reply to any command if the service knows it
+ must shut down]
+ 450 Requested mail action not taken: mailbox unavailable
+ [E.g., mailbox busy]
+ 451 Requested action aborted: local error in processing
+ 452 Requested action not taken: insufficient system storage space
+ 500 Syntax error, command unrecognized
+ [This may include errors such as command line too long]
+ 501 Syntax error in parameters or arguments
+ 502 Command not implemented
+ 503 Bad sequence of commands
+ 550 Requested action not taken: mailbox unavailable
+ [E.g., mailbox not found, no access]
+ 552 Requested mail action aborted: exceeded storage allocation
+ [For current mailbox location]
+ 553 Requested action not taken: mailbox name not allowed
+
+
+DISCUSSION OF MAIL TRANSFER
+
+ The basic command for transmitting mail is MAIL. This command causes
+ the transmitted data to be entered into the recipient's mailbox.
+
+ MAIL <SP> "FROM:" <sender> [<SP> "TO:" <path>] <CRLF>
+
+ <sender> is a mailbox and <path> is a source routing list of
+ hosts and destination mailbox. If accepted, it returns a 354
+ reply and considers all succeeding lines to be the message
+ text. It is terminated by a line containing only a period,
+ upon which a 250 completion reply is returned. Various errors
+ are possible.
+
+ There are two possible preliminary replies that a receiver may use to
+ indicate that it is accepting mail for a user whose mailbox is not at
+ that receiver.
+
+ 151 User not local; will forward to <user>@<host>
+
+ This reply indicates that the receiver knows the user's mailbox
+ is on another host and will take responsibility for forwarding
+ the mail to that host. For example, at BBN (or ISI) there are
+ several hosts. Each has a list of many of the users on the
+ hosts. Each host can accept mail for any user on their list
+ and forward it to the correct host.
+
+
+
+
+ 15
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ 152 User Unknown; mail will be forwarded by the operator
+
+ This reply indicates that the host does not recognize the user
+ name, but that it will accept the mail and have the operator
+ attempt to deliver it. This is useful if the user name is
+ misspelled, but may be a disservice if the mail is really
+ undeliverable.
+
+ If forwarding by the operator is unacceptable or if the user would
+ prefer to send the mail directly to the recipient's actual host, the
+ dialogue may be terminated upon receipt of one of these preliminary
+ responses.
+
+ There are two MTP commands which allow the text of a message to be
+ mailed to several recipients simultaneously; such message
+ transmission is far more efficient than the practice of sending the
+ text again and again for each additional recipient at a site. In
+ one, all recipients are specified first, and then the text is sent.
+ In the other, the order is reversed and the text is sent first,
+ followed by the recipients. Both schemes are necessary because
+ neither by itself is optimal for all systems, as will be explained
+ later. To select a particular scheme, the MRSQ command is used; to
+ specify recipients after a scheme is chosen, MRCP commands are given;
+ and to furnish text, the MAIL command is used.
+
+ SCHEME SELECTION: MRSQ
+
+ MRSQ is the means by which a sender-MTP can test for MRSQ/MRCP
+ implementation, select a particular scheme, reset its state, and
+ even do some rudimentary negotiation. Its format is as follows:
+
+ MRSQ [<SP> <scheme>] <CRLF>
+
+ <scheme> is a single character. The following are defined:
+ R Recipients first. If this is not implemented, T must be.
+ T Text first. If this is not implemented, R must be.
+ ? Request for preference. This must always be implemented.
+
+ No argument means a "selection" of none of the schemes (the
+ default).
+
+ Possible replies are:
+ 200 OK, we'll use specified scheme
+ 215 <scheme> This is the scheme I prefer
+ 501 I understand MRSQ but can't use that scheme
+ 5xx Command unrecognized or unimplemented
+
+
+
+ 16
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ There are three aspects of MRSQ. The first is that an MRSQ with
+ no argument must always return a 200 reply and restore the default
+ state of having no scheme selected. Any other reply implies that
+ MRSQ and hence MRCP are not understood or cannot be performed
+ correctly.
+
+ The second is that the use of "?" as a <scheme> asks the MTP
+ receiver to return a 215 reply in which the receiver specifies a
+ "preferred" scheme. The format of this reply is simple:
+
+ 215 <SP> <scheme> [<SP> <arbitrary text>] <CRLF>
+
+ Any other reply (e.g., 4xx or 5xx) implies that MRSQ and MRCP
+ are not implemented, because "?" must always be implemented if
+ MRSQ is.
+
+ The third important point about MRSQ is that it always has the
+ side effect of resetting all schemes to their initial state. This
+ reset must be done no matter what the reply will be -- 200, 215,
+ or 501. The actions necessary for a reset will be explained when
+ discussing how each scheme actually works.
+
+ MESSAGE TEXT SPECIFICATION: MAIL
+
+ Regardless of which scheme (if any) has been selected, a MAIL
+ command with a non-null "TO" argument will behave exactly as
+ before; the MRSQ/MRCP commands have no effect on it. However, a
+ normal MAIL command does have the same side effect as MRSQ; it
+ "resets" the current scheme to its initial state.
+
+ It is only when the "TO" argument is null (e.g., MAIL FROM:<X@Y>
+ <CRLF>) that the particular scheme chosen is important. Rather
+ than producing an error (as most receivers currently do), the
+ receiver will accept message text for this "null" specification.
+ What it does with it depends on which scheme is in effect, and
+ will be described in the section on Scheme Mechanics.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 17
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ RECIPIENT SPECIFICATION: MRCP
+
+ In order to specify recipient names (i.e., mailboxes) and receive
+ some acknowledgment (or refusal) for each name, the following
+ command is used:
+
+ MRCP <SP> TO:<path> <CRLF>
+
+ Reply for no scheme:
+ 503 No scheme specified yet; use MRSQ
+ Replies for scheme T are identical to those for MAIL.
+ Replies for scheme R (recipients first):
+ 200 OK, name stored
+ 452 Recipient table full, this name not stored
+ 553 Recipient name rejected
+ 4xx Temporary error, try this name again later
+ 5xx Permanent error, report to sender
+
+ Note that use of this command is an error if no scheme has been
+ selected yet; an MRSQ <scheme> must have been given if MRCP is to
+ be used.
+
+ SCHEME MECHANICS: MRSQ R (RECIPIENTS-FIRST)
+
+ In the recipients-first scheme, MRCP is used to specify names
+ which the MTP receiver stores in a list or table. Normally the
+ reply for each MRCP will be either a 200 for acceptance or a
+ 4xx/5xx rejection code. All 5xx codes are permanent rejections
+ (e.g., user not known) which should be reported to the human user,
+ whereas 4xx codes in general connote some temporary error that may
+ be rectified later. None of the 4xx/5xx replies impinge on
+ previous or succeeding MRCP commands, except for 452 which
+ indicates that no further MRCPs will succeed unless a message is
+ sent to the already stored recipients or a reset is done.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 18
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ Sending message text to stored recipients is done by giving a MAIL
+ command with no "TO" argument; that is, just MAIL <SP> <sender>
+ <CRLF>. Transmission of the message text is exactly the same as
+ for normal MAIL. However, a positive acknowledgment at the end of
+ transmission means the message has been sent to ALL recipients
+ that were remembered with MRCP, and a failure code means that it
+ should be considered to have failed for ALL of these specified
+ recipients. This applies regardless of the actual error code.
+ Regardless of what the reply signifies, all stored recipient names
+ are flushed and forgotten -- in other words, things are reset to
+ their initial state. This purging of the recipient name list must
+ also be done as the reset side effect of any use of MRSQ.
+
+ A 452 reply to an MRCP can be handled by using MAIL to specify the
+ message for currently stored recipients, and then sending more
+ MRCPs and another MAIL, as many times as necessary. For example,
+ if a receiver only had room for 10 names this would result in a
+ 50-recipient message being sent 5 times, to 10 different
+ recipients each time.
+
+ If a sender attempts to specify message text (MAIL with no "TO"
+ argument) before any successful MRCPs have been given, this should
+ be treated exactly as a "normal" MAIL with a null recipient would
+ be; some receivers return an error, such as "550 Null recipient".
+
+ See the example in Appendix A for a mail transfer using MRSQ R.
+
+ SCHEME MECHANICS: MRSQ T (TEXT-FIRST)
+
+ In the text-first scheme, MAIL with no "TO" argument is used to
+ specify message text, which the receiver stores away. Succeeding
+ MRCPs are then treated as if they were MAIL commands, except that
+ none of the text transfer manipulations are done; the stored
+ message text is sent to the specified recipient, and a reply code
+ is returned identical to that which an actual MAIL would invoke.
+ (Note that ANY 2xx code indicates success.)
+
+ The stored message text is not forgotten until the next MAIL or
+ MRSQ, which will either replace it with new text or flush it
+ entirely. Any use of MRSQ will reset this scheme by flushing
+ stored text, as will any use of MAIL with a non-null argument.
+
+ If an MRCP is seen before any message text has been stored, the
+ sender in effect is trying to send a null message; some receivers
+ might allow this, others would return an error code.
+
+
+
+
+ 19
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ See the example in Appendix B for a mail transfer using MRSQ T.
+
+ WHY TWO SCHEMES ANYWAY?
+
+ Because neither by itself is optimal for all systems. MRSQ R
+ allows more of a "bulk" mailing because everything is saved up and
+ then mailed simultaneously. This is very useful for systems such
+ as ITS where the MTP-receiver does not itself write mail directly,
+ but hands it on to a central mailer demon of great power. The
+ more information (e.g., recipients) associated with a single
+ "hand-off", the more efficiently mail can be delivered.
+
+ By contrast, MRSQ T is geared to receiver-MTPs which want to
+ deliver mail directly, in one-by-one incremental fashion. For
+ each given recipient this scheme returns an individual
+ success/failure reply code which may depend on variable mail
+ system factors such as exceeding disk allocation, mailbox access
+ conflicts, and so forth. If these receiver-MTPs tried to emulate
+ MRSQ Rs bulk mailing, they would have to ensure that a success
+ reply to the MAIL indeed meant that it had been delivered to ALL
+ recipients specified -- not just some.
+
+ NOTES:
+
+ * Because these commands are not required in the minimum
+ implementation of MTP, one must be prepared to deal with sites
+ which don't recognize either MRSQ or MRCP. "MRSQ" and "MRSQ ?"
+ are explicitly designed as tests to see whether either scheme is
+ implemented. MRCP is not designed as a test, and a failure
+ return of the "unimplemented" variety could be confused with "No
+ scheme selected yet", or even with "Recipient unknown".
+
+ * There is no way to indicate in a positive response to "MRSQ ?"
+ that the preferred "scheme" for a receiver is that of the
+ default state; i.e., none of the multi-recipient schemes. The
+ rationale is that in this case, it would be pointless to
+ implement MRSQ/MRCP at all, and the response would therefore be
+ negative.
+
+
+
+
+
+
+
+
+
+
+
+ 20
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ * One reason that the use of MAIL is restricted to null "TO"
+ arguments with this multi-recipient extension is the ambiguity
+ that would result if a non-null "TO" argument were allowed. For
+ example, if MRSQ R was in effect and some MRCPs had been given,
+ and a MAIL FROM:<X@Y> TO:<FOO><CRLF> was done, there would be no
+ way to distinguish a failure reply for mailbox "FOO" from a
+ global failure for all recipients specified. A similar
+ situation exists for MRSQ T; it would not be clear whether the
+ text was stored and the mailbox failed, or vice versa, or both.
+
+ * "Resets" are done by all MRSQs and "normal" MAILs to avoid
+ confusion and overly complicated implementation. The MRSQ
+ command implies a change or uncertainty of status, and the MAIL
+ command would otherwise have to use some independent mechanisms
+ to avoid clobbering the data bases (e.g., message text storage
+ area) used by the T/R schemes. However, once a scheme is
+ selected, it remains "in effect" just as an FTP "TYPE A" remains
+ selected. The recommended way for doing a reset, without
+ changing the current selection, is with "MRSQ ?". Remember that
+ "MRSQ" alone reverts to the no-scheme state.
+
+ * It is permissible to intersperse other MTP commands among the
+ MRSQ/MRCP/MAIL sequences.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 21
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+DECLARATIVE SPECIFICATIONS
+
+ MINIMUM IMPLEMENTATION
+
+ In order to make MTP workable without needless error messages, the
+ following minimum implementation is required for all receivers:
+
+ COMMANDS -- QUIT
+ MAIL
+ NOOP
+
+ In terms of FTP, the values of the transfer parameters must be:
+
+ TYPE -- ASCII
+ MODE -- STREAM
+ STRU -- FILE-STRUCTURE
+
+ All hosts must use the above values for mail transfer.
+
+ CONNECTIONS
+
+ The receiver-MTP shall "listen" on Port L. The sender-MTP shall
+ initiate the TCP/NCP control connection. The control connection
+ consists of a full-duplex connection under TCP; it is two simplex
+ connections under NCP. Receiver- and sender- MTPs should follow
+ the conventions of the TELNET Protocol as specified in the ARPA
+ Internet Protocol Handbook. Receivers are under no obligation to
+ provide for editing of command lines and may specify that it be
+ done in the sender host. The control connection shall be closed
+ by the receiver at the sender's request after all transfers and
+ replies are completed.
+
+ SEQUENCING OF COMMANDS AND REPLIES
+
+ The communication between the sender and receiver is intended to
+ be an alternating dialogue. As such, the sender issues an MTP
+ command and the receiver responds with a prompt primary reply.
+ The sender should wait for this initial primary success or failure
+ response before sending further commands.
+
+ Certain commands require a second reply for which the sender
+ should also wait. These replies may, for example, report on the
+ progress or completion of mail transfer. They are secondary
+ replies to mail transfer commands.
+
+ One important group of informational replies is the connection
+
+
+
+ 22
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ greetings. Under normal circumstances, a receiver will send a 220
+ reply, "awaiting input", when the connection is completed. The
+ sender should wait for this greeting message before sending any
+ commands. If the receiver is unable to accept input right away,
+ it should send a 120 "expected delay" reply immediately and a 220
+ reply when ready. The sender will then know not to hang up if
+ there is a delay.
+
+ Note: all the greeting type replies have the official name of
+ the server host as the first word following the reply code.
+
+ The table below lists alternative success and failure replies for
+ each command. These must be strictly adhered to; a receiver may
+ substitute text in the replies, but the meaning and action implied
+ by the code numbers and by the specific command reply sequence
+ cannot be altered.
+
+ COMMAND-REPLY SEQUENCES
+
+ In this section, the command-reply sequence is presented. Each
+ command is listed with its possible replies; command groups are
+ listed together. Preliminary replies are listed first (with
+ their succeeding replies indented under them), then positive
+ and negative completion, and finally intermediary replies with
+ the remaining commands from the sequence following. The 421
+ reply (service not available, closing control connection) may
+ be given at any point if the MTP-receiver knows it must shut
+ down. This listing forms the basis for the state diagrams,
+ which will be presented separately.
+
+ CONNECTION ESTABLISHMENT
+ 120
+ 220
+ 220
+ 421
+ MAIL ACTION COMMANDS
+ MAIL
+ 151, 152
+ 354
+ 250
+ 451, 552
+ 354
+ 250
+ 451, 552
+ 450, 550, 452, 553
+ 500, 501, 502, 421
+
+
+
+ 23
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ MRSQ
+ 200, 215
+ 500, 501, 502, 421
+ MRCP
+ 151, 152
+ 200
+ 200
+ 450, 550, 452, 553
+ 500, 501, 502, 503, 421
+ QUIT
+ 221
+ INFORMATIONAL COMMANDS
+ HELP
+ 211, 214
+ 500, 501, 502, 421
+ MISCELLANEOUS COMMANDS
+ NOOP
+ 200
+ 500 421
+
+STATE DIAGRAMS
+
+ Here we present state diagrams for a very simple minded MTP
+ implementation. Only the first digit of the reply codes is used.
+ There is one state diagram for each group of MTP commands.
+
+ The command groupings were determined by constructing a model for
+ each command and then collecting together the commands with
+ structurally identical models.
+
+ For each command there are three possible outcomes: "success" (S),
+ "failure" (F), and "error" (E). In the state diagrams below we use
+ the symbol B for "begin", and the symbol W for "wait for reply".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 24
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ We first present the diagram that represents the most MTP commands:
+
+
+ 1,3 +---+
+ ----------->| E |
+ | +---+
+ |
+ +---+ cmd +---+ 2 +---+
+ | B |---------->| W |---------->| S |
+ +---+ +---+ +---+
+ |
+ | 4,5 +---+
+ ----------->| F |
+ +---+
+
+
+ This diagram models the commands:
+
+ HELP, MRCP, MRSQ, NOOP, QUIT.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 25
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+ A more complex diagram models the MAIL command:
+
+
+ ---- 1
+ | |
+ +---+ cmd -->+---+ 2 +---+
+ | B |---------->| W |---------->| E |
+ +---+ +---+ -->+---+
+ | | |
+ 3 | | 4,5 |
+ -------------- ------ |
+ | | | +---+
+ | ------------->| S |
+ | | 1,3 | | +---+
+ | 2| --------
+ | | | |
+ V | | |
+ +---+ text +---+ 4,5 ----->+---+
+ | |---------->| W |---------->| F |
+ +---+ +---+ +---+
+
+
+ Note that the "text" here is a series of lines sent from the
+ sender to the receiver with no response expected until the last
+ line is sent. (The last line must consist of only a single
+ period.)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 26
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ Finally we present a generalized diagram that could be used to model
+ the command and reply interchange:
+
+
+ ------------------------------------
+ | |
+ Begin | |
+ | V |
+ | +---+ cmd +---+ 2 +---+ |
+ -->| |------->| |---------->| | |
+ | | | W | | S |-----|
+ -->| | -->| |----- | | |
+ | +---+ | +---+ 4,5 | +---+ |
+ | | | | | | |
+ | | | 1| |3 | +---+ |
+ | | | | | | | | |
+ | | ---- | ---->| F |-----
+ | | | | |
+ | | | +---+
+ -------------------
+ |
+ |
+ V
+ End
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 27
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+CONNECTION ESTABLISHMENT
+
+ The MTP control connection is established via TCP/NCP between the
+ receiver process port/socket L and the sender process port/socket U.
+ This protocol is assigned the service port/socket 57 (71 octal), that
+ is L=57.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 28
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+APPENDIX A
+
+ Example of MRSQ R (Recipients-first)
+
+ This is an example of how MRSQ R is used. First the sender must
+ establish that the receiver in fact implements MRSQ.
+
+ S: MRSQ <CRLF>
+ R: 200 OK, no scheme selected
+
+ An MRSQ with a null argument always returns a 200 if implemented,
+ selecting the default "scheme", i.e., none of them. If MRSQ were not
+ implemented, a code of 4xx or 5xx would be returned.
+
+ S: MRSQ R <CRLF>
+ R: 200 OK, using that scheme
+
+ All is well; now the recipients can be specified.
+
+ S: MRCP TO:<Foo@Y> <CRLF>
+ R: 200 OK
+
+ S: MRCP TO:<Raboof@Y> <CRLF>
+ R: 553 No such user here
+
+ S: MRCP TO:<bar@Y> <CRLF>
+ R: 200 OK
+
+ S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
+ R: 200 OK
+
+ Note that the failure of "Raboof" has no effect on the storage of
+ mail for "Foo", "bar" or the mail to be forwarded to "fubar@Z"
+ through host "X". Now the message text is furnished, by giving a
+ MAIL command with no "TO" argument.
+
+ S: MAIL FROM:<waldo@A><CRLF>
+ R: 354 Type mail, ended by <CRLF>.<CRLF>
+ S: Blah blah blah blah....etc. etc. etc.
+ S: <CRLF>.<CRLF>
+ R: 250 Mail sent
+
+ The mail text has now been sent to "Foo" and "bar" as well as
+ forwarded to "fubar@Z".
+
+
+
+
+
+ 29
+
+
+
+September 1980 RFC 772
+Mail Transfer Protocol
+
+
+
+APPENDIX B
+
+ Example of MRSQ T (Text-first)
+
+ Using the same message as the previous example to establish that the
+ receiver implements MRSQ.
+
+ S: MRSQ ? <CRLF>
+ R: 215 T Text first, please
+
+ MRSQ is indeed implemented, and the receiver says that it prefers
+ "T", but that needn't stop the sender from trying something else.
+
+ S: MRSQ R <CRLF>
+ R: 501 Sorry, I really can't do that
+
+ It's possible that it could have understood "R" also, but in general
+ it's best to use the "preferred" scheme, since the receiver knows
+ which is most efficient for its particular site.
+
+ S: MRSQ T <CRLF>
+ R: 200 OK, using that scheme
+
+ Scheme "T" is now selected, and the message text is sent by giving a
+ mail command with no "TO" argument.
+
+ S: MAIL FROM:<WALDO@A><CRLF>
+ R: 354 Type mail, ended by <CRLF>.<CRLF>
+ S: Blah blah blah blah....etc. etc. etc.
+ S: <CRLF>.<CRLF>
+ R: 250 Mail stored
+
+ Now recipients can be specified.
+
+ S: MRCP TO:<Foo@Y> <CRLF>
+ R: 250 Stored mail sent
+
+ S: MRCP TO:<Raboof@Y> <CRLF>
+ R: 553 No such user here
+
+ S: MRCP TO:<bar@Y> <CRLF>
+ R: 250 Stored mail sent
+
+ S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
+ R: 200 OK
+
+
+
+
+ 30
+
+
+
+RFC 772 September 1980
+ Mail Transfer Protocol
+
+
+
+ The text has now been sent to "Foo" and "bar" at host "Y" and will be
+ forwarded to "fubar@Z" through host "X", and still remains stored. A
+ new message can be sent with another MAIL/MRCP ... sequence, but a
+ careful sender would reset the state using the exchange below.
+
+ S: MRSQ ? <CRLF>
+ R: 215 T Text first, please
+
+ Which resets the state without altering the scheme in effect.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 31
+ \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc780.txt b/Documentation/en/rfc/rfc780.txt
new file mode 100644
index 00000000..29dddded
--- /dev/null
+++ b/Documentation/en/rfc/rfc780.txt
@@ -0,0 +1,2599 @@
+
+
+
+
+
+
+
+
+ MAIL TRANSFER PROTOCOL
+
+
+
+ Suzanne Sluizer
+
+ and
+
+ Jonathan B. Postel
+
+
+
+
+
+
+
+
+
+ RFC 780
+
+
+
+
+
+
+
+
+
+
+
+ May 1981
+
+
+
+ Information Sciences Institute
+ University of Southern California
+ 4676 Admiralty Way
+ Marina del Rey, California 90291
+
+ (213) 822-1511
+
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ TABLE OF CONTENTS
+
+ 1. INTRODUCTION .................................................. 1
+
+ 2. THE MTP MODEL ................................................. 2
+
+ 3. BASIC MAIL .................................................... 4
+
+ 3.1. Forwarding ............................................... 5
+ 3.2. Source Routing ........................................... 6
+
+ 4. MULTI-RECIPIENT MAIL .......................................... 8
+
+ 4.1. Scheme Selection: MRSQ ................................... 8
+ 4.2. Message Text Specification: MAIL ......................... 9
+ 4.3. Recipient Specification: MRCP ........................... 10
+ 4.4. Scheme Mechanics: Recipients First ...................... 10
+ 4.5. Scheme Mechanics: Text First ............................ 12
+ 4.6. Discussion .............................................. 12
+
+ 5. SPECIFICATIONS ............................................... 16
+
+ 5.1. MTP Commands ............................................ 16
+ 5.1.1. Command Semantics ..................................... 16
+ 5.1.2. Command Syntax ........................................ 18
+ 5.2. MTP Replies ............................................. 22
+ 5.2.1. Reply Codes by Function Group ......................... 23
+ 5.2.2. Reply Codes in Numeric Order .......................... 24
+ 5.3. Sequencing of Commands and Replies ...................... 25
+ 5.4. State Diagrams .......................................... 28
+ 5.5. Details ................................................. 30
+ 5.5.1. Minimum Implementation ................................ 30
+ 5.5.2. Transparency .......................................... 30
+ 5.5.3. Sizes ................................................. 30
+
+ APPENDIX A: TCP ................................................. 32
+ APPENDIX B: NCP ................................................. 33
+ APPENDIX C: NITS ................................................ 34
+ APPENDIX D: X.25 ................................................ 35
+ APPENDIX E: Theory of Reply Codes ............................... 36
+
+ GLOSSARY ......................................................... 39
+
+ REFERENCES ....................................................... 42
+
+
+
+
+
+
+Network Working Group S. Sluizer
+Request for Comments: 780 J. Postel
+ ISI
+Replaces: RFC 772 May 1981
+
+ MAIL TRANSFER PROTOCOL
+
+
+1. INTRODUCTION
+
+ The objective of Mail Transfer Protocol (MTP) is to transfer mail
+ reliably and efficiently.
+
+ MTP is designed to be independent of the particular transmission
+ subsystem and requires only a reliable ordered data stream channel.
+ Appendices describe the use of MTP with various transport services.
+ A Glossary provides the definitions of terms as used in this
+ document.
+
+ An important feature of MTP is its capability to relay mail from one
+ transport environment to another. A transport service provides an
+ interprocess communication environment (IPCE). An IPCE may cover one
+ network, several networks, or a subset of a network. A process can
+ communicate directly with another process anywhere in its own IPCE.
+ Mail is a special case of interprocess communication. Mail can be
+ communicated between proceses in different IPCEs by relaying through
+ a process connected to two (or more) IPCEs. More specifically, mail
+ can be relayed between hosts on different transport systems by a host
+ on both transport systems. It is important to realize that transport
+ systems (or IPCEs) are not one-to-one with networks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 1]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+2. THE MTP MODEL
+
+ The MTP design is based on the following model of communication: at
+ the initiation of the user, the sender-MTP establishes the
+ full-duplex transmission channel. MTP commands are generated by the
+ sender-MTP and sent to the receiver-MTP. MTP replies are sent from
+ the receiver-MTP to the sender-MTP in response to the commands.
+
+ In the simplest case, once the transmission channel is established
+ the MTP-sender sends a MAIL command indicating the sender and
+ receiver of the mail. If the MTP-receiver can accept the mail it
+ responds with a go ahead reply. Then the MTP-sender sends the mail
+ data, terminating with a special sequence. If the MTP-receiver
+ successfully processes the mail it responds with an OK reply.
+
+ -------------------------------------------------------------
+
+
+ +----------+ +----------+
+ +------+ | | | |
+ | User |<-->| | MTP | |
+ +------+ | Sender- |Commands/Replies| Receiver-|
+ +------+ | MTP |<-------------->| MTP | +------+
+ | File |<-->| | and Mail | |<-->| File |
+ |System| | | | | |System|
+ +------+ +----------+ +----------+ +------+
+
+
+ Sender-MTP Receiver-MTP
+
+ Model for MTP Use
+
+ Figure 1
+
+ -------------------------------------------------------------
+
+ The MTP provides mechanisms for the transmission of mail; directly
+ from the sending user's host to the receiving user's host when the
+ two host are connected to the same transport service, or via one or
+ more relay MTP-servers when the source and destination hosts are not
+ connected to the same transport service.
+
+ To be able to provide the relay capability the MTP-server must be
+ supplied with the name of the ultimate destination host as well as
+ the destination mailbox name.
+
+
+
+
+[Page 2] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ The arguments to the MAIL command are a FROM path and a TO path. The
+ TO path is a source route while the FROM path is a return route
+ (which may be used to return a message to the sender when an error
+ occurs with a relayed message).
+
+ The preceding discussion has outlined the transmission of one copy of
+ one message from a source to a destination host and the possibility
+ of relaying messages between different transport services. The MTP
+ additionally supports the transmission of one copy of a message
+ addressed to multiple recipients.
+
+ In order for mail to be successfully transmitted the destination
+ users must be known at the destination receiver-MTP and the mail data
+ must be correctly received and stored. In the single recipient case
+ discussed above the positive response to the MAIL command indicated
+ the recipient was known, and the final OK response indicated the mail
+ was received and stored.
+
+ To support multi-recipient mail, MTP provides two procedures:
+ Text-First, and Recipients-First. In the text-first scheme the mail
+ data is sent and acknowledged, then each recipient identification is
+ sent and acknowledged (or refused) separately. In the
+ recipients-first scheme the recipients are negotiated first, then the
+ text is sent and acknowledged (for all recipients at once). The
+ choice of scheme is up to the MTP-receiver, and depends on the way
+ mail is handled in the destination host.
+
+ The multi-recipient mail procedures are optional and the
+ determination of which scheme to use is negotiated. The use of the
+ multi-recipient schemes is strongly encouraged by the economy they
+ provide in transmission and processing.
+
+ The mail commands and replies have a rigid syntax. Replies also have
+ a numeric code. In the following, examples appear which use actual
+ commands and replies. The complete lists of commands and replies
+ appears in Section 5 on specifications.
+
+ Commands and replies are not case sensitive. That is, a command or
+ reply word may be upper case, lower case, or any mixture of upper and
+ lower case. Note that this is not true of mailbox user names. For
+ some hosts the user name is case sensitive, and MTP implementations
+ must take case to preserve the case of user names as they appear in
+ mailbox arguments.
+
+
+
+
+
+
+Sluizer & Postel [Page 3]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+3. BASIC MAIL
+
+ The basic command for transmitting mail is MAIL. This command causes
+ the transmitted data to be entered into the recipient's mailbox, or
+ accepted for relaying to the destination host.
+
+ The mail text is also sent on the transmission channel. This
+ requires that the end of the text be signalled so that the command
+ and reply dialog can be resumed. MTP signals the end of the mail
+ text by sending a line containing only a period. A transparency
+ procedure is used to prevent this interfering with the users text
+ (see Section 5.5.2).
+
+ MAIL <SP> FROM:<sender-path> <SP> TO:<receiver-path> <CRLF>
+
+ The <sender-path> contains the source mailbox; the
+ <receiver-path> contains the destination mailbox. If accepted,
+ the receiver-MTP returns a 354 reply and considers all
+ succeeding lines to be the message text. The message text is
+ terminated by a line containing only a period, upon which a 250
+ completion reply is returned. Various errors are possible.
+
+ Actually the <sender-path> and <receiver-path> are more than
+ just the mailboxes, they may be source routes. The
+ <receiver-path> is a source routing list of hosts and
+ destination mailbox; the <sender-path> is a reverse source
+ routing list of hosts and source mailbox.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 4] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ -------------------------------------------------------------
+
+ Example of MAIL (Basic Mail)
+
+ This MAIL command specifies the mail is sent by Waldo at host A,
+ and is to be delivered to Foo at host Y. Here we assume that host
+ A contacts host Y directly.
+
+ S: MAIL FROM:<waldo@A> TO:<Foo@Y> <CRLF>
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah blah....etc. etc. etc.
+ S: <CRLF>.<CRLF>
+ R: 250 Mail sent
+
+ The mail text has now been sent to "Foo".
+
+ Example 1
+
+ -------------------------------------------------------------
+
+ 3.1. FORWARDING
+
+ There are two possible preliminary replies that a receiver may use
+ to indicate that it is accepting mail for a user whose mailbox is
+ not at that host.
+
+ 151 User not local; will forward to <user>@<host>
+
+ This reply indicates that the receiver-MTP knows the user's
+ mailbox is on another host and will take responsibility for
+ forwarding the mail to that host. This reply is only sent
+ when the sender would not expect the mail to be forwarded.
+ That is, when <receiver-path> as given in the command
+ indicates mail relaying, this reply will not be used. This
+ reply could be used for an organization with several hosts
+ when each has a list of many of the users on the hosts. A
+ host can accept mail for any user on its list and forward it
+ to the correct host.
+
+ 152 User Unknown; mail will be forwarded by the operator
+
+ This reply indicates that the host does not recognize the
+ user name, but that it will accept the mail and have the
+ operator attempt to deliver it. This is useful if the user
+ name is misspelled, but may be a disservice if the mail is
+ really undeliverable.
+
+
+
+Sluizer & Postel [Page 5]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ If forwarding by the operator is unacceptable or if the
+ sending-user would prefer to send the mail directly to the
+ recipient's actual host, the action may be aborted.
+
+ The MTP-sender must accept or reject the proposal in the
+ preliminary reply by sending a continue (CONT) or abort (ABRT)
+ command. In the case of the continue, the next reply from the
+ MTP-receiver will be any of the replies expected for the MAIL
+ command, most likely "354 Start mail input, ...". In the case of
+ the abort, the next reply from the MTP-receiver will be "201
+ Command okay, action aborted".
+
+ 3.2. SOURCE ROUTING
+
+ The receiver-path may be a source route of the form
+ "@ONE,@TWO,JOE@THREE", where ONE, TWO, and THREE are hosts. This
+ form is used to emphasize the distinction between an address and a
+ route.
+
+ At some distant future time it might be necessary to expand the
+ mailbox format to include a region identifier, such as
+ "user@host@region". If this occured the MTP path convention
+ could be expanded to
+ "host@region,host@region,...user@host@region". For example,
+ "ONE@R1,TWO@R2,JOE@THREE@R3".
+
+ The mailbox is an absolute address, and the route is information
+ about how to get there. The two concepts should not be confused.
+
+ The elements of the receiver-path are to be moved to the
+ sender-path as the message is relayed from one MTP to another. The
+ sender-path is a reverse source route, that is, a source route to
+ the originator of the message. When an MTP deletes its identifier
+ from the receiver-path and inserts it into the sender-path, it
+ must use the name it is known by in the environment it is sending
+ into, not the environment the mail came from, in case the MTP is
+ known be different names in different environments.
+
+ When source routing is used the receiver-MTP will receive mail to
+ be relayed to another MTP. The receiver-MTP may accept the task
+ of relaying the mail or reject it in the same way it accepts or
+ reject mail for a local user. It does not use the 151 "User not
+ local" or 152 "User unknown" preliminary replies. Once the
+ receiver-MTP accepts the relaying task it receives the mail text
+ and transforms the command arguments by removing its own
+ identifier from the receiver-path and inserting it in the
+
+
+
+[Page 6] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ beginning of the sender-path. The receiver-MTP then becomes a
+ sender-MTP and establishes a transmission channel to the next MTP
+ in the receiver-path and sends it the mail.
+
+ If an MTP has accepted the task of relaying the mail and later
+ finds that the receiver-path is incorrect or that the mail cannot
+ be delivered for whatever reason, then it must construct a
+ notification message and send it to the originator of the
+ undeliverable mail as indicated by the sender-path. This
+ notification message must be from the MTP at this host. That is,
+ the sender-path of the notification message itself will be
+ "MTP@<host>", and in the notification message header the From
+ field will be "MTP at <host>". Of course, MTPs should not send
+ notification messages about problems with notification messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 7]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+4. MULTI-RECIPIENT MAIL
+
+ There are two MTP commands which allow the text of a message to be
+ mailed to several recipients simultaneously; such message
+ transmission is far more efficient than the practice of sending the
+ text again and again for each additional recipient at a host. In one
+ scheme, all recipients are specified first, and then the text is
+ sent. In the other scheme, the order is reversed and the text is
+ sent first, followed by the recipients. The sender-MTP suggests the
+ scheme it would prefer, but receiver-MTP controls which scheme is
+ actually used. To select a particular scheme, the MRSQ command is
+ used; to specify recipients after a scheme is chosen, MRCP commands
+ are given; and to furnish text, the MAIL command is used.
+
+ Both schemes are necessary because neither by itself is optimal for
+ all systems. MRSQ R allows more of a "bulk" mailing because
+ everything is saved up and then mailed simultaneously. This is very
+ useful for systems such as ITS where the MTP-receiver does not itself
+ write mail directly, but hands it on to a central mailer demon. The
+ more information (e.g., recipients) associated with a single
+ "hand-off", the more efficiently mail can be delivered.
+
+ By contrast, MRSQ T is geared to receiver-MTPs which want to deliver
+ mail directly, in one-by-one incremental fashion. For each given
+ recipient this scheme returns an individual success/failure reply
+ code which may depend on variable mail system factors such as
+ exceeding disk allocation, mailbox access conflicts, and so forth.
+ If these receiver-MTPs tried to emulate MRSQ Rs bulk mailing, they
+ would have to ensure that a success reply to the MAIL indeed meant
+ that it had been delivered to ALL recipients specified -- not just
+ some.
+
+ 4.1. SCHEME SELECTION: MRSQ
+
+ MRSQ is the means by which a sender-MTP can test for MRSQ/MRCP
+ implementation, select a particular scheme, reset its state, and
+ even do some rudimentary negotiation. Its format is as follows:
+
+ MRSQ [<SP> <scheme>] <CRLF>
+
+ <scheme> is a single character. The following are defined:
+ R Recipients first. If this is not implemented, T must be.
+ T Text first. If this is not implemented, R must be.
+ ? Request for preference. This must always be implemented.
+
+
+
+
+
+[Page 8] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ No argument means a "selection" of none of the schemes (the
+ default).
+
+ Possible replies are:
+ 200 OK, use the specified scheme
+ 215 <scheme> This is the scheme I prefer
+ 504 I understand MRSQ but can't use that scheme
+ 5xx Command unrecognized or unimplemented
+
+ There are three aspects of MRSQ. The first is that an MRSQ with
+ no argument must always return a 200 reply and restore the default
+ state of having no scheme selected. Any other reply implies that
+ MRSQ and hence MRCP are not understood or cannot be performed
+ correctly.
+
+ The second is that the use of "?" as a <scheme> asks the MTP
+ receiver to return a 215 reply in which the receiver specifies a
+ "preferred" scheme. The format of this reply is simple:
+
+ 215 <SP> <scheme> [<SP> <string>] <CRLF>
+
+ Any other reply (e.g., 4xx or 5xx) implies that MRSQ and MRCP
+ are not implemented, because "?" must always be implemented if
+ MRSQ is.
+
+ The third important point about MRSQ is that it always has the
+ side effect of reseting all schemes to their initial state. This
+ reset must be done no matter what the reply will be -- 200, 215,
+ or 504. The actions necessary for a reset will be explained when
+ discussing how each scheme actually works.
+
+ Note that the receiver gets to choose which scheme is used. The
+ sender must be prepared to do either.
+
+ 4.2. MESSAGE TEXT SPECIFICATION: MAIL
+
+ Regardless of which scheme (if any) has been selected, a MAIL
+ command with a non-null receiver-path argument will behave exactly
+ as before; the MRSQ/MRCP commands have no effect on it. However,
+ a normal MAIL command does have the same side effect as MRSQ; it
+ "resets" all schemes to their initial state.
+
+ It is only when the receiver-path argument is null that the
+ particular scheme chosen is important.
+
+ MAIL FROM:<sender-path> <CRLF>
+
+
+
+Sluizer & Postel [Page 9]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ Rather than producing an error, the receiver will accept message
+ text for this "null" recipient specification. What it does with
+ it depends on which scheme is in effect, and will be described in
+ the section on Scheme Mechanics.
+
+ 4.3. RECIPIENT SPECIFICATION: MRCP
+
+ In order to specify recipient names (i.e., mailboxes) and receive
+ some acknowledgment (or refusal) for each name, the following
+ command is used:
+
+ MRCP <SP> TO:<receiver-path> <CRLF>
+
+ Reply for no scheme:
+ 503 No scheme specified yet; use MRSQ
+ Replies for scheme T are identical to those for MAIL.
+ Replies for scheme R (recipients first):
+ 200 OK, name stored
+ 452 Recipient table full, this name not stored
+ 550 Recipient name rejected
+ 4xx Temporary error, try this name again later
+ 5xx Permanent error, report to sender
+
+ Note that use of this command is an error if no scheme has been
+ selected yet; an MRSQ <scheme> must have been given if MRCP is to
+ be used.
+
+ 4.4. SCHEME MECHANICS: MRSQ R (RECIPIENTS-FIRST)
+
+ In the recipients-first scheme, MRCP is used to specify names
+ which the MTP receiver stores in a list or table. Normally the
+ reply for each MRCP will be either a 200 for acceptance or a
+ 4xx/5xx rejection code. All 5xx codes are permanent rejections
+ (e.g., user not known) which should be reported to the human user,
+ whereas 4xx codes in general connote some temporary error that may
+ be rectified later. None of the 4xx/5xx replies impinge on
+ previous or succeeding MRCP commands, except for 452 which
+ indicates that no further MRCPs will succeed unless a message is
+ sent to the already stored recipients or a reset is done.
+
+ Sending message text to stored recipients is done by giving a MAIL
+ command with no receiver-path argument; that is, just MAIL <SP>
+ FROM: <sender-path> <CRLF>. Transmission of the message text is
+ exactly the same as for normal MAIL. However, a positive
+ acknowledgment at the end of transmission means the message has
+ been sent to ALL recipients that were remembered with MRCP, and a
+
+
+
+[Page 10] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ failure code means that it should be considered to have failed for
+ ALL of these specified recipients. This applies regardless of the
+ actual error code. Regardless of what the reply signifies, all
+ stored recipient names are flushed and forgotten -- in other
+ words, things are reset to their initial state. This purging of
+ the recipient name list must also be done as the reset side effect
+ of any use of MRSQ (or MAIL with a non-null receiver-path
+ argument).
+
+ A 452 reply (out of storage space) to an MRCP can be handled by
+ using MAIL to specify the message for currently stored recipients,
+ and then sending more MRCPs and another MAIL, as many times as
+ necessary. For example, if a receiver only had room for 10 names
+ this would result in a 50-recipient message being sent 5 times, to
+ 10 different recipients each time.
+
+ If a sender attempts to specify message text (MAIL with no
+ receiver-path argument) before any successful MRCPs have been
+ given, this should be treated exactly as a "normal" MAIL with a
+ null recipient would be; some receivers return an error, such as
+ "550 Null recipient".
+
+ -------------------------------------------------------------
+
+ Example of MRSQ R (Recipients First)
+
+ First the sender must establish that the receiver implements
+ MRSQ.
+
+ S: MRSQ <CRLF>
+ R: 200 OK, no scheme selected
+
+ An MRSQ with a null argument always returns a 200 if
+ implemented, selecting the default "scheme", i.e., none of
+ them. If MRSQ were not implemented, a code of 4xx or 5xx would
+ be returned.
+
+ S: MRSQ R <CRLF>
+ R: 200 OK, using that scheme
+
+ All is well; now the recipients can be specified.
+
+ S: MRCP TO:<Foo@Y> <CRLF>
+ R: 200 OK
+
+
+
+
+
+Sluizer & Postel [Page 11]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ S: MRCP TO:<Raboof@Y> <CRLF>
+ R: 550 No such user here
+
+ S: MRCP TO:<bar@Y> <CRLF>
+ R: 200 OK
+
+ S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
+ R: 200 OK
+
+ Note that the failure of "Raboof" has no effect on the storage
+ of mail for "Foo", "bar" or the mail to be relayed to "fubar@Z"
+ through host "X". Now the message text is furnished, by giving
+ a MAIL command with no receiver-path argument.
+
+ S: MAIL FROM:<waldo@A><CRLF>
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah blah....etc. etc. etc.
+ S: <CRLF>.<CRLF>
+ R: 250 Mail sent
+
+ The mail text has now been sent to "Foo" and "bar" as well as
+ relayed to "fubar@Z".
+
+ Example 2
+
+ -------------------------------------------------------------
+
+ 4.5. SCHEME MECHANICS: MRSQ T (TEXT-FIRST)
+
+ In the text-first scheme, MAIL with no receiver-path argument is
+ used to specify message text, which the receiver stores away.
+ Succeeding MRCPs are then treated as if they were MAIL commands,
+ except that none of the text transfer manipulations are done; the
+ stored message text is sent to the specified recipient, and a
+ reply code is returned identical to that which an actual MAIL
+ would invoke. (Note that any 2xx code indicates success.)
+
+ The stored message text is not forgotten until the next MAIL or
+ MRSQ, which will either replace it with new text or flush it
+ entirely. Any use of MRSQ will reset this scheme by flushing
+ stored text, as will any use of MAIL with a non-null receiver-path
+ argument.
+
+ If an MRCP is seen before any message text has been stored, the
+ sender in effect is trying to send a null message; some receivers
+ might allow this, others would return an error code.
+
+
+
+[Page 12] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ -------------------------------------------------------------
+
+ Example of MRSQ T (Text First)
+
+ First the sender must establish that the receiver implements
+ MRSQ.
+
+ S: MRSQ ? <CRLF>
+ R: 215 T Text first, please
+
+ MRSQ is indeed implemented, and the receiver says that it
+ prefers "T", but that needn't stop the sender from trying
+ something else.
+
+ S: MRSQ R <CRLF>
+ R: 504 Sorry, I really can't do that
+
+ It's possible that it could have understood "R" also, but in
+ general it's best to use the "preferred" scheme, since the
+ receiver knows which is most efficient for its particular site.
+
+ S: MRSQ T <CRLF>
+ R: 200 OK, using that scheme
+
+ Scheme "T" is now selected, and the message text is sent by
+ giving a mail command with no receiver-path argument.
+
+ S: MAIL FROM:<WALDO@A><CRLF>
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah blah....etc. etc. etc.
+ S: <CRLF>.<CRLF>
+ R: 250 Mail stored
+
+ Now recipients can be specified.
+
+ S: MRCP TO:<Foo@Y> <CRLF>
+ R: 250 Stored mail sent
+
+ S: MRCP TO:<Raboof@Y> <CRLF>
+ R: 550 No such user here
+
+ S: MRCP TO:<bar@Y> <CRLF>
+ R: 250 Stored mail sent
+
+ S: MRCP TO:<@Y,@X,fubar@Z> <CRLF>
+ R: 250 Mail accepted for relaying
+
+
+
+Sluizer & Postel [Page 13]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ The text has now been sent to "Foo" and "bar" at host "Y" and
+ will be relayed to "fubar@Z" through host "X", and still
+ remains stored. A new message can be sent with another
+ MAIL/MRCP ... sequence, but a careful sender would reset the
+ state using the exchange below.
+
+ S: MRSQ ? <CRLF>
+ R: 215 T Text first, please
+
+ Which resets the state without altering the scheme in effect.
+
+ Example 3
+
+ -------------------------------------------------------------
+
+ 4.6. DISCUSSION
+
+ Because these commands are not required in the minimum
+ implementation of MTP, one must be prepared to deal with sites
+ which don't recognize either MRSQ or MRCP. "MRSQ" and "MRSQ ?"
+ are explicitly designed as tests to see whether either scheme is
+ implemented. MRCP is not designed as a test, and a failure return
+ of the "unimplemented" variety could be confused with "No scheme
+ selected yet", or even with "Recipient unknown".
+
+ There is no way to indicate in a positive response to "MRSQ ?"
+ that the preferred "scheme" for a receiver is that of the default
+ state; i.e., none of the multi-recipient schemes. The rationale
+ is that in this case, it would be pointless to implement MRSQ/MRCP
+ at all, and the response would therefore be negative.
+
+ One reason that the use of MAIL is restricted to null
+ receiver-path arguments with this multi-recipient extension is the
+ ambiguity that would result if a non-null receiver-path argument
+ were allowed. For example, if MRSQ R was in effect and some MRCPs
+ had been given, and a MAIL FROM:<X@Y> TO:<FOO@Z><CRLF> was done,
+ there would be no way to distinguish a failure reply for mailbox
+ "FOO" from a global failure for all recipients specified. A
+ similar situation exists for MRSQ T; it would not be clear whether
+ the text was stored and the mailbox failed, or vice versa, or
+ both.
+
+ "Resets" of all schemes are done by all MRSQs and "normal" MAILs
+ to avoid confusion and overly complicated implementation. The
+ MRSQ command implies a change or uncertainty of status, and the
+ MAIL command would otherwise have to use some independent
+
+
+
+[Page 14] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ mechanisms to avoid clobbering the data bases (e.g., message text
+ storage area) used by the T/R schemes. However, once a scheme is
+ selected, it remains in effect. The recommended way for doing a
+ reset, without changing the current selection, is with "MRSQ ?".
+ Remember that "MRSQ" alone reverts to the no-scheme state.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 15]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+5. SPECIFICATIONS
+
+ 5.1. MTP COMMANDS
+
+ 5.1.1. COMMAND SEMANTICS
+
+ The MTP commands define the mail transfer or the mail system
+ function requested by the user. MTP commands are character
+ strings terminated by <CRLF>. The command codes themselves are
+ alphabetic characters terminated by <SP> if parameters follow
+ and <CRLF> otherwise. The syntax of mailboxes must conform to
+ receiver site conventions. The MTP commands are discussed
+ below. MTP replies are discussed in the Section 5.2.
+
+ MAIL (MAIL)
+
+ This command is used to send mail over the transmission
+ channel. The argument field contains a sender-path sequence
+ and optional receiver-path sequence.
+
+ The sender-path sequence consists of an optional list of
+ hosts and the sender mailbox. When the list of hosts is
+ present, it is "reverse" source routing information and
+ indicates that the mail was relayed through each host on the
+ list (the first host in the list was the most recent relay).
+ This list is used as source routing to return non-delivery
+ notices to the sender. As each relay host adds itself to
+ the beginning of the list, it must use its name as known in
+ the network to which it is relaying the mail rather than the
+ network from which the mail came (if they are different).
+
+ If the receiver-path sequence is present, it consists of an
+ optional list of hosts and a destination mailbox. When the
+ list of hosts is present, it is source routing information
+ and indicates that the mail must be relayed to the first
+ host on the list.
+
+ The receiver treats the lines following the command as mail
+ text from the sender. The mail text is terminated by the
+ character sequence "<CRLF>.<CRLF>", (see Section 5.5.2 on
+ Transparency).
+
+ As mail is relayed along the receiver-path sequence, each
+ relay host must remove itself from the path sequence and put
+ itself at the beginning of the sender-path sequence. When
+ mail reaches its ultimate destination (the receiver-path
+
+
+
+[Page 16] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ sequence has only a destination mailbox), the receiver-MTP
+ inserts it into the destination mailbox in accordance with
+ its host mail conventions. (For example, "MAIL FROM:<X@Y>
+ TO:<@A,@B,C@D> <CRLF>" will eventually be relayed as "MAIL
+ FROM:<@A,X@Y> TO:<@B,C@D> <CRLF>.)
+
+ If the receiver-path sequence is empty, the mail is destined
+ for a printer or other designated place for host general
+ delivery mail (if allowed at this host). The mail may be
+ marked as sent from the sender as specified in the
+ sender-path sequence field.
+
+ MAIL RECIPIENT SCHEME QUESTION (MRSQ)
+
+ This MTP command is used to select a scheme for the
+ transmission of mail to several users at the same host. The
+ schemes are recipients-first, or text-first.
+
+ MAIL RECIPIENT (MRCP)
+
+ This command is used to identify the individual recipients
+ of the mail in the transmission of mail for multiple users
+ at one host.
+
+ HELP (HELP)
+
+ This command causes the receiver to send helpful information
+ regarding its implementation status over the transmission
+ channel to the receiver. The command may take an argument
+ (e.g., any command name) and return more specific
+ information as a response.
+
+ QUIT (QUIT)
+
+ This command specifies that the receiver must close the
+ transmission channel.
+
+ NOOP (NOOP)
+
+ This command does not affect any parameters or previously
+ entered commands. It specifies no action other than that
+ the receiver send an OK reply.
+
+
+
+
+
+
+
+Sluizer & Postel [Page 17]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ CONTINUE (CONT)
+
+ This command specifies that the previously specified action
+ is to be continued. This is sent only following a
+ preliminary reply.
+
+ ABORT (ABRT)
+
+ This command specifies that the previously specified action
+ is to be aborted. This is sent only following a preliminary
+ reply. It specifies no further action other than that the
+ receiver send an OK reply.
+
+ 5.1.2. COMMAND SYNTAX
+
+ The commands begin with a command code followed by an argument
+ field. The command codes are four alphabetic characters.
+ Upper and lower case alphabetic characters are to be treated
+ identically. Thus any of the following may represent the mail
+ command:
+
+ MAIL Mail mail MaIl mAIl
+
+ This also applies to any symbols representing parameter values,
+ such as R or r for RECIPIENT first. The command codes and the
+ argument fields are separated by one or more spaces.
+
+ But, note that in the sender-path and receiver-path arguments
+ case is important. In particular, in some hosts the user "foo"
+ is different from the user "Foo".
+
+ The argument field consists of a variable length character
+ string ending with the character sequence <CRLF>. It should be
+ noted that the receiver is to take no action until the end of
+ the line is received.
+
+ Square brackets denote an optional argument field. If the
+ option is not taken, the appropriate default is implied. All
+ characters are in the ASCII characters set.
+
+
+
+
+
+
+
+
+
+
+[Page 18] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ The following are the MTP commands:
+
+ MAIL <SP> FROM:<sender-path> [<SP> TO:<receiver-path>] <CRLF>
+
+ MRSQ [<SP> <scheme>] <CRLF>
+
+ MRCP <SP> TO:<receiver-path> <CRLF>
+
+ HELP [<SP> <string>] <CRLF>
+
+ QUIT <CRLF>
+
+ NOOP <CRLF>
+
+ CONT <CRLF>
+
+ ABRT <CRLF>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 19]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ The syntax of the above argument fields (using BNF notation
+ where applicable) is given below. The "..." notation indicates
+ that a field may be repeated one or more times.
+
+ <sender-path> ::= <path>
+
+ <receiver-path> ::= <path>
+
+ <scheme> ::= "R" | "T" | "?"
+
+ <string> ::= <char> | <char> <string>
+
+ <path> ::= "<" ["@" <host> "," ...] <mailbox> ">"
+
+ <host> ::= <a> <string> | "#" <number> | "[" <dotnum> "]"
+
+ <mailbox> ::= <user> "@" <host>
+
+ <user> ::= <string>
+
+ <char> ::= <c> | '\' <c> | '\' <s>
+
+ <dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>
+
+ <number> ::= <d> | <d> <number>
+
+ <snum> ::= three digits representing an integer value in the
+ range 0 through 255
+
+ <specials> ::= '<', '>', '(', ')', '\', ',', ';', ':', '@',
+ '"', and the control characters (ASCII codes 0 through 37
+ octal inclusive and 177 octal)
+
+ <a> ::= any one of the 26 letters A through Z in either case
+
+ <c> ::= any one of the 128 ASCII characters except
+ <specials>
+
+ <d> ::= any one of the ten digits 0 through 9
+
+ <s> ::= any one of <specials>
+
+ Note that the backslash, '\', is a quote character, which is
+ used to indicate that the next character is to be used
+ literally instead of with its normal interpretation. For
+
+
+
+
+[Page 20] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ example, "Joe\,Smith" could be used to indicate a single
+ nine character user field with comma being the fourth
+ character of the field.
+
+ Hosts are generally known by names which are translated to
+ addresses in each host. Sometimes a host is not known to the
+ translation function and communication is blocked. To bypass
+ this barrier numeric forms are also allowed for host "names".
+ One form is a decimal integer prefixed by a pound sign, "#",
+ which indicates the number is the address of the host. Another
+ form is four small decimal integers separated by dots and
+ enclosed by brackets, e.g., "[123.255.37.321]", which indicates
+ a 32 bit ARPA Internet Address in four eight bit fields.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 21]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ 5.2. MTP REPLIES
+
+ Replies to MTP commands are devised to ensure the synchronization
+ of requests and actions in the process of mail transfer, and to
+ guarantee that the sender-MTP always knows the state of the
+ receiver-MTP. Every command must generate exactly one reply.
+ Additionally, some commands must occur sequentially, such as
+ MRSQ T->MAIL->MRCP or MRSQ R->MRCP->MAIL.
+
+ The details of the command-reply sequence are made explicit in
+ the Sections 5.3 and 5.4 on Sequencing and State Diagrams.
+
+ An MTP reply consists of a three digit number (transmitted as
+ three alphanumeric characters) followed by some text. The number
+ is intended for use by automata to determine what state to enter
+ next; the text is meant for the human user. It is intended that
+ the three digits contain enough encoded information that the
+ sender-MTP will not need to examine the text and may either
+ discard it or pass it on to the user, as appropriate. In
+ particular, the text may be receiver-dependent, so there are
+ likely to be varying texts for each reply code. Further
+ explanation of the assignment of reply codes is given in the
+ Appendix E on the Theory of Reply Codes. Formally, a reply is
+ defined to be the sequence: a three-digit code, <SP>, one line of
+ text, and <CRLF>.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 22] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ 5.2.1. REPLY CODES BY FUNCTION GROUPS
+
+ 200 Command okay
+ 201 Command okay, action aborted
+ 500 Syntax error, command unrecognized
+ [This may include errors such as command line too long]
+ 501 Syntax error in parameters or arguments
+ 502 Command not implemented
+ 503 Bad sequence of commands
+ 504 Command parameter not implemented
+
+ 211 System status, or system help reply
+ 214 Help message
+ [Information on how to use the receiver or the meaning of a
+ particular non-standard command; this reply is useful only
+ to the human user]
+ 215 <scheme> is the preferred scheme
+
+ 120 <host> Service ready in nnn minutes
+ 220 <host> Service ready for new user
+ 221 <host> Service closing transmission channel
+ 421 <host> Service not available, closing transmission channel
+ [This may be a reply to any command if the service knows it
+ must shut down]
+
+ 151 User not local; will forward to <user>@<host>
+ 152 User unknown; mail will be forwarded by the operator
+ 250 Requested mail action okay, completed
+ 450 Requested mail action not taken: mailbox unavailable
+ [E.g., mailbox busy]
+ 550 Requested action not taken: mailbox unavailable
+ [E.g., mailbox not found, no access]
+ 451 Requested action aborted: local error in processing
+ 452 Requested action not taken: insufficient system storage
+ 552 Requested mail action aborted: exceeded storage allocation
+ [For current mailbox location]
+ 553 Requested action not taken: mailbox name not allowed
+ [E.g., mailbox syntax incorrect]
+ 354 Start mail input; end with <CRLF>.<CRLF>
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 23]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ 5.2.2. NUMERIC ORDER LIST OF REPLY CODES
+
+ 120 <host> Service ready in nnn minutes
+ 151 User not local; will forward to <user>@<host>
+ 152 User unknown; mail will be forwarded by the operator
+
+ 200 Command okay
+ 201 Command okay, action aborted
+ 211 System status, or system help reply
+ 214 Help message
+ [Information on how to use the receiver or the meaning of a
+ particular non-standard command; this reply is useful only
+ to the human user]
+ 215 <scheme> is the preferred scheme
+ 220 <host> Service ready for new user
+ 221 <host> Service closing transmission channel
+ 250 Requested mail action okay, completed
+
+ 354 Start mail input; end with <CRLF>.<CRLF>
+
+ 421 <host> Service not available, closing transmission channel
+ [This may be a reply to any command if the service knows it
+ must shut down]
+ 450 Requested mail action not taken: mailbox unavailable
+ [E.g., mailbox busy]
+ 451 Requested action aborted: local error in processing
+ 452 Requested action not taken: insufficient system storage
+
+ 500 Syntax error, command unrecognized
+ [This may include errors such as command line too long]
+ 501 Syntax error in parameters or arguments
+ 502 Command not implemented
+ 503 Bad sequence of commands
+ 504 Command parameter not implemented
+ 550 Requested action not taken: mailbox unavailable
+ [E.g., mailbox not found, no access]
+ 552 Requested mail action aborted: exceeded storage allocation
+ [For current mailbox location]
+ 553 Requested action not taken: mailbox name not allowed
+ [E.g., mailbox syntax incorrect]
+
+
+
+
+
+
+
+
+
+[Page 24] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ 5.3. SEQUENCING OF COMMANDS AND REPLIES
+
+ The communication between the sender and receiver is intended to
+ be an alternating dialogue. As such, the sender issues an MTP
+ command and the receiver responds with a prompt primary reply.
+ The sender should wait for this response before sending further
+ commands.
+
+ The preliminary (1xx) and intermediate (3xx) replies indicate that
+ further commands and information are required to complete the
+ required action. The preliminary replies require either a
+ continue or abort command to proceed; the intermediate replies
+ require action dependent further commands.
+
+ One important reply is the connection greetings. Under normal
+ circumstances, a receiver will send a 220 "Awaiting input" reply
+ when the connection is completed. The sender should wait for this
+ greeting message before sending any commands. If the receiver is
+ unable to accept input right away, it should send a 120 "Expected
+ delay" reply immediately. The sender can then indicate it is
+ willing to wait via a continue command, or not via the abort
+ command. The receiver will respond to the abort with a 201 reply,
+ and to the continue with the 220 reply when ready.
+
+ Note: all the greeting type replies have the official name of
+ the server host as the first word following the reply code.
+
+ For example,
+
+ 220 <SP> USC-ISIF <SP> Service ready <CRLF>
+
+ The table below lists alternative success and failure replies for
+ each command. These must be strictly adhered to; a receiver may
+ substitute text in the replies, but the meaning and action implied
+ by the code numbers and by the specific command reply sequence
+ cannot be altered.
+
+ COMMAND-REPLY SEQUENCES
+
+ Each command is listed with its possible replies. Preliminary
+ replies are listed first with their succeeding replies indented
+ under them, then success and failure completion, and finally
+ intermediary replies with the remaining commands from the
+ sequence following. The prefixes used before the possible
+ replies are "P" for preliminary, "I" for intermediate, "S" for
+ success, "F" for failure, and "E" for error. The 421 reply
+
+
+
+Sluizer & Postel [Page 25]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ (service not available, closing transmission channel) may be
+ given to any command if the MTP-receiver knows it must shut
+ down. This listing forms the basis for the State Diagrams, in
+ Section 5.4.
+
+ CONNECTION ESTABLISHMENT
+ P: 120 -> CONT -> S: 220
+ F: 421
+ ABRT S: 201
+ F: 421
+ S: 220
+ F: 421
+ MAIL
+ P: 151 -> CONT -> I: 354 -> text -> S: 250
+ 152 F: 451,552,450,
+ 550,452,553
+ ABRT -> S: 201
+ F: 451,552,450,550,452,553
+ I: 354 -> text -> S: 250
+ F: 451,552,450,550,452,553
+ F: 451, 552, 450, 550, 452, 553
+ E: 500, 501, 502, 421
+ MRSQ
+ S: 200, 215
+ E: 500, 501, 502, 504, 421
+ MRCP
+ P: 151 -> CONT -> S: 200, 215, 250
+ 152 F: 451,552,450,550,452,553
+ ABRT -> S: 201
+ F: 451,552,450,550,452,553
+ S: 200, 215, 250
+ F: 451, 552, 450, 550, 452, 553
+ E: 500, 501, 502, 503, 421
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 26] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ QUIT
+ S: 221
+ E: 500, 421
+ HELP
+ S: 211, 214
+ E: 500, 501, 502, 504, 421
+ NOOP
+ S: 200
+ E: 500, 421
+ CONT
+ S: depends on previous command
+ F: depends on previous command
+ E: 500, 501, 502, 504, 421
+ ABRT
+ S: 201,
+ E: 500, 501, 502, 504, 421
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 27]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ 5.4. STATE DIAGRAMS
+
+ Following are state diagrams for a very simple minded MTP
+ implementation. Only the first digit of the reply codes is used.
+ There is one state diagram for each group of MTP commands.
+
+ The command groupings were determined by constructing a model for
+ each command and then collecting together the commands with
+ structurally identical models.
+
+ For each command there are three possible outcomes: "success"
+ (S), "failure" (F), and "error" (E). In the state diagrams below
+ we use the symbol B for "begin", and the symbol W for "wait for
+ reply".
+
+ First, the diagram that represents most of the MTP commands:
+
+
+ 1,3 +---+
+ ----------->| E |
+ | +---+
+ |
+ +---+ cmd +---+ 2 +---+
+ | B |---------->| W |---------->| S |
+ +---+ +---+ +---+
+ |
+ | 4,5 +---+
+ ----------->| F |
+ +---+
+
+
+ This diagram models the commands:
+
+ HELP, MRCP, MRSQ, NOOP, QUIT, ABRT.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 28] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ A more complex diagram models the MAIL command:
+
+
+ ABRT +---+ 1,3
+ CONT ---- ------------->| W |-------
+ | | +---+ |
+ | |1 4,5| |2 V
+ +---+ cmd -->+---+ 2 | | +---+
+ | B |---------->| W |-------------------->| E |
+ +---+ +---+ ------------>+---+
+ 3| |4,5 | | |
+ | | | | |
+ -------------- ------ | | |
+ | | | | ---->+---+
+ | ----------------------->| S |
+ | | | | | +---+
+ | | -------- |
+ | | | | |
+ V 2| |1,3 | |
+ +---+ text +---+ | ------->+---+
+ | |---------->| W | --------------->| F |
+ +---+ +---+-------------------->+---+
+ 4,5
+
+
+ Note that the "text" here is a series of lines sent from the
+ sender to the receiver with no response expected until the last
+ line is sent.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 29]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ 5.5. DETAILS
+
+ 5.5.1. MINIMUM IMPLEMENTATION
+
+ In order to make MTP workable, the following minimum
+ implementation is required for all receivers:
+
+ COMMANDS -- MAIL
+ QUIT
+ NOOP
+
+ 5.5.2. TRANSPARENCY
+
+ Without some provision for data transparency the character
+ sequence "<CRLF>.<CRLF>" ends the the mail text and cannot be
+ sent by the user. In general, users are not aware of such
+ "forbidden" sequences. To allow all user composed text to be
+ transmitted transparently the following procedures are used.
+
+ 1. Before sending a line of mail text the sender-MTP checks the
+ first character of the line. If it is a period, one additional
+ period is inserted at the beginning of the line.
+
+ 2. When a line of mail text is received by the receiver-MTP it
+ checks the the line. If the line is composed of a single
+ period it is the end of mail. If the first character is a
+ period and there are other characters on the line, the first
+ character is deleted.
+
+ 5.5.3. SIZES
+
+ There are several objects that ought to have defined maximum
+ sizes.
+
+ user
+
+ The maximum total length of a user name is 40 characters.
+
+ host
+
+ The maximum total length of a host name or number is 20
+ characters.
+
+
+
+
+
+
+
+[Page 30] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ path
+
+ The maximum total length of a sender-path or
+ receiver-path is 100 characters.
+
+ command line
+
+ The maximum total length of a command line including the
+ command word and the <CRLF> is 200 characters.
+
+ reply line
+
+ The maximum total length of a reply line including the
+ reply code and the <CRLF> is 65 characters.
+
+ text line
+
+ The maximum total length of a text line including the the
+ <CRLF> is 1000 characters.
+
+ To the maximum extent possible implementation techniques which
+ impose no limits at all to the length of these objects should
+ be used.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 31]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+APPENDIX A
+
+ TCP Transport service
+
+ The Transmission Control Protocol [1] is used in the ARPA
+ Internet, and in any network following the US DoD standards for
+ internetwork protocols.
+
+ Connection Establishment
+
+ The MTP transmission channel is a TCP connection established
+ between the sender process port U and the receiver process port
+ L. This single full duplex connection is used as the
+ transmission channel. This protocol is assigned the service
+ port 57 (71 octal), that is L=57.
+
+ Data Transfer
+
+ The TCP connection supports the transmission of 8-bit bytes.
+ The MTP data is 7-bit ASCII characters. Each character is
+ transmitted as a 8-bit byte with the high-order bit cleared to
+ zero.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 32] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+APPENDIX B
+
+ NCP Transport service
+
+ The ARPANET Host-to-Host Protocol [2] (implemented by the Network
+ Control Program) may be used in the ARPANET.
+
+ Connection Establishment
+
+ The MTP transmission channel is established via NCP between the
+ the sender process socket U and receiver process socket L. The
+ Initial Connection Protocol [3] is followed resulting in a pair
+ of simplex connections. This pair of connections is used as
+ the transmission channel. This protocol is assigned the
+ contact socket 57 (71 octal), that is L=57.
+
+ Data Transfer
+
+ The NCP data connections are established in 8-bit byte mode.
+ The MTP data is 7-bit ASCII characters. Each character is
+ transmitted as a 8-bit byte with the high-order bit cleared to
+ zero.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 33]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+APPENDIX C
+
+ NITS
+
+ The Network Independent Transport Service [4] may be used.
+
+ Connection Establishment
+
+ The MTP transmission channel is established via NITS between
+ the the sender process and receiver process. The sender
+ process executes the CONNECT primitive, and the waiting
+ receiver process executes the ACCEPT primitive.
+
+ Data Transfer
+
+ The NITS connection supports the transmission of 8-bit bytes.
+ The MTP data is 7-bit ASCII characters. Each character is
+ transmitted as a 8-bit byte with the high-order bit cleared to
+ zero.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 34] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+APPENDIX D
+
+ X.25 Transport service
+
+ It may be possible to use the X.25 service [5] as provided by the
+ Public Data Networks directly, but there are indications that it
+ is too error prone to qualify as a reliable channel. It is
+ suggested that a reliable end-to-end protocol such as TCP be used
+ on top of X.25 connections.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 35]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+APPENDIX E
+
+ Theory of Reply Codes
+
+ The three digits of the reply each have a special significance.
+ The first digit denotes whether the response is good, bad or
+ incomplete. An unsophisticated sender-MTP will be able to
+ determine its next action (proceed as planned, redo, retrench,
+ etc.) by simply examining this first digit. A sender-MTP that
+ wants to know approximately what kind of error occurred (e.g.,
+ mail system error, command syntax error) may examine the second
+ digit, reserving the third digit for the finest gradation of
+ information.
+
+ There are five values for the first digit of the reply code:
+
+ 1yz Positive Preliminary reply
+
+ The command has been accepted, but the requested action
+ is being held in abeyance, pending confirmation of the
+ information in this reply. The sender-MTP should send
+ another command specifying whether to continue or abort
+ the action.
+
+ 2yz Positive Completion reply
+
+ The requested action has been successfully completed. A
+ new request may be initiated.
+
+ 3yz Positive Intermediate reply
+
+ The command has been accepted, but the requested action
+ is being held in abeyance, pending receipt of further
+ information. The sender-MTP should send another command
+ specifying this information. This reply is used in
+ command sequence groups.
+
+ 4yz Transient Negative Completion reply
+
+ The command was not accepted and the requested action did
+ not occur. However, the error condition is temporary and
+ the action may be requested again. The sender should
+ return to the beginning of the command sequence (if any).
+ It is difficult to assign a meaning to "transient" when
+ two different sites (receiver- and sender- MTPs) must
+ agree on the interpretation. Each reply in this category
+
+
+
+[Page 36] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ might have a different time value, but the sender-MTP is
+ encouraged to try again. A rule of thumb to determine if
+ a reply fits into the 4yz or the 5yz category (see below)
+ is that replies are 4yz if they can be repeated without
+ any change in command form or in properties of the sender
+ or receiver. (E.g., the command is repeated identically;
+ the receiver does not put up a new implementation).
+
+ 5yz Permanent Negative Completion reply
+
+ The command was not accepted and the requested action did
+ not occur. The sender-MTP is discouraged from repeating
+ the exact request (in the same sequence). Even some
+ "permanent" error conditions can be corrected, so the
+ human user may want to direct the sender-MTP to
+ reinitiate the command sequence by direct action at some
+ point in the future (e.g., after the spelling has been
+ changed, or the user has altered the account status.)
+
+ The second digit encodes responses in specific categories:
+
+ x0z Syntax -- These replies refer to syntax errors,
+ syntactically correct commands that don't fit any
+ functional category, and unimplemented or superfluous
+ commands.
+
+ x1z Information -- These are replies to requests for
+ information, such as status or help.
+
+ x2z Connections -- These are replies referring to the
+ transmission channel.
+
+ x3z Unspecified as yet.
+
+ x4z Unspecified as yet.
+
+ x5z Mail system -- These replies indicate the status of
+ the receiver mail system vis-a-vis the requested
+ transfer or other mail system action.
+
+ The third digit gives a finer gradation of meaning in each
+ category specified by the second digit. The list of replies
+ illustrates this. Each reply text is recommended rather than
+ mandatory, and may even change according to the command with
+ which it is associated. On the other hand, the reply codes
+ must strictly follow the specifications in this section.
+
+
+
+Sluizer & Postel [Page 37]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ Receiver implementations should not invent new codes for
+ slightly different situations from the ones described here, but
+ rather adapt codes already defined.
+
+ For example, a command such as NOOP whose successful execution
+ does not offer the sender-MTP any new information will return a
+ 200 reply. The response is 502 when the command requests an
+ unimplemented non-site-specific action. A refinement of that
+ is the 504 reply for a command that is implemented, but that
+ requests an unimplemented parameter.
+
+ The reply text may be longer than a single line; in these cases
+ the complete text must be marked so the sender-MTP knows when it
+ can stop reading the reply. This requires a special format to
+ indicate a multiple line reply.
+
+ The format for multi-line replies requires that every line,
+ except the last, begin with the reply code, followed
+ immediately by a hyphen, "-" (also known as minus), followed by
+ text. The last line will begin with the reply code, followed
+ immediately by <SP>, optionally some text, and <CRLF>.
+
+ For example:
+ 123-First line
+ 123-Second line
+ 123-234 text beginning with numbers
+ 123 The last line
+
+ The sender-MTP then simply needs to search for the reply code
+ followed by <SP> at the beginning of a line, and ignore all
+ preceding lines.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 38] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+GLOSSARY
+
+ ASCII
+
+ American Standard Code for Information Interchange [6].
+
+ command
+
+ A request for a mail service action sent by the sender-MTP to the
+ receiver-MTP.
+
+ host
+
+ A computer in the internetwork environment on which mailboxes or
+ MTP processes reside.
+
+ line
+
+ A line of text ending with a <CRLF>.
+
+ mail
+
+ A sequence of ASCII characters of arbitrary length, which conforms
+ to the standard set in RFC 733 (Standard for the Format of ARPA
+ Network Text Messages [7]).
+
+ mailbox
+
+ A character string (address) which identifies a user to whom mail
+ is to be sent. Mailbox normally consists of the host and user
+ specifications. The standard mailbox naming convention is defined
+ to be "user@host". Additionally, the "container" in which mail is
+ stored.
+
+ receiver-MTP process
+
+ A process which transfers mail in cooperation with a sender-MTP
+ process. It waits for a connection to be established via the
+ transport service. It receives MTP commands from the sender-MTP,
+ sends replies, and governs the transfer of mail.
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 39]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+ reply
+
+ A reply is an acknowledgment (positive or negative) sent from
+ receiver to sender via the transmission channel in response to a
+ MTP command. The general form of a reply is a completion code
+ (including error codes) followed by a text string. The codes are
+ for use by programs and the text is usually intended for human
+ users.
+
+ sender-MTP process
+
+ A process which transfers mail in cooperation with a receiver-MTP
+ process. A local language may be used in the user interface
+ command/reply dialogue. The sender-MTP initiates the transport
+ service connection. It initiates MTP commands, receives replies,
+ and governs the transfer of mail.
+
+ transmission channel
+
+ A full-duplex communication path between a sender-MTP and a
+ receiver-MTP for the exchange of commands, replies, and mail text.
+
+ transport service
+
+ Any reliable stream-oriented data communication services. For
+ example, NCP, TCP, NITS.
+
+ user
+
+ A human being (or a process on behalf of a human being) wishing to
+ obtain mail transfer service. In addition, a recipient of
+ computer mail.
+
+ word
+
+ A human being (or a process on behalf of a human being) wishing to
+ obtain mail transfer service. In addition, a recipient of
+ computer mail.
+
+ <CRLF>
+
+ The characters carriage return and line feed (in that order).
+
+
+
+
+
+
+
+[Page 40] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ <SP>
+
+ The space character.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 41]
+
+
+
+May 1981 RFC 780
+Mail Transfer Protocol
+
+
+
+REFERENCES
+
+ [1] TCP
+
+ Postel, J., ed., "DOD Standard Transmission Control Protocol",
+ IEN 129, RFC 761, USC/Information Sciences Institute,
+ NTIS ADA082609, January 1980. Appears in: Computer Communication
+ Review, Special Interest Group on Data Communications, ACM, V.10,
+ N.4, October 1980.
+
+ [2] NCP
+
+ McKenzie,A., "Host/Host Protocol for the ARPA Network", NIC 8246,
+ January 1972. Also in: Feinler, E. and J. Postel, eds., "ARPANET
+ Protocol Handbook", NIC 7104, for the Defense Communications
+ Agency by SRI International, Menlo Park, California, Revised
+ January 1978.
+
+ [3] Initial Connection Protocol
+
+ Postel, J., "Official Initial Connection Protocol", NIC 7101,
+ 11 June 1971. Also in: Feinler, E. and J. Postel, eds., "ARPANET
+ Protocol Handbook", NIC 7104, for the Defense Communications
+ Agency by SRI International, Menlo Park, California, Revised
+ January 1978.
+
+ [4] NITS
+
+ PSS/SG3, "A Network Independent Transport Service", Study Group 3,
+ The Post Office PSS Users Group, February 1980. Available from
+ the DCPU, National Physical Laboratory, Teddington, UK.
+
+ [5] X.25
+
+ CCITT, "Recommendation X.25 - Interface Between Data Terminal
+ Equipment (DTE) and Data Circuit-terminating Equipment (DCE) for
+ Terminals Operating in the Packet Mode on Public Data Networks,"
+ CCITT Orange Book, Vol. VIII.2, International Telephone and
+ Telegraph Consultative Committee, Geneva, 1976.
+
+
+
+
+
+
+
+
+
+
+[Page 42] Sluizer & Postel
+
+
+
+RFC 780 May 1981
+ Mail Transfer Protocol
+
+
+
+ [6] ASCII
+
+ ASCII, "USA Code for Information Interchange", United States of
+ America Standards Institute, X3.4, 1968. Also in: Feinler, E.
+ and J. Postel, eds., "ARPANET Protocol Handbook", NIC 7104, for
+ the Defense Communications Agency by SRI International, Menlo
+ Park, California, Revised January 1978.
+
+ [7] RFC 733
+
+ Crocker, D., J. Vittal, K. Pogran, and D. Henderson, "Standard for
+ the Format of ARPA Network Text Messages," RFC 733, NIC 41952,
+ November 1977. Also in: Feinler, E. and J. Postel, eds.,
+ "ARPANET Protocol Handbook", NIC 7104, for the Defense
+ Communications Agency by SRI International, Menlo Park,
+ California, Revised January 1978.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sluizer & Postel [Page 43]
+
diff --git a/Documentation/en/rfc/rfc788.txt b/Documentation/en/rfc/rfc788.txt
new file mode 100644
index 00000000..b4b01fcb
--- /dev/null
+++ b/Documentation/en/rfc/rfc788.txt
@@ -0,0 +1,3697 @@
+RFC788
+
+
+
+
+
+
+
+ SIMPLE MAIL TRANSFER PROTOCOL
+
+
+
+ Jonathan B. Postel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ November 1981
+
+
+
+ Information Sciences Institute
+ University of Southern California
+ 4676 Admiralty Way
+ Marina del Rey, California 90291
+
+ (213) 822-1511
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ TABLE OF CONTENTS
+
+ 1. INTRODUCTION .................................................. 1
+
+ 2. THE SMTP MODEL ................................................ 2
+
+ 3. THE SMTP PROCEDURE ............................................ 4
+
+ 3.1. Mail ..................................................... 4
+ 3.2. Forwarding ............................................... 7
+ 3.3. Verifying and Expanding .................................. 8
+ 3.4. Sending and Mailing ..................................... 10
+ 3.5. Opening and Closing ..................................... 12
+ 3.6. Relaying ................................................ 13
+ 3.7. Domains ................................................. 15
+
+ 4. THE SMTP SPECIFICATIONS ...................................... 16
+
+ 4.1. SMTP Commands ........................................... 16
+ 4.1.1. Command Semantics ..................................... 16
+ 4.1.2. Command Syntax ........................................ 23
+ 4.2. SMTP Replies ............................................ 28
+ 4.2.1. Reply Codes by Function Group ......................... 29
+ 4.2.2. Reply Codes in Numeric Order .......................... 30
+ 4.3. Sequencing of Commands and Replies ...................... 31
+ 4.4. State Diagrams .......................................... 33
+ 4.5. Details ................................................. 35
+ 4.5.1. Minimum Implementation ................................ 35
+ 4.5.2. Transparency .......................................... 35
+ 4.5.3. Sizes ................................................. 36
+
+ APPENDIX A: TCP ................................................. 38
+ APPENDIX B: NCP ................................................. 39
+ APPENDIX C: NITS ................................................ 40
+ APPENDIX D: X.25 ................................................ 41
+ APPENDIX E: Theory of Reply Codes ............................... 42
+ APPENDIX F: Scenarios ........................................... 45
+
+ GLOSSARY ......................................................... 58
+
+ REFERENCES ....................................................... 61
+
+
+Network Working Group J. Postel
+Request for Comments: 788 ISI
+Replaces: RFC 780, 772 November 1981
+
+ SIMPLE MAIL TRANSFER PROTOCOL
+
+
+1. INTRODUCTION
+
+ The objective of Simple Mail Transfer Protocol (SMTP) is to transfer
+ mail reliably and efficiently.
+
+ SMTP is independent of the particular transmission subsystem and
+ requires only a reliable ordered data stream channel. Appendices A,
+ B, C, and D describe the use of SMTP with various transport services.
+ A Glossary provides the definitions of terms as used in this
+ document.
+
+ An important feature of SMTP is its capability to relay mail across
+ transport service environments. A transport service provides an
+ interprocess communication environment (IPCE). An IPCE may cover one
+ network, several networks, or a subset of a network. It is important
+ to realize that transport systems (or IPCEs) are not one-to-one with
+ networks. A process can communicate directly with another process
+ through any mutually known IPCE. Mail is an application or use of
+ interprocess communication. Mail can be communicated between
+ processes in different IPCEs by relaying through a process connected
+ to two (or more) IPCEs. More specifically, mail can be relayed
+ between hosts on different transport systems by a host on both
+ transport systems.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 1]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+2. THE SMTP MODEL
+
+ The SMTP design is based on the following model of communication: as
+ the result of a user mail request, the sender-SMTP establishes a
+ full-duplex transmission channel to a receiver-SMTP. The
+ receiver-SMTP may be either the ultimate destination or an
+ intermediate. SMTP commands are generated by the sender-SMTP and
+ sent to the receiver-SMTP. SMTP replies are sent from the
+ receiver-SMTP to the sender-SMTP in response to the commands.
+
+ Once the transmission channel is established, the SMTP-sender sends a
+ MAIL command indicating the sender of the mail. If the SMTP-receiver
+ can accept mail it responds with an OK reply. The SMTP-sender then
+ sends a RCPT command identifying a recipient of the mail. If the
+ SMTP-receiver can accept mail for that recipient it responds with an
+ OK reply; if not, it responds with a reply rejecting that recipient
+ (but not the whole mail transaction). The SMTP-sender and
+ SMTP-receiver may negotiate several recipients. When the recipients
+ have been negotiated the SMTP-sender sends the mail data, terminating
+ with a special sequence. If the SMTP-receiver successfully processes
+ the mail data it responds with an OK reply. The dialog is purposely
+ lock-step, one-at-a-time.
+
+ -------------------------------------------------------------
+
+
+ +----------+ +----------+
+ +------+ | | | |
+ | User |<-->| | SMTP | |
+ +------+ | Sender- |Commands/Replies| Receiver-|
+ +------+ | SMTP |<-------------->| SMTP | +------+
+ | File |<-->| | and Mail | |<-->| File |
+ |System| | | | | |System|
+ +------+ +----------+ +----------+ +------+
+
+
+ Sender-SMTP Receiver-SMTP
+
+ Model for SMTP Use
+
+ Figure 1
+
+ -------------------------------------------------------------
+
+ The SMTP provides mechanisms for the transmission of mail; directly
+ from the sending user's host to the receiving user's host when the
+
+
+
+[Page 2] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ two host are connected to the same transport service, or via one or
+ more relay SMTP-servers when the source and destination hosts are not
+ connected to the same transport service.
+
+ To be able to provide the relay capability the SMTP-server must be
+ supplied with the name of the ultimate destination host as well as
+ the destination mailbox name.
+
+ The argument to the MAIL command is a reverse-path, which specifies
+ who the mail is from. The argument to the RCPT command is a
+ forward-path, which specifies who the mail is to. The forward-path
+ is a source route while the reverse-path, is a return route (which
+ may be used to return a message to the sender when an error occurs
+ with a relayed message).
+
+ When the same message is sent to multiple recipients the SMTP
+ encourages the transmission of only one copy of the data for all the
+ recipients at the same destination host.
+
+ The mail commands and replies have a rigid syntax. Replies also have
+ a numeric code. In the following, examples appear which use actual
+ commands and replies. The complete lists of commands and replies
+ appears in Section 4 on specifications.
+
+ Commands and replies are not case sensitive. That is, a command or
+ reply word may be upper case, lower case, or any mixture of upper and
+ lower case. Note that this is not true of mailbox user names. For
+ some hosts the user name is case sensitive, and SMTP implementations
+ must take case to preserve the case of user names as they appear in
+ mailbox arguments. Host names are not case sensitive.
+
+ Commands and replies are composed of characters from the ASCII
+ character set [1]. Each 7-bit character is transmitted right
+ justified in an 8-bit byte (or octet) with the high order bit cleared
+ to zero.
+
+ When specifying the general form of a command or reply, an argument
+ (or special symbol) will be denoted by a meta-linguistic variable (or
+ constant), for example, "<string>" or "<reverse-path>". Here the
+ angle brackets indicate these are a meta-linguistic variables.
+ However, some arguments use the angle brackets literally. For
+ example, an actual reverse-path is enclosed in angle brackets, i.e.,
+ "<Smith@ISIA>" is an instance of <reverse-path> (the angle brackets
+ are actually transmitted in the command or reply).
+
+
+
+
+
+Postel [Page 3]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+3. THE SMTP PROCEDURES
+
+ This section presents the procedures used in SMTP in several parts.
+ First comes the basic mail procedure defined as a mail transaction.
+ Following this are descriptions of forwarding mail, verifying mailbox
+ names and expanding mailing lists, sending to terminals instead of or
+ in combination with mailboxes, and the opening and closing exchanges.
+ At the end of this section are comments on relaying, and a note on
+ mail domains. Throughout this section are examples of partial
+ command and reply sequences, several complete scenarios are presented
+ in Appendix F.
+
+ 3.1. MAIL
+
+ There are three steps to a SMTP mail transaction. The transaction
+ is started with a MAIL command which gives the sender
+ identification. A series of one or more RCPT commands follow
+ giving the receiver information. Then a DATA command gives the
+ mail data. And finally, the end of mail data indicator confirms
+ the transaction.
+
+ The first step in the procedure is the MAIL command. The
+ <reverse-path> contains the source mailbox.
+
+ MAIL <SP> FROM:<reverse-path> <CRLF>
+
+ This command tells the the SMTP-receiver that a new mail
+ transaction is starting and to reset all its state tables and
+ buffers including any recipients or mail data. It gives the
+ reverse-path which can be used to report errors. If accepted,
+ the receiver-SMTP returns a 250 OK reply.
+
+ The <reverse-path> can contain more than just a mailbox. The
+ <reverse-path> is a reverse source routing list of hosts and
+ source mailbox. The first host in the <reverse-path> should be
+ the host sending this command.
+
+ The second step in the procedure is the RCPT command.
+
+ RCPT <SP> TO:<forward-path> <CRLF>
+
+ This command gives a forward-path identifying one recipient.
+ If accepted, the receiver-SMTP returns a 250 OK reply, and
+ stores the forward-path. If the recipient is unknown the
+ receiver-SMTP returns a 550 Failure reply. This second step of
+ the procedure can be repeated any number of times.
+
+
+
+[Page 4] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ The <forward-path> can contain more than just a mailbox. The
+ <forward-path> is a source routing list of hosts and
+ destination mailbox. The first host in the <forward-path>
+ should be the host receiving this command.
+
+ The third step in the procedure is the DATA command.
+
+ DATA <CRLF>
+
+ If accepted, the receiver-SMTP returns a 354 Intermediate reply
+ and considers all succeeding lines to be the message text.
+ When the end of text is received and stored the SMTP-receiver
+ sends a 250 OK reply.
+
+ Since the mail data is sent on the transmission channel the end
+ of the mail data must be indicated so that the command and
+ reply dialog can be resumed. SMTP indicates the end of the
+ mail data by sending a line containing only a period. A
+ transparency procedure is used to prevent this interfering with
+ the user's text (see Section 4.5.2).
+
+ Please note that the mail data includes the memo header
+ items such as Date, Subject, To, Cc, From [2].
+
+ The end of mail data indicator also confirms the mail
+ transaction and tells the receiver-SMTP to now process the
+ stored recipients and mail data. If accepted, the
+ receiver-SMTP returns a 250 OK reply. The DATA command should
+ fail only if the mail transaction was incomplete (for example,
+ no recipients), or if resources are not available.
+
+ The above procedure is an example of a SMTP mail transaction.
+ These commands must be used only in the order discussed above.
+ Example 1 (below) illustrates the use of these commands in a mail
+ transaction.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 5]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ -------------------------------------------------------------
+
+ Example of the SMTP Procedure
+
+ This SMTP example shows mail sent by Smith at host Alpha, to
+ Jones, Green, and Brown at host Beta. Here we assume that host
+ Alpha contacts host Beta directly.
+
+ S: MAIL FROM:<Smith@Alpha>
+ R: 250 OK
+
+ S: RCPT TO:<Jones@Beta>
+ R: 250 OK
+
+ S: RCPT TO:<Green@Beta>
+ R: 550 No such user here
+
+ S: RCPT TO:<Brown@Beta>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: <CRLF>.<CRLF>
+ R: 250 OK
+
+ The mail has now been accepted for Jones and Brown. Green did
+ not have a mailbox at host Beta.
+
+ Example 1
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 6] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ 3.2. FORWARDING
+
+ There are some cases where the destination information in the
+ <forward-path> is incorrect, but the receiver-SMTP knows the
+ correct destination. In such cases, one the following replies
+ should be used to allow the sender to contact the correct
+ destination.
+
+ 251 User not local; will forward to <forward-path>
+
+ This reply indicates that the receiver-SMTP knows the user's
+ mailbox is on another host and indicates the correct
+ forward-path to use in the future. Note that either the
+ host or user or both may be different. The receiver takes
+ responsibility for delivering the message.
+
+ 551 User not local; please try <forward-path>
+
+ This reply indicates that the receiver-SMTP knows the user's
+ mailbox is on another host and indicates the correct
+ forward-path to use. Note that either the host or user or
+ both may be different. The receiver refuses to accept mail
+ for this user, and the sender must either redirect the mail
+ according to the information provided or return an error
+ response to the originating user.
+
+ Example 2 illustrates the use of these responses.
+
+ -------------------------------------------------------------
+
+ Example of Forwarding
+
+ Either
+
+ S: RCPT TO:<Postel@ISI>
+ R: 251 User not local; will forward to <Postel@ISIF>
+
+ Or
+
+ S: RCPT TO:<Paul@ISIB>
+ R: 551 User not local; please try <Mockapetris@ISIF>
+
+ Example 2
+
+ -------------------------------------------------------------
+
+
+
+
+Postel [Page 7]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ 3.3. VERIFYING AND EXPANDING
+
+ SMTP provides as additional features, commands to verify a user
+ name or expand a mailing list. This is done with the VRFY and
+ EXPN commands, which have a character string arguments. For the
+ VRFY command, the string is a user name, and the the response may
+ include the full name of the user and must include the mailbox of
+ the user. For the EXPN command, the string identifies a mailing
+ list, and the multiline response may include the full name of the
+ users and must give the mailboxes on the mailing list.
+
+ The case of verifying a user name is straightforward as shown in
+ example 3.
+
+ -------------------------------------------------------------
+
+ Example of Verifying a User Name
+
+ Either
+
+ S: VRFY Postel
+ R: 250 Jon Postel <Postel@ISIF>
+
+ Or
+
+ S: VRFY Jones
+ R: 550 String does not match anything.
+
+ Example 3
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 8] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ The case of expanding a mailbox list requires a multiline reply as
+ shown in example 4.
+
+ -------------------------------------------------------------
+
+ Example of Expanding a Mailing List
+
+ Either
+
+ S: EXPN Example-People
+ R: 250-Jon Postel <Postel@ISIF>
+ R: 250-Fred Fonebone <Fonebone@ISIQ>
+ R: 250-Sam Q. Smith <SQSmith@ISIQ>
+ R: 250-Quincy Smith <@ISIF,Q-Smith@ISI-VAXA>
+ R: 250-<joe@foo-unix>
+ R: 250 <xyz@bar-unix>
+
+ Or
+
+ S: EXPN Executive-Washroom-List
+ R: 550 Access Denied to You.
+
+ Example 4
+
+ -------------------------------------------------------------
+
+ The character string arguments of the VRFY and EXPN commands
+ cannot be further restricted due to the variety of implementations
+ of the user name and mailbox list concepts. On some systems it
+ may be appropriate for the argument of the EXPN command to be a
+ file name for a file containing a mailing list, but again there is
+ a variety of file naming conventions in the internet.
+
+ The VRFY and EXPN commands are not included in the minimum
+ implementation (Section 4.5.1), and are not required to work
+ across relays when they are implemented.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 9]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ 3.4. SENDING AND MAILING
+
+ The main purpose of SMTP is to deliver messages to user's
+ mailboxes. A very similar service provided by some hosts is to
+ deliver messages to user's terminals (provided the user is active
+ on the host). The delivery to the user's mailbox is called
+ "mailing", the delivery to the user's terminal is called
+ "sending". Because in many hosts the implementation of sending is
+ nearly identical to the implementation of mailing these two
+ functions are combined in SMTP. However the sending commands are
+ not included in the required minimum implementation
+ (Section 4.5.1). User's should have the ability to control the
+ writing of messages on their terminals. Most hosts permit the
+ user's to accept or refuse such messages.
+
+ The following three command are defined to support the sending
+ options, these are used in the mail transaction instead of the
+ MAIL command and inform the receiver-SMTP of the special semantics
+ of this transaction:
+
+ SEND <SP> FROM:<reverse-path> <CRLF>
+
+ The SEND command requires that the mail data be delivered to
+ the user's terminal. If the user is not active (or not
+ accepting terminal messages) on the host a 450 reply may
+ returned to a RCPT command. The mail transaction is
+ successful if the message is delivered the terminal.
+
+ SOML <SP> FROM:<reverse-path> <CRLF>
+
+ The Send Or MaiL command requires that the mail data be
+ delivered to the user's terminal if the user is active (and
+ accepting terminal messages) on the host. If the user is
+ not active (or not accepting terminal messages) then the
+ mail data is entered into the user's mailbox. The mail
+ transaction is successful if the message is delivered either
+ to the terminal or the mailbox.
+
+ SAML <SP> FROM:<reverse-path> <CRLF>
+
+ The Send And MaiL command requires that the mail data be
+ delivered to the user's terminal if the user is active (and
+ accepting terminal messages) on the host. In any case the
+ mail data is entered into the user's mailbox. The mail
+ transaction is successful if the message is delivered the
+ mailbox.
+
+
+
+[Page 10] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ The same reply codes that are used for the MAIL commands are used
+ for these commands.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 11]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ 3.5. OPENING AND CLOSING
+
+ At the time the transmission channel is opened there is an
+ exchange to ensure that the hosts are communicating with the hosts
+ they think they are.
+
+ The following two commands are used in transmission channel
+ opening and closing:
+
+ HELO <SP> <host> <CRLF>
+
+ QUIT <CRLF>
+
+ In the HELO command the host sending the command identifies
+ itself; the command may be interpreted as saying "Hello, i am
+ <host>".
+
+ -------------------------------------------------------------
+
+ Example of Connection Opening
+
+ R: 220 BBN-UNIX Simple Mail Transfer Service Ready
+ S: HELO USC-ISIF
+ R: 250 BBN-UNIX
+
+ Example 5
+
+ -------------------------------------------------------------
+
+ -------------------------------------------------------------
+
+ Example of Connection Closing
+
+ S: QUIT
+ R: 221 BBN-UNIX Service closing transmission channel
+
+ Example 6
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+[Page 12] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ 3.6. RELAYING
+
+ The forward-path may be a source route of the form
+ "@ONE,@TWO,JOE@THREE", where ONE, TWO, and THREE are hosts. This
+ form is used to emphasize the distinction between an address and a
+ route. The mailbox is an absolute address, and the route is
+ information about how to get there. The two concepts should not
+ be confused.
+
+ The elements of the forward-path are moved to the reverse-path as
+ the message is relayed from one server-SMTP to another. The
+ reverse-path is a reverse source route, (i.e., a source route from
+ the current location of the message to the originator of the
+ message). When a server-SMTP deletes its identifier from the
+ forward-path and inserts it into the reverse-path, it must use the
+ name it is known by in the environment it is sending into, not the
+ environment the mail came from, in case the server-SMTP is known
+ by different names in different environments.
+
+ Using source routing the receiver-SMTP receives mail to be relayed
+ to another server-SMTP The receiver-SMTP may accept or reject the
+ task of relaying the mail in the same way it accepts or rejects
+ mail for a local user. The receiver-SMTP transforms the command
+ arguments by moving its own identifier from the forward-path to
+ the beginning of the reverse-path. The receiver-SMTP then becomes
+ a sender-SMTP, establishes a transmission channel to the next SMTP
+ in the forward-path, and sends it the mail.
+
+ The first host in the reverse-path should be the host sending the
+ SMTP commands, and the first host in the forward-path should be
+ the host receiving the SMTP commands.
+
+ Notice that the forward-path and reverse-path appear in the SMTP
+ commands and replies, but not necessarily in the message. That
+ is, there is no need for these paths and especially this syntax to
+ appear in the "To:" , "From:", "CC:", etc. fields of the message
+ header.
+
+ If a server-SMTP has accepted the task of relaying the mail and
+ later finds that the forward-path is incorrect or that the mail
+ cannot be delivered for whatever reason, then it must construct an
+ "undeliverable mail" notification message and send it to the
+ originator of the undeliverable mail (as indicated by the
+ reverse-path).
+
+
+
+
+
+Postel [Page 13]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ This notification message must be from the server-SMTP at this
+ host. Of course, server-SMTPs should not send notification
+ messages about problems with notification messages. One way to
+ prevent loops in error reporting is to specify a null reverse-path
+ in the MAIL command of a notification message. When such a
+ message is relayed it is permissible to leave the reverse-path
+ null. A MAIL command with a null reverse-path appears as follows:
+
+ MAIL FROM:<>
+
+ An undeliverable mail notification message is shown in example 7.
+ This notification is in response to a message originated by JOE at
+ HOSTW and sent via HOSTX to HOSTY with instructions to relay it on
+ to HOSTZ. What we see in the example is the transaction between
+ HOSTY and HOSTX, which is the first step in the return of the
+ notification message.
+
+ -------------------------------------------------------------
+
+ Example Undeliverable Mail Notification Message
+
+ S: MAIL FROM:<>
+ R: 250 ok
+ S: RCPT TO:<@HOSTX,JOE@HOSTW>
+ R: 250 ok
+ S: DATA
+ R: 354 send the mail data, end with .
+ S: Date: 23 Oct 81
+ S: Sender: SMTP@HOSTY
+ S: Subject: Mail System Problem
+ S:
+ S: Sorry JOE, your message to SAM@HOSTZ lost.
+ S: HOSTZ said this:
+ S: "550 No Such User"
+ S: .
+ R: 250 ok
+
+ Example 7
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+[Page 14] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ 3.7. DOMAINS
+
+ At some not too distant future time it might be necessary to
+ expand the mailbox format to include a region or name domain
+ identifier. There is quite a bit of discussion on this at
+ present, and is likely that SMTP will be revised in the future to
+ take into account naming domains.
+
+ The examples in this document do not show mail domains.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 15]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+4. THE SMTP SPECIFICATIONS
+
+ 4.1. SMTP COMMANDS
+
+ 4.1.1. COMMAND SEMANTICS
+
+ The SMTP commands define the mail transfer or the mail system
+ function requested by the user. SMTP commands are character
+ strings terminated by <CRLF>. The command codes themselves are
+ alphabetic characters terminated by <SP> if parameters follow
+ and <CRLF> otherwise. The syntax of mailboxes must conform to
+ receiver site conventions. The SMTP commands are discussed
+ below. The SMTP replies are discussed in the Section 4.2.
+
+ A mail transaction involves several data objects which are
+ communicated as arguments to different commands. The
+ reverse-path is the argument of the MAIL command, the
+ forward-path is the argument of the RCPT command, and the mail
+ data is the argument of the DATA command. These arguments or
+ data objects must be transmitted and held pending the
+ confirmation communicated by the end of mail data indication
+ which finalizes the transaction. The model for this is that
+ distinct buffers are provided to hold the types of data
+ objects, that is, there is a reverse-path buffer, a
+ forward-path buffer, and a mail data buffer. Specific commands
+ cause information to be appended to a specific buffer, or cause
+ one or more buffers to be cleared.
+
+ HELLO (HELO)
+
+ This command is used to identify the sender-SMTP to the
+ receiver-SMTP. The argument field contains the host name of
+ the sender-SMTP.
+
+ The receiver-SMTP identifies itself to the sender-SMTP in
+ the connection greeting reply, and in the response to this
+ command.
+
+ MAIL (MAIL)
+
+ This command is used to initiate a mail transaction in which
+ the mail data is delivered to one or more mailboxes. The
+ argument field contains a reverse-path.
+
+ The reverse-path consists of an optional list of hosts and
+ the sender mailbox. When the list of hosts is present, it
+
+
+
+[Page 16] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ is a "reverse" source route and indicates that the mail was
+ relayed through each host on the list (the first host in the
+ list was the most recent relay). This list is used as a
+ source route to return non-delivery notices to the sender.
+ As each relay host adds itself to the beginning of the list,
+ it must use its name as known in the IPCE to which it is
+ relaying the mail rather than the IPCE from which the mail
+ came (if they are different). In some types of error
+ reporting messages (for example, undeliverable mail
+ notifications) the reverse-path may be null (see Example 7).
+
+ This command clears the reverse-path buffer, the
+ forward-path buffer, and the mail data buffer; and inserts
+ the reverse-path information from this command into the
+ reverse-path buffer.
+
+ RECIPIENT (RCPT)
+
+ This command is used to identify an individual recipient of
+ the mail data; multiple recipients are specified by multiple
+ use of this command.
+
+ The forward-path consists of an optional list of hosts and a
+ required destination mailbox. When the list of hosts is
+ present, it is a source route and indicates that the mail
+ must be relayed to the next host on the list. If the
+ receiver-SMTP is does not implement the relay function it
+ may user the same reply it would for an unknown local user
+ (550).
+
+ When mail is relayed, the relay host must remove itself from
+ the beginning forward-path and put itself at the beginning
+ of the reverse-path. When mail reaches its ultimate
+ destination (the forward-path contains only a destination
+ mailbox), the receiver-SMTP inserts it into the destination
+ mailbox in accordance with its host mail conventions.
+
+ For example, mail received at relay host A with arguments
+
+ FROM:<X@Y>
+ TO:<@A,@B,C@D>
+
+ will be relayed on to host B with arguments
+
+ FROM:<@A,X@Y>
+ TO:<@B,C@D>.
+
+
+
+Postel [Page 17]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ This command causes its forward-path argument to be appended
+ to the forward-path buffer.
+
+ DATA (DATA)
+
+ The receiver treats the lines following the command as mail
+ data from the sender. This command causes the mail data
+ from this command to be appended to the mail data buffer.
+ The mail data may contain any of the 128 ASCII character
+ codes.
+
+ The mail data is terminated by a line containing only a
+ period, that is the character sequence "<CRLF>.<CRLF>" (see
+ Section 4.5.2 on Transparency). This is the end of mail
+ data indication.
+
+ The end of mail data indication requires that the receiver
+ must now process the stored mail transaction information.
+ This processing consumes the information in the reverse-path
+ buffer, the forward-path buffer, and the mail data buffer,
+ and on the completion of this command these buffers are
+ cleared. If the processing is successful the receiver must
+ send an OK reply. If the processing fails completely the
+ receiver must send a failure reply.
+
+ When the receiver-SMTP accepts a message either for relaying
+ or for final delivery it inserts at the beginning of the
+ mail data a time stamp line. The time stamp line indicates
+ the identity of the host that sent the message, and the
+ identity of the host that received the message (and is
+ inserting this time stamp), and the date and time the
+ message was received. Relayed messages will have multiple
+ time stamp lines.
+
+ When the receiver-SMTP makes the "final delivery" of a
+ message it inserts at the beginning of the mail data a
+ return path line. The return path line preserves the
+ information in the <reverse-path> from the MAIL command.
+ Here, final delivery means the message leaves the SMTP
+ world. Normally, this would mean it has been delivered to
+ the destination user, but in some cases it may be further
+ processed and transmitted by another mail system.
+
+ The preceding two paragraphs imply that the final mail data
+
+
+
+
+
+[Page 18] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ will begin with a return path line, followed by one or more
+ time stamp lines. These lines will be followed by the mail
+ data header and body [2]. For example:
+
+ Return-Path: <@GHI,@DEF,@ABC,JOE@ABC>
+ Mail-From: GHI received by JKL at 27-Oct-81 15:27:39-PST
+ Mail-From: DEF received by GHI at 27-Oct-81 15:15:13-PST
+ Mail-From: ABC received by DEF at 27-Oct-81 15:01:59-PST
+ Date: 27-Oct-81 15:01:01-PST
+ From: JOE@ABC
+ Subject: Improved Mailing System Installed
+ To: SAM@JKL
+
+ This is to inform you that ...
+
+ Special mention is needed of the response and further action
+ required when the processing following the end of mail data
+ indication is partially successful. This could arise if
+ after accepting several recipients and the mail data, the
+ receiver-SMTP finds that the mail data can be successfully
+ delivered to some of the recipients, but it cannot be to
+ others (for example, due to mailbox space allocation
+ problems). In such a situation, the response to the DATA
+ command must be an OK reply. But, the receiver-SMTP must
+ compose and send an "undeliverable mail" notification
+ message to the originator of the message. Either a single
+ notification which lists all of the recipients that failed
+ to get the message, or separate notification messages must
+ be sent for each failed recipient (see Example 7). All
+ undeliverable mail notification messages are sent using the
+ MAIL command (even if they result from processing a SEND,
+ SOML, or SAML command).
+
+ SEND (SEND)
+
+ This command is used to initiate a mail transaction in which
+ the mail data is delivered to one or more terminals. The
+ argument field contains a reverse-path. This command is
+ successful if the message is delivered to the terminal.
+
+ The reverse-path consists of an optional list of hosts and
+ the sender mailbox. When the list of hosts is present, it
+ is a "reverse" source route and indicates that the mail was
+ relayed through each host on the list (the first host in the
+ list was the most recent relay). This list is used as a
+ source route to return non-delivery notices to the sender.
+
+
+
+Postel [Page 19]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ As each relay host adds itself to the beginning of the list,
+ it must use its name as known in the IPCE to which it is
+ relaying the mail rather than the IPCE from which the mail
+ came (if they are different).
+
+ This command clears the reverse-path buffer, the
+ forward-path buffer, and the mail data buffer; and inserts
+ the reverse-path information from this command into the
+ reverse-path buffer.
+
+ SEND OR MAIL (SOML)
+
+ This command is used to initiate a mail transaction in which
+ the mail data is delivered to one or more terminals or
+ mailboxes. For each recipient the mail data is delivered to
+ the recipient's terminal if the recipient is active on the
+ host (and accepting terminal messages), otherwise to the
+ recipient's mailbox. The argument field contains a
+ reverse-path. This command is successful if the message is
+ delivered to the terminal or the mailbox.
+
+ The reverse-path consists of an optional list of hosts and
+ the sender mailbox. When the list of hosts is present, it
+ is a "reverse" source route and indicates that the mail was
+ relayed through each host on the list (the first host in the
+ list was the most recent relay). This list is used as a
+ source route to return non-delivery notices to the sender.
+ As each relay host adds itself to the beginning of the list,
+ it must use its name as known in the IPCE to which it is
+ relaying the mail rather than the IPCE from which the mail
+ came (if they are different).
+
+ This command clears the reverse-path buffer, the
+ forward-path buffer, and the mail data buffer; and inserts
+ the reverse-path information from this command into the
+ reverse-path buffer.
+
+ SEND AND MAIL (SAML)
+
+ This command is used to initiate a mail transaction in which
+ the mail data is delivered to one or more terminals and
+ mailboxes. For each recipient the mail data is delivered to
+ the recipient's terminal if the recipient is active on the
+ host (and accepting terminal messages), and for all
+
+
+
+
+
+[Page 20] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ recipients to the recipient's mailbox. The argument field
+ contains a reverse-path. This command is successful if the
+ message is delivered to the mailbox.
+
+ The reverse-path consists of an optional list of hosts and
+ the sender mailbox. When the list of hosts is present, it
+ is a "reverse" source route and indicates that the mail was
+ relayed through each host on the list (the first host in the
+ list was the most recent relay). This list is used as a
+ source route to return non-delivery notices to the sender.
+ As each relay host adds itself to the beginning of the list,
+ it must use its name as known in the IPCE to which it is
+ relaying the mail rather than the IPCE from which the mail
+ came (if they are different).
+
+ This command clears the reverse-path buffer, the
+ forward-path buffer, and the mail data buffer; and inserts
+ the reverse-path information from this command into the
+ reverse-path buffer.
+
+ RESET (RSET)
+
+ This command specifies that the current mail transaction is
+ to be aborted. Any stored sender, recipients, and mail data
+ must be discarded, and all buffers and state tables cleared.
+ The receiver must send an OK reply.
+
+ VERIFY (VRFY)
+
+ This command asks the receiver to confirm that the argument
+ identifies a user. If it is a user name, the full name of
+ the user (if known) and the fully specified mailbox are
+ returned.
+
+ This command has no effect on any of the reverse-path
+ buffer, the forward-path buffer, or the mail data buffer.
+
+ EXPAND (EXPN)
+
+ This command asks the receiver to confirm that the argument
+ identifies a mailing list, and if so, to return the
+ membership of that list. The full name of the users (if
+ known) and the fully specified mailboxes are returned in a
+ multiline reply.
+
+
+
+
+
+Postel [Page 21]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ This command has no effect on any of the reverse-path
+ buffer, the forward-path buffer, or the mail data buffer.
+
+ HELP (HELP)
+
+ This command causes the receiver to send helpful information
+ to the sender of the HELP command. The command may take an
+ argument (e.g., any command name) and return more specific
+ information as a response.
+
+ This command has no effect on any of the reverse-path
+ buffer, the forward-path buffer, or the mail data buffer.
+
+ NOOP (NOOP)
+
+ This command does not affect any parameters or previously
+ entered commands. It specifies no action other than that
+ the receiver send an OK reply.
+
+ This command has no effect on any of the reverse-path
+ buffer, the forward-path buffer, or the mail data buffer.
+
+ QUIT (QUIT)
+
+ This command specifies that the receiver must send an OK
+ reply, and then close the transmission channel.
+
+ The receiver should not close the transmission channel until
+ it receives and replies to a QUIT command (even if there was
+ an error). The sender should not close the transmission
+ channel until it send a QUIT command and receives the reply
+ (even if there was an error response to a previous command).
+ If the connection is closed prematurely the receiver should
+ act as if a RSET command had been received (canceling any
+ pending transaction, but not undoing any previously
+ completed transaction), the sender should act as if the
+ command or transaction in progress had received a temporary
+ error (4xx).
+
+ There are restrictions on the order in which these command may
+ be used.
+
+ The first command in a session must be the HELO command.
+ The HELO command may be used later in a session as well.
+
+
+
+
+
+[Page 22] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ The NOOP, HELP, EXPN, and VRFY commands can be used at any
+ time during a session.
+
+ The MAIL, SEND, SOML, or SAML commands begin a mail
+ transaction. Once started a mail transaction consists of
+ one of the transaction beginning commands, one or more RCPT
+ commands, and a DATA command, in that order. A mail
+ transaction may be aborted by the RSET command. There may
+ be zero or more transactions in a session.
+
+ The last command in a session must be the QUIT command. The
+ QUIT command can not be used at any other time in a session.
+
+ 4.1.2. COMMAND SYNTAX
+
+ The commands consist of a command code followed by an argument
+ field. Command codes are four alphabetic characters. Upper
+ and lower case alphabetic characters are to be treated
+ identically. Thus, any of the following may represent the mail
+ command:
+
+ MAIL Mail mail MaIl mAIl
+
+ This also applies to any symbols representing parameter values,
+ such as "TO" or "to" for the forward-path. Command codes and
+ the argument fields are separated by one or more spaces.
+ However, within the reverse-path and forward-path arguments
+ case is important. In particular, in some hosts the user
+ "smith" is different from the user "Smith".
+
+ The argument field consists of a variable length character
+ string ending with the character sequence <CRLF>. The receiver
+ is to take no action until this sequence is received.
+
+ Square brackets denote an optional argument field. If the
+ option is not taken, the appropriate default is implied.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 23]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ The following are the SMTP commands:
+
+ HELO <SP> <host> <CRLF>
+
+ MAIL <SP> FROM:<reverse-path> <CRLF>
+
+ RCPT <SP> TO:<forward-path> <CRLF>
+
+ DATA <CRLF>
+
+ RSET <CRLF>
+
+ SEND <SP> FROM:<reverse-path> <CRLF>
+
+ SOML <SP> FROM:<reverse-path> <CRLF>
+
+ SAML <SP> FROM:<reverse-path> <CRLF>
+
+ VRFY <SP> <string> <CRLF>
+
+ EXPN <SP> <string> <CRLF>
+
+ HELP [<SP> <string>] <CRLF>
+
+ NOOP <CRLF>
+
+ QUIT <CRLF>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 24] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ The syntax of the above argument fields (using BNF notation
+ where applicable) is given below. The "..." notation indicates
+ that a field may be repeated one or more times.
+
+ <reverse-path> ::= <path>
+
+ <forward-path> ::= <path>
+
+ <path> ::= "<" ["@" <host> "," ...] <mailbox> ">"
+
+ <host> ::= <a> <string> | "#" <number> | "[" <dotnum> "]"
+
+ <mailbox> ::= <user> "@" <host>
+
+ <user> ::= <string>
+
+ <string> ::= <char> | <char> <string>
+
+ <char> ::= <c> | '\' <c> | '\' <s>
+
+ <dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>
+
+ <number> ::= <d> | <d> <number>
+
+ <snum> ::= three digits representing a decimal integer value
+ in the range 0 through 255
+
+ <a> ::= any one of the 52 alphabetic characters A through Z
+ in upper case and a through z in lower case
+
+ <c> ::= any one of the 128 ASCII characters except
+ <specials>
+
+ <d> ::= any one of the ten digits 0 through 9
+
+ <s> ::= any one of <specials>
+
+ <specials> ::= '<', '>', '(', ')', '\', ',', ';', ':', '@',
+ '"', and the control characters (ASCII codes 0 through 37
+ octal inclusive and 177 octal)
+
+ Note that the backslash, '\', is a quote character, which is
+ used to indicate that the next character is to be used
+ literally (instead of its normal interpretation). For example,
+ "Joe\,Smith" could be used to indicate a single nine character
+ user field with comma being the fourth character of the field.
+
+
+
+Postel [Page 25]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ Hosts are generally known by names which are translated to
+ addresses in each host. Sometimes a host is not known to the
+ translation function and communication is blocked. To bypass
+ this barrier two numeric forms are also allowed for host
+ "names". One form is a decimal integer prefixed by a pound
+ sign, "#", which indicates the number is the address of the
+ host. Another form is four small decimal integers separated by
+ dots and enclosed by brackets, e.g., "[123.255.37.2]", which
+ indicates a 32-bit ARPA Internet Address in four 8-bit fields.
+
+ The time stamp line and the return path line are formally
+ defined as follows:
+
+ <return-path-line> ::= "Return-Path:" <SP><reverse-path><CRLF>
+
+ <time-stamp-line> ::= "Mail-From:" <SP> <stamp> <CRLF>
+
+ <stamp> ::= [<ptcl>] <from-host> <this-host> <daytime>
+
+ <ptcl> ::= <protocol> <SP> "host" <SP>
+
+ <from-host> ::= <host> <SP>
+
+ <this-host> ::= "received by" <SP> <host> <SP>
+
+ <protocol> ::= "TCP" | "NCP" | "NITS" | "X25" | "INTERNET" |
+ "ARPANET"
+
+ Note: INTERNET = TCP, ARPANET = NCP, and if the <ptcl> is
+ not present INTERNET is assumed.
+
+ <daytime> ::= "at" <SP> <date> <SP> <time>
+
+ <date> ::= <dd> "-" <mon> "-" <yy>
+
+ <time> ::= <hh> ":" <mm> ":" <ss> "-" <zone>
+
+ <dd> ::= the one or two decimal integer day of the month in
+ the range 1 to 31.
+
+ <mon> ::= "JAN" | "FEB" | "MAR" | "APR" | "MAY" | "JUN" |
+ "JUL" | "AUG" | "SEP" | "OCT" | "NOV" | "DEC"
+
+ <yy> ::= the two decimal integer year of the century in the
+ range 01 to 99.
+
+
+
+
+[Page 26] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ <hh> ::= the two decimal integer hour of the day in the
+ range 00 to 24.
+
+ <mm> ::= the two decimal integer minute of the hour in the
+ range 00 to 59.
+
+ <ss> ::= the two decimal integer second of the minute in the
+ range 00 to 59.
+
+ <zone> ::= a time zone designator (as in [2]) or "UT" for
+ Universal Time (the default).
+
+ Return Path Example:
+
+ Return-Path: <@CHARLIE,@BAKER,JOE@ABLE>
+
+ Mail From Example:
+
+ Mail-From: ABC received by XYZ at 22-OCT-81 09:23:59-PDT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 27]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ 4.2. SMTP REPLIES
+
+ Replies to SMTP commands are devised to ensure the synchronization
+ of requests and actions in the process of mail transfer, and to
+ guarantee that the sender-SMTP always knows the state of the
+ receiver-SMTP. Every command must generate exactly one reply.
+
+ The details of the command-reply sequence are made explicit in
+ Section 5.3 on Sequencing and Section 5.4 State Diagrams.
+
+ An SMTP reply consists of a three digit number (transmitted as
+ three alphanumeric characters) followed by some text. The number
+ is intended for use by automata to determine what state to enter
+ next; the text is meant for the human user. It is intended that
+ the three digits contain enough encoded information that the
+ sender-SMTP need not examine the text and may either discard it or
+ pass it on to the user, as appropriate. In particular, the text
+ may be receiver-dependent, so there are likely to be varying texts
+ for each reply code. A discussion of the theory of reply codes is
+ given in the Appendix E. Formally, a reply is defined to be the
+ sequence: a three-digit code, <SP>, one line of text, and <CRLF>,
+ or a multiline reply (as defined in Appendix E). Only the EXPN
+ and HELP command are expected to result in multiline replies in
+ normal circumstances, however multiline replies are allowed for
+ any command.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 28] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ 4.2.1. REPLY CODES BY FUNCTION GROUPS
+
+ 500 Syntax error, command unrecognized
+ [This may include errors such as command line too long]
+ 501 Syntax error in parameters or arguments
+ 502 Command not implemented
+ 503 Bad sequence of commands
+ 504 Command parameter not implemented
+
+ 211 System status, or system help reply
+ 214 Help message
+ [Information on how to use the receiver or the meaning of a
+ particular non-standard command; this reply is useful only
+ to the human user]
+
+ 220 <host> Service ready
+ 221 <host> Service closing transmission channel
+ 421 <host> Service not available, closing transmission channel
+ [This may be a reply to any command if the service knows it
+ must shut down]
+
+ 250 Requested mail action okay, completed
+ 251 User not local; will forward to <forward-path>
+ 450 Requested mail action not taken: mailbox unavailable
+ [E.g., mailbox busy]
+ 550 Requested action not taken: mailbox unavailable
+ [E.g., mailbox not found, no access]
+ 451 Requested action aborted: error in processing
+ 551 User not local; please try <forward-path>
+ 452 Requested action not taken: insufficient system storage
+ 552 Requested mail action aborted: exceeded storage allocation
+ 553 Requested action not taken: mailbox name not allowed
+ [E.g., mailbox syntax incorrect]
+ 354 Start mail input; end with <CRLF>.<CRLF>
+ 554 Transaction failed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 29]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ 4.2.2. NUMERIC ORDER LIST OF REPLY CODES
+
+ 211 System status, or system help reply
+ 214 Help message
+ [Information on how to use the receiver or the meaning of a
+ particular non-standard command; this reply is useful only
+ to the human user]
+ 220 <host> Service ready
+ 221 <host> Service closing transmission channel
+ 250 Requested mail action okay, completed
+ 251 User not local; will forward to <forward-path>
+
+ 354 Start mail input; end with <CRLF>.<CRLF>
+
+ 421 <host> Service not available, closing transmission channel
+ [This may be a reply to any command if the service knows it
+ must shut down]
+ 450 Requested mail action not taken: mailbox unavailable
+ [E.g., mailbox busy]
+ 451 Requested action aborted: local error in processing
+ 452 Requested action not taken: insufficient system storage
+
+ 500 Syntax error, command unrecognized
+ [This may include errors such as command line too long]
+ 501 Syntax error in parameters or arguments
+ 502 Command not implemented
+ 503 Bad sequence of commands
+ 504 Command parameter not implemented
+ 550 Requested action not taken: mailbox unavailable
+ [E.g., mailbox not found, no access]
+ 551 User not local; please try <forward-path>
+ 552 Requested mail action aborted: exceeded storage allocation
+ 553 Requested action not taken: mailbox name not allowed
+ [E.g., mailbox syntax incorrect]
+ 554 Transaction failed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 30] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ 4.3. SEQUENCING OF COMMANDS AND REPLIES
+
+ The communication between the sender and receiver is intended to
+ be an alternating dialogue, controlled by the sender. As such,
+ the sender issues a command and the receiver responds with a
+ reply. The sender must wait for this response before sending
+ further commands.
+
+ One important reply is the connection greeting. Normally, a
+ receiver will send a 220 "Awaiting input" reply when the
+ connection is completed. The sender should wait for this greeting
+ message before sending any commands.
+
+ Note: all the greeting type replies have the official name of
+ the server host as the first word following the reply code.
+
+ For example,
+
+ 220 <SP> USC-ISIF <SP> Service ready <CRLF>
+
+ The table below lists alternative success and failure replies for
+ each command. These must be strictly adhered to; a receiver may
+ substitute text in the replies, but the meaning and action implied
+ by the code numbers and by the specific command reply sequence
+ cannot be altered.
+
+ COMMAND-REPLY SEQUENCES
+
+ Each command is listed with its possible replies. The prefixes
+ used before the possible replies are "P" for preliminary (not
+ used in SMTP), "I" for intermediate, "S" for success, "F" for
+ failure, and "E" for error. The 421 reply (service not
+ available, closing transmission channel) may be given to any
+ command if the SMTP-receiver knows it must shut down. This
+ listing forms the basis for the State Diagrams in Section 4.4.
+
+ CONNECTION ESTABLISHMENT
+ S: 220
+ F: 421
+ HELO
+ S: 250
+ E: 500, 501, 504, 421
+ MAIL
+ S: 250
+ F: 552, 451, 452
+ E: 500, 501, 421
+
+
+
+Postel [Page 31]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ RCPT
+ S: 250, 251
+ F: 550, 551, 552, 553, 450, 451, 452
+ E: 500, 501, 421
+ DATA
+ I: 354 -> data -> S: 250
+ F: 552, 554, 451, 452
+ F: 451, 554
+ E: 500, 501, 421
+ RSET
+ S: 250
+ E: 500, 501, 504, 421
+ SEND
+ S: 250
+ F: 552, 451, 452
+ E: 500, 501, 502, 421
+ SOML
+ S: 250
+ F: 552, 451, 452
+ E: 500, 501, 502, 421
+ SAML
+ S: 250
+ F: 552, 451, 452
+ E: 500, 501, 502, 421
+ VRFY
+ S: 250
+ F: 550
+ E: 500, 501, 502, 504, 421
+ EXPN
+ S: 250
+ F: 550
+ E: 500, 501, 502, 504, 421
+ HELP
+ S: 211, 214
+ E: 500, 501, 502, 504, 421
+ NOOP
+ S: 250
+ E: 500, 421
+ QUIT
+ S: 221
+ E: 500
+
+
+
+
+
+
+
+
+[Page 32] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ 4.4. STATE DIAGRAMS
+
+ Following are state diagrams for a simple-minded SMTP
+ implementation. Only the first digit of the reply codes is used.
+ There is one state diagram for each group of SMTP commands. The
+ command groupings were determined by constructing a model for each
+ command and then collecting together the commands with
+ structurally identical models.
+
+ For each command there are three possible outcomes: "success"
+ (S), "failure" (F), and "error" (E). In the state diagrams below
+ we use the symbol B for "begin", and the symbol W for "wait for
+ reply".
+
+ First, the diagram that represents most of the SMTP commands:
+
+
+ 1,3 +---+
+ ----------->| E |
+ | +---+
+ |
+ +---+ cmd +---+ 2 +---+
+ | B |---------->| W |---------->| S |
+ +---+ +---+ +---+
+ |
+ | 4,5 +---+
+ ----------->| F |
+ +---+
+
+
+ This diagram models the commands:
+
+ HELO, MAIL, RCPT, RSET, SEND, SOML, SAML, VRFY, EXPN, HELP,
+ NOOP, QUIT.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 33]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ A more complex diagram models the DATA command:
+
+
+ +---+ DATA +---+ 1,2 +---+
+ | B |---------->| W |-------------------->| E |
+ +---+ +---+ ------------>+---+
+ 3| |4,5 |
+ | | |
+ -------------- ----- |
+ | | | +---+
+ | ---------- -------->| S |
+ | | | | +---+
+ | | ------------
+ | | | |
+ V 1,3| |2 |
+ +---+ data +---+ --------------->+---+
+ | |---------->| W | | F |
+ +---+ +---+-------------------->+---+
+ 4,5
+
+
+ Note that the "data" here is a series of lines sent from the
+ sender to the receiver with no response expected until the last
+ line is sent.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 34] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ 4.5. DETAILS
+
+ 4.5.1. MINIMUM IMPLEMENTATION
+
+ In order to make SMTP workable, the following minimum
+ implementation is required for all receivers:
+
+ COMMANDS -- HELO
+ MAIL
+ RCPT
+ DATA
+ RSET
+ NOOP
+ QUIT
+
+ 4.5.2. TRANSPARENCY
+
+ Without some provision for data transparency the character
+ sequence "<CRLF>.<CRLF>" ends the the mail text and cannot be
+ sent by the user. In general, users are not aware of such
+ "forbidden" sequences. To allow all user composed text to be
+ transmitted transparently the following procedures are used.
+
+ 1. Before sending a line of mail text the sender-SMTP checks
+ the first character of the line. If it is a period, one
+ additional period is inserted at the beginning of the line.
+
+ 2. When a line of mail text is received by the receiver-SMTP
+ it checks the the line. If the line is composed of a single
+ period it is the end of mail. If the first character is a
+ period and there are other characters on the line, the first
+ character is deleted.
+
+ The mail data may contain any of the 128 ASCII characters. All
+ characters are to be delivered to the recipients mailbox
+ including format effectors and other control characters. The
+ 7-bit ASCII codes are transmitted right justified in 8-bit
+ bytes (octets) with the high order bits cleared to zero.
+
+ In some systems it may be necessary to transform the data as
+ it is received and stored. This may be necessary for hosts
+ that use a different character set than ASCII as their local
+ character set, or that store data in records rather than
+ strings. If such transforms are necessary, they must be
+ reversible -- especially if such transforms are applied to
+ mail being relayed.
+
+
+
+Postel [Page 35]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ 4.5.3. SIZES
+
+ There are several objects that have required minimum maximum
+ sizes. That is every implementation must be able to receive
+ objects of at least these sizes, but must not send objects
+ larger than these sizes.
+
+
+ ****************************************************
+ * *
+ * TO THE MAXIMUM EXTENT POSSIBLE, IMPLEMENTATION *
+ * TECHNIQUES WHICH IMPOSE NO LIMITS ON THE LENGTH *
+ * OF THESE OBJECTS SHOULD BE USED. *
+ * *
+ ****************************************************
+
+ user
+
+ The maximum total length of a user name is 64 characters.
+
+ host
+
+ The maximum total length of a host name or number is 40
+ characters.
+
+ path
+
+ The maximum total length of a reverse-path or
+ forward-path is 256 characters (including the punctuation
+ and element separators).
+
+ command line
+
+ The maximum total length of a command line including the
+ command word and the <CRLF> is 512 characters.
+
+ reply line
+
+ The maximum total length of a reply line including the
+ reply code and the <CRLF> is 512 characters.
+
+ text line
+
+ The maximum total length of a text line including the
+ <CRLF> is 1000 characters (but not counting the leading
+ dot duplicated for transparency).
+
+
+
+[Page 36] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ recipients buffer
+
+ The maximum total number of recipients that must be
+ buffered is 100 recipients.
+
+
+ ****************************************************
+ * *
+ * TO THE MAXIMUM EXTENT POSSIBLE, IMPLEMENTATION *
+ * TECHNIQUES WHICH IMPOSE NO LIMITS ON THE LENGTH *
+ * OF THESE OBJECTS SHOULD BE USED. *
+ * *
+ ****************************************************
+
+ Errors due to exceeding these limits may be reported by using
+ the reply codes, for example:
+
+ 500 Line too long.
+
+ 501 Path too long
+
+ 552 Too many recipients.
+
+ 552 Too much mail data.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 37]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+APPENDIX A
+
+ TCP Transport service
+
+ The Transmission Control Protocol [3] is used in the ARPA
+ Internet, and in any network following the US DoD standards for
+ internetwork protocols.
+
+ Connection Establishment
+
+ The SMTP transmission channel is a TCP connection established
+ between the sender process port U and the receiver process port
+ L. This single full duplex connection is used as the
+ transmission channel. This protocol is assigned the service
+ port 25 (31 octal), that is L=25.
+
+ Data Transfer
+
+ The TCP connection supports the transmission of 8-bit bytes.
+ The SMTP data is 7-bit ASCII characters. Each character is
+ transmitted as a 8-bit byte with the high-order bit cleared to
+ zero.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 38] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+APPENDIX B
+
+ NCP Transport service
+
+ The ARPANET Host-to-Host Protocol [4] (implemented by the Network
+ Control Program) may be used in the ARPANET.
+
+ Connection Establishment
+
+ The SMTP transmission channel is established via NCP between
+ the the sender process socket U and receiver process socket L.
+ The Initial Connection Protocol [5] is followed resulting in a
+ pair of simplex connections. This pair of connections is used
+ as the transmission channel. This protocol is assigned the
+ contact socket 25 (31 octal), that is L=25.
+
+ Data Transfer
+
+ The NCP data connections are established in 8-bit byte mode.
+ The SMTP data is 7-bit ASCII characters. Each character is
+ transmitted as a 8-bit byte with the high-order bit cleared to
+ zero.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 39]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+APPENDIX C
+
+ NITS
+
+ The Network Independent Transport Service [6] may be used.
+
+ Connection Establishment
+
+ The SMTP transmission channel is established via NITS between
+ the sender process and receiver process. The sender process
+ executes the CONNECT primitive, and the waiting receiver
+ process executes the ACCEPT primitive.
+
+ Data Transfer
+
+ The NITS connection supports the transmission of 8-bit bytes.
+ The SMTP data is 7-bit ASCII characters. Each character is
+ transmitted as a 8-bit byte with the high-order bit cleared to
+ zero.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 40] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+APPENDIX D
+
+ X.25 Transport service
+
+ It may be possible to use the X.25 service [7] as provided by the
+ Public Data Networks directly, but there are indications that it
+ is too error prone to qualify as a reliable channel. It is
+ suggested that a reliable end-to-end protocol such as TCP be used
+ on top of X.25 connections.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 41]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+APPENDIX E
+
+ Theory of Reply Codes
+
+ The three digits of the reply each have a special significance.
+ The first digit denotes whether the response is good, bad or
+ incomplete. An unsophisticated sender-SMTP will be able to
+ determine its next action (proceed as planned, redo, retrench,
+ etc.) by simply examining this first digit. A sender-SMTP that
+ wants to know approximately what kind of error occurred (e.g.,
+ mail system error, command syntax error) may examine the second
+ digit, reserving the third digit for the finest gradation of
+ information.
+
+ There are five values for the first digit of the reply code:
+
+ 1yz Positive Preliminary reply
+
+ The command has been accepted, but the requested action
+ is being held in abeyance, pending confirmation of the
+ information in this reply. The sender-SMTP should send
+ another command specifying whether to continue or abort
+ the action.
+
+ [Note: SMTP does not have any commands that allow this
+ type of reply, and so does not have the continue or
+ abort commands.]
+
+ 2yz Positive Completion reply
+
+ The requested action has been successfully completed. A
+ new request may be initiated.
+
+ 3yz Positive Intermediate reply
+
+ The command has been accepted, but the requested action
+ is being held in abeyance, pending receipt of further
+ information. The sender-SMTP should send another command
+ specifying this information. This reply is used in
+ command sequence groups.
+
+ 4yz Transient Negative Completion reply
+
+ The command was not accepted and the requested action did
+ not occur. However, the error condition is temporary and
+ the action may be requested again. The sender should
+
+
+
+[Page 42] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ return to the beginning of the command sequence (if any).
+ It is difficult to assign a meaning to "transient" when
+ two different sites (receiver- and sender- SMTPs) must
+ agree on the interpretation. Each reply in this category
+ might have a different time value, but the sender-SMTP is
+ encouraged to try again. A rule of thumb to determine if
+ a reply fits into the 4yz or the 5yz category (see below)
+ is that replies are 4yz if they can be repeated without
+ any change in command form or in properties of the sender
+ or receiver. (E.g., the command is repeated identically
+ and the receiver does not put up a new implementation.)
+
+ 5yz Permanent Negative Completion reply
+
+ The command was not accepted and the requested action did
+ not occur. The sender-SMTP is discouraged from repeating
+ the exact request (in the same sequence). Even some
+ "permanent" error conditions can be corrected, so the
+ human user may want to direct the sender-SMTP to
+ reinitiate the command sequence by direct action at some
+ point in the future (e.g., after the spelling has been
+ changed, or the user has altered the account status).
+
+ The second digit encodes responses in specific categories:
+
+ x0z Syntax -- These replies refer to syntax errors,
+ syntactically correct commands that don't fit any
+ functional category, and unimplemented or superfluous
+ commands.
+
+ x1z Information -- These are replies to requests for
+ information, such as status or help.
+
+ x2z Connections -- These are replies referring to the
+ transmission channel.
+
+ x3z Unspecified as yet.
+
+ x4z Unspecified as yet.
+
+ x5z Mail system -- These replies indicate the status of
+ the receiver mail system vis-a-vis the requested
+ transfer or other mail system action.
+
+ The third digit gives a finer gradation of meaning in each
+ category specified by the second digit. The list of replies
+
+
+
+Postel [Page 43]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ illustrates this. Each reply text is recommended rather than
+ mandatory, and may even change according to the command with
+ which it is associated. On the other hand, the reply codes
+ must strictly follow the specifications in this section.
+ Receiver implementations should not invent new codes for
+ slightly different situations from the ones described here, but
+ rather adapt codes already defined.
+
+ For example, a command such as NOOP whose successful execution
+ does not offer the sender-SMTP any new information will return
+ a 250 reply. The response is 502 when the command requests an
+ unimplemented non-site-specific action. A refinement of that
+ is the 504 reply for a command that is implemented, but that
+ requests an unimplemented parameter.
+
+ The reply text may be longer than a single line; in these cases
+ the complete text must be marked so the sender-SMTP knows when it
+ can stop reading the reply. This requires a special format to
+ indicate a multiple line reply.
+
+ The format for multi-line replies requires that every line,
+ except the last, begin with the reply code, followed
+ immediately by a hyphen, "-" (also known as minus), followed by
+ text. The last line will begin with the reply code, followed
+ immediately by <SP>, optionally some text, and <CRLF>.
+
+ For example:
+ 123-First line
+ 123-Second line
+ 123-234 text beginning with numbers
+ 123 The last line
+
+ The sender-SMTP then simply needs to search for the reply code
+ followed by <SP> at the beginning of a line, and ignore all
+ preceding lines.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 44] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+APPENDIX F
+
+ Scenarios
+
+ This section presents complete scenarios of several types of SMTP
+ sessions.
+
+ A Typical SMTP Transaction Scenario
+
+ This SMTP example shows mail sent by Smith at host USC-ISIF, to
+ Jones, Green, and Brown at host BBN-UNIX. Here we assume that
+ host USC-ISIF contacts host BBN-UNIX directly. The mail is
+ accepted for Jones and Brown. Green does not have a mailbox at
+ host BBN-UNIX.
+
+ -------------------------------------------------------------
+
+ R: 220 BBN-UNIX Simple Mail Transfer Service Ready
+ S: HELO USC-ISIF
+ R: 250 BBN-UNIX
+
+ S: MAIL FROM:<Smith@USC-ISIF>
+ R: 250 OK
+
+ S: RCPT TO:<Jones@BBN-UNIX>
+ R: 250 OK
+
+ S: RCPT TO:<Green@BBN-UNIX>
+ R: 550 No such user here
+
+ S: RCPT TO:<Brown@BBN-UNIX>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 BBN-UNIX Service closing transmission channel
+
+ Scenario 1
+
+ -------------------------------------------------------------
+
+
+
+Postel [Page 45]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ Aborted SMTP Transaction Scenario
+
+ -------------------------------------------------------------
+
+ R: 220 MIT-Multics Simple Mail Transfer Service Ready
+ S: HELO ISI-VAXA
+ R: 250 MIT-Multics
+
+ S: MAIL FROM:<Smith@ISI-VAXA>
+ R: 250 OK
+
+ S: RCPT TO:<Jones@MIT-Multics>
+ R: 250 OK
+
+ S: RCPT TO:<Green@MIT-Multics>
+ R: 550 No such user here
+
+ S: RSET
+ R: 250 OK
+
+ S: QUIT
+ R: 221 MIT-Multics Service closing transmission channel
+
+ Scenario 2
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 46] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ Relayed Mail Scenario
+
+ -------------------------------------------------------------
+
+ Step 1 -- Source Host to Relay Host
+
+ R: 220 USC-ISIE Simple Mail Transfer Service Ready
+ S: HELO MIT-AI
+ R: 250 USC-ISIE
+
+ S: MAIL FROM:<JQP@MIT-AI>
+ R: 250 OK
+
+ S: RCPT TO:<@ISIE,Jones@BBN-VAX>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Date: 2-Nov-81 22:33:44
+ S: From: John Q. Public <JQP at MIT-AI>
+ S: Subject: The Next Meeting of the Board
+ S: To: Jones at BBN-Vax
+ S:
+ S: Bill:
+ S: The next meeting of the board of directors will be
+ S: on Tuesday.
+ S: John.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 USC-ISIE Service closing transmission channel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 47]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ Step 2 -- Relay Host to Destination Host
+
+ R: 220 BBN-VAX Simple Mail Transfer Service Ready
+ S: HELO USC-ISIE
+ R: 250 BBN-VAX
+
+ S: MAIL FROM:<@ISIE,JQP@MIT-AI>
+ R: 250 OK
+
+ S: RCPT TO:<Jones@BBN-VAX>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Mail-From: NCP host MIT-AI received by USC-ISIE at
+ 2-Nov-81 22:40:10
+ S: Date: 2-Nov-81 22:33:44
+ S: From: John Q. Public <JQP at MIT-AI>
+ S: Subject: The Next Meeting of the Board
+ S: To: Jones at BBN-Vax
+ S:
+ S: Bill:
+ S: The next meeting of the board of directors will be
+ S: on Tuesday.
+ S: John.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 USC-ISIE Service closing transmission channel
+
+ Scenario 3
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 48] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ Verifying and Sending Scenario
+
+ -------------------------------------------------------------
+
+ R: 220 SU-SCORE Simple Mail Transfer Service Ready
+ S: HELO MIT-MC
+ R: 250 SU-SCORE
+
+ S: VRFY Crispin
+ R: 250 Mark Crispin <Admin.MRC@SU-SCORE>
+
+ S: SEND FROM:<EAK@MIT-MC>
+ R: 250 OK
+
+ S: RCPT TO:<Admin.MRC@SU-SCORE>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 SU-SCORE Service closing transmission channel
+
+ Scenario 4
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 49]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ Sending and Mailing Scenarios
+
+ First the user's name is verified, then an attempt is made to
+ send to the user's terminal. When that fails, the messages is
+ mailed to the user's mailbox.
+
+ -------------------------------------------------------------
+
+ R: 220 SU-SCORE Simple Mail Transfer Service Ready
+ S: HELO MIT-MC
+ R: 250 SU-SCORE
+
+ S: VRFY Crispin
+ R: 250 Mark Crispin <Admin.MRC@SU-SCORE>
+
+ S: SEND FROM:<EAK@MIT-MC>
+ R: 250 OK
+
+ S: RCPT TO:<Admin.MRC@SU-SCORE>
+ R: 450 User not active now
+
+ S: RSET
+ R: 250 OK
+
+ S: MAIL FROM:<EAK@MIT-MC>
+ R: 250 OK
+
+ S: RCPT TO:<Admin.MRC@SU-SCORE>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 SU-SCORE Service closing transmission channel
+
+ Scenario 5
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+[Page 50] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ Doing the preceding scenario more efficiently.
+
+ -------------------------------------------------------------
+
+ R: 220 SU-SCORE Simple Mail Transfer Service Ready
+ S: HELO MIT-MC
+ R: 250 SU-SCORE
+
+ S: VRFY Crispin
+ R: 250 Mark Crispin <Admin.MRC@SU-SCORE>
+
+ S: SOML FROM:<EAK@MIT-MC>
+ R: 250 OK
+
+ S: RCPT TO:<Admin.MRC@SU-SCORE>
+ R: 250 User not active now, so will do mail.
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 SU-SCORE Service closing transmission channel
+
+ Scenario 6
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 51]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ Mailing List Scenario
+
+ First each of two mailing lists are expanded in separate sessions
+ with different hosts. Then the message is sent to everyone that
+ appeared on either list (but no duplicates) via a relay host.
+
+ -------------------------------------------------------------
+
+ Step 1 -- Expanding the First List
+
+ R: 220 MIT-AI Simple Mail Transfer Service Ready
+ S: HELO SU-SCORE
+ R: 250 MIT-AI
+
+ S: EXPN Example-People
+ R: 250-<ABC@MIT-MC>
+ R: 250-Fred Fonebone <Fonebone@ISIQ>
+ R: 250-Xenon Y. Zither <XYZ@MIT-AI>
+ R: 250-Quincy Smith <@ISIF,Q-Smith@ISI-VAXA>
+ R: 250-<joe@foo-unix>
+ R: 250 <xyz@bar-unix>
+
+ S: QUIT
+ R: 221 MIT-AI Service closing transmission channel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 52] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ Step 2 -- Expanding the Second List
+
+ R: 220 MIT-MC Simple Mail Transfer Service Ready
+ S: HELO SU-SCORE
+ R: 250 MIT-MC
+
+ S: EXPN Interested-Parties
+ R: 250-Al Calico <ABC@MIT-MC>
+ R: 250-<XYZ@MIT-AI>
+ R: 250-Quincy Smith <@ISIF,Q-Smith@ISI-VAXA>
+ R: 250-<fred@BBN-UNIX>
+ R: 250 <xyz@bar-unix>
+
+ S: QUIT
+ R: 221 MIT-MC Service closing transmission channel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 53]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ Step 3 -- Mailing to All via a Relay Host
+
+ R: 220 USC-ISIE Simple Mail Transfer Service Ready
+ S: HELO SU-SCORE
+ R: 250 USC-ISIE
+
+ S: MAIL FROM:<Account.Person@SU-SCORE>
+ R: 250 OK
+ S: RCPT TO:<@ISIE,ABC@MIT-MC>
+ R: 250 OK
+ S: RCPT TO:<@ISIE,Fonebone@ISIQ>
+ R: 250 OK
+ S: RCPT TO:<@ISIE,XYZ@MIT-AI>
+ R: 250 OK
+ S: RCPT TO:<@ISIE,@ISIF,Q-Smith@ISI-VAXA>
+ R: 250 OK
+ S: RCPT TO:<@ISIE,joe@FOO-UNIX>
+ R: 250 OK
+ S: RCPT TO:<@ISIE,xyz@BAR-UNIX>
+ R: 250 OK
+ S: RCPT TO:<@ISIE,fred@BBN-UNIX>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 USC-ISIE Service closing transmission channel
+
+ Scenario 7
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 54] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ Forwarding Scenarios
+
+ -------------------------------------------------------------
+
+ R: 220 USC-ISIF Simple Mail Transfer Service Ready
+ S: HELO LBL-UNIX
+ R: 250 USC-ISIF
+
+ S: MAIL FROM:<mo@LBL-UNIX>
+ R: 250 OK
+
+ S: RCPT TO:<fred@USC-ISIF>
+ R: 251 User not local; will forward to <Jones@USC-ISIA>
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 USC-ISIF Service closing transmission channel
+
+ Scenario 8
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Postel [Page 55]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ -------------------------------------------------------------
+
+ Step 1 -- Trying the Mailbox at the First Host
+
+ R: 220 USC-ISIF Simple Mail Transfer Service Ready
+ S: HELO LBL-UNIX
+ R: 250 USC-ISIF
+
+ S: MAIL FROM:<mo@LBL-UNIX>
+ R: 250 OK
+
+ S: RCPT TO:<fred@USC-ISIF>
+ R: 251 User not local; will forward to <Jones@USC-ISIA>
+
+ S: RSET
+ R: 250 OK
+
+ S: QUIT
+ R: 221 USC-ISIF Service closing transmission channel
+
+ Step 2 -- Delivering the Mail at the Second Host
+
+ R: 220 USC-ISIA Simple Mail Transfer Service Ready
+ S: HELO LBL-UNIX
+ R: 250 USC-ISIA
+
+ S: MAIL FROM:<mo@LBL-UNIX>
+ R: 250 OK
+
+ S: RCPT TO:<Jones@USC-ISIA>
+ R: OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 USC-ISIA Service closing transmission channel
+
+ Scenario 9
+
+ -------------------------------------------------------------
+
+
+
+
+[Page 56] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ Too Many Recipients Scenario
+
+ -------------------------------------------------------------
+
+ R: 220 BERKELEY Simple Mail Transfer Service Ready
+ S: HELO USC-ISIF
+ R: 250 BERKELEY
+
+ S: MAIL FROM:<Postel@USC-ISIF>
+ R: 250 OK
+
+ S: RCPT TO:<fabry@BERKELEY>
+ R: 250 OK
+
+ S: RCPT TO:<eric@BERKELEY>
+ R: 552 Recipient storage full, try again in another transaction
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: MAIL FROM:<Postel@USC-ISIF>
+ R: 250 OK
+
+ S: RCPT TO:<eric@BERKELEY>
+ R: 250 OK
+
+ S: DATA
+ R: 354 Start mail input; end with <CRLF>.<CRLF>
+ S: Blah blah blah...
+ S: ...etc. etc. etc.
+ S: .
+ R: 250 OK
+
+ S: QUIT
+ R: 221 BERKELEY Service closing transmission channel
+
+ Scenario 10
+
+ -------------------------------------------------------------
+
+
+
+
+
+
+Postel [Page 57]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+GLOSSARY
+
+ ASCII
+
+ American Standard Code for Information Interchange [1].
+
+ command
+
+ A request for a mail service action sent by the sender-SMTP to the
+ receiver-SMTP.
+
+ end of mail data indication
+
+ A special sequence of characters that indicates the end of the
+ mail data. In particular, the five characters carriage return,
+ line feed, period, carriage return, line feed, in that order.
+
+ host
+
+ A computer in the internetwork environment on which mailboxes or
+ SMTP processes reside.
+
+ line
+
+ A line of text ending with a <CRLF>.
+
+ mail data
+
+ A sequence of ASCII characters of arbitrary length, which conforms
+ to the standard set in the Standard for the Format of ARPA Network
+ Text Messages (RFC 733 [2]).
+
+ mailbox
+
+ A character string (address) which identifies a user to whom mail
+ is to be sent. Mailbox normally consists of the host and user
+ specifications. The standard mailbox naming convention is defined
+ to be "user@host". Additionally, the "container" in which mail is
+ stored.
+
+ receiver-SMTP process
+
+ A process which transfers mail in cooperation with a sender-SMTP
+ process. It waits for a connection to be established via the
+ transport service. It receives SMTP commands from the
+ sender-SMTP, sends replies, and performs the specified operations.
+
+
+
+[Page 58] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+ reply
+
+ A reply is an acknowledgment (positive or negative) sent from
+ receiver to sender via the transmission channel in response to a
+ SMTP command. The general form of a reply is a completion code
+ (including error codes) followed by a text string. The codes are
+ for use by programs and the text is usually intended for human
+ users.
+
+ sender-SMTP process
+
+ A process which transfers mail in cooperation with a receiver-SMTP
+ process. A local language may be used in the user interface
+ command/reply dialogue. The sender-SMTP initiates the transport
+ service connection. It initiates SMTP commands, receives replies,
+ and governs the transfer of mail.
+
+ session
+
+ The set of exchanges that occur while the transmission channel is
+ open.
+
+ transaction
+
+ The set of exchanges required for one message to be transmitted
+ for one or more recipients.
+
+ transmission channel
+
+ A full-duplex communication path between a sender-SMTP and a
+ receiver-SMTP for the exchange of commands, replies, and mail
+ text.
+
+ transport service
+
+ Any reliable stream-oriented data communication services. For
+ example, NCP, TCP, NITS.
+
+ user
+
+ A human being (or a process on behalf of a human being) wishing to
+ obtain mail transfer service. In addition, a recipient of
+ computer mail.
+
+
+
+
+
+
+Postel [Page 59]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ word
+
+ A sequence of printing characters.
+
+ <CRLF>
+
+ The characters carriage return and line feed (in that order).
+
+ <SP>
+
+ The space character.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 60] Postel
+
+
+
+RFC 788 November 1981
+ Simple Mail Transfer Protocol
+
+
+
+REFERENCES
+
+ [1] ASCII
+
+ ASCII, "USA Code for Information Interchange", United States of
+ America Standards Institute, X3.4, 1968. Also in: Feinler, E.
+ and J. Postel, eds., "ARPANET Protocol Handbook", NIC 7104, for
+ the Defense Communications Agency by SRI International, Menlo
+ Park, California, Revised January 1978.
+
+ [2] RFC 733
+
+ Crocker, D., J. Vittal, K. Pogran, and D. Henderson, "Standard for
+ the Format of ARPA Network Text Messages," RFC 733, NIC 41952,
+ November 1977. Also in: Feinler, E. and J. Postel, eds.,
+ "ARPANET Protocol Handbook", NIC 7104, for the Defense
+ Communications Agency by SRI International, Menlo Park,
+ California, Revised January 1978.
+
+ [3] TCP
+
+ Postel, J., ed., "Transmission Control Protocol - DARPA Internet
+ Program Protocol Specification", RFC 793, USC/Information Sciences
+ Institute, September 1981.
+
+ [4] NCP
+
+ McKenzie,A., "Host/Host Protocol for the ARPA Network", NIC 8246,
+ January 1972. Also in: Feinler, E. and J. Postel, eds., "ARPANET
+ Protocol Handbook", NIC 7104, for the Defense Communications
+ Agency by SRI International, Menlo Park, California, Revised
+ January 1978.
+
+ [5] Initial Connection Protocol
+
+ Postel, J., "Official Initial Connection Protocol", NIC 7101,
+ 11 June 1971. Also in: Feinler, E. and J. Postel, eds., "ARPANET
+ Protocol Handbook", NIC 7104, for the Defense Communications
+ Agency by SRI International, Menlo Park, California, Revised
+ January 1978.
+
+ [6] NITS
+
+ PSS/SG3, "A Network Independent Transport Service", Study Group 3,
+ The Post Office PSS Users Group, February 1980. Available from
+ the DCPU, National Physical Laboratory, Teddington, UK.
+
+
+
+Postel [Page 61]
+
+
+
+November 1981 RFC 788
+Simple Mail Transfer Protocol
+
+
+
+ [7] X.25
+
+ CCITT, "Recommendation X.25 - Interface Between Data Terminal
+ Equipment (DTE) and Data Circuit-terminating Equipment (DCE) for
+ Terminals Operating in the Packet Mode on Public Data Networks,"
+ CCITT Orange Book, Vol. VIII.2, International Telephone and
+ Telegraph Consultative Committee, Geneva, 1976.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[Page 62] Postel
+
diff --git a/Documentation/en/rfc/rfc882.txt b/Documentation/en/rfc/rfc882.txt
new file mode 100644
index 00000000..9da22a9e
--- /dev/null
+++ b/Documentation/en/rfc/rfc882.txt
@@ -0,0 +1,1798 @@
+
+Network Working Group P. Mockapetris
+Request for Comments: 882 ISI
+ November 1983
+
+ DOMAIN NAMES - CONCEPTS and FACILITIES
+
+ +-----------------------------------------------------+
+ | |
+ | This RFC introduces domain style names, their use |
+ | for ARPA Internet mail and host address support, |
+ | and the protocols and servers used to implement |
+ | domain name facilities. |
+ | |
+ | This memo describes the conceptual framework of the |
+ | domain system and some uses, but it omits many |
+ | uses, fields, and implementation details. A |
+ | complete specification of formats, timeouts, etc. |
+ | is presented in RFC 883, "Domain Names - |
+ | Implementation and Specification". That RFC |
+ | assumes that the reader is familiar with the |
+ | concepts discussed in this memo. |
+ | |
+ +-----------------------------------------------------+
+
+INTRODUCTION
+
+ The need for domain names
+
+ As applications grow to span multiple hosts, then networks, and
+ finally internets, these applications must also span multiple
+ administrative boundaries and related methods of operation
+ (protocols, data formats, etc). The number of resources (for
+ example mailboxes), the number of locations for resources, and the
+ diversity of such an environment cause formidable problems when we
+ wish to create consistent methods for referencing particular
+ resources that are similar but scattered throughout the
+ environment.
+
+ The ARPA Internet illustrates the size-related problems; it is a
+ large system and is likely to grow much larger. The need to have
+ a mapping between host names (e.g., USC-ISIF) and ARPA Internet
+ addresses (e.g., 10.2.0.52) is beginning to stress the existing
+ mechanisms. Currently hosts in the ARPA Internet are registered
+ with the Network Information Center (NIC) and listed in a global
+ table (available as the file <NETINFO>HOSTS.TXT on the SRI-NIC
+ host) [1]. The size of this table, and especially the frequency
+ of updates to the table are near the limit of manageability. What
+ is needed is a distributed database that performs the same
+ function, and hence avoids the problems caused by a centralized
+ database.
+
+ The problem for computer mail is more severe. While mail system
+ implementers long ago recognized the impossibility of centralizing
+
+
+Mockapetris [Page 1]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ mailbox names, they have also created an increasingly large and
+ irregular set of methods for identifying the location of a
+ mailbox. Some of these methods involve the use of routes and
+ forwarding hosts as part of the mail destination address, and
+ consequently force the mail user to know multiple address formats,
+ the capabilities of various forwarders, and ad hoc tricks for
+ passing address specifications through intermediaries.
+
+ These problems have common characteristics that suggest the nature
+ of any solution:
+
+ The basic need is for a consistent name space which will be
+ used for referring to resources. In order to avoid the
+ problems caused by ad hoc encodings, names should not contain
+ addresses, routes, or similar information as part of the name.
+
+ The sheer size of the database and frequency of updates suggest
+ that it must be maintained in a distributed manner, with local
+ caching to improve performance. Approaches that attempt to
+ collect a consistent copy of the entire database will become
+ more and more expensive and difficult, and hence should be
+ avoided. The same principle holds for the structure of the
+ name space, and in particular mechanisms for creating and
+ deleting names; these should also be distributed.
+
+ The costs of implementing such a facility dictate that it be
+ generally useful, and not restricted to a single application.
+ We should be able to use names to retrieve host addresses,
+ mailbox data, and other as yet undetermined information.
+
+ Because we want the name space to be useful in dissimilar
+ networks, it is unlikely that all users of domain names will be
+ able to agree on the set of resources or resource information
+ that names will be used to retrieve. Hence names refer to a
+ set of resources, and queries contain resource identifiers.
+ The only standard types of information that we expect to see
+ throughout the name space is structuring information for the
+ name space itself, and resources that are described using
+ domain names and no nonstandard data.
+
+ We also want the name server transactions to be independent of
+ the communications system that carries them. Some systems may
+ wish to use datagrams for simple queries and responses, and
+ only establish virtual circuits for transactions that need the
+ reliability (e.g. database updates, long transactions); other
+ systems will use virtual circuits exclusively.
+
+
+
+
+
+Mockapetris [Page 2]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ Elements of the solution
+
+ The proposed solution has three major components:
+
+ The DOMAIN NAME SPACE, which is a specification for a tree
+ structured name space. Conceptually, each node and leaf of the
+ domain name space tree names a set of information, and query
+ operations are attempts to extract specific types of
+ information from a particular set. A query names the domain
+ name of interest and describes the type of resource information
+ that is desired. For example, the ARPA Internet uses some of
+ its domain names to identify hosts; queries for address
+ resources return ARPA Internet host addresses. However, to
+ preserve the generality of the domain mechanism, domain names
+ are not required to have a one-to-one correspondence with host
+ names, host addresses, or any other type of information.
+
+ NAME SERVERS are server programs which hold information about
+ the domain tree's structure and set information. A name server
+ may cache structure or set information about any part of the
+ domain tree, but in general a particular name server has
+ complete information about a subset of the domain space, and
+ pointers to other name servers that can be used to lead to
+ information from any part of the domain tree. Name servers
+ know the parts of the domain tree for which they have complete
+ information; these parts are called ZONEs; a name server is an
+ AUTHORITY for these parts of the name space.
+
+ RESOLVERS are programs that extract information from name
+ servers in response to user requests. Resolvers must be able
+ to access at least one name server and use that name server's
+ information to answer a query directly, or pursue the query
+ using referrals to other name servers. A resolver will
+ typically be a system routine that is directly accessible to
+ user programs; hence no protocol is necessary between the
+ resolver and the user program.
+
+ These three components roughly correspond to the three layers or
+ views of the domain system:
+
+ From the user's point of view, the domain system is accessed
+ through simple procedure or OS calls to resolvers. The domain
+ space consists of a single tree and the user can request
+ information from any section of the tree.
+
+ From the resolver's point of view, the domain system is
+ composed of an unknown number of name servers. Each name
+ server has one or more pieces of the whole domain tree's data,
+
+
+
+Mockapetris [Page 3]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ but the resolver views each of these databases as essentially
+ static.
+
+ From a name server's point of view, the domain system consists
+ of separate sets of local information called zones. The name
+ server has local copies of some of the zones. The name server
+ must periodically refresh its zones from master copies in local
+ files or foreign name servers. The name server must
+ concurrently process queries that arrive from resolvers using
+ the local zones.
+
+ In the interests of performance, these layers blur a bit. For
+ example, resolvers on the same machine as a name server may share
+ a database and may also introduce foreign information for use in
+ later queries. This cached information is treated differently
+ from the authoritative data in zones.
+
+ Database model
+
+ The organization of the domain system derives from some
+ assumptions about the needs and usage patterns of its user
+ community and is designed to avoid many of the the complicated
+ problems found in general purpose database systems.
+
+ The assumptions are:
+
+ The size of the total database will initially be proportional
+ to the number of hosts using the system, but will eventually
+ grow to be proportional to the number of users on those hosts
+ as mailboxes and other information are added to the domain
+ system.
+
+ Most of the data in the system will change very slowly (e.g.,
+ mailbox bindings, host addresses), but that the system should
+ be able to deal with subsets that change more rapidly (on the
+ order of minutes).
+
+ The administrative boundaries used to distribute responsibility
+ for the database will usually correspond to organizations that
+ have one or more hosts. Each organization that has
+ responsibility for a particular set of domains will provide
+ redundant name servers, either on the organization's own hosts
+ or other hosts that the organization arranges to use.
+
+ Clients of the domain system should be able to identify trusted
+ name servers they prefer to use before accepting referrals to
+ name servers outside of this "trusted" set.
+
+ Access to information is more critical than instantaneous
+
+
+Mockapetris [Page 4]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ updates or guarantees of consistency. Hence the update process
+ allows updates to percolate out though the users of the domain
+ system rather than guaranteeing that all copies are
+ simultaneously updated. When updates are unavailable due to
+ network or host failure, the usual course is to believe old
+ information while continuing efforts to update it. The general
+ model is that copies are distributed with timeouts for
+ refreshing. The distributor sets the timeout value and the
+ recipient of the distribution is responsible for performing the
+ refresh. In special situations, very short intervals can be
+ specified, or the owner can prohibit copies.
+
+ Some users will wish to access the database via datagrams;
+ others will prefer virtual circuits. The domain system is
+ designed so that simple queries and responses can use either
+ style, although refreshing operations need the reliability of
+ virtual circuits. The same overall message format is used for
+ all communication. The domain system does not assume any
+ special properties of the communications system, and hence
+ could be used with any datagram or virtual circuit protocol.
+
+ In any system that has a distributed database, a particular
+ name server may be presented with a query that can only be
+ answered by some other server. The two general approaches to
+ dealing with this problem are "recursive", in which the first
+ server pursues the query for the client at another server, and
+ "iterative", in which the server refers the client to another
+ server and lets the client pursue the query. Both approaches
+ have advantages and disadvantages, but the iterative approach
+ is preferred for the datagram style of access. The domain
+ system requires implementation of the iterative approach, but
+ allows the recursive approach as an option. The optional
+ recursive style is discussed in [14], and omitted from further
+ discussion in this memo.
+
+ The domain system assumes that all data originates in master files
+ scattered through the hosts that use the domain system. These
+ master files are updated by local system administrators. Master
+ files are text files that are read by a local name server, and
+ hence become available to users of the domain system. A standard
+ format for these files is given in [14].
+
+ The standard format allows these files to be exchanged between
+ hosts (via FTP, mail, or some other mechanism); this facility is
+ useful when an organization wants a domain, but doesn't want to
+ support a name server. The organization can maintain the master
+ files locally using a text editor, transfer them to a foreign host
+ which runs a name server, and then arrange with the system
+ administrator of the name server to get the files loaded.
+
+
+Mockapetris [Page 5]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ Each host's name servers and resolvers are configured by a local
+ system administrator. For a name server, this configuration data
+ includes the identity of local master files and instructions on
+ which non-local master files are to be loaded from foreign
+ servers. The name server uses the master files or copies to load
+ its zones. For resolvers, the configuration data identifies the
+ name servers which should be the primary sources of information.
+
+ The domain system defines procedures for accessing the data and
+ for referrals to other name servers. The domain system also
+ defines procedures for caching retrieved data and for periodic
+ refreshing of data defined by the system administrator.
+
+ The system administrators provide:
+
+ The definition of zone boundaries
+
+ Master files of data
+
+ Updates to master files
+
+ Statements of the refresh policies desired
+
+ The domain system provides:
+
+ Standard formats for resource data
+
+ Standard methods for querying the database
+
+ Standard methods for name servers to refresh local data from
+ foreign name servers
+
+DOMAIN NAME SPACE
+
+ Name space specifications and terminology
+
+ The domain name space is a tree structure. Each node and leaf on
+ the tree corresponds to a resource set (which may be empty). Each
+ node and leaf has an associated label. Labels are NOT guaranteed
+ to be unique, with the exception of the root node, which has a
+ null label. The domain name of a node or leaf is the path from
+ the root of the tree to the node or leaf. By convention, the
+ labels that compose a domain name are read left to right, from the
+ most specific (lowest) to the least specific (highest).
+
+ Internally, programs that manipulate domain names represent them
+ as sequences of labels, where each label is a length octet
+ followed by an octet string. Because all domain names end at the
+ root, which has a null string for a label, these internal
+
+
+Mockapetris [Page 6]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ representations can use a length byte of zero to terminate a
+ domain name. When domain names are printed, labels in a path are
+ separated by dots ("."). The root label and its associated dot
+ are omitted from printed domain names, but the root can be named
+ by a null domain name (" " in this memo).
+
+ To simplify implementations, the total number of octets that
+ represent label octets and label lengths is limited to 255. Thus
+ a printed domain name can be up to 254 characters.
+
+ A special label is defined that matches any other label. This
+ label is the asterisk or "*". An asterisk matches a single label.
+ Thus *.ARPA matches FOO.ARPA, but does not match FOO.BAR.ARPA.
+ The asterisk is mainly used to create default resource records at
+ the boundary between protocol families, and requires prudence in
+ its use.
+
+ A domain is identified by a domain name, and consists of that part
+ of the domain name space that is at or below the domain name which
+ specifies the domain. A domain is a subdomain of another domain
+ if it is contained within that domain. This relationship can be
+ tested by seeing if the subdomain's name has the containing
+ domain's name as the right part of its name. For example, A.B.C.D
+ is a subdomain of B.C.D, C.D, D, and " ".
+
+ This tree structure is intended to parallel the administrative
+ organization and delegation of authority. Potentially, each node
+ or leaf on the tree can create new subdomains ad infinitum. In
+ practice, this delegation can be limited by the administrator of
+ the name servers that manage the domain space and resource data.
+
+ The following figure shows an example of a domain name space.
+
+ |
+ +------------------+------------------+
+ | | |
+ COLORS FLAVORS TRUTH
+ | |
+ +-----+-----+ |
+ | | | NATURAL
+ RED BLUE GREEN |
+ |
+ +---------------+---------------+
+ | | |
+ CHOCOLATE VANILLA STRAWBERRY
+
+ In this example, the root domain has three immediate subdomains:
+ COLORS, FLAVORS, and TRUTH. The FLAVORS domain has one immediate
+ subdomain named NATURAL.FLAVORS. All of the leaves are also
+
+
+Mockapetris [Page 7]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ domains. This domain tree has the names " "(the root), COLORS,
+ RED.COLORS, BLUE.COLORS, GREEN.COLORS, FLAVORS, NATURAL.FLAVORS,
+ CHOCOLATE.NATURAL.FLAVORS, VANILLA.NATURAL.FLAVORS,
+ STRAWBERRY.NATURAL.FLAVORS, and TRUTH. If we wished to add a new
+ domain of ARTIFICIAL under FLAVORS, FLAVORS would typically be the
+ administrative entity that would decide; if we wished to create
+ CHIP and MOCHA names under CHOCOLATE, CHOCOLATE.NATURAL.FLAVORS
+ would typically be the appropriate administrative entity.
+
+ Resource set information
+
+ A domain name identifies a set of resource information. The set
+ of resource information associated with a particular name is
+ composed of separate resource records (RRs).
+
+ Each resource record has the following major components:
+
+ The domain name which identifies resource set that holds this
+ record, and hence the "owner" of the information. For example,
+ a RR that specifies a host address has a domain name the
+ specifies the host having that address. Thus F.ISI.ARPA might
+ be the owner of a RR which specified an address field of
+ 10.2.0.52. Since name servers typically store their resource
+ information in tree structures paralleling the organization of
+ the domain space, this information can usually be stored
+ implicitly in the database; however it is always included in
+ each resource record carried in a message.
+
+ Other information used to manage the RR, such as length fields,
+ timeouts, etc. This information is omitted in much of this
+ memo, but is discussed in [14].
+
+ A resource type field that specifies the type of the resource
+ in this resource record. Types refer to abstract resources
+ such as host addresses or mail delivery agents. The type field
+ is two octets long and uses an encoding that is standard
+ throughout the domain name system.
+
+ A class field identifies the format of the resource data, such
+ as the ARPA Internet format (IN) or the Computer Science
+ Network format (CSNET), for certain RR types (such as address
+ data). Note that while the class may separate different
+ protocol families, networks, etc. it does not do so in all
+ cases. For example, the IN class uses 32 bit IP addresses
+ exclusively, but the CSNET class uses 32 bit IP addresses, X.25
+ addresses, and phone numbers. Thus the class field should be
+ used as a guide for interpreting the resource data. The class
+ field is two octets long and uses an encoding that is standard
+ throughout the domain name system.
+
+
+Mockapetris [Page 8]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ Resource data that describes the resource. The format of this
+ data can be determined given the type and class fields, but
+ always starts with a two octet length field that allows a name
+ server or resolver to determine the boundaries of the resource
+ data in any transaction, even if it cannot "understand" the
+ resource data itself. Thus name servers and resolvers can hold
+ and pass on records which they cannot interpret. The format of
+ the internal data is restricted only by the maximum length of
+ 65535 octets; for example the host address record might specify
+ a fixed 32 bit number for one class, and a variable length list
+ of addresses in another class.
+
+ While the class field in effect partitions the resource data in
+ the domain name system into separate parallel sections according
+ to class, services can span class boundaries if they use
+ compatible resource data formats. For example, the domain name
+ system uses compatible formats for structure information, and the
+ mail data decouples mail agent identification from details of how
+ to contact the agent (e.g. host addresses).
+
+ This memo uses the following types in its examples:
+
+ A - the host address associated with the domain name
+
+ MF - identifies a mail forwarder for the domain
+
+ MD - identifies a mail destination for the domain
+
+ NS - the authoritative name server for the domain
+
+ SOA - identifies the start of a zone of authority
+
+ CNAME - identifies the canonical name of an alias
+
+ This memo uses the following classes in its examples:
+
+ IN - the ARPA Internet system
+
+ CS - the CSNET system
+
+ The first type of resource record holds a host name to host
+ address binding. Its fields are:
+
+ +--------+--------+--------+--------------//----------------------+
+ |<owner> | A | <class>| <class specific address>information |
+ +--------+--------+--------+--------------//----------------------+
+
+
+
+
+
+Mockapetris [Page 9]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ The content of the class specific information varies according to
+ the value in the CLASS field; for the ARPA Internet, it is the 32
+ bit ARPA Internet address of the host, for the CSNET it might be
+ the phone number of the host. For example, F.ISI.ARPA might have
+ two A records of the form:
+
+ +----------+--------+--------+----------------------------+
+ |F.ISI.ARPA| A | IN | 10.2.0.52 |
+ +----------+--------+--------+----------------------------+
+ and
+ +----------+--------+--------+----------------------------+
+ |F.ISI.ARPA| A | CS | 213-822-2112 |
+ +----------+--------+--------+----------------------------+
+
+ Note that the data formats for the A type are class dependent, and
+ the Internet address and phone number formats shown above are for
+ purposes of illustration only. The actual data formats are
+ specified in [14]. For example, CS class data for type A records
+ might actually be a list of Internet addresses, phone numbers and
+ TELENET addresses.
+
+ The mail forwarder (MF) and mail delivery (MD) records have the
+ following format:
+
+ +--------+--------+--------+----------------------------+
+ |<owner> | MD/MF | <class>| <domain name> |
+ +--------+--------+--------+----------------------------+
+
+ The <domain name> field is a domain name of the host that will
+ handle mail; note that this domain name may be completely
+ different from the domain name which names the resource record.
+ For example, F.ISI.ARPA might have two records of the form:
+
+ +----------+--------+--------+----------------------------+
+ |F.ISI.ARPA| MD | IN | F.ISI.ARPA |
+ +----------+--------+--------+----------------------------+
+ and
+ +----------+--------+--------+----------------------------+
+ |F.ISI.ARPA| MF | IN | B.ISI.ARPA |
+ +----------+--------+--------+----------------------------+
+
+ These records mean that mail for F.ISI.ARPA can either be
+ delivered to the host F.ISI.ARPA or forwarded to B.ISI.ARPA, which
+ will accept responsibility for its eventual delivery. In
+ principle, an additional name lookup is required to map the domain
+ name of the host to the appropriate address, in practice this
+ information is usually returned in the response to the mail query.
+
+ The SOA and NS types of resource records are used to define limits
+
+
+Mockapetris [Page 10]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ of authority. The domain name given by the owner field of a SOA
+ record is the start of a zone; the domain name given by the owner
+ field of a NS record identifies a point in the name space where
+ authority has been delegated, and hence marks the zone boundary.
+ Except in the case where a name server delegates authority to
+ itself, the SOA identifies the top limit of authority, and NS
+ records define the first name outside of a zone. These resource
+ records have a standard format for all of the name space:
+
+ +----------+--------+--------+-----------------------------+
+ | <owner> | SOA | <class>| <domain name, etc> |
+ +----------+--------+--------+-----------------------------+
+
+ +----------+--------+--------+-----------------------------+
+ | <owner> | NS | <class>| <domain name> |
+ +----------+--------+--------+-----------------------------+
+
+ The SOA record marks the start of a zone when it is present in a
+ database; the NS record both marks the end of a zone started by an
+ SOA (if a higher SOA is present) and also points to a name server
+ that has a copy of the zone specified by the <owner. field of the
+ NS record.
+
+ The <domain name, etc> in the SOA record specifies the original
+ source of the information in the zone and other information used
+ by name servers to organize their activities. SOA records are
+ never cached (otherwise they would create false zones); they can
+ only be created in special name server maintenance operations.
+
+ The NS record says that a name server which is authoritative for
+ records of the given CLASS can be found at <domain name>.
+
+ Queries
+
+ Queries to a name server must include a domain name which
+ identifies the target resource set (QNAME), and the type and class
+ of desired resource records. The type and class fields in a query
+ can include any of the corresponding type and class fields that
+ are defined for resource records; in addition, the query type
+ (QTYPE) and query class (QCLASS) fields may contain special values
+ that match more than one of the corresponding fields in RRs.
+
+ For example, the QTYPE field may contain:
+
+ MAILA - matches all mail agent RRs (e.g. MD and MF).
+
+ * - matches any RR type.
+
+
+
+
+Mockapetris [Page 11]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ The QCLASS field may contain:
+
+ * - matches any RR class.
+
+ Using the query domain name, QTYPE, and QCLASS, the name server
+ looks for matching RRs. In addition to relevant records, the name
+ server may return RRs that point toward a name server that has the
+ desired information or RRs that are expected to be useful in
+ interpreting the relevant RRs. For example a name server that
+ doesn't have the requested information may know a name server that
+ does; a name server that returns a domain name in a relevant RR
+ may also return the RR that binds that domain name to an address.
+
+ Note that the QCLASS=* construct requires special interpretation
+ regarding authority. Since a name server may not know all of the
+ classes available in the domain system, it can never know if it is
+ authoritative for all classes. Hence responses to QCLASS=*
+ queries can never be authoritative.
+
+ Example space
+
+ For purposes of exposition, the following name space is used for
+ the remainder of this memo:
+
+ |
+ +------------------+------------------+
+ | | |
+ DDN ARPA CSNET
+ | | |
+ +-----+-----+ | +-----+-----+
+ | | | | | |
+ JCS ARMY NAVY | UDEL UCI
+ |
+ +--------+---------------+---------------+--------+
+ | | | | |
+ DTI MIT ISI UDEL NBS
+ | |
+ +---+---+ +---+---+
+ | | | | |
+ DMS AI A B F
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 12]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+NAME SERVERS
+
+ Introduction
+
+ Name servers store a distributed database consisting of the
+ structure of the domain name space, the resource sets associated
+ with domain names, and other information used to coordinate
+ actions between name servers.
+
+ In general, a name server will be an authority for all or part of
+ a particular domain. The region covered by this authority is
+ called a zone. Name servers may be responsible for no
+ authoritative data, and hence have no zones, or may have several
+ zones. When a name server has multiple zones, the zones may have
+ no common borders or zones may be contiguous.
+
+ While administrators should not construct overlapping zones, and
+ name servers must defend against overlapping zones, overlapping is
+ regarded as a non-fatal flaw in the database. Hence the measures
+ taken to protect against it are omitted for the remainder of this
+ memo. A detailed discussion can be found in [14].
+
+ When presented with a query for a domain name over which it has
+ authority, a name server returns the desired resource information
+ or an indication that the query refers to a domain name or
+ resource that does not exist. If a name server is presented with
+ a query for a domain name that is not within its authority, it may
+ have the desired information, but it will also return a response
+ that points toward an authoritative name server. If a name server
+ is not an authority for a query, it can never return a negative
+ response.
+
+ There is no requirement that a name server for a domain reside in
+ a host which has a name in the same domain, although this will
+ usually be the case. There is also no restriction on the number
+ of name servers that can have authority over a particular domain;
+ most domains will have redundant authoritative name servers. The
+ assumption is that different authoritative copies are identical,
+ even though inconsistencies are possible as updates are made.
+
+ Name server functions are designed to allow for very simple
+ implementations of name servers. The simplest name server has a
+ static set of information and uses datagrams to receive queries
+ and return responses.
+
+ More sophisticated name server implementations can improve the
+ performance of their clients by caching information from other
+ domains. Although this information can be acquired in a number of
+ ways, the normal method is to store the information acquired by a
+
+
+Mockapetris [Page 13]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ resolver when the resolver consults other name servers. In a
+ sophisticated host, the resolver and name server will coordinate
+ their actions and use a shared database. This cooperation
+ requires the incorporation of a time-to-live (TTL) field in all
+ cached resource records. Caching is discussed in the resolver
+ section of this memo; this section is devoted to the actions of a
+ name servers that don't cache.
+
+ In order to free simple name servers of the requirement of
+ managing these timeouts, simple name servers should only contain
+ resource records that are expected to remain constant over very
+ long periods or resource records for which the name server is an
+ authority. In the following discussion, the TTL field is assumed
+ to be stored in the resource record but is omitted in descriptions
+ of databases and responses in the interest of clarity.
+
+ Authority and administrative control of domains
+
+ Although we want to have the potential of delegating the
+ privileges of name space management at every node, we don't want
+ such delegation to be required.
+
+ Hence we introduce the concept of authority. Authority is vested
+ in name servers. A name server has authority over all of its
+ domain until it delegates authority for a subdomain to some other
+ name server.
+
+ Any administrative entity that wishes to establish its own domain
+ must provide a name server, and have that server accepted by the
+ parent name server (i.e. the name server that has authority over
+ the place in the domain name space that will hold the new domain).
+ While the principles of authority allow acceptance to be at the
+ discretion of parent name servers, the following criteria are used
+ by the root, and are recommended to all name servers because they
+ are responsible for their children's actions:
+
+ 1. It must register with the parent administrator of domains.
+
+ 2. It must identify a responsible person.
+
+ 3. In must provide redundant name servers.
+
+ The domain name must be registered with the administrator to avoid
+ name conflicts and to make the domain related information
+ available to other domains. The central administrator may have
+ further requirements, and a domain is not registered until the
+ central administrator agrees that all requirements are met.
+
+ There must be a responsible person associated with each domain to
+
+
+Mockapetris [Page 14]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ be a contact point for questions about the domain, to verify and
+ update the domain related information, and to resolve any problems
+ (e.g., protocol violations) with hosts in the domain.
+
+ The domain must provide redundant (i.e., two or more) name servers
+ to provide the name to address resolution service. These name
+ servers must be accessible from outside the domain (as well as
+ inside) and must resolve names for at least all the hosts in the
+ domain.
+
+ Once the central administrator is satisfied, he will communicate
+ the existence to the appropriate administrators of other domains
+ so that they can incorporate NS records for the new name server
+ into their databases.
+
+ Name server logic
+
+ The processing steps that a name server performs in responding to
+ a query are conceptually simple, although implementations may have
+ internal databases that are quite complex.
+
+ For purposes of explanation, we assume that the query consists of
+ a type QTYPE, a class QCLASS, and a domain name QNAME; we assume
+ that the name server stores its RRs in sets where each set has all
+ of the RRs for a particular domain. Note that this database
+ structure and the following algorithms are meant to illustrate one
+ possible implementation, rather than a specification of how all
+ servers must be implemented.
+
+ The following notation is used:
+
+ ord(DOMAIN-NAME) returns the number of labels in DOMAIN-NAME.
+
+ findset(DOMAIN-NAME) returns a pointer to the set of stored RRs
+ for DOMAIN-NAME, or NULL if there is no such
+ information.
+
+ set(POINTER) refers to a set located previously by
+ findset, where POINTER is the value returned
+ by findset.
+
+ relevant(QTYPE,TYPE) returns true if a RR of the specified TYPE is
+ relevant to the specified QTYPE. For
+ example, relevant(MAILA,MF) is true and
+ relevant(MAILA,NS) is false.
+
+ right(NAME,NUMBER) returns a domain name that is the rightmost
+ NUMBER labels in the string NAME.
+
+
+
+Mockapetris [Page 15]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ copy(RR) copies the resource record specified by RR
+ into the response.
+
+ The name server code could be represented as the following
+ sequence of steps:
+
+ { find out whether the database makes this server
+ authoritative for the domain name specified by QNAME }
+
+ for i:=0 to ord(QNAME) { sequence through all nodes in QNAME }
+ do begin
+ ptr:=findset(right(QNAME,i));
+ if ptr<>NULL
+ then { there is domain data for this domain name }
+ begin
+ for all RRs in set(ptr)
+ do if type(RR)=NS and class(RR)=QCLASS
+ then begin
+ auth=false;
+ NSptr:=ptr
+ end;
+ for all RRs in set(ptr)
+ do if type(RR)=SOA and class(RR)=QCLASS
+ then auth:=true
+ end
+ end;
+ end;
+
+ { copy out authority search results }
+
+ if auth
+ then { if authority check for domain found }
+ if ptr=null
+ then return(Name error)
+ else
+ else { if not authority, copy NS RRs }
+ for all RRs in set(nsptr)
+ do if (type(RR)=NS and class(RR)=QCLASS)
+ or
+ (QCLASS=*)
+ then copy(RR);
+
+ { Copy all RRs that answer the question }
+
+ for all RRs in set(ptr)
+ do if class(RR)=QCLASS and relevant(QTYPE,type(RR))
+ then copy(RR);
+
+ The first section of the code (delimited by the for loop over all
+
+
+Mockapetris [Page 16]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ of the subnodes of QNAME) discovers whether the name server is
+ authoritative for the domain specified by QNAME. It sequences
+ through all containing domains of QNAME, starting at the root. If
+ it encounters a SOA it knows that the name server is authoritative
+ unless it finds a lower NS RR which delegates authority. If the
+ name server is authoritative, it sets auth=true; if the name
+ server is not authoritative, it sets NSptr to point to the set
+ which contains the NS RR closest to the domain specified by QNAME.
+
+ The second section of the code reflects the result of the
+ authority search into the response. If the name server is
+ authoritative, the code checks to see that the domain specified by
+ QNAME exists; if not, a name error is returned. If the name
+ server is not authoritative, the code copies the RRs for a closer
+ name server into the response.
+
+ The last section of the code copies all relevant RRs into the
+ response.
+
+ Note that this code is not meant as an actual implementation and
+ is incomplete in several aspects. For example, it doesn't deal
+ with providing additional information, wildcards, QCLASS=*, or
+ with overlapping zones. The first two of these issues are dealt
+ with in the following discussions, the remaining issues are
+ discussed in [14].
+
+ Additional information
+
+ When a resolver returns information to a user program, the
+ returned information will often lead to a second query. For
+ example, if a mailer asks a resolver for the appropriate mail
+ agent for a particular domain name, the name server queried by the
+ resolver returns a domain name that identifies the agent. In
+ general, we would expect that the mailer would then request the
+ domain name to address binding for the mail agent, and a new name
+ server query would result.
+
+ To avoid this duplication of effort, name servers return
+ additional information with a response which satisfies the
+ anticipated query. This information is kept in a separate section
+ of the response. Name servers are required to complete the
+ appropriate additional information if such information is
+ available, but the requestor should not depend on the presence of
+ the information since the name server may not have it. If the
+ resolver caches the additional information, it can respond to the
+ second query without an additional network transaction.
+
+ The appropriate information is defined in [14], but generally
+
+
+
+Mockapetris [Page 17]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ consists of host to address bindings for domain names in returned
+ RRs.
+
+ Aliases and canonical names
+
+ In existing systems, hosts and other resources often have several
+ names that identify the same resource. For example, under current
+ ARPA Internet naming support, USC-ISIF and ISIF both identify the
+ same host. Similarly, in the case of mailboxes, many
+ organizations provide many names that actually go to the same
+ mailbox; for example Mockapetris@ISIF, Mockapetris@ISIB, etc., all
+ go to the same mailbox (although the mechanism behind this is
+ somewhat complicated).
+
+ Most of these systems have a notion that one of the equivalent set
+ of names is the canonical name and all others are aliases.
+
+ The domain system provides a similar feature using the canonical
+ name (CNAME) RR. When a name server fails to find a desired RR in
+ a set associated with some domain name, it checks to see if the
+ resource set contains a CNAME record with a matching class. If
+ so, the name server includes the CNAME record in the response, and
+ continues the query at the domain name specified in the data field
+ of the CNAME record.
+
+ Suppose a name server was processing a query with QNAME=ISIF.ARPA,
+ QTYPE=A, and QCLASS=IN, and had the following resource records:
+
+ ISIF.ARPA CNAME IN F.ISI.ARPA
+ F.ISI.ARPA A IN 10.2.0.52
+
+ Both of these RRs would be returned in the response.
+
+ In the above example, because ISIF.ARPA has no RRs other than the
+ CNAME RR, the resources associated with ISIF.ARPA will appear to
+ be exactly those associated with F.ISI.ARPA for the IN CLASS.
+ Since the CNAME is effective only when the search fails, a CNAME
+ can also be used to construct defaults. For example, suppose the
+ name server had the following set of RRs:
+
+ F.ISI.ARPA A IN 10.2.0.52
+ F.ISI.ARPA MD IN F.ISI.ARPA
+ XXXX.ARPA CNAME IN F.ISI.ARPA
+ XXXX.ARPA MF IN A.ISI.ARPA
+
+ Using this database, type A queries for XXXX.ARPA would return the
+ XXXX.ARPA CNAME RR and the F.ISI.ARPA A RR, but MAILA or MF
+ queries to XXXX.ARPA would return the XXXX.ARPA MF RR without any
+ information from F.ISI.ARPA. This structure might be used to send
+
+
+Mockapetris [Page 18]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ mail addressed to XXXX.ARPA to A.ISI.ARPA and to direct TELNET for
+ XXXX.ARPA to F.ISI.ARPA.
+
+ Wildcards
+
+ In certain cases, an administrator may wish to associate default
+ resource information for all or part of a domain. For example,
+ the CSNET domain administrator may wish to establish IN class mail
+ forwarding for all hosts in the CSNET domain without IN
+ capability. In such a case, the domain system provides a special
+ label "*" that matches any other label. Note that "*" matches
+ only a single label, and not zero or more than one label. Note
+ also that the "*" is distinct from the "*" values for QCLASS and
+ QTYPE.
+
+ The semantics of "*" depend upon whether it appears in a query
+ domain name (QNAME) or in a RR in a database.
+
+ When an "*" is used in a QNAME, it can only match a "*" in a
+ resource record.
+
+ When "*" appears in a RR in a database, it can never override
+ an existing exact match. For example, if a name server
+ received a query for the domain UDEL.CSNET, and had appropriate
+ RRs for both UDEL.CSNET and *.CSNET, the UDEL.CSNET RRs would
+ be used and the *.CSNET RRs would be ignored. If a query to
+ the same database specified FOO.CSNET, the *.CSNET RR would be
+ used, but the corresponding labels from the QNAME would replace
+ the "*". Thus the FOO.CSNET query would match the *.CSNET RR
+ and return a RR for FOO.CSNET rather than *.CSNET.
+
+ RRs containing "*" labels are copied exactly when zones are
+ transfered via name server maintenance operations.
+
+ These semantics are easily implemented by having the name server
+ first search for an exact match for a query, and then replacing
+ the leftmost label with a "*" and trying again, repeating the
+ process until all labels became "*" or the search succeeded.
+
+ TYPE=* in RRs is prohibited. If it were to be allowed, the
+ requestor would have no way of interpreting the data in the RR
+ because this data is type dependent.
+
+ CLASS=* is also prohibited. Similar effects can be achieved using
+ QCLASS=*, and allowing both QCLASS=* and CLASS=* leads to
+ complexities without apparent benefit.
+
+
+
+
+
+Mockapetris [Page 19]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ A scenario
+
+ In our sample domain space, suppose we wanted separate
+ administrative control for the root, DDN, ARPA, CSNET, MIT and ISI
+ domains. We might allocate name servers as follows:
+
+ |(B.ISI.ARPA)
+ |(UDEL.CSNET)
+ +------------------+------------------+
+ | | |
+ DDN ARPA CSNET
+ |(JCS.DDN) |(F.ISI.ARPA) |(UDEL.ARPA)
+ +-----+-----+ |(A.ISI.ARPA)+-----+-----+
+ | | | | | |
+ JCS ARMY NAVY | UDEL UCI
+ |
+ +--------+---------------+---------------+--------+
+ | | | | |
+ DTI MIT ISI UDEL NBS
+ |(AI.MIT.ARPA) |(F.ISI.ARPA)
+ +---+---+ +---+---+
+ | | | | |
+ DMS AI A B F
+
+ In this example the authoritative name server is shown in
+ parentheses at the point in the domain tree at which is assumes
+ control.
+
+ Thus the root name servers are on B.ISI.ARPA and UDEL.CSNET, the
+ DDN name server is on JCS.DDN, the CSNET domain server is on
+ UDEL.ARPA, etc.
+
+ In an actual system, all domains should have redundant name
+ servers, but in this example only the ARPA domain has redundant
+ servers A.ISI.ARPA and F.ISI.ARPA. (The B.ISI.ARPA and UDEL.CSNET
+ name servers happen to be not redundant because they handle
+ different classes.) The F.ISI.ARPA name server has authority over
+ the ARPA domain, but delegates authority over the MIT.ARPA domain
+ to the name server on AI.MIT.ARPA. The A.ISI.ARPA name server
+ also has authority over the ARPA domain, but delegates both the
+ ISI.ARPA and MIT.ARPA domains to other name servers.
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 20]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ B.ISI.ARPA Name server for " "
+
+ B.ISI.ARPA has the root name server for the IN class. Its
+ database might contain:
+
+ Domain Resource Record
+
+ " " SOA IN A.ISI.ARPA
+ DDN NS IN JCS.DDN
+ ARPA NS IN F.ISI.ARPA
+ CSNET NS IN UDEL.ARPA
+ " " NS IN B.ISI.ARPA
+ " " NS CS UDEL.CSNET
+
+ JCS.DDN A IN 9.0.0.1
+ F.ISI.ARPA A IN 10.2.0.52
+ UDEL.CSNET A CS 302-555-0000
+ UDEL.ARPA A IN 10.0.0.96
+
+ The SOA record for the root is necessary so that the name server
+ knows that it is authoritative for the root domain for class IN.
+ The contents of the SOA resource record point back to A.ISI.ARPA
+ and denote that the master data for the zone of authority is
+ originally from this host. The first three NS records denote
+ delegation of authority. The NS root entry for the B.ISI.ARPA
+ name server is necessary so that this name server knows about
+ itself, and can respond correctly to a query for NS information
+ about the root (for which it is an authority). The root entry for
+ class CS denotes that UDEL.CSNET is the authoritative name server
+ for the CS class root. UDEL.CSNET and UDEL.ARPA may or may not
+ refer to the same name server; from this information it is
+ impossible to tell.
+
+ If this name server was sent a query specifying QTYPE=MAILA,
+ QCLASS=IN, QNAME=F.ISI.ARPA, it would begin processing (using the
+ previous algorithm) by determining that it was not an authority
+ for F.ISI.ARPA. The test would note that it had authority at " ",
+ but would also note that the authority was delegated at ARPA and
+ never reestablished via another SOA. Thus the response would
+ return the NS record for the domain ARPA.
+
+ Any queries presented to this server with QCLASS=CS would result
+ in the UDEL.CSNET NS record being returned in the response.
+
+
+
+
+
+
+
+
+Mockapetris [Page 21]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ F.ISI.ARPA Name server for ARPA and ISI.ARPA
+
+ In the same domain space, the F.ISI.ARPA database for the domains
+ ARPA and ISI.ARPA might be:
+
+ Domain Resource Record
+
+ " " NS IN B.ISI.ARPA
+ " " NS CS CSNET.UDEL
+ ARPA SOA IN B.ISI.ARPA
+ ARPA NS IN A.ISI.ARPA
+ ARPA NS IN F.ISI.ARPA
+ MIT.ARPA NS IN AI.MIT.ARPA
+ ISI.ARPA SOA IN F.ISI.ARPA
+ ISI.ARPA NS IN F.ISI.ARPA
+
+ A.ISI.ARPA MD IN A.ISI.ARPA
+ ISI.ARPA MD IN F.ISI.ARPA
+ A.ISI.ARPA MF IN F.ISI.ARPA
+ B.ISI.ARPA MD IN B.ISI.ARPA
+ B.ISI.ARPA MF IN F.ISI.ARPA
+ F.ISI.ARPA MD IN F.ISI.ARPA
+ F.ISI.ARPA MF IN A.ISI.ARPA
+ DTI.ARPA MD IN DTI.ARPA
+ NBS.ARPA MD IN NBS.ARPA
+ UDEL.ARPA MD IN UDEL.ARPA
+
+ A.ISI.ARPA A IN 10.1.0.32
+ F.ISI.ARPA A IN 10.2.0.52
+ B.ISI.ARPA A IN 10.3.0.52
+ DTI.ARPA A IN 10.0.0.12
+ AI.MIT.ARPA A IN 10.2.0.6
+ DMS.MIT.ARPA A IN 10.1.0.6
+ NBS.ARPA A IN 10.0.0.19
+ UDEL.ARPA A IN 10.0.0.96
+
+ For the IN class, the SOA RR for ARPA denotes that this name
+ server is authoritative for the domain ARPA, and that the master
+ file for this authority is stored on B.ISI.ARPA. This zone
+ extends to ISI.ARPA, where the database delegates authority back
+ to this name server in another zone, and doesn't include the
+ domain MIT.ARPA, which is served by a name server on AI.MIT.ARPA.
+
+ This name server is not authoritative for any data in the CS
+ class. It has a pointer to the root server for CS data which
+ could be use to resolve CS class queries.
+
+ Suppose this name server received a query of the form
+ QNAME=A.ISI.ARPA, QTYPE=A, and QCLASS=IN. The authority search
+
+
+Mockapetris [Page 22]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ would notice the NS record for " ", its SOA at ARPA, a delegation
+ at ISI.ARPA, and the reassumption of authority at ISI.ARPA. Hence
+ it would know that it was an authority for this query. It would
+ then find the A record for A.ISI.ARPA, and return a datagram
+ containing this record.
+
+ Another query might be QNAME=B.ISI.ARPA, QTYPE=MAILA, QCLASS=*.
+ In this case the name server would know that it cannot be
+ authoritative because of the "*" value of QCLASS, and would look
+ for records for domain B.ISI.ARPA that match. Assuming that the
+ name server performs the additional record inclusion mentioned in
+ the name server algorithm, the returned datagram would include:
+
+ ISI.ARPA NS IN F.ISI.ARPA
+ " " NS CS UDEL.CSNET
+ B.ISI.ARPA MD IN B.ISI.ARPA
+ B.ISI.ARPA MF IN F.ISI.ARPA
+ B.ISI.ARPA A IN 10.3.0.52
+ F.ISI.ARPA A IN 10.2.0.52
+
+ If the query were QNAME=DMS.MIT.ARPA, QTYPE=MAILA, QCLASS=IN, the
+ name server would discover that AI.MIT.ARPA was the authoritative
+ name server and return the following:
+
+ MIT.ARPA NS IN AI.MIT.ARPA
+ AI.MIT.ARPA A IN 10.2.0.6
+
+ In this case, the requestor is directed to seek information from
+ the MIT.ARPA domain name server residing on AI.MIT.ARPA.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 23]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ UDEL.ARPA and UDEL.CSNET name server
+
+ In the previous discussion of the sample domain, we stated that
+ UDEL.CSNET and UDEL.ARPA might be the same name server. In this
+ example, we assume that this is the case. As such, the name
+ server is an authority for the root for class CS, and an authority
+ for the CSNET domain for class IN.
+
+ This name server deals with mail forwarding between the ARPA
+ Internet and CSNET systems. Its RRs illustrate one approach to
+ solving this problem. The name server has the following resource
+ records:
+
+ " " SOA CS UDEL.CSNET
+ " " NS CS UDEL.CSNET
+ " " NS IN B.ISI.ARPA
+ CSNET SOA IN UDEL.ARPA
+ CSNET NS IN UDEL.ARPA
+ ARPA NS IN A.ISI.ARPA
+
+ *.CSNET MF IN UDEL.ARPA
+ UDEL.CSNET MD CS UDEL.CSNET
+ UCI.CSNET MD CS UCI.CSNET
+ UDEL.ARPA MD IN UDEL.ARPA
+
+ B.ISI.ARPA A IN 10.3.0.52
+ UDEL.ARPA A IN 10.0.0.96
+ UDEL.CSNET A CS 302-555-0000
+ UCI.CSNET A CS 714-555-0000
+
+ Suppose this name server received a query of the form
+ QNAME=UCI.CSNET, QTYPE=MAILA, and QCLASS=IN. The name server
+ would discover it was authoritative for the CSNET domain under
+ class IN, but would find no explicit mail data for UCI.CSNET.
+ However, using the *.CSNET record, it would construct a reply:
+
+ UCI.CSNET MF IN UDEL.ARPA
+ UDEL.ARPA A IN 10.0.0.96
+
+ If this name server received a query of the form QNAME=UCI.CSNET,
+ QTYPE=MAILA, and QCLASS=CS, the name server would return:
+
+ UCI.CSNET MD CS UCI.CSNET
+ UCI.CSNET A CS 714-555-0000
+
+ Note that although this scheme allows for forwarding of all mail
+ addressed as <anything>.CSNET, it doesn't help with names that
+ have more than two components, e.g. A.B.CSNET. Although this
+ problem could be "fixed" by a series of MF entries for *.*.CSNET,
+
+
+Mockapetris [Page 24]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ *.*.*.CSNET, etc, a more tasteful solution would be to introduce a
+ cleverer pattern matching algorithm in the CSNET name server.
+
+ Summary of requirements for name servers
+
+ The requirements for a name server are as follows:
+
+ 1. It must be recognized by its parent.
+
+ 2. It must have complete resource information for all domain
+ names for which it is the authority.
+
+ 3. It must periodically refresh authoritative information from
+ a master file or name server which holds the master.
+
+ 4. If it caches information it must also handle TTL management
+ for that information.
+
+ 5. It must answer simple queries.
+
+ Inverse queries
+
+ Name servers may also support inverse queries that map a
+ particular resource to a domain name or domain names that have
+ that resource. For example, while a query might map a domain name
+ to a host address, the corresponding inverse query might map the
+ address back to the domain name.
+
+ Implementation of this service is optional in a name server, but
+ all name servers must at least be able to understand an inverse
+ query message and return an error response.
+
+ The domain system cannot guarantee the completeness or uniqueness
+ of inverse queries because the domain system is organized by
+ domain name rather than by host address or any other resource
+ type. In general, a resolver or other program that wishes to
+ guarantee that an inverse query will work must use a name server
+ that is known to have the appropriate data, or ask all name
+ servers in a domain of interest.
+
+ For example, if a resolver wishes to perform an inverse query for
+ an arbitrary host on the ARPA Internet, it must consult a set of
+ name servers sufficient to know that all IN data was considered.
+ In practice, a single inverse query to a name server that has a
+ fairly comprehensive database should satisfy the vast majority of
+ inverse queries.
+
+ A detailed discussion of inverse queries is contained in [14].
+
+
+
+Mockapetris [Page 25]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ Completion services
+
+ Some existing systems provide the ability to complete partial
+ specifications of arguments. The general principle is that the
+ user types the first few characters of the argument and then hits
+ an escape character to prompt the system to complete the rest.
+ Some completion systems require that the user type enough of the
+ argument to be unique; others do not.
+
+ Other systems allow the user to specify one argument and ask the
+ system to fill in other arguments. For example, many mail systems
+ allow the user to specify a username without a host for local mail
+ delivery.
+
+ The domain system defines name server completion transactions that
+ perform the analogous service for the domain system.
+ Implementation of this service is optional in a name server, but
+ all name servers must at least be able to understand a completion
+ request and return an error response.
+
+ When a resolver wishes to request a completion, it sends a name
+ server a message that sets QNAME to the partial string, QTYPE to
+ the type of resource desired, and QCLASS to the desired class.
+ The completion request also includes a RR for the target domain.
+ The target domain RR identifies the preferred location of the
+ resource. In completion requests, QNAME must still have a null
+ label to terminate the name, but its presence is ignored. Note
+ that a completion request is not a query, but shares some of the
+ same field formats.
+
+ For example, a completion request might contain QTYPE=A, QNAME=B,
+ QCLASS=IN and a RR for ISI.ARPA. This request asks for completion
+ for a resource whose name begins with "B" and is "close" to
+ ISI.ARPA. This might be a typical shorthand used in the ISI
+ community which uses "B" as a way of referring to B.ISI.ARPA.
+
+ The first step in processing a completion request is to look for a
+ "whole label" match. When the name server receives the request
+ mentioned above, it looks at all records that are of type A, class
+ IN, and whose domain name starts (on the left) with the labels of
+ QNAME, in this case, "B". If multiple records match, the name
+ server selects those whose domain names match (from the right) the
+ most labels of the preferred domain name. If there are still
+ multiple candidates, the name server selects the records that have
+ the shortest (in terms of octets in the name) domain name. If
+ several records remain, then the name server returns them all.
+
+ If no records are found in the previous algorithm, the name server
+ assumes that the rightmost label in QNAME is not complete, and
+
+
+Mockapetris [Page 26]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ looks for records that match but require addition of characters to
+ the rightmost label of QNAME. For example, the previous search
+ would not match BB.ARPA to B, but this search would. If multiple
+ hits are found, the same discarding strategy is followed.
+
+ A detailed discussion of completion can be found in [14].
+
+RESOLVERS
+
+ Introduction
+
+ Resolvers are programs that interface user programs to domain name
+ servers. In the simplest case, a resolver receives a request from
+ a user program (e.g. mail programs, TELNET, FTP) in the form of a
+ subroutine call, system call etc., and returns the desired
+ information in a form compatible with the local host's data
+ formats.
+
+ Because a resolver may need to consult several name servers, the
+ amount of time that a resolver will take to complete can vary.
+ This variance is part of the justification for the split between
+ name servers and resolvers; name servers may use datagrams and
+ have a response time that is essentially equal to network delay
+ plus a short service time, while resolvers may take an essentially
+ indeterminate amount of time.
+
+ We expect to see two types of resolvers: simple resolvers that can
+ chain through multiple name servers when required, and more
+ complicated resolvers that cache resource records for use in
+ future queries.
+
+ Simple resolvers
+
+ A simple resolver needs the following capabilities:
+
+ 1. It must know how to access a name server, and should know the
+ authoritative name server for the host that it services.
+
+ 2. It must know the protocol capabilities for its clients so that
+ it can set the class fields of the queries it sends to return
+ information that is useful to its clients. If the resolver
+ serves a client that has multiple protocol capabilities, it
+ should be able to support the preferences of the client.
+
+ The resolver for a multiple protocol client can either collect
+ information for all classes using the * class value, or iterate
+ on the classes supported by the client. Note that in either
+ case, the resolver must understand the preferences of the host.
+ For example, the host that supports both CSNET and ARPA
+
+
+Mockapetris [Page 27]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ Internet protocols might prefer mail delivery (MD) to mail
+ forwarding (MF), regardless of protocol, or might prefer one
+ protocol regardless of whether MD or MF is required. Care is
+ required to prevent loops.
+
+ 3. The resolver must be capable of chaining through multiple name
+ servers to get to an authoritative name server for any query.
+ The resolver should guard against loops in referrals; a simple
+ policy is to discard referrals that don't match more of the
+ query name than the referring name server, and also to avoid
+ querying the same name server twice (This test should be done
+ using addresses of name servers instead of domain names to
+ avoid problems when a name server has multiple domain names or
+ errors are present in aliases).
+
+ 4. The resolver must be able to try alternate name servers when a
+ name server doesn't respond.
+
+ 5. The resolver must be able to communicate different failure
+ conditions to its client. These failure conditions include
+ unknown domain name, unknown resource for a know domain name,
+ and inability to access any of the authoritative name servers
+ for a domain.
+
+ 6. If the resolver uses datagrams for queries, it must recover
+ from lost and duplicate datagrams.
+
+ Resolvers with cache management
+
+ Caching provides a tool for improving the performance of name
+ service, but also is a potential source of incorrect results. For
+ example, a database might cache information that is later changed
+ in the authoritative name servers. While this problem can't be
+ eliminated without eliminating caching, it can be reduced to an
+ infrequent problem through the use of timeouts.
+
+ When name servers return resource records, each record has an
+ associated time-to-live (TTL) field. This field is expressed in
+ seconds, and has 16 bits of significance.
+
+ When a resolver caches a returned resource record it must also
+ remember the TTL field. The resolver must discard the record when
+ the equivalent amount of time has passed. If the resolver shares
+ a database with a name server, it must decrement the TTL field of
+ imported records periodically rather than simply deleting the
+ record. This strategy is necessary to avoid exporting a resource
+ record whose TTL field doesn't reflect the amount of time that the
+ resource record has been cached. Of course, the resolver should
+
+
+
+Mockapetris [Page 28]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+ not decrement the TTL fields of records for which the associated
+ name server is an authority.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 29]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+Appendix 1 - Domain Name Syntax Specification
+
+ The preferred syntax of domain names is given by the following BNF
+ rules. Adherence to this syntax will result in fewer problems with
+ many applications that use domain names (e.g., mail, TELNET). Note
+ that some applications described in [14] use domain names containing
+ binary information and hence do not follow this syntax.
+
+ <domain> ::= <subdomain> | " "
+
+ <subdomain> ::= <label> | <subdomain> "." <label>
+
+ <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
+
+ <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
+
+ <let-dig-hyp> ::= <let-dig> | "-"
+
+ <let-dig> ::= <letter> | <digit>
+
+ <letter> ::= any one of the 52 alphabetic characters A through Z
+ in upper case and a through z in lower case
+
+ <digit> ::= any one of the ten digits 0 through 9
+
+ Note that while upper and lower case letters are allowed in domain
+ names no significance is attached to the case. That is, two names
+ with the same spelling but different case are to be treated as if
+ identical.
+
+ The labels must follow the rules for ARPANET host names. They must
+ start with a letter, end with a letter or digit, and have as interior
+ characters only letters, digits, and hyphen. There are also some
+ restrictions on the length. Labels must be 63 characters or less.
+
+ For example, the following strings identify hosts in the ARPA
+ Internet:
+
+ F.ISI.ARPA LINKABIT-DCN5.ARPA UCL-TAC.ARPA
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 30]
+
+
+RFC 882 November 1983
+ Domain Names - Concepts and Facilities
+
+
+REFERENCES and BIBLIOGRAPHY
+
+ [1] E. Feinler, K. Harrenstien, Z. Su, and V. White, "DOD Internet
+ Host Table Specification", RFC 810, Network Information Center,
+ SRI International, March 1982.
+
+ [2] J. Postel, "Computer Mail Meeting Notes", RFC 805,
+ USC/Information Sciences Institute, February 1982.
+
+ [3] Z. Su, and J. Postel, "The Domain Naming Convention for Internet
+ User Applications", RFC 819, Network Information Center, SRI
+ International, August 1982.
+
+ [4] Z. Su, "A Distributed System for Internet Name Service",
+ RFC 830, Network Information Center, SRI International,
+ October 1982.
+
+ [5] K. Harrenstien, and V. White, "NICNAME/WHOIS", RFC 812, Network
+ Information Center, SRI International, March 1982.
+
+ [6] M. Solomon, L. Landweber, and D. Neuhengen, "The CSNET Name
+ Server", Computer Networks, vol 6, nr 3, July 1982.
+
+ [7] K. Harrenstien, "NAME/FINGER", RFC 742, Network Information
+ Center, SRI International, December 1977.
+
+ [8] J. Postel, "Internet Name Server", IEN 116, USC/Information
+ Sciences Institute, August 1979.
+
+ [9] K. Harrenstien, V. White, and E. Feinler, "Hostnames Server",
+ RFC 811, Network Information Center, SRI International,
+ March 1982.
+
+ [10] J. Postel, "Transmission Control Protocol", RFC 793,
+ USC/Information Sciences Institute, September 1981.
+
+ [11] J. Postel, "User Datagram Protocol", RFC 768, USC/Information
+ Sciences Institute, August 1980.
+
+ [12] J. Postel, "Simple Mail Transfer Protocol", RFC 821,
+ USC/Information Sciences Institute, August 1980.
+
+ [13] J. Reynolds, and J. Postel, "Assigned Numbers", RFC 870,
+ USC/Information Sciences Institute, October 1983.
+
+ [14] P. Mockapetris, "Domain Names - Implementation and
+ Specification", RFC 883, USC/Information Sciences Institute,
+ November 1983.
+
+
+
+Mockapetris [Page 31]
+
diff --git a/Documentation/en/rfc/rfc883.txt b/Documentation/en/rfc/rfc883.txt
new file mode 100644
index 00000000..bdffb524
--- /dev/null
+++ b/Documentation/en/rfc/rfc883.txt
@@ -0,0 +1,4349 @@
+
+Network Working Group P. Mockapetris
+Request for Comments: 883 ISI
+ November 1983
+
+ DOMAIN NAMES - IMPLEMENTATION and SPECIFICATION
+
+ +-----------------------------------------------------+
+ | |
+ | This memo discusses the implementation of domain |
+ | name servers and resolvers, specifies the format of |
+ | transactions, and discusses the use of domain names |
+ | in the context of existing mail systems and other |
+ | network software. |
+ | |
+ | This memo assumes that the reader is familiar with |
+ | RFC 882, "Domain Names - Concepts and Facilities" |
+ | which discusses the basic principles of domain |
+ | names and their use. |
+ | |
+ | The algorithms and internal data structures used in |
+ | this memo are offered as suggestions rather than |
+ | requirements; implementers are free to design their |
+ | own structures so long as the same external |
+ | behavior is achieved. |
+ | |
+ +-----------------------------------------------------+
+
+
+
+
+ +-----------------------------------------------+
+ | |
+ | ***** WARNING ***** |
+ | |
+ | This RFC contains format specifications which |
+ | are preliminary and are included for purposes |
+ | of explanation only. Do not attempt to use |
+ | this information for actual implementations. |
+ | |
+ +-----------------------------------------------+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page i]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+TABLE OF CONTENTS
+ INTRODUCTION........................................................3
+ Overview.........................................................3
+ Implementation components........................................2
+ Conventions......................................................6
+ Design philosophy................................................8
+ NAME SERVER TRANSACTIONS...........................................11
+ Introduction....................................................11
+ Query and response transport....................................11
+ Overall message format..........................................13
+ The contents of standard queries and responses..................15
+ Standard query and response example.............................15
+ The contents of inverse queries and responses...................17
+ Inverse query and response example..............................18
+ Completion queries and responses................................19
+ Completion query and response example...........................22
+ Recursive Name Service..........................................24
+ Header section format...........................................26
+ Question section format.........................................29
+ Resource record format..........................................30
+ Domain name representation and compression......................31
+ Organization of the Shared database.............................33
+ Query processing................................................36
+ Inverse query processing........................................37
+ Completion query processing.....................................38
+ NAME SERVER MAINTENANCE............................................39
+ Introduction....................................................39
+ Conceptual model of maintenance operations......................39
+ Name server data structures and top level logic.................41
+ Name server file loading........................................43
+ Name server file loading example................................45
+ Name server remote zone transfer................................47
+ RESOLVER ALGORITHMS................................................50
+ Operations......................................................50
+ DOMAIN SUPPORT FOR MAIL............................................52
+ Introduction....................................................52
+ Agent binding...................................................53
+ Mailbox binding.................................................54
+ Appendix 1 - Domain Name Syntax Specification......................56
+ Appendix 2 - Field formats and encodings...........................57
+ TYPE values.....................................................57
+ QTYPE values....................................................57
+ CLASS values....................................................58
+ QCLASS values...................................................58
+ Standard resource record formats................................59
+ Appendix 3 - Internet specific field formats and operations........67
+ REFERENCES and BIBLIOGRAPHY........................................72
+ INDEX..............................................................73
+
+
+
+Mockapetris [Page ii]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+INTRODUCTION
+
+ Overview
+
+ The goal of domain names is to provide a mechanism for naming
+ resources in such a way that the names are usable in different
+ hosts, networks, protocol families, internets, and administrative
+ organizations.
+
+ From the user's point of view, domain names are useful as
+ arguments to a local agent, called a resolver, which retrieves
+ information associated with the domain name. Thus a user might
+ ask for the host address or mail information associated with a
+ particular domain name. To enable the user to request a
+ particular type of information, an appropriate query type is
+ passed to the resolver with the domain name. To the user, the
+ domain tree is a single information space.
+
+ From the resolver's point of view, the database that makes up the
+ domain space is distributed among various name servers. Different
+ parts of the domain space are stored in different name servers,
+ although a particular data item will usually be stored redundantly
+ in two or more name servers. The resolver starts with knowledge
+ of at least one name server. When the resolver processes a user
+ query it asks a known name server for the information; in return,
+ the resolver either receives the desired information or a referral
+ to another name server. Using these referrals, resolvers learn
+ the identities and contents of other name servers. Resolvers are
+ responsible for dealing with the distribution of the domain space
+ and dealing with the effects of name server failure by consulting
+ redundant databases in other servers.
+
+ Name servers manage two kinds of data. The first kind of data
+ held in sets called zones; each zone is the complete database for
+ a particular subtree of the domain space. This data is called
+ authoritative. A name server periodically checks to make sure
+ that its zones are up to date, and if not obtains a new copy of
+ updated zones from master files stored locally or in another name
+ server. The second kind of data is cached data which was acquired
+ by a local resolver. This data may be incomplete but improves the
+ performance of the retrieval process when non-local data is
+ repeatedly accessed. Cached data is eventually discarded by a
+ timeout mechanism.
+
+ This functional structure isolates the problems of user interface,
+ failure recovery, and distribution in the resolvers and isolates
+ the database update and refresh problems in the name servers.
+
+
+
+
+Mockapetris [Page 1]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Implementation components
+
+ A host can participate in the domain name system in a number of
+ ways, depending on whether the host runs programs that retrieve
+ information from the domain system, name servers that answer
+ queries from other hosts, or various combinations of both
+ functions. The simplest, and perhaps most typical, configuration
+ is shown below:
+
+ Local Host | Foreign
+ |
+ +---------+ +----------+ | +--------+
+ | | user queries | |queries | | |
+ | User |-------------->| |---------|->|Foreign |
+ | Program | | Resolver | | | Name |
+ | |<--------------| |<--------|--| Server |
+ | | user responses| |responses| | |
+ +---------+ +----------+ | +--------+
+ | A |
+ cache additions | | references |
+ V | |
+ +----------+ |
+ | database | |
+ +----------+ |
+
+ User programs interact with the domain name space through
+ resolvers; the format of user queries and user responses is
+ specific to the host and its operating system. User queries will
+ typically be operating system calls, and the resolver and its
+ database will be part of the host operating system. Less capable
+ hosts may choose to implement the resolver as a subroutine to be
+ linked in with every program that needs its services.
+
+ Resolvers answer user queries with information they acquire via
+ queries to foreign name servers, and may also cache or reference
+ domain information in the local database.
+
+ Note that the resolver may have to make several queries to several
+ different foreign name servers to answer a particular user query,
+ and hence the resolution of a user query may involve several
+ network accesses and an arbitrary amount of time. The queries to
+ foreign name servers and the corresponding responses have a
+ standard format described in this memo, and may be datagrams.
+
+
+
+
+
+
+
+
+Mockapetris [Page 2]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Depending on its capabilities, a name server could be a stand
+ alone program on a dedicated machine or a process or processes on
+ a large timeshared host. A simple configuration might be:
+
+ Local Host | Foreign
+ |
+ +---------+ |
+ / /| |
+ +---------+ | +----------+ | +--------+
+ | | | | |responses| | |
+ | | | | Name |---------|->|Foreign |
+ | Master |-------------->| Server | | |Resolver|
+ | files | | | |<--------|--| |
+ | |/ | | queries | +--------+
+ +---------+ +----------+ |
+
+ Here the name server acquires information about one or more zones
+ by reading master files from its local file system, and answers
+ queries about those zones that arrive from foreign resolvers.
+
+ A more sophisticated name server might acquire zones from foreign
+ name servers as well as local master files. This configuration is
+ shown below:
+
+ Local Host | Foreign
+ |
+ +---------+ |
+ / /| |
+ +---------+ | +----------+ | +--------+
+ | | | | |responses| | |
+ | | | | Name |---------|->|Foreign |
+ | Master |-------------->| Server | | |Resolver|
+ | files | | | |<--------|--| |
+ | |/ | | queries | +--------+
+ +---------+ +----------+ |
+ A |maintenance | +--------+
+ | \------------|->| |
+ | queries | |Foreign |
+ | | | Name |
+ \------------------|--| Server |
+ maintenance responses | +--------+
+
+ In this configuration, the name server periodically establishes a
+ virtual circuit to a foreign name server to acquire a copy of a
+ zone or to check that an existing copy has not changed. The
+ messages sent for these maintenance activities follow the same
+ form as queries and responses, but the message sequences are
+ somewhat different.
+
+
+
+Mockapetris [Page 3]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ The information flow in a host that supports all aspects of the
+ domain name system is shown below:
+
+ Local Host | Foreign
+ |
+ +---------+ +----------+ | +--------+
+ | | user queries | |queries | | |
+ | User |-------------->| |---------|->|Foreign |
+ | Program | | Resolver | | | Name |
+ | |<--------------| |<--------|--| Server |
+ | | user responses| |responses| | |
+ +---------+ +----------+ | +--------+
+ | A |
+ cache additions | | references |
+ V | |
+ +----------+ |
+ | Shared | |
+ | database | |
+ +----------+ |
+ A | |
+ +---------+ refreshes | | references |
+ / /| | V |
+ +---------+ | +----------+ | +--------+
+ | | | | |responses| | |
+ | | | | Name |---------|->|Foreign |
+ | Master |-------------->| Server | | |Resolver|
+ | files | | | |<--------|--| |
+ | |/ | | queries | +--------+
+ +---------+ +----------+ |
+ A |maintenance | +--------+
+ | \------------|->| |
+ | queries | |Foreign |
+ | | | Name |
+ \------------------|--| Server |
+ maintenance responses | +--------+
+
+ The shared database holds domain space data for the local name
+ server and resolver. The contents of the shared database will
+ typically be a mixture of authoritative data maintained by the
+ periodic refresh operations of the name server and cached data
+ from previous resolver requests. The structure of the domain data
+ and the necessity for synchronization between name servers and
+ resolvers imply the general characteristics of this database, but
+ the actual format is up to the local implementer. This memo
+ suggests a multiple tree format.
+
+
+
+
+
+
+Mockapetris [Page 4]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ This memo divides the implementation discussion into sections:
+
+ NAME SERVER TRANSACTIONS, which discusses the formats for name
+ servers queries and the corresponding responses.
+
+ NAME SERVER MAINTENANCE, which discusses strategies,
+ algorithms, and formats for maintaining the data residing in
+ name servers. These services periodically refresh the local
+ copies of zones that originate in other hosts.
+
+ RESOLVER ALGORITHMS, which discusses the internal structure of
+ resolvers. This section also discusses data base sharing
+ between a name server and a resolver on the same host.
+
+ DOMAIN SUPPORT FOR MAIL, which discusses the use of the domain
+ system to support mail transfer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 5]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Conventions
+
+ The domain system has several conventions dealing with low-level,
+ but fundamental, issues. While the implementer is free to violate
+ these conventions WITHIN HIS OWN SYSTEM, he must observe these
+ conventions in ALL behavior observed from other hosts.
+
+ ********** Data Transmission Order **********
+
+ The order of transmission of the header and data described in this
+ document is resolved to the octet level. Whenever a diagram shows
+ a group of octets, the order of transmission of those octets is
+ the normal order in which they are read in English. For example,
+ in the following diagram the octets are transmitted in the order
+ they are numbered.
+
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 1 | 2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 3 | 4 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 5 | 6 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Transmission Order of Bytes
+
+ Whenever an octet represents a numeric quantity the left most bit
+ in the diagram is the high order or most significant bit. That
+ is, the bit labeled 0 is the most significant bit. For example,
+ the following diagram represents the value 170 (decimal).
+
+
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |1 0 1 0 1 0 1 0|
+ +-+-+-+-+-+-+-+-+
+
+ Significance of Bits
+
+ Similarly, whenever a multi-octet field represents a numeric
+ quantity the left most bit of the whole field is the most
+ significant bit. When a multi-octet quantity is transmitted the
+ most significant octet is transmitted first.
+
+
+
+
+
+Mockapetris [Page 6]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ ********** Character Case **********
+
+ All comparisons between character strings (e.g. labels, domain
+ names, etc.) are done in a case-insensitive manner.
+
+ When data enters the domain system, its original case should be
+ preserved whenever possible. In certain circumstances this cannot
+ be done. For example, if two domain names x.y and X.Y are entered
+ into the domain database, they are interpreted as the same name,
+ and hence may have a single representation. The basic rule is
+ that case can be discarded only when data is used to define
+ structure in a database, and two names are identical when compared
+ in a case insensitive manner.
+
+ Loss of case sensitive data must be minimized. Thus while data
+ for x.y and X.Y may both be stored under x.y, data for a.x and B.X
+ can be stored as a.x and B.x, but not A.x, A.X, b.x, or b.X. In
+ general, this prevents the first component of a domain name from
+ loss of case information.
+
+ Systems administrators who enter data into the domain database
+ should take care to represent the data they supply to the domain
+ system in a case-consistent manner if their system is
+ case-sensitive. The data distribution system in the domain system
+ will ensure that consistent representations are preserved.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 7]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Design philosophy
+
+ The design presented in this memo attempts to provide a base which
+ will be suitable for several existing networks. An equally
+ important goal is to provide these services within a framework
+ that is capable of adjustment to fit the evolution of services in
+ early clients as well as to accommodate new networks.
+
+ Since it is impossible to predict the course of these
+ developments, the domain system attempts to provide for evolution
+ in the form of an extensible framework. This section describes
+ the areas in which we expect to see immediate evolution.
+
+ DEFINING THE DATABASE
+
+ This memo defines methods for partitioning the database and data
+ for host names, host addresses, gateway information, and mail
+ support. Experience with this system will provide guidance for
+ future additions.
+
+ While the present system allows for many new RR types, classes,
+ etc., we feel that it is more important to get the basic services
+ in operation than to cover an exhaustive set of information.
+ Hence we have limited the data types to those we felt were
+ essential, and would caution designers to avoid implementations
+ which are based on the number of existing types and classes.
+ Extensibility in this area is very important.
+
+ While the domain system provides techniques for partitioning the
+ database, policies for administrating the orderly connection of
+ separate domains and guidelines for constructing the data that
+ makes up a particular domain will be equally important to the
+ success of the system. Unfortunately, we feel that experience
+ with prototype systems will be necessary before this question can
+ be properly addressed. Thus while this memo has minimal
+ discussion of these issues, it is a critical area for development.
+
+ TYING TOGETHER INTERNETS
+
+ Although it is very difficult to characterize the types of
+ networks, protocols, and applications that will be clients of the
+ domain system, it is very obvious that some of these applications
+ will cross the boundaries of network and protocol. At the very
+ least, mail is such a service.
+
+ Attempts to unify two such systems must deal with two major
+ problems:
+
+ 1. Differing formats for environment sensitive data. For example,
+
+
+Mockapetris [Page 8]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ network addresses vary in format, and it is unreasonable to
+ expect to enforce consistent conventions.
+
+ 2. Connectivity may require intermediaries. For example, it is a
+ frequent occurence that mail is sent between hosts that share
+ no common protocol.
+
+ The domain system acknowledges that these are very difficult
+ problems, and attempts to deal with both problems through its
+ CLASS mechanism:
+
+ 1. The CLASS field in RRs allows data to be tagged so that all
+ programs in the domain system can identify the format in use.
+
+ 2. The CLASS field allows the requestor to identify the format of
+ data which can be understood by the requestor.
+
+ 3. The CLASS field guides the search for the requested data.
+
+ The last point is central to our approach. When a query crosses
+ protocol boundaries, it must be guided though agents capable of
+ performing whatever translation is required. For example, when a
+ mailer wants to identify the location of a mailbox in a portion of
+ the domain system that doesn't have a compatible protocol, the
+ query must be guided to a name server that can cross the boundary
+ itself or form one link in a chain that can span the differences.
+
+ If query and response transport were the only problem, then this
+ sort of problem could be dealt with in the name servers
+ themselves. However, the applications that will use domain
+ service have similar problems. For example, mail may need to be
+ directed through mail gateways, and the characteristics of one of
+ the environments may not permit frequent connectivity between name
+ servers in all environments.
+
+ These problems suggest that connectivity will be achieved through
+ a variety of measures:
+
+ Translation name servers that act as relays between different
+ protocols.
+
+ Translation application servers that translate application
+ level transactions.
+
+ Default database entries that route traffic through application
+ level forwarders in ways that depend on the class of the
+ requestor.
+
+ While this approach seems best given our current understanding of
+
+
+Mockapetris [Page 9]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ the problem, we realize that the approach of using resource data
+ that transcends class may be appropriate in future designs or
+ applications. By not defining class to be directly related to
+ protocol, network, etc., we feel that such services could be added
+ by defining a new "universal" class, while the present use of
+ class will provide immediate service.
+
+ This problem requires more thought and experience before solutions
+ can be discovered. The concepts of CLASS, recursive servers and
+ other mechanisms are intended as tools for acquiring experience
+ and not as final solutions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 10]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+NAME SERVER TRANSACTIONS
+
+ Introduction
+
+ The primary purpose of name servers is to receive queries from
+ resolvers and return responses. The overall model of this service
+ is that a program (typically a resolver) asks the name server
+ questions (queries) and gets responses that either answer the
+ question or refer the questioner to another name server. Other
+ functions related to name server database maintenance use similar
+ procedures and formats and are discussed in a section later in
+ this memo.
+
+ There are three kinds of queries presently defined:
+
+ 1. Standard queries that ask for a specified resource attached
+ to a given domain name.
+
+ 2. Inverse queries that specify a resource and ask for a domain
+ name that possesses that resource.
+
+ 3. Completion queries that specify a partial domain name and a
+ target domain and ask that the partial domain name be
+ completed with a domain name close to the target domain.
+
+ This memo uses an unqualified reference to queries to refer to
+ either all queries or standard queries when the context is clear.
+
+ Query and response transport
+
+ Name servers and resolvers use a single message format for all
+ communications. The message format consists of a variable-length
+ octet string which includes binary values.
+
+ The messages used in the domain system are designed so that they
+ can be carried using either datagrams or virtual circuits. To
+ accommodate the datagram style, all responses carry the query as
+ part of the response.
+
+ While the specification allows datagrams to be used in any
+ context, some activities are ill suited to datagram use. For
+ example, maintenance transactions and recursive queries typically
+ require the error control of virtual circuits. Thus datagram use
+ should be restricted to simple queries.
+
+ The domain system assumes that a datagram service provides:
+
+ 1. A non-reliable (i.e. best effort) method of transporting a
+ message of up to 512 octets.
+
+
+Mockapetris [Page 11]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Hence datagram messages are limited to 512 octets. If a
+ datagram message would exceed 512 octets, it is truncated
+ and a truncation flag is set in its header.
+
+ 2. A message size that gives the number of octets in the
+ datagram.
+
+ The main implications for programs accessing name servers via
+ datagrams are:
+
+ 1. Datagrams should not be used for maintenance transactions
+ and recursive queries.
+
+ 2. Since datagrams may be lost, the originator of a query must
+ perform error recovery (such as retransmissions) as
+ appropriate.
+
+ 3. Since network or host delay may cause retransmission when a
+ datagram has not been lost, the originator of a query must
+ be ready to deal with duplicate responses.
+
+ The domain system assumes that a virtual circuit service provides:
+
+ 1. A reliable method of transmitting a message of up to 65535
+ octets.
+
+ 2. A message size that gives the number of octets in the
+ message.
+
+ If the virtual circuit service does not provide for message
+ boundary detection or limits transmission size to less than
+ 65535 octets, then messages are prefaced with an unsigned 16
+ bit length field and broken up into separate transmissions
+ as required. The length field is only prefaced on the first
+ message. This technique is used for TCP virtual circuits.
+
+ 3. Multiple messages may be sent over a virtual circuit.
+
+ 4. A method for closing a virtual circuit.
+
+ 5. A method for detecting that the other party has requested
+ that the virtual circuit be closed.
+
+ The main implications for programs accessing name servers via
+ virtual circuits are:
+
+ 1. Either end of a virtual circuit may initiate a close when
+ there is no activity in progress. The other end should
+ comply.
+
+
+Mockapetris [Page 12]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ The decision to initiate a close is a matter of individual
+ site policy; some name servers may leave a virtual circuit
+ open for an indeterminate period following a query to allow
+ for subsequent queries; other name servers may choose to
+ initiate a close following the completion of the first query
+ on a virtual circuit. Of course, name servers should not
+ close the virtual circuit in the midst of a multiple message
+ stream used for zone transfer.
+
+ 2. Since network delay may cause one end to erroneously believe
+ that no activity is in progress, a program which receives a
+ virtual circuit close while a query is in progress should
+ close the virtual circuit and resubmit the query on a new
+ virtual circuit.
+
+ All messages may use a compression scheme to reduce the space
+ consumed by repetitive domain names. The use of the compression
+ scheme is optional for the sender of a message, but all receivers
+ must be capable of decoding compressed domain names.
+
+ Overall message format
+
+ All messages sent by the domain system are divided into 5 sections
+ (some of which are empty in certain cases) shown below:
+
+ +---------------------+
+ | Header |
+ +---------------------+
+ | Question | the question for the name server
+ +---------------------+
+ | Answer | answering resource records (RRs)
+ +---------------------+
+ | Authority | RRs pointing toward an authority
+ +---------------------+
+ | Additional | RRs holding pertinent information
+ +---------------------+
+
+ The header section is always present. The header includes fields
+ that specify which of the remaining sections are present, and also
+ specify whether the message is a query, inverse query, completion
+ query, or response.
+
+ The question section contains fields that describe a question to a
+ name server. These fields are a query type (QTYPE), a query class
+ (QCLASS), and a query domain name (QNAME).
+
+ The last three sections have the same format: a possibly empty
+ list of concatenated resource records (RRs). The answer section
+ contains RRs that answer the question; the authority section
+
+
+Mockapetris [Page 13]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ contains RRs that point toward an authoritative name server; the
+ additional records section contains RRs which relate to the query,
+ but are not strictly answers for the question.
+
+ The next two sections of this memo illustrate the use of these
+ message sections through examples; a detailed discussion of data
+ formats follows the examples.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 14]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ The contents of standard queries and responses
+
+ When a name server processes a standard query, it first determines
+ whether it is an authority for the domain name specified in the
+ query.
+
+ If the name server is an authority, it returns either:
+
+ 1. the specified resource information
+
+ 2. an indication that the specified name does not exist
+
+ 3. an indication that the requested resource information does
+ not exist
+
+ If the name server is not an authority for the specified name, it
+ returns whatever relevant resource information it has along with
+ resource records that the requesting resolver can use to locate an
+ authoritative name server.
+
+ Standard query and response example
+
+ The overall structure of a query for retrieving information for
+ Internet mail for domain F.ISI.ARPA is shown below:
+
+ +-----------------------------------------+
+ Header | OPCODE=QUERY, ID=2304 |
+ +-----------------------------------------+
+ Question |QTYPE=MAILA, QCLASS=IN, QNAME=F.ISI.ARPA |
+ +-----------------------------------------+
+ Answer | <empty> |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | <empty> |
+ +-----------------------------------------+
+
+ The header includes an opcode field that specifies that this
+ datagram is a query, and an ID field that will be used to
+ associate replies with the original query. (Some additional
+ header fields have been omitted for clarity.) The question
+ section specifies that the type of the query is for mail agent
+ information, that only ARPA Internet information is to be
+ considered, and that the domain name of interest is F.ISI.ARPA.
+ The remaining sections are empty, and would not use any octets in
+ a real query.
+
+
+
+
+
+Mockapetris [Page 15]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ One possible response to this query might be:
+
+ +-----------------------------------------+
+ Header | OPCODE=RESPONSE, ID=2304 |
+ +-----------------------------------------+
+ Question |QTYPE=MAILA, QCLASS=IN, QNAME=F.ISI.ARPA |
+ +-----------------------------------------+
+ Answer | <empty> |
+ +-----------------------------------------+
+ Authority | ARPA NS IN A.ISI.ARPA |
+ | ------- |
+ | ARPA NS IN F.ISI.ARPA |
+ +-----------------------------------------+
+ Additional | F.ISI.ARPA A IN 10.2.0.52 |
+ | ------- |
+ | A.ISI.ARPA A IN 10.1.0.22 |
+ +-----------------------------------------+
+
+ This type of response would be returned by a name server that was
+ not an authority for the domain name F.ISI.ARPA. The header field
+ specifies that the datagram is a response to a query with an ID of
+ 2304. The question section is copied from the question section in
+ the query datagram.
+
+ The answer section is empty because the name server did not have
+ any information that would answer the query. (Name servers may
+ happen to have cached information even if they are not
+ authoritative for the query.)
+
+ The best that this name server could do was to pass back
+ information for the domain ARPA. The authority section specifies
+ two name servers for the domain ARPA using the Internet family:
+ A.ISI.ARPA and F.ISI.ARPA. Note that it is merely a coincidence
+ that F.ISI.ARPA is a name server for ARPA as well as the subject
+ of the query.
+
+ In this case, the name server included in the additional records
+ section the Internet addresses for the two hosts specified in the
+ authority section. Such additional data is almost always
+ available.
+
+ Given this response, the process that originally sent the query
+ might resend the query to the name server on A.ISI.ARPA, with a
+ new ID of 2305.
+
+
+
+
+
+
+
+Mockapetris [Page 16]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ The name server on A.ISI.ARPA might return a response:
+
+ +-----------------------------------------+
+ Header | OPCODE=RESPONSE, ID=2305 |
+ +-----------------------------------------+
+ Question |QTYPE=MAILA, QCLASS=IN, QNAME=F.ISI.ARPA |
+ +-----------------------------------------+
+ Answer | F.ISI.ARPA MD IN F.ISI.ARPA |
+ | ------- |
+ | F.ISI.ARPA MF IN A.ISI.ARPA |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | F.ISI.ARPA A IN 10.2.0.52 |
+ | ------- |
+ | A.ISI.ARPA A IN 10.1.0.22 |
+ +-----------------------------------------+
+
+ This query was directed to an authoritative name server, and hence
+ the response includes an answer but no authority records. In this
+ case, the answer section specifies that mail for F.ISI.ARPA can
+ either be delivered to F.ISI.ARPA or forwarded to A.ISI.ARPA. The
+ additional records section specifies the Internet addresses of
+ these hosts.
+
+ The contents of inverse queries and responses
+
+ Inverse queries reverse the mappings performed by standard query
+ operations; while a standard query maps a domain name to a
+ resource, an inverse query maps a resource to a domain name. For
+ example, a standard query might bind a domain name to a host
+ address; the corresponding inverse query binds the host address to
+ a domain name.
+
+ Inverse query mappings are not guaranteed to be unique or complete
+ because the domain system does not have any internal mechanism for
+ determining authority from resource records that parallels the
+ capability for determining authority as a function of domain name.
+ In general, resolvers will be configured to direct inverse queries
+ to a name server which is known to have the desired information.
+
+ Name servers are not required to support any form of inverse
+ queries; it is anticipated that most name servers will support
+ address to domain name conversions, but no other inverse mappings.
+ If a name server receives an inverse query that it does not
+ support, it returns an error response with the "Not Implemented"
+ error set in the header. While inverse query support is optional,
+ all name servers must be at least able to return the error
+ response.
+
+
+Mockapetris [Page 17]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ When a name server processes an inverse query, it either returns:
+
+ 1. zero, one, or multiple domain names for the specified
+ resource
+
+ 2. an error code indicating that the name server doesn't
+ support inverse mapping of the specified resource type.
+
+ Inverse query and response example
+
+ The overall structure of an inverse query for retrieving the
+ domain name that corresponds to Internet address 10.2.0.52 is
+ shown below:
+
+ +-----------------------------------------+
+ Header | OPCODE=IQUERY, ID=997 |
+ +-----------------------------------------+
+ Question | <empty> |
+ +-----------------------------------------+
+ Answer | <anyname> A IN 10.2.0.52 |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | <empty> |
+ +-----------------------------------------+
+
+ This query asks for a question whose answer is the Internet style
+ address 10.2.0.52. Since the owner name is not known, any domain
+ name can be used as a placeholder (and is ignored). The response
+ to this query might be:
+
+ +-----------------------------------------+
+ Header | OPCODE=RESPONSE, ID=997 |
+ +-----------------------------------------+
+ Question | QTYPE=A, QCLASS=IN, QNAME=F.ISI.ARPA |
+ +-----------------------------------------+
+ Answer | F.ISI.ARPA A IN 10.2.0.52 |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | <empty> |
+ +-----------------------------------------+
+
+ Note that the QTYPE in a response to an inverse query is the same
+ as the TYPE field in the answer section of the inverse query.
+ Responses to inverse queries may contain multiple questions when
+ the inverse is not unique.
+
+
+
+
+Mockapetris [Page 18]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Completion queries and responses
+
+ Completion queries ask a name server to complete a partial domain
+ name and return a set of RRs whose domain names meet a specified
+ set of criteria for "closeness" to the partial input. This type
+ of query can provide a local shorthand for domain names or command
+ completion similar to that in TOPS-20.
+
+ Implementation of completion query processing is optional in a
+ name server. However, a name server must return a "Not
+ Implemented" (NI) error response if it does not support
+ completion.
+
+ The arguments in a completion query specify:
+
+ 1. A type in QTYPE that specifies the type of the desired name.
+ The type is used to restrict the type of RRs which will match
+ the partial input so that completion queries can be used for
+ mailbox names, host names, or any other type of RR in the
+ domain system without concern for matches to the wrong type of
+ resource.
+
+ 2. A class in QCLASS which specifies the desired class of the RR.
+
+ 3. A partial domain name that gives the input to be completed.
+ All returned RRs will begin with the partial string. The
+ search process first looks for names which qualify under the
+ assumption that the partial string ends with a full label
+ ("whole label match"); if this search fails, the search
+ continues under the assumption that the last label in the
+ partial sting may be an incomplete label ("partial label
+ match"). For example, if the partial string "Smith" was used
+ in a mailbox completion, it would match Smith@ISI.ARPA in
+ preference to Smithsonian@ISI.ARPA.
+
+ The partial name is supplied by the user through the user
+ program that is using domain services. For example, if the
+ user program is a mail handler, the string might be "Mockap"
+ which the user intends as a shorthand for the mailbox
+ Mockapetris@ISI.ARPA; if the user program is TELNET, the user
+ might specify "F" for F.ISI.ARPA.
+
+ In order to make parsing of messages consistent, the partial
+ name is supplied in domain name format (i.e. a sequence of
+ labels terminated with a zero length octet). However, the
+ trailing root label is ignored during matching.
+
+ 4. A target domain name which specifies the domain which is to be
+ examined for matches. This name is specified in the additional
+
+
+Mockapetris [Page 19]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ section using a NULL RR. All returned names will end with the
+ target name.
+
+ The user program which constructs the query uses the target
+ name to restrict the search. For example, user programs
+ running at ISI might restrict completion to names that end in
+ ISI.ARPA; user programs running at MIT might restrict
+ completion to the domain MIT.ARPA.
+
+ The target domain name is also used by the resolver to
+ determine the name server which should be used to process the
+ query. In general, queries should be directed to a name server
+ that is authoritative for the target domain name. User
+ programs which wish to provide completion for a more than one
+ target can issue multiple completion queries, each directed at
+ a different target. Selection of the target name and the
+ number of searches will depend on the goals of the user
+ program.
+
+ 5. An opcode for the query. The two types of completion queries
+ are "Completion Query - Multiple", or CQUERYM, which asks for
+ all RRs which could complete the specified input, and
+ "Completion Query - Unique", or CQUERYU, which asks for the
+ "best" completion.
+
+ CQUERYM is used by user programs which want to know if
+ ambiguities exist or wants to do its own determinations as to
+ the best choice of the available candidates.
+
+ CQUERYU is used by user programs which either do not wish to
+ deal with multiple choices or are willing to use the closeness
+ criteria used by CQUERYU to select the best match.
+
+ When a name server receives either completion query, it first
+ looks for RRs that begin (on the left) with the same labels as are
+ found in QNAME (with the root deleted), and which match the QTYPE
+ and QCLASS. This search is called "whole label" matching. If one
+ or more hits are found the name server either returns all of the
+ hits (CQUERYM) or uses the closeness criteria described below to
+ eliminate all but one of the matches (CQUERYU).
+
+ If the whole label match fails to find any candidates, then the
+ name server assumes that the rightmost label of QNAME (after root
+ deletion) is not a complete label, and looks for candidates that
+ would match if characters were added (on the right) to the
+ rightmost label of QNAME. If one or more hits are found the name
+ server either returns all of the hits (CQUERYM) or uses the
+ closeness criteria described below to eliminate all but one of the
+ matches (CQUERYU).
+
+
+Mockapetris [Page 20]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ If a CQUERYU query encounters multiple hits, it uses the following
+ sequence of rules to discard multiple hits:
+
+ 1. Discard candidates that have more labels than others. Since
+ all candidates start with the partial name and end with the
+ target name, this means that we select those entries that
+ require the fewest number of added labels. For example, a host
+ search with a target of "ISI.ARPA" and a partial name of "A"
+ will select A.ISI.ARPA in preference to A.IBM-PCS.ISI.ARPA.
+
+ 2. If partial label matching was used, discard those labels which
+ required more characters to be added. For example, a mailbox
+ search for partial "X" and target "ISI.ARPA" would prefer
+ XX@ISI.ARPA to XYZZY@ISI.ARPA.
+
+ If multiple hits are still present, return all hits.
+
+ Completion query mappings are not guaranteed to be unique or
+ complete because the domain system does not have any internal
+ mechanism for determining authority from a partial domain name
+ that parallels the capability for determining authority as a
+ function of a complete domain name. In general, resolvers will be
+ configured to direct completion queries to a name server which is
+ known to have the desired information.
+
+ When a name server processes a completion query, it either
+ returns:
+
+ 1. An answer giving zero, one, or more possible completions.
+
+ 2. an error response with Not Implemented (NI) set.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 21]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Completion query and response example
+
+ Suppose that the completion service was used by a TELNET program
+ to allow a user to specify a partial domain name for the desired
+ host. Thus a user might ask to be connected to "B". Assuming
+ that the query originated from an ISI machine, the query might
+ look like:
+
+ +-----------------------------------------+
+ Header | OPCODE=CQUERYU, ID=409 |
+ +-----------------------------------------+
+ Question | QTYPE=A, QCLASS=IN, QNAME=B |
+ +-----------------------------------------+
+ Answer | <empty> |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | ISI.ARPA NULL IN |
+ +-----------------------------------------+
+
+ The partial name in the query is "B", the mappings of interest are
+ ARPA Internet address records, and the target domain is ISI.ARPA.
+ Note that NULL is a special type of NULL resource record that is
+ used as a placeholder and has no significance; NULL RRs obey the
+ standard format but have no other function.
+
+ The response to this completion query might be:
+
+ +-----------------------------------------+
+ Header | OPCODE=RESPONSE, ID=409 |
+ +-----------------------------------------+
+ Question | QTYPE=A, QCLASS=IN, QNAME=B |
+ +-----------------------------------------+
+ Answer | B.ISI.ARPA A IN 10.3.0.52 |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | ISI.ARPA NULL IN |
+ +-----------------------------------------+
+
+ This response has completed B to mean B.ISI.ARPA.
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 22]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Another query might be:
+
+ +-----------------------------------------+
+ Header | OPCODE=CQUERYM, ID=410 |
+ +-----------------------------------------+
+ Question | QTYPE=A, QCLASS=IN, QNAME=B |
+ +-----------------------------------------+
+ Answer | <empty> |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | ARPA NULL IN |
+ +-----------------------------------------+
+
+ This query is similar to the previous one, but specifies a target
+ of ARPA rather than ISI.ARPA. It also allows multiple matches.
+ In this case the same name server might return:
+
+ +-----------------------------------------+
+ Header | OPCODE=RESPONSE, ID=410 |
+ +-----------------------------------------+
+ Question | QTYPE=A, QCLASS=IN, QNAME=B |
+ +-----------------------------------------+
+ Answer | B.ISI.ARPA A IN 10.3.0.52 |
+ | - |
+ | B.BBN.ARPA A IN 10.0.0.49 |
+ | - |
+ | B.BBNCC.ARPA A IN 8.1.0.2 |
+ +-----------------------------------------+
+ Authority | <empty> |
+ +-----------------------------------------+
+ Additional | ARPA NULL IN |
+ +-----------------------------------------+
+
+ This response contains three answers, B.ISI.ARPA, B.BBN.ARPA, and
+ B.BBNCC.ARPA.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 23]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Recursive Name Service
+
+ Recursive service is an optional feature of name servers.
+
+ When a name server receives a query regarding a part of the name
+ space which is not in one of the name server's zones, the standard
+ response is a message that refers the requestor to another name
+ server. By iterating on these referrals, the requestor eventually
+ is directed to a name server that has the required information.
+
+ Name servers may also implement recursive service. In this type
+ of service, a name server either answers immediately based on
+ local zone information, or pursues the query for the requestor and
+ returns the eventual result back to the original requestor.
+
+ A name server that supports recursive service sets the Recursion
+ Available (RA) bit in all responses it generates. A requestor
+ asks for recursive service by setting the Recursion Desired (RD)
+ bit in queries. In some situations where recursive service is the
+ only path to the desired information (see below), the name server
+ may go recursive even if RD is zero.
+
+ If a query requests recursion (RD set), but the name server does
+ not support recursion, and the query needs recursive service for
+ an answer, the name server returns a "Not Implemented" (NI) error
+ code. If the query can be answered without recursion since the
+ name server is authoritative for the query, it ignores the RD bit.
+
+ Because of the difficulty in selecting appropriate timeouts and
+ error handling, recursive service is best suited to virtual
+ circuits, although it is allowed for datagrams.
+
+ Recursive service is valuable in several special situations:
+
+ In a system of small personal computers clustered around one or
+ more large hosts supporting name servers, the recursive
+ approach minimizes the amount of code in the resolvers in the
+ personal computers. Such a design moves complexity out of the
+ resolver into the name server, and may be appropriate for such
+ systems.
+
+ Name servers on the boundaries of different networks may wish
+ to offer recursive service to create connectivity between
+ different networks. Such name servers may wish to provide
+ recursive service regardless of the setting of RD.
+
+ Name servers that translate between domain name service and
+ some other name service may wish to adopt the recursive style.
+ Implicit recursion may be valuable here as well.
+
+
+Mockapetris [Page 24]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ These concepts are still under development.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 25]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Header section format
+
+ +-----------------------------------------------+
+ | |
+ | ***** WARNING ***** |
+ | |
+ | The following format is preliminary and is |
+ | included for purposes of explanation only. In |
+ | particular, the size and position of the |
+ | OPCODE, RCODE fields and the number and |
+ | meaning of the single bit fields are subject |
+ | to change. |
+ | |
+ +-----------------------------------------------+
+
+ The header contains the following fields:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ID |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ |QR| Opcode |AA|TC|RD|RA| | RCODE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QDCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ANCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | NSCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ARCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ ID - A 16 bit identifier assigned by the program that
+ generates any kind of query. This identifier is copied
+ into all replies and can be used by the requestor to
+ relate replies to outstanding questions.
+
+ QR - A one bit field that specifies whether this message is a
+ query (0), or a response (1).
+
+ OPCODE - A four bit field that specifies kind of query in this
+ message. This value is set by the originator of a query
+ and copied into the response. The values are:
+
+ 0 a standard query (QUERY)
+
+
+
+Mockapetris [Page 26]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ 1 an inverse query (IQUERY)
+
+ 2 an completion query allowing multiple
+ answers (CQUERYM)
+
+ 2 an completion query requesting a single
+ answer (CQUERYU)
+
+ 4-15 reserved for future use
+
+ AA - Authoritative Answer - this bit is valid in responses,
+ and specifies that the responding name server
+ is an authority for the domain name in the
+ corresponding query.
+
+ TC - TrunCation - specifies that this message was truncated
+ due to length greater than 512 characters.
+ This bit is valid in datagram messages but not
+ in messages sent over virtual circuits.
+
+ RD - Recursion Desired - this bit may be set in a query and
+ is copied into the response. If RD is set, it
+ directs the name server to pursue the query
+ recursively. Recursive query support is
+ optional.
+
+ RA - Recursion Available - this be is set or cleared in a
+ response, and denotes whether recursive query
+ support is available in the name server.
+
+ RCODE - Response code - this 4 bit field is set as part of
+ responses. The values have the following
+ interpretation:
+
+ 0 No error condition
+
+ 1 Format error - The name server was unable
+ to interpret the query.
+
+ 2 Server failure - The name server was unable
+ to process this query due to a problem with
+ the name server.
+
+ 3 Name Error - Meaningful only for responses
+ from an authoritative name server, this
+ code signifies that the domain name
+ referenced in the query does not exist.
+
+
+
+
+Mockapetris [Page 27]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ 4 Not Implemented - The name server does not
+ support the requested kind of query.
+
+ 5 Refused - The name server refuses to
+ perform the specified operation for policy
+ reasons. For example, a name server may
+ not wish to provide the information to the
+ particular requestor, or a name server may
+ not wish to perform a particular operation
+ (e.g. zone transfer) for particular data.
+
+ 6-15 Reserved for future use.
+
+ QDCOUNT - an unsigned 16 bit integer specifying the number of
+ entries in the question section.
+
+ ANCOUNT - an unsigned 16 bit integer specifying the number of
+ resource records in the answer section.
+
+ NSCOUNT - an unsigned 16 bit integer specifying the number of name
+ server resource records in the authority records
+ section.
+
+ ARCOUNT - an unsigned 16 bit integer specifying the number of
+ resource records in the additional records section.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 28]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Question section format
+
+ The question section is used in all kinds of queries other than
+ inverse queries. In responses to inverse queries, this section
+ may contain multiple entries; for all other responses it contains
+ a single entry. Each entry has the following format:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / QNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QTYPE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QCLASS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ QNAME - a variable number of octets that specify a domain name.
+ This field uses the compressed domain name format
+ described in the next section of this memo. This field
+ can be used to derive a text string for the domain name.
+ Note that this field may be an odd number of octets; no
+ padding is used.
+
+ QTYPE - a two octet code which specifies the type of the query.
+ The values for this field include all codes valid for a
+ TYPE field, together with some more general codes which
+ can match more than one type of RR. For example, QTYPE
+ might be A and only match type A RRs, or might be MAILA,
+ which matches MF and MD type RRs. The values for this
+ field are listed in Appendix 2.
+
+ QCLASS - a two octet code that specifies the class of the query.
+ For example, the QCLASS field is IN for the ARPA
+ Internet, CS for the CSNET, etc. The numerical values
+ are defined in Appendix 2.
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 29]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Resource record format
+
+ The answer, authority, and additional sections all share the same
+ format: a variable number of resource records, where the number of
+ records is specified in the corresponding count field in the
+ header. Each resource record has the following format:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / /
+ / NAME /
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TYPE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | CLASS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TTL |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RDLENGTH |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
+ / RDATA /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ NAME - a compressed domain name to which this resource record
+ pertains.
+
+ TYPE - two octets containing one of the RR type codes defined
+ in Appendix 2. This field specifies the meaning of the
+ data in the RDATA field.
+
+ CLASS - two octets which specify the class of the data in the
+ RDATA field.
+
+ TTL - a 16 bit unsigned integer that specifies the time
+ interval (in seconds) that the resource record may be
+ cached before it should be discarded. Zero values are
+ interpreted to mean that the RR can only be used for the
+ transaction in progress, and should not be cached. For
+ example, SOA records are always distributed with a zero
+ TTL to prohibit caching. Zero values can also be used
+ for extremely volatile data.
+
+
+
+
+Mockapetris [Page 30]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ RDLENGTH- an unsigned 16 bit integer that specifies the length in
+ octets of the RDATA field.
+
+ RDATA - a variable length string of octets that describes the
+ resource. The format of this information varies
+ according to the TYPE and CLASS of the resource record.
+ For example, the if the TYPE is A and the CLASS is IN,
+ the RDATA field is a 4 octet ARPA Internet address.
+
+ Formats for particular resource records are shown in Appendicies 2
+ and 3.
+
+ Domain name representation and compression
+
+ Domain names messages are expressed in terms of a sequence of
+ labels. Each label is represented as a one octet length field
+ followed by that number of octets. Since every domain name ends
+ with the null label of the root, a compressed domain name is
+ terminated by a length byte of zero. The high order two bits of
+ the length field must be zero, and the remaining six bits of the
+ length field limit the label to 63 octets or less.
+
+ To simplify implementations, the total length of label octets and
+ label length octets that make up a domain name is restricted to
+ 255 octets or less. Since the trailing root label and its dot are
+ not printed, printed domain names are 254 octets or less.
+
+ Although labels can contain any 8 bit values in octets that make
+ up a label, it is strongly recommended that labels follow the
+ syntax described in Appendix 1 of this memo, which is compatible
+ with existing host naming conventions. Name servers and resolvers
+ must compare labels in a case-insensitive manner, i.e. A=a, and
+ hence all character strings must be ASCII with zero parity.
+ Non-alphabetic codes must match exactly.
+
+ Whenever possible, name servers and resolvers must preserve all 8
+ bits of domain names they process. When a name server is given
+ data for the same name under two different case usages, this
+ preservation is not always possible. For example, if a name
+ server is given data for ISI.ARPA and isi.arpa, it should create a
+ single node, not two, and hence will preserve a single casing of
+ the label. Systems with case sensitivity should take special
+ precautions to insure that the domain data for the system is
+ created with consistent case.
+
+ In order to reduce the amount of space used by repetitive domain
+ names, the sequence of octets that defines a domain name may be
+ terminated by a pointer to the length octet of a previously
+ specified label string. The label string that the pointer
+
+
+Mockapetris [Page 31]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ specifies is appended to the already specified label string.
+ Exact duplication of a previous label string can be done with a
+ single pointer. Multiple levels are allowed.
+
+ Pointers can only be used in positions in the message where the
+ format is not class specific. If this were not the case, a name
+ server that was handling a RR for another class could make
+ erroneous copies of RRs. As yet, there are no such cases, but
+ they may occur in future RDATA formats.
+
+ If a domain name is contained in a part of the message subject to
+ a length field (such as the RDATA section of an RR), and
+ compression is used, the length of the compressed name is used in
+ the length calculation, rather than the length of the expanded
+ name.
+
+ Pointers are represented as a two octet field in which the high
+ order 2 bits are ones, and the low order 14 bits specify an offset
+ from the start of the message. The 01 and 10 values of the high
+ order bits are reserved for future use and should not be used.
+
+ Programs are free to avoid using pointers in datagrams they
+ generate, although this will reduce datagram capacity. However
+ all programs are required to understand arriving messages that
+ contain pointers.
+
+ For example, a datagram might need to use the domain names
+ F.ISI.ARPA, FOO.F.ISI.ARPA, ARPA, and the root. Ignoring the
+ other fields of the message, these domain names might be
+ represented as:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 32]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 20 | 1 | F |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 22 | 3 | I |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 24 | S | I |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 26 | 4 | A |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 28 | R | P |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 30 | A | 0 |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 40 | 3 | F |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 42 | O | O |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 44 | 1 1| 20 |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 64 | 1 1| 26 |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ 92 | 0 | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ The domain name for F.ISI.ARPA is shown at offset 20. The domain
+ name FOO.F.ISI.ARPA is shown at offset 40; this definition uses a
+ pointer to concatenate a label for FOO to the previously defined
+ F.ISI.ARPA. The domain name ARPA is defined at offset 64 using a
+ pointer to the ARPA component of the name F.ISI.ARPA at 20; note
+ that this reference relies on ARPA being the last label in the
+ string at 20. The root domain name is defined by a single octet
+ of zeros at 92; the root domain name has no labels.
+
+ Organization of the Shared database
+
+ While name server implementations are free to use any internal
+ data structures they choose, the suggested structure consists of
+ several separate trees. Each tree has structure corresponding to
+ the domain name space, with RRs attached to nodes and leaves.
+ Each zone of authoritative data has a separate tree, and one tree
+ holds all non-authoritative data. All of the trees corresponding
+ to zones are managed identically, but the non-authoritative or
+ cache tree has different management procedures.
+
+
+Mockapetris [Page 33]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Data stored in the database can be kept in whatever form is
+ convenient for the name server, so long as it can be transformed
+ back into the format needed for messages. In particular, the
+ database will probably use structure in place of expanded domain
+ names, and will also convert many of the time intervals used in
+ the domain systems to absolute local times.
+
+ Each tree corresponding to a zone has complete information for a
+ "pruned" subtree of the domain space. The top node of a zone has
+ a SOA record that marks the start of the zone. The bottom edge of
+ the zone is delimited by nodes containing NS records signifying
+ delegation of authority to other zones, or by leaves of the domain
+ tree. When a name server contains abutting zones, one tree will
+ have a bottom node containing a NS record, and the other tree will
+ begin with a tree location containing a SOA record.
+
+ Note that there is one special case that requires consideration
+ when a name server is implemented. A node that contains a SOA RR
+ denoting a start of zone will also have NS records that identify
+ the name servers that are expected to have a copy of the zone.
+ Thus a name server will usually find itself (and possibly other
+ redundant name servers) referred to in NS records occupying the
+ same position in the tree as SOA records. The solution to this
+ problem is to never interpret a NS record as delimiting a zone
+ started by a SOA at the same point in the tree. (The sample
+ programs in this memo deal with this problem by processing SOA
+ records only after NS records have been processed.)
+
+ Zones may also overlap a particular part of the name space when
+ they are of different classes.
+
+ Other than the abutting and separate class cases, trees are always
+ expected to be disjoint. Overlapping zones are regarded as a
+ non-fatal error. The scheme described in this memo avoids the
+ overlap issue by maintaining separate trees; other designs must
+ take the appropriate measures to defend against possible overlap.
+
+ Non-authoritative data is maintained in a separate tree. This
+ tree is unlike the zone trees in that it may have "holes". Each
+ RR in the cache tree has its own TTL that is separately managed.
+ The data in this tree is never used if authoritative data is
+ available from a zone tree; this avoids potential problems due to
+ cached data that conflicts with authoritative data.
+
+ The shared database will also contain data structures to support
+ the processing of inverse queries and completion queries if the
+ local system supports these optional features. Although many
+ schemes are possible, this memo describes a scheme that is based
+ on tables of pointers that invert the database according to key.
+
+
+Mockapetris [Page 34]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Each kind of retrieval has a separate set of tables, with one
+ table per zone. When a zone is updated, these tables must also be
+ updated. The contents of these tables are discussed in the
+ "Inverse query processing" and "Completion query processing"
+ sections of this memo.
+
+ The database implementation described here includes two locks that
+ are used to control concurrent access and modification of the
+ database by name server query processing, name server maintenance
+ operations, and resolver access:
+
+ The first lock ("main lock") controls access to all of the
+ trees. Multiple concurrent reads are allowed, but write access
+ can only be acquired by a single process. Read and write
+ access are mutually exclusive. Resolvers and name server
+ processes that answer queries acquire this lock in read mode,
+ and unlock upon completion of the current message. This lock
+ is acquired in write mode by a name server maintenance process
+ when it is about to change data in the shared database. The
+ actual update procedures are described under "NAME SERVER
+ MAINTENANCE" but are designed to be brief.
+
+ The second lock ("cache queue lock") controls access to the
+ cache queue. This queue is used by a resolver that wishes to
+ add information to the cache tree. The resolver acquires this
+ lock, then places the RRs to be cached into the queue. The
+ name server maintenance procedure periodically acquires this
+ lock and adds the queue information to the cache. The
+ rationale for this procedure is that it allows the resolver to
+ operate with read-only access to the shared database, and
+ allows the update process to batch cache additions and the
+ associated costs for inversion calculations. The name server
+ maintenance procedure must take appropriate precautions to
+ avoid problems with data already in the cache, inversions, etc.
+
+ This organization solves several difficulties:
+
+ When searching the domain space for the answer to a query, a
+ name server can restrict its search for authoritative data to
+ that tree that matches the most labels on the right side of the
+ domain name of interest.
+
+ Since updates to a zone must be atomic with respect to
+ searches, maintenance operations can simply acquire the main
+ lock, insert a new copy of a particular zone without disturbing
+ other zones, and then release the storage used by the old copy.
+ Assuming a central table pointing to valid zone trees, this
+ operation can be a simple pointer swap.
+
+
+
+Mockapetris [Page 35]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ TTL management of zones can be performed using the SOA record
+ for the zone. This avoids potential difficulties if individual
+ RRs in a zone could be timed out separately. This issue is
+ discussed further in the maintenance section.
+
+ Query processing
+
+ The following algorithm outlines processing that takes place at a
+ name server when a query arrives:
+
+ 1. Search the list of zones to find zones which have the same
+ class as the QCLASS field in the query and have a top domain
+ name that matches the right end of the QNAME field. If there
+ are none, go to step 2. If there are more than one, pick the
+ zone that has the longest match and go to step 3.
+
+ 2. Since the zone search failed, the only possible RRs are
+ contained in the non-authoritative tree. Search the cache tree
+ for the NS record that has the same class as the QCLASS field
+ and the largest right end match for domain name. Add the NS
+ record or records to the authority section of the response. If
+ the cache tree has RRs that are pertinent to the question
+ (domain names match, classes agree, not timed-out, and the type
+ field is relevant to the QTYPE), copy these RRs into the answer
+ section of the response. The name server may also search the
+ cache queue. Go to step 4.
+
+ 3. Since this zone is the best match, the zone in which QNAME
+ resides is either this zone or a zone to which this zone will
+ directly or indirectly delegate authority. Search down the
+ tree looking for a NS RR or the node specified by QNAME.
+
+ If the node exists and has no NS record, copy the relevant
+ RRs to the answer section of the response and go to step 4.
+
+ If a NS RR is found, either matching a part or all of QNAME,
+ then QNAME is in a delegated zone outside of this zone. If
+ so, copy the NS record or records into the authority section
+ of the response, and search the remainder of the zone for an
+ A type record corresponding to the NS reference. If the A
+ record is found, add it to the additional section. Go to
+ step 2.
+
+ If the node is not found and a NS is not found, there is no
+ such name; set the Name error bit in the response and exit.
+
+ 4. When this step is reached, the answer and authority sections
+ are complete. What remains is to complete the additional
+ section. This procedure is only possible if the name server
+
+
+Mockapetris [Page 36]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ knows the data formats implied by the class of records in the
+ answer and authority sections. Hence this procedure is class
+ dependent. Appendix 3 discusses this procedure for Internet
+ class data.
+
+ While this algorithm deals with typical queries and databases,
+ several additions are required that will depend on the database
+ supported by the name server:
+
+ QCLASS=*
+
+ Special procedures are required when the QCLASS of the query is
+ "*". If the database contains several classes of data, the
+ query processing steps above are performed separately for each
+ CLASS, and the results are merged into a single response. The
+ name error condition is not meaningful for a QCLASS=* query.
+ If the requestor wants this information, it must test each
+ class independently.
+
+ If the database is limited to data of a particular class, this
+ operation can be performed by simply reseting the authoritative
+ bit in the response, and performing the query as if QCLASS was
+ the class used in the database.
+
+ * labels in database RRs
+
+ Some zones will contain default RRs that use * to match in
+ cases where the search fails for a particular domain name. If
+ the database contains these records then a failure must be
+ retried using * in place of one or more labels of the search
+ key. The procedure is to replace labels from the left with
+ "*"s looking for a match until either all labels have been
+ replaced, or a match is found. Note that these records can
+ never be the result of caching, so a name server can omit this
+ processing for zones that don't contain RRs with * in labels,
+ or can omit this processing entirely if * never appears in
+ local authoritative data.
+
+ Inverse query processing
+
+ Name servers that support inverse queries can support these
+ operations through exhaustive searches of their databases, but
+ this becomes impractical as the size of the database increases.
+ An alternative approach is to invert the database according to the
+ search key.
+
+ For name servers that support multiple zones and a large amount of
+ data, the recommended approach is separate inversions for each
+
+
+
+Mockapetris [Page 37]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ zone. When a particular zone is changed during a refresh, only
+ its inversions need to be redone.
+
+ Support for transfer of this type of inversion may be included in
+ future versions of the domain system, but is not supported in this
+ version.
+
+ Completion query processing
+
+ Completion query processing shares many of the same problems in
+ data structure design as are found in inverse queries, but is
+ different due to the expected high rate of use of top level labels
+ (ie., ARPA, CSNET). A name server that wishes to be efficient in
+ its use of memory may well choose to invert only occurrences of
+ ARPA, etc. that are below the top level, and use a search for the
+ rare case that top level labels are used to constrain a
+ completion.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 38]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+NAME SERVER MAINTENANCE
+
+ Introduction
+
+ Name servers perform maintenance operations on their databases to
+ insure that the data they distribute is accurate and timely. The
+ amount and complexity of the maintenance operations that a name
+ server must perform are related to the size, change rate, and
+ complexity of the database that the name server manages.
+
+ Maintenance operations are fundamentally different for
+ authoritative and non-authoritative data. A name server actively
+ attempts to insure the accuracy and timeliness of authoritative
+ data by refreshing the data from master copies. Non-authoritative
+ data is merely purged when its time-to-live expires; the name
+ server does not attempt to refresh it.
+
+ Although the refreshing scheme is fairly simple to implement, it
+ is somewhat less powerful than schemes used in other distributed
+ database systems. In particular, an update to the master does not
+ immediately update copies, and should be viewed as gradually
+ percolating though the distributed database. This is adequate for
+ the vast majority of applications. In situations where timliness
+ is critical, the master name server can prohibit caching of copies
+ or assign short timeouts to copies.
+
+ Conceptual model of maintenance operations
+
+ The vast majority of information in the domain system is derived
+ from master files scattered among hosts that implement name
+ servers; some name servers will have no master files, other name
+ servers will have one or more master files. Each master file
+ contains the master data for a single zone of authority rather
+ than data for the whole domain name space. The administrator of a
+ particular zone controls that zone by updating its master file.
+
+ Master files and zone copies from remote servers may include RRs
+ that are outside of the zone of authority when a NS record
+ delegates authority to a domain name that is a descendant of the
+ domain name at which authority is delegated. These forward
+ references are a problem because there is no reasonable method to
+ guarantee that the A type records for the delegatee are available
+ unless they can somehow be attached to the NS records.
+
+ For example, suppose the ARPA zone delegates authority at
+ MIT.ARPA, and states that the name server is on AI.MIT.ARPA. If a
+ resolver gets the NS record but not the A type record for
+ AI.MIT.ARPA, it might try to ask the MIT name server for the
+ address of AI.MIT.ARPA.
+
+
+Mockapetris [Page 39]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ The solution is to allow type A records that are outside of the
+ zone of authority to be copied with the zone. While these records
+ won't be found in a search for the A type record itself, they can
+ be protected by the zone refreshing system, and will be passed
+ back whenever the name server passes back a referral to the
+ corresponding NS record. If a query is received for the A record,
+ the name server will pass back a referral to the name server with
+ the A record in the additional section, rather than answer
+ section.
+
+ The only exception to the use of master files is a small amount of
+ data stored in boot files. Boot file data is used by name servers
+ to provide enough resource records to allow zones to be imported
+ from foreign servers (e.g. the address of the server), and to
+ establish the name and address of root servers. Boot file records
+ establish the initial contents of the cache tree, and hence can be
+ overridden by later loads of authoritative data.
+
+ The data in a master file first becomes available to users of the
+ domain name system when it is loaded by the corresponding name
+ server. By definition, data from a master file is authoritative.
+
+ Other name servers which wish to be authoritative for a particular
+ zone do so by transferring a copy of the zone from the name server
+ which holds the master copy using a virtual circuit. These copies
+ include parameters which specify the conditions under which the
+ data in the copy is authoritative. In the most common case, the
+ conditions specify a refresh interval and policies to be followed
+ when the refresh operation cannot be performed.
+
+ A name server may acquire multiple zones from different name
+ servers and master files, but the name server must maintain each
+ zone separately from others and from non-authoritative data.
+
+ When the refresh interval for a particular zone copy expires, the
+ name server holding the copy must consult the name server that
+ holds the master copy. If the data in the zone has not changed,
+ the master name server instructs the copy name server to reset the
+ refresh interval. If the data has changed, the master passes a
+ new copy of the zone and its associated conditions to the copy
+ name server. Following either of these transactions, the copy
+ name server begins a new refresh interval.
+
+ Copy name servers must also deal with error conditions under which
+ they are unable to communicate with the name server that holds the
+ master copy of a particular zone. The policies that a copy name
+ server uses are determined by other parameters in the conditions
+ distributed with every copy. The conditions include a retry
+ interval and a maximum holding time. When a copy name server is
+
+
+Mockapetris [Page 40]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ unable to establish communications with a master or is unable to
+ complete the refresh transaction, it must retry the refresh
+ operation at the rate specified by the retry interval. This retry
+ interval will usually be substantially shorter than the refresh
+ interval. Retries continue until the maximum holding time is
+ reached. At that time the copy name server must assume that its
+ copy of the data for the zone in question is no longer
+ authoritative.
+
+ Queries must be processed while maintenance operations are in
+ progress because a zone transfer can take a long time. However,
+ to avoid problems caused by access to partial databases, the
+ maintenance operations create new copies of data rather than
+ directly modifying the old copies. When the new copy is complete,
+ the maintenance process locks out queries for a short time using
+ the main lock, and switches pointers to replace the old data with
+ the new. After the pointers are swapped, the maintenance process
+ unlocks the main lock and reclaims the storage used by the old
+ copy.
+
+ Name server data structures and top level logic
+
+ The name server must multiplex its attention between multiple
+ activities. For example, a name server should be able to answer
+ queries while it is also performing refresh activities for a
+ particular zone. While it is possible to design a name server
+ that devotes a separate process to each query and refresh activity
+ in progress, the model described in this memo is based on the
+ assumption that there is a single process performing all
+ maintenance operations, and one or more processes devoted to
+ handling queries. The model also assumes the existence of shared
+ memory for several control structures, the domain database, locks,
+ etc.
+
+ The model name server uses the following files and shared data
+ structures:
+
+ 1. A configuration file that describes the master and boot
+ files which the name server should load and the zones that
+ the name server should attempt to load from foreign name
+ servers. This file establishes the initial contents of the
+ status table.
+
+ 2. Domain data files that contain master and boot data to be
+ loaded.
+
+ 3. A status table that is derived from the configuration file.
+ Each entry in this table describes a source of data. Each
+ entry has a zone number. The zone number is zero for
+
+
+Mockapetris [Page 41]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ non-authoritative sources; authoritative sources are
+ assigned separate non-zero numbers.
+
+ 4. The shared database that holds the domain data. This
+ database is assumed to be organized in some sort of tree
+ structure paralleling the domain name space, with a list of
+ resource records attached to each node and leaf in the tree.
+ The elements of the resource record list need not contain
+ the exact data present in the corresponding output format,
+ but must contain data sufficient to create the output
+ format; for example, these records need not contain the
+ domain name that is associated with the resource because
+ that name can be derived from the tree structure. Each
+ resource record also internal data that the name server uses
+ to organize its data.
+
+ 5. Inversion data structures that allow the name server to
+ process inverse queries and completion queries. Although
+ many structures could be used, the implementation described
+ in this memo supposes that there is one array for every
+ inversion that the name server can handle. Each array
+ contains a list of pointers to resource records such that
+ the order of the inverted quantities is sorted.
+
+ 6. The main and cache queue locks
+
+ 7. The cache queue
+
+ The maintenance process begins by loading the status table from
+ the configuration file. It then periodically checks each entry,
+ to see if its refresh interval has elapsed. If not, it goes on to
+ the next entry. If so, it performs different operations depending
+ on the entry:
+
+ If the entry is for zone 0, or the cache tree, the maintenance
+ process checks to see if additions or deletions are required.
+ Additions are acquired from the cache queue using the cache
+ queue lock. Deletions are detected using TTL checks. If any
+ changes are required, the maintenance process recalculates
+ inversion data structures and then alters the cache tree under
+ the protection of the main lock. Whenever the maintenance
+ process modifies the cache tree, it resets the refresh interval
+ to the minimum of the contained TTLs and the desired time
+ interval for cache additions.
+
+ If the entry is not zone 0, and the entry refers to a local
+ file, the maintenance process checks to see if the file has
+ been modified since its last load. If so the file is reloaded
+ using the procedures specified under "Name server file
+
+
+Mockapetris [Page 42]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ loading". The refresh interval is reset to that specified in
+ the SOA record if the file is a master file.
+
+ If the entry is for a remote master file, the maintenance
+ process checks for a new version using the procedure described
+ in "Names server remote zone transfer".
+
+ Name server file loading
+
+ Master files are kept in text form for ease of editing by system
+ maintainers. These files are not exchanged by name servers; name
+ servers use the standard message format when transferring zones.
+
+ Organizations that want to have a domain, but do not want to run a
+ name server, can use these files to supply a domain definition to
+ another organization that will run a name server for them. For
+ example, if organization X wants a domain but not a name server,
+ it can find another organization, Y, that has a name server and is
+ willing to provide service for X. Organization X defines domain X
+ via the master file format and ships a copy of the master file to
+ organization Y via mail, FTP, or some other method. A system
+ administrator at Y configures Y's name server to read in X's file
+ and hence support the X domain. X can maintain the master file
+ using a text editor and send new versions to Y for installation.
+
+ These files have a simple line-oriented format, with one RR per
+ line. Fields are separated by any combination of blanks and tab
+ characters. Tabs are treated the same as spaces; in the following
+ discussion the term "blank" means either a tab or a blank. A line
+ can be either blank (and ignored), a RR, or a $INCLUDE line.
+
+ If a RR line starts with a domain name, that domain name is used
+ to specify the location in the domain space for the record, i.e.
+ the owner. If a RR line starts with a blank, it is loaded into
+ the location specified by the most recent location specifier.
+
+ The location specifiers are assumed to be relative to some origin
+ that is provided by the user of a file unless the location
+ specifier contains the root label. This provides a convenient
+ shorthand notation, and can also be used to prevent errors in
+ master files from propagating into other zones. This feature is
+ particularly useful for master files imported from other sites.
+
+ An include line begins with $INCLUDE, starting at the first line
+ position, and is followed by a local file name and an optional
+ offset modifier. The filename follows the appropriate local
+ conventions. The offset is one or more labels that are added to
+ the offset in use for the file that contained the $INCLUDE. If
+ the offset is omitted, the included file is loaded using the
+
+
+Mockapetris [Page 43]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ offset of the file that contained the $INCLUDE command. For
+ example, a file being loaded at offset ARPA might contain the
+ following lines:
+
+ $INCLUDE <subsys>isi.data ISI
+ $INCLUDE <subsys>addresses.data
+
+ The first line would be interpreted to direct loading of the file
+ <subsys>isi.data at offset ISI.ARPA. The second line would be
+ interpreted as a request to load data at offset ARPA.
+
+ Note that $INCLUDE commands do not cause data to be loaded into a
+ different zone or tree; they are simply ways to allow data for a
+ given zone to be organized in separate files. For example,
+ mailbox data might be kept separately from host data using this
+ mechanism.
+
+ Resource records are entered as a sequence of fields corresponding
+ to the owner name, TTL, CLASS, TYPE and RDATA components. (Note
+ that this order is different from the order used in examples and
+ the order used in the actual RRs; the given order allows easier
+ parsing and defaulting.)
+
+ The owner name is derived from the location specifier.
+
+ The TTL field is optional, and is expressed as a decimal
+ number. If omitted TTL defaults to zero.
+
+ The CLASS field is also optional; if omitted the CLASS defaults
+ to the most recent value of the CLASS field in a previous RR.
+
+ The RDATA fields depend on the CLASS and TYPE of the RR. In
+ general, the fields that make up RDATA are expressed as decimal
+ numbers or as domain names. Some exceptions exist, and are
+ documented in the RDATA definitions in Appendicies 2 and 3 of
+ this memo.
+
+ Because CLASS and TYPE fields don't contain any common
+ identifiers, and because CLASS and TYPE fields are never decimal
+ numbers, the parse is always unique.
+
+ Because these files are text files several special encodings are
+ necessary to allow arbitrary data to be loaded. In particular:
+
+ . A free standing dot is used to refer to the current domain
+ name.
+
+ @ A free standing @ is used to denote the current origin.
+
+
+
+Mockapetris [Page 44]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ .. Two free standing dots represent the null domain name of
+ the root.
+
+ \X where X is any character other than a digit (0-9), is used
+ to quote that character so that its special meaning does
+ not apply. For example, "\." can be used to place a dot
+ character in a label.
+
+ \DDD where each D is a digit is the octet corresponding to the
+ decimal number described by DDD. The resulting octet is
+ assumed to be text and is not checked for special meaning.
+
+ ( ) Parentheses are used to group data that crosses a line
+ boundary. In effect, line terminations are not recognized
+ within parentheses.
+
+ ; Semicolon is used to start a comment; the remainder of the
+ line is ignored.
+
+ Name server file loading example
+
+ A name server for F.ISI.ARPA , serving as an authority for the
+ ARPA and ISI.ARPA domains, might use a boot file and two master
+ files. The boot file initializes some non-authoritative data, and
+ would be loaded without an origin:
+
+ .. 9999999 IN NS B.ISI.ARPA
+ 9999999 CS NS UDEL.CSNET
+ B.ISI.ARPA 9999999 IN A 10.3.0.52
+ UDEL.CSNET 9999999 CS A 302-555-0000
+
+ This file loads non-authoritative data which provides the
+ identities and addresses of root name servers. The first line
+ contains a NS RR which is loaded at the root; the second line
+ starts with a blank, and is loaded at the most recent location
+ specifier, in this case the root; the third and fourth lines load
+ RRs at B.ISI.ARPA and UDEL.CSNET, respectively. The timeouts are
+ set to high values (9999999) to prevent this data from being
+ discarded due to timeout.
+
+ The first master file loads authoritative data for the ARPA
+ domain. This file is designed to be loaded with an origin of
+ ARPA, which allows the location specifiers to omit the trailing
+ .ARPA labels.
+
+
+
+
+
+
+
+Mockapetris [Page 45]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ @ IN SOA F.ISI.ARPA Action.E.ISI.ARPA (
+ 20 ; SERIAL
+ 3600 ; REFRESH
+ 600 ; RETRY
+ 3600000; EXPIRE
+ 60) ; MINIMUM
+ NS F.ISI.ARPA ; F.ISI.ARPA is a name server for ARPA
+ NS A.ISI.ARPA ; A.ISI.ARPA is a name server for ARPA
+ MIT NS AI.MIT.ARPA; delegation to MIT name server
+ ISI NS F.ISI.ARPA ; delegation to ISI name server
+
+ UDEL MD UDEL.ARPA
+ A 10.0.0.96
+ NBS MD NBS.ARPA
+ A 10.0.0.19
+ DTI MD DTI.ARPA
+ A 10.0.0.12
+
+ AI.MIT A 10.2.0.6
+ F.ISI A 10.2.0.52
+
+ The first group of lines contains the SOA record and its
+ parameters, and identifies name servers for this zone and for
+ delegated zones. The Action.E.ISI.ARPA field is a mailbox
+ specification for the responsible person for the zone, and is the
+ domain name encoding of the mail destination Action@E.ISI.ARPA.
+ The second group specifies data for domain names within this zone.
+ The last group has forward references for name server address
+ resolution for AI.MIT.ARPA and F.ISI.ARPA. This data is not
+ technically within the zone, and will only be used for additional
+ record resolution for NS records used in referrals. However, this
+ data is protected by the zone timeouts in the SOA, so it will
+ persist as long as the NS references persist.
+
+ The second master file defines the ISI.ARPA environment, and is
+ loaded with an origin of ISI.ARPA:
+
+ @ IN SOA F.ISI.ARPA Action\.ISI.E.ISI.ARPA (
+ 20 ; SERIAL
+ 7200 ; REFRESH
+ 600 ; RETRY
+ 3600000; EXPIRE
+ 60) ; MINIMUM
+ NS F.ISI.ARPA ; F.ISI.ARPA is a name server
+ A A 10.1.0.32
+ MD A.ISI.ARPA
+ MF F.ISI.ARPA
+ B A 10.3.0.52
+ MD B.ISI.ARPA
+
+
+Mockapetris [Page 46]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ MF F.ISI.ARPA
+ F A 10.2.0.52
+ MD F.ISI.ARPA
+ MF A.ISI.ARPA
+ $INCLUDE <SUBSYS>ISI-MAILBOXES.TXT
+
+ Where the file <SUBSYS>ISI-MAILBOXES.TXT is:
+
+ MOE MB F.ISI.ARPA
+ LARRY MB A.ISI.ARPA
+ CURLEY MB B.ISI.ARPA
+ STOOGES MB B.ISI.ARPA
+ MG MOE.ISI.ARPA
+ MG LARRY.ISI.ARPA
+ MG CURLEY.ISI.ARPA
+
+ Note the use of the \ character in the SOA RR to specify the
+ responsible person mailbox "Action.ISI@E.ISI.ARPA".
+
+ Name server remote zone transfer
+
+ When a name server needs to make an initial copy of a zone or test
+ to see if a existing zone copy should be refreshed, it begins by
+ attempting to open a virtual circuit to the foreign name server.
+
+ If this open attempt fails, and this was an initial load attempt,
+ it schedules a retry and exits. If this was a refresh operation,
+ the name server tests the status table to see if the maximum
+ holding time derived from the SOA EXPIRE field has elapsed. If
+ not, the name server schedules a retry. If the maximum holding
+ time has expired, the name server invalidates the zone in the
+ status table, and scans all resource records tagged with this zone
+ number. For each record it decrements TTL fields by the length of
+ time since the data was last refreshed. If the new TTL value is
+ negative, the record is deleted. If the TTL value is still
+ positive, it moves the RR to the cache tree and schedules a retry.
+
+ If the open attempt succeeds, the name server sends a query to the
+ foreign name server in which QTYPE=SOA, QCLASS is set according to
+ the status table information from the configuration file, and
+ QNAME is set to the domain name of the zone of interest.
+
+ The foreign name server will return either a SOA record indicating
+ that it has the zone or an error. If an error is detected, the
+ virtual circuit is closed, and the failure is treated in the same
+ way as if the open attempt failed.
+
+ If the SOA record is returned and this was a refresh, rather than
+ an initial load of the zone, the name server compares the SERIAL
+
+
+Mockapetris [Page 47]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ field in the new SOA record with the SERIAL field in the SOA
+ record of the existing zone copy. If these values match, the zone
+ has not been updated since the last copy and hence there is no
+ reason to recopy the zone. In this case the name server resets
+ the times in the existing SOA record and closes the virtual
+ circuit to complete the operation.
+
+ If this is initial load, or the SERIAL fields were different, the
+ name server requests a copy of the zone by sending the foreign
+ name server an AXFR query which specifies the zone by its QCLASS
+ and QNAME fields.
+
+ When the foreign name server receives the AXFR request, it sends
+ each node from the zone to the requestor in a separate message.
+ It begins with the node that contains the SOA record, walks the
+ tree in breadth-first order, and completes the transfer by
+ resending the node containing the SOA record.
+
+ Several error conditions are possible:
+
+ If the AXFR request cannot be matched to a SOA, the foreign
+ name server will return a single message in response that does
+ not contain the AXFR request. (The normal SOA query preceding
+ the AXFR is designed to avoid this condition, but it is still
+ possible.)
+
+ The foreign name server can detect an internal error or detect
+ some other condition (e.g. system going down, out of resources,
+ etc.) that forces the transfer to be aborted. If so, it sends
+ a message with the "Server failure" condition set. If the AXFR
+ can be immediately retried with some chance of success, it
+ leaves the virtual open; otherwise it initiates a close.
+
+ If the foreign name server doesn't wish to perform the
+ operation for policy reasons (i.e. the system administrator
+ wishes to forbid zone copies), the foreign server returns a
+ "Refused" condition.
+
+ The requestor receives these records and builds a new tree. This
+ tree is not yet in the status table, so its data are not used to
+ process queries. The old copy of the zone, if any, may be used to
+ satisfy request while the transfer is in progress.
+
+ When the requestor receives the second copy of the SOA node, it
+ compares the SERIAL field in the first copy of the SOA against the
+ SERIAL field in the last copy of the SOA record. If these don't
+ match, the foreign server updated its zone while the transfer was
+ in progress. In this case the requestor repeats the AXFR request
+ to acquire the newer version.
+
+
+Mockapetris [Page 48]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ If the AXFR transfer eventually succeeds, the name server closes
+ the virtual circuit and and creates new versions of inversion data
+ structures for this zone. When this operation is complete, the
+ name server acquires the main lock in write mode and then replaces
+ any old copy of the zone and inversion data structures with new
+ ones. The name server then releases the main lock, and can
+ reclaim the storage used by the old copy.
+
+ If an error occurs during the AXFR transfer, the name server can
+ copy any partial information into its cache tree if it wishes,
+ although it will not normally do so if the zone transfer was a
+ refresh rather than an initial load.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 49]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+RESOLVER ALGORITHMS
+
+ Operations
+
+ Resolvers have a great deal of latitude in the semantics they
+ allow in user calls. For example, a resolver might support
+ different user calls that specify whether the returned information
+ must be from and authoritative name server or not. Resolvers are
+ also responsible for enforcement of any local restrictions on
+ access, etc.
+
+ In any case, the resolver will transform the user query into a
+ number of shared database accesses and queries to remote name
+ servers. When a user requests a resource associated with a
+ particular domain name, the resolver will execute the following
+ steps:
+
+ 1. The resolver first checks the local shared database, if any,
+ for the desired information. If found, it checks the
+ applicable timeout. If the timeout check succeeds, the
+ information is used to satisfy the user request. If not, the
+ resolver goes to step 2.
+
+ 2. In this step, the resolver consults the shared database for the
+ name server that most closely matches the domain name in the
+ user query. Multiple redundant name servers may be found. The
+ resolver goes to step 3.
+
+ 3. In this step the resolver chooses one of the available name
+ servers and sends off a query. If the query fails, it tries
+ another name server. If all fail, an error indication is
+ returned to the user. If a reply is received the resolver adds
+ the returned RRs to its database and goes to step 4.
+
+ 4. In this step, the resolver interprets the reply. If the reply
+ contains the desired information, the resolver returns the
+ information to the user. The the reply indicates that the
+ domain name in the user query doesn't exist, then the resolver
+ returns an error to the user. If the reply contains a
+ transient name server failure, the resolver can either wait and
+ retry the query or go back to step 3 and try a different name
+ server. If the reply doesn't contain the desired information,
+ but does contain a pointer to a closer name server, the
+ resolver returns to step 2, where the closer name servers will
+ be queried.
+
+ Several modifications to this algorithm are possible. A resolver
+ may not support a local cache and instead only cache information
+ during the course of a single user request, discarding it upon
+
+
+Mockapetris [Page 50]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ completion. The resolver may also find that a datagram reply was
+ truncated, and open a virtual circuit so that the complete reply
+ can be recovered.
+
+ Inverse and completion queries must be treated in an
+ environment-sensitive manner, because the domain system doesn't
+ provide a method for guaranteeing that it can locate the correct
+ information. The typical choice will be to configure a resolver
+ to use a particular set of known name servers for inverse queries.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 51]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+DOMAIN SUPPORT FOR MAIL
+
+ Introduction
+
+ Mail service is a particularly sensitive issue for users of the
+ domain system because of the lack of a consistent system for
+ naming mailboxes and even hosts, and the need to support continued
+ operation of existing services. This section discusses an
+ evolutionary approach for adding consistent domain name support
+ for mail.
+
+ The crucial issue is deciding on the types of binding to be
+ supported. Most mail systems specify a mail destination with a
+ two part construct such as X@Y. The left hand side, X, is an
+ string, often a user or account, and Y is a string, often a host.
+ This section refers to the part on the left, i.e. X, as the local
+ part, and refers to the part on the right, i.e. Y, as the global
+ part.
+
+ Most existing mail systems route mail based on the global part; a
+ mailer with mail to deliver to X@Y will decide on the host to be
+ contacted using only Y. We refer to this type of binding as
+ "agent binding".
+
+ For example, mail addressed to Mockapetris@ISIF is delivered to
+ host USC-ISIF (USC-ISIF is the official name for the host
+ specified by nickname ISIF).
+
+ More sophisticated mail systems use both the local and global
+ parts, i.e. both X and Y to determine which host should receive
+ the mail. These more sophisticated systems usually separate the
+ binding of the destination to the host from the actual delivery.
+ This allows the global part to be a generic name rather than
+ constraining it to a single host. We refer to this type of
+ binding as "mailbox binding".
+
+ For example, mail addressed to Mockapetris@ISI might be bound
+ to host F.ISI.ARPA, and subsequently delivered to that host,
+ while mail for Cohen@ISI might be bound to host B.ISI.ARPA.
+
+ The domain support for mail consists of two levels of support,
+ corresponding to these two binding models.
+
+ The first level, agent binding, is compatible with existing
+ ARPA Internet mail procedures and uses maps a global part onto
+ one or more hosts that will accept the mail. This type of
+ binding uses the MAILA QTYPE.
+
+ The second level, mailbox binding, offers extended services
+
+
+Mockapetris [Page 52]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ that map a local part and a global part onto one or more sets
+ of data via the MAILB QTYPE. The sets of data include hosts
+ that will accept the mail, mailing list members (mail groups),
+ and mailboxes for reporting errors or requests to change a mail
+ group.
+
+ The domain system encodes the global part of a mail destination as
+ a domain name and uses dots in the global part to separate labels
+ in the encoded domain name. The domain system encodes the local
+ part of a mail destination as a single label, and any dots in this
+ part are simply copied into the label. The domain system forms a
+ complete mail destination as the local label concatenated to the
+ domain string for the global part. We call this a mailbox.
+
+ For example, the mailbox Mockapetris@F.ISI.ARPA has a global
+ domain name of three labels, F.ISI.ARPA. The domain name
+ encoding for the whole mailbox is Mockapetris.F.ISI.ARPA. The
+ mailbox Mockapetris.cad@F.ISI.ARPA has the same domain name for
+ the global part and a 4 label domain name for the mailbox of
+ Mockapetris\.cad.F.ISI.ARPA (the \ is not stored in the label,
+ its merely used to denote the "quoted" dot).
+
+ It is anticipated that the Internet system will adopt agent
+ binding as part of the initial implementation of the domain
+ system, and that mailbox binding will eventually become the
+ preferred style as organizations convert their mail systems to the
+ new style. To facilitate this approach, the domain information
+ for these two binding styles is organized to allow a requestor to
+ determine which types of support are available, and the
+ information is kept in two disjoint classes.
+
+ Agent binding
+
+ In agent binding, a mail system uses the global part of the mail
+ destination as a domain name, with dots denoting structure. The
+ domain name is resolved using a MAILA query which return MF and MD
+ RRs to specify the domain name of the appropriate host to receive
+ the mail. MD (Mail delivery) RRs specify hosts that are expected
+ to have the mailbox in question; MF (Mail forwarding) RRs specify
+ hosts that are expected to be intermediaries willing to accept the
+ mail for eventual forwarding. The hosts are hints, rather than
+ definite answers, since the query is made without the full mail
+ destination specification.
+
+ For example, mail for MOCKAPETRIS@F.ISI.ARPA would result in a
+ query with QTYPE=MAILA and QNAME=F.ISI.ARPA, which might return
+ two RRs:
+
+
+
+
+Mockapetris [Page 53]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ F.ISI.ARPA MD IN F.ISI.ARPA
+ F.ISI.ARPA MF IN A.ISI.ARPA
+
+ The mailer would interpret these to mean that the mail agent on
+ F.ISI.ARPA should be able to deliver the mail directly, but that
+ A.ISI.ARPA is willing to accept the mail for probable forwarding.
+
+ Using this system, an organization could implement a system that
+ uses organization names for global parts, rather than the usual
+ host names, but all mail for the organization would be routed the
+ same, regardless of its local part. Hence and organization with
+ many hosts would expect to see many forwarding operations.
+
+ Mailbox binding
+
+ In mailbox binding, the mailer uses the entire mail destination
+ specification to construct a domain name. The encoded domain name
+ for the mailbox is used as the QNAME field in a QTYPE=MAILB query.
+
+ Several outcomes are possible for this query:
+
+ 1. The query can return a name error indicating that the mailbox
+ does not exist as a domain name.
+
+ In the long term this would indicate that the specified mailbox
+ doesn't exist. However, until the use of mailbox binding is
+ universal, this error condition should be interpreted to mean
+ that the organization identified by the global part does not
+ support mailbox binding. The appropriate procedure is to
+ revert to agent binding at this point.
+
+ 2. The query can return a Mail Rename (MR) RR.
+
+ The MR RR carries new mailbox specification in its RDATA field.
+ The mailer should replace the old mailbox with the new one and
+ retry the operation.
+
+ 3. The query can return a MB RR.
+
+ The MB RR carries a domain name for a host in its RDATA field.
+ The mailer should deliver the message to that host via whatever
+ protocol is applicable, e.g. SMTP.
+
+ 4. The query can return one or more Mail Group (MG) RRs.
+
+ This condition means that the mailbox was actually a mailing
+ list or mail group, rather than a single mailbox. Each MG RR
+ has a RDATA field that identifies a mailbox that is a member of
+
+
+
+Mockapetris [Page 54]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ the group. The mailer should deliver a copy of the message to
+ each member.
+
+ 5. The query can return a MB RR as well as one or more MG RRs.
+
+ This condition means the the mailbox was actually a mailing
+ list. The mailer can either deliver the message to the host
+ specified by the MB RR, which will in turn do the delivery to
+ all members, or the mailer can use the MG RRs to do the
+ expansion itself.
+
+ In any of these cases, the response may include a Mail Information
+ (MINFO) RR. This RR is usually associated with a mail group, but
+ is legal with a MB. The MINFO RR identifies two mailboxes. One
+ of these identifies a responsible person for the original mailbox
+ name. This mailbox should be used for requests to be added to a
+ mail group, etc. The second mailbox name in the MINFO RR
+ identifies a mailbox that should receive error messages for mail
+ failures. This is particularly appropriate for mailing lists when
+ errors in member names should be reported to a person other than
+ the one who sends a message to the list. New fields may be added
+ to this RR in the future.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 55]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+Appendix 1 - Domain Name Syntax Specification
+
+ The preferred syntax of domain names is given by the following BNF
+ rules. Adherence to this syntax will result in fewer problems with
+ many applications that use domain names (e.g., mail, TELNET). Note
+ that some applications use domain names containing binary information
+ and hence do not follow this syntax.
+
+ <domain> ::= <subdomain> | " "
+
+ <subdomain> ::= <label> | <subdomain> "." <label>
+
+ <label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]
+
+ <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
+
+ <let-dig-hyp> ::= <let-dig> | "-"
+
+ <let-dig> ::= <letter> | <digit>
+
+ <letter> ::= any one of the 52 alphabetic characters A through Z
+ in upper case and a through z in lower case
+
+ <digit> ::= any one of the ten digits 0 through 9
+
+ Note that while upper and lower case letters are allowed in domain
+ names no significance is attached to the case. That is, two names
+ with the same spelling but different case are to be treated as if
+ identical.
+
+ The labels must follow the rules for ARPANET host names. They must
+ start with a letter, end with a letter or digit, and have as interior
+ characters only letters, digits, and hyphen. There are also some
+ restrictions on the length. Labels must be 63 characters or less.
+
+ For example, the following strings identify hosts in the ARPA
+ Internet:
+
+ F.ISI.ARPA LINKABIT-DCN5.ARPA UCL-TAC.ARPA
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 56]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+Appendix 2 - Field formats and encodings
+
+ +-----------------------------------------------+
+ | |
+ | ***** WARNING ***** |
+ | |
+ | The following formats are preliminary and |
+ | are included for purposes of explanation only.|
+ | In particular, new RR types will be added, |
+ | and the size, position, and encoding of |
+ | fields are subject to change. |
+ | |
+ +-----------------------------------------------+
+
+ TYPE values
+
+ TYPE fields are used in resource records. Note that these types
+ are not the same as the QTYPE fields used in queries, although the
+ functions are often similar.
+
+ TYPE value meaning
+
+ A 1 a host address
+
+ NS 2 an authoritative name server
+
+ MD 3 a mail destination
+
+ MF 4 a mail forwarder
+
+ CNAME 5 the canonical name for an alias
+
+ SOA 6 marks the start of a zone of authority
+
+ MB 7 a mailbox domain name
+
+ MG 8 a mail group member
+
+ MR 9 a mail rename domain name
+
+ NULL 10 a null RR
+
+ WKS 11 a well known service description
+
+ PTR 12 a domain name pointer
+
+ HINFO 13 host information
+
+ MINFO 14 mailbox or mail list information
+
+
+Mockapetris [Page 57]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ QTYPE values
+
+ QTYPE fields appear in the question part of a query. They include
+ the values of TYPE with the following additions:
+
+ AXFR 252 A request for a transfer of an entire zone of authority
+
+ MAILB 253 A request for mailbox-related records (MB, MG or MR)
+
+ MAILA 254 A request for mail agent RRs (MD and MF)
+
+ * 255 A request for all records
+
+ CLASS values
+
+ CLASS fields appear in resource records
+
+ CLASS value meaning
+
+ IN 1 the ARPA Internet
+
+ CS 2 the computer science network (CSNET)
+
+ QCLASS values
+
+ QCLASS fields appear in the question section of a query. They
+ include the values of CLASS with the following additions:
+
+ * 255 any class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 58]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ Standard resource record formats
+
+ All RRs have the same top level format shown below:
+
+ 1 1 1 1 1 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | |
+ / /
+ / NAME /
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TYPE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | CLASS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | TTL |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RDLENGTH |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
+ / RDATA /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ NAME - a compressed domain name to which this resource
+ record pertains.
+
+ TYPE - two octets containing one of the RR type codes
+ defined in Appendix 2. This field specifies the
+ meaning of the data in the RDATA field.
+
+ CLASS - two octets which specifies the class of the data in
+ the RDATA field.
+
+ TTL - a 16 bit signed integer that specifies the time
+ interval that the resource record may be cached
+ before the source of the information should again be
+ consulted. Zero values are interpreted to mean that
+ the RR can only be used for the transaction in
+ progress, and should not be cached. For example, SOA
+ records are always distributed with a zero TTL to
+ prohibit caching. Zero values can also be used for
+ extremely volatile data.
+
+ RDLENGTH- an unsigned 16 bit integer that specifies the length
+ in octets of the RDATA field.
+
+
+
+Mockapetris [Page 59]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ RDATA - a variable length string of octets that describes the
+ resource. The format of this information varies
+ according to the TYPE and CLASS of the resource
+ record.
+
+ The format of the RDATA field is standard for all classes for the
+ RR types NS, MD, MF, CNAME, SOA, MB, MG, MR, PTR, HINFO, MINFO and
+ NULL. These formats are shown below together with the appropriate
+ additional section RR processing.
+
+ CNAME RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / CNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ CNAME - A compressed domain name which specifies that the
+ domain name of the RR is an alias for a canonical
+ name specified by CNAME.
+
+ CNAME records cause no additional section processing. The
+ RDATA section of a CNAME line in a master file is a standard
+ printed domain name.
+
+ HINFO RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / CPU /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / OS /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ CPU - A character string which specifies the CPU type. The
+ character string is represented as a single octet
+ length followed by that number of characters. The
+ following standard strings are defined:.
+
+ PDP-11/70 C/30 C/70 VAX-11/780
+ H-316 H-516 DEC-2060 DEC-1090T
+ ALTO IBM-PC IBM-PC/XT PERQ
+ IBM-360/67 IBM-370/145
+
+ OS - A character string which specifies the operating system
+ type. The character string is represented as a single octet
+
+
+Mockapetris [Page 60]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ length followed by that number of characters. The following
+ standard types are defined:.
+
+ ASP AUGUST BKY CCP
+ DOS/360 ELF EPOS EXEC-8
+ GCOS GPOS ITS INTERCOM
+ KRONOS MCP MOS MPX-RT
+ MULTICS MVT NOS NOS/BE
+ OS/MVS OS/MVT RIG RSX11
+ RSX11M RT11 SCOPE SIGNAL
+ SINTRAN TENEX TOPS10 TOPS20
+ TSS UNIX VM/370 VM/CMS
+ VMS WAITS
+
+ HINFO records cause no additional section processing.
+
+ HINFO records are used to acquire general information about a
+ host. The main use is for protocols such as FTP that can use
+ special procedures when talking between machines or operating
+ systems of the same type.
+
+ MB RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MADNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ MADNAME - A compressed domain name which specifies a host which
+ has the specified mailbox.
+
+ MB records cause additional section processing which looks up
+ an A type record corresponding to MADNAME. The RDATA section
+ of a MB line in a master file is a standard printed domain
+ name.
+
+ MD RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MADNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ MADNAME - A compressed domain name which specifies a host which
+
+
+
+Mockapetris [Page 61]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ has a mail agent for the domain which should be able
+ to deliver mail for the domain.
+
+ MD records cause additional section processing which looks up
+ an A type record corresponding to MADNAME. The RDATA section
+ of a MD line in a master file is a standard printed domain
+ name.
+
+ MF RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MADNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ MADNAME - A compressed domain name which specifies a host which
+ has a mail agent for the domain which will accept
+ mail for forwarding to the domain.
+
+ MF records cause additional section processing which looks up
+ an A type record corresponding to MADNAME. The RDATA section
+ of a MF line in a master file is a standard printed domain
+ name.
+
+ MG RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MGMNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ MGMNAME - A compressed domain name which specifies a mailbox
+ which is a member of the mail group specified by the
+ domain name.
+
+ MF records cause no additional section processing. The RDATA
+ section of a MF line in a master file is a standard printed
+ domain name.
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 62]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ MINFO RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / RMAILBX /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / EMAILBX /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ RMAILBX - A compressed domain name which specifies a mailbox
+ which is responsible for the mailing list or mailbox.
+ If this domain name names the root, the owner of the
+ MINFO RR is responsible for itself. Note that many
+ existing mailing lists use a mailbox X-request for
+ the RMAILBX field of mailing list X, e.g.
+ Msgroup-request for Msgroup. This field provides a
+ more general mechanism.
+
+ EMAILBX - A compressed domain name which specifies a mailbox
+ which is to receive error messages related to the
+ mailing list or mailbox specified by the owner of the
+ MINFO RR (similar to the ERRORS-TO: field which has
+ been proposed). If this domain name names the root,
+ errors should be returned to the sender of the
+ message.
+
+ MINFO records cause no additional section processing. Although
+ these records can be associated with a simple mailbox, they are
+ usually used with a mailing list. The MINFO section of a MF
+ line in a master file is a standard printed domain name.
+
+ MR RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / NEWNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ NEWNAME - A compressed domain name which specifies a mailbox
+ which is the proper rename of the specified mailbox.
+
+ MR records cause no additional section processing. The RDATA
+ section of a MR line in a master file is a standard printed
+ domain name.
+
+
+
+
+Mockapetris [Page 63]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ NULL RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / <anything> /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ Anything at all may be in the RDATA field so long as it is
+ 65535 octets or less.
+
+ NULL records cause no additional section processing. NULL RRs
+ are not allowed in master files.
+
+ NS RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / NSDNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ NSDNAME - A compressed domain name which specifies a host which
+ has a name server for the domain.
+
+ NS records cause both the usual additional section processing
+ to locate a type A record, and a special search of the zone in
+ which they reside. The RDATA section of a NS line in a master
+ file is a standard printed domain name.
+
+ PTR RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / PTRDNAME /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ PTRDNAME - A compressed domain name which points to some
+ location in the domain name space.
+
+ PTR records cause no additional section processing. These RRs
+ are used in special domains to point to some other location in
+ the domain space. These records are simple data, and don't
+ imply any special processing similar to that performed by
+ CNAME, which identifies aliases. Appendix 3 discusses the use
+ of these records in the ARPA Internet address domain.
+
+
+
+
+Mockapetris [Page 64]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ SOA RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / MNAME /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ / RNAME /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | SERIAL |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | REFRESH |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | RETRY |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | EXPIRE |
+ | |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | MINIMUM |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ MNAME - The domain name of the name server that was the
+ original source of data for this zone.
+
+ RNAME - A domain name which specifies the mailbox of the
+ person responsible for this zone.
+
+ SERIAL - The unsigned 16 bit version number of the of the
+ original copy of the zone. This value wraps and
+ should be compared using sequence space arithmetic.
+
+ REFRESH - The unsigned 32 bit time interval before the zone
+ should be refreshed.
+
+ RETRY - The unsigned 32 bit time interval that should elapse
+ before a failed refresh should be retried.
+
+ EXPIRE - A 32 bit time value that specifies the upper limit on
+ the time interval that can elapse before the zone is
+ no longer authoritative.
+
+ MINIMUM - The unsigned 16 bit minimum TTL field that should be
+ exported with any RR from this zone (other than the
+ SOA itself).
+
+ SOA records cause no additional section processing. The RDATA
+
+
+Mockapetris [Page 65]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ section of a SOA line in a master file is a standard printed
+ domain name for MNAME, a standard X@Y mailbox specification for
+ RNAME, and decimal numbers for the remaining parameters.
+
+ All times are in units of seconds.
+
+ Most of these fields are pertinent only for name server
+ maintenance operations. However, MINIMUM is used in all query
+ operations that retrieve RRs from a zone. Whenever a RR is
+ sent in a response to a query, the TTL field is set to the
+ maximum of the TTL field from the RR and the MINIMUM field in
+ the appropriate SOA. Thus MINIMUM is a lower bound on the TTL
+ field for all RRs in a zone. RRs in a zone are never discarded
+ due to timeout unless the whole zone is deleted. This prevents
+ partial copies of zones.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 66]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+Appendix 3 - Internet specific field formats and operations
+
+ Message transport
+
+ The Internet supports name server access using TCP [10] on server
+ port 53 (decimal) as well as datagram access using UDP [11] on UDP
+ port 53 (decimal). Messages sent over TCP virtual circuits are
+ preceded by an unsigned 16 bit length field which describes the
+ length of the message, excluding the length field itself.
+
+ +-----------------------------------------------+
+ | |
+ | ***** WARNING ***** |
+ | |
+ | The following formats are preliminary and |
+ | are included for purposes of explanation only.|
+ | In particular, new RR types will be added, |
+ | and the size, position, and encoding of |
+ | fields are subject to change. |
+ | |
+ +-----------------------------------------------+
+
+ A RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ADDRESS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ ADDRESS - A 32 bit ARPA internet address
+
+ Hosts that have multiple ARPA Internet addresses will have
+ multiple A records.
+
+ A records cause no additional section processing. The RDATA
+ section of an A line in a master file is an Internet address
+ expressed as four decimal numbers separated by dots without any
+ imbedded spaces (e.g., "10.2.0.52" or "192.0.5.6").
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 67]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ WKS RDATA format
+
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ADDRESS |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | PROTOCOL | |
+ +--+--+--+--+--+--+--+--+ |
+ | |
+ / <BIT MAP> /
+ / /
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+
+ where:
+
+ ADDRESS - An 32 bit ARPA Internet address
+
+ PROTOCOL - An 8 bit IP protocol number
+
+ <BIT MAP> - A variable length bit map. The bit map must be a
+ multiple of 8 bits long.
+
+ The WKS record is used to describe the well known services
+ supported by a particular protocol on a particular internet
+ address. The PROTOCOL field specifies an IP protocol number, and
+ the bit map has one bit per port of the specified protocol. The
+ first bit corresponds to port 0, the second to port 1, etc. If
+ less than 256 bits are present, the remainder are assumed to be
+ zero. The appropriate values for ports and protocols are
+ specified in [13].
+
+ For example, if PROTOCOL=TCP (6), the 26th bit corresponds to TCP
+ port 25 (SMTP). If this bit is set, a SMTP server should be
+ listening on TCP port 25; if zero, SMTP service is not supported
+ on the specified address.
+
+ The anticipated use of WKS RRs is to provide availability
+ information for servers for TCP and UDP. If a server supports
+ both TCP and UDP, or has multiple Internet addresses, then
+ multiple WKS RRs are used.
+
+ WKS RRs cause no additional section processing. The RDATA section
+ of a WKS record consists of a decimal protocol number followed by
+ mnemonic identifiers which specify bits to be set to 1.
+
+ IN-ADDR special domain
+
+ The ARPA internet uses a special domain to support gateway
+ location and ARPA Internet address to host mapping. The intent of
+ this domain is to allow queries to locate all gateways on a
+
+
+Mockapetris [Page 68]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ particular network in the ARPA Internet, and also to provide a
+ guaranteed method to perform host address to host name mapping.
+
+ Note that both of these services are similar to functions that
+ could be performed by inverse queries; the difference is that this
+ part of the domain name space is structured according to address,
+ and hence can guarantee that the appropriate data can be located
+ without an exhaustive search of the domain space. It is
+ anticipated that the special tree will be used by ARPA Internet
+ resolvers for all gateway location services, but that address to
+ name resolution will be performed by first trying the inverse
+ query on the local name server database followed by a query in the
+ special space if the inverse query fails.
+
+ The domain is a top level domain called IN-ADDR whose substructure
+ follows the ARPA Internet addressing structure.
+
+ Domain names in the IN-ADDR domain are defined to have up to four
+ labels in addition to the IN-ADDR label. Each label is a
+ character string which expresses a decimal value in the range
+ 0-255 (with leading zeros omitted except in the case of a zero
+ octet which is represented by a single zero). These labels
+ correspond to the 4 octets of an ARPA Internet address.
+
+ Host addresses are represented by domain names that have all four
+ labels specified. Thus data for ARPA Internet address 10.2.0.52
+ is located at domain name 52.0.2.10.IN-ADDR. The reversal, though
+ awkward to read, allows zones to follow the natural grouping of
+ hosts within networks. For example, 10.IN-ADDR can be a zone
+ containing data for the ARPANET, while 26.IN-ADDR can be a
+ separate zone for MILNET. Address nodes are used to hold pointers
+ to primary host names in the normal domain space.
+
+ Network addresses correspond to some of the non-terminal nodes in
+ the IN-ADDR tree, since ARPA Internet network numbers are either
+ 1, 2, or 3 octets. Network nodes are used to hold pointers to
+ primary host names (which happen to be gateways) in the normal
+ domain space. Since a gateway is, by definition, on more than one
+ network, it will typically have two or more network nodes that
+ point at the gateway. Gateways will also have host level pointers
+ at their fully qualified addresses.
+
+ Both the gateway pointers at network nodes and the normal host
+ pointers at full address nodes use the PTR RR to point back to the
+ primary domain names of the corresponding hosts.
+
+ For example, part of the IN-ADDR domain will contain information
+ about the ISI to MILNET and MIT gateways, and hosts F.ISI.ARPA and
+ MULTICS.MIT.ARPA. Assuming that ISI gateway has addresses
+
+
+Mockapetris [Page 69]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ 10.2.0.22 and 26.0.0.103, and a name MILNET-GW.ISI.ARPA, and the
+ MIT gateway has addresses 10.0.0.77 and 18.10.0.4 and a name
+ GW.MIT.ARPA, the domain database would contain:
+
+ 10.IN-ADDR PTR IN MILNET-GW.ISI.ARPA
+ 10.IN-ADDR PTR IN GW.MIT.ARPA
+ 18.IN-ADDR PTR IN GW.MIT.ARPA
+ 26.IN-ADDR PTR IN MILNET-GW.ISI.ARPA
+ 22.0.2.10.IN-ADDR PTR IN MILNET-GW.ISI.ARPA
+ 103.0.0.26.IN-ADDR PTR IN MILNET-GW.ISI.ARPA
+ 77.0.0.10.IN-ADDR PTR IN GW.MIT.ARPA
+ 4.0.10.18.IN-ADDR PTR IN GW.MIT.ARPA
+ 52.0.2.10.IN-ADDR PTR IN F.ISI.ARPA
+ 6.0.0.10.IN-ADDR PTR IN MULTICS.MIT.ARPA
+
+ Thus a program which wanted to locate gateways on net 10 would
+ originate a query of the form QTYPE=PTR, QCLASS=IN,
+ QNAME=10.IN-ADDR. It would receive two RRs in response:
+
+ 10.IN-ADDR PTR IN MILNET-GW.ISI.ARPA
+ 10.IN-ADDR PTR IN GW.MIT.ARPA
+
+ The program could then originate QTYPE=A, QCLASS=IN queries for
+ MILNET-GW.ISI.ARPA and GW.MIT.ARPA to discover the ARPA Internet
+ addresses of these gateways.
+
+ A resolver which wanted to find the host name corresponding to
+ ARPA Internet host address 10.0.0.6 might first try an inverse
+ query on the local name server, but find that this information
+ wasn't available. It could then try a query of the form
+ QTYPE=PTR, QCLASS=IN, QNAME=6.0.0.10.IN-ADDR, and would receive:
+
+ 6.0.0.10.IN-ADDR PTR IN MULTICS.MIT.ARPA
+
+ Several cautions apply to the use of these services:
+
+ Since the IN-ADDR special domain and the normal domain for a
+ particular host or gateway will be in different zones, the
+ possibility exists that that the data may be inconsistent.
+
+ Gateways will often have two names in separate domains, only
+ one of which can be primary.
+
+ Systems that use the domain database to initialize their
+ routing tables must start with enough gateway information to
+ guarantee that they can access the appropriate name server.
+
+ The gateway data only reflects the existence of a gateway in a
+
+
+
+Mockapetris [Page 70]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+ manner equivalent to the current HOSTS.TXT file. It doesn't
+ replace the dynamic availability information from GGP or EGP.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 71]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+REFERENCES and BIBLIOGRAPHY
+
+ [1] E. Feinler, K. Harrenstien, Z. Su, and V. White, "DOD Internet
+ Host Table Specification", RFC 810, Network Information Center,
+ SRI International, March 1982.
+
+ [2] J. Postel, "Computer Mail Meeting Notes", RFC 805,
+ USC/Information Sciences Institute, February 1982.
+
+ [3] Z. Su, and J. Postel, "The Domain Naming Convention for Internet
+ User Applications", RFC 819, Network Information Center, SRI
+ International, August 1982.
+
+ [4] Z. Su, "A Distributed System for Internet Name Service",
+ RFC 830, Network Information Center, SRI International,
+ October 1982.
+
+ [5] K. Harrenstien, and V. White, "NICNAME/WHOIS", RFC 812, Network
+ Information Center, SRI International, March 1982.
+
+ [6] M. Solomon, L. Landweber, and D. Neuhengen, "The CSNET Name
+ Server", Computer Networks, vol 6, nr 3, July 1982.
+
+ [7] K. Harrenstien, "NAME/FINGER", RFC 742, Network Information
+ Center, SRI International, December 1977.
+
+ [8] J. Postel, "Internet Name Server", IEN 116, USC/Information
+ Sciences Institute, August 1979.
+
+ [9] K. Harrenstien, V. White, and E. Feinler, "Hostnames Server",
+ RFC 811, Network Information Center, SRI International,
+ March 1982.
+
+ [10] J. Postel, "Transmission Control Protocol", RFC 793,
+ USC/Information Sciences Institute, September 1981.
+
+ [11] J. Postel, "User Datagram Protocol", RFC 768, USC/Information
+ Sciences Institute, August 1980.
+
+ [12] J. Postel, "Simple Mail Transfer Protocol", RFC 821,
+ USC/Information Sciences Institute, August 1980.
+
+ [13] J. Reynolds, and J. Postel, "Assigned Numbers", RFC 870,
+ USC/Information Sciences Institute, October 1983.
+
+ [14] P. Mockapetris, "Domain names - Concepts and Facilities,"
+ RFC 882, USC/Information Sciences Institute, November 1983.
+
+
+
+
+Mockapetris [Page 72]
+
+
+RFC 883 November 1983
+ Domain Names - Implementation and Specification
+
+
+INDEX
+
+ * usage........................................................37, 57
+
+ A RDATA format.....................................................67
+
+ byte order..........................................................6
+
+ cache queue....................................................35, 42
+ character case..................................................7, 31
+ CLASS...........................................................9, 58
+ completion.........................................................19
+ compression........................................................31
+ CNAME RR...........................................................60
+
+ header format......................................................26
+ HINFO RR...........................................................60
+
+ include files......................................................43
+ inverse queries....................................................17
+
+ mailbox names......................................................53
+ master files.......................................................43
+ MB RR..............................................................61
+ MD RR..............................................................61
+ message format.....................................................13
+ MF RR..............................................................62
+ MG RR..............................................................62
+ MINFO RR...........................................................63
+ MR RR..............................................................63
+
+ NULL RR............................................................64
+ NS RR..............................................................64
+
+ PTR RR.........................................................64, 69
+
+ QCLASS.............................................................58
+ QTYPE..............................................................57
+ queries (standard).................................................15
+
+ recursive service..................................................24
+ RR format..........................................................59
+
+ SOA RR.............................................................65
+ Special domains....................................................68
+
+ TYPE...............................................................57
+
+ WKS type RR........................................................68
+
+
+Mockapetris [Page 73]
diff --git a/Documentation/en/rfc/rfc912.txt b/Documentation/en/rfc/rfc912.txt
new file mode 100644
index 00000000..3f148095
--- /dev/null
+++ b/Documentation/en/rfc/rfc912.txt
@@ -0,0 +1,171 @@
+
+
+Network Working Group Mike StJohns
+Request for Comments: 912 TPSC
+ September 1984
+
+ Authentication Service
+
+
+STATUS OF THIS MEMO
+
+ This RFC suggests a proposed protocol for the ARPA-Internet
+ community, and requests discussion and suggestions for improvements.
+ Distribution of this memo is unlimited.
+
+INTRODUCTION
+
+ The Authentication Server provides a means to determine the identity
+ of a user of a particular TCP connection. Given a TCP port number
+ pair, it returns a character string which identifies the owner of
+ that connection on the server's system. Suggested uses include
+ automatic identification and verification of a user during an FTP
+ session, additional verification of a TAC dial up user, and access
+ verification for a generalized network file server.
+
+OVERVIEW
+
+ This is a connection based application on TCP. A server listens for
+ TCP connections on TCP port 113 (decimal). Once a connection is
+ established, the server reads one line of data which specifies the
+ connection of interest. If it exists, the system dependent user
+ identifier of the connection of interest is sent out the connection.
+ The service closes the connection after sending the user identifier.
+
+RESTRICTIONS
+
+ Queries are permitted only for fully specified connections. The
+ local/foreign host pair used to fully specify the connection are
+ taken from the query connection. This means a user on Host A may
+ only query the server on Host B about connections between A and B.
+
+QUERY/RESPONSE FORMAT
+
+ The server accepts simple text query requests of the form
+
+ <local-port>, <foreign-port>
+
+ where <local-port>, is the TCP port (decimal) on the target (server)
+ system, and <foreign-port> is the TCP port (decimal) on the source
+ (user) system.
+
+ For example:
+
+
+
+StJohns [Page 1]
+
+
+
+RFC 912 September 1984
+Authentication Service
+
+
+ 23, 6191
+
+ The response is of the form
+
+ <local-port>, <foreign-port> : <response-type> : <additional-info>
+
+ where <local-port>, <foreign-port> are the same pair as the query,
+ <response-type> is a keyword identifying the type of response, and
+ <additional info> is context dependent.
+
+ For example:
+
+ 23, 6191 : USERID : StJohns
+
+RESPONSE TYPES
+
+ A response can be one of two types:
+
+ USERID
+
+ In this case, <additional-info> is the printable representation of
+ the user identifier of the owner of the connection. The format of
+ the returned user identifier is completely system dependent.
+
+ ERROR
+
+ For some reason the owner of the TCP port could not be determined,
+ <additional-info> tells why. The following are suggested values
+ of <additional-info> and their meanings.
+
+ INVALID PORT
+
+ Either the local or foreign port was improperly specified.
+
+ NO USER
+
+ The connection specified by the port pair is not currently
+ in use.
+
+ UNKNOWN ERROR
+
+ Can't determine connection owner; reason unknown.
+ Other values may be specified as necessary.
+
+
+
+
+
+
+StJohns [Page 2]
+
+
+
+RFC 912 September 1984
+Authentication Service
+
+
+CAVEATS
+
+ Unfortunately, the trustworthiness of the various host systems that
+ might implement an authentication server will vary quite a bit. It
+ is up to the various applications that will use the server to
+ determine the amount of trust they will place in the returned
+ information. It may be appropriate in some cases restrict the use of
+ the server to within a locally controlled subnet.
+
+APPLICATIONS
+
+ 1) Automatic user authentication for FTP.
+
+ 2) Verification for privileged network operations. For example,
+ having the server start or stop special purpose servers.
+
+DISCLAIMER
+
+ I designed this protocol to allow me to eliminate the bother of
+ having to identify myself before continuing an FTP session.
+
+ Since I started work on it, other applications appeared. I have
+ tried to consider all of our applications while still making this as
+ general as possible.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+StJohns [Page 3]
+
diff --git a/Documentation/en/rfc/rfc931.txt b/Documentation/en/rfc/rfc931.txt
new file mode 100644
index 00000000..190adc88
--- /dev/null
+++ b/Documentation/en/rfc/rfc931.txt
@@ -0,0 +1,278 @@
+Network Working Group Mike StJohns
+Request for Comments: 931 TPSC
+Supersedes: RFC 912 January 1985
+
+ Authentication Server
+
+
+STATUS OF THIS MEMO
+
+ This RFC suggests a proposed protocol for the ARPA-Internet
+ community, and requests discussion and suggestions for improvements.
+ This is the second draft of this proposal (superseding RFC 912) and
+ incorporates a more formal description of the syntax for the request
+ and response dialog, as well as a change to specify the type of user
+ identification returned. Distribution of this memo is unlimited.
+
+INTRODUCTION
+
+ The Authentication Server Protocol provides a means to determine the
+ identity of a user of a particular TCP connection. Given a TCP port
+ number pair, it returns a character string which identifies the owner
+ of that connection on the server's system. Suggested uses include
+ automatic identification and verification of a user during an FTP
+ session, additional verification of a TAC dial up user, and access
+ verification for a generalized network file server.
+
+OVERVIEW
+
+ This is a connection based application on TCP. A server listens for
+ TCP connections on TCP port 113 (decimal). Once a connection is
+ established, the server reads one line of data which specifies the
+ connection of interest. If it exists, the system dependent user
+ identifier of the connection of interest is sent out the connection.
+ The service closes the connection after sending the user identifier.
+
+RESTRICTIONS
+
+ Queries are permitted only for fully specified connections. The
+ local/foreign host pair used to fully specify the connection are
+ taken from the query connection. This means a user on Host A may
+ only query the server on Host B about connections between A and B.
+
+
+
+
+
+
+
+
+
+
+
+
+StJohns [Page 1]
+
+
+RFC 931 January 1985
+Authentication Server
+
+
+QUERY/RESPONSE FORMAT
+
+ The server accepts simple text query requests of the form
+
+ <local-port>, <foreign-port>
+
+ where <local-port> is the TCP port (decimal) on the target (server)
+ system, and <foreign-port> is the TCP port (decimal) on the source
+ (user) system.
+
+ For example:
+
+ 23, 6191
+
+ The response is of the form
+
+ <local-port>, <foreign-port> : <response-type> : <additional-info>
+
+ where <local-port>,<foreign-port> are the same pair as the query,
+ <response-type> is a keyword identifying the type of response, and
+ <additional info> is context dependent.
+
+ For example:
+
+ 23, 6191 : USERID : MULTICS : StJohns.DODCSC.a
+ 23, 6193 : USERID : TAC : MCSJ-MITMUL
+ 23, 6195 : ERROR : NO-USER
+
+RESPONSE TYPES
+
+ A response can be one of two types:
+
+ USERID
+
+ In this case, <additional-info> is a string consisting of an
+ operating system name, followed by a ":", followed by user
+ identification string in a format peculiar to the operating system
+ indicated. Permitted operating system names are specified in
+ RFC-923, "Assigned Numbers" or its successors. The only other
+ names permitted are "TAC" to specify a BBN Terminal Access
+ Controller, and "OTHER" to specify any other operating system not
+ yet registered with the NIC.
+
+
+
+
+
+
+
+StJohns [Page 2]
+
+
+RFC 931 January 1985
+Authentication Server
+
+
+ ERROR
+
+ For some reason the owner of <TCP-port> could not be determined,
+ <additional-info> tells why. The following are suggested values
+ of <additional-info> and their meanings.
+
+ INVALID-PORT
+
+ Either the local or foreign port was improperly specified.
+
+ NO-USER
+
+ The connection specified by the port pair is not currently in
+ use.
+
+ UNKNOWN-ERROR
+
+ Can't determine connection owner; reason unknown. Other values
+ may be specified as necessary.
+
+CAVEATS
+
+ Unfortunately, the trustworthiness of the various host systems that
+ might implement an authentication server will vary quite a bit. It
+ is up to the various applications that will use the server to
+ determine the amount of trust they will place in the returned
+ information. It may be appropriate in some cases restrict the use of
+ the server to within a locally controlled subnet.
+
+APPLICATIONS
+
+ 1) Automatic user authentication for FTP
+
+ A user-FTP may send a USER command with no argument to the
+ server-FTP to request automatic authentication. The server-FTP
+ will reply with a 230 (user logged in) if it can use the
+ authentication. It will reply with a 530 (not logged in) if it
+ cannot authenticate the user. It will reply with a 500 or 501
+ (syntax or parameter problem) if it does not implement automatic
+ authentication. Please note that no change is needed to currently
+ implemented servers to handle the request for authentication; they
+ will reject it normally as a parameter problem. This is a
+ suggested implementation for experimental use only.
+
+ 2) Verification for privileged network operations. For example,
+ having the server start or stop special purpose servers.
+
+
+
+StJohns [Page 3]
+
+
+RFC 931 January 1985
+Authentication Server
+
+
+ 3) Elimination of "double login" for TAC and other TELNET users.
+
+ This will be implemented as a TELNET option.
+
+FORMAL SYNTAX
+
+ <request> ::= <port-pair> <CR> <LF>
+
+ <port-pair> ::= <integer-number> "," <integer-number>
+
+ <reply> ::= <reply-text> <CR> <LF>
+
+ <reply-text> ::= <error-reply> | <auth-reply>
+
+ <error-reply> ::= <port-pair> ":" ERROR ":" <error-type>
+
+ <auth-reply> ::= <port-pair> ":" USERID ":" <opsys> ":" <user-id>
+
+ <error-type> ::= INVALID-PORT | NO-USER | UNKNOWN-ERROR
+
+ <opsys> ::= TAC | OTHER | MULTICS | UNIX ...etc.
+ (See "Assigned Numbers")
+
+ Notes on Syntax:
+
+ 1) White space (blanks and tab characters) between tokens is not
+ important and may be ignored.
+
+ 2) White space, the token separator character (":"), and the port
+ pair separator character (",") must be quoted if used within a
+ token. The quote character is a back-slash, ASCII 92 (decimal)
+ ("\"). For example, a quoted colon is "\:". The back-slash must
+ also be quoted if its needed to represent itself ("\\").
+
+Notes on User Identification Format:
+
+ The user identifier returned by the server should be the standard one
+ for the system. For example, the standard Multics identifier
+ consists of a PERSONID followed by a ".", followed by a PROJECTID,
+ followed by a ".", followed by an INSTANCE TAG of one character. An
+ instance tag of "a" identifies an interactive user, and instance tag
+ of "m" identifies an absentee job (batch job) user, and an instance
+ tag of "z" identifies a daemon (background) user.
+
+ Each set of operating system users must come to a consensus as to
+
+
+
+
+StJohns [Page 4]
+
+
+RFC 931 January 1985
+Authentication Server
+
+
+ what the OFFICIAL user identification for their systems will be.
+ Until they register this information, they must use the "OTHER" tag
+ to specify their user identification.
+
+Notes on User Identification Translation:
+
+ Once you have a user identifier from a remote system, you must then
+ have a way of translating it into an identifier that meaningful on
+ the local system. The following is a sketchy outline of table driven
+ scheme for doing this.
+
+ The table consists of four columns, the first three are used to match
+ against, the fourth is the result.
+
+ USERID Opsys Address Result
+ MCSJ-MITMUL TAC 26.*.*.* StJohns
+ * MULTICS 192.5.42.* =
+ * OTHER 10.0.0.42 anonymous
+ MSJ ITS 10.3.0.44 StJohns
+
+ The above table is a sample one for a Multics system on MILNET at the
+ Pentagon. When an authentication is returned, the particular
+ application using the userid simply looks for the first match in the
+ table. Notice the second line. It says that any authentication
+ coming from a Multics system on Net 192.5.42 is accepted in the same
+ format.
+
+ Obviously, various users will have to be registered to use this
+ facility, but the registration can be done at the same time the use
+ receives his login identity from the system.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+StJohns [Page 5] \ No newline at end of file
diff --git a/Documentation/en/rfc/rfc973.txt b/Documentation/en/rfc/rfc973.txt
new file mode 100644
index 00000000..17776f31
--- /dev/null
+++ b/Documentation/en/rfc/rfc973.txt
@@ -0,0 +1,570 @@
+
+
+Network Working Group Paul Mockapetris
+Request for Comments: 973 ISI
+ January 1986
+
+ Domain System Changes and Observations
+
+
+STATUS OF THIS MEMO
+
+ This RFC documents updates to Domain Name System specifications
+ RFC-882 [1] and RFC-883 [2], suggests some operational guidelines,
+ and discusses some experiences and problem areas in the present
+ system. Distribution of this memo is unlimited.
+
+ This document includes all changes to the Domain System through
+ January, 1986. Change notices and additional discussion are
+ available online in file [USC-ISIB.ARPA]<DOMAIN>DOMAIN.CHANGES.
+
+OVERVIEW
+
+ This memo is divided into four major sections:
+
+ "UPDATES" which discusses changes to the domain specification
+ which are in widespread use and should be regarded as being part
+ of the specification.
+
+ "OPERATION GUIDELINES" which suggests rules-of-thumb for using the
+ domain system and configuring your database which are appropriate
+ in most cases, but which may have rare exceptions.
+
+ "EXPERIENCES" which discusses some unusual situations and common
+ bugs which are encountered in the present system, and should be
+ helpful in problem determination and tuning.
+
+ "PROBLEM AREAS" which discusses some shortcomings in the present
+ system which may be addressed in future versions.
+
+UPDATES
+
+ This section discusses changes to the specification which are final,
+ and should be incorporated in all domain system software.
+
+ TTL timeouts too small
+
+ The 16 bit TTL field in RRs could not represent a large enough
+ time interval. The 16 bit field, using seconds for units, has a
+ maximum period of approximately 18 hours.
+
+ All time values, including all TTLs and the MINIMUM field of the
+ SOA RR, are expanded to 32 bits.
+
+
+
+Mockapetris [Page 1]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ CLASS changes
+
+ Class 2, originally reserved for CSNET, is obsolete. Class 3 has
+ been assigned for use by CHAOS.
+
+ CNAME usage
+
+ The specification allows CNAME RRs to exist with other RRs at the
+ same node. This creates difficulties since the other RRs stored
+ with the CNAME at the alias might not agree with the RRs stored at
+ the primary name.
+
+ If a node has a CNAME RR, it should have no other RRs.
+
+ * semantics
+
+ The use of * to represent a single label wildcard, along with the
+ possibility of multiple * labels, led to difficult server
+ implementations and complicated search algorithms. There were
+ also questions regarding whether a * based specification could
+ refer to names that were not contained in the zone which had the *
+ specification.
+
+ While we might want the "inheritability" for some cases, it leads
+ to implementation difficulties. The first of these is that
+ whenever we can't find a RR in a particular zone, we have to
+ search all parent zones to look for a suitable * result.
+ (Alternatively we could develop some automatic method for insuring
+ consistency or insist on careful duplication of inherited data.)
+ We also must deal with conflicts, i.e. what if a subdomain doesn't
+ want to inherit defaults.
+
+ Given these difficulties, the solution is to insist that
+ delegation of authority cancels the * defaults. This is quite
+ simple to implement; all you need to do is to check for delegation
+ before looking for * RRs.
+
+ A second difficulty is the restriction that * match a single
+ label. Thus if a name server is looking for RRs for the name
+ A.B.C.D.E.F, it must check for *.B.C.D.E.F, *.*.C.D.E.F,
+ *.*.*.D.E.F, etc. This check must also be careful of zone
+ boundaries and multiplies the effort to handle a query.
+
+ The solution adopted is to allow a single * label in the leftmost
+ part of a name stored in a zone, and to allow this label to match
+
+
+
+
+Mockapetris [Page 2]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ any number of unknown labels or a single known label in the query
+ name. However, the * match is only taken for parts of the tree
+ which are neither delegated or explicitly represented.
+
+ The algorithm for performing the search in a tree structured
+ database has the following steps:
+
+ 1) Descend in the tree matching labels from right to left. If a
+ delegation is found return that; if the specified node is found
+ go to step 2, if the tree ends go to step 3.
+
+ 2) Look for RRs that answer the query. If any are found, return
+ them as the answer. If none are found, look for answers in a *
+ node which has the same name as the query name except for the
+ rightmost label. (e.g. if you can't find an answer at F.ISI.ARPA,
+ look for a RR at *.ISI.ARPA)
+
+ 3) The search for a desired name has failed; look for a node whose
+ name is * plus however much matched. Look for answers there.
+ (e.g. If you are looking for X.Y.ISI.ARPA and the tree ends at
+ ISI.ARPA, look at *.ISI.ARPA. The same thing holds for
+ Y.ISI.ARPA, or any name of the form <anything>.Z.ISI.ARPA, where Z
+ is a label that doesn't exist under ISI.ARPA)
+
+ Note that this interpretation means that * matches names that are
+ not in the tree, no matter how much of the tree is missing, and
+ also matches one level's worth of known tree.
+
+ AA semantics
+
+ When a name server is responding to a query for a particular name
+ and finds a CNAME, it may optionally restart the search at the
+ canonical name. If the server uses the restart feature, the
+ answer section of the returned query contains one (or more)
+ CNAMEs, possibly followed by answers for the primary name. The
+ canonical name will usually be in the same zone as the alias, but
+ this need not be the case. If the server is authoritative for one
+ of the names but not both, it is not clear whether the AA bit
+ should be set.
+
+ The solution adopted is to make the AA refer to the original query
+ name.
+
+
+
+
+
+
+
+Mockapetris [Page 3]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ Master file format
+
+ The present specification uses a somewhat awkward method for
+ representing domain names in master files.
+
+ The change adopted is that all domain names in this file will be
+ represented as either absolute or relative. An absolute domain
+ name ends with a ".". A free standing "." is assumed to refer to
+ the root. A relative domain name doesn't end with a dot, and is
+ assumed to be relative to the current origin.
+
+ SERIAL number size
+
+ If the master file changes rapidly, an infrequently updated copy
+ may miss the wrapping of the sequence number in the SERIAL field
+ of the SOA, or misinterpret the number of updates that have taken
+ place.
+
+ The SERIAL field is increased to 32 bits.
+
+ MD and MF replaced by MX
+
+ The original specification uses MD and MF RRs for mail agent
+ binding. The problem is that a mailer making a MAILA query, which
+ asks for both types, can't use the cache since the cache might
+ have the results for a MD or MF query. That is, the presence of
+ one of these types of information in the cache doesn't imply
+ anything about the other type. The result was that either mailers
+ would have to always consult authoritative servers or try to use
+ partial information; neither of these is really acceptable.
+
+ The change is to replace MD and MF with a new type of RR called MX
+ which conveys similar information in a single RR type. MX has
+ been assigned a type code of 15 decimal. The format of the MX RR
+ is a 16 bit preference value followed by a domain name. A node
+ may have multiple MX RRs, and multiple MX RRs with the same
+ preference value are allowed at a given node.
+
+
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 4]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ The preference values denote the relative preference that the mail
+ destination places on the mail agents, with lower values being
+ "better". A mailer is expected to at least try the mail agent(s)
+ with the lowest preference value. The significance of particular
+ preference values, the units of preference, and the linearity of
+ preference values are not defined but left open; preference values
+ should only be used to establish relative rankings.
+
+ For example, the current RRs:
+
+ MAIL-ORG MD HOST1
+ MD HOST2
+ MF HOST3
+
+ might be replaced by:
+
+ MAIL-ORG MX 10 HOST1
+ MX 10 HOST2
+ MX 20 HOST3
+
+ The values 10 and 20 have no significance other than 10<20. A
+ detailed discussion of the use of MX is the subject of [3].
+
+ Zone transfer
+
+ The original specification states that zone transfers take place
+ in breadth first order. The intent was to make the transfer
+ easier for the accepting name server to handle. This now doesn't
+ work out to be very helpful, and is a severe pain for implementers
+ using various hashing algorithms. The new rule is that you can
+ transmit the records in any order you choose, so long as the SOA
+ node of the zone is transmitted first and last, and no other
+ duplication occurs.
+
+ IN-ADDR domain renamed
+
+ The name of the IN-ADDR domain is now IN-ADDR.ARPA. This change
+ was made because many felt that the use of a top-level name was
+ inappropriate to network-specific information.
+
+
+
+
+
+
+
+
+
+
+Mockapetris [Page 5]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+OPERATIONAL GUIDELINES
+
+ This section suggests rules-of-thumb for using the domain system and
+ configuring your database which are appropriate in most cases, but
+ which may have rare exceptions.
+
+ Zone delegation
+
+ When a domain wishes to become independent from its parent, the
+ RRs which mark the delegation in the parent and child zones should
+ be carefully synchronized to minimize the possibility that
+ resolvers become confused.
+
+ For example, suppose that we wish to create a new zone called
+ ISI.EDU under an existing EDU zone, and that the servers for the
+ child zone are X.ISI.EDU and Y.GOV.
+
+ We might add the following to the parent zone:
+
+ ISI.EDU. 10000 NS X.ISI.EDU.
+ 10000 NS Y.GOV.
+ X.ISI.EDU. 10000 A <address of X.ISI.EDU.>
+ Y.GOV. 10000 A <address of Y.GOV.>
+
+ and the following to the child zone:
+
+ ISI.EDU. 10000 NS X.ISI.EDU.
+ 10000 NS Y.GOV.
+ 50000 SOA <SOA information>
+ X.ISI.EDU. 10000 A <address of X.ISI.EDU.>
+ Y.GOV. 10000 A <address of Y.GOV.>
+
+ Note the following:
+
+ In both cases, the A RR for Y.GOV is included, even though
+ Y.GOV isn't in the EDU or ISI.EDU domains. This RR isn't
+ authoritative, but is included to guarantee that the address of
+ Y.GOV is passed with delegations to it. Strictly speaking this
+ RR need not be in either zone, but its presence is recommended.
+ The X.ISI.EDU A RR is absolutely essential. The only time that
+ a server should use the glue RRs is when it is returning the NS
+ RRs and doesn't otherwise have the address of the server. For
+ example, if the parent server also was authoritative for GOV,
+ the glue RR would typically not be consulted. However, it is
+ still a good idea for it to be present, so that the zone is
+ self-sufficient.
+
+
+
+Mockapetris [Page 6]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ The child zone and the parent zone have identical NS RRs for
+ the ISI.EDU domain. This guarantees that no matter which
+ server is asked about the ISI.EDU domain, the same set of name
+ servers is returned.
+
+ The child zone and the parent zone have A RRs for the name
+ servers in the NS RRs that delegate the ISI.EDU domain. This
+ guarantees that in addition to knowing the name servers for the
+ ISI.EDU domain, the addresses of the servers are known as well.
+
+ The TTLs for the NS RRs that delegate the ISI.EDU domain and
+ the A RRs that represent the addresses of the name servers are
+ all the same. This guarantees that all of these RRs will
+ timeout simultaneously. In this example, the value 10000 has
+ no special significance, but the coincidence of the TTLs is
+ significant.
+
+ These guidelines haven't changed any of the flexibility of the
+ system; the name of a name server and the domains it serves are
+ still independent.
+
+ It might also be the case that the organization called ISI wanted
+ to take over management of the IN-ADDR domain for an internal
+ network, say 128.99.0.0. In this case, we would have additions to
+ the parent zone, say IN-ADDR.ARPA.
+
+ We might add the following to the parent zone:
+
+ 99.128.IN-ADDR.ARPA. 2000 NS Q.ISI.EDU.
+ 2000 NS XX.MIT.EDU.
+ Q.ISI.EDU. 2000 A <address of Q.ISI.EDU.>
+ XX.MIT.EDU. 2000 A <address of XX.MIT.EDU.>
+
+ and the following to the child zone:
+
+ 99.128.IN-ADDR.ARPA. 2000 NS Q.ISI.EDU.
+ 2000 NS XX.MIT.EDU.
+ 5000 SOA <SOA information>
+ Q.ISI.EDU. 2000 A <address of Q.ISI.EDU.>
+ XX.MIT.EDU. 2000 A <address of XX.MIT.EDU.>
+
+ SOA serials
+
+ The serial field of the SOA RR for a domain is supposed to be a
+ continuously increasing (mod 2**32) value which denotes the
+
+
+
+
+Mockapetris [Page 7]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ version of the database. The idea is that you can tell that a
+ zone has changed by comparing serial numbers. When you change a
+ zone, you should increment the serial field of the SOA.
+
+ All RRs with the same name, class, and type should have the same TTL.
+
+ The logic here is that all of them will timeout simultaneously if
+ cached and hence the cache can be reliably used.
+
+ Case consistency
+
+ The domain system is supposed to preserve case, but be case
+ insensitive. However, it does nobody any good to put both RRs for
+ domain name xxx and XXX in the data base - It merely makes caching
+ ambiguous and decreases the efficiency of compression. This
+ consistency should also exist in the duplicate RRs that mark
+ delegation in the delegator and delegatee. For example, if you
+ ask the NIC to delegate UZOO.EDU to you, your database shouldn't
+ say uzoo.edu.
+
+ Inappropriate use of aliases
+
+ Canonical names are preferred to aliases in all RRs. One reason
+ is that the canonical names are closer to the information
+ associated with a name. A second is that canonical names are
+ unique, and aliases are not, and hence comparisons will work.
+
+ In particular, the use of aliases in PTR RRs of the IN-ADDR domain
+ or in NS RRs that mark delegation is discouraged.
+
+EXPERIENCES
+
+ This section discusses some unusual situations and common bugs which
+ are encountered in the present system, and should be helpful in
+ problem determination and tuning. Put differently, you should try to
+ make your code defend against these attacks, and you should expect to
+ be the object of complaint if you make these attacks.
+
+ UDP addresses
+
+ When you send a query to a host with multiple addresses, you might
+ expect the response to be from the address to which you sent the
+ query. This isn't the case with almost all UNIX implementations.
+
+
+
+
+
+
+Mockapetris [Page 8]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ UDP checksums
+
+ Many versions of UNIX generate incorrect UDP checksums, and most
+ ignore the checksum of incoming UDP datagrams. The typical
+ symptom is that your UNIX domain code works fine with other
+ UNIXes, but won't communicate with TOPS-20 or other systems.
+ (JEEVES, the TOPS-20 server used for 3 of the 4 root servers,
+ ignores datagrams with bad UDP checksums.)
+
+ Making up data
+
+ There are lots of name servers which return RRs for the root
+ servers with 99999999 or similar large values in the TTL. For
+ example, some return RRs that suggest that ISIF is a root server.
+ (It was months ago, but is no longer.)
+
+ One of the main ideas of the domain system is that everybody can
+ get a chunk of the name space to manage as they choose. However,
+ you aren't supposed to lie about other parts of the name space.
+ Its OK to remember about other parts of the name space for caching
+ or other purposes, but you are supposed to follow the TTL rules.
+
+ Now it may be that you put such records in your server or whatever
+ to ensure a server of last resort. That's fine. But if you
+ export these in answers to queries, you should be shot. These
+ entries get put in caches and never die.
+
+ Suggested domain meta-rule:
+
+ If you must lie, lie only to yourself.
+
+PROBLEM AREAS
+
+ This section discusses some shortcomings in the present system which
+ may be addressed in future versions.
+
+ Compression and types
+
+ The present specification attempts to allow name servers and
+ resolvers to cache RRs for classes they don't "understand" as well
+ as to allow compression of domain names to minimize the size of
+ UDP datagrams. These two goals conflict in the present scheme
+ since the only way to expand a compressed name is to know that a
+ name is expected in that position.
+
+ One technique for addressing this problem would be to preface
+ binary data (i.e. anything but a domain name) with a length octet.
+
+
+Mockapetris [Page 9]
+
+
+
+RFC 973 January 1986
+Domain System Changes and Observations
+
+
+ The high order two bits of the length octet could contain either
+ 01 or 10, which are illegal for domain names. To compensate for
+ the additional bytes of data, we could omit the RDATA length field
+ and terminate each RR with a binary length field of zero.
+
+ Caching non-existent names
+
+ In the present system, a resolver has no standard method for
+ caching the result that a name does not exist, which seems to make
+ up a larger than expected percentage of queries. Some resolvers
+ create "does not exist" RRs with TTLs to guarantee against
+ repetitive queries for a non-existent name.
+
+ A standard technique might be to return the SOA RR for the zone
+ (note that only authoritative servers can say name does not exist)
+ in the reply, and define the semantics to be that the requester is
+ free to assume that the name does not exist for a period equal to
+ the MINIMUM field of the SOA.
+
+ Cache conflicts
+
+ When a resolver is processing a reply, it may well decide to cache
+ all RRs found in sections of the reply. The problem is that the
+ resolver's cache may already contain a subset of these RRs,
+ probably with different TTLs.
+
+ If the RRs are from authoritative data in the answer section, then
+ the cache RRs should be replaced. In other cases, the correct
+ strategy isn't completely clear. Note that if the authoritative
+ data's TTL has changed, then the resolver doesn't have enough
+ information to make the correct decision in all cases.
+
+ This issue is tricky, and deserves thought.
+
+REFERENCES
+
+ [1] Mockapetris, P., "Domain Names - Concepts and Facilities",
+ RFC-882, USC Information Sciences Institute, November 1983.
+
+ [2] Mockapetris, P., "Domain Names - Implementation and
+ Specification", RFC-883, USC Information Sciences Institute,
+ November 1983.
+
+ [3] Partridge, C., "Mail Routing and the Domain System", RFC-974,
+ CSNET-CIC, BBN Laboratories, January 1986.
+
+
+
+
+Mockapetris [Page 10]
+