rfc-946

Telnet terminal location number option

R. Nedved
date1985-05 streamLegacy statusPROPOSED STANDARD pages4 canonicalhttps://www.rfc-editor.org/rfc/rfc946 doi10.17487/RFC0946
Many systems provide a mechanism for finding out where a user is logged in from usually including information about telephone extension and office occupants names. The information is useful for physically locating people and/or calling them on the phone. In 1982 CMU designed and implemented a terminal location database and modified existing network software to handle a 64-bit number called the Terminal Location Number (or TTYLOC). It now seems appropriate to incorporate this mechanism into the TCP-based network protocol family. The mechanism is not viewed as a replacement for the Terminal Location Telnet Option (SEND-LOCATION) but as a shorthand mechansim for communicating terminal location information between hosts in a localized community. This RFC proposes a new option for Telnet for the ARPA-Internet community, and requests discussion and suggestions for improvements.

Extracted elements (14)

design-rationale §Overview

CMU initially evaluated using a variable-length terminal location string but found it would be expensive to integrate into existing software at multiple OS and network layers. The fixed 64-bit integer was chosen because it can be stored efficiently in OS tables and passed through layered software with minimal changes.

design-rationale §4

The TTYLOC mechanism was originally designed for the CMU PUP-based network in 1982 and is being extended into TCP-based networking as a migration path. The option enables existing mechanisms such as FINGER and WHOIS to report terminal location for incoming network connections, where otherwise only the remote host name is available.

interoperability-note §TTYLOC Number

For multi-homed hosts, any one of the host's valid ARPA Internet addresses may be used as the 32-bit host address field in the TTYLOC number.

ip

interoperability-note §5

The TTYLOC option is not a replacement for the Telnet Terminal Location (SEND-LOCATION) option defined in RFC-779; it is a shorthand mechanism for hosts within the same community (originally the CMU PUP-based network, now extended to TCP). If TTYLOC is refused, SEND-LOCATION should be tried.

normative-requirement §5 RECOMMENDED

It is recommended that if sending the TTYLOC number is refused by the remote host, the Telnet Terminal Location option (SEND-LOCATION, RFC-779) should be attempted as a fallback.

normative-requirement §3 SHOULD

The default state for the TTYLOC option is WON'T TTYLOC (information will not be sent) and DON'T TTYLOC (information will not be received).

protocol-element §2

IAC WILL TTYLOC signals that the sender offers to send TTYLOC information. IAC WON'T TTYLOC signals refusal to send. IAC DO TTYLOC requests receipt of the information. IAC DON'T TTYLOC signals refusal to receive.

protocol-element §TTYLOC Number

Special TTYLOC values are defined: host address 0.0.0.0 means 'unknown host'; terminal number 0xFFFFFFFF (-1) means 'unknown terminal'; terminal number 0xFFFFFFFE (-2) means 'detached' (process not attached to a terminal).

protocol-element §2

The subnegotiation format is: IAC SB TTYLOC <format> <64-bit TTYLOC number with IAC doubling> IAC SE. Format byte 0 designates the standard 64-bit number encoding.

protocol-element §Overview

The TTYLOC number encodes location as a fixed-size 64-bit integer to allow efficient storage in operating system tables and passage through network layers with minimal software modification, in contrast to variable-length strings.

protocol-element §1

The TTYLOC Telnet option is assigned option code 28. It enables transmission of a 64-bit Terminal Location Number between Telnet user and server.

security

security-consideration §5

RFC 946 contains no explicit Security Considerations section. The protocol transmits a host address and terminal line number in cleartext as part of Telnet negotiation, potentially exposing user location information (physical location, office occupant names, telephone extensions) to any party that can observe the Telnet session.

security, privacy

state-machine §5

Negotiation follows standard Telnet option negotiation: user side initiates with WILL TTYLOC; server responds with DO TTYLOC to accept or DON'T TTYLOC to refuse. Alternatively, server may initiate with DO TTYLOC, and user responds with WILL TTYLOC followed by subnegotiation. Subnegotiation only occurs after mutual agreement.

wire-format §2

The TTYLOC number is a 64-bit value composed of two 32-bit fields: the first 32 bits are the official ARPA Internet host address, and the second 32 bits are the terminal line number on that host. Bytes are ordered most-significant to least-significant (big-endian).

ip