Ch14-17 远程登录Telnet和rlogin

Download Report

Transcript Ch14-17 远程登录Telnet和rlogin

Networking
techno;ogy
第十四章 远程登录Telnet
 远程登录就是某用户通过网络登录到远地计算机
系统中,并使用远地计算机系统的所有资源。
 远程登录的根本目的在于访问远地系统的资源,
一个本地用户通过远程登录进入远地系统后,远
地系统内核并不将它与本地登录加以区分,因此
远程登录用户一样可以访问系统的资源(权限允
许)。
第十四章 远程登录Telnet和rlogin
1
Networking
techno;ogy
Telnet
 1972年,出台了正式的Telnet标准(RFC318)
。 1977年进行了更新,1984年被美国采用为
军事标准,之后被广泛应用。
 远程登陆是指用户使用Telnet命令,使自己
的计算机暂时成为远程主机的一个仿真终端的
过程。仿真终端只负责把用户输入的每个字符
传递给主机,再将主机输出的每个信息回显在
屏幕上。
 敲自己的键盘,用别人的电脑
第十四章 远程登录Telnet和rlogin
2
Networking
techno;ogy
远程连接示意图
第十四章 远程登录Telnet和rlogin
3
Networking
techno;ogy
Telnet工作原理
是一种客户/服务器工作模式的系统,通
过下层的TCP连接实现进程间通信。
第十四章 远程登录Telnet和rlogin
4
Networking
techno;ogy
Telnet系统客户/服务器工作模式
登陆请求
客户
连接响应
连接请求
守护进程
23#端口
Fork()
自由端口
服务器对于客户的
每一个服务请求都
分别创建一个对应
的子进程来提供服
务。例如:ls。当
一个命令响应完毕
后,该子进程随即
撤销。
服务器进程
Fork()
ls子进程
子进程
子进程
单个服务进程
第十四章 远程登录Telnet和rlogin
5
Networking
techno;ogy
存在的问题
 一般,操作系统会为一些特殊按键分配特殊的含义,比
如本地系统将‘Ctrl+C’解释为:‘终止当前运行的命
令进程’。但假设我们已经运行了远程登陆服务器软件
,‘Ctrl+C’也有可能无法被传送到远地机器,如果客
户机真的将‘Ctrl+C’传到了远地机器,那么
‘Ctrl+C’这个命令有可能不能终止远地的进程。
 通常,客户机软件取消了除一个键以外的所有键的本地
解释,并将这些本地解释相应的转换成远地解释,这就
使得客户机软件与远地机器的交互,就如同坐在远程主
机面前一样,从而避免了上述所提到的混乱。而那个唯
一例外的键,可以使用户回到本地环境。
第十四章 远程登录Telnet和rlogin
6
Networking
techno;ogy
网络虚终端NVT
第十四章 远程登录Telnet和rlogin
7
Networking
techno;ogy
网络虚终端NVT
 Telnet客户进程起到一个网络虚终端NVT的作
用,将本地终端上输入的用户名和口令及以后输
入的任何命令或字符以NVT(Net Virtual
Terminal)格式传送到远程主机。该过程实际
上是从本地主机向远程主机发送一个IP数据报;
 将远程主机输出的NVT格式的数据转化为本地
所接受的格式送回本地终端,包括输入命令回显
和命令执行结果;
 网络虚拟终端为远程系统提供一个标准接口。客
户机程序不必详细了解远程系统,他们只需构造
使用标准接口的程序;
第十四章 远程登录Telnet和rlogin
8
Networking
techno;ogy
NVT对8个ASCII码控制字符的重新定义
ASCII 码控制符
十进制值
NVT 意义
NUL
0
无输出(不影响输出)
BEL
7
发声光信号(光标不动)
BS
8
左移一个字符
HT
9
右移到下一个制表符位置
LF
10
下移一行
VT
11
下移到下一个垂直制表符位置
FF
12
移到下一页顶部
CR
13
移到当前行左端
其它
-
无操作
第十四章 远程登录Telnet和rlogin
9
Networking
techno;ogy
第十五章 文件传输与访问FTP和NFS
15.1 文件传输协议FTP
15.2 简单文件传输协议TFTP
15.3 网络文件系统NFS
第十四章 远程登录Telnet和rlogin
10
Networking
techno;ogy
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)。
第十四章 远程登录Telnet和rlogin
11
Networking
techno;ogy
FTP的连接示意图
 引入两个不同连接。在控制连接中,用户发送下列一类命令:
