telnet怎么使用,oracle12537连接关闭( 三 )


将远程登陆服务器设计为应用级软件虽然有其显著的优点:比将代码嵌入操作系统更易修改和控制服务器 。 但其也有效率不高的缺点(后面的内容将会给予解释), 好在用户键入信息的速率不高, 这种设计还是可以接受的 。

3 远程登录的工作过程

使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令 。
Telnet远程登录服务分为以下4个过程:
1)本地与远程主机建立连接 。 该过程实际上是建立一个TCP连接, 用户必须知道远程主机的Ip地址或域名;
2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机 。 该过程实际上是从本地主机向远程主机发送一个IP数据报;
3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端, 包括输入命令回显和命令执行结果;
4)最后, 本地终端对远程主机进行撤消连接 。 该过程是撤销一个TCP连接 。

上面的内容只是讨论了远程登陆最基本的东西, 其中的复杂和编程人员的艰辛是我们难以想象的, 不知道你在舒服的使用Telnet的同时, 是否想到了这些!

三 Telnet协议

我们知道Telnet服务器软件是我们最常用的远程登录服务器软件, 是一种典型的客户机/服务器模型的服务, 它应用Telnet协议来工作 。 那么, 什么是Telnet协议?它都具备哪些特点呢?

1 基本内容

Telnet协议是TCP/IP协议族中的一员, 是Internet远程登陆服务的标准协议 。 应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端 。 它提供了三种基本服务:
1)Telnet定义一个网络虚拟终端为远的系统提供一个标准接口 。 客户机程序不必详细了解远的系统, 他们只需构造使用标准接口的程序;
2)Telnet包括一个允许客户机和服务器协商选项的机制, 而且它还提供一组标准选项;
3)Telnet对称处理连接的两端, 即Telnet不强迫客户机从键盘输入, 也不强迫客户机在屏幕上显示输出 。

2 适应异构

为了使多个操作系统间的Telnet交互操作成为可能, 就必须详细了解异构计算机和操作系统 。 比如, 一些操作系统需要每行文本用ASCII回车控制符(CR)结束, 另一些系统则需要使用ASCII换行符(LF), 还有一些系统需要用两个字符的序列回车-换行(CR-LF);再比如, 大多数操作系统为用户提供了一个中断程序运行的快捷键, 但这个快捷键在各个系统中有可能不同(一些系统使用CTRL+C, 而另一些系统使用ESCAPE) 。 如果不考虑系统间的异构性, 那么在本地发出的字符或命令, 传送到远地并被远地系统解释后很可能会不准确或者出现错误 。 因此, Telnet协议必须解决这个问题 。
为了适应异构环境, Telnet协议定义了数据和命令在Internet上的传输方式, 此定义被称作网络虚拟终端NVT(Net Virtual Terminal) 。 它的应用过程如下:
对于发送的数据:客户机软件把来自用户终端的按键和命令序列转换为NVT格式, 并发送到服务器, 服务器软件将收到的数据和命令, 从NVT格式转换为远地系统需要的格式;
对于返回的数据:远地服务器将数据从远地机器的格式转换为NVT格式, 而本地客户机将将接收到的NVT格式数据再转换为本地的格式 。
对于NVT格式的详细定义, 有兴趣的朋友可以去查找相关资料 。

3 传送远地命令

我们知道绝大多数操作系统都提供各种快捷键来实现相应的控制命令, 当用户在本地终端键入这些快捷键的时候, 本地系统将执行相应的控制命令, 而不把这些快捷键作为输入 。 那么对于Telnet来说, 它是用什么来实现控制命令的远地传送呢?

推荐阅读