自学 Linux 20—Linux 应用层网络服务程序简介—TELNET 协议和服务

39 篇文章 2 订阅
1 篇文章 0 订阅

TELNET 协议和服务

  TELNET 协议是最早出现的远程登录协议之一,使用 TELNET 协议可以在本机上登录到远程的计算机上进行一些操作。这在服务器管理中经常使用,可以方便地通过网络对服务器的资源进行访问和控制。

1. 远程登录的基本概念

  分时操作系统允许多个用户同时使用一台计算机。为了保证系统的安全和记账方便,系统要求每个用户有单独的账号作为登录标识,系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令,这个过程被称为 “ 登录 ”。

  远程登录是指用户使用 telnet 命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程

2. 使用 TELNET 协议进行远程登录的工作过程

  使用 TELNET 协议进行远程登录时需要满足以下条件:首先在本地主机上必须装有包含 TELNET 协议的客户程序,还必须知道远程主机的 IP 地址或者域名,要能正常登录必须知道登录的用户名和口令。TELNET 远程登录服务分为以下 4 个过程:

  (1) 本地主机与远程主机建立连接。这个建立过程实际上是建立一个 TCP 连接,用户必须知道远程主机的 IP 地址或域名。
  (2) 将本地终端上输入的用户名和口令,以及以后输入的任何命令或字符以 NVT(Net Virtual Terminal) 格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个 IP 数据报。
  (3) 将远程主机输出的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果。
  (4) 最后,本地主机撤销与远程主机进行的连接,这个过程是撤销一个 TCP 连接。

3. TELNET 协议

  TELNET 协议服务器软件是最常用的远程登录服务器软件,它是一种典型的客户端 / 服务器模型的服务,使用 TELNET 协议来工作。

1. 基本内容

  TELNET 协议是 TCP/IP 协议族中的一种,是 Internet 远程登录服务的标准协议。使用 TELNET 协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了 3 种基本服务。

  █ TELNET 定义一个网络虚拟终端为远地系统提供一个标准接口。客户端程序不必详细了解远地系统,只需构造使用标准接口的程序。
  █ TELNET 包括一个允许客户端和服务器协商选项的机制,而且它还提供一组标准选项。
  █ TELNET 对称处理连接的两端,即 TELNET 不强迫客户端从键盘输入,也不强迫客户端在屏幕上显示输出。

2. 异构网络适应

  为了使得多种操作系统间的 TELNET 交互操作能够正常进行,TELNET 协议定义了一些统一的网络传输格式和命令。

  例如,某些操作系统中需要每行文本用 ASCII 回车控制符(CR)结束,另一些系统则需要使用 ASCII 换行符(LF)作为一行的结束标志,还有一些系统需要用两个字符的序列 回车换行(CRLF)作为结束标记。

  大多数操作系统提供了一个中断当前程序运行的快捷键,但这个快捷键在各个系统中有可能不同(一些系统使用 Ctrl+C,而另一些系统使用 Esc 键)。如果不考虑多种操作系统之间的差异和异构性,就会发生在某个操作系统本地发出的字符或者命令,传送到远程主机后不能正常解析的情况。TELNET 协议定义了数据和命令在 Internet 上的传输方式,即网络虚拟终端 NVT(Net Virtual Terminal)。它的应用过程如下所述。

  █ 对于发送的数据:客户端软件把来自用户终端的按键和命令序列转换为 NVT 格式,并发送到服务器,服务器软件将收到的数据和命令,从 NVT 格式转换为远地系统需要的格式。
  █ 对于返回的数据:远程服务器将数据格式转换为 NVT 格式,而本地客户端将接收到的 NVT 格式数据再转换为本地的格式。

3. 传送远地命令

  大多数的操作系统都实现各种控制命令的各种快捷键操作,当登录的用户在本地终端输入这些快捷键的时候,本地系统将执行对应的本地控制命令,而不把这些快捷键作为输入,TELNET 协议使用 NVT 来定义客户端的快捷键并将控制功能传送到服务器。当用户从本地输入普通字符时,NVT 将按照其原始含义传送:当用户输入快捷键或者组合键的时候,NVT 把输入的键值转化为特殊的 ASCII 字符在网络上传送,并在其到达服务器后转化为相应的控制命令。

4. 数据流向

  TELNET 应用软件有一个缺点,它的效率不高。主要是其中的数据流向造成的。

  数据信息被用户从本地键盘输入并通过操作系统传到客户端程序,客户端程序将其处理后返回操作系统,并由操作系统经过网络传送到服务器,服务器的操作系统将所接收的数据传给服务器程序,并经服务器程序再次处理后返回到操作系统上的终端入口点,最后,服务器操作系统将数据传送到用户正在运行的应用程序,这便是一次完整的输入过程:输出将按照同一通路从服务器传送到客户端。

  因为每一次输入和输出时,计算机将切换进程环境好几次,这个开销是很昂贵的。由于用户按键的速率并不高,所以响应速度一般来说仍然可以接受。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值