—— Log me as this user
—— here is my password
—— send me the file with this name
第十四章 远程登录Telnet和rlogin
12
Networking
techno;ogy
FTP
 可是,一旦发出了传数据的命令,就打开第2个连
接专用于传送数据。FTP协议的设计者希望允许
用户在传递文件数据时继续发布命令,例如用户
传输的中途发一个中止传输的命令。文件传送的
安全保证通过要求用户提供对方机器的用户名和
口令得以实现。FTP协议还负责处理两台机器上
不同的字符集和行结束符等差异。所使用的各种
命令的名称和格式,服从于FTP协议命令和系统
实现的规定(控制连接基本上是Telnet连接),
可查阅有关书籍。
第十四章 远程登录Telnet和rlogin
13
FTP工作原理
Networking
techno;ogy
客户
控制
自
由
端
口
控制连接
进程
控制
21#
进程
fork
21#
主服务
器进程
fork
fork
数据传
服务器
连接请求
数据传
数据连接
输进程
输进程
20#
文件服务器随时运行着一个守护进程:FPT服务器进
程,端口号为21#,等候任一个客户FTP的连接请求。
客户机建立FTP控制进程,申请自由端口号,并发连
接请求。
第十四章 远程登录Telnet和rlogin
14
FTP工作原理
Networking
techno;ogy
客户
控制
自
由
端
口
控制连接
进程
控制
21#
输进程
进程
fork
21#
主服务
器进程
fork
fork
数据传
服务器
连接请求
数据传
数据连接
20#
输进程
服务器守护进程接到客户FTP的连接请求后,立即创建一个
控制子进程,并使之与客户控制进程建立连接并进行各种命
令对话。
当客户机发出数据传输命令时,双方各自创建数据传输子进
程,并由服务器端数据子进程主动与客户数据进程建立连接
第十四章 远程登录Telnet和rlogin
15
Networking
techno;ogy
FTP工作原理
双方就此在数据连接上进行数据传输,每一次文件传输的
命令完成后,都要动态的撤销数据子进程和数据连接。返回
到命令交互状态。
当客户机发出拆除连接命令时,即结束双方的所有通信连
接。
第十四章 远程登录Telnet和rlogin
16
Networking
techno;ogy
虚拟文件结构
第十四章 远程登录Telnet和rlogin
17
Networking
techno;ogy
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在复制文件时在本
地与远程的字符集间进行转换。
第十四章 远程登录Telnet和rlogin
18
Networking
techno;ogy
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并不
将数值转换成本地表示方式,所以副本也许是没有意义的。
第十四章 远程登录Telnet和rlogin
19
Networking
techno;ogy
存放RFC的FTP站点
第十四章 远程登录Telnet和rlogin
20
Networking
techno;ogy
第十四章 远程登录Telnet和rlogin
21
Networking
techno;ogy
简单文件传输协议TFTP
 TFTP(Trivial File Transfer Protocol) 是 一 种 简 化 的
TCP/IP文件传输协议。TFTP只限于简单文件传输操
作,它不提供权限控制,是建立在UDP数据报基础上
的,由TFTP提供确认和超时重传机制保证数据传输
的可靠性。它只能从文件服务器上获得或写入文件,
不能列出目录。由于不支持客户与服务器之间复杂的
交互过程, TFTP软件比FTP软件小的多。
 BOOTP远程启动是一种产生于早期UNIX的远程启动
方式,主要是用于无磁盘的客户机从服务器得到自己
的IP地址、服务器的IP地址、启动映象文件名、网关
IP等等。我们经常用到的DHCP服务就是从BOOTP服
务扩展而来的
第十四章 远程登录Telnet和rlogin
22
Networking
techno;ogy
网络文件系统NFS
文件访问服务允许应用程序读写部分远程文件而
不要求客户复制整个文件。文件访问服务也允许
文件共享,这样多个客户可以访问驻留在服务器
方的同一个文件。
 Sun最早设计NFS ,它允许一个系统以一种比FTP
更为紧密的耦合方式访问另一台计算机的文件,类
似于WINDOWS共享系统。用户可以访问位于远程
计算机上的文件和目录并把那些文件和目录当作本
地文件和目录处理。并且可使不同厂家的计算机即
使使用不同的操作系统,也能在一起使用。
第十四章 远程登录Telnet和rlogin
23
Networking
techno;ogy
网络文件系统NFS
第十四章 远程登录Telnet和rlogin
24
Networking
techno;ogy
网络文件系统NFS
 NFS通过将NFS服务器文件系统装载到客户文件
