| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Telnet Options and Option Negotiation (Page 3 of 4) Enabling Options Using Negotiation The first stage in Telnet option negotiation is for the client and server to decide whether or not they want to enable a particular option. One of the aspects of Telnets symmetry of operation is that either device may choose to initiate the use of an option. The initiating device may either specify that it wants to start using an option, or that it wants the other device to start using it. The responding device may either agree or disagree in either case; an option can only be enabled if both devices agree to its use. This negotiation is performed using four Telnet protocol commands, as follows:
The symmetry of Telnet, combined with the fact that both DO and WILL can be used either to initiate a negotiation or respond to one, make Telnets option negotiation potentially complicated. Since either device can initiate negotiation of an option at any time, acknowledgment loops could potentially arise if both devices were to try to enable an option simultaneously, or get into a situation where each kept responding to the others replies. For this reason, the Telnet standard specifies restrictions on when the WILL and DO commands are used. One is that a device may only send a negotiation command to request a change in the status of an option; it cannot send DO or WILL just to confirm or reinforce the current state of the option. Another is that a device receiving a request to start using an option it is already using should not acknowledge it using DO or WILL. Since an option may only be activated if both devices agree to use it, either may disable the use of an option at any time by sending either of these commands:
Home - Table Of Contents - Contact Us The TCP/IP Guide (http://www.TCPIPGuide.com) Version 3.0 - Version Date: September 20, 2005 © Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||