Telnet is a protocol which facilitates bidirectional communication through virtual terminal connections. It was devised in 1969 and was standardized as one of the most earliest Internet standards, the Internet Engineering Task Force or IETF.
Telnet is a popular text-based network protocol which is designed for remote access to other computers over the internet.
However, several glitches in security have terminated the use of telnet and have paved the pathway for a more reliable network protocol Secure Shell (SSH).
Where does the term ‘Telnet’ come?
The term ‘telnet’ is derived from “teletype network” or “terminal network,” depending on the source considered.
The term telnet may also refer to as software that aids in starting a remote session on another machine. To telnet, in general, means to establish a connection either by command line or programmatic interface.
Some historical facts concerning Telnet
Though it evolved in 1969, it had no formal documentation before March 5, 1973. It was treated as an ad-hoc protocol. But after this date, it was officially defined in the University of California, Los Angeles (UCLA) with two NIC documents.
What is telnet?
Telnet is a text-based computer protocol responsible for terminal emulation. It is one of the most important inventions for networking technology. It is an application layer protocol. It enables us to access remote machines and interact with other servers.
How does Telnet work?
Telnet is used to build a connection to the TCP/IP network. By default, the connection occurs on port number 23. But, any other port number may also be specified.
Telnet helps in virtual connection on any machine with open ports. Once connected, use of UNIX based commands facilitate remote access to the device. However, there should be the telnet.exe utility on windows and telnet executable on Unix/Linux.
Telnet server requires login credentials like username and password to establish a connection with the telnet client. When approved, the link is successfully established.
After this, the keystrokes entered by the user when accepted by the client program are transmitted to the telnet server. Usually, it is sent as one character at a time. The server on the target host receives the characters and relays them to a terminal server.
A terminal server is a facility offered by OS to enter keystrokes from a user. It treats the remote user as if directly logged on to the machine. It sends the output to the telnet server which is transferred to the client and finally displayed on the user’s screen.
Typically, telnet server acts as a Master server associated with a certain number of Slave servers.
The master server is always on the heels to listen to a request from the client which when heard, it initiates one of the slave servers to deal and execute the specific request.
The master then again becomes busy listening to any further requests if available.
The Telnet protocol
Telnet protocol relies on three basic concepts:
- The NVT paradigm
- Negotiated option principle
- Rules of negotiation
Telnet defines NVT
The diverse nature of the terminals and operating systems make the application of telnet difficult. To cope with this diversity, TELNET defines a Network Virtual Terminal (NVT). Any user involved in remote sessions is said to be on NVT irrespective of the actual type of terminal in use.
The client program has to convert the keystrokes from actual terminal type to NVT format. The server program must convert NVT characters into the required format by the target host. NVT defines all characters to be 8 bits (one byte) long.
Features of NVT
- It has a printer (display) and a keyboard.
- Keyboard produces outgoing data and printer receives the incoming data.
- There is a local echo function provision.
- It operates in line buffered mode and is a half-duplex device.
- Representation of data is as 7 bit ASCII transmitted in 8-bit bytes.
- Some ASCII control characters are as follows:
|NULL (NUL)||O||NO-OP (no operation)|
|LINE FEED (LF)||10||Move printer to next line keeping the horizontal position |
|CARRIAGE RETURN (CR)||13||Moves printer to left margin|
|BELL (BEL)||7||Produces a signal|
|FORM FEED (FF)||12||Moves printer to top of the next page without changing the horizontal position|
There are other commands like BACKSPACE (BS), HORIZONTAL TAB (HT), VERTICAL TAB (VT).
The Telnet command structure
The interaction between server and client are done through internal commands which are inaccessible by the user. Based on the kind of command, they contain 2 or 3-byte sequence. They are:
- Interpret As Command (IAC) [ code is 255]
- Command code
- Option negotiation (may or may not be there)
|IAC||COMMAND CODE||OPTION NEGOTIATED|
|BYTE 1||BYTE 2||BYTE 3|
The basic idea involves that in order of acceptance of any byte, it must be preceded a byte of value 255. Some of the command codes are as follows:
|WILL||251||Will to use or approval of what is in use|
|WON’T||252||Denial to use or discontinue use|
There are several other commands like SE, DO, DON’T, SB, etc.
Applications of Telnet
- Text-based games on the internet
- Applications for gathering mobile data over secure networks
- Earlier in many library catalogs
- In embedded systems
- Administering network elements
Why is Telnet no longer in use?
Though Telnet is versatile and universal with fruitful characteristics like time-saving through remote access and easy to configure since text-based, it comes with a bundle of disadvantages as well.
Everything is plain text and sent over without encryption hence it is not secured. Chances of hackers sniffing in are always high thus opening scope of banner grabbing or daemon tracking. Also, it lacks graphics.
It may be hard for some users as it is command driven. Also, knowledge of how to run programs is highly essential in case there is heterogeneity in the computer system, language, etc.
Telnet paves the way for SSH
Though it may still be operational in OS like Windows Vista, Windows 8, Windows 7, etc, its use has almost been terminated nowadays mainly due to its insecurity.
It has been now replaced by Secure Shell (SSH) which offers strong authentication and secure data communications through encryption thus increasing security and reliability.
As we see, telnet is a text-based computer protocol which provides a command line interface for remote access and communication with machines. It had been one of the revolutionary discoveries in 1969 in the field of networking and came with so many advantages. However, lack of graphics and security have almost led to the termination of its use.