系统而工作。一个称做Mountd的进程可处理连接
两端的装载协议。装载协议不仅从服务器返回到
客户的一个文件句柄,而且返回需要文件驻留的
文件系统名。装载使用UDP。
 装载使得本地文件系统创建一个特殊的目录与远
程计算机相关联。每当一个应用程序对该目录下
的某个文件进行操作时, N F S客户软件就利用
网络对远程计算机文件系统的文件进行操作。任
何对于这个特殊目录中文件的操作都会作用在相
应的远程文件上。
第十四章 远程登录Telnet和rlogin
25
Networking
techno;ogy
NFS与RPC
 NFS是基于RPC的客户/服务器模型实现,在进行
远地文件访问的过程中,NFS将用到远程过程调
用RPC(Remote Procedure Call),它允许一个程
序调用一个子程序,该子程序实际上是在网上另
一台计算机上运行。
 RPC是专为NFS开发的,但现在也应用于其他协
议系列。
 RPC协议要使用到外部数据表示协议:
XDR (eXternal Dara Representation)
第十四章 远程登录Telnet和rlogin
26
RPC
Networking
techno;ogy
 RPC协议是基于客户/服务器模型的
 RPC客户(客户Stub)负责收集远程过程调用调用参
数,连同远程过程调用本身一起传给服务器,然后等
待响应结果。
 服务器(服务器Stub)接收到RPC调用后,首先派生
出一个从服务器子进程用于处理RPC请求,然后由从
服务器再调用具体的本地操作完成RPC所请求的事情
,最后由服务器向客户发回执行结果。
 RPC协议一般采用无连接方式
 一次RPC调用就是一个交易过程,只包含一个请求和
一个应答。
第十四章 远程登录Telnet和rlogin
27
Networking
techno;ogy
RPC工作过程
第十四章 远程登录Telnet和rlogin
28
Networking
techno;ogy
17个NFS过程
文
件
的
打
开
和
关
闭
在
本
地
进
行
第十四章 远程登录Telnet和rlogin
29
Networking
techno;ogy
XDR(eXternal Data Representation)
 为实现NFS能在异种机之间传输信息(包括访问
请求、控制信息、参数和数据)的需要,必须解
决异种机之间的数据表示问题,为此开发人员设
计了XDR协议。
 RPC客户程序在发送RPC请求之前,首先要对
RPC请求参数进行XDR编码,将本地数据转化为
标准的XDR格式;而RPC服务器在开始执行RPC
过程之前,首先要对XDR进行解码,将标准的
XDR格式数据转换成本地数据格式,这个过程叫
作XDR变换。
第十四章 远程登录Telnet和rlogin
30
XDR变换过程
Networking
techno;ogy
应用程序
RPC
参数
RPC 客户
XDR
编码
RPC 服务器
RPC 请求
XDR 格式参数
XDR
解码
RPC
过程执行
RPC
结果
执行
结果
XDR
解码
RPC 响应
XDR 格式结果
XDR
编码
应用程序
第十四章 远程登录Telnet和rlogin
31
Networking
techno;ogy
RPC的优点
 程序设计更加容易,因为用户调用RPC时很少或
几乎没有涉及网络编程。应用程序设计人员只需
要编写客户程序和服务器过程。
 如果是使用不可靠的UDP协议,像超时和重传等
细节问题由RPC程序包来处理。这就简化了应用
程序。
 RPC库为调用参数和结果返回值的传输提供了任
何需要的数据转换,从而简化了异构环境下的客
户/服务器的编码问题
第十四章 远程登录Telnet和rlogin
32
Networking
techno;ogy
第十六章 电子邮件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 邮箱访问
第十四章 远程登录Telnet和rlogin
33
Networking
techno;ogy
16.1电子邮件系统体系结构
 与FTP相比,电子邮件有如下显著的特点:
 第一,电子邮件的使用者是人而非应用程序,于
是电子邮件系统在结构上分为两大部分:人机界
面与邮件传输。人机界面用于发送者和接收者撰
写、编辑和阅读邮件;而邮件传输则负责将邮件
从发送端传送到接收端。
 第二,电子邮件是高度结构化的文件,因此对电
子邮件的处理比对一般文件的处理要复杂许多。
 传输时允许接收者不在场。
第十四章 远程登录Telnet和rlogin
34
Networking
techno;ogy
电子邮件体系结构
第十四章 远程登录Telnet和rlogin
35
Networking
techno;ogy
16.1.1 ISO/OSI电子邮件系统
 ISO/OSI的电子邮件协议叫作面向消息的文
