900 likes | 1.12k Views
第十四章 远程登录 Telnet. 远程登录就是某用户通过网络登录到远地计算机系统中,并使用远地计算机系统的所有资源。 远程登录的根本目的在于访问远地系统的资源,一个本地用户通过远程登录进入远地系统后,远地系统内核并不将它与本地登录加以区分,因此远程登录用户一样可以访问系统的资源(权限允许 )。. Telnet. 1972 年, 出台了正式的 Telnet 标准 ( RFC318) 。 1977 年进行了更新, 1984 年被美国采用为军事标准,之后被广泛应用。
E N D
第十四章远程登录Telnet • 远程登录就是某用户通过网络登录到远地计算机系统中,并使用远地计算机系统的所有资源。 • 远程登录的根本目的在于访问远地系统的资源,一个本地用户通过远程登录进入远地系统后,远地系统内核并不将它与本地登录加以区分,因此远程登录用户一样可以访问系统的资源(权限允许)。
Telnet • 1972年,出台了正式的Telnet标准(RFC318)。 1977年进行了更新,1984年被美国采用为军事标准,之后被广泛应用。 • 远程登陆是指用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。 • 敲自己的键盘,用别人的电脑
Telnet工作原理 是一种客户/服务器工作模式的系统,通过下层的TCP连接实现进程间通信。
登陆请求 守护进程 客户 23#端口 连接请求 连接响应 Fork() 自由端口 服务器对于客户的每一个服务请求都分别创建一个对应的子进程来提供服务。例如:ls。当一个命令响应完毕后,该子进程随即撤销。 服务器进程 Fork() ls子进程 子进程 子进程 单个服务进程 Telnet系统客户/服务器工作模式
存在的问题 • 一般,操作系统会为一些特殊按键分配特殊的含义,比如本地系统将‘Ctrl+C’解释为:‘终止当前运行的命令进程’。但假设我们已经运行了远程登陆服务器软件,‘Ctrl+C’也有可能无法被传送到远地机器,如果客户机真的将‘Ctrl+C’传到了远地机器,那么‘Ctrl+C’这个命令有可能不能终止远地的进程。 • 通常,客户机软件取消了除一个键以外的所有键的本地解释,并将这些本地解释相应的转换成远地解释,这就使得客户机软件与远地机器的交互,就如同坐在远程主机面前一样,从而避免了上述所提到的混乱。而那个唯一例外的键,可以使用户回到本地环境。
网络虚终端NVT • Telnet客户进程起到一个网络虚终端NVT的作用,将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报; • 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果; • 网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;
第十五章 文件传输与访问FTP和NFS 15.1 文件传输协议FTP 15.2 简单文件传输协议TFTP 15.3 网络文件系统NFS
15.1 文件传输协议FTP • 早期对FTP的定义指出,FTP是一个ARPA计算机网络上主机间文件传输的用户级协 议。其主要功能是方便主机间的文件传输,并且允许在其他主机上进行方便的存储和文件处理。[BA72]而现在FTP的应用范围则是Internet。 • 1973年,正式发表了文件传输协议的标准(RFC454), 1985年,一个作用持续至今的官方文档RFC 959(STD 9)出台。 • F T P也是被大量使用的应用程序之一。在因特网发展的早期阶段,传输文件所用数据包大约占整个互联网通信量的三分之一,而由电子邮件及域名系统所产生的通信量要小于F T P所产生的通信量(1 9 9 5年, W W W的通信量首次超过F T P)。
FTP的连接示意图 • 引入两个不同连接。在控制连接中,用户发送下列一类命令: —— Log me as this user ——here is my password —— send me the file with this name
FTP • 可是,一旦发出了传数据的命令,就打开第2个连接专用于传送数据。FTP协议的设计者希望允许用户在传递文件数据时继续发布命令,例如用户传输的中途发一个中止传输的命令。文件传送的安全保证通过要求用户提供对方机器的用户名和口令得以实现。FTP协议还负责处理两台机器上不同的字符集和行结束符等差异。所使用的各种命令的名称和格式,服从于FTP协议命令和系统实现的规定(控制连接基本上是Telnet连接),可查阅有关书籍。
服务器 客户 fork 控制连接 主服务 控制 控制 器进程 进程 进程 自由端口 fork fork 数据传 数据传 数据连接 输进程 输进程 FTP工作原理 21# 连接请求 21# 20# • 文件服务器随时运行着一个守护进程:FPT服务器进程,端口号为21#,等候任一个客户FTP的连接请求。 • 客户机建立FTP控制进程,申请自由端口号,并发连接请求。
21# 服务器 连接请求 客户 fork 控制连接 主服务 控制 控制 器进程 进程 进程 21# 自由端口 fork fork 数据传 数据传 数据连接 输进程 输进程 20# FTP工作原理 • 服务器守护进程接到客户FTP的连接请求后,立即创建一个 控制子进程,并使之与客户控制进程建立连接并进行各种命 令对话。 • 当客户机发出数据传输命令时,双方各自创建数据传输子进 程,并由服务器端数据子进程主动与客户数据进程建立连接
FTP工作原理 • 双方就此在数据连接上进行数据传输,每一次文件传输的命令完成后,都要动态的撤销数据子进程和数据连接。返回到命令交互状态。 • 当客户机发出拆除连接命令时,即结束双方的所有通信连接。
FTP文件格式 • 尽管计算机系统间的文件表示方式可能不同,但是F T P并不打算处理所有可能的表示方式。F T P定义了适用于大多数文件的两种基本传输类型:文本方式与二进制方式。用户必须选择一种传输类型,并且该模式在整个文件传输中一直有效。 • 文本方式传输被用于基本的文本文件。一个文本文件包含一系列分行的字符。许多计算机系统在文本文件中用A S C I I或者E B C D I C字符集来表示字符。如果知道远程计算机所用的字符集,用户可以用a s c i i或者e b c d i c命令来指定文本方式传输,并且请求F T P在复制文件时在本地与远程的字符集间进行转换。
FTP文件格式 • F T P中除了文本传输外唯一可选择的就是二进制方式,该方式必须被用于所有的非文本文件。例如,声音剪辑、图像或者浮点数矩阵等都必须以二进制方式传输。用户输入b i n a r y命令将F T P置成二进制模式。 • F T P在二进制文件传输时对文件内容不予翻译,也不对文件的表示方式进行转换。相反,二进制传输仅仅产生一个副本—文件中的位元(b i t)被原封不动地进行复制。不幸的是,二进制传输也许不能产生预期的结果。例如,考虑一个3 2位浮点数文件。在二进制模式中, F T P将原封不动地将文件位元从一台计算机上复制到另一台计算机上。但是,如果两台计算机的浮点数表示方式不同,那么计算机将会解释成不同的值。总之:F T P有两种基本传输模式:一个用于文本文件,另一个用于所有的非文本文件。 • 尽管二进制方式产生一个完全相同的副本,但是由于F T P并不将数值转换成本地表示方式,所以副本也许是没有意义的。
简单文件传输协议TFTP • TFTP(Trivial File Transfer Protocol)是一种简化的TCP/IP文件传输协议。TFTP只限于简单文件传输操作,它不提供权限控制,是建立在UDP数据报基础上的,由TFTP提供确认和超时重传机制保证数据传输的可靠性。它只能从文件服务器上获得或写入文件,不能列出目录。由于不支持客户与服务器之间复杂的交互过程, TFTP软件比FTP软件小的多。 • BOOTP远程启动是一种产生于早期UNIX的远程启动方式,主要是用于无磁盘的客户机从服务器得到自己的IP地址、服务器的IP地址、启动映象文件名、网关IP等等。我们经常用到的DHCP服务就是从BOOTP服务扩展而来的
网络文件系统NFS • 文件访问服务允许应用程序读写部分远程文件而 不要求客户复制整个文件。文件访问服务也允许 文件共享,这样多个客户可以访问驻留在服务器 方的同一个文件。 • Sun最早设计NFS,它允许一个系统以一种比FTP 更为紧密的耦合方式访问另一台计算机的文件,类 似于WINDOWS共享系统。用户可以访问位于远程 计算机上的文件和目录并把那些文件和目录当作本 地文件和目录处理。并且可使不同厂家的计算机即 使使用不同的操作系统,也能在一起使用。
网络文件系统NFS • NFS通过将NFS服务器文件系统装载到客户文件系统而工作。一个称做Mountd的进程可处理连接两端的装载协议。装载协议不仅从服务器返回到客户的一个文件句柄,而且返回需要文件驻留的文件系统名。装载使用UDP。 • 装载使得本地文件系统创建一个特殊的目录与远程计算机相关联。每当一个应用程序对该目录下的某个文件进行操作时, N F S客户软件就利用网络对远程计算机文件系统的文件进行操作。任何对于这个特殊目录中文件的操作都会作用在相应的远程文件上。
NFS与RPC • NFS是基于RPC的客户/服务器模型实现,在进行远地文件访问的过程中,NFS将用到远程过程调用RPC(Remote Procedure Call),它允许一个程序调用一个子程序,该子程序实际上是在网上另一台计算机上运行。 • RPC是专为NFS开发的,但现在也应用于其他协议系列。 • RPC协议要使用到外部数据表示协议: XDR (eXternal Dara Representation)
RPC • RPC协议是基于客户/服务器模型的 • RPC客户(客户Stub)负责收集远程过程调用调用参数,连同远程过程调用本身一起传给服务器,然后等待响应结果。 • 服务器(服务器Stub)接收到RPC调用后,首先派生出一个从服务器子进程用于处理RPC请求,然后由从服务器再调用具体的本地操作完成RPC所请求的事情,最后由服务器向客户发回执行结果。 • RPC协议一般采用无连接方式 • 一次RPC调用就是一个交易过程,只包含一个请求和一个应答。
17个NFS过程 文 件 的 打 开 和 关 闭 在 本 地 进 行
XDR(eXternal Data Representation) • 为实现NFS能在异种机之间传输信息(包括访问请求、控制信息、参数和数据)的需要,必须解决异种机之间的数据表示问题,为此开发人员设计了XDR协议。 • RPC客户程序在发送RPC请求之前,首先要对RPC请求参数进行XDR编码,将本地数据转化为标准的XDR格式;而RPC服务器在开始执行RPC过程之前,首先要对XDR进行解码,将标准的XDR格式数据转换成本地数据格式,这个过程叫作XDR变换。
RPC的优点 • 程序设计更加容易,因为用户调用RPC时很少或几乎没有涉及网络编程。应用程序设计人员只需要编写客户程序和服务器过程。 • 如果是使用不可靠的UDP协议,像超时和重传等细节问题由RPC程序包来处理。这就简化了应用程序。 • RPC库为调用参数和结果返回值的传输提供了任何需要的数据转换,从而简化了异构环境下的客户/服务器的编码问题
第十六章 电子邮件E-mail 16.1电子邮件系统体系结构 16.1.1 ISO/OSI电子邮件系统 16.1.2 TCP/IP电子邮件系统 16.2 TCP/IP电子邮件地址 16.3 TCP/IP电子邮件标准 16.3.1 TCP/IP电子邮件格式 16.3.2 多用途因特网邮件扩展MIME 16.3.3 简单邮件传输协议SMTP 16.4 邮箱访问
16.1电子邮件系统体系结构 • 与FTP相比,电子邮件有如下显著的特点: • 第一,电子邮件的使用者是人而非应用程序,于是电子邮件系统在结构上分为两大部分:人机界面与邮件传输。人机界面用于发送者和接收者撰写、编辑和阅读邮件;而邮件传输则负责将邮件从发送端传送到接收端。 • 第二,电子邮件是高度结构化的文件,因此对电子邮件的处理比对一般文件的处理要复杂许多。 • 传输时允许接收者不在场。
16.1.1 ISO/OSI电子邮件系统 • ISO/OSI的电子邮件协议叫作面向消息的文本交换系统MOTIS(Message-Oriented Text Interchange System)。 • MOTIS电子邮件系统分为两部分:用户代理UA(User Agent)和消息传输代理MTA(Message Transfer Agent)。 • UA负责邮件的撰写、阅读和处理;而MTA就是“电子化邮局”,它主要负责邮件的传输和报告。
可分 布在 两台 机器 上 MOTIS电子邮件系统的模型 MTA:通常使用高档机器作为邮件网关 MS:消息存储设备,即电子信箱,用于存放用户的电子邮件。
点到点转发方式 • MOTIS电子邮件系统中邮件的传输采用点到点存储转发方式,其中MTA扮演邮件网关(mail gateway)的角色,邮件经逐个MTA传输直至到达收信方所在MTA。 • 采用存储转发方式的优点是:发送方的MTA一旦将邮件发出去,它就可以退出,去干其它事情,而不必关心邮件的整个传输过程 • MOTIS认为这一点很重要,于是采用存储转发的邮件传输方式。
点到点转发方式 TCP连接 目前,Motis系统主要在国内和国际的公共数据网上使用;而在因特网上,则使用TCP/IP应用协议标准:简单邮件传输系统SMTP(Simple Message Transfer Protocol)
16.1.2 TCP/IP电子邮件系统 • TCP/IP始终坚持端到端的思想,它的电子邮件系统也毫不例外地采用端到端传输方式,端到端方式中,发送方的MTA必须负责将邮件传送到接收方的MTA,中间不得脱身。 • 在端到端邮件传输方式中,虽然发送方主机要始终参与邮件传输的全过程,但由于TCP/IP协议的简洁性,其效率反而比存储转发方式要高。
端到端转发方式 • 由于TCP/IP采用端到端方式,TCP/IP邮件系统要解决的首要问题是当远程的接收方主机暂时不能访问(如未开机、出故障、不能建立网络连接等)时,系统如何发送邮件的问题。 • TCP/IP采用spooling缓冲技术,将用户收发邮件与实际的邮件传输区别开,而这种划分的原型就是MOTIS中的UA和MTA。
TCP/IP电子邮件系统的模型 校园网或拨号网络 周期性发送(30分)
比较 • 点到点存储转发方式类似于无连接的数据报的发送过程,因此可靠性不高,发送方主机将邮件传给第一个邮件网关后,便将邮件删除,如中途丢失,不能重发。 • 点到点存储转发方式延迟大,因为邮件转发是在应用层进行。 • 点到点存储转发方式的优点是可提供良好的互操作性,因为邮件网关可连接不同网络中的电子邮件系统。
16.2 TCP/IP电子邮件地址 • TCP/IP电子邮件地址的格式 • local-name@domian-name • 电子邮件地址举例 • kycai@nudt.edu.cn • 电子邮件地址分为两部分 • 第一部分标识用户的邮箱, • 第二部分标识邮箱所在的计算机。 • 一个邮箱除了拥有一个正式的地址外,还可以有别名(alias)。一个邮箱可以有一个或多个别名。
16.3 TCP/IP电子邮件标准 • 邮件格式标准 • 头部 • RFC822 • 正文 • 多用途因特网邮件扩展 MIME • 邮件传输标准 • 简单邮件传输协议SMTP(RFC821) • ESMTP • RFC1425
Multipurpose Internet Mail Extension 虽然电子邮件最初被设计为只用于文本信息,但可以使用M I M E标准来传输编码后的二进制数据。在使用M I M E时,发送方在头部和正文内包含一些附加信息;接收方使用这些附加信息对信息进行解码。 说明了信息是使用M I M E版本1 . 0生成的,并且包含M i m e _ s e p a r a t o r的行将出现在正文信息的每个部分之前。当M I M E用来发送标准文本信息时,第二行变为: ( Imag/jpeg )