Telnet4种操作方式

来源:互联网 发布:北京网络职业学院搬迁 编辑:程序博客网 时间:2024/06/08 02:49

 对于大多数Telnet的服务器进程和客户进程,共有4种操作方式。

1.半双工

这是Telnet的默认方式,但现在却很少使用。NVT默认是一个半双工设备,在接收用户输入之前,它必须从服务器进程获得GO AHEAD(GA)命令。用户的输入在本地回显,方向是从NVT键盘到NVT打印机,所以客户进程到服务器进程只能发送整行的数据。

虽然该方式适用于所有类型的终端设备,但是它不能充分发挥目前大量使用的支持全双工通信的终端功能。RFC 857 [Postel 和Reynolds 1983c]定义了E C H O选项,RFC 858 [Postel和Reynolds 1983d]定义了SUPPRESS GO AHEAD(抑制继续进行)选项。如果联合使用这两个选项,就可以支持下面将讨论的方式:带远程回显的一次一个字符的方式。

2. 一次一个字符方式

这和Rlogin工作方式类似。我们所键入的每个字符都单独发送到服务器进程。服务器进程回显大多数的字符,除非服务器进程端的应用程序去掉了回显功能。

该方式的缺点也是显而易见的。当网络速度很慢,而且网络流量比较大的时候,那么回显的速度也会很慢。虽然如此,但目前大多数Te l n e t实现都把这种方式作为默认方式。

我们将看到,如果要进入这种方式,只要激活服务器进程的SUPPRESS GO AHEAD选项即可。这可以通过由客户进程发送DOSUPPRESS GO AHEAD(请求激活服务器进程的选项)请求完成,也可以通过服务器进程给客户进程发送WILLSUPPRESS GO AHEAD(服务器进程激活选项)请求来完成。服务器进程通常还会跟着发送WILLECHO,以使回显功能有效。

3. 一次一行方式

该方式通常叫做准行方式(kludge line mode),该方式的实现是遵照RFC 858的。该RFC规定:如果要实现带远程回显的一次一个字符方式, ECH选项和SUPPRESS GO AHEAD选项必须同时有效。准行方式采用这种方式来表示当两个选项的其中之一无效时,Telnet就是工作在一次一行方式。在下节中我们将介绍一个例子,可以看到如何协商进入该方式,并且程序需要接收每个击键时如何使该方式失效。

4. 行方式

我们用这个术语代表实行方式选项,这是在RFC 1184[Borman 1990]中定义的。这个选项也是通过客户进程和服务器进程进行协商而确定的,它纠正了准行方式的所有缺陷。目前比较新的Telnet实现支持这种方式。

原创粉丝点击