本交换系统MOTIS(Message-Oriented Text
Interchange System)。
 MOTIS电子邮件系统分为两部分:用户代
理UA(User Agent)和消息传输代理
MTA(Message Transfer Agent)。
 UA负责邮件的撰写、阅读和处理;而MTA
就是“电子化邮局”,它主要负责邮件的传
输和报告。
第十四章 远程登录Telnet和rlogin
36
Networking
techno;ogy
可分
布在
两台
机器
上
MOTIS电子邮件系统的模型
发送者
接收者
UA
UA
MTA:通常使用高档机器作为
邮件网关
MS
MS
MTA
MTA
表示层及其以下各层(邮件传输系统)
MS:消息存储设备,即电子信箱,
用于存放用户的电子邮件。
第十四章 远程登录Telnet和rlogin
37
Networking
techno;ogy
点到点转发方式
 MOTIS电子邮件系统中邮件的传输采用点到点存
储转发方式,其中MTA扮演邮件网关(mail
gateway)的角色,邮件经逐个MTA传输直至到达
收信方所在MTA。
 采用存储转发方式的优点是:发送方的MTA一旦
将邮件发出去,它就可以退出,去干其它事情,
而不必关心邮件的整个传输过程
 MOTIS认为这一点很重要,于是采用存储转发的
邮件传输方式。
第十四章 远程登录Telnet和rlogin
38
点到点转发方式
Networking
techno;ogy
TCP连接
目前,Motis系统主要在国内和国际的公共数
据网上使用;而在因特网上,则使用TCP/IP
应用协议标准:简单邮件传输系统
SMTP(Simple Message Transfer Protocol)
第十四章 远程登录Telnet和rlogin
39
Networking
techno;ogy
16.1.2 TCP/IP电子邮件系统
 TCP/IP始终坚持端到端的思想,它的电子邮件系
统也毫不例外地采用端到端传输方式,端到端方
式中,发送方的MTA必须负责将邮件传送到接收
方的MTA,中间不得脱身。
 在端到端邮件传输方式中,虽然发送方主机要始
终参与邮件传输的全过程,但由于TCP/IP协议的
简洁性,其效率反而比存储转发方式要高。
第十四章 远程登录Telnet和rlogin
40
Networking
techno;ogy
端到端转发方式
 由于TCP/IP采用端到端方式,TCP/IP邮件系统要
解决的首要问题是当远程的接收方主机暂时不能
访问(如未开机、出故障、不能建立网络连接等
)时,系统如何发送邮件的问题。
 TCP/IP采用spooling缓冲技术,将用户收发邮件
与实际的邮件传输区别开,而这种划分的原型就
是MOTIS中的UA和MTA。
第十四章 远程登录Telnet和rlogin
41
Networking
techno;ogy
TCP/IP电子邮件系统的模型
校园网或拨号网络
周期性发送(30分)
第十四章 远程登录Telnet和rlogin
42
Networking
techno;ogy
比较
 点到点存储转发方式类似于无连接的数据
报的发送过程,因此可靠性不高,发送方
主机将邮件传给第一个邮件网关后,便将
邮件删除,如中途丢失,不能重发。
 点到点存储转发方式延迟大,因为邮件转
发是在应用层进行。
 点到点存储转发方式的优点是可提供良好
的互操作性,因为邮件网关可连接不同网
络中的电子邮件系统。
第十四章 远程登录Telnet和rlogin
43
Networking
techno;ogy
邮件网关
第十四章 远程登录Telnet和rlogin
44
Networking
techno;ogy
16.2 TCP/IP电子邮件地址
 TCP/IP电子邮件地址的格式
 local-name@domian-name
 电子邮件地址举例
 [email protected]
 电子邮件地址分为两部分
 第一部分标识用户的邮箱,
 第二部分标识邮箱所在的计算机。
 一个邮箱除了拥有一个正式的地址外,还可以
有别名(alias)。一个邮箱可以有一个或多个别
名。
第十四章 远程登录Telnet和rlogin
45
Networking
techno;ogy
引入别名后的TCP/IP电子邮件系统结构
别名库
用户发
送邮件
用
别名扩展
发送邮件的
客户
邮件转发
spooling 区
(后台发送)
接收邮件
服务器
的信箱
(邮件接收)
户
接
用户接
收邮件
口
第十四章 远程登录Telnet和rlogin
46
Networking
techno;ogy
16.3 TCP/IP电子邮件标准
 邮件格式标准
 头部
 RFC822
 正文
 多用途因特网邮件扩展 MIME
 邮件传输标准
 简单邮件传输协议SMTP(RFC821)
 ESMTP
 RFC1425
