📄 rfc757.txt
字号:
RFC 757 A Suggested Solution to the Naming, Addressing, and Delivery Problem for ARPAnet Message Systems Debra P. Deutsch 10 September 1979 Bolt Beranek and Newman 50 Moulton Street Cambridge, Massachusetts 02138 (617) 491-1850Preface Page 1 Preface Unlike many RFCs, this is not a specification of asoon-to-be-implemented protocol. Instead this is a true requestfor comments on the concepts and suggestions found within thisdocument, written with the hope that its content, and anydiscussion which it spurs, will contribute towards the design ofthe next generation of computer-based message creation anddelivery systems. A number of people have made contributions to the form andcontent of this document. In particular, I would like to thankJerry Burchfiel for his general and technical advice andencouragement, Bob Thomas for his wisdom about the TIP Logindatabase and design of a netmail database, Ted Myer for playingdevil's advocate, and Charlotte Mooers for her excellenteditorial assistance. Debbie DeutschRFC 757 September 1979Introduction Page 21. Introduction The current ARPAnet message handling scheme has evolved fromrather informal, decentralized beginnings. Early developers tookadvantage of pre-existing tools -- TECO, FTP -- in order toimplement their first systems. Later, protocols were developedto codify the conventions already in use. While theseconventions have been able to support an amazing variety andamount of service, they have a number of shortcomings. One difficulty is the naming/addressing problem, which dealswith the need both to identify the recipient and to indicatecorrectly a delivery point for the message. The current paradigmis deficient in that it lacks a sharp distinction between therecipient's name and the recipient's address, which is thedelivery point on the net. The naming/addressing scheme does not allow users to addresstheir messages using human names, but instead forces them toemploy designations better designed for machine parsing thanhuman identification. Another source of limitations lies in the delivery system,which is simply an extension of the File Transfer Protocol. Thedelivery system is fairly limited in its operation, handling onlysimple transactions involving the transfer of a single message toa single user on the destination host. The ability to bundlemessages and the ability to fan-out messages at the foreign hostwould improve the efficiency and usefulness of the system. An additional drawback to the delivery system is caused, tosome extent, by the addressing scheme. A change in address, orincorrect address usually causes the delivery system to handlethe message incorrectly. While some hosts support some varietyof a mail forwarding database (MFDB), this solution is at bestinadequate and spotty for providing reliable service to thenetwork as a whole. Because the same username may belong todifferent people at different hosts, ambiguities which may cropup when messages are incorrectly addressed keep even the bestMFDBs from always being able to do their job. This proposal envisions a system in which the identity andaddress of the recipient are treated as two separate items. Anetwork database supports a directory service which suppliescorrect address information for all recipients. Additionally,the scheme allows mail delivery to be restricted to authorizedusers of the network, should that be a desirable feature.RFC 757 September 1979Names and Addresses Page 32. Names and Addresses Today's ARPAnet naming and addressing scheme (as specified inRFC 733[3]) does not discriminate between the identity of a user 1and his address . Both are expressed the same way:USERNAME@HOST. While this should always result in a uniquehandle for that user, it has proved to be inadequate in practice.Users who change the location of their mailboxes, because ofeither a change in affiliation or a simple shift in host usage,also get their names changed. If their old host employs an MFDBthe problem is not too bad. Mail is simply forwarded on to thenew address, slightly delayed. Other less fortunate users whocannot rely upon an MFDB must notify all their correspondents ofthe change in address/name. Any mail addressed to the oldaddress becomes undeliverable. (An excellent discussion of thedifferences between naming, addressing, and routing is found in apaper by John Shoch [1].) The desire to use "real" names in the address fields ofmessages is also thwarted by the current system. An elaboratesystem for using human-compatible vs. machine-interpretable 2information has been evolved for use in message headers . Themost recent developments indicate that many users would feelhappiest if the real human name could appear;machine-interpretable information should not intrude too heavilyinto the writer's work- and thought-space. The solution proposed here calls for a total break between theway a recipient is named or identified and the way in which hislocation is specified. Since the ARPAnet is a regulatedenvironment, a unique (and not necessarily human-readable) IDcould be assigned to each authorized recipient of network mail.This ID would stay with the user throughout his lifetime on thenetwork, through changes in address and affiliation. A network database (which could be derived from the samedatabase that has been proposed to support TIP login) wouldassociate each ID with one or more addresses indicating where themail for that ID may be delivered. If more than one address were_______________ 1 See, for example, RFC 733's discussion of the semantics ofaddress fields, in which it is specified that the To: field"contains the identity of the primary recipients of the message". 2 See the "Syntax of General Addressee Items" section of RFC733.RFC 757 September 1979Names and Addresses Page 4associated with an ID, that would indicate an ordered preferencein delivery points. The delivery system would attempt deliveryto the first addressee, and, if that failed, try the second, and 3so on . Most IDs would probably have only one address. Alsoassociated with each ID would be some information about the ID'sowner: name, postal address, affiliation, phone number, etc. Rather than being forced to type some awkward character stringin order to name his correspondent, the writer would have tosupply only enough information to allow some process to determinethe unique identity of the recipient. This information might bethe recipient's name or anything else found in the database. The access to this data would also free the writer from anyneed to know the location of the recipient. Once the unique IDwere known, the correct location for delivery would be only alook-up away.2.1 A distributed database approach It is clear that if the network database had only oneinstantiation there would be a tremendous contention problem.All message traffic would be forced to query that one database.This is extremely undesirable, both in terms of reliability andspeed. It is also clear that requiring each host to maintain acomplete local copy of the entire network database is anundesirable and unnecessary burden on the hosts. A better approach would be to build some sophistication intothe local delivery system, and use local mini-databases which arebased upon the contents of a distributed network database. (Itmay be redundant and/or partitioned, etc., but is probably notresident on the local host.) When a local host queries thenetwork database about an ID (or, in a more costly operation,asked to supply an ID given enough identification such as name,etc.) the database may be asked to return all its information onthat ID. At this point the local host can enter all or some ofthat information into a locally maintained database of its own.It will always refer to that database first when looking for aname or address, only calling the network database if it cannotfind a local entry. Depending upon the desired level ofsophistication of the local message handling programs, additionalinformation may be added to that database, including, for_______________ 3 Multiple addresses might also be used to indicate thatmultiple deliveries are desired.RFC 757 September 1979Names and Addresses Page 5example, nicknames. The database might be shared by a cluster of hosts (such asexist at BBN or ISI), or it might be used by only one. Hostswhich originate small amounts of message traffic might rely uponthe network database entirely. The structure and maintenance of the local databases is leftsolely to the local hosts. They may or may not store addresses.It may be desirable either to garbage collect them, or to letthem grow. The local databases might be linked to smaller, morespecialized databases which are owned by individual users orgroups. These individual databases would be the equivalent ofaddress books in which users might note special things aboutindividuals: interests, last time seen, names of associates,etc. The existence and scope of these databases are not mandatedby this scheme, but it does allow for them. The same individual databases may be used by message creationprograms in order to determine the recipient's ID fromuser-supplied input. For example, a user may address a messageto someone named Nick. The message creation program mayassociate "Nick" with an ID, and hand that ID off to the deliverysystem, totally removing the matter of address or formal ID fromthe user's world.2.2 Delivery The delivery operation consists of three parts: 1. Determining the address to which the message must be sent, 2. Sending the message, 3. Processing by foreign host. The first step usually means looking up, in either a local orthe network database, the correct address(es) for messagedelivery, given the recipient's ID. Should the ID not be knownat the time the message is submitted for delivery, any operationnecessary to determine that ID (such as a call to either thelocal or network database) is also performed as part of thisstep. The second step is not too different from what happens today.The local host establishes a connection to the foreign host. Itis then able to send one or messages to one or more people. Theoptions are: - Bulk mail. Several recipients all get the same message.RFC 757 September 1979Names and Addresses Page 6 - Bundled mail. Several messages get sent to the same recipient. - A combination of the above - One recipient gets one message. The foreign host should be able to accept mail for each ID. The rejection of mail for a given ID by the foreign host wouldusually indicate an inconsistency between the sender's localdatabase and the network database. In this case, the local hostupdates its local database from the network database, andattempts delivery at the "new" host. (This is mail forwarding.)If a host taken from the network database is found to beincorrect, there is a problem in the network database, andappropriate authorities are notified. Thus, address changespropagate out from the network database only as the out-of-dateinformation is referenced. This reduces the magnitude of thelocal database update problem. Once the foreign host recognizes the ID(s), the message(s) maybe transmitted to the foreign host. Upon successfultransmission, the job of the local host is done. The third step requires the foreign host to process themessage(s). This is analogous to what may occur in a mail room.A foreign host may have to sort the bundled or bulk mail itreceives. In addition, the foreign host might perform internalor external fan-out functions or other special functions, at theoption of the ID owner. The implemention and design of possible functions which may beperformed in the mail rooms are neither mandated nor restrictedby this delivery scheme. Since they are too numerous to alloweven a small portion of them to be described here, only a fewexamples will be mentioned. Fan-out functions might include placing messages in multiplefiles, sending copies to one or more other users, orrebroadcasting the messages onto the network. (In that lastcase, the foreign host might evaluate an ID list, in much the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -