RFC 858

Telnet Suppress Go Ahead Option

πŸ“… published May 1983, from ietf

TELNET SUPPRESS GO AHEAD OPTION πŸŽ€

Okay bestie, so this one is by J. Postel and J. Reynolds, both from ISI, and it's dated May 1983 πŸ’…. It obsoletes NIC 15392 🌸. It's a standard for the ARPA Internet community, which means hosts on the ARPA Internet are expected to adopt and implement it ✨. Very official, very iconic.

1. Command Name and Code ✨

The option is called SUPPRESS-GO-AHEAD and its code is 3 πŸ”’.

SUPPRESS-GO-AHEAD     3

2. Command Meanings πŸ’–

Okay, here's where it gets good. There are four commands, and each one is a little different ngl πŸ™ˆ.

IAC WILL SUPPRESS-GO-AHEAD

This one means the sender wants to start suppressing the TELNET GO AHEAD (GA) character when sending data characters. It can also mean the sender is confirming that it will now start suppressing GAs with its data πŸ¦‹.

IAC WON'T SUPPRESS-GO-AHEAD

This one is the sender saying it's demanding to start sending GA characters with its data characters, or to keep sending them if it already is 😀.

IAC DO SUPPRESS-GO-AHEAD

Here the sender is asking the other side (the one sending the data) to start suppressing GA when it transmits data. It can also be the sender confirming that the data sender is expected to suppress GAs 🧚.

IAC DON'T SUPPRESSS-GO-AHEAD

And this is the sender demanding that the receiver start or keep transmitting GAs when sending data πŸ’€.

3. Default πŸ“

By default, WON'T SUPPRESS-GO-AHEAD and DON'T SUPPRESS-GO-AHEAD are in play, and go aheads are transmitted. So unless somebody negotiates otherwise, GAs are still being sent 🫢.


4. Motivation for the Option 🌈

Okay so, the NVT nominally follows a half duplex protocol, complete with a GO AHEAD signal πŸ“‘. But honestly, there's no reason a full duplex connection between a full duplex terminal and a host built to handle full duplex terminals should have to deal with GO AHEAD signals. It's giving unnecessary baggage 🧳. So it's useful to have a TELNET option where the parties involved can agree that one, the other, or both of them should suppress sending GO AHEADs πŸ”₯.

5. Description of the Option πŸ’œ

When SUPPRESS-GO-AHEAD is in effect on the connection between a sender of data and the receiver of that data, the sender doesn't need to send GAs at all πŸ’….

It seems likely that the parties on a TELNET connection will suppress GO AHEAD in both directions if it's suppressed at all. But even so, it has to be suppressed in both directions independently πŸ‘‘. Each direction gets its own deal, periodt.

If SUPPRESS-GO-AHEAD is in effect and an IAC GA command is received, it should be treated as a NOP. IAC GA should not normally be sent in this mode, though πŸ™…β€β™€οΈ.

6. Implementation Considerations ⭐

So SUPRESS-GO-AHEAD is kind of the opposite of line-at-a-time mode πŸ¦‹. That means a sender that's suppressing GO AHEADs should try to actually transmit characters as soon as possible, with minimal buffering, as long as it's still consistent with any other agreements in effect ⚑.

Lowkey, in a lot of TELNET implementations it'll be desirable to couple SUPPRESS-GO-AHEAD to the echo option. That way, when echo is in effect, SUPPRESS-GO-AHEAD is in effect at the same time. Both options will normally need to be on together to get what's commonly understood as character at a time echoing by the remote computer 🌸🫢.

πŸ“¦ where this page comes from