📄 rfc718.txt
字号:
Network Working Group Jon Postel (SRI-ARC)Request For Comments: 718 Jun 1976NIC #35874The following memo was a page of a document describing changes inversion 1.34 of the Tenex system. I believe that the author is RayTomlinson or someone else in the BBN-RCC Tenex group. In any case Rayhas agreed that these comments should be circulated to the to thenetwork community, rather than to only the Tenex community. Comments on RCTE from the TENEX Implementation ExperienceThe code to implement the RCTE option of the new TELNET protocol forTENEX has been completed. The RCTE option permits a reduction in networktraffic by deferring the transmission of characters which will not causethe receiving user program to be activated until a character which willcause the user program to be activated. A further reduction is achievedby minimizing the flow of echo characters back to the user TELNETprogram. This is done by having the server instruct the user TELNET toecho the group of characters up through the next wakeup character. Bysending this command as the user program is about to read the firstcharacter of that group, the echo is guaranteed to follow any responseto the preceding group of characters.Significant problems with the RCTE protocol were encountered. Thehandling of spontaneous output was specified in a way that made theimplementation extremely difficult to do correctly (if, indeed, acorrect implementation is possible). The solution here was to completelyisolate the control of input transmission and echoing from thecharacters flowing in the output stream. Synchronization of input andoutput then occurs directly by virtue of the embedding of controlinformation in the output stream. This approach permits a simplifiedcoding of both the user TELNET and server TELNET.A second problem was the handling of interrupt characters. The RCTEprotocol fails to provide an explicit mechanism for interrupt charactersthus necessitating the handling of interrupt characters as programwakeup characters. Since the interrupt characters are not actuallyhandled as program wakeup characters and, in fact, bypass the terminalinput buffer, a special provision had to be made to get the command sentback to the user TELNET to indicate that the character stream should beechoed beyond the point where the interrupt character was typed. Thetransmission must be synchronized with the processing of the terminalinput buffer so that it will be sent at the proper time. This wasachieved by putting a marker in the input buffer at the point where theinterrupt character was. This marker is never given to the user'sprogram and must not be counted as an input character. A new counter wasinstalled indicating the number of such markers in the input buffer andthe SIBE JSYS modified to indicate "empty" only if the difference of thetotal characters in the buffer and the number of markers in the bufferis greater than 0. -1-A third problem is handling the case where the input buffer is cleared.Since the buffer may contain various wakeup characters and specialmarkers, when the buffer is cleared, the user TELNET and SERVER may getout of sync. It is infeasible to scan the buffer and send a RCTEcommand for each such wakeup character or special marker. instead, acommand is sent to the user TELNET meaning "clear your input buffer andreset your counters". This command is implemented by sending "WILLRCTE". This is the reverse case from a normal RCTE (i.e. DO RCTE) andthus cannot be confused with the normal use of the RCTE option. Thissaves adding a new option. -2-
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -