📄 rfc725.txt
字号:
This model (illustrated in Fig. 3) uses FTP to effect the transfer ofthe files. It may be easier for some systems to use this sort of modelfor more sophisticated RJE systems. This is especially true if theusers desire to take input from the local file system or to send outputto the local file system rather than from an actual card reader or to anactual line printer. Although using the local file system is notprohibited by the Data Transfer model, it may be easier to approachthrough FTP. Using FTP with NETRJE also allows the utilization of theFTP server-server transfer mechanism to generate input from or directoutput to a third host.The only new facility required by this model are the commands INPATH andOUTPATH. When using FTP to transfer input to the Server, the user mustknow where to send the job so that it enters the job stream. The INPATHcommand returns as a reply such a legal pathname. Thus the scenario forjob submission is as follows: The user sends an INPATH command; theServer responds with a legal Server pathname for the user. The userprocess starts sending the input to the file using FTP. When transferis complete, the user sends a SCHED <server pathname> command. When thejob has finished, the pathname created for the user may or may notdestroy the input file. The OUTPATH command is similarily used toidentify the pathname for the output, so that it may be retrieved byFTP. Some systems may define file names in such a way that the user mayderive them from the parameters of his job.Note on RepliesIn all of the above examples we have refrained from defining actualreply codes. The intent is to use the same reply structure, and whereappropriate the same numbers, as described in RFC 640 "Revised FTP ReplyCodes".Protocol MeasurementAn integral part of any good protocol definition is a set ofmeasurements to allow evaluation of both the protocol and itsimplementation. This provides two functions: 1) It allows the protocoldesigner to evaluate the protocol and make improvements. 2) It allowsthe user of the protocol to know how expensive it is and to demandimprovements. The proposed NETRJE protocol provides two sets ofmeasures - one for a particular session and one for overall performance.These measurements may be elicited by the MEASURE command which willtake an argument with three values: JOB (job statistics and costmeasurements), SESSION (measurements taken for this sesson), and GLOBAL [page 9]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing Network(overall measurements of the performance of the protocol and itsimplementation). The command will return the measurements in a fixedformat reply.The measurements reported for a job are: 1. CPU time, 2. I/O operations, 3. storage space time product, 4. job cost in dollars, 5. elapsed time the job waited before being executed, and 6. elapsed time for the job to execute.The measures taken from a sesson are: 1. number of bits transferred, 2. transmission rate of input or output transfers, 3. the amount of CPU time, storage space-time product, and I/O operations for the session. 4. cost in dollars and cents.The measures to be taken globally are: 1. frequency of commands and possibly command forms, 2. model frequency (which submission/retrieval model used), 3. transmission mode frequency, 4. total number of sessions, 5. transmission rate: average, std. deviation, upper and lower bounds (also by transmission mode), 6. cpu time, storage space-time product, and I/O operations for both the protocol and jobs submitted: average, std. deviation, and upper and lower bounds (overall as well as by model, transfer mode, and file size). (The reason for including job statistics here is so that [page 10]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing Network management and systems personnel have some indication how the facility is being used.)It is clear that it may be difficult to acquire some measures (such astransmission rate) when NETRJE is using FTP. This is unavoidable sinceFTP is not metered. The most straightforward solution is also to meterFTP (hint). For the final definition a close look will be given to thesubset that should be required. Comments are welcome. However, webelieve strongly that it is very important to know how a facility likethis is used as well as how well it performs. [page 11]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing NetworkPart II. Preliminary Definition of NETRJE Commands---------------------------------------------------For purposes of discussion this section gives a very preliminarydefinition of the NETRJE commands and their replies. The intent is togive a brief but not exhaustive definition of each command and its majorreplies to give the flavor of the protocol. We do not do this todiscourage nit-picking by critics, since we may actually overlook theobvious on occasion, but merely to expedite the writing of this paper.The reply scheme will follow the model of the revised FTP reply codesdescribed in RFC 640.Access Control USER <usercode> PASS <password> ACCT <account>These perform the normal functions to log the user into the system. Thereplies to them are the standard ones in FTP. It was never clear why"account" was not included in the old NETRJE. Presumably, if it'snecessary for an FTP or Telnet user, it will be necessary for an RJEuser.REINITThis command reinitializes the state of the NETRJE server process sothat it is ready for a new user. If the transfer of data is in progressfor the previous user, it will be allowed to complete.ABORTThis command is used to abort the transfer of data. This command ismeaningful to the Server only if the data is being transferred over theTelnet connection or the default data sockets. If FTP is being used,the execution of this command is the responsibility of the USER NETRJEprocess.BYEThis command causes the Server to log out the user and close the Telnetconnection. If the transfer of data is in progress, the action of thecommand will be delayed until the transfer is complete. [page 12]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing NetworkSCHED <input part><output part><input part>::= <empty>|<server pathname> [DISCARD] INPUT <CRLF> <text> <CRLF>.<CRLF>output part ::= <empty>|<server pathname>[DISCARD]server pathname ::= {locally recognizable string of charactersterminated by an ASCII NULL}This command causes the input described by the <input part> to beentered into the RJE job stream and the output produced to be disposedof according to the <output part>. The null condition for eitherargument implies that the information has been previously specified oris the default.For the <input part>, the <empty> may imply two actions. If an INDEFcommand has previously specified a <server pathname>, input to the jobstream is taken from the file indicated by the file name. If the INDEFcommand has specified that the input is to come from a CCN-like datatransfer socket, the SCHED <empty> command is the signal for the Serverto start reading data.The DISCARD modifier, if present, indicates that the file should bediscarded after it has been transmitted or it has been received andexecuted. If the input stream is to be sent on the Telnet connection,the source may be a local device or a human user. This facility isprovided for mini-hosts that can't use one of the other techniques andfor the user who wishes to enter job control directly at his terminal.The empty for output specifies either the primary output file of the job(the default) or a previously specified server pathname (OUTDEFcommand).Successful replies to this command should indicate any job-id assignedby the local RJE system along with other status informaton. Failurewould be because files did not exist, access was denied, etc.OUTPUT <output spec><output spec>::= <job-id><xmsn part>|<job-id><server pathname><xmsn part>::= <empty>| /<IO params><IO params>::= <xmsn params>, <dest> [page 13]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing NetworkThis command indicates to the Server what output is to be sent to theuser, how it is to be sent, and to whom. The <IO params> part willallow the specification of a host and socket so that output may be sentto a TIP printer, or alternatively sent on the Telnet connection or tothe default data sockets. This argument also specifies the format andrepresentation of the data.When the Server receives this command, it will proceed to transmit theoutput to the host in the prescribed manner. The reply structure ofthis command will depend on how the output is moved and will bediscussed in more detail later.INPATHThis command returns to the user a legal pathname at the Server. Theuser may then transfer his input to this pathname for eventualsubmission to the RJE facility.OUTPATHThis command performs a similar function to INPATH.DISCARD <job-file-id> | <server pathname>This allows the user to destroy input or output files associated with ajob.INDEF <job-id><I/O params>OUTDEF <job-id><I/O params>These commands allow the user to specify the parameters necessary tosend input or retrieve output. This command specifies how the data willbe transferred and specifies format, etc.CANCEL <job-id>This command allows a job to be cancelled from the RJE job stream.STATUS <status arg>status arg ::= <empty>|<user id>|<job-id>|<job-id><blank><job-file-id>This command allows the user to determine the status of the RJE session,all jobs under his usercode, a specific job, or the output of a specificjob. [page 14]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing NetworkALTER <job-id><site specific option>SITE <site specific option>These commands allow site specific commands to be passed to the ServerRJE system. The ALTER command is intended to effect specific jobs,while the SITE command is used for commands of more global effect. Theycould be merged into one.OP <operator message>This command allows messages to be sent to the operator at the Serversite.Reply Codes for the Proposed NETRJE-----------------------------------The reply codes for this protocol will follow the model proposed for thenew FTP specificaton in RFC 640. As a reminder we insert the pertinentinformation from that RFC: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 user-process sending another command before the completion reply would be in violation of protocol; but server-FTP processes should queue any commands that arrive while a preceding command is in progress.) For implementations where simultaneous monitoring is difficult, this type of reply can be used to indicate that the command was accepted and the user-process may now pay attention to the data connections.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 user should send another command specifying this information. This reply is used in command sequence groups. [page 15]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing Network4yz Transient Negative Completion reply The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again. The user should return to the beginning of the command sequence, if any. It is difficult to assign a meaning to "transient", particularly when two distinct sites (Server and User-processes) have to agree on the interpretation. Each reply in the 4yz category might have a slightly different time value, but the intent is that the user-process is encouraged to try again. A rule of thumb in determining if a reply fits into the 4yz or the 5yz (Permanent Negative) category is that replies are 4yz if the commands can be repeated without any change in command form or in properties of the User or Server (e.g., the command is spelled the same with the same arguments used, the user does not change his file access or user name, the server does not put up a new implementation.)5yz Permanent Negative Completion reply The command was not accepted and the requested action did not take place. The User-process 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 his User-process 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 directory status.)The following function groupings are encoded in the second digit:x0z Syntax - These replies refer to syntax errors, syntacticallycorrect commands that don't fit any functional category, andunimplemented or superfluous commands.x1z Information - These are replies to requests for information,such as status or help.x2z Connection - Replies referring to the Telnet and dataconnections.x3z Authentication and accounting - Replies for the logon processand accountng procedures.x4z Unspecified as yet.x5z File system - These replies indicate the status of the Serverfile system vis-a-vis the requested transfer or other file systemaction. [page 16]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing NetworkThe third digit gives a finer gradation of meaning in each of thefunction categories specified by the second digit. The list of repliesbelow will illustrate this. Note that the text associated with eachreply is suggestive, rather than mandatory, and may even changeaccording to the command with which it is associated. The reply codes,on the other hand, should strictly follow the specifications. That is,Server implementations should not invent new codes for situations thatare only slightly different from the ones described here, but rathershould adapt codes already defined.Below is a list of replies ordered by reply code. Some new replies havebeen added for RJE; these are marked by asterisks to aid the reader.Following this list is a list of commands with the replies that arepossible for that command. This list is not considered complete orfinal; as usual comments are welcomed.110 Restart marker reply, In this case the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is user-process data stream marker, and mmmm is Server's equivalent marker. (Note the spaces between the markers and "=".)120 Service ready in nnn minutes125 Data connection already open; transfer starting150 File status okay; about to open data connection200 Command okay202 Command not implemented, superfluous at this site211 System status, or system help reply212 Directory status213 File status214 Help message (on how to use the server or the meaning of aparticular non-standard command. This reply is useful only to the humanuser.)*215 RJE general status reply [page 17]NWG/RFC# 725 DAY GRG 25-APR-77 12:41 38316An RJE Protocol for a Resource Sharing Network
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -