📄 rfc915.txt
字号:
Network Working Group Marc A. ElvyRequest for Comments: 915 Harvard University Rudy Nedved Carnegie-Mellon University December 1984 NETWORK MAIL PATH SERVICESTATUS OF THIS MEMO This RFC proposes a new service for the ARPA-Internet community and requests discussion and suggestions for improvements. Distribution of this memo is unlimited.INTRODUCTION The network mail path service fills the current need of people to determine mailbox addresses for hosts that are not part of the ARPA-Internet but can be reached by one or more relay hosts that have Unix To Unix Copy (UUCP) mail, CSNET mail, MAILNET mail, BITNET mail, etc. Anyone can use the service if they have TCP/TELNET to one of the hosts with a mail path server.DISCUSSION Currently many hosts that are not connected to the ARPA-Internet network can send mail to and receive mail from the ARPA-Internet community. The ARPA-Internet community sends mail using mailbox addresses of the form "user@host" or "local-part@domain" [1, 5]. In an effort to provide service to hosts not connected directly to the ARPA-Internet, mail maintainers have used the feature that the "local-part" of the mailbox address is locally interpreted to imbed specially encoded mail routing or relaying information. These encoded mailbox addresses have a variety of forms and have become common practice. For example: demco%ucb-ean.cdn%ubc.csnet@CSNET-RELAY.ARPA "Rudy.Nedved%CMCCTE@CARNEGIE.MAILNET"@MIT-MULTICS.ARPA ihnp4!cmucsg!ern@UT-SALLY.ARPA mss.dartmouth@CSNET-RELAY.ARPA nedved%CMCCTF.BITNET@WISCVM.ARPA It is important that people be able to communicate, but it is clear from the rampant confusion and frustration that something must beElvy & Nedved [Page 1]RFC 915 Month YearNetwork Mail Path Service provided to make it easier for people to address mail to non-ARPA-Internet hosts. The result, for a variety of reasons, has been the work and development of the Domain Name system and facilities [2, 3, 7, 9], and it is expected to make mailbox addresses be as simple as the current ARPA-Internet mailbox format (e.g., "user@domain"). How do people discover the special encoded addresses for non-ARPA-Internet host mailboxes until the domain name system is working and covering the majority of hosts in the mail world? The proposed solution to this problem is to provide a network service for the ARPA-Internet and a mail service for the non-ARPA-Internet hosts that, given a host and an optional addressing system or communication protocol or some other piece of information, supplies the mailbox address format for sending mail to that host. For example, "nedved@Carnegie.MAILNET" would be translated by the server to "nedved%Carnegie.MAILNET@MIT-MULTICS.ARPA". This memo covers the proposed network service.DOCUMENT CONVENTIONS Unless otherwise noted, all numbers are in decimal. The term "host", as used in this document, describes one computer system which may have more than one name associated with it. It may have a name for each network or mail connection it supports and may have several nicknames or aliases for the computer and/or for each set of network names that the computer has acquired.OVERVIEW The network service is a connection based application on TCP [4]. A server listens for TCP connections on the assigned port of 117 [8]. It responds to the connection with a coded greeting message and waits for a command line. For each command line sent to the server, the server will respond with a coded message. The special command QUIT causes the server to respond with a coded closing message and closes the connection.Elvy & Nedved [Page 2]RFC 915 Month YearNetwork Mail Path ServiceDESIGN GOALS One of the goals is to provide the service to as many ARPA-Internet hosts as possible. In the current ARPA-Internet, experience has shown that software people first implement TELNET/TCP [6] before any other network application or protocol. Therefore, it is a sub-goal that people be able to access the service using available programs (with minimal modifications) that implement TELNET/TCP. Therefore, TELNET/TCP on port 117 will work correctly. The server understands TELNET options but refuses all option negotiations that disagree with the NVT characteristics defined by the TELNET protocol (see [6]), does not echo, and expects command lines to end with <CRLF> (ASCII code 13 (octal 15) followed by code 10 (octal 12)). Character echoing and line editing is expected to be handled by the user host for the benefit of the user. Mail systems and other programs are also expected to be able to access and understand the service. Each command reply can have multiple line responses with text understandable by the novice user. Each command is encoded so as to make it easy for a program to parse the lines and extract interesting information, such as whether the operation was successful.THE PROTOCOL Given the developing nature of the protocol and its intent, the command lines are composed of a command (case ignored) followed by white space, the argument(s) and a <CRLF>. The white space is required if any arguments are supplied but the arguments are optional. White space following the command and any optional arguments are ignored. <cmdline> := <cmd> [<WS> <args>] [<WS>] <CRLF> <WS> := [<WS>] <WS> | <TAB> | <SPACE> Coded response lines have the rigid format of a 3-digit decimal code followed by a space or a dash followed by text composed of characters within the ASCII range 32 to 126 (octal 40 to 176) with <CRLF> at the end of the line. The dash after the 3-digit code indicates at least one more response line will be supplied while the space indicates the current response line is the last one. <rspline> := <digit><digit><digit><cont><rtext><CRLF> <cont> := <SPACE> | "-"Elvy & Nedved [Page 3]RFC 915 Month YearNetwork Mail Path Service <rtext> := ASCII characters in the range 32 to 126. Some of the successful response text to certain commands have rigid formats so programs can extract path information. The commands that have format restrictions are clearly noted and the response format is documented with the command. The response codes are in the range from 200 to 599 inclusively. The following paragraphs provide the break down for each digit. The first, most significant, digit is the success indicator. It breaks down into the simple success and total failure responses but includes the ability to communicate a temporary failure condition and the need for further information that has worked so well for SMTP [5] and other similiar protocols. The codes are: 2xx Positive reply. 3xx Intermedate reply. Positive acknowlegement but more information is neccessary. 4xx Temporary error. Try again later. 5xx Permanent error. Do not retry. The second digit is used to classify the response to provide a flavor for certain types of success. The flavor is apparent in providing the response on whether a host name is known by a domain name server or not. The codes are: x0x Command related response. x1x Connection related response. x2x Database related response. x3x Domain transition related response. x4x Data added response. x5x Data deleted response. x6x Data modified response.Elvy & Nedved [Page 4]RFC 915 Month YearNetwork Mail Path ServiceBASIC IMPLEMENTATION The minimum implementation is the support of three commands: HELP, PATH and QUIT. The HELP command provides some level of documentation and possibly lists the known addressing or communication protocols. The PATH command takes as a required argument a user name or id followed by a "@", followed by a domain style host name whose domain components may be an addressing protocol, a communication environment, or an unofficial or colloquial domain. S: (server listens on port 117) U: (user connects to port 117) S: 210-Welcome to the CMU network mail path service. S: 210 Type 'HELP' for help. U: help S: 200-The server currently knows about the following mail worlds: S: 200- BITNET,UUCP,CSNET,.AC.UK,EARNET,JANET,CDNNET S: 200-Use the PATH command with "user@host.world" to get the S: 200 ARPA-Internet mail address. U: path root@inria.uucp S: 220 philabs!mcvax!inria!root@SEISMO.ARPA U: quit S: 211 Bye bye. S: (server closes connection)DETAILED PROTOCOL DESCRIPTION The protocol is designed to provide a flexible but conservative mechanism for providing responses and adding experimental or extended commands. <user connects to server> The server responds with a message indicating the status of the server and optional information. 210 Greeting message indicating the server is ready. 410 The server is down for some unknown reason for a short time. 510 The server is unavailable. HELP [<arg>] The server can respond with general help information about the server, about the specific topic described by "arg", or it canElvy & Nedved [Page 5]RFC 915 Month YearNetwork Mail Path Service indicate that something is temporarily wrong with the HELP facility. It is strongly recomended that the general HELP command documentation be implemented and expanded. 200 General or specific documentation given. 220 Documentation given from a database. 421 Service temporarily unavailable. 501 Command not implemented or topic not known. PATH <user>@<host> The server normally responds with either the mail path that will work for the given mailbox address or indicates the domain style host name is unknown. If the database is in transition or inconsistent, a temporary or permanent error can be supplied. 220 Rigid format route given. 230 Rigid format route given. Domain servers should be used.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -