• 1. 第14章 远程登录协议远程登录协议(Telnet协议)是TCP/IP协议族中的一员。Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。 远程登录的思想体现了层次结构概念。远程登录的实现,使本地用户并不直接面对远地系统的各种资源,相当于在服务客户与具体服务之间加入一个中间层次,即远程登录服务器。远程登录服务器的引入,代替了各种大量的具体服务器。
  • 2. 第14章 远程登录协议14.1 基本概念 14.2 Telnet命令 14.3 Telnet选项及协商 14.4 Telnet子选项协商 14.5 Telnet操作模式 14.6 Rlogin
  • 3. 14.1 基本概念一个本地用户像远地用户一样,在远地机建立一个用户帐号,并通过TCP/IP进入该远地帐号,访问远地机资源,这就是远程登录。 Telnet远程登录的使用主要有两种情况: 用户在远程主机上有自己的帐号(Account),即用户拥有注册的用户名和口令; 许多Internet主机为用户提供了某种形式的公共Telnet信息资源,这种资源对于每一个Telnet用户都是开放的。
  • 4. 1.远程登录(TELNET)工作原理终端驱 动程序OSOSTCPIP链路层物理层TCPIP链路层物理层伪终端 驱动程序Telnet 客户端Telnet 服务器vi…edTCP…应用程序
  • 5. 1)服务器网络虚拟终端为远地系统提供一个标准接口,启动Telnet守护进程Telnetd(服务器),等待着客户端的请求。 2)用户远程登录,请求服务器的服务。 3)Telnetd接收到用户远程登录请求后,将其作为仿真终端(伪终端),派生出子进程Pseudo1与用户的Telnet进程交互。 4)客户机和服务器采用协商选项的机制,而且它还提供一组标准选项。用户输入用户名和口令,进行远程登录。如果登录成功,用户在键盘上输入的每一个字符都传到远程主机服务器上。 5)用户输入主机终端命令,Pseudo1进程接收命令,将用户输入的命令传给操作系统进行处理,并将处理结果传给用户进程Telnet,用户进程将结果显示在屏幕上。
  • 6. 2.Telnet用途 远程登录的根本目的是使当地用户访问远地的资源。如果不采用Telnet远程登录的方式,可以采用单纯的客户—服务器方式,但单纯的客户—服务器方式要求在远地系统上为每一种服务创建一个服务器。 Telnet主要用途: 1)远程登录缩短了空间距离 2)远程登录计算机具有广泛的兼容性 3)通过Telnet访问其它Internet服务
  • 7. 3.网络虚拟终端 不同的计算机系统存在差异,这些差异称为异质性。异质性给计算机系统之间的互操作带来许多的麻烦。所谓互操作性是指异质系统间透明地访问对方资源的能力。 TELNET具有包容异种计算机和异种操作系统的能力,它能提供许多异种计算机系统间的互操作性。 TCP/IP屏蔽了物理网络的异质性,它能保证不同的计算机或计算机网络系统之间的互通。但不同操作系统通过网络进行互操作要由高层软件实现。 对于TELNET,系统间的异质性表现在不同的系统对键盘输入的解释各不相同。
  • 8. 为了统一异质系统对键盘输入的解释,TELNET专门提供一种标准的键盘定义方式,叫做网络虚拟终端(NVT,Network Virtual Terminal)。 图15-2表示网络虚拟终端NVT及其字符集的工作示意图。
  • 9. 表15-1列举了NVT字符集。
  • 10. Telnet仅使用一个TCP连接,服务器使用固定端口号23,客户端使用自由端口。控制和数据共享一个TCP连接。利用IAC进行转义。每个转义序列由两个字节构成,前一个是保留字节IAC,指出控制函数开始;后一个字节是真正的控制命令。 例:cat file1误输入为cat filea后的修改。 输入:“c” “a” “t” “ ” “f” “i” “l” “e” “a” IAC EC “1”返回
  • 11. 14.2 Telnet命令 Telnet命令用法如下: telnet [-d] [-a] [-n tracefile] [-e escapechar] [-l user] host [port] telnet:Telnet命令 -d:设置调试开关的初始值为True -a:尝试自动登录。如果远程主机支持,通过USER传输用户名。 -n tracefile:打开tracefile文件以记录跟踪信息 -e escapechar:将esc字符的值指定为escapechar -l user:将user指定为登录到远程主机的用户名 host:指定host为通过网络连接的主机。 port:指定端口号或服务器名称。如果不指定,则使用23号端口。
  • 12. Telnet命令集
  • 13. 上述命令中,某些命令需要更详细的参数。 SEND用于传输命令和属性到远程主机。下表列出了SEND命令的属性。 返回
  • 14. 14.3 Telnet选项及协商 选项协商用于配置本地和远程主机间的工作模式。当一方要执行某个选项时需向另一端发出请求,若对方接受该选项,则选项在两端同时起作用,否则两端保持原来的模式。 选项协商是对称的,任何一方都可以主动发送选项协商请求给对方。 命令码:WILL、DO、WONT、DONT
  • 15. 1. TELNET选项 TELNET有一组选项,这些选项用于配置沟通客户与服务器的TCP连接。 名字 代码 RFC 意 义 传输二进制 0 856 将传输改为8位二进制字节 回应 1 857 允许一端回应它收到的数据 抑制GA 3 858 不在数据后发Go Ahead信号 状态 5 859 请求远地系统选项的状态 时间标志 6 860 请求时间标志插入返回流 终端类型 24 884 交换终端类型信息 记录末 25 885 结束数据发送 行模式 34 1116 本地编辑,整行发送
  • 16. 其中: 传输二进制选项允许连接双方发送8比特二进制数据。标准的TELNET数据均为7比特ASCII码,假如一方想发送8比特的二进制数据,必须征得对方同意。 抑制GA选项控制TELNET以全双工或半双工方式工作。最初的TELNET是半双工方式,一方本次数据发送完以后,要发送一个“go ahead”(继续)信号,让对方继续发送。“抑制GA”选项允许双方以全双工方式发送数据。 终端类型选项用于服务器确定客户终端类型。在屏编中,编辑器要根据不同的终端类型产生光标定位序列,假如终端类型不对,屏编屏幕会发生混乱。
  • 17. 2.TELENT选项协商 TELENT的选项是可协商的,TELNET连接的一方可以提出某些选项,另一方或同意或反对,在协商基础上双方对选项达成一致。 选项协商需要3个字节:一个IAC字节,接着一个字节是WILL,DO,WONT和DONT这四者之一,最后一个字节指明激活或禁止的选项代码。 例如“WILL X”意思是“你是否同意我使用X选项”,“DO X”意思是“我同意你使用X选项”,“DONT X”意思是“我不同意你使用X选项”。
  • 18. 返回
  • 19. 14.4 Telnet子选项协商 在Telnet中,有些选项不是仅仅用“激活”或“禁止”就能够表达的。例如,有时,客户进程必须发送用一个ASCII字符串来指定终端类型,这时候,必须定义子选项协商机制[RFC 1091] 。 Telnet子选项协商命令形式:
  • 20. 下面通过Telnet子选项协商的工作过程来说明该子选项协商命令的意义。 首先,和选项协商一样,客户进程发送3个字节的字符序列请求。例如,发送方发出形式的数据,这里的24是终端类型选项号。 如果服务器进程同意客户使用该选项,那么响应数据是。 最后,为了询问客户进程的终端类型,服务器进程再发送如下的字符串:
  • 21. 其中: SB是子选项协商的起始命令标志。 选项码“24”代表终端类型选项的子选项。 参数“1”选项表示“发送你的终端类型”。 如果终端类型是mypc,客户进程的响应命令将是: <IAC,SB,24,0‘M’,‘Y’,‘P’,‘C’,IAC,SE> 这里,参数“0”代表客户响应的“我的终端类型”。 在Telnet子选项协商过程中,终端类型用大写表示,当服务器收到该字符串后会自动转换为小写字符。 返回
  • 22. 14.5 Telnet操作模式 对于大多数Telnet的服务器进程和客户进程有4种操作方式。 1.半双工 在接收用户输入之前,它必须从服务器进程获得GO AHEAD(GA)命令。用户的输入在本地回显,方向是从NVT键盘到NVT显示器,客户进程到服务器进程只能发送整行的数据。 2.一次一个字符方式 所键入的每个字符都单独发送到服务器进程。服务器进程回显大多数的字符,除非服务器的应用程序去掉了回显功能。
  • 23. 3.一次一行方式 该方式通常叫做准行方式。该RFC 858规定:如果要实现带远程回显的一次一个字符方式,ECHO选项和抑制GO AHEAD选项必须同时有效。 当两个选项的其中之一无效时,Telnet就是工作在一次一行方式。 4.行方式 行方式在RFC 1184中定义。它纠正了准行方式的缺陷。是一种全双工模式。目前比较新的Telnet实现支持这种方式。 返回
  • 24. 14.6 RloginRlogin协议[RFC 1282] 一般在两台UNIX主机之间的实现类似Telnet功能,由于客户进程和服务器进程的操作系统预先都知道对方的操作系统类型,所以就不需要选项协商机制。所以,Rlogin协议比Telnet简单。 Rlogin协议后来被扩展用于两台非UNIX主机之间的Telnet功能。
  • 25. 本章要点Telnet使本地用户像远地用户一样,在远地机建立一个用户帐号,并通过TCP/IP进入该远地帐号,访问远地机资源。 Telnet具有包容异种计算机和异种操作系统的能力,它能提供许多异种计算机系统间的互操作性。 Telent的选项是可协商的,就是说Telnet连接的一方可以提出某些选项,另一方或同意或反对,在协商基础上双方对选项选择达成一致。选项协商用于配置本地和远程主机间的工作模式。 对于大多数Telnet的服务器进程和客户进程有4种操作方式:半双工、一次一个字符方式、一次一行方式和行方式。 Rlogin协议类似Telnet功能,但不需要选项协商机制,Rlogin协议比Telnet简单。