1、第七章第七章 应用层协议和应用程序应用层协议和应用程序7.1 应用层的基本概念7.2 域名系统7.3 文件传输协议7.4 远程登录协议Telnet7.5 电子邮件服务本章小结习题7.1 应用层的基本概念应用层的基本概念 应用层(Application Layer)是OSI参考模型中的最高层,用来确定进程之间通信的性质,以满足用户的需要。应用层不仅要提供应用进程所需要的信息交换和远程操作,而且还要作为应用进程的用户代理,来完成一些为进行信息交换所必需的功能。它包括文件传送访问和管理FTAM、虚拟终端VT、事务处理TP、远程数据库访问RDA、制造业报文规范MMS、目录服务DS等协议。从网络体系结构
2、的角度来看,网络的本质是通过分布在不同地理位置的主机,实现应用层提供的各种网络服务。网络通信双方需要遵循相同的网络协议,其组织方式多数采用层次结构模型。无论是在OSI还是TCP/IP参考模型中,应用层都是其中的最高层,是网络体系结构中与用户密切相关的部分。应用层的主要功能有:为应用程序提供网络服务;识别并保证通信对方的可用性,使得协同工作的应用程序之间同步;建立传输错误纠正与保证数据完整性的控制机制。7.2 域域 名名 系系 统统7.2.1 概述概述域名系统DNS(Domain Name System)是因特网的一项核心服务,它能够将域名和IP地址相互映射在一个分布式数据库中,有助于人们更方便
3、地访问互联网,而无需去记忆能够被机器直接读取的IP数串。用户与Internet上某个主机进行通信时,显然不愿意使用很难记忆的二进制主机地址。相反,大家愿意使用某种易于记忆的主机名。早在ARPANET时代,整个网络上只有数百台计算机,因此当时使用一个名为“host”的文件,列出所有主机名和相应的IP地址。用户只要输入一个主机名,计算机就可以很快地将其转换成机器能够识别的二进制IP地址。但随着Internet规模的不断扩大,网络上的主机数量也迅速增加。虽然从理论上讲,可以只使用一个域名服务器,使它装入所有的主机名,并回答所有对IP地址的查询,然而这种做法并不可取。因为这样的域名服务器肯定会因过度负
4、荷而无法正常工作,而且一旦域名服务器出现故障,整个Internet就会瘫痪。1983年Internet开始采用层次结构的命名树作为主机的名,并使用域名系统(DNS)。Internet的域名系统被设计成为一个联机分布式数据库系统,并采用客户机/服务器模式。DNS系统是高效的,大多数主机名都在本地映射,仅少量映射需要在Internet上通信;DNS系统也是可靠的,即使单个计算机出了故障,也不会妨碍系统的正常运行。主机名到域名的映射是由若干个域名服务器程序组成的,域名服务器程序在专设的节点上运行,人们把运行该程序的机器称为域名服务器。域名的转换过程如下:当某一个应用进程需要将主机名映射为IP地址时,
5、该应用进程就成为域名系统DNS的一个客户,并将待转换的域名放在DNS请求报文中,以UDP数据报方式发给本地域名服务器(使用UDP是为了减少开销)。本地的域名服务器在查找域名后,将对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。若域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,直到找到能够回答该请求的域名服务器为止。现在顶级域名TLD(Top Level Domain)有三类:(1)国家顶级域名nTLD:采用ISO 3166的规定。如:cn表示中国,us表示美国,uk表示英国,等等。(2)国际顶级域名iTLD:采用int,国际性的组织可在i
6、nt下注册。(3)通用顶级域名gTLD:根据RFC1591规定,最早的通用顶级域名共6个,即:.com(公司企业),.net(网络服务机构),.org(非赢利性组织),.edu(教育机构),.gov(政府部门),.mil(军事部门)。由于最初的ARPANET是由美国人建造的,因此通用顶级域名中的政府和军事部门的两个域名由美国专用。另外,虽然在美国的机构也可注册在其国家顶级域名.us下,但它们却常注册在通用顶级域名下。一些人认为:“凡注册在通用顶级域名下的机构都在美国。”这种看法显然不正确。由于Internet上用户的急剧增加,现在又新增加了7个通用顶级域名,即:.firm(公司企业),.sho
7、p(销售公司和企业(该域名曾经是store),.web(突出万维网活动的单位),.arts(突出文化、娱乐活动的单位),.rec(突出消遣、娱乐活动的单位),.info(提供信息服务的单位),.nom(个人)。在国家顶级域名下注册的二级域名均由该国家自行确定。例如,荷兰就不再设二级域名,其所有机构均注册在顶级域名.nl之下。又如顶级域名为.jp的日本,将其教育和企业机构的二级域名定为.ac和.co(而不用.edu和.com)。7.2.2 Internet的域名结构的域名结构 早期的Internet使用了非等级的名字空间,其优点是名字简短。但当Internet上的用户数急剧增加时,用非等级的名字
8、空间来管理一个很大而且经常变化的名字集合是非常困难的。因此,Internet后来就采用了层次树状结构的命名方法,就像全球邮政系统和电话系统那样。采用这种命名方法,任何一个连接在Internet上的主机或路由器都有一个惟一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。域还可以继续划分为子域,如二级域、三级域等。域名的结构由若干个分量组成,各分量之间用点(请注意,是小数点的点)隔开:三级域名二级域名顶级域名各分量分别代表不同级别的域名,每一级的域名都由英文字母和数字组成(不超过63个字符,并且不区分大小写字母),级别最低的域名写在最
9、左边,而级别最高的顶级域名则写在最右边。7.2.3 域名转换域名转换 从域名到IP地址的转换是由域名服务器(DNS)系统完成的。这个系统以客户机服务器的模式进行工作,DNS的工作过程类似于电话系统中的电话号码台服务,为了打一个电话,发话人必须使用电话号码,如果发话人不知道对方电话号码,但知道对方的姓名、住址及城市名,那么就可以从电话号码台得到对方的电话号码。当一个应用程序要求把一个主机域名转换成IP地址时,该应用程序就成为域名系统的一个客户,在客户机方发出域名解析服务请求的软件称为解析器,解析器既是用户程序的服务提供者,又是域名服务器的用户,它与域名服务器建立连接,把主机名传送给域名服务器,在
10、服务器方提供名字解析请求服务软件的主机称为域名服务器。域名服务器经过查找,把主机的IP地址回送给解析器。域名服务器的解析方式有两种:第一种叫递归解析,由解析器向服务器发出递归查询请求,服务器先在所辖区域内进行查找,如果找到,则将结果返回给解析器端;否则向根服务器发出请求,由根服务器从顶向下进行。第二种叫转寄解析,解析器每次请求一个名字服务器,当一个名字服务器不能为某个询问提供答案时,由本次请求的服务器返回下次请求服务器的地址,解析器再给另一个名字服务器重新发一个请求。因此,无论采用哪种解析方式,每个解析器至少知道如何访问一个名字服务器而每个名字服务器至少知道一个其他的名字服务器的地址。在这个过
11、程中,如果用户输入的域名不对或查找不到,解析器会提示错误信息。整个过程看起来相当繁琐,但由于采用了高速缓存机制,最近查到的主机地址全部都存放到高速缓存中,所以查询过程非常快。当然,如果在统一资源定位器中直接输入IP地址,例如“HTTP:/1067535”,网络将省去域名转换这一过程。正如浏览器缓存一样,用户浏览过的页面会被存在缓存里。再次浏览的时候,网页里有些内容是从缓存里读取的,所以速度很快。域名服务器的缓存也是如此,用户近期访问过的网址信息存在缓存里,再次访问时会从缓存里读取,不需要重新解析,这就加快了域名服务的响应速度。7.3 文件传输协议文件传输协议文件传输协议(FTP)是因特网上使用
12、最广泛的协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传递文件。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、连接的方式、甚至是否使用相同的操作系统无关。假设两台计算机通过FTP协议对话,并且能访问Internet,用户就可以用FTP命令来传输文件。不同操作系统在使用上有一些细微差别,但是每种协议基本的命令结构是相同的。FTP的传输有两种方式:ASCII传输模式和二进制
13、数据传输模式。1)ASCII传输模式 假定用户正在复制的文件包含简单的ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时,FTP通常会自动调整文件的内容,以便于把文件转换成远程计算机上存储的文本文件的格式。但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序、数据库、字处理文件或者压缩文件(字处理文件包含的大部分是文本,但其中也包含有指示页尺寸、字库等信息的非打印字符)。在复制任何非文本文件之前,用binary命令告诉FTP逐字复制,不要对这些文件进行处理,这也是下面要讲的二进制传输。2)二进制传输模式在二进制传输中保存文件的位序,以便原始文件和复制后的文
14、件是逐位一一对应的,即使目的地机器上包含位序列的文件是无意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。如果在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢,也会损坏数据,使文件变得不能使用(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的)。如果知道这两台机器是相同的,则二进制方式对文本文件和数据文件都是有效的。7.3.1 FTP的工作过程的工作过程 1概述概述FTP是Internet上用于控制文件的双向传输协议,同
15、时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,以访问服务器上大量的程序和信息。FTP的主要作用是让用户连接一个远程计算机(这些计算机上运行FTP服务器程序),查看远程计算机有哪些文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机上去。FTP服务是一种有连接的文件传输服务,采用的传输层协议是TCP协议。FTP服务的基本过程是:建立连接、传输数据与释放连接。由于FTP服务的特点是数据量大、控制信息相对较少,因此在设计时采用分别对控制信息与数据进行处理的方式,这样,用于通信的TCP连接也相应地分
16、为两种类型:控制连接与数据连接。其中,控制连接用于在通信双方之间传输FTP命令与响应信息,完成连接建立、身份认证与异常处理等控制操作;数据连接用于在通信双方之间传输文件或目录信息。图7-1 FTP服务的工作原理图7-1给出了FTP服务的工作原理。FTP客户机向FTP服务器发送服务请求,FTP服务器接收与响应FTP客户机的请求,并向FTP客户机提供所需的文件传输服务。根据TCP协议的规定,FTP服务器使用熟知端口号来提供服务,FTP客户机使用临时端口号来发送请求。FTP协议为控制连接与数据连接规定不同的端口号。FTP协议采用的是持续连接的通信方式,它所建立的控制连接的维持时间通常较长。图7-2给
17、出了FTP服务的工作过程。在FTP服务的工作过程中,FTP客户机向服务器请求建立控制连接,FTP客户机与服务器之间建立控制连接;FTP客户机请求登录到服务器,FTP服务器要求客户机提供用户名与密码;当FTP客户机成功登录到服务器后,FTP客户机通过控制连接向服务器发出命令,服务器通过控制连接向客户机返回响应信息;当客户机向服务器发出目录命令后,FTP服务器会通过控制连接返回响应信息,并通过新建立的数据连接返回目录信息。图7-2 FTP服务的工作过程2工作模式工作模式根据数据连接的建立方式,FTP服务的数据传输可以分为Port(主动)模式和Passive(被动)模式。主动模式是FTP服务器向FT
18、P客户机传输数据的默认模式。当FTP客户机请求以主动模式传输数据时,由客户端向服务端发送准备接收数据的IP地址和端口Y,该端口是大于1024的非特权端口。服务端主动发起并建立连接到指定的IP地址和端口20,所以称为“主动”模式。在主动模式中,FTP客户端随机开启一个大于1024的端口X向服务器的21号端口发起控制连接请求,然后开放X+1号端口进行监听;FTP服务器接受请求并建立控制连接会话。如果客户端在控制会话中发送数据连接请求,那么服务器在接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口X+1进行数据传输。在被动模式下,客户端通过PASV命令获得服务端IP地址和数
19、据端口,然后向服务端发起连接请求,从而建立数据连接。因此,服务器端只是被动地监听在指定端口上的请求,所以称之为“被动”模式。被动模式的控制连接和数据连接都是由FTP客户端发起的,首先FTP客户端随机开启一个大于1024的端口X向服务器的21端口发起连接,同时会开启X+1端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个端口Y(20)进行监听,然后用Port Y命令通知客户端,自己的数据端口是Y。客户端收到命令后,会通过X+1号端口连接服务器的端口Y,然后在两个端口之间进行数据传输。这样就能使防火墙知道用于数据连接的端口号,而使数据连接得以建立。7.3.
20、2 简单文件传送协议简单文件传送协议(TFTP)TFTP(Trivial File Transfer Protocol)即简单文件传送协议,最初打算用于引导无盘系统(通常是工作站或X终端)。和使用TCP的文件传输协议(FTP)不同,为了保持简单和短小,TFTP将使用UDP协议。TFTP的代码(和它所需要的UDP、IP和设备驱动程序)都能适合只读存储器。在开始工作时,TFTP的客户端与服务器交换信息,客户端发送一个读请求或写请求给服务器。在一个无盘系统进行系统引导的正常情况下,第一个请求是读请求(RRQ)。TFTP报文的头两个字节表示操作码。对于读请求和写请求(WRQ),文件名字段说明客户要读或
21、写的位于服务器上的文件。这个文件字段以0字节作为结束。模式字段是一个ASCII码串netascii或octet(可大小写任意组合),同样以0字节结束。netascii表示数据是由成行的ASCII码字符组成,以两个字节回车字符后跟换行字符(称为CR/LF)作为行结束符。这两个行结束字符在这种格式和本地主机使用的行定界符之间进行转化。octet则将数据看做8 bit一组的字节流而不作任何解释。每个数据分组包含一个块编号字段,它以后要在确认分组中使用。以读一个文件为例,TFTP客户需要发送一个读请求说明要读的文件名和文件模式(mode)。如果该文件能被客户读取,TFTP服务器就返回一个块编号为1的数
22、据分组,TFTP客户又发送一个块编号为1的ACK;TFTP服务器随后发送块编号为2的数据,TFTP客户发回块编号为2的ACK;重复这一过程直到此文件传送完。除了最后一个数据分组可含有不足512字节的数据,其他每个数据分组均含有512字节的数据。当TFTP客户收到一个不足512字节的数据分组,就知道它收到最后一个数据分组。在写请求的情况下,TFTP 客户发送WRQ指明文件名和模式。如果该文件能被客户写,TFTP服务器就返回块编号为0的ACK包。客户就将文件的头512字节以块编号为1发出,服务器则返回块编号为1的ACK。这种类型的数据传输称为停止-等待协议。它只用在一些简单的协议如TFTP中。TF
23、TP的优点在于简单且易于实现,而不是高的系统吞吐量。最后一种TFTP报文类型是差错报文,它的操作码为5。它用于服务器不能处理读请求或写请求的情况。在文件传输过程中的读和写差错也会导致传送这种报文,接着停止传输。差错编号字段给出一个数字的差错码,后面是一个ASCII表示的差错报文字段,可能包含额外的操作系统说明的信息。为了允许多个客户端同时进行系统引导,TFTP服务器必须提供一定形式的并发。因为UDP在一个客户与一个服务器之间并不提供惟一连接(TCP也一样),TFTP服务器通过为每个客户提供一个新的UDP端口来提供并发。这允许不同的客户输入数据报,然后由服务器中的UDP模块根据目的端口号进行区分
24、,而不是由服务器本身来进行区分。TFTP协议没有提供安全特性,大多数执行希望TFTP服务器的系统管理员来限制客户的访问,只允许它们访问引导所必需的文件。7.3.3 网络文件系统网络文件系统(NFS)NFS是分布式文件系统,它允许计算机通过TCP/IP网络共享资源。NFS使用TCP/IP提供的协议和服务,它运行于OSI模型的应用层。在NFS中,客户端应用可透明地读/写位于NFS服务器上的文件。在NFS出现之前,计算机间共享数据的惟一途径是复制数据或集中使用数据。这种方式存在明显的缺陷,如复制数据浪费存储空间而且存在实时一致性问题,集中使用数据意味着大型机及多个终端只存在于单一网络中。NFS的目标
25、是使计算机共享资源,在它的发展过程中(即20世纪80年代),计算机工业飞速发展,廉价的CPU及客户/服务器技术促进了分布式计算环境的进一步发展。然而,当处理器价格下降时,大容量的存储系统相对而言价格仍居高不下。因此,必须采用某种机制在充分发挥单个处理器性能的同时使计算机可共享存储资源和数据,NFS应运而生。7.4 远程登录协议远程登录协议TelnetTelnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议。应用Telnet协议能够把本地用户所使用的电脑变成远程主机系统的一个终端。它提供了三种基本服务:(1)Telnet定义一个网络虚拟终端为远程系统提供一个标准接口
26、。客户机不必详细了解远程系统,它们只需构造标准接口。(2)Telnet包括一个允许客户机和服务器协商选项的机制,而且还提供一组标准选项。(3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。远程登录是指用户使用Telnet命令,使自己的电脑暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。使用Telnet协议进行远程登录时需要满足以下条件:在本地电脑上必须装有包含Telnet协议的客户程序;必须知道远程主机的IP地址或域名;必须知道登录标识和口令
27、。Telnet远程登录服务分为以下四个过程:(1)本地和远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的IP地址或域名。(2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报。(3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果。(4)最后本地终端对远程主机进行撤销连接。该过程是撤销一个TCP连接。7.5 电子邮件服务电子邮件服务 7.5.1 概述概述 电子邮件服务是目前最常见、应用最广
28、泛的一种联网服务。通过电子邮件,可以与Internet上的任何人交换信息。电子邮件以其快速、高效、方便以及价廉的特点得到了越来越广泛的应用,目前只要是网民就肯定用过电子邮件这种服务。目前,全球平均每天约有几千万份电子邮件在网上传输。电子邮件与传统邮件相比有传输速度快、内容和形式多样、使用方便、费用低、安全性好等特点。具体表现在:(1)发送速度快。电子邮件通常在数秒内即可送至全球任意位置的收件人信箱中,其速度比电话通信更为高效快捷。如果接收者在收到电子邮件后的短时间内作出回复,往往发送者仍在计算机旁工作的时候就可以收到回复的电子邮件,接收双方交换一系列简短的电子邮件就像一次简短的会话。(2)信息
29、多样化。电子邮件发送的信件内容除普通文字内容外,还可以是软件、数据,甚至是录音、动画、电视或各类多媒体信息。(3)收发方便。与电话通信或邮政信件发送不同,E-mail采取的是异步工作方式,它在高速传输的同时允许收信人自由决定在何时、何地接收和回复,发送电子邮件时不会因“占线”或接收方不在而耽误时间,收件人无需固定守候在线路另一端,可以在用户方便的任意时间、任意地点,甚至是在旅途中收取E-mail,从而跨越了时间和空间的限制。(4)成本低廉。E-mail最大的优点还在于其低廉的通信价格,用户花费极少即可将重要的信息发送到远在地球另一端的用户手中。(5)更为广泛的交流对象。同一个信件可以通过网络极
30、快地发送给网上指定的一个或多个成员,甚至召开网上会议进行互相讨论,这些成员可以分布在世界各地,但发送速度则与地域无关。与任何一种其他的Internet服务相比,使用电子邮件可以与更多的人进行通信。(6)安全。E-mail软件是高效可靠的,如果目的地的计算机正好关机或暂时从Internet断开,E-mail软件会每隔一段时间自动重发;如果电子邮件在一段时间之内无法递交,电子邮件会自动通知发信人。作为一种高质量的服务,电子邮件是安全可靠的高速信件递送机制。7.5.2 SMTP和和MIME传输协议传输协议 1SMTP协议协议简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传送子系统而
31、且仅要求一条可以保证传送数据单元顺序的通道。SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。进程可能直接与其他进程通过已知的IPCE通信。SMTP设计基于以下通信模型:针对用户的邮件请求,发送SMTP与接收SMTP之间建立一个双向传送通道,接收SMTP可以是最终接收者也可以是中间传送者。一旦传送通道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到,如果SMTP接收者接收,则返回OK应答;如果不能接收到
32、,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答。MAIL命令参数是回复路径,它指定邮件从何处来;而RCPT命令的参数是转发路径的,它指定邮件向何处去。向前路径是源路径,而回复路径是返回路径(用于发生错误时返回邮件)。SMTP工作在两种情况下:一是电子邮件从客户机传输到服务器:二是从某一个服务器传输到另一个服务器。SMTP也是个请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码。SMTP在TCP协议25号端口监听连续请求。连接和发送过程
33、如下:(1)建立TCP连接。(2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端以OK作为响应,表明准备接收。(3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。(4)协商结束,发送邮件,用命令DATA发送。(5)以“”号表示结束输入内容一起发送出去,结束此次发送,用QUIT命令退出。2MIME传输协议传输协议如今电子邮件已经基本上取代了传统邮件。电子邮件不仅可以用文字来叙述,还可以加载音乐、图像等多媒体形式。随着网络的不断革新,邮件也可以承载不同类型的文件进行传输,这就需要MIME协议的
34、支持了。多用途网际邮件扩充协议(MIME,Multipurpose Internet Mail Extensions)说明了如何安排消息格式使消息在不同的邮件系统内进行交换。MIME的格式灵活,允许邮件中包含任意类型的文件。MIME消息可以包含文本、图像、声音、视频及其他应用程序的特定数据。具体来说,MIME允许邮件包括:单个消息中可含多个对象;文本文档不限制一行长度或全文长度;可传输ASCII以外的字符集,允许非英语语种的消息;多字体消息;二进制或特定应用程序文件;图像、声音、视频及多媒体信息。MIME协议复合消息的目录信头设有分界标志,这个分界标志绝不可出现在消息的其他位置,而只能是在各部
35、之间以及消息体的开始和结束处。7.5.3 POP和和IMAP协议协议 1POP协议协议POP的全称是Post Office Protocol,即邮局协议,用于电子邮件的接收,它使用TCP的110端口,现在常用的是第三版,所以简称为POP3。POP3采用了客户端/服务器工作模式。一起来看看电子邮件软件收取电子邮件的过程,通常人们在电子邮件软件的帐号属性上设置一个POP服务器的URL(如),以及邮箱的帐号和密码,这在收信过程中都是用得到的。当点击电子邮件软件中的收取键后,软件首先会调用DNS协议对POP服务器进行IP地址解析,当IP地址被解析出来后,邮件程序便开始使用TCP协议连接邮件服务器的11
36、0端口,因为POP服务器是比较忙的,所以在这个过程中相对要等待较长的时间。当邮件程序成功连接上POP服务器后,首先会使用USER命令将邮箱的帐号传给POP服务器,然后再使用PASS命令将邮箱的密码传给服务器,完成这一认证过程后,邮件程序使用STAT命令请求服务器返回邮箱的统计资料,如邮件总数和邮件大小等,然后LIST便会列出服务器里邮件数量。接下来邮件程序就会使用RETR命令接收邮件,接收一封后便使用DELE命令将邮件服务器中的邮件置为删除状态。当使用QUIT时,邮件服务器便会将置为删除标志的邮件删除。通俗地讲,邮件程序从服务器接收邮件其实就是一个对话过程,POP协议就是用于电子邮件的一门语言
37、。2IMAP协议协议交互式邮件存取协议(IMAP,Internet Mail Access Protocol)是斯坦福大学在1986年开发的一种邮件获取协议。它的主要作用是邮件客户端(如MS Outlook Express)可以通过这种协议从邮件服务器上获取邮件的信息、下载邮件等。当前的权威定义是RFC3501。IMAP协议运行在TCP/IP协议之上,使用的端口是143。它与POP3协议的主要区别是用户无需下载全部邮件,可以通过客户端直接对服务器上的邮件进行操作。IMAP协议的功能是用户可以维护自己在服务器上的邮件目录;可以直接抓取邮件的特定部分(例如仅抓取文本)。目前国内免费的IMAP服务提
38、供商有21CN、腾讯的QQ邮箱和搜狐邮箱(2010年2月5日后包括网易旗下三大免费邮箱,即126,163和Yeah)等。IMAP与POP3的区别是:IMAP只下载邮件的主题,并不是把所有的邮件内容都下载下来,而是邮箱当中还保留着邮件的副本,没有把原邮箱中的邮件删除,用邮件客户软件阅读邮件时才下载邮件的内容。3IMAP协议的特点协议的特点与POP3协议类似,IMAP也提供面向用户的邮件收取服务。常用的IMAP版本是IMAP4,IMAP4改进了POP3的不足,用户可以通过浏览信件头来决定是否收取、删除和检索邮件的特定部分,还可以在服务器上创建或更改文件夹或邮箱,它除了支持POP3协议的脱机操作模式
39、外,还支持联机操作和断连接操作。它为用户提供了有选择地从邮件服务器接收邮件的功能、基于服务器的信息处理功能和共享信箱功能。IMAP4的脱机模式不同于POP3,它不会自动删除在邮件服务器上已取出的邮件,其联机模式和断连接模式也是将邮件服务器作为“远程文件服务器”进行访问,更加灵活方便。4IMAP协议功能协议功能IMAP协议支持连接和断开两种操作模式。当使用POP3时,客户端只会连接在服务器上一段时间,直到它下载完所有新信息,客户端即断开连接。在IMAP中,只要用户界面已激活并且有需要下载的信息内容,客户端就会一直连接在服务器上。对于邮件很多或者很大的用户来说,使用IMAP4模式可以获得更快的响应
40、时间。IMAP协议支持多个客户同时连接到一个邮箱。POP3协议假定邮箱当前的连接是惟一的连接。相反,IMAP4协议允许多个用户同时访问邮箱,同时提供一种机制让客户能够感知当前连接到这个邮箱的其他用户所做的操作。IMAP协议支持访问消息中的MIME部分和部分获取。几乎所有的Internet 邮件都是以MIME格式传输的。MIME允许消息包含一个树型结构,这个树型结构的叶子节点都是单一内容类型,而非叶子节点都是多块类型的组合。IMAP4协议允许客户端获取任何独立的MIME部分和获取信息的一部分或者全部。这些机制使得用户无需下载附件就可以浏览消息内容,或者在获取内容的同时浏览。IMAP协议支持在服务
41、器保留消息状态信息。通过使用在IMAP4协议中定义的标志客户端可以跟踪消息状态,例如邮件是否被读取、回复或删除。这些标识存储在服务器上,所以多个客户在不同时间访问一个邮箱可以感知其他用户所做的操作。IMAP4协议支持在服务器上访问多个邮箱。IMAP4客户端可以在服务器上创建、重命名或删除邮箱(通常以文件夹形式显现给用户)。支持多个邮箱允许服务器提供对于共享和公共文件夹的访问。IMAP协议支持服务器端搜索;IMAP4给客户提供了一种机制,使客户可以要求服务器搜索符合多个标准的信息,在这种机制下客户端无需下载邮箱中所有信息来完成这些搜索。IMAP协议支持一个定义良好的扩展机制。吸取早期Intern
42、et协议的经验,IMAP的扩展定义了一个明确的机制,很多对于原始协议的扩展已被提议并广泛使用。无论使用POP3还是IMAP4来获取消息,客户端都使用SMTP协议来发送。邮件客户可能是POP客户端或者IMAP客户端,但都会使用SMTP。本本 章章 小小 结结在本章中,我们对OSI参考模型的第七层应用层的功能进行了讨论,并介绍了工作在该层的各种协议标准及工作原理。OSI参考模型下面六层的最终目的就是为应用层提供服务。应用层为网络用户提供了多种多样的网络应用服务,是用户使用网络应用的接口,如果没有应用层,那么下面各层的存在就失去了意义。通过学习,要求掌握应用层的主要应用及工作原理,包括DNS服务、FTP服务和E-mail服务;理解OSI应用层的功能与作用;掌握应用实体的组成及服务;DNS域名服务的体系结构及工作过程;电子邮件服务的工作过程;FTP服务的工作原理。习习 题题 简答题简答题1.简要说明DNS的解析过程。2.在电子邮件发送与接收过程中,SMTP与POP3分别起了什么作用?试简单说明两者的工作过程。3.简要说明FTP的工作原理。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。