Telnet EOR: Telnet end of record option
A Telnet option that lets each side mark where a record of data ends.
Postel, J., "Telnet end of record option", RFC 885, DOI 10.17487/RFC0885, December 1983, <https://www.rfc-editor.org/info/rfc885>.
@misc{rfc885,
series = {Request for Comments},
number = 885,
howpublished = {RFC 885},
publisher = {RFC Editor},
doi = {10.17487/RFC0885},
url = {https://www.rfc-editor.org/info/rfc885},
author = {J. Postel},
title = {{Telnet end of record option}},
pagetotal = 2,
year = 1983,
month = dec,
} RFC text
Contents
Network Working Group J. Postel
Request for Comments: 885 ISI
December 1983
TELNET END OF RECORD OPTION
This RFC specifies a standard for the ARPA Internet community. Hosts on
the ARPA Internet that need to mark record boundaries within Telnet
protocol data are expected to adopt and implement this standard.
1. Command Name and Code
END-OF-RECORD 25
2. Command Meanings
IAC WILL END-OF-RECORD
The sender of this command requests permission to begin
transmission of the Telnet END-OF-RECORD (EOR) code when
transmitting data characters, or the sender of this command
confirms it will now begin transmission of EORs with transmitted
data characters.
IAC WON'T END-OF-RECORD
The sender of this command demands to stop transmitting, or to
refuses to begin transmitting, the EOR code when transmitting data
characters.
IAC DO END-OF-RECORD
The sender of this command requests that the sender of data start
transmitting the EOR code when transmitting data, or the sender of
this command confirms that the sender of data is expected to
transmit EORs.
IAC DON'T END-OF-RECORD
The sender of this command demands that the receiver of the
command stop or not start transmitting EORs when transmitting
data.
3. Default
WON'T END-OF-RECORD
DON'T END-OF-RECORD
END-OF-RECORD is not transmitted.
4. Motivation for the Option
Many interactive systems use one (or more) of the normal data
characters to indicate the end of an effective unit of data (i.e., a
record), for example, carriage-return (or line-feed, or escape).
Some systems, however, have some special means of indicating the end
of an effective data unit, for example, a special key. This Telnet
option provides a means of communicating the end of data unit in a
standard way.
5. Description of the Option
When the END-OF-RECORD option is in effect on the connection between
a sender of data and the receiver of the data, the sender transmits
EORs.
It seems probable that the parties to the Telnet connection will
transmit EORs in both directions of the Telnet connection if EORs are
used at all; however, the use of EORs must be negotiated
independently for each direction.
When the END-OF-RECORD option is not in effect, the IAC EOR command
should be treated as a NOP if received, although IAC EOR should not
normally be sent in this mode.
6. Implementation Considerations
As the EOR code indicates the end of an effective data unit, Telnet
should attempt to send the data up to and including the EOR code
together to promote communication efficiency.
The end of record is indicated by the IAC EOR 2-octet sequence. The
code for EOR is 239 (decimal).
ISO Plain Language
On this page
§1Why Mark the End of a Record
Many interactive systems use one of the normal data characters, for example carriage-return, line-feed or escape, to indicate the end of an effective unit of data, called a record. Some systems instead have a special means of indicating the end of a data unit, such as a special key. This Telnet option provides a standard way to communicate the end of a data unit.
The option is named END-OF-RECORD and has code 25.
Some computers mark the end of a chunk of data with a normal character; others use a special key. This option gives every system one common way to mark that boundary.
§2Negotiating the Option
The usual Telnet option commands apply. IAC WILL END-OF-RECORD asks permission to begin transmitting EOR codes, or confirms that the sender will now begin sending them. IAC DO END-OF-RECORD requests that the sender of data start transmitting EORs, or confirms that it is expected to. IAC WON'T and IAC DON'T refuse or demand a stop.
The default is WON'T END-OF-RECORD and DON'T END-OF-RECORD, so no EOR is transmitted. The two parties will probably transmit EORs in both directions if they use them at all, but their use must be negotiated independently for each direction.
One side asks to use the marker, and the other agrees or refuses. Each direction of the conversation is agreed on its own, and the option is off by default.
- IAC WILL END-OF-RECORDWILL — Sender asks to begin, or confirms it will begin, transmitting EORs.
- IAC WON'T END-OF-RECORDWON'T — Sender demands to stop, or refuses to begin, transmitting EORs.
- IAC DO END-OF-RECORDDO — Sender asks the data sender to start transmitting EORs, or confirms it is expected to.
- IAC DON'T END-OF-RECORDDON'T — Sender demands the receiver stop or not start transmitting EORs.
§3How the Option Behaves
When the END-OF-RECORD option is in effect between a sender and a receiver of the data, the sender transmits EORs. The end of a record is indicated by the IAC EOR two-octet sequence, and the code for EOR is 239 (decimal).
When the option is not in effect, a received IAC EOR should be treated as a NOP, although it should not normally be sent in that mode. Because EOR marks the end of an effective data unit, Telnet should try to send the data up to and including the EOR code together, to promote communication efficiency.
The marker is the two-octet sequence IAC EOR. If the option is off, a stray marker is simply ignored. Telnet tries to send each record and its marker in one piece.