telnet协议学习笔记2
上一篇 / 下一篇 2007-11-28 10:53:16 / 个人分类:网络协议
2. 原理
h'y/iW V1oujzQ0Telnet协议的主体由三个部分组成:
网络虚拟终端(NVT,Network Virtual Terminal)的定义;
qI0[(ez{^}1YsZ0操作协商定义;
y$^Lmz0协商有限自动机;
2.1.网络虚拟终端(NVT)
2.1.1 . NVT工作原理
51Testing软件测试网C'E|
~0@7m0A7B顾名思义,网络虚拟终端(NVT)是一种虚拟的终端设备,它被客户和服务器所采用,用来建立数据表示和解释的一致性。
2.1.2 . NVT的定义
9J%B/iU#z3k1LX01. NVT的组成
网络虚拟终端NVT包括两个部分:
.k:YTL DO@z0Ø 输出设备:输出远程数据,一般为显示器
"J7^N(]0T)w0Ø 输入设备:本地数据输入
2. 在NVT上传输的数据格式
在网络虚拟终端NVT上传输的数据采用8bit字节数据,其中最高位为0的字节用于一般数据,最高位为1的字节用于NVT命令
3. NVT在TELNET中的使用
F^9U4Y/xi.S0TELNET使用了一种对称的数据表示,当每个客户机发送数据时,把它的本地终端的字符表示影射到NVT的字符表示上,当接收数据时,又把NVT的表示映射到本地字符集合上。
在通信开始时,通信双方都支持一个基本的NVT终端特性子集(只能区分何为数据,何为命令),以便在最低层次上通信,在这个基础上,双方通过NVT命令协商确定NVT的更高层次上的特性,实现对NVT功能的扩展。
在TELNET中存在大量的子协议用于协商扩展基本的网络虚拟终端NVT的功能,由于终端类型的多样化,使得TELNET协议族变得庞大起来。
2.2.操作协商
2.2.1 . 为什么要协商操作选项
f t[^7ZA~
r0当定义了网络虚拟终端设备后,通信的双方就可以在一个较低的层次上实现数据通信,但基本的NVT设备所具有的特性是十分有限的,它只能接收和显示7位的ASCII码,没有最基本的编辑能力,所以简单的NVT设备是没有实际应用意义的;为此TELNET协议定义了一族协议用于扩展基本NVT的功能,目的是使NVT能够最大限度地达到用户终端所具有的功能。
为了实现对多种终端特性的支持,TELNET协议规定在扩展NVT功能时采用协商的机制,只有通信双方通过协商后达成一致的特性才能使用,才能赋予NVT该项特性,这样就可以支持具有不同终端特性的终端设备可以互连,保证他们是工作在他们自己的能力以内。
2.2.2 . 操作协商命令格式
51Testing软件测试网&er/TbzrS@s[TELNET的操作协商使用NVT命令,即最高位为1的字节流,每条NVT命令以字节IAC(0xFF)开始。原理如下:
x C/K V,ZK`(x0只要客户机或服务器要发送命令序列而不是数据流,它就在数据流中插入一个特殊的保留字符,该保留字符叫做“解释为命令”(IAC ,Interpret As Command)字符。当接收方在一个入数据流中发现IAC字符时,它就把后继的字节处理为一个命令序列。下面列出了所有的Telnet NVT命令,其中很少用到。