RFC 1079

Telnet terminal speed option

πŸ“… published December 1988, from ietf

Telnet Terminal Speed Option πŸŽ€

okay bestie, the title block first ✨

  • Network Working Group 🌸
  • Request for Comments: 1079 πŸ’–
  • Author: C. Hedrick (Charles Hedrick) of Rutgers University πŸŽ“
  • Date: December 1988 πŸ“…
  • Category: the Status of This Memo says this is a standard for the Internet community πŸ’…
  • Obsoletes or updates: the title block doesn't list anything πŸ¦‹

Status of This Memo ✨

so this one is a standard for the Internet community. Hosts that trade terminal speed info inside Telnet are expected to adopt and implement it 🫢 Distribution is unlimited, so share away πŸ¦‹

This standard is modelled on RFC 930 [1], the telnet terminal type option, and a lot of its text is copied straight from that one 🧚

Motivation πŸ“

Most operating systems keep track of the speed (bit rate) of directly attached terminals and modems πŸ–₯️ That info is used to control timing-dependent display stuff, like how many padding characters get used for delay. Some software also has user interfaces that get tuned differently for fast and slow terminals. So this option is here to give Telnet connections that same kind of info πŸ’œ

1. Command Name and Code πŸŽ€

TERMINAL-SPEED

Code = 32

2. Command Meanings πŸ’œ

  • IAC WILL TERMINAL-SPEED: the sender is willing to send terminal speed info in a later sub-negotiation 🌈
  • IAC WON'T TERMINAL-SPEED: the sender refuses to send terminal speed info πŸ’€
  • IAC DO TERMINAL-SPEED: the sender is willing to receive terminal speed info in a later sub-negotiation 🫢
  • IAC DON'T TERMINAL-SPEED: the sender refuses to accept terminal speed info πŸ™ˆ
  • IAC SB TERMINAL-SPEED SEND IAC SE: the sender asks the receiver to send over the receiver's own terminal speed. The code for SEND is 1, see below πŸ”₯
  • IAC SB TERMINAL-SPEED IS ... IAC SE: the sender is stating their own terminal speed. The code for IS is 0, see below ✨

3. Default πŸ“

  • WON'T TERMINAL-SPEED: terminal speed info will not be exchanged 😭
  • DON'T TERMINAL-SPEED: terminal speed info will not be exchanged 😭

4. Description of the Option 🧚

WILL and DO are only there to get and grant permission for future discussion. The actual exchange of status info happens inside option subcommands (IAC SB TERMINAL-SPEED...) πŸ’–

Once the two hosts have swapped a WILL and a DO, the sender of the DO TERMINAL-SPEED is free to request speed info. Only the sender of the DO can send requests (IAC SB TERMINAL-SPEED SEND IAC SE), and only the sender of the WILL can transmit the actual speed info (inside an IAC SB TERMINAL-SPEED IS ... IAC SE command). Terminal speed info may not be sent spontaneously. It only goes out in response to a request πŸ™ˆ

The terminal speed info is an NVT ASCII string. It holds the decimal representation of the transmit and receive speeds of the terminal, separated by a comma, like this 🌸

9600,100

No leading zeros may be included. No extraneous characters, such as spaces, may be included 🫢

Here's an example of the option in action πŸŽ€

Host1: IAC DO TERMINAL-SPEED

Host2: IAC WILL TERMINAL-SPEED

Host1 is now free to request status info at any time πŸ’…

Host1: IAC SB TERMINAL-SPEED SEND IAC SE

Host2: IAC SB TERMINAL-SPEED IS "1200,1200" IAC SE

(This command is 15 octets.) πŸ¦‹

5. Implementation Suggestions πŸ”₯

Lots of systems only allow certain discrete terminal speeds. So it's possible a speed comes in that doesn't match any of the allowed values. The suggestion here is to pick the nearest allowed speed, rounding in a "safe" direction. What counts as safe depends on how the speed info gets used. If it's being used for padding, rounding up is the best move, since too much padding is better than too little no cap, that's the main takeaway πŸ‘‘


Reference πŸ“š

[1] Solomon, M., and Wimmers, E., "Telnet Terminal Type Option", RFC 930, January, 1985

Author's Address 🫢

Charles Hedrick
Rutgers University
Center for Computer and Information Services
Hill Center, Busch Campus
P.O. Box 879
Piscataway, NJ 08855-0879

Phone: (201) 932-3088

Email: HEDRICK@ARAMIS.RUTGERS.EDU
πŸ“¦ where this page comes from