网络互连技术教程第 12章 应用服务网络互连技术教程
12.1 WWW服务
12.2 电子邮件服务
12.3 FTP服务
12.4 网络互连应用技术网络互连技术教程
12.1 WWW服务
WWW服务 ( WWW Service) 是当前互联网上最主要的应用服务形式之一,它在互联网环境下向使用者提供超文本形式 ( Hypertext) 的信息 。
WWW服务是典型的客户机 /服务器工作模式,客户端的应用系统被称为浏览器 ( Web Browser),
它负责处理使用者的要求,并按照要求与服务器联系获取信息,然后在把得到的信息通过各种媒体技术显示给使用者 。 通过 WWW服务,使用者只需要按照自己的兴趣在浏览器上点击相关的条目,就可以容易地得到所关心的内容而不必关心信息的组织形式和存放地点 。
网络互连技术教程在 WWW服务体系中,信息被组织成网页( Web
page)。网页中的信息由 WWW服务器提供,这些由服务器提供的信息可以是文字方式的,也可以是图像、
声音或动画。通过 WWW服务,每个机构和部门甚至个人,都可以建立起自己的信息服务体系。 WWW服务的内容按照一定的组织方式由一系列网页组成,在接受到浏览器发送的请求时,WWW服务器就向浏览器返回指定的网页的内容,如图 12-1所示。
网络互连技术教程浏览器客户主机
WWW 服务器
WWW 服务器图 12-1 WWW服务网络互连技术教程
12.1.1 WWW服务器
WWW服务器所遵循的规范是 HTTP( HyperText
Transfer Protocol) 协议,所以也被称为 HTTP服务器,
它所依赖的下层协议是 TCP。 一般情况下,提出 HTTP
服务请求的主机 ( 被称为客户机 ) 向服务器所在的主机提出 TCP连接请求,要求与 TCP的 80端口建立连接 。
当连接建立以后,TCP( 此处用 TCP表示执行 TCP协议动作的软件实体 ) 监视对它发来的数据,一旦从网络上接受到对 80端口的 TCP请求,这个请求就会被转交给 HTTP服务器 。
网络互连技术教程
HTTP协议是一个应用层协议,HTTP服务器与提出 HTTP请求的客户机之间遵循这个协议,
使用其所规定的命令和应答进行工作。当客户机请求 HTTP服务器发给它一个指定的网页的时候,
客户机使用 GET命令向服务器提出请求,同时在命令中指出该网页的 URL( Uniform Resource
Locator)地址。表 12-1中列出了主要的 HTTP命令。
网络互连技术教程表 12-1 主要的 HTTP命令
OPTIONS 设置选项
GET 要求得到指定的 URL的数据
HEAD 只要求得到指定的 URL的数据头
POST 把数据注册到指定的 URL
PUT 把数据写入到指定的 URL
DELETE 从指定的 URL中清除数据
TRACE 把请求信息返回给客户机网络互连技术教程当 HTTP服务器响应客户机的请求时,它使用 HTTP应答信息答复客户机 。 在服务器能够满足客户机的请求时,
它一般先向客户机回答一个肯定的答复信息,然后再向客户机发出所请求的数据信息 。
HTTP的命令和应答信息都是以 ASCII字符方式定义的,
有很多基于 TCP的应用层协议都采用类似的方式,用 ASCII
明文定义协议命令和应答信息 。
网络互连技术教程
12.1.2 浏览器浏览器是 WWW的客户端应用软件,它的功能是用于浏览 ( Browse) WWW网页,所以被称为浏览器 。 Netscape
的 Navigator和 Micorsoft的 Internet Explorer都是著名的客户端浏览器软件 。 但随着时间的推移,浏览器的功能在逐渐增加,有些浏览器的功能不再是仅仅限于使用 HTTP协议进行
WWW访问,还可以进行电子邮件处理和 FTP访问 。
网络互连技术教程浏览器在进行 WWW服务时使用 HTTP协议。在获得 WWW服务时,浏览器首先向提供所需的 WWW服务的 HTTP服务器(所在的主机)提出 TCP连接要求,
与它的 80端口建立连接。连接建立之后,浏览器向
HTTP服务器(即该主机 TCP协议的 80端口)发出 HTTP
命令。浏览器自己使用操作系统分配给它的 TCP端口,
端口号随操作系统的不同可能有所不同,一般是使用一个相当大的端口号,例如 2001,2002等。当浏览器收到服务器的正常应答之后,就准备接受服务器发来的网页数据信息。图 12-2给出了一个浏览器和服务器通过交互命令和应答获取网页数据的例子。
网络互连技术教程图 12-2 浏览器和服务器通过交互命令和应答获取网页数据返回网页数据 WWW 服务器 浏览器
G ET http://w w w,edn
.cn \ index,htm l H TT P 1.0
H TT P /1.0 20 0 O K
G ET http://w w w,edu,cn \
Im g.g if H TT P /1.0
H TT P /1.0 20 0 O K
M IM E 头信息
G IF 图像信息
HT ML 文档网络互连技术教程图 12-3中展示了当一个 HTTP服务器同时为两个客户机服务的情况,其中一个客户机的浏览器保持了与服务器的两个连接 。
图 12-3 浏览器和服务器之间的连接关系网络互连技术教程
12.1.3 工作机制访问机制表明了信息访问的手段,在实际使用时此处填写的是所使用的应用协议的名称 。 在表 12-5中给出了几个主要的访问机制 。
网络互连技术教程表 12-5 几个主要的访问机制访问机制名称 内 容
ftp File Transfer Protocol
http Hypertext Transfer Protocol
news USENET news
telnet The Network Virtual Terminal Emulation Protocol
imap Internet message access protocol
网络互连技术教程
12.2 电子邮件服务
12.2.1 Internet电子邮件系统
12.2.2 信件
12.2.3 电子邮件传送机制与 SMTP
网络互连技术教程
SMTP( Simple Mail Transfer Protocol) 是以邮件传送为目的的协议,它描述了电子邮件系统中通信实体之间为传送信件所进行的交互动作,定义了所需的命令,
应答信息和接口模型 。 基本的电子邮件系统模型和 SMTP
协议的关系可以用图 12-4来表示,图中表明了电子邮件服务代理之间的基本关系以及 SMTP协议接口关系 。
网络互连技术教程
MUA MT A
MDA
MDA
MT A
邮箱
SMTP
图 12-4 电子邮件系统模型和 SMTP协议网络互连技术教程各个软件厂商在实现电子邮件服务系统的时候,在具体实现上经常考虑进行简化,在一些系统的设计方案中,
MTA已包含了 SMTP功能 。 经过简化后的系统可以用图 12-
5所示的模型来描述 。
网络互连技术教程
M U A M T A M T A
M D A 邮箱
S M T P
图 12-5 简化的电子邮件系统模型和 SMTP协议网络互连技术教程
SMTP的特点是发送方做为主动方,发送信件的一方按照信件的目的地址去建立关系并完成信件的投送 。 SMTP完成三种邮件事务:发送,中继和转发 。 发送是最基本的邮件事务 。 在电子邮件的发送过程中,发送者提出请求并通过
SMTP会话过程完成信件的传递 。 在信件的收发双方没有直接的通路时,允许信件经过若干个服务器的转发达到最终的目的地 。 从系统的构成上,我们习惯地把每一个提供电子邮件服务的实体都称做电子邮件服务器 。 应当注意的是,在两个实体通过 SMTP进行邮件传送时,发送信件的一方都是请求接收方为其服务,所以发送方在 SMTP下进行邮件传输时是以客户机的角色工作 。 电子邮件的转发过程如图 12-6所示 。
网络互连技术教程
( 1 )根据邮件软件的配置,邮件被发送到邮件服务器;
( 2 )邮件转发到下一服务器;
( 3 )根据邮件软件的配置,从邮件服务器收到邮件。
In te rn et
S M TP
(2 )
(3 ) (1 )
S M TP
P OP
收到电子邮件邮件服务器邮件服务器图 12-6 电子邮件的转发过程网络互连技术教程
SMTP定义了一组命令,用于建立 SMTP的会话和完成邮件的传输 。 发送信件的客户机一方使用 SMTP命令向提供服务的接受方提出请求,接收信件的服务器一方用 SMTP应答信息 220回应 。 SMTP也是建立在 TCP传输服务之上的应用层协议,它使用 FTP的 25号端口 。
网络互连技术教程收到服务器的应答信息 220之后,客户机使用 HELO
命令进行联系,同时发送自己的主机名称。如果服务器使用应答信息 250(表示 OK)答复,客户机将开始信件的传输过程。信件的传输分为 3个部分:指定发信者、
指定收信者和发送信件。信件传输完成之后,客户机以
QUIT命令指示结束 SMTP会话,服务器以应答信息 221
回应。发信者和收信者的指定是由 MAIL FROM命令和
RCPT TO命令完成的,信件的发送由 DATA命令指出。
在表 12-7中列出了 SMTP命令。
网络互连技术教程表 12-7 SMTP命令命 令 参 数 说 明
HELO 传输方主机名 指出传输方主机名称,开始传输信件
MAIL
FROM
发信者 指出发信者,信件发送到收信者的信箱
RCPT TO 收信者 指定收信者,可以重复本命令以指定多个收信者 。
DATA 信件 DATA命令之后的各行是信件数据,直到收到只含有一个句点的行
RSET --- 终止当前的邮件传送,复位当前的连接
SEND 收信者 直接发信给收信者,仅当收信者在线连接时使用
SOML 收信者 直接发信给收信者,当不在线时发往收信者信箱网络互连技术教程
SAML 收信者 直接发信给收信者的信箱
VRFY 被验证的收信者核查被指定的收信者是否存在
ESXPN 扩展邮件列表确认邮件列表的存在,接受方返回列表
HELP 命令名 请求服务器返回命令的有关信息
TURN --- 收信方回应 OK后转换收发双方的角色
NOOP --- 空操作,希望收信方回应一个 OK
QUIT --- 指示收信方退出网络互连技术教程图 12-7给出了一个简单的 SMTP会话过程 。 传输方服务器 ( 此时为客户机角色 ) 的主机名称为 send.edu.cn 。
收 信 者 信 箱 是 liuming@aol.com,发 信 者 是
yamada@org.jp,信件的内容为 good luck 。
网络互连技术教程
HELO send.edu.cn →
← 250 ←
MALE FORM yamada@org.jp → 服务器方客户端方 ← 250
RCPT TO liuming@aol.com