第十四章 远程登录Telnet和rlogin
47
Networking
techno;ogy
因特网电子邮件报文格式
第十四章 远程登录Telnet和rlogin
48
Networking
techno;ogy
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 )
第十四章 远程登录Telnet和rlogin
49
Networking
techno;ogy
MIME增加的附加行
关键字
含义
MIME-Version
MIME版本
Cotent-Description
描述邮件内容
Content-ID
邮件的唯一标识符
Content-TransferEncoding
邮件内容的
编码方法
Content-Type
邮件内容的类型
第十四章 远程登录Telnet和rlogin
50
Networking
techno;ogy
MIME类型和子类型
第十四章 远程登录Telnet和rlogin
51
Networking
techno;ogy
MIME举例
第十四章 远程登录Telnet和rlogin
52
Networking
techno;ogy
SMTP
第十四章 远程登录Telnet和rlogin
53
Networking
techno;ogy
SMTP协议共包含10个SMTP命令
SMTP命令
命令说明
HELLO <domain> <CRLF>
命令识别发送方到接收SMTP的一个HELLO
MAIL FROM:<reverse-path><
CRLF>
<reverse-path>为发送者地址。此命令告诉接收方一个新邮
件发送的开始,并对所有的状态和缓冲区进行初始化。此命令
开始一个邮件传输处理,最终完成将邮件数据传送到一个或多
个邮箱中。
RCPT TO:<forward-path><
CRLF>
DATA <CRLF>
<forward-path>标识各个邮件接收者的地址
REST <CRLF>
退出/复位当前的邮件传输
NOOP <CRLF>
要求接收SMTP仅做OK应答。(用于测试)
QUIT <CRLF>
要求接收SMTP返回一个OK应答并关闭传输。
VRFY <string> <CRLF>
验指定邮箱是否存在,由于安全因素,服务器多禁此命令。
EXPN <string> <CRLF>
验给定邮箱列表是否存在,扩充邮箱列表,也常禁止使用。
HELP <CRLF>
查询服务器支持什么命令
接收SMTP将把其后的行为看作邮件数据去处理,以
<CRLF>.<CRLF>标识数据的结尾。
第十四章 远程登录Telnet和rlogin
54
Networking
techno;ogy
应答码
501
502
503
504
211
214
220
221
421
250
251
450
550
451
551
452
552
553
354
554
SMTP的应答码
说明
参数格式错误
命令不可实现
错误的命令序列
命令参数不可实现
系统状态或系统帮助响应
帮助信息
<domain>服务就绪
<domain>服务关闭
<domain>服务未就绪,关闭传输信道
要求的邮件操作完成
用户非本地,将转发向<forward-path>
要求的邮件操作未完成,邮箱不可用
要求的邮件操作未完成,邮箱不可用
放弃要求的操作;处理过程中出错
用户非本地,请尝试<forward-path>
系统存储不足,要求的操作未执行
过量的存储分配,要求的操作未执行
邮箱名不可用,要求的操作未执行
开始邮件输入,以"."结束
操作失败
以2开头的应答意味着
成
功,
以3开头的应答表明需
要
有进一步的动作。
 4和5开头表示错误;
 4开头是暂时性错误比
如磁盘满;
 5开头则是永久性错误,
例如接收用户不存在。
第十四章 远程登录Telnet和rlogin
55
Networking
techno;ogy
从[email protected]发邮件到
[email protected]会话流程
R:220 sina.com Simple Mail Transfer Service Ready
S:HELLO sohu.com
R:250 Welcome to sina.com
S:MAIL FROM:<[email protected]>
R:250 OK
S:RCPT TO:<[email protected]>
R:250 OK
S:DATA
R:354 Start mail input;end with "<CRLF>.<CRLF>"
S:……
R:250 OK
S:QUIT
R:221 sina.com Service closing transmission channel
第十四章 远程登录Telnet和rlogin
56
16.4 邮箱访问
Networking
techno;ogy
 POP3邮局协议
 POP3协议具有用户登录、退出、读取邮件以及删除邮
件的功能。POP3协议的特点是允许用户将邮件从远程
邮箱中下载到自己的机器上便于以后阅读。
 交互式邮件访问协议IMAP
 IMAP协议适合使用多台计算机的用户,IMAP协议的
基本思想是让邮件服务器维护一个中心数据库,只要
你的邮件存储在服务器上,任何时候通过一个IMAP
客户端软件都可以立即联机获得你的邮件。
 一般,IMAP4客户软件都支持邮件在本地文件夹和服
