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

📄 rfc1037.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Network Working Group                                      B. GreenbergRequest for Comments:  1037                                    S. Keene                                                          December 1987                    NFILE -  A File Access ProtocolSTATUS OF THIS MEMO   This document includes a specification of the NFILE file access   protocol and its underlying levels of protocol, the Token List   Transport Layer and Byte Stream with Mark.  The goal of this   specification is to promote discussion of the ideas described here,   and to encourage designers of future file protocols to take advantage   of these ideas.  A secondary goal is to make the specification   available to sites that might benefit from implementing NFILE.  The   distribution of this document is unlimited.                             TABLE OF CONTENTS                                                                    Page   1.  INTRODUCTION                                                    3   2.  NFILE PROTOCOL LAYERING                                         4   3.  OVERVIEW OF AN NFILE SESSION                                    5   4.  NFILE CONTROL AND DATA CONNECTIONS                              6   5.  NFILE FILE OPENING MODES                                        7   6.  NFILE CHARACTER SET                                             9   7.  CONVENTIONS USED IN THIS DOCUMENT                              10       7.1  Mapping Data Types Into Token List Representation         10       7.2  Format of NFILE Commands and Responses                    10       7.3  Data Channel Handles and Direct File Identifiers          13       7.4  Syntax of File and Directory Pathname Arguments           13       7.5  Format of NFILE File Property/Value Pairs                 14   8.  NFILE COMMANDS                                                 16       8.1  ABORT Command                                             16       8.2  CHANGE-PROPERTIES Command                                 16       8.3  CLOSE Command                                             17       8.4  COMPLETE Command                                          19       8.5  CONTINUE Command                                          20Greenberg & Keene                                               [Page 1]RFC 1037             NFILE - A File Access Protocol        December 1987       8.6  CREATE-DIRECTORY Command                                  21       8.7  CREATE-LINK Command                                       21       8.8  DATA-CONNECTION Command                                   22       8.9  DELETE Command                                            23       8.10  DIRECT-OUTPUT Command                                    23       8.11  DIRECTORY Command                                        24            8.11.1  NFILE DIRECTORY Data Format                       26       8.12  DISABLE-CAPABILITIES Command                             27       8.13  ENABLE-CAPABILITIES Command                              28       8.14  EXPUNGE Command                                          28       8.15  FILEPOS Command                                          29            8.15.1  Implementation Hint for FILEPOS Command           30       8.16  FINISH Command                                           30       8.17  HOME-DIRECTORY Command                                   31       8.18  LOGIN Command                                            32       8.19  MULTIPLE-FILE-PLISTS Command                             34       8.20  OPEN Command                                             35            8.20.1  NFILE OPEN Optional Keyword/Value Pairs           39            8.20.2  NFILE OPEN Response Return Values                 45       8.21  PROPERTIES Command                                       47       8.22  READ Command                                             49       8.23  RENAME Command                                           50       8.24  RESYNCHRONIZE-DATA-CHANNEL Command                       51            8.24.1  Implementation Hints for RESYNCHRONIZE-DATA-      51                    CHANNEL Command       8.25  UNDATA-CONNECTION Command                                52   9.  NFILE RESYNCHRONIZATION PROCEDURE                              53       9.1  NFILE Control Connection Resynchronization                54       9.2  NFILE Data Connection Resynchronization                   55   10.  NFILE ERRORS AND NOTIFICATIONS                                58       10.1  Notifications From the NFILE Server                      58       10.2  NFILE Command Response Errors                            59       10.3  NFILE Asynchronous Errors                                60       10.4  NFILE Three-letter Error Codes                           61   11.  TOKEN LIST TRANSPORT LAYER                                    65       11.1  Introduction to the Token List Transport Layer           65       11.2  Token List Stream                                        66            11.2.1  Types of Tokens and Token Lists                   66            11.2.2  Token List Stream Example                         68            11.2.3  Mapping of Lisp Objects to Token List Stream      70                    Representation            11.2.4  Aborting and the Token List Stream                71Greenberg & Keene                                               [Page 2]RFC 1037             NFILE - A File Access Protocol        December 1987       11.3  Token List Data Stream                                   72   12.  BYTE STREAM WITH MARK                                         73       12.1  Discussion of Byte Stream with Mark                      73       12.2  Byte Stream with Mark Abortable States                   75   13.  POSSIBLE FUTURE EXTENSIONS                                    77   APPENDIX A.  NORMAL TRANSLATION MODE                               79   APPENDIX B.  RAW TRANSLATION MODE                                  83   APPENDIX C.  SUPER-IMAGE TRANSLATION MODE                          84   NOTES                                                              86                              LIST OF TABLES   TABLE 1.    TRANSLATIONS FROM NFILE CHARACTERS TO UNIX CHARACTERS  80   TABLE 2.    TRANSLATIONS FROM UNIX CHARACTERS TO NFILE CHARACTERS  80   TABLE 3.    TRANSLATIONS FROM NFILE TO PDP-10 CHARACTERS           81   TABLE 4.    TRANSLATIONS FROM PDP-10 CHARACTERS TO NFILE           82               CHARACTERS   TABLE 5.    SUPER-IMAGE TRANSLATION FROM NFILE TO ASCII            84   TABLE 6.    SUPER-IMAGE TRANSLATION FROM ASCII TO NFILE            851.  INTRODUCTION   NFILE stands for "New File Protocol".  NFILE was originally designed   as a replacement for an older protocol named QFILE, with the goal of   solving robustness problems of QFILE, hence the name "New File   Protocol".   NFILE was designed and implemented at Symbolics by Bernard S.   Greenberg.  Mike McMahon made important contributions, especially in   the design and implementation of the Byte Stream with Mark and Token   List Transport layers.  NFILE has been used successfully for file   access between Symbolics computers since 1985.  NFILE servers have   been written for UNIX hosts as well.  NFILE is intended for use by   any type of file system, not just the native Symbolics file system.   NFILE is a file access protocol that supports a large set of   operations on files and directories on remote systems, including:            - Reading and writing entire files            - Reading and writing selected portions of files            - Deleting and renaming filesGreenberg & Keene                                               [Page 3]RFC 1037             NFILE - A File Access Protocol        December 1987            - Creating links            - Listing, creating, and expunging directories            - Listing and changing the properties of files            - Enabling and disabling access capabilities on a remote              host   NFILE supports file transfer of binary or character files.   The NFILE server provides information about any errors that occur in   the course of a command.  In addition, NFILE has a robust scheme for   handling aborts on the user side.   This specification defines NFILE user version 2 and server version 2.   We do not envision NFILE as an unchanging protocol, but rather as a   protocol that could continue to develop if additional requirements   are identified though the process of this Request for Comments.  The   design of NFILE makes room for various useful extensions.  Some of   the extensions that we are considering are described later on in this   document:  See the section "Possible Future Extensions", section 13.2.  NFILE PROTOCOL LAYERING   NFILE is a layered file protocol.  The layers are:             +-----------------------------------------------+             |client program or user interface               |             +-----------------------------------------------+             |NFILE                                          |             +-----------------------------------------------+             |Token List Transport Layer                     |             +-----------------------------------------------+             |Byte Stream with Mark                          |             +-----------------------------------------------+             |reliable host-host byte transmission protocol  |             +-----------------------------------------------+   Byte Stream with Mark is a simple protocol that guarantees that an   out-of-band signal can be transmitted in the case of program   interruption.  Byte Stream with Mark is to be layered upon extant   byte stream protocols.  An important goal of the NFILE design was   that NFILE could be built on any byte stream.  It is currently   implemented on TCP and Chaosnet.  See the section "Byte Stream with   Mark", section 12.   The Token List Transport Layer is a protocol that facilitates the   transmission of simple structured data, such as lists.  See the   section "Token List Transport Layer", section 11.Greenberg & Keene                                               [Page 4]RFC 1037             NFILE - A File Access Protocol        December 1987   The NFILE commands and command responses are transmitted in "token   lists".  See the section "NFILE Commands", section 8.   This specification does not include a client program or user   interface to the protocol.  In the Symbolics implementation, the   normal file operations transparently invoke NFILE, when the remote   host is known to support NFILE.  Another possible interface to NFILE   would be through a dedicated client program that would issue NFILE   commands in response to explicit requests by the user.3.  OVERVIEW OF AN NFILE SESSION   An NFILE session is a dialogue between two hosts.  The host that   initiates the NFILE session is known as the "user side", and the   other host is the "server side".  The user side sends all NFILE   commands.  The server receives each command, processes it, and   responds to it, indicating the success or failure of the command.   The user side keeps track of commands sent and command responses   received by using "transaction identifiers" to identify each command.   The user side generates a transaction identifier (which must be   unique per this dialogue) for each command, and sends the transaction   identifier to the server along with the command.  Each NFILE server   response includes the transaction identifier of the command with   which the response is associated.  The server is not required to   respond to commands in the same order that the user gave them.   The user side sends NFILE commands over a bidirectional network   connection called the "control connection".  The server sends its   command responses on the same control connection.  The control   connection governing the NFILE session is established at the   beginning of the session.  If the control connection is ever broken,   the NFILE session is ended.   Whereas NFILE commands and responses are transmitted on the control   connection, file data is transferred over "data channels".  An "input   data channel" transfers data from server to user.  An "output data   channel" transfers data from user to server.  Each input data channel   is associated with an output data channel; together these two   channels comprise a "data connection".   Often more than one NFILE activity is occurring at any given time.   For example, several files can be open and transferring data   simultaneously; one or more commands can be in process at the same   time; and the server can be simultaneously transmitting directory   lists and processing further commands.  This happens in an   implementation in which the user side has multiple processes, and   several processes share a single NFILE server.Greenberg & Keene                                               [Page 5]RFC 1037             NFILE - A File Access Protocol        December 19874.  NFILE CONTROL AND DATA CONNECTIONS   The user and server communicate through a single control connection   and a set of data connections.  Data connections are established and   disestablished by NFILE commands.  The user side sends NFILE commands   to the server over the control connection.  The server responds to   every user command over this control connection.  The actual file   data is transmitted over the data connections.   User aborts can disrupt the normal flow of data on the control   connection and data connections.  An important aspect of any file   protocol is the way it handles user aborts.  NFILE uses a   resynchronization procedure to bring the affected control connection   or data channel from an unknown, unsafe state into a known state.   After resynchronization, the control connection or data channel can   be reused.  See the section "NFILE Resynchronization Procedure",   section 9.   THE CONTROL CONNECTION   An NFILE session is begun when the NFILE user program connects to a   remote host and establishes a network connection.  This initial   connection is the control conection of the dialogue.  If TCP is used   as the underlying protocol, contact NFILE's well-known port, 59.  If   Chaos is used, use the contact name "NFILE".   The control connection is the vehicle used by the user to send its   commands, and the server to send its command responses.  These types   of communication occur over the NFILE control connection:

⌨️ 快捷键说明

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