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

📄 rfc513.txt

📁 RFC 相关的技术文档
💻 TXT
字号:
Network Working Group                                     Wayne HathawayRFC # 513                                                        AMES-67NIC # 16444                                                  30 May 1973               COMMENTS ON THE NEW TELNET SPECIFICATIONSI would like to make the following comments on the proposed new TELNETProtocol Specification (NIC # 15372) and TELNET Option Specification(NIC 15373).  In general I feel the new TELNET protocol is far superiorto the previous version.  There are, however, a few items of substancewhich I feel should be changed, as well as some recommended editorialchanges.I feel the most significant error concerns the "Note on 'Sub-negotiations'" section of the Option Specification (page 2).  Theproblem stems from the statements "Each party is presumed to be able toparse the parameter(s)" and "Finally, if parameters in an option'subnegotiation' include a byte with a value of 255, it is not necessaryto double this byte in accordance with the general TELNET IAC."  Thesetwo statements make the completely unwarranted but all too prevalentassumption that there is only one "Telnet Interpreter" and that allTELNET functions are carried out by it.  In particular, problems arisewhen a TELNET "synch" is received, and the receiving NCP is required toscan the input looking for "interesting" things.  If the subnegotiationwas in fact being carried out by a user process (and not the "TELNETinterpreter") then that user process is probably the only one that knowshow to interpret the SB parameters; the NCP itself would have no way ofparsing them.  As a solution to this problem I propose that allsubnegotiation parameters be delimited at the end (perhaps with the sameTELNET command SB) and that they be required to obey all TELNET rules,including doubling of IAC's.  It may be argued that the user processinterpreting the SB itself should do the scanning for "interesting"things, but I do not feel that this burden should be place on all userprocesses.The solution to the above problem is in fact fairly simple to define andimplement.  The general problem, however, is one of not taking propercognizance of what I called "user processes" (processes which are notnetwork standards, but which are simply programs attempting to do workusing the network).  I feel we must be more careful to shape all futurenetwork standards with these very real user processes in mind if in factthe network will ever be as useful as is possible.The second item I object to is the incredibly loose definition of"interesting" things (an aside: words which are so imprecise as torequire quotation marks should never appear in protocol specifications).The specifications do define some of these "interesting" things (eg,Hathaway                                                        [Page 1]RFC 513        COMMENTS ON THE NEW TELNET SPECIFICATIONS        May 1973most TELNET commands) but they then include "and perhaps othercharacters or character strings as well".  To eliminate the difficultyof implementing an undefined set of "interesting" things, I wouldpropose that the set of "interesting" things, contain only the DMcommand itself.  The TELNET "synch" would thus be defined as "discardall input up to and including the next DM command."  This change shouldcause no problems with user-generated "interesting" things if they aresent after the "synch" (as specified in the proposed new File TransferProtocol Specifications).  System-generated signals (such as optionrequests) could be discarded, however, so some additional discussion isin order.  If the recommendation that requests not be sent except whensomething changes is followed, the spontaneous generation of"interesting" things by TELNET itself (whatever that implies) would seemto be rare, especially at the same time that users are generating"synch's".  A more positive solution could be had by defining a "synchresponse" (SR) TELNET command.  The SR command would be sent when theINS and DM had both been processed (ie, when the "synch" had beencompletely received).  If a process should ever receive an SR when ithas an option request outstanding, the request has been discarded andmust be repeated.  User processes which carry on option negotiationswould be the generators of any "synch's" so they can handle discardedoption requests as desired.  Note that this assumes that the TELNETprocess itself will never generate a spontaneous "synch"; comments aresolicited on this.  Another possible solution would be to define a"TIMING-MARK" TELNET command (see "TELNET Timing Mark Option", NIC #16238), which would be sent immediately following the DM of a "synch".The response to the TIMING-MARK (also to be defined) would mean the sameas the proposed SR command.The final non-editorial comment concerns the need for some means ofspecifying horizontal tab positions and use.  This is quite a nuisancewhen dealing with systems which normally handle tabs for localterminals.  Perhaps this issue can be best handled with an appropriateoption; comments are solicited.The only editorial comments are on the TELNET Protocol document, which Ireference below by page number.On page 8 the parenthetical comment "(i.e., when a process at one end ofa TELNET connection is 'blocked on input')" should either be removed orrewritten to avoid the (to me) incomprehensible phrase "blocked oninput."  If additional discussion is felt to be necessary, I wouldpropose "i.e., when a process at one end of a TELNET connection cannotproceed without additional input)."  If examples are felt necessary, Iwould propose "(e.g., in the state characterized by the Multics term'blocked on input')."  The parallel could also be drawn between the GAand the concept of a "read command" being issued to request more input.Hathaway                                                        [Page 2]RFC 513        COMMENTS ON THE NEW TELNET SPECIFICATIONS        May 1973On page 10 I feel that there needs to be some more discussion of theAbort Output (AO) command, particularly the statement that it "allows aprocess... to run to completion... but without sending the output to theuser's terminal."  The problem is that nothing is said about when outputis to resume (presumably at the next system prompt character).  Irealized that the AO is meant only to invoke this function on systemswhich already provide it, but it would seem to be more useful if morefully specified.On page 11 I do not understand what the example "(e.g., an over-strike)"is trying to say.  Speaking of an overstrike on output would imply to methat both characters are to be printed in the same print position,reducing the EC to a backspace.  Some more discussion should also beadded as to what EC (and EL) mean on output (if anything).On page 11 I would like to see the word "promptly" (which is inquotation marks) either eliminated or defined, as per my earlier asidecomment.  The phrase "if necessary" in the last line also seemsunnecessary.On page 12 my proposed redefinition of "interesting" signals wouldremove the middle paragraph entirely and would modify the thirdparagraph substantially.  The line "discard all characters which wouldhave had an effect on the NVT printer" should be changed, however, as itseems BELL's should also be discarded.On page 14 I see no reason why the sequence "CR NUL" is required togenerate a "CR" only, and also object to "and the CR character must beavoided in other contexts."  Either some supporting discussion should beadded or this restriction should be removed.       [ This RFC was put into machine readable form for entry ]       [ into the online RFC archives by Alex McKenzie with    ]       [ support from GTE, formerly BBN Corp.             9/99 ]Hathaway                                                        [Page 3]

⌨️ 快捷键说明

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