务器文件夹之间随意拖动。
 IMAP4提供摘要浏览功能可让你在阅读完所有的邮件
到达时间、主题、发件人、大小等信息后才做出是否
下载的决定(包括附件)。
第十四章 远程登录Telnet和rlogin
57
Networking
techno;ogy
POP协议
一些邮件处理软件如OutLook Express和FoxMail等就
是按照SMTP和POP3 协议结合Windows Sockets套
接字进行设计来收发邮件的。
第十四章 远程登录Telnet和rlogin
58
Networking
techno;ogy
POP3协议
 POP3适用于C/S结构的脱机模型电子邮件协议,目前已发展 到
第三版,称POP3。脱机模型即不能在线操作,不像IMAP4 (
netscape支持IMAP4)
 当客户机与服务器连接并查询新电子邮件时,被该客户机指定的
所有将被下载的邮件都将被程序下载到客户机,下载后,电子邮
件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器
进一步交互。
 POP3客户向POP3服务器发送命令并等待响应,POP3命令采用
命令行形式,用ASCII码 表示。 服务器响应是由一个单独的命令
行组成,或多个命令行组成,响应第一行以ASCII文本+ OK或ERR指出相应 的操作状态是成功还 是失败。
 POP3协议有三种状态,认可(等待)状态,处理状态和更新状
态。 当客户机与服务器建立联系时,一旦客户机提供了自己身
份并成功确认,即由认可状态转处理状态, 在完成相应操作后
,客户机发出quit命令,进入更新状态,更新后重返认可状态。
第十四章 远程登录Telnet和rlogin
59
邮箱访问
Networking
techno;ogy
SMTP
POP3
第十四章 远程登录Telnet和rlogin
60
第十七章 万维网
Networking
techno;ogy
17.1 Web页面浏览
17.1.1 浏览器和服务器
17.1.2 HTTP协议
17.1.3 HTML语言
17.2 交互式动态页面
17.2.1 CGI
17.2.2 Java
17.2.3 ASP
第十四章 远程登录Telnet和rlogin
61
Networking
techno;ogy
17.1 Web页面浏览
 Web浏览器
 Web服务器
 超文本
 超媒体
 Homepage
 统一资源定位器URL
 超文本标记语言HTML
 超文本传输协议HTTP
第十四章 远程登录Telnet和rlogin
62
Networking
techno;ogy

WWW概述
WWW是Word Wide Web的英文缩写,译为“万
维网”或“全球信息网”,是二十世纪九十年代
Internet、超文本和多媒体这三个领先技术的互相
结合的产物。其服务的基础是Web页面,每个服务
站点都包括若干个相互关联的页面,每个Web页即
可展示文本、图形图像和声音等多媒体信息,又
可提供一种特殊的链接点。这种链接点指向一种
资源,可以是另一个Web页面、另一个文件、另一
个Web站点,这样可使全球范围的www服务连成一
体。使我们获取信息的手段有了本质的改善。也
使因特网更加平易近人。
第十四章 远程登录Telnet和rlogin
63
Networking
techno;ogy
WWW模型
第十四章 远程登录Telnet和rlogin
64
Networking
techno;ogy
超链接
第十四章 远程登录Telnet和rlogin
65
Networking
techno;ogy
超文本与超媒体
 通过嵌入在文本内部的信息“指针”可以
找到世界任何地方的相关文档,我们把能
够指向其他文档的指针称为超链接。
 超媒体与超文本的区别是文档内容不同。
超文本文档出包含超链接外,仅包含文本
信息,而超媒体文档则还包含其它形式的
信息,如图形、图像、声音、动画甚至活
动视频图像。浏览器一般通过外挂的帮助
程序来显示这些超媒体信息。
第十四章 远程登录Telnet和rlogin
66
Networking
techno;ogy
超文本与超媒体
第十四章 远程登录Telnet和rlogin
67
Networking
techno;ogy
WWW技术
 WWW主要采用以下的协议和标准来进行信息的定位、存
取和显示:
* URL(Uniform Resource Locator):统一资源定址。是用来
标识某一特定信息页所用的一个短的字符串。
* HTTP(Hyper Text Transport Protocol):超文本传输协议。
是为分布式超媒体信息系统设计的面向对象的传输协议
* HTML(Hyper Text Markup Language):超文本标记语
言。是在WWW中用来建立超媒体文件的语言。它通过标
记和属性对一段文本的语义进行描述。
• CGI(Common Gateway Interface):公共网关接口。
• Java applet : 存储在服务器上的java小程序。
• ASP(Active Server Pages):服务器端脚本开发环境。
第十四章 远程登录Telnet和rlogin
68
Networking
techno;ogy
统一资源定位符URL
 统一资源定位器(Uniform Resource Locator)是文
