In terms of remote management, many administrators need to master this part. Now we will summarize some of the work flows of the Telnet service and some basic features and related functions in this article. First, let's take a look at the login process of this service.
Working Process of Telnet Remote Login
When using the Telnet protocol for remote login, the following conditions must be met: the computer must have a client program containing the Telnet protocol; the IP address or domain name of the remote host must be known; the logon ID and password must be known.
The Telnet remote Logon Service consists of the following four processes:
1) establish a connection between the local host and the remote host. This process is actually a TCP connection. You must know the IP address or domain name of the remote host;
2) Transmit the username and password entered on the local Terminal and any commands or characters entered later to the remote host in NVTNet Virtual Terminal format. in this process, an IP datagram is actually sent from the local host to the remote host;
3) convert the NVT format data output by the remote host to a local accepted format and send it back to the local terminal, including the command echo and command execution result;
4) Finally, the local terminal unconnects the remote host. This process is used to cancel a TCP connection.
The above content only discusses the most basic things of remote login. The complexity and the hardships of programmers are hard to imagine. I don't know if you are comfortable using Telnet, have you thought of this!
Telnet service protocol
We know that the Telnet server software is the most commonly used remote login server software. It is a typical client/server model service that uses the Telnet protocol to work. so what is the Telnet protocol? What features does it have?
1. Basic Content
The Telnet service is a member of the TCP/IP protocol family and is the standard protocol for the Internet remote login service. the Telnet protocol can be used to convert the computer used by the local user into a terminal of the remote host system. it provides three basic services:
1) Telnet defines a network virtual terminal to provide a standard interface for the remote system. The client program does not have to have a detailed understanding of the remote system. They only need to construct a program using the standard interface;
2) Telnet includes a mechanism that allows the client and server to negotiate options, and it also provides a set of standard options;
3) Telnet performs symmetric processing on both ends of the connection, that is, Telnet does not force the client to input data from the keyboard, nor force the client to display the output on the screen.
2. Heterogeneous adaptation
To enable Telnet interaction between multiple operating systems, you must have a detailed understanding of heterogeneous computers and operating systems. for example, in some operating systems, each line of text needs to end with the ASCII carriage return controller CR), and in other systems, the ASCII line break LF is required ), there are also some systems that need to use a two-character sequence carriage return-line CR-LF); for example, most operating systems provide users with a shortcut to interrupt the program running, however, this shortcut key may be used by different systems using CTRL + C, while other systems using ESCAPE ). if the heterogeneity between systems is not taken into account, the characters or commands sent locally may be inaccurate or cause errors after being transferred to the remote and interpreted by the remote system. therefore, the Telnet protocol must solve this problem.
To adapt to heterogeneous environments, the Telnet service defines the transmission mode of data and commands over the Internet. This definition is called the network Virtual Terminal NVTNet Virtual Terminal). Its application process is as follows:
For the sent data: the client software converts the buttons and command sequences from the user terminal to the NVT format and sends them to the server. The server software will receive the data and commands, convert the NVT format to the format required by the remote system;
For the returned data, the remote server converts the data from the remote machine format to the NVT format, and the local client converts the received NVT format data to the local format.
If you are interested in the detailed definition of the NVT format, you can find the relevant information.
3 Send remote commands
We know that most operating systems provide various shortcut keys to implement corresponding control commands. When you type these shortcut keys on a local terminal, the local system will execute the corresponding control commands, instead of using these shortcut keys as input. so for Telnet, what does it use to implement remote transmission of control commands?
Telnet also uses NVT to define how to transmit control functions from the client to the server. we know that the USASCII character set includes 95 printable characters and 33 control codes. when you type a common character locally, NVT transfers it according to its original meaning. When you type a shortcut key combination, NVT transfers it to a special ASCII character over the network, and convert it to the corresponding control command after it reaches the remote machine. there are two main reasons for distinguishing the normal ASCII character set from the control command: