Telnet RFCs
This is a list of various RFCs describing the telnet protocol. I've
avoided listing obsolete RFCs.
Pre-genesis RFCs
These RFCs came out before the major document describing the telnet
protocol as a whole.
RFC
652
Still doing more research.
Genesis, and post-genesis RFCs
RFC 854 marks the point at which the framework of the telnet protocol was
basically solidified. The framework allows for considerable extensions.
Sadly, RFC 854 doesn't talk about extensions implemented in previous RFCs, it
only talks about the base protocol which means that previous RFCs have to be
examined in order to fully understand the current telnet protocol.
- RFC
854, RFC
855, RFC
856, RFC
857, RFC
858. RFC
859, RFC
860, RFC
861
- The base telnet protocol specification. These describe the basic
protocol, and the first set of supported sub-options.
- RFC
885
- The End of Record option. I'm not sure what this is used for, but I
suspect that the IBM 3270 telnet spec may use it. It also adds a new
IAC escape sequence (EOR) to the set defined in RFC
854.
- RFC
927
- A way to send a user ID in order to avoid having to have a login
prompt.
- RFC
933
- A way to send a piece of text flagged as a 'banner' that is
constantly displayed on the screen. This is a DoD request so they can
avoid constantly resending banners that label things as 'top
secret'.
- RFC
1041
- This describes a method to handle 3270 terminals via telnet.
- RFC
1073
- This describes a way for telnet sessions to say something when the
size of their display window changes.
- RFC
1079
- How to send information about what baud rate your connection is on so
programs can make decisions based on this. emacs, for example, chooses
and uglier, but much more efficient redraw method for lower baud
rates.
- RFC
1091
- This describes a way for a server to query a client about terminal
types supported by the client's display. One might believe that RFC
1408 obsoletes this, but this also describes a way for the client
and server to negotiate to a mutually agreeable terminal type, which
can't really be done using the protocol described in RFC
1408. For exchanging terminal type information, this protocol is
preferred over RFC
1408.
- RFC
1096
- Describes a method by which a server can query a client about what
X11 display it is on. This is definitely obsoleted by RFC
1408. Future implementations need to udnerstand this mechanism of
transferring X display information, but the protocol specififed in RFC
1408 is the preferred method.
- RFC
1097
- This describes a protocol that can be used to flag messages as being
subliminal messages.
- RFC
1143
- This describes, in detail, option negotion loop problems in the
telnet protocol, and how to avoid them when writing a telnet
implementation.
- RFC
1116, RFC
1184
- These two describe how to handle line-at-a-time mode. RFC
1184 obsoletes RFC
1116, but linemode is complex, and having both RFCs would probably
clarify things. Also, linemode adds several IAC escapes (EOF, SUSP, and
ABORT) to the base set defined in RFC
854.
- RFC
1205
- So, you want to pretend to be an IBM 5250 terminal....
- RFC
1372
- Describes a protocol for handling flow control. This is mainly
concerned with user-level flow control, like hitting Control-S to pause
output.
- RFC
1408, RFC
1571
- Describes a protocol for sending environment variables from client to
server in the telnet protocol. This protocol could be used instead of
the terminal type (RFC
1091) and X11 display (RFC
1096) protocols.
Both of these RFCs are mentioned because the reference
implementation of RFC
1408 disagreed with the actual implementation. RFC
1571 describes a method for resolving the ambiguity. Because of
this, the nearly identical protocol described in RFC
1572 is the preferred method of sending environment variables.
- RFC
1416
- Describes a protocol for sending authentication information back and
forth between client and server. This protocol uses magic numbers
defined in RFC
1700 to indicate which authentication method will be used, or is
supported.
- RFC
1411
- Describes how to use the protocol described in RFC
1416 to do KERBEROS_V4 authentication.
- RFC
1572
- Describes an alternate environment variable passing protocol that
fixes the ambiguities between the reference implementation, and the
text of the spec in RFC
1408 and RFC
1571. This is the preferred environment variable passing
protocol.
- RFC
2066
- Describes a protocol that can be used to negotiate a character set
and input translations primarily for multi-lingual telnet.
- RFC
2217
- Describes a protocol that can be used to exchange RS232 parameters
and modem control line state change information via telnet. This is so
telnet can be used as an interface to a modem pool or terminal
server.
Another document of interest is the telnet
portion of the assigned numbers RFC.
Back to Eric Hopper's
technical stuff
Eric Hopper eric-www@omnifarious.org My homepage