件名的扩展。一个URL包括了以上所有的信息,构成
格式为:
protocol:// machine.name[:port]/directory/filename
protocol :是访问该资源所采用的协议,即访问该资
源的方法,它可以是:
http:超文本传输协议,该资源是HTML文件;
ftp: 文件传输协议,用ftp访问该资源
mailto:采用简单邮件管理传输协议SMTP,
提供电子邮件服务
gopher: Gopher协议,基于文本,查找信息快。
第十四章 远程登录Telnet和rlogin
69
Networking
techno;ogy
Uniform Resource Locaters
第十四章 远程登录Telnet和rlogin
70
Networking
techno;ogy
统一资源定位符URL
machine.name是存放资源主机的IP地址,通常以
字符形式出现,如 www.nudt.edu.cn
port(端口号)是服务器在其主机所使用的端口
号。一般情况下端口号不需要指定,因为通常这
些端口号都有一个默认值80,只有当服务器所使
用的端口号不是默认的端口号时才需要指定
directory和filename 是该资源的路径和文件名
第十四章 远程登录Telnet和rlogin
71
HTTP代理服务器
Networking
techno;ogy
FTP 请求
WWW
FTP
浏览器
服务器
FTP 响应
(a) 浏览器与 FTP 服务器直接通信
WWW
HTTP 请求
浏览器
代理
服务器
HTTP 响应
FTP 请求
FTP 响应
FTP
服务器
(b) 浏览器通过代理与 FTP 服务器通信
第十四章 远程登录Telnet和rlogin
72
Networking
techno;ogy
超文本标记语言HTML
 “超文本标记语言”HTML(Hyper
Text
Markup Language),他提供一组非常简单
的标记命令,用户很容易用它书写HTML文
档,在文本文件中插入图像、语音、视频
等建立连接。
 HTML采用标准的7位ASCII码文件形式,通
过一系列格式化方法表示各种超链接(
hyperlink)和信息。用HTML编写的文档采
用“.html”作为后缀。
 注意,这些命令只是给出文档格式,并用
于浏览器显示或打印文档。
第十四章 远程登录Telnet和rlogin
73
Networking
techno;ogy
HTML标记
第十四章 远程登录Telnet和rlogin
74
Networking
techno;ogy
黑体标记的效果
第十四章 远程登录Telnet和rlogin
75
Networking
techno;ogy
HTML文档
(b)
第十四章 远程登录Telnet和rlogin
76
Networking
techno;ogy
HTML页面
(b)
第十四章 远程登录Telnet和rlogin
77
超文本传输协议 HTTP
Networking
techno;ogy
①
浏
②
服
览
③
务
器
④
器
①浏览器与服务器连接 TCP 连接;
②浏览器向服务器发出 HTTP 请求,指定要传输的页面;
③服务器作出响应,包括状态码和页面文档;
④浏览器断开与服务器的 TCP 连接。
由于用户所需网页可能分布在许多相距很远的服务
器上。 所以将HTTP实现为一个无状态、无连接协
议。可使读取网页信息完成得较迅速,虽然看来有
些繁琐,但这样做实现起来却较为容易。
第十四章 远程登录Telnet和rlogin
78
Networking
techno;ogy
HTTP方法
第十四章 远程登录Telnet和rlogin
79
Networking
techno;ogy
客户访问www.w3.org过程
 下面更具体地说明在用户点击鼠标后所发生的几个事件:
(l)浏览器分析超链指向页面的URL。
(2)浏览器向DNS请求解析www.w3.org的IP地址。
(3)DNS解析出服务器的IP地址为18.23.0.23。
(4)浏览器与服务器建立TCP连接(在18.23.0.23使
用瑞口80)
(5)浏览器发出取文件命令:
GET/Protocols/HTTP-NG/Activity.html。
(6)www.w3.org服务器给出响应,将文件Activity.
html发送给浏览器。
(7)TCP连接释放。
(8)浏览器显示文件Activity.html中的所有文本。
第十四章 远程登录Telnet和rlogin
80
Networking
techno;ogy
静态文档的传输过程
第十四章 远程登录Telnet和rlogin
81
Networking
techno;ogy
CGI
 CGI是WEB服务器和新增的外部应用程序的接口,他规
