TCPIP讲义继续教育课件.ppt
《TCPIP讲义继续教育课件.ppt》由会员分享,可在线阅读,更多相关《TCPIP讲义继续教育课件.ppt(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、TCP/IP基本原理第七章 远程登录,7.1 概述,远程登录(Telnet)是 Internet提供的基本服务之一,它允许用户在本地主机上对远方主机进行帐号注册,注册成功后,可以把本地主机看作是远方主机的一个普通终端,用户可以同远方主机上的其他用户一样使用远方主机上的软、硬件资源。当用户的机器上没有特定的软件、硬件,而在 Internet网上的另一台机器上拥有这些资源时,他便可以同那台机器的系统管理员取得联系,申请到远方主机的一个帐号,然后使用远程登录服务将自己的主机作为终端设备登录到远方机器上去,使用那些资源。尽管地理上两台机器可能相距很远,但在用户看来,他就像在近程使用那台机器一样,不会感
2、到任何不方便。远程登录的功能:远程登录的作用是把本地主机作为远程主机的一台仿真终端使用,这同样是一种非常重要的Internet基本服务。Telnet之所以重要,首先是因为有些通信软件只支持telnet;其次在于有些非常流行的服务,如BBS,只有通过远程登录才能访问;第三是因为Telnet可以很方便地访问Internet上为数众多的联机数据库和图书馆卡片目录。事实上,Internet上的绝大多数服务都可通过Telnet进行访问。,7.1 概述,具体说来,通过远程登录Telnet可得到如下服务: 访问Internet上的各种联机数据库,包括科网公司的数据库。连接到Internet以外的专用商业网和
3、一些服务,例如DIALOG(电子数据库的集合)或 CompuServe(一种商业电子公告牌系统)。不过,这时的先决条件是你必须在这些系统上拥有一个合法帐户,以便进行登录、使用它们的系统程序并检索有关信息。查阅图书馆的馆藏目录或图书。许多大型图书馆允许用户通过Telnet访问它们的某些程序。比方说,用户可以用Telnet连接到中科院、北京大学和清华大学的图书馆,使用这些图书馆的电子卡目录,就好象用户在使用图书馆的一个终端一样。使用World Wide Web,Gopher,Archie和WAIS等各种高级的Internet服务。使用Whois、Netfind和X.500等目录服务,查询用户的个人
4、信息。访问电子公告牌系统(BBS)。,7.2 远程登录的工作过程,使用Telnet协议进行远程登录时需要满足以下条件:在本地计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的IP地址或域名;必须知道登录标识与口令。 Telnet远程登录服务分为以下4个过程:本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的IP地址或域名;将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;将远程主机输出的NVT格式的数据转化为本地所接受
5、的格式送回本地终端,包括输入命令回显和命令执行结果;最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。,远程登录原理,用户本地计算机,远程服务器,客户机,服务器,Telnet,运行Telnet应用程序,7.3 Telnet协议,基本内容 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序;Telnet包括一个允许客户机和服务
6、器协商选项的机制,而且它还提供一组标准选项;Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。,适应异构 为了使不同操作系统间的Telnet交互成为可能,就必须详细了解异构计算机和操作系统。比如,一些操作系统需要每行文本用ASCII回车控制符结束,另一些系统则需要使用ASCII换行符,还有一些系统需要用两个字符的序列回车-换行;再比如,大多数操作系统为用户提供了一个中断程序运行的快捷键,但这个快捷键在各个系统中有可能不同(一些系统使用CTRL+C,而另一些系统使用ESCAPE)。如果不考虑系统间的异构性,那么在本地发出的字符或命令,传送到远地
7、并被远地系统解释后很可能会不准确或者出现错误。因此,Telnet协议必须解决这个问题。为了适应异构环境,Telnet协议定义了数据和命令在Internet上的传输方式,此定义被称作网络虚拟终端NVT(Net Virtual Terminal)。它的应用过程如下: 对于发送的数据:客户机软件把来自用户终端的按键和命令序列转换为NVT格式,并发送到服务器,服务器软件将收到的数据和命令,从NVT格式转换为远地系统需要的格式;对于返回的数据:远地服务器将数据从远地机器的格式转换为NVT格式,而本地客户机将将接收到的NVT格式数据再转换为本地的格式。,传送远地命令 我们知道绝大多数操作系统都提供各种快捷
8、键来实现相应的控制命令,当用户在本地终端键入这些快捷键的时候,本地系统将执行相应的控制命令,而不把这些快捷键作为输入。那么对于Telnet来说,它是用什么来实现控制命令的远地传送呢? Telnet同样使用NVT来定义如何从客户机将控制功能传送到服务器。我们知道USASCII字符集包括95个可打印字符和33个控制码。当用户从本地键入普通字符时,NVT将按照其原始含义传送;当用户键入快捷键(组合键)时,NVT将把它转化为特殊的ASCII字符在网络上传送,并在其到达远地机器后转化为相应的控制命令。将正常ASCII字符集与控制命令区分主要有两个原因:这种区分意味着Telnet具有更大的灵活性:它可在客
9、户机与服务器间传送所有可能的ASCII字符以及所有控制功能;这种区分使得客户机可以无二义性的指定信令,而不会产生控制功能与普通字符的混乱。,数据流向 下面给出Telnet中的数据流向:数据信息被用户从本地键盘键入并通过操作系统传到客户机程序,客户机程序将其处理后返回操作系统,并由操作系统经过网络传送到远地机器,远地操作系统将所接收数据传给服务器程序,并经服务器程序再次处理后返回到操作系统上的伪终端入口点,最后,远地操作系统将数据传送到用户正在运行的应用程序,这便是一次完整的输入过程;输出将按照同一通路从服务器传送到客户机。因为每一次的输入和输出,计算机将切换进程环境好几次,这个开销是很昂贵的。
10、还好用户的键入速率并不算高,这个缺点我们仍然能够接受。强制命令 我们应该考虑到这样一种情况:假设本地用户运行了远地机器的一个无休止循环的错误命令或程序,且此命令或程序已经停止读取输入,那么操作系统的缓冲区可能因此而被占满,如果这样,远地服务器也无法再将数据写入伪终端,并且最终导致停止从TCP连接读取数据,TCP连接的缓冲区最终也会被占满,从而导致阻止数据流流入此连接。如果以上事情真的发生了,那么本地用户将失去对远地机器的控制。,为了解决此问题,Telnet协议必须使用外带信令以便强制服务器读取一个控制命令。我们知道TCP用紧急数据机制实现外带数据信令,那么Telnet只要再附加一个被称为数据标
11、记(date mark)的保留八位组,并通过让TCP发送已设置紧急数据比特的报文段通知服务器便可以了,携带紧急数据的报文段将绕过流量控制直接到达服务器。作为对紧急信令的相应,服务器将读取并抛弃所有数据,直到找到了一个数据标记。服务器在遇到了数据标记后将返回正常的处理过程。 选项协商 由于Telnet两端的机器和操作系统的异构性,使得Telnet不可能也不应该严格规定每一个telnet连接的详细配置,否则将大大影响Telnet的适应异构性。因此,Telnet采用选项协商机制来解决这一问题。 Telnet选项的范围很广:一些选项扩充了大方向的功能,而一些选项制涉及一些微小细节。例如:有一个选项可以
12、控制Telnet是在半双工还是全双工模式下工作(大方向);还有一个选项允许远地机器上的服务器决定用户终端类型(小细节)。,telnet客户端和服务器在进行连接是的任何一个阶段都可以协商各种选项。下表是一些重要的选项参数:telnet对话的任意一端都可以在本地或远程允许或取消一个选项。要更改选项的发起者需要发送三个字节的命令,格式如下:IAC,,回应方的格式也是如此操作是下表列出的四种类型之一。对应这些发送出的命令有下表所列出的几种可能的应答:,比方说如果发送方想要对方“禁止继续 (suppress go ahead)”。它会发送这样一个发送序列:255 (IAC), 251(will), 3这
13、二个字节序列的最后一个字节指明了所需的行为。在主机之间传递选项时,除了一个选项编码外可能还需要更多其他信息。要求有一个参数的那些选项就属于这种情况。这需要用“子协商”实现。主机间传递其他信息的策略包含两个步骤:首先,双方都同意“商讨”该参数,然后对参数进行“商讨”。在第一步中,同意商讨参数以一种普通的方式来进行。一方通过发送带有选项代码的DO (或WILL) 命令建议使用该选项,另一方发送带有选项代码的DO (或WILL) 命令来表示接受这个建议。一旦双方都同意使用该选项,通过在SB命令后面跟上相应的选项代码、参数和命令SE来开始子协商。每一方都被假设为能够解析该参数。因为最初通过交换WILL
14、和DO命令,双方都表明可以支持该选项。另外,即使收方不能解析该参数,收方也可以通过搜索SE命令(如字符串 ICA SE)来定位参数字符串的结束位置。当然,任何时候一方都可以给另一方发送WONT或DONT来拒绝继续进行进一步的子协商。,7.4 远程登录程序telnet,telnet程序可以让你的计算机像个哑终端 (Dumb Terminal,指没有提供计算功能的终端) 一样连到另一个计算机系统上,它是TELNET协议的一个具体实现。7.4.1 终端仿真很早之前,计算机的体积非常大它们甚至能放满整个房间。为了能让多个人使用一台计算机,一些“终端”被接到了计算机上。最早的时候这些终端是电传打字机,即
15、一种流行的打字机,被称作TTY (”Tele Typewriter,电传打字机,是沿用以前的说法,表示输入设备)。计算机可以让TTY打印字符、换行、回车,还可以读入用户在TLTY上的输入。TTY之后引人了CRT (Cathode-Ray Tube,阴极射线管) 终端。这样的终端可以在显示器上显示字符。早期的这种终端包括视频终端(Video Terminals,简称 VT)的 DEC一族,像VT-52和VT-100,它们都曾经非常地流行。它们允许用户通过移动光标进行“全屏编辑”,并且可以任意地删除字符。它们还允许计算机打印特殊的符号,比如打印线条和破折号,打印粗体字符,清屏等。,如今计算机已经小
16、到可以放到桌面上,甚至装在口袋里,不需要再使用终端,然而人们依旧使用着终端的仿真程序进行远程登录通话,telnet就是这样一种在TCP/IP的仿真终端。一旦一个telnet连接建立后,通信的两端就被假设为在一个“网络虚拟终端”上开始和终止操作。对 TTY、VT-100这种古老类型终端的仿真是通过一台机器控制另一台机器的好方法,因为它们是建立在字符上的,而且它们的设计让它们可以快速有效地传送和接收数据。在绝大多数情况下,telnet是仿真VI”100终端的它的显示总是文本的,没有图形。7.4.2 telnet服务器配置一般来说,默认安装的UNIX服务器都打开了telnet服务。telnet服务在
17、UNIX下是通过inetd或者xinetd守护进程启动的。通过查看inetd的配置文件可以看到与下面所列类似的代码:telnet stream tcp6 nowait root /usr/sbin/in. telnetd in.telnetd 表明telnet服务通过 inetd守护进程启动了。如果是使用xinetd系统,可以在 /etc/xinetd.d中发现一个名为telnet的文件。由于telnet是明文传输的,所以安全性很低,一般都被禁用或者使用TCP Wrappers来启动从而控制能访问telnet的IP地址。,7.4.3 常用的TELNET客户端 1telnet最简单也是最普遍的t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tcpip 讲义 继续教育 课件
限制150内