为使远程交互服务普遍化,可允许用户在远程机器上建立一个登录会话,然后执行命令来实现,即使用远程登录措施。
好处:用户可访问远程系统上所有可用的命令;系统设计员不需提供多个专用的服务器。
需构造用于大多数操作系统的远程登录服务器软件和客户应用软件。
一、远程登录TELNET协议――是一个简单的远程终端协议
功能:用户可以用TELNET在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址),TELNET能把用户的击键传到远地主机,同时也能把远地主机的输出通过TCP连接返回到用户屏幕。
特点:这种服务是透明的,用户感觉到好象键盘和显示器是直接连在远地主机上。
三种基本服务:
定义一个网络虚拟终端,为远程系统提供一个标准接口,客户程序不必详细了解所有可能的远程系统,只需构造使用标准接口的程序。
包括一个允许客户和服务器协商选项的机制,而且还提供一组标准选项(如,选项之一控制着通过连接传输的数据是使用标准7位ASCII字符集还是8位字符集)。
对称处理连接的两端(即不强迫客户从键盘输入,也不强迫客户在屏幕上显示输出),任意程序都可称为客户,任何一端都可发起协商选项。
TELNET终端与服务器的数据通路:
伪终端:用来描述操作系统入口点,允许TELNET服务器之类的运行程序向操作系统传输字符,并使用字符似乎来自本地键盘。操作系统只有提
供伪终端这种措施才能构造一个TELNET服务器!将TELNET服务器安排为应用层程序的优缺点:
优点:比把代码嵌入操作系统更易修改和控制服务器。
缺点:效率不高。
键入的信息从用户键盘通过操作系统传到客户程序
|
再从客户程序返回操作系统
|
通过互联网传到服务器机器
|
到达目的主机后,数据通过操作系统向上传给服务器应用程序
|
再从服务器应用程序返回到服务器的操作系统上的伪终端入口点
|
远程操作系统将字符传给用户正运行的应用程序
|
同时,输出按照同一通路从服务器回送到客户
二、适应异构性
网络虚拟终端NVT(Network virtual Terminal):为适应异构环境,TELNET定义的在Internet上传输数据和命令序列的方式。
实现过程: 客户软件把来自用户终端的按键和命令序列转换为NVT格式
发送到服务器
|
服务器软件将收到的数据和命令
|
从NVT格式转换为远程系统需要的格式
网络虚拟终端NVT格式――所有通信都涉及的是8比特字节
在启动时:
US-ASCII字符集:包括95个可打印字符(包括字母、数字和标点符号)和33个控制码。
NVT标准行结束字符:为两字符的CR-LF序列。
当用户按下本地终端上对应行结束(end-of-line)的一个键时(如Enter或Return键),TELNET客户必须将它映射为CR-LF两字符序列用作传输,TELNET服务器将CR-LF转换为适于远程机器的字符序列。
三、控制传输远程命令
多个控制功能的实现:TELNET NVT客户除从用户那里接受数据外还接受控制功能,并将它们传输到必须解释它们的服务器系统。
从概念上讲,把NVT看作可接受可以产生超过128个字符的键盘的输入,并假定用户键盘上有典型的用于控制功能的虚拟键(想象的键)。
信令 | 意义 |
IP | 中断进程tIntemipt Process,终止运行的程序) |
AO | 终止输出〔Abort Output,放弃任何已缓冲的输出〕 |
AYT | 你在那里吗〔Are You There?测试服务器是杏响应〕 |
EC | 删除字符(Erase Character,删除前一字符) |
EL | 删除行( Erase Line,删除整个当前行) |
SYNCH | 同步(Synchronous)(清除数据路径,直到TCP紧急数据点,俗不解释命令) |
BRK | 中断(Break,中断键或注意信号) |