定了一组标准的环境变两和参数格式。以及说明了HTTP
服务器如何调用CGI程序或服务器如何解释CGI的输出。
在物理上,它是一段程序,运行在SERVER上,提供了与
浏览WEB站点用户交流的能力以及动态文档,例如,可
以实现访问后台数据库。它的最大优点就是其通用性,目
前几乎所有的WEB服务器都支持CGI,CGI程序可使用任
何能形成可执行程序的语言编写,例如:C/C++,
Fortran,PERL, TCL, Any Unix shell, Visual Basic
, AppleScript。 CGI跨平台性较好,可在WINDOWS,
UNIX,OS/2等平台下实现。
 缺点就是每当有一个用户请求,服务器端就会激活一个
CGI进程,当用户数量非常多时,大量的CGI程序就会大
量挤占系统资源,造成系统效率下降。而且CGI的安全性
也不太好
第十四章 远程登录Telnet和rlogin
82
Networking
techno;ogy
HTTP服务器与CGI程序的交互
①
HTTP
浏览器
④
②
HTTP
服务器
③
CGI
程序
①浏览器向服务器发 HTTP 请求;
②服务器将用户输入参数传递给 CGI 并启动 CGI 程序的执行;
③CGI 程序将处理结果返回给 HTTP 服务器;
WWW
服务器
④HTTP 服务器将响应结果传送给浏览器。
第十四章 远程登录Telnet和rlogin
83
Networking
techno;ogy
动态文档的传输过程
第十四章 远程登录Telnet和rlogin
84
Networking
techno;ogy
活动文档
第十四章 远程登录Telnet和rlogin
85
Networking
techno;ogy
17.2 交互式动态页面

Java就是Sun公司开发的一种通用、垮平台、面向
对象且支持网络编程的高级程序设计语言。
 Java语言具有简单性、分布式、可移植性、健壮性
及安全性等特点。Java对Web网上的交流起着一种
变革的作用。1995年5月,当Sun
MicroSystems公司把Java发放到Internet上时,立
即引起世界的震动。它有两点事关重大。第一,
Sun 这一简单的基于对象的开放系统新语言,能使
软件开发者利用World Wide Web设计可在Internet
上分发的应用软件;第二,它是基于一种虚拟计算
机(Java Virtual Machine),最终将使基于Java
的应用软件无处不在——可以在何地方运行,不管
是什么硬件和用什么操作系统。
第十四章 远程登录Telnet和rlogin
86
Networking
techno;ogy
JAVA Applet
 存储在WWW服务器上的Java小程序(通常
称为Java Applet)可以被浏览器下载并执行
。能使画面活跃起来。用applets能生成活
动广告、股票交易大屏幕、甚至动画卡通
片。
 JAVA系统包含三个部分
 JAVA到字节代码的编译器
 支持applet的浏览器
 字节代码的解释器
第十四章 远程登录Telnet和rlogin
87
Networking
techno;ogy
浏览器
第十四章 远程登录Telnet和rlogin
88
Networking
techno;ogy
ASP
 ASP(ACTIVE SERVER PAGES),是由
MICROSOFT开发的一项技术,是一个开发环境
,利用它可以产生动态交互式的WEB应用,ASP
采用VBSCRIPT或JSCRIPT作为自已的开发语言
,并嵌入到HTML文件中,由服务器来解释执行
,执行结果产生动态生成的WEB页面并送到浏览
器显示。它通过COM(Component Object
Model )组件中的ADO(ACTIVEX DATA
OBJECT)和ODBC访问后台的数据库,ASP只
适合用于MICROSOFT的WINDOWS环境。
第十四章 远程登录Telnet和rlogin
89
Networking
techno;ogy
JSP
 JSP是基于JAVA的技术,可以将它理解成简略的
SERVLET,是由SUN MICROSYSTEM公司于
1999年推出的新技术,是基于JAVA SERVLET以
及整个JAVA体系的WEB开发技术,JSP能适应市
场上绝大部分服务器,由于JSP模型是在ASP之后
定义的,它借用了ASP的许多优点。JSP和ASP两
者都提供在HTML代码中混合某种程序代码,由
服务器上的语言引擎执行。但ASP只能使用基于
WINDOWS的平台和IIS/PWS服务器技术,而
JAVA和JSP技术被设计成开放独立于平台和服务
器的,ASP的编程语言是VBSCRIPT或JSCRIPT
之类的脚本语言,而JSP使用的是成熟的强大的
JAVA语言,脚本语言对于小应用是有很多优点,
但不适合管理大型的,复杂的应用。
第十四章 远程登录Telnet和rlogin
90