← 250
DATA →
← 354,
good luck →
,→
← 250
QUIT →
← 221
图 12-7 SMTP 会话过程网络互连技术教程
12.2.4 POP协议
SMTP是邮件传送协议,它的缺点是只能主动由发信一方投递信件,而收信方无法主动查看邮箱 。 但是人们希望一打开机器就能看到邮件,也就是希望主动地收取邮件 。 POP( Post Office Protocol) 就是一个主动地收取信件的协议 。 POP有几个版本,最新的版本是 POP3。
POP一般和 SMTP配合使用,它不提供发送邮件的方法,图 12-8给出了 POP的接口模型 。
网络互连技术教程
P OP
服务器
M T A
M DA
远程邮箱
P OP
客户机本地信箱图 12-8 POP的接口模型网络互连技术教程在邮件系统中,信件通过 SMTP投递到 POP服务器并保存在信箱中,直到被客户机取出 。 POP服务器使用 TCP
端口 110,客户机的 POP进程通过这个端口连接到 POP服务器 。 POP服务器在接收到一个连接时,发出一个以,+OK”
开始的问候,表明服务器已经准备好会话 。 客户机分析服务器的回应信息,如果回应不以,+OK”开始,客户机就与服务器断开连接 。 客户机收到,+OK”之后,它验证服务器并通过命令取回信件,然后发送命令删除服务器上的信件 。
网络互连技术教程
12.2.5 IMAP
12.3 FTP服务
12.3.1 工作机制
FTP是按照客户机 /服务器形式工作的 。 服务器提供文件的管理,客户机通过 FTP协议为用户提供远程的文件存取服务界面 。 服务器和客户机之间的工作机制可以用图 12-9表示 。
网络互连技术教程用户客户机用户接口控制进程传输进程本地文件系统服务器控制进程传输进程远程文件系统
FT P 命令 / 应答控制连接数据传输数据连接图 12-9 FTP的工作机制网络互连技术教程在 FTP服务器和 FTP客户机之间使用两种连接方式,控制连接 ( TCP端口 21) 和数据传输连接 ( TCP端口 20) 。
当需要使用 FTP服务时,用户以命令或其他形式启动
FTP客户端软件 。 FTP客户端软件以客户机身份向 FTP服务器发出连接要求 。 服务器收到连接请求后,响应这个请求并在服务器和客户机之间建立一个用于 FTP控制的连接,也就是控制连接 。 这个控制连接在用户的 FTP服务期间将一直保持,客户机和服务器之间使用这个连接相互交换 FTP命令和应答信息,以实现 FTP服务过程中控制信息的交互 。
网络互连技术教程数据传输使用另外一个连接。在 FTP客户机与
FTP服务器利用命令 /应答方式进行交互的时候,客户机向服务器指出客户机一端用于建立数据连接的
TCP端口号,服务器利用这个端口号建立与客户机的数据连接并创建相应的进程。数据连接只是在数据传输服务期间建立,在数据传输服务结束后就会断开。当用户再次输入另一个数据服务要求时,服务器再次与客户机建立数据传输连接。
控制连接用于传输客户端向服务器发送的 FTP命令和服务器向客户端发送的 FTP应答信息,而数据传输连接则用于在服务器和客户端之间传送文件以及从服务器向客户端传送文件列表或目录列表。
网络互连技术教程可以看出,当用户在所使用的主机上启动 FTP服务时,客户机和服务器之间开始建立用于命令交互的控制连接,这个连接在整个 FTP会话期间保持,而数据传输连接是按照需要动态建立的 。 控制连接一旦断开,FTP会话就结束了 。
在 FTP协议中规定了可以指定被传输的文件的结构,文件的数据代码形式以及在进行数据传输时所使用的传输模式 。
所传输的文件的结构可以是记录型文件,也可以没有结构或是采用页结构 。 对于数据的代码形式,最基本的形式是 ASCII
代码,也允许采用二进制数据形式或是 EBCDIC以及其他本地格式 。 采用二进制数据形式,可以用于图像文件的传输或是其他数据文件的传输 。
网络互连技术教程
FTP服务不一定必须在启动 FTP服务的主机和
FTP服务器之间进行。在用户使用 FTP服务的时候
,可以指出参与 FTP文件服务的各方,由指定的各方参与远程文件的存取活动。采用这种方式,可以完成一些特殊要求的文件远程服务,比如需要注意安全问题的系统中的文件传输。图 12-10中给出了一个这种情况的示意图。
网络互连技术教程服务器 A
控制进程传输进程文件系统用户客户机用户接口控制进程数据传输数据连接服务器 B
控制进程传输进程文件系统
F T P 命令 / 应答控制连接图 12-10 在指定的主机上进行的 FTP服务。
网络互连技术教程
12.3.2 客户端系统和 FTP命令
FTP客户端系统工作在用户使用的主机上 。 客户端系统向用户提供简单的命令行界面,它经常是集成在操作系统中的 。 客户端系统也可以由其他厂家提供,这种系统往往提供更好的用户界面和操作方式 。 客户端系统在 FTP会话中处于客户机的角色,它接受用户的输入并向服务器发出
FTP命令,解释和处理服务器返回的应答信息同时把应答信息显示给用户 。 客户端系统也负责完成在 FTP服务中的本地文件处理工作 。
网络互连技术教程在建立控制连接时,客户端系统使用一个从本地操作系统得到的 TCP端口号。
用户在计算机的命令行界面上输入,FTP”命令(
也可以是其他方式)启动 FTP客户端系统后,客户端系统按照命令中指出的 FTP服务器主机尝试建立控制连接。
在下面的例子中,在命令行上输入命令 ftp和希望连接的服务器主机名 ftpserver.edu.cn,客户端系统显示服务器回应的连接信息并等待用户输入 FTP用户账号。当用户输入了 FTP账号之后,就可以进行远程文件的存取。
网络互连技术教程
C:\WINDOWS> ftp ftpserver.edu.cn
Connected to ftpserver.edu.cn
220 ftpserver.edu.cn FTP server ready
Name ( ftpserver.edu.cn,mypc ):
FTP命令是以回车和换行结尾的 ASCII字符串 。 FTP命令使用大写字符,其中有些带有参数 。 向 FTP服务器发送命令一般是由用户引起的,用户输入的 FTP服务命令由客户端系统解释
,然后客户端系统给服务器发送 FTP命令 。 一般情况下,一个用户输入的命令引起一个在控制连接上传输的 FTP命令,也有些用户命令会引起一个以上 FTP命令的发送 。 在表 12-12中列出了一部分常用的 FTP命令 。
网络互连技术教程表 12-12 常用的 FTP命令
( 1) 连接命令命 令 说 明
USER 标识用户自己
PASS 用户的保密字
ACCT 连接到指定的账号
CWD 改变工作目录
CDUP 改变到上一级目录
SMNT 安装文件结构
REIN 重初始化
LOGOUT 注销网络互连技术教程
( 2) 参数设置命令命 令 说 明
PORT 指定数据传输连接所使用的主机名和断口号
PASV 指定参加数据传输的客户机的主机 IP地址和端口号
TYPE 指明被传输的数据的类型 ( ASCII和图像文件 )
STRU 数据的文件结构
MODE 指定传送模式网络互连技术教程
( 3) 服务请求命令命 令 说 明
RETR 读取文件
STOR 从客户机向服务器上载文件网络互连技术教程命 令 说 明
APPE 从客户机向服务器上载文件,若文件存在则新内容追加在文件尾部
RNFR 指定要被重新命名的文件的原来名称
RNTO 指定要被重新命名的文件使用的新名
ABOR 中止,通知服务器中止上一个软件命令的执行和一切管理事项
DELE 从指定服务器上删除文件
RMD 删除服务器上的目录网络互连技术教程
MKD 在服务器上建立新目录
PWD 打印当前工作目录
LIST 列出当前工作目录的清单
NLST 列出当前工作目录中文件的清单
SITE 当地命令,以当地命令为参数
SYST 了解服务器的操作系统
STAT 服务器的状态
HELP FTP命令的一览表
NOOP 催促服务器发出应答 ( OK)
网络互连技术教程
12.3.3 服务器和应答信息
FTP服务器接收客户端发来的 FTP命令,解释并处理客户机的请求 。 服务器使用 FTP回应信息向客户机通告 FTP命令的处理情况,要求客户机做好下一步的交互准备 。
在进行数据传输时,服务器通过 TCP的 20端口建立与客户机的连接 。 如果客户机用 PORT命令指明了客户机一端用于建立数据传输连接的 TCP端口,则服务器使用这个端口建立数据传输连接 。 如果客户机没有指明,则服务器使用客户机在建立控制连接时使用的 ( 客户机端的 ) TCP端口 。
网络互连技术教程服务器使用的回应信息由 3个字符的数字代码和 ASCII字符串组成,其间由一个空格分开 。 3位数字代码用于客户端系统的程序使用,而字符串中则是可读的解释性信息 。 在 3位数字代码 ( 见表 12-13) 中,第 1位指出命令的成功与否,第 2位指出回应内容的分类,第 3位作为前两位的补充说明详细情况 。
网络互连技术教程回应代码中第一位数字的意义:
1yz 确定性预应答,命令正在执行中,请客户机等候最终回答 。
2yz 确定性应答,命令正常完成 。
3yz 肯定性中间应答,命令已被接受,但还需要等待另一个命令 。
4yz 临时错误 。
5yz 永久性的否定应答 。
网络互连技术教程回应代码中第二位数字的意义:
x0z 语法信息。
x1z 信息。
x2z 连接信息。
x3z 认证和计账信息。
x4z 其他。
x5z 文件系统状态。
网络互连技术教程表 12-13 FTP回应信息代 码 说 明
110 从新开始的标记
120 NNN分钟之后服务可以准备好
125 连接已被打开,可以传输
150 文件状态为,OK”,数据传输即将建立
200 OK,命令完成
202 非本地命令,无效命令
211 系统状态应答或是系统帮助应答
212 目录的状态
213 文件的状态网络互连技术教程
214 帮助信息
215 主机名称系统的类型
220 用于新用户的服务已经备好
221 准备关闭控制连接,用户将被 LOGOUT
225 数据传送连接已经建立,但没有进行传送
226 数据传送连接准备关闭,指定的动作已经完成
227 进入被动连接
230 用户注册完成,还有续行
250 命令完成 。 OK
257 路径名称已经生成
331 用户名正常,需要口令网络互连技术教程代 码 说 明
332 需要登录用的账号
350 需要详细信息以执行指定动作
421 服务无法利用,关闭控制连接
425 没有建立数据传输连接
426 连接关闭,传送中止
450 指定的文件操作未完成,文件无法使用
451 指定操作由于发生本地错误,中止
452 内存不足,指定操作未完成网络互连技术教程
500 语法错误,命令无法识别
501 参数格式错
502 命令不存在
503 命令序列错
504 没有关于此参数的可用命令
530 没有登录
532 存储文件必须有合法账号
550 文件无法使用,指定动作未完成
551 页类型不明,动作中止
552 内存越界,动作中止
553 文件名称非法,命令未完成网络互连技术教程
12.4 网络互连应用技术
12.4.1 xDSL
12.4.2 帧中继
12.4.3 ISDN