您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第14章远程登录协议
第14章远程登录协议远程登录协议(Telnet协议)是TCP/IP协议族中的一员。Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。远程登录的思想体现了层次结构概念。远程登录的实现,使本地用户并不直接面对远地系统的各种资源,相当于在服务客户与具体服务之间加入一个中间层次,即远程登录服务器。远程登录服务器的引入,代替了各种大量的具体服务器。第14章远程登录协议14.1基本概念14.2Telnet命令14.3Telnet选项及协商14.4Telnet子选项协商14.5Telnet操作模式14.6Rlogin14.1基本概念一个本地用户像远地用户一样,在远地机建立一个用户帐号,并通过TCP/IP进入该远地帐号,访问远地机资源,这就是远程登录。Telnet远程登录的使用主要有两种情况:用户在远程主机上有自己的帐号(Account),即用户拥有注册的用户名和口令;许多Internet主机为用户提供了某种形式的公共Telnet信息资源,这种资源对于每一个Telnet用户都是开放的。1.远程登录(TELNET)工作原理终端驱动程序OSOSTCPIP链路层物理层TCPIP链路层物理层伪终端驱动程序Telnet客户端Telnet服务器vi…edTCP…应用程序1)服务器网络虚拟终端为远地系统提供一个标准接口,启动Telnet守护进程Telnetd(服务器),等待着客户端的请求。2)用户远程登录,请求服务器的服务。3)Telnetd接收到用户远程登录请求后,将其作为仿真终端(伪终端),派生出子进程Pseudo1与用户的Telnet进程交互。4)客户机和服务器采用协商选项的机制,而且它还提供一组标准选项。用户输入用户名和口令,进行远程登录。如果登录成功,用户在键盘上输入的每一个字符都传到远程主机服务器上。5)用户输入主机终端命令,Pseudo1进程接收命令,将用户输入的命令传给操作系统进行处理,并将处理结果传给用户进程Telnet,用户进程将结果显示在屏幕上。2.Telnet用途远程登录的根本目的是使当地用户访问远地的资源。如果不采用Telnet远程登录的方式,可以采用单纯的客户—服务器方式,但单纯的客户—服务器方式要求在远地系统上为每一种服务创建一个服务器。Telnet主要用途:1)远程登录缩短了空间距离2)远程登录计算机具有广泛的兼容性3)通过Telnet访问其它Internet服务3.网络虚拟终端不同的计算机系统存在差异,这些差异称为异质性。异质性给计算机系统之间的互操作带来许多的麻烦。所谓互操作性是指异质系统间透明地访问对方资源的能力。TELNET具有包容异种计算机和异种操作系统的能力,它能提供许多异种计算机系统间的互操作性。TCP/IP屏蔽了物理网络的异质性,它能保证不同的计算机或计算机网络系统之间的互通。但不同操作系统通过网络进行互操作要由高层软件实现。对于TELNET,系统间的异质性表现在不同的系统对键盘输入的解释各不相同。为了统一异质系统对键盘输入的解释,TELNET专门提供一种标准的键盘定义方式,叫做网络虚拟终端(NVT,NetworkVirtualTerminal)。图15-2表示网络虚拟终端NVT及其字符集的工作示意图。Internet伪终端驱动器服务器客户终端图15-2网络虚拟终端NVT示意图本地计算机字符集NVT字符集远程计算机字符集表15-1列举了NVT字符集。表15-1NVT字符集命令十进制编码含义命令十进制编码含义IAC255解释后面的字节为命令AYT246测试对方是否在运行DON'T254拒绝执行指定选项AO245放弃输出信号DO253容许开放指定选项IP244终止进程信号WON'T252拒绝执行指定选项BRK243停止信号WILL251同意执行指定选项DM242数据标记SB250启动子选项协商NOP241无操作GA249继续执行SE240终止子选项协商EL248删除行信号EOR239记录结束EC247删除字符信号EOF236文件结束Telnet仅使用一个TCP连接,服务器使用固定端口号23,客户端使用自由端口。控制和数据共享一个TCP连接。利用IAC进行转义。每个转义序列由两个字节构成,前一个是保留字节IAC,指出控制函数开始;后一个字节是真正的控制命令。例:catfile1误输入为catfilea后的修改。输入:“c”“a”“t”“”“f”“i”“l”“e”“a”IACEC“1”返回14.2Telnet命令Telnet命令用法如下:telnet[-d][-a][-ntracefile][-eescapechar][-luser]host[port]telnet:Telnet命令-d:设置调试开关的初始值为True-a:尝试自动登录。如果远程主机支持,通过USER传输用户名。-ntracefile:打开tracefile文件以记录跟踪信息-eescapechar:将esc字符的值指定为escapechar-luser:将user指定为登录到远程主机的用户名host:指定host为通过网络连接的主机。port:指定端口号或服务器名称。如果不指定,则使用23号端口。命令含义CLOSE关闭与远程主机的连接DISPLAY显示特定的操作ENVIRON修改(增加)环境变量HELP(?)显示帮助信息LOGOUT强行退出远程用户进程并关闭连接MODE询问服务器模式OPEN打开与特定主机的连接QUIT关闭会话并退出TelnetSEND传输特定的协议字符SET设置操作参数SLC设置本地特殊字符的描述STATUS显示当前状态信息TOGGLE激活操作UNSET取消操作Z挂起Telnet![Command]执行特定的shell命令,如果没有给出命令类型,则指打开shellTelnet命令集上述命令中,某些命令需要更详细的参数。SEND用于传输命令和属性到远程主机。下表列出了SEND命令的属性。命令名称含义命令名称含义EOF文件结束AYT对方是否仍在运行SUSP挂起当前处理进程EC删除字符ABORT终止处理进程EL删除行EOR结束GA继续SE子选项协商结束SB子选项协商开始NOP空操作WILL选项协商DM数据标记WONT选项协商BRK中止DO选项协商IP中断处理DONT选项协商AO丢弃输出IAC转义返回14.3Telnet选项及协商选项协商用于配置本地和远程主机间的工作模式。当一方要执行某个选项时需向另一端发出请求,若对方接受该选项,则选项在两端同时起作用,否则两端保持原来的模式。选项协商是对称的,任何一方都可以主动发送选项协商请求给对方。命令码:WILL、DO、WONT、DONTIAC命令码选项码1.TELNET选项TELNET有一组选项,这些选项用于配置沟通客户与服务器的TCP连接。名字代码RFC意义传输二进制0856将传输改为8位二进制字节回应1857允许一端回应它收到的数据抑制GA3858不在数据后发GoAhead信号状态5859请求远地系统选项的状态时间标志6860请求时间标志插入返回流终端类型24884交换终端类型信息记录末25885结束数据发送行模式341116本地编辑,整行发送其中:传输二进制选项允许连接双方发送8比特二进制数据。标准的TELNET数据均为7比特ASCII码,假如一方想发送8比特的二进制数据,必须征得对方同意。抑制GA选项控制TELNET以全双工或半双工方式工作。最初的TELNET是半双工方式,一方本次数据发送完以后,要发送一个“goahead”(继续)信号,让对方继续发送。“抑制GA”选项允许双方以全双工方式发送数据。终端类型选项用于服务器确定客户终端类型。在屏编中,编辑器要根据不同的终端类型产生光标定位序列,假如终端类型不对,屏编屏幕会发生混乱。2.TELENT选项协商TELENT的选项是可协商的,TELNET连接的一方可以提出某些选项,另一方或同意或反对,在协商基础上双方对选项达成一致。选项协商需要3个字节:一个IAC字节,接着一个字节是WILL,DO,WONT和DONT这四者之一,最后一个字节指明激活或禁止的选项代码。例如“WILLX”意思是“你是否同意我使用X选项”,“DOX”意思是“我同意你使用X选项”,“DONTX”意思是“我不同意你使用X选项”。表14-4选项协商的六种情况发送方接收方描述1.WILL发送方想激活选项DO接收方说同意2.WILL发送方想激活选项DONT接收方说不同意3.DO发送方想让接收方激活选项WILL接收方说同意4.DO发送方想让接收方激活选项WONT接收方说不同意5.WONT发送方想禁止选项DONT接收方必须同意6.DONT发送方想让接收方禁止选项WONT接收方必须同意返回14.4Telnet子选项协商在Telnet中,有些选项不是仅仅用“激活”或“禁止”就能够表达的。例如,有时,客户进程必须发送用一个ASCII字符串来指定终端类型,这时候,必须定义子选项协商机制[RFC1091]。Telnet子选项协商命令形式:IACSB选项码参数IACSE下面通过Telnet子选项协商的工作过程来说明该子选项协商命令的意义。首先,和选项协商一样,客户进程发送3个字节的字符序列请求。例如,发送方发出IAC,WILL,24形式的数据,这里的24是终端类型选项号。如果服务器进程同意客户使用该选项,那么响应数据是IAC,DO,24。最后,为了询问客户进程的终端类型,服务器进程再发送如下的字符串:IAC,SB,24,1,IAC,SE。其中:SB是子选项协商的起始命令标志。选项码“24”代表终端类型选项的子选项。参数“1”选项表示“发送你的终端类型”。如果终端类型是mypc,客户进程的响应命令将是:<IAC,SB,24,0‘M’,‘Y’,‘P’,‘C’,IAC,SE>这里,参数“0”代表客户响应的“我的终端类型”。在Telnet子选项协商过程中,终端类型用大写表示,当服务器收到该字符串后会自动转换为小写字符。返回14.5Telnet操作模式对于大多数Telnet的服务器进程和客户进程有4种操作方式。1.半双工在接收用户输入之前,它必须从服务器进程获得GOAHEAD(GA)命令。用户的输入在本地回显,方向是从NVT键盘到NVT显示器,客户进程到服务器进程只能发送整行的数据。2.一次一个字符方式所键入的每个字符都单独发送到服务器进程。服务器进程回显大多数的字符,除非服务器的应用程序去掉了回显功能。3.一次一行方式该方式通常叫做准行方式。该RFC858规定:如果要实现带远程回显的一次一个字符方式,ECHO选项和抑制GOAHEAD选项必须同时有效。当两个选项的其中之一无效时,Telnet就是工作在一次一行方式。4.行方式行方式在RFC1184中定义。它纠正了准行方式的缺陷。是一种全双工模式。目前比较新的Telnet实现支持这种方式。返回14.6RloginRlogin协议[RFC1282]一般在两台UNIX主机之间的实现类似Telnet功能,由于客户进程和服务器进程的操作系统预先都知道对方的操作系统类型,所以就不需要选项协商机制。所以,Rlogin协议比Telnet简单。Rlogin协议后来被扩展用于两台非UNIX主机之间的Telnet功能。本章要点Telnet使本地用户像远地用户一样,在远地机建立一个用户帐号,并通过TCP/IP进入该远地帐号,访问远地机资源。Telnet具有包容异种计算机和异种操作系统的能力,它能提供许多异种计算机系统间的互操作性。Telent的选项是可协商的,就是说Telnet连接的一方可以提出某些选项,另一方或同意或反对,在协商基础上双方对选项选择达成一致。选项协商用于配置本地和远程主机间的工作模式。对于大多数Telnet的服务器进程和客户进程有4种操作方式:半双工、一次一个字符方式、一次一行方式和行方式。Rlogin协议类似Telnet功能,但不需要选项协商机制,Rlogin协议比Telnet简单。
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:第14章远程登录协议
链接地址:https://www.777doc.com/doc-2243337 .html