Organization: China Interactive Publishing Network (http://www.china-pub.com/)
RFC Document Chinese Translation Program (http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail: Ouyang@china-pub.com
Translator:
Translation time: 2001-10-20
Copyright: This Chinese translation copyright belongs to China Interactive Publishing Network. Can be used for non-commercial use free reprint, but must
Keep the translation and copyright information of this document.
Network Working Group J. Postel
Request for Comments: 854 J. Reynolds
ISI
Obsoletes: NIC 18639 May 1983
Telnet protocol specification
(RFC874 - Telnet Protocol Specification)
This RFC specifies the standard of an ARPA Internet community. Host on the ARPA Internet should adopt
This standard is now.
table of Contents
Introduction 1
General consideration 1
Network virtual end 4
Data transfer 4
Standard representation of control functions 5
Synchronization (SYNCH) signal 7 in telnet
NVT printer and keyboard 8
Telnet Command Structure 11
Introduction
The purpose of the Telnet protocol is to provide a relatively universal, two-way, an eight-bit byte communication mechanism. Its main
The goal is to allow interface terminal devices and end-oriented processes to interact with each other through a standard process. In addition,
It is expected that the protocol can be applied to the terminal to terminal communication ("connection") and procedure to process communication (distributed calculation).
General consideration
A Telnet connection is a transfer control protocol (TCP) with Telnet Control Information Data.
connection.
The establishment of the Telnet protocol is based on the three main ideas: I. Concept of the online virtual terminal; Second, the options that can be negotiated
The principle; three, the terminal and the process of balance the view.
1. Once a Telnet connection is established, the two ends of the communication are assumed to be in a "network virtual terminal" or
Start and terminate on NVT. A NVT can be imagined to provide a standard, network-wide specification
Intermediate representative of the end. This eliminates the "serviceer" and "users" needs to save the other party terminal and terminal processing agreement.
The necessary information is necessary. All hosts, including users and servers, map their local device properties and protocols to be like one
NVT on the network, and each party can assume that the other party also has a similar map. NVT intentionally makes excessive
Restricted (no vocabulary provided to the host to map to their local character set) and over included (using appropriate termination)
To punish users) reach balance.
Note: The "User" machine usually refers to the physical terminals that are connected, and the "server" is all those who can provide
Some services of the machine. From the terminal to the terminal or process to the application of the process, "user" refers to the initial
Communication connection machine.
2. The view of the negotiable option is based on the fact that many hosts hope to provide more on the NVT.
Services, and many users will have a more complex terminal, and hope to get first-class, not very small
A little service. Although it is independent of each other, it is a lot of "options" in the Telnet protocol, which will
Used to recognize and use the "Do, Don't, Will, WON n't" structure (hereinafter discussed) to allow users
And the server agrees to use more refined (or possibly different) protocols on their Telnet connection. This
Some options include changing the character set, returning, and so on. Establishing the basic policy used by options is to let each party (or both sides) initialize a request to make some options,
One party can accept or reject the request. If the request is accepted, the option takes effect immediately; if the request is rejected, even
The other end of the connection still retains the characteristics of NVT. Obviously, one party can often be enabled by rejection, and never pass
After rejection to cancel some options because these options are prepared in order to support NVT.
We have established a rules for negotiation options, making both parties to request a same option at the same time, each
Folders can take the other party as a definite response to his request.
3. The symmetry of the negotiation syntax may lead to an endless response cycle - each party sent the other party
A request that must be answered instead of the other party's response. To prevent this cycle, you can apply the following rules:
a. One party can only request the state of changing the option. That is, one party cannot only send a request to declare the model it use.
b. If the request received by one party is required to enter the current state, then the request will not be
answer. This should not answer the loop to prevent infinity. For those requests for changing modes, you need one
Answer - although this mode does not change.
C. Whenever one direction sends an option command in one direction, whether the command is a request or an answer,
And using this option will be processed when processing data from the first part to the second party, then the command must be
Plug in the data stream it wants to start playing. (To note that the request and reception may be negative response
The process takes some time. Therefore, a host may wish to buffer to send after requesting a request for requesting an option.
Data until it knows that the request is accepted or rejected to hide this paragraph is "uncertain" for the user. )
The option request is in the TELENT connection just now set up to send back to the connection to send back and forth in the connection.
Every party tries to obtain as good as possible from each other. However, on the other hand, the option can be used to dynamically change the connection.
The characteristics of the attachment make it match the change in the local state. For example, NVT (later will be interpreted)
It is more suitable for an application with a Basic language, which is one line in transmitting data, and for each pass
Equipment to lose a character (such as NLS) is not very suitable. When processing local processing, one server can
It can endure the huge processor overhead required for this "temporary feature", and talk about a suitable option. however,
When the detailed control is no longer needed, the processing overhead can be switched back to the NVT (by negotiation).
If a process receives a refusal response, just re-requested this option, then initiated by a process
The request will result in a non-stop request loop. In order to prevent such cycles, the rejected request cannot be repeated, unless
Some options have been changed. In operation, this may mean that the process runs a different program, or the user has
An additional command has been issued, or all other things that can affect a process and its options. according to
Experience, reclaimed can only be a connection to another end, and some information is submitted, or the interaction of local users.
Need.
The options for options should not be limited to some other syntax in the option negotiation. The purpose of using a simple syntax is hope
Make the options easy to use - because it is easy to ignore them. If there are some special options that require a ratio
"Do, Don't, Will, WON't" more complete negotiation structure, a better way to use "do, don't,
Will, won't "makes both parties understand this option, once this process has been completed, you can freely use one more
Special syntax. For example, one party can send a request to notify (establish) the length of one line. If this request is accepted by the other party, you can use another different syntax to perform the actual negotiation of the length of one line - such as one
A "sub-negotiation" may include the minimum allowable maximum, and the length of the most suitable row.
segment. A more important principle is that such extension negotiations have been established in some (standard) negotiations in front, and
And both sides can explain these extension syntax to begin.
In short, WILL XXX is sent from both sides, indicating that the part is hoped (proposed) to start processing the option XXX.
DO XXX and DON 'T XXX indicate its affirmation and negation response; Similarly, DO XXX sends out indication (request)
The other party (i.e., the receiver) starts to process the option XXX, will XXX and Won't xxx represent Ken
Determine and negate response.
Since NVT is guaranteed by using Don't and Won't responding without using any option
The two sides connected can be processed in the state. Therefore, all hosts should implement their Telnet into this way.
Cheng: If you don't know if an unsupported option, you only need to simply reject anything that cannot be understood.
begging.
The Telnet protocol is asymmetrical between the server and the user as much as possible so that it is easier and naturally included.
Both the user (connection) and the server to the server (collaborative processing). Although not completely, we
It is also hoped that the option can strengthen this purpose. In any case, we prefer to express the symmetry is an operation.
The principle, not a constant standard.
Please refer to the relevant document "Telnet Option Specification" to get information about how to create a new option.
Network virtual end
Network Final (NVT) is a two-way character device. NVT has a printer and a keyboard. printer
Responsible data, and the keyboard is responsible for generating data sent out through the Telnet connection, and when you need to "back",
At the same time, the data is returned on the NVT printer. "Return" does not require data to pass through the network (even if there is one
Options can control the "remote" mode of this operation, but does not require the host to implement this option).
In addition to the explanations here, all coding collections are eight, but only the seven USASCIIs are used.
code. All code conversion and time zone problems are local things without affecting NVT.
Data transmission
Although a Telnet connection through the network is in nature is a full-duplex, it usually regards NVT as linearity.
Half-duplex apparatus in buffer mode. That is, unless it has been negotiated with the other party, the following situations correspond to pass
Telnet connection performs data transfer.
1) Within the available range allowed by local buffer space, data can be brought together on the machine that generates data until a complete one
The row data has been prepared, or some signals are explicitly required to transfer data in part definition signals. These signals can be
There is a process, or some users can issue it.
The motivation to define this rule is that for some hosts, the cost of processing network input interrupt is very high, in addition, default
The NVT specification specifies the data of the "return" operation without the transmission of the network. Therefore, there is reason to slow down on the source of data
Rush some data. Many systems will perform some action after the input line (line printer or card punching machine
It is often the case), so data transmission can be triggered at the end of a line of data. In addition, sometimes a user or
The process will find it necessary or should provide some data that is not ending at the end of the line; therefore, the implementation should pay attention to the provided local signaling mechanism to ensure that all buffer data can be sent immediately.
2) When a process has completed data to a NVT printer, and the input queue is not from the NVT keyboard.
Data that needs further processes (that is, when a process of one end connected in telnet is unable to be on the other
Processing without data input), the process must transmit Telnet's continuation (Go Ahead, GA)
make.
This rule does not require a Telnet GA command on the terminals on one of a connection, because the server
When you start processing, you don't need a special signal (and disconnected signals and others).
The characteristics of the righteousness). Moreover, Telnet GA is designed to help a local computer with a "lockable" keyboard (such as
IBM2741) Establish a physically semi-duplex terminal. An illustration of such a terminal may explain the correctness of the GA command
Usage help.
The connection to the computer is always under the control of the user or computer. No party can unilaterally
The other party is controlled; and one of the acquisitions must be explicitly waived. On the end of the terminal, the hardware
When it is terminated at a "connection" (that is, when the user presses the "new connection" button), it waives the control.
When this happens, the connected (local) computer handles the input data, decide whether to generate output, if not
If necessary, return the control to the terminal. If you want to generate an output, the computer is maintained until all the output is
Transmission is completed.
It is obvious to use this type of terminal through the network. "Local" computer sees an end connection
After the line signal, it is impossible to determine whether to keep control, this decision can only be made by the "remote" computer that handles this data.
Therefore, the GA command in Telnet provides a mechanism to make "remote" computer (server) how to "local"
Computer (user) sends a signal telling the other party to the time of transmitting control to the user terminal. When the user needs to be
When the terminal is controlled, it should also be passed during this time. Note that the GA command will be transmitted early will result in output
Blocking, thereby might think that the transmission system has been paused, so it will fail to fail when the user is hand-moving.
Of course, this situation mentioned earlier does not appear in the direction of the server during communication. In this party
Up, although there is no need, GA may be sent at any time. Similarly, if the Telnet connection is applied
In the communication of the process, there is no need to send GA in both directions. Finally, for the communication to the terminal,
GA may be required in both directions. If a host intends to support the communication of the terminal to the terminal, it is recommended that the host needs to pass.
When the Telnet connection is sent to send GA, a method of manually signaling to the user is provided. However, in achieving Telnet
This is not required during the process.
Note: Due to the symmetry of the Telnet model, in theory, in each end of a Telnet connection,
There must be an NVT.
The standard representation of the control function
As we mentioned in this document, the main goal of the Telent Protocol is the terminal connected through the network.
A standard interface is provided between the device and the terminal-oriented process. Early experiment with this interconnection showed that most
All the servers have achieved certain functions, but the way to call these features is very different. For a multiple service
Users in the system interaction, these differences are a very large obstacle. Therefore, the Telnet protocol defines the following five standards in these functions. These standards include standards, meaning --- despite not required (except
Interrupt Process (IP) function, this feature may be required to use TELENT protocols). So, one is not given
Local users provide a system that provides some functionality is not necessary to provide this feature to other users on the network, and you can
The standard representation is used as an NO operation. On the other hand, if a system has provided the local user, then
What you must provide the same functionality to users who are expressed by the standards of those feature on the network.
Interrupt process - Interrupted Process (IP)
Many systems provide hangs, interrupts, abort, and terminate the functions of the user process. When the user is confident that his process has
It is necessary to use this work when you enter an endless cycle or accidentally activate a process that does not want to activate.
can. IP is a standard representation that calls this feature. The implementation of this feature needs to pay attention to other Telnet protocols
These protocols may be supported when the protocol may use IP.
Interrupt output - Abort Output (AO)
Many systems provide a process that allows a generated output to complete operation without transmitting output to the user's terminal.
(Or reach a stop point that will be reached during the completion of the operation.
In addition, this feature generally clears the generated but not actually printed (or display) to terminals to the user.
Output. AO is a standard representation that calls this feature. For example, many subsystems usually accept one user's command,
After the long string sent to the user terminal, finally, send a "prompt" word to the user's terminal.
The compament (previously followed by
To AO, a reasonable implementation should stop continuing to transmit strings, turn to send prompts and followed
The transmission of strings and exits from the subsystem.
At the same time, it is necessary to note that those servers that provide this function may also need to clear those exports outside the system.
The contents of the buffer mechanism (in the network or on the user's local machine). A suitable party to complete this process
The method is to send a "synchronization" signal to the user's system (will be described below).
are you there? - Are you there (ayt)
Many systems provide some visible (such as printable) signs that provide systems that are still running. This work
Can be able to have no movement in the system in an imagination (probably because users don't think
Calculation time, or abnormal huge system load, or the like. ) Is called by the user. AYT is the standard called this feature
Quasi
Eliminate a character - - Erase Character (EC)
Many systems provide "print position" in the data stream provided in front of the user or the user not deleted characters or the user
A character of a character. This feature is usually used when the keyboard is entered when the error is entered. EC is called this
The standard representation can be expressed.
* Note: A "print position" may contain several characters that are covered, or like the following character series:
Eliminate one line - Erase Line (EL)
Many systems provide functions of all data on the current row on the output device. This feature is often in the keyboard
Use when entering editing. EL is a standard representation that calls this feature.
"Synchron" signal in telnet provides a mechanism that allows users to allow a terminal to re-control a "out of control" process.
Authority. The IP and AO function described above are examples of this mechanism. Such systems can be used when used locally
Access all the signals provided by the user, regardless of these signals are some normal characters or by telephones
"Break" or "ATTN" signal sent in IBM 2741. However, the system is coupled to the network through the network.
When it comes, this may be incorrect. The process control mechanism of the network can cause these signals to other places, ratio
Such as the user's machine.
In order to solve this problem, the "synchronization" mechanism in Telnet is proposed.
A synchronization signal contains a TCP emergency notice combined with a Telnet command Data Mark. Should
Emergency Notification is related to the process control in the Telnet connection, and it is received for the process of the data stream.
Processing process. In this mode, the data stream is immediately scanned to find some "interesting" signals defined below.
And discard those interference data.
Telnet Commands Data Mark (DM) is a synchronization tag in the data stream, indicating that all special signals have been
Generation, the recipient can continue to process the data stream.
The sync signal is sent through the sending operation in the TCP, and the emergency sign is required to "true" during the transmission process.
And the DM is used as the last (or unique) one byte.
When many synchronization signals are continuously sent continuously, emergency notifications can be merged. It is impossible to calculate urgent notice
The number of times, since the number of times the received emergency notification may be equal to or less than the number of transmission. In normal mode, one
DM is no operation, but in emergency mode, it indicates the end of the emergency process.
If before discovering DM, TCP has indicated the end of emergency data, Telnet should continue to flow into the data.
Special treatment until DM is found.
If the DM is found, the TCP indicates more emergency data, which can only be another synchronous signal. Telnet
The data stream should be continued until another DM is found.
The defined "interesting" signal is: IP, AO, and AYT (no EC or EL) in Telnet
Representation; indicating that similar local representations (if any); all other Telnet commands; others
The scan of the data stream is not delayed and the custom signal can be used.
Due to an impact of the SYNCH mechanism is to discard all characters that are transferred between senders and recipients (except
This mechanism can be used as a standard way to clear the data path if needed. For example,
The user on one terminal needs to transmit an AO, and the server that receives the AO should return a synchronization letter to the user.
No. (if it provides this feature).
Finally, it is like a Telnet layer, you need to make a TCP emergency notification as an out-of-band signal, so other make
Use Telnet protocols may need to see a telnet command that can be used as a band signal from different levels.
It can be used as such a signal by the convention series [IP, SYNCH]. For example, suppose there is a use
Other protocols of the Telnet protocol define a string STOP similar to the Telnet command AO. Imagination
The purpose of the user uses this protocol is to expect the server to process the STOP string, but because the server is handling other commands,
Leading the connection to be blocked. Users should boot his system:
a) Send a Telnet IP character;
b) Send the Telnet Sync series, that is, send Data Mark (DM) as a unique character in a TCP transmission operation in an emergency mode.
c) Send a string STOP;
d) If there is, send a command similar to the Telnet DM in other protocols.
Users (or processes representing the user) must transfer the Telnet Synch Series in step 2 above to ensure
Telnet IP has arrived at the Telnet interpreter of the server.
Emergency Notifications will activate the Telnet process, and IP will activate the subsequent process.
NVT printer and keyboard
The NVT printer has a paper feeder without a designation, and the length of each page is not specified. NVT printing
The machine can generate all 95 USASCII encoded graphical representations (encoding from 32 to 126). In 33 USASCII
Encoding (0 to 31 and 127) and other 128 encodings (128 to 255) not included, the following encoding pairs are NVT
The printer has determined the meaning:
Name coding meaning
NULL (NUL) 0 no operation
LINE FEED (LF) 10 printhead moves to the next print, but does not change print
The horizontal position of the head.
Carriage Return (CR) 13 Moves the printhead to the left of the current row.
In addition, on the NVT printer, although not required, it should be defined below. Telnet
The two sides of the connected will not assume that the other party will, or have implemented some particularly at the time of receiving or transmitting the following
action:
Bell (BEL) 7 generates a signal that can be seen or can hear (not
Moving a printhead. )
Back Space (BS) 8 Moves a character position of the printhead to the left.
Horizontal Tab (HT) 9 Moves the printhead to the next horizontal tab.
It still does not specify how each of them is detected or set
Where is the stop position of such a tab.
Vertical Tab (VT) 11 Moves the printhead to the next vertical tab. it
Still not specify how each party detects or sets
Stopping the stop position of such a tab.
Form feed (FF) 12 Plug the printhead to the top of the next page, keep the printhead
The same horizontal position.
The rest of the other coding will not cause NVT printing to implement any action.
In the definition, the series "CR LF" will cause the NVT printhead to move to the left side of the next row (with the series "LF CR"
The effect is the same). However, many systems and terminals do not separate CR and LF independently, in order to simulate their effects,
To do some processing. (For example, many terminals are not independent of LF CR, but can be retired on such terminals
The grister to simulate a Cr. Therefore, the series CR LF must be treated as a single "new row" character, and
Use them when you need to combine them together. You must use the series "CR when you only need a separate Enter button.
"NUL"; Avoid using Cr characters in other mights. This rule ensures that the system is discovered a Telnet
In the absence of a character, a reasonable choice can be made: Is it a "wrap" function or
Perform multiple retracted operations.
Note that "CR LF" or "Cr Nul" is required in both directions (in the default ASCII mode) to ensure symmetry of NVT mode.
Although in some cases (if remote elapsed and prohibiting advance options), you can think that characters is not
It is sent to an actual printer, however, in order to ensure consistent, in a data stream, if a Cr is
There is no LF with an LF, which requires a NUL to the back of the Cr.
Instead, in the receiver, if you receive a NUL that follows the CR from the data stream (no negotiation
Options Explicitly specify other options), remove NUL before converting the NVT to the character set.
NVT keyboard with key or key combination, or key series to generate all 128 USAACII encodings. Pay attention to
Some of the NVT keyboard can still be generated in some of the NVT printers.
In addition to these codes, the NVT keyboard can also generate the following additional encoding, except that it is defined, and these
The meaning of coding (although not required).
Assign these actual code of these characters in the Telnet command, because in a sense, I
We can think that these codes are inherent, even interpreted data in the data stream as part of the other character set.
These codes can be used.
SYNCH
This button allows a user to empty to the other data channel. Activating this button will result in sending a TCP tight
The DM of an urgent notice (see the section of the command). A pair of DM-emergency notices have some of the meaning of the previous definition.
Break (BRK)
The reason for providing this code is because in many of the current systems, it is a USASCII collection.
Signal and have local meaning. It can be used to indicate the Break or Attention key has been pressed. However,
It should be noted that its purpose is to provide the 129th encoding of the system that needs to be provided, and it is not equivalent to the standard representation of IP.
Interrupt Process (IP)
Hang up, interrupt, abort, and terminate an NVT connection process. In addition, it is also those who use Telnet.
Part of the out-of-band signal.
Abort Output (AO)
Allows the current process to continue running until the end, but does not send its output information. And put a synchronization letter
The number is sent to the user.
Are you there (ayt)
Send NVT back to some visible (that is, printable) information to indicate that AYT has been received.
ERASE Character (EC)
The recipient will delete the last unlealed leader or "print position" in the data stream.
ERASE LINE (EL)
The receiver will delete the last "Cr Lf" series in the data stream sent by the Telnet connection (but does not include this series)
The following contents.
These "extra" keys, that is, the essence of the printer's format control character is, which is pair from "NVT" to "
"This must be a natural extension of the mapping process.
Just like the byte 68 (octal 104) in the NVT, you can map any code that represents "uppercase D" locally,
Character EC can also map to the local representative "Delete a Character" function.
In addition, it is like a mapping of encoding 124 (octal 174) in an environment without a "vertical line" character.
Any, if there is no "deletion of a character" locally, the mapping of EL is also arbitrary (even unfilled
Shot.
Similarly, the format control characters, if the terminal does have a "vertical tab key", the VT map is obvious, only if there is no vertical table key in the terminal, the VT action is unpredictable. .
Telnet Command Structure
All telnet commands contain at least one sequence of two bytes: followed by the code of the command, "as a command
To explain the transpret as command "(IAC) escape character. There are three byte series of commands that handle option negotiations.
The third byte is encoded by the option reference. The reason why choosing this format is this format to make a wider range
Use "Data Space" - Of course, it is carried out through the basic NVT negotiation. The conflict of data bytes and the preserved command value is
It is greatly reduced, and all of these conflicts require complex and inefficient methods to convert data bytes into streams. Use now
Method, only the same data is transmitted twice, other 255 pieces of code only when needed as data transmission
It can be transparently transmitted.
Here's all defined telnet commands. It should be noted that these codes and code sequences are only in front
It makes sense when there is an IAC.
Name code meaning
End of SE 240 sub-negotiation parameters
NOP 241 empty operation
Data Mark 242 A data stream portion of a synchronous signal. Should
The command is often followed by a TCP emergency
Notice
BREAK 243 NVT BRK Character
Interrupt Process 244 IP function.
Abort Output 245 AO function.
Are you there 246 ayt function.
ERASE Character 247 EC function.
ERASE LINE 248 EL function.
Go Ahead 249 GA signal.
SB 250 means that the following is a child talking about the desired option.
Judgment
Will (Option Code) 251 means that you want to start using or confirm that it is used.
The specified option.
Won't (Option Code) 252 denotes a refusal or continues using the specified option.
DO (Option Code) 253 means that one party requires the other party, or confirmed
You want the other party to use the specified option.
DON't (Option Code) 254 means that one party requires the other party to stop using, or
I don't want the other party to use the specified option.
Iac 255 data byte 255.
Connection establishment
The Telnet TCP connection is established between the user port U and the server port L. Server is used in this type
A well-known port L is listened on listening to a customer request. Since a TPC connection is a full duplex,
The ports of both sides are identified, and the server can respond to many concurrent connections between different user port U and port L.
Port assignment
This protocol assigns the server when it is used to provide access to the service host for remote users (which is remote terminal access).
Port 23 (put the progress 27). That is, L = 23.
This RFC specifies the standard of an ARPA Internet community. Host on the ARPA Internet should adopt
This standard is now.
The purpose of providing some options to the Telnet protocol is to make the host communication between different devices to solve the pass between different devices.
The letter is a better scheme than the possible framework provided by the Network Virtual Terminal (NVT). It allows the host free
Create, test, or discard some options. Of course, you can imagine that those generally useful options ultimately host
It should be supported. Therefore, the documentation of these options should be carefully designed, and they should be published as much as possible. In addition, make sure
It is also necessary to use the same option code in different options.
This document specifies a method of document standard for the allocation of option code and options. When experimenting, it may only need
To optional code assignment without a complete document, in general, a document is required before assigning an option code.
We publish this option by putting a document of an option as an RFC document. Of course, the option is created
Senns can also publish options in other ways.
Option code is assigned by the personnel:
Jonathan B. Postel
University of Southern California
Information Sciences Institute (USC-ISI)
4676 Admirarthy Way
Marina Del Rey, California 90291
(213) 822-1511
Mailbox = Postel @ USC-ISIF
Options to include at least the following sections:
Section 1 - - The name of the command and the code for the option
Section 2 - - Command meaning
The meaning of each telnet command related to this option should be described. It should be noted that for complex selection
Item, "sub-negotiation" is required, so there may be many related orders. The principle of "sub-negotiation" is more detailed below
description.
Section 3 - Default specification
For those hosts that are not implemented or not using this option, these options must be described by default in these hosts.
Pseudo.
Section 4 - Motivation
For a detailed description of the motivation that creates a special option, or select a special format, select a special format.
Those who haven't encountered (or although I have already encountered, but I don't realize) the option design to solve the problem.
Very useful.
Section 5 - Description (or implementation rules)
In order to ensure that two different implementations of a command can communicate with each other, only the meaning of the command is defined and the meaning of the command.
The figure will be described so far is not enough. Therefore, in many cases, we need to give an order to provide a complete
description of. This description can be represented by text, or an exemplary implementation, or a realized clue, or the like.
Interpretation of "sub-negotiation"
When the option is passed between the host, you may need more information in addition to an option code. For example, ask a party
Number of options belong to this situation. The policy that passes additional information outside the option code between the host includes two
Steps: Both parties agree to "discuss" this parameter, second, "discuss" to the parameters.
In the first step, it agreed to discuss parameters in a conventional manner. One party sends a piece of option with options
The DO (or Will) command is recommended to use the option and the other party sends a DO (or Will) command with option code.
Show this suggestion. Once both parties agree to use this option, keep up with the corresponding option code after the SB command.
The parameters and command se are start sub-negotiations. Each party is assumed to be able to resolve this parameter. Because both sides indicate that you can support this option because of the exchange of WILL and DO commands. In addition, even if the recipient cannot resolve the parameter, receive
The party can also locate the end position of the parameter string by searching the SE command (such as a string IAC SE). Of course,
At any time, any party can send Won't or don't to the other party to refuse to continue further
Judgment.
RFC845 --- Telnet Protocol Specification Telnet protocol specification
10
RFC Document Chinese Translation Program