⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc759.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
                         Old ARPANET Protocols                               Figure 5.  Note that in the old ARPANET protocols one can't send messages (or  communicate in any way) to other networks since it has no gateway  level or internet protocol [5].  Postel                                                         [Page 11]                                                             August 1980Internet Message Protocol[Page 12]                                                         PostelAugust 1980                                                                                                            Internet Message Protocol                       3.  DETAILED SPECIFICATIONThe presentation of the information in this section is difficult sinceeverything depends on everything, and since this is a linear medium ithas to come in some order.  In this attempt, a brief overview of themessage structure is given, the detail of the message is presented interms of data objects, the various data objects are defined, and finallythe representation of the data elements is specified.  Several aspectsof the message structure are based on the NSW Transaction Protocol [22],and similar (but more general) proposals [23,24].3.1.  Overview of Message Structure  A message is normally composed of three parts:  the identification,  the command, and the document.  Each part is in turn composed of data  objects.  The identification part is composed of a transaction number assigned  by the originating MPM and the MPM identifier.  The command part is composed of an operation type, an operation code,  the arguments to the operation, error information, the destination  mailbox, and a trace.  The trace is a list of the MPMs that have  handled this message.  The document part is a data structure.  The message delivery system  does not depend on the contents of the document part.  A standard for  the document part is defined in reference [25].  The following sections define the representation of a message as a  structured object composed of other objects.  Objects in turn are  represented using a set of basic data elements.  The basic data elements are defined in section 3.7.  In summary, these  are exact forms for representing integers, strings, booleans, et  cetera.  There are also two elements for building data structures:  list and property list.  Lists are simple lists of elements, including  lists.  Property lists are lists of pairs of elements, where the first  element of each pair names the pair.  That is, a property list is a  list of <name,value> pairs.  In general, when an object is composed of  multiple instances of a simpler object it is represented as a list of  the simpler objects.  When an object is composed of a variety of  simpler objects it is represented as a property list of the simpler  objects.  In most uses of the property list representation, the  presence of <name,value> pairs in addition to those specifically  required is permitted.Postel                                                         [Page 13]                                                             August 1980Internet Message ProtocolSpecification3.2.  Message Structure  An internet message is composed of two or three parts.  The first is  the Identification which identifies the transaction; the second is the  Command; and the optional third part is the Document.  When shipped between two MPMs, a message will take the form of a  property list, with the <name,value> pairs in this order.    MESSAGE is:      ( Identification, Command [, Document ] )    It is convenient to batch several messages together, shipping them    as a unit from one MPM to another.  Such a group of messages is    called a message-bag.    A message-bag will be a list of Messages; each Message is of the    form described above.      MESSAGE-BAG is:        ( Message, Message, ... )  The Identification    This is the transaction identifier.  It is assigned by the    originating MPM.  The identification is composed of the MPM    identifier, and a transaction number unique in that context for this    message.  The Command    The command is composed of a mailbox, an operation code, the    arguments to that operation, some error information, and a trace of    the route of this message.  The command is implemented by a property    list which contains <name,value> pairs, where the names are used to    identify the associated argument values.  The Document    The document portion of an internet message is optional and when    present is a data structure as defined in [25].[Page 14]                                                         PostelAugust 1980                                                                                                            Internet Message Protocol                                                           Specification3.3.  Identification  Each message must have a unique identifier while it exists in the  message delivery system.  This is provided by the combination of the  unique identifier of the MPM and a unique transaction number chosen  for the message by this MPM.    IDENTIFICATION is:      ( mpm-identifier, transaction-number )  The mpm-identifier is based on the host address of the computer in  which the MPM resides.  If there is more than one MPM in a host the  mpm-identifier must be extended to distinguish between the co-resident  MPMs.3.4.  Command  This section describes the commands MPMs use to communicate between  themselves.  The commands come in pairs, with each request having a  corresponding reply.    COMMAND is:      ( mailbox, operation, [arguments,]                                    [error-class, error-string,] trace )  The mailbox is the "To" specification of the message.  Mailbox is a  property list of general information, some of which is the essential  information for delivery, and some of which could be extra information  which may be helpful for delivery.  Mailbox is different from address  in that address is a very specific property list without extra  information.  The mailbox includes a specification of the user,  when  a command is addressed to the MPM itself (rather than a user it  serves) the special user name "*MPM*" is specified.  The operation is the name of the operation or procedure to be  performed.  The arguments to the operation vary from operation to operation.  The error information is composed of a error class code and a  character string, and indicates what, if any, error occurred.  The  error information is normally present only in replies, and not present  in requests.Postel                                                         [Page 15]                                                             August 1980Internet Message ProtocolSpecification  The trace is a list of the MPMs that have handled the message.  Each  MPM must add its handling-stamp to the list.[Page 16]                                                         PostelAugust 1980                                                                                                            Internet Message Protocol                                                           Specification  3.4.1.  Command:  DELIVER    function:  Sends a document to a mailbox.    reply:  The reply is ACKNOWLEDGE.    arguments:      type-of-service:  one or more of the following:        "REGULAR"  regular delivery        "FORWARD"  message forwarding        "GENDEL"   general delivery        "PRIORITY" priority delivery  3.4.2.  Command:  ACKNOWLEDGE    function:  Reply to DELIVER.    arguments:      reference:  the identifier of the originating message.      address:        The address is the final mailbox the message was delivered to.        This would be different from the original mailbox if the message        was forwarded, and is limited to the essential information        needed for delivery.      type-of-service:  one of the following:        "GENDEL"    message was accepted for general delivery        "REGULAR"   message was accepted for normal delivery        "PRIORITY"  message was accepted for priority delivery      error-class:      error-string:        If the document was delivered successfully, the error        information has class 0 and string "ok".  Otherwise, the error        information has a non-zero class and the string would be one of        "no such user", "no such host", "no such network", "address        ambiguous", or a similar response.      trail:   the trace from the DELIVER command.Postel                                                         [Page 17]                                                             August 1980Internet Message ProtocolSpecification  3.4.3.  Command:  PROBE    function:  Finds out if specified mailbox (specified in mailbox of    the command) exists at a host.    reply:  The reply is RESPONSE.    arguments:  none.  3.4.4.  Command:  RESPONSE    function:  Reply to PROBE.    arguments:      reference:  the identification of the originating PROBE.      address:  a specific address.      error-class:      error-string:        If the mailbox was found the error class is 0 and the error        string is "OK".  If the mailbox has moved and a forwarding        address in known the error class is 1 and the error string is        "Mailbox moved, see address".  Otherwise the error class is        greater than 1 and the error string may be one of the following:        "Mailbox doesn't exist", "Mailbox full", "Mailbox has moved, try

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -