📄 rfc98.txt
字号:
Network Working GroupRequest for Comments #98Network Information Center #5744 Logger Protocol Proposal Edwin W. Meyer, Jr. Thomas P. Skinner February 11, 1971 With the ARPA Network Host-to-Host Protocol specified and atleast partially implemented at a number of sites, the question of whatsteps should be taken next arises. There appears to be a widespreadfeeling among Network participants that the first step should be thespecification and implementation of what has been called the "LoggerProtocol"; the Computer Network Group at project MAC agrees. The term"logger" has been commonly used to indicate the basic mechanism to gainaccess (to "login") to a system from a console. A network logger isintended to specify how the existing logger of a network host is tointerface to the network so as to permit a login from a console attachedto another host. To implement network login capability now seems quitedesirable.In the first place, it is natural for Network participants towish to learn more about the remote systems in the immediate fashionafforded by direct use of those systems. In the second place, thetechnical problems introduced by remote logins are probably less complexthan those involved with such further tasks as generalized filetransfer; thus, a Logger Protocol could be implemented relativelyquickly, furnishing additional impetus and encouragement for takingstill further steps. In order to furnish at least a basis for discussion (and at mostan initial version of a Logger Protocol), we have prepared thisdocument, which attempts to present a minimal set of conditions forbasing a Logger Protocol. This proposal covers only the mechanism foraccomplishing login. What occurs following login is not discussed here,because we feel more experimentation is necessary before any protocolfor general console communication can be established as standard. In itsabsence, each site should specify its own experimental standards forconsole communications following login. Some of the points raised in this document have already reacheda certain level of consensus among network participants while at leastone point is rather new. It should be clearly understood, however, thatwe feel regardless of the disposal of particular issues, Networkwide [Page 1]RFC 98 Logger Protcol Proposal Feb 1971agreement should be reached as soon as possible on some generalprotocol. This is all the more desirable in view of the fact that it isquite likely that certain points which should be covered in thisprotocol will only become apparent during the course of implementation;therefore, the sooner a common basis for implementation can be reached,the sooner a more rigorous protocol can be enunciated. Before turning to 1) a discussion of the points with which todecide the protocol should deal, and 2) specifications for the currentstate of the protocolm we feel that we should acknowledge theconsideration that a case could be made for avoidingthe difficulty ofgenerating a Logger Protocol by simply declaring that each host mayspecify its own, perhaps unique, preferences for being approached overthe Network. Although such a course is certainly possible, it does notseem to us to be desirable. One reason for avoiding such a course issimply that following it hamper general Network progress, in thatadressing the task of interfacing with some 20 systems is bound to moretime-consuming than to interface with "one" system, even though eachindivudual one of the former, multiple interfaces might be in some sensesimpler than the latter, single interface. Another consideration is lesspragmatic, but nonetheless important: agreement on a common protocolwould tend to foster a sense of Network "community", which would tend tobe fragmented by the local option route. After all, the Host-to-HostProtocol could have been handled on a per-host basis as well; assumedly,one reason why it has not had something to do with similar, admittedlyabstract considerations.Context Structurally, the mechanism serving to login a user over the Networkconsists of two parts, one part at the using host, the other at theserving host. The using or local host is the one to which the userstypewriter is directly connected; it contains a modulewhich channels andtransforms communications between the Network connection and thetypewriter. The serving or foreign host provides the service to be used;it contains programming that adapts the logger and command system to usethrough the Network rather than a local typewriter. There are three different phases to a login through the network. 1. During the connection phase the users console is connected to the serving logger through the network. This is, of course, the most important phase from the protocol viewpoint. 2. The second or dialog phase consists of a sequence of exchange between the user and the logger that serves to identify the user and verify his right to use the system. In some hosts, this phase may be minimal or non-existent. [Page 2]RFC 98 Logger Protcol Proposal Feb 1971 3. The admission phase occurs after the user has successfully completed the login dialog. It consists of switching his network typewriter connections from the logger to an entity providing a command processor of some sort. In some hosts this switching may be totally conceptual; in others there may be a real internal switching between entities.The Connection Phase The issues involved in specifying a protocol for implementinglogin can be separatedintop two major parts: how to establish andmaintain the network connection between the typewriter and the logger,and how to conduct a dialog after the connection is made. The first partis called the Initial Connection Protocol by Harlem and Heafner in RFC80. It in turn consists of two subparts: how to establish a connectionand how and when to destroy it. We endorse the proposal for establishing a connection made inRFC 80, which we summarize briefly for convenience. It is a two-stepprocess utilizing the NCP control messages to effect a connectionbetween the logger and the console of a potential user. First, the usercauses the hosts NCP to send out a "request for connection" controlmessage destined for the serving hosts loggers contact socket. The twopurposes of this message are to indicate to the logger that this userwishes to initiate a login dialog and to communicate the identifiers ofthe and send socket he wishes to operate for this purpose. The loggerrejects this request to free its contact socket. As the second step thelogger choses two sockets to connect to the user's sockets, anddispatches connection requests for these. If the user accepts theconnection within a reasonable period, the connection phase is over, andthe dialog phase can begin. If the user does not respond, the requestsare aborted and the logger abandons this login attempt. There is another part to an NCP: when and how to disconnect.There are two basic situations when a logger should disconnect. Thefirst situation may arise of the serving host's volition. The logger maydecide to abandon a login attempt or a logged-in user may decide to logout. The second situation may be due to the using host's volition ornetwork difficulties. This situation occurs when the serving hostreceives a "close connection" control message or one of the networkerror messages signifying that further transmission is impossible. Thismay happen for either the "read" or the "write" connection,Disconnecting involves both the deletion of the network connections andthe stoppage of any activity at the serving host related to that user.If the login is in progress, it should be abandoned. If the user isalready logged in, his process should be stopped, since he no longer hascontrol over what it is doing. This is not intended to restrict absentee [Page 3]RFC 98 Logger Protcol Proposal Feb 1971(i.e. consoleless) jobs.The Dialog Phase The second major part other than getting connected is how toconduct the login dialog. This resolves itself into two parts: what tosay and in what form to say it. The login dialog generally consist of asequence of exchanges, a prompting by the logger followed by a userreply specifying a name, a project, or password. However, exactly whatinformation is desired in what sequence is idiosyncratic to each host.Rather than attempt to specify a standard sequence for this dialog, wehave taken the approach that each host may specify its own sequence, solong as it is expressible as an exchange of messages in a basictransmission format. A message is a set of information transmitted byone of the parties that is sufficient for the other party to reply.Byhost specification, either the logger or the user sends sends the firstmessage of the dialog. After that, messages are exchanged sequentiallyuntil the dialog is completed. In this context "message" has no relationto "IMP message". The other issue involved in the login dialog is the format fortransmitting a message. We propose that it be transmitted as a sequenceof ASCII characters (see Specificarions) in groupings calle transactionblocks. 1. Character Set, We feel that there should be a standard character set for logging-in. The alternative, requiring a using host to maintain different transformation between its set and of each serving host, is a burden that can only narrow the scope of interhost usage, The character set proposed, ASCII is widely used standard. Each host must define a transformation sufficient to transform an arbitrary character sequence in the host's code into ASCII and back again, without any ambiguity, The definition of ASCII sequences to express characters not contained in ASCII is appropriate. 2. Transaction Blocks. A message is transmitted as an arbitrary integral number of transaction blocks. A transaction block consists basically of a string of ASCII characters preceeded by a character count. (It also contains a code field. See below.) The count is included as an aid to efficiently assembling a message. Some systems do not scan each character as it is input from the console. Rather, such systems have hardware IO controllers that place input characters into a main memory buffer and interrupt the central processor only when it receives an "action" character (such as "newline"). This reduces the load on the central processor. Because such a hardware facility is not available for interpreting [Page 4]RFC 98 Logger Protcol Proposal Feb 1971 network messages this scheme is proposed as a substitute. It helps in two ways. First, a system need take no action until it receives all characters specified in the count. Second, it need not scan each character to find the end of the message. The message ends at the end of the of a transaction block.Other Issues There are several other issues involved in the area of remotelogins which we feel should be raised, although most need notnecessarily have firm agreements reached for an intial protocal.1. "Echoplex". Echoplex is a mode of typewriter operation in which all typed material is directed by the computer. A key struck by a user does not print directly. Rather the code is sent to the computer, which "echoes" it back to be printed on the typewriter. To reduce complexity, there is to be no option for network echoplexing (for the login only). A using system having its typewriters operating in echoplex mode must generate a local echo to its typewriters. However, a serving system operating echoplexed should suppress the echo of the input during the login phase.2. Correction of Mistakes. During the login dialog the user may make a typing mistake. There is no mistake correction ecplicitly proposed here. If the message in error has not yet been transmitted, the user can utilize the input editing conventions of either the using or the serving host. In the first case, the message is corrected before transmission; in the second, it is corrected at the serving host. If the user has made an uncorrectlable mistake, he should abort the login and try again. To abort, he instructs the local (using) host to "close" one of the connections. The connections are disconnected as specified in the Initial Connection Protocol.3. "Waiting". It may happen that the user may get into a login dialog but for some reason does not complete it. The logger is left waiting for a response by the user. The logger should not wait indefinitely but after a reasonable interval (perhaps a minute) abort the login and "close" the connections according to the provisions of the Initial Connection Protocol.4. Socket Assignments. The Initial Connection Protocol does not specify the ownership of the sockets to be used by the logger in connecting to the user. (The use code field of the socket identifier determines ownership.) The sockets may belong to the logger or may have an arbitraryuser code not used by another process currently existing at the serving host. Under this initial [Page 5]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -