第五部分 应用层协议

上传人:工**** 文档编号:587513959 上传时间:2024-09-06 格式:PPT 页数:142 大小:3.30MB
返回 下载 相关 举报
第五部分 应用层协议_第1页
第1页 / 共142页
第五部分 应用层协议_第2页
第2页 / 共142页
第五部分 应用层协议_第3页
第3页 / 共142页
第五部分 应用层协议_第4页
第4页 / 共142页
第五部分 应用层协议_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《第五部分 应用层协议》由会员分享,可在线阅读,更多相关《第五部分 应用层协议(142页珍藏版)》请在金锄头文库上搜索。

1、第五部分 应用层协议应用的体系结构p客户/服务器体系结构n有一个总是打开的服务器,在固定的众所周知的地址上为客户机提供服务,客户机之间不直接通信,如:电子邮件、文件传输、WWWpP2P体系结构:n没有一个总是打开的服务器,任意一对主机(对等方)之间直接通信,如P2P文件共享;p混合体系结构n同时使用客户/服务器结构和P2P结构,如具有联系人列表的即时讯息。应用层协议p应用层协议定义了运行在不同端系统上的应用程序如何进行通信,包括:n相互交换的报文类型、各种报文类型的语法、各个字段的语义、各种报文的处理等。p应用层协议只是网络应用的一部分,如Web应用包括:n文档格式标准nWeb浏览、Web服务

2、器n应用层协议HTTP客户-服务器模型p建立互联网的目的是向用户提供服务,Internet主要采用客户-服务器模式向用户提供服务:n一台计算机运行一个提供服务的程序(称服务器),另一台计算机运行一个请求服务的程序(称客户)。客户向服务器请求服务,而服务器完成所请求的服务。因而一个应用程序总是成对出现。n一个服务器可以向任何客户提供服务。客户和服务器p客户:n运行在本地计算机上向服务器请求服务的程序。n客户程序是有限的,它由用户或另一个应用程序启动,服务完成时终止。n客户使用远程计算机的IP地址以及在该远程计算机上提供该服务的端口号建立通信通道(称主动打开),发送请求和接收响应,服务结束后主动关

3、闭通信通道。p服务器:n运行在远程计算机上向客户提供服务的程序。n服务器程序是无限的,启动后就一直运行,除非出问题或被关闭。n服务器一直在指定的端口上等待服务请求,当服务请求到来时建立通信通道(被动打开),处理请求并发回响应。第17章 BOOTP和DHCPp连接到TCP/IP网络的每一台计算机需要知道以下配置信息:n自己的IP地址,自己的子网掩码,路由器的IP地址,名字服务器的IP地址。p配置信息的获取:n配置信息通常存储在一个配置文件中,计算机在引导过程中读取该文件。n对于无盘工作站或第一次启动的计算机,需要使用配置协议获取配置信息。p两个这样的协议:BOOTP和DHCP17.1 引导协议B

4、OOTPpBOOTP协议用于将上述四种信息提供给无盘计算机或第一次启动的计算机。pBOOTP使用客户-服务器模式,客户请求配置信息,服务器响应配置信息。pBOOTP是一种静态配置协议,客户信息必须预先保存在配置信息表中。pBOOTP包括了RARP的功能BOOTP的分组格式选项格式p选项只在回答报文中出现,用于携带附加信息或某些特定厂商的信息。BOOTP的选项BOOTP的操作pBOOTP使用UDP协议,服务器和客户分别使用熟知端口号67和68。p客户发送BOOTP请求报文,报文先被封装成UDP用户数据报,然后再封装成IP数据报(源地址为全0,目的地址为全1),IP数据报再封装在广播帧中发送。p服

5、务器查找相应的配置信息,构造BOOTP响应报文。封装响应报文的IP数据报的目的地址仍为全1地址,但可使用广播帧或单播帧发送。使用单播帧发送时,目的地址为服务器从携带BOOTP请求报文的帧中获取的源MAC地址。p若客户需要引导程序,服务器在BOOTP响应报文中只是给出了文件的路径名。客户需要使用TFTP协议从相应的文件服务器获取所需要的引导程序。BOOTP报文的封装中继代理p若使用一个BOOTP服务器为好几个局域网提供服务,则必须在每个局域网中安装一个中继代理。p中继代理是一个路由器,负责在本地计算机和远程服务器之间转发请求和响应。p收到客户请求的中继代理在网关IP地址字段中填入自己的地址,用单

6、播方式发送给BOOTP服务器;BOOTP服务器将响应报文发送给中继代理;中继代理再转发给请求计算机。差错控制pBOOTP使用以下差错控制策略:nBOOTP要求UDP使用检验和nBOOTP使用超时重传机制进行差错恢复。17.2 动态主机配置协议DHCPpDHCP扩充了BOOTP协议,支持动态配置,特别是可提供临时IP地址。p永久地址和临时地址:n永久地址一般分配给服务器。 n临时(租用)地址一般分配给普通客户。当临时地址将到期时,客户必须与DHCP服务器协商延长租期,否则不能再使用该IP地址。pDHCP服务器使用两个数据库:n静态配置数据库:类似于BOOTP服务器中的配置数据库。n动态配置数据库

7、:拥有一个可用IP地址池。p当收到客户请求时,DHCP服务器先查找静态数据库;若存在请求的表项,返回这个客户的永久IP地址;否则,从可用IP地址池中选择一个分配给客户,并添加表项到动态数据库中。DHCP分组格式DHCP新增的选项这些新增的选项用来定义在客户和服务器之间交互的类型。DHCP的操作pDHCP客户启动时发送DHCPDISCOVER报文。p提供DHCP服务的服务器发送DHCPOFFER报文,向客户提供一个临时IP地址,并锁定该IP地址。pDHCP客户从收到的响应中选择一个IP地址,向提供该IP地址的服务器发送DHCPREQUEST报文。pDHCP服务器发送DHCPACK报文进行响应,并

8、绑定客户的物理地址与IP地址。p在租期经过一半后,客户发送一个DHCPREQUEST报文请求更新。若收到DHCPACK,续约完成;若收到DHCPNACK或租期超过,重新申请一个IP地址。DHCP状态转换图练习p28,29,30第18章 域名系统DNSp网络内部使用IP地址来引用资源,而人们往往倾向于使用便于记忆的ASCII名字,这就需要在资源的ASCII名字和它的IP地址之间建立起一种映射关系。p早期的Internet使用主机文件来实现映射:n名字冲突n更新慢p域名系统是一种分级结构的基于域的命名方案和实现这种命名方案的分布式数据库:n层次命名解决了大规模网络中名字冲突的问题;n分布式数据库解

9、决了表的维护与传播问题。命名空间pDNS在概念上将因特网分成了200多个顶级域,每个顶级域被进一步划分成若干个二级子域,每个二级子域还可以再分子域,依次类推。域名和标号p一个指定的域是指树中一个特定的节点以及该节点以下所有的节点。p树上每一个节点都有一个标号(最多63个字符),根标号是空字符串。p某个域的域名用从该域开始向上直到树根(为空)的标号序列表示,标号之间用句点隔开。p域名的任一后缀也是一个域。顶级域p顶级域分为组织域、国家域和反向域三种。n组织域:由美国国内机构及一些国际组织使用。n国家域:使用二字符的国家代码,每个国家对应一个。n反向域:域名为arpa,用来把一个地址映射为名字。组

10、织域国家域反向域DNS解析过程pDNS的一般工作过程:n应用程序调用一个称为解析器的库例程,将名字作为参数传递进去。n解析器的内部配置了本地DNS服务器的地址。解析器将需要查询的信息封装成一个DNS请求报文,发送给本地域名服务器。n若本地数据库中有所需的信息,本地域名服务器将查到的信息封装成DNS响应报文,发回给解析器。n解析器从DNS响应报文取出查询结果,返回给调用者。DNS服务器的组织方式p三种类型的DNS服务器:n根服务器:知道所有顶级域服务器的IP地址,因特网上共有13个根服务器。n顶级域(TLD)服务器:每个顶级域至少有一个顶级域服务器,每个TLD服务器知道本域下所有二级子域的权威D

11、NS服务器的IP地址。n权威DNS服务器:存放各组织机构公共可访问DNS记录的服务器。本地数据库中没有找到所需的信息p递归解析:由域名服务器逐层向上查询,并将最终解答返回给解析程序。p迭代解析:域名服务器将需要进一步查询的域名服务器的IP地址返回给解析器,由解析器向推荐 的服务器发送查询请求。p使用DNS缓存:当服务器收到不在它域中的名字-IP地址映射关系时,将收到的映射关系保存在其高速缓存中,以备下一个客户查询。递归解析示意迭代解析示意域名服务器的概念层次物理服务器的层次p一个物理服务器保存的信息可能涉及域名空间的若干层,它也可以把它的域划分成若干子域,把其中的一些子域委托给其它服务器。p因

12、此,实际的物理服务器的层次与域名空间的逻辑层次不同。资源记录pDNS数据库的每一个表项称为一个资源记录。p每个域都有一组与之相关联的资源记录,解析器从DNS得到的其实是和域名相关联的资源记录。因此可以说,DNS的主要功能是将域名映射到资源记录上。p一条资源记录是一个六元组,包括:n域名:该资源记录适用的域;n生存期:表示资源记录的稳定性;n信息类型:对于因特网信息,该字段总为1;n资源记录类型:共有20多种资源记录n资源数据长度n资源数据资源记录格式重要的资源记录类型DNS数据库内容示例DNS报文的封装pDNS可以使用UDP,也可以使用TCP,服务器的熟知端口都是53。n当响应报文的长度小于5

13、12字节时,使用UDP。n当响应报文的长度超过512字节时,使用TCP。n当解析程序事先不知道响应报文的长度时,先使用UDP;若响应报文的长度超过512字节,服务器截断这个报文,置DNS报文首部的TC标志为1;解析程序打开TCP连接,并重复这个请求,以便得到完整的响应。第19章 Telnetp我们需要一种通用的客户-服务器程序,允许用户注册到远程计算机上,然后使用远程计算机提供的服务,并把结果返回到本地计算机上。pTelnet是提供虚拟终端服务的TCP/IP协议,使用户能够建立一条到远程系统的连接,好像本地终端就连接在远程系统上一样。19.1 注册p在分时环境中,大型计算机支持许多个用户,用户

14、通过终端与计算机交互。p当用户在键盘上输入字符时,字符被发送到计算机,同时回送到显示器上,让用户有使用专用计算机的感觉。用户可以运行程序,使用系统资源。p在分时环境中,用户是系统的一部分,并具有使用资源的某些权利。p每一个授权用户都有一个标识和一个口令,当用户需要使用计算机时必须注册,提供用户标识和口令,供计算机进行鉴权。本地注册p用户注册到本地分时系统时,称为本地注册。p用户在终端上的击键被终端驱动程序接受,操作系统解释字符的组合,并调用所需的程序。远程注册p用户注册到远程计算机上,称为远程注册。p用户的击键输入不在本地解释,而是通过Internet发送到远程计算机上,由远程操作系统交付给应

15、用程序。p用户输入的字符被送到telnet客户,telnet客户将字符转换成网络虚拟终端(NVT)字符,经因特网传输到远程机器,telnet服务器将NVT字符转换成本机可理解的字符,再通过伪终端驱动程序交给适当的应用程序。19.2 网络虚拟终端NVTp每一个计算机及其操作系统接受特殊的字符组合作为一些记号。pNVT是Telnet为异构系统之间通信而定义的通用接口。pTelnet客户将来自本地终端的字符转换成NVT形式,交付给网络;Telnet服务器把来自NVT形式的字符转换成远程计算机可接受的形式。pVNT使用两个字符集,每一个字符都为8位:n数据字符:最高位为0,低7位与US ASCII相同

16、。n远程控制字符:最高位为1。19.3 Telnet传输pTelnet仅使用一个TCP连接,服务器使用熟知端口23。pNVT的远程控制字符嵌入在数据流中一起传输,控制字符前加上IAC以区别于数据。19.4 选项协商pTelnet允许客户与服务器之间协商选项,如终端类型、终端速率、回显、行模式等。pTelnet使用四种控制字符进行选项协商。选项协商示例p客户希望服务器把发送给服务器的每一个字符回显。p回显选项仅能被服务器启动,因而客户使用DO来请求启动这个选项,服务器用WILL表示接受这个请求。19.5 对服务器进行控制p需要一些控制字符来控制在远程计算机上运行的程序。带外信令p为使控制字符在特

17、殊情况下有效,Telnet使用带外方式将控制字符发送给远程操作系统,方法是使用TCP的紧急报文段。p在控制字符序列后面插入特殊字符DM(数据标记),TCP报文段紧急指针指向DM。p接收端TCP根据DM找到控制字符,交给上层,丢弃DM之前的数据,从DM开始的数据按正常数据处理。19.6 Telnet的操作模式p默认模式:字符回显由客户完成,整个一行输完后再发送给服务器,但必须收到来自服务器的GA命令后才能接受用户的下一行输入(半双工方式)。这种模式已很少使用。p字符模式:每一个键入的字符都发送给服务器,并被回显到客户的屏幕上。这种方式开销很大。p行模式:行编辑由客户完成,然后把整行发送给服务器。

18、行模式是全双工模式,客户可以一行接着一行地发送,不需要等待服务器的GA命令。Telnet交互示例(默认方式)切换到字符模式19.7 用户接口p用户不使用以上Telnet命令,通常操作系统会定义一个用户友好的命令接口,用于将用户友好的命令转换为Telnet命令。第20章 文件传送协议FTPpFTP是TCP/IP提供的标准机制,用来从一个主机把文件复制到另一个主机。pFTP使用两个TCP连接,一条连接用于传送数据,另一条连接用于传送控制信息(命令和响应)。p控制连接在整个FTP会话期间一直保持,数据连接在每一次文件传送时打开,在一个文件传送结束后关闭。FTP使用关闭连接来表示一个文件传送结束。若传

19、送多个文件,则数据连接打开和关闭多次。FTP模型p两端的控制进程间建立控制连接,数据传送进程间建立数据连接。建立控制连接p服务器在熟知端口21等待客户,客户使用临时端口号建立连接。建立数据连接p客户选择一个临时端口号,在该端口上等待服务器的连接请求。p客户在控制连接上用PORT命令将临时端口号发送给服务器。p服务器使用端口20与客户机给出的端口建立连接。p将控制连接和数据连接分开的优点:n简化协议的设计和实现n控制连接在文件传输过程中一直可用n使用数据连接的关闭通知文件传输结束,允许动态创建文件。解决异构系统之间的通信问题p控制连接上的通信:n使用NVT ASCII编码的FTP命令和响应n在控

20、制连接上定义要传送的文件类型、数据结构及传输模式。p数据连接上的通信:n按照在控制连接上定义的文件类型、数据结构及传输模式进行数据转换、传输及交付。文件类型pASCII文件:传送文本文件的默认格式,每一个字符使用NVT ASCII进行编码。pEBCDIC文件:若连接的一端或两端使用EBCDIC编码,则可使用EBCDIC编码传送文件。p图像文件:传送二进制文件的默认格式,文件作为连续的位流而没有任何解释或编码。数据结构p文件结构(默认):这种文件没有结构,是连续的字节流。p记录结构:文件被划分为一些记录,只能用于文本文件。p页面结构:文件被划分为一些页面,每一个页面有页号和页首部,页面可以被随机

21、或顺序存取。传输模式p流模式:默认模式。数据作为连续的字节流从FTP交付给TCP,TCP将数据划分成适当大小的报文段。p块模式:数据可以按块从FTP交付给TCP。每一个块有3个字节的首部,包括一个字节的块描述符、和两个字节定义的块长度。p压缩模式:当文件很大时,可对数据进行压缩,通常使用的压缩方法是游程长编码。FTP命令pFTP命令包括六类命令:n接入命令:使用户能够接入远程系统,如要求用户标识、口令、注销等。n文件管理命令:使用户接入到远程计算机的文件系统,包括对目录及文件的操作。n数据格式化命令:让用户定义数据结构、文件类型及传输模式。n端口定义命令:定义客户端数据连接使用的端口号。n文件

22、传送命令:让用户传送文件。n杂项命令:用于将信息交付给客户端的FTP用户。FTP响应p每一个FTP命令产生至少一个响应。p响应包括两部分:n一个3比特的数字:定义代码n正文:定义所需的参数或额外的解释FTP交互用户接口p大多数操作系统提供用户友好接口来接入FTP服务。p接口提示用户作适当的输入,将其转换为相应的FTP命令。第21章 简单文件传送协议TFTPpTFTP协议为仅需要复制一个文件的应用而设计,如无盘工作站在被引导时下载引导和配置文件。pTFTP使用UDP协议,以使软件包可被放入无盘工作站的ROM中。pUDP不提供连接建立/终止、差错控制和流量控制的功能,这些功能需要TFTP来提供。T

23、FTP的传输控制机制pTFTP将文件划分成若干数据块并编号,除最后一块外,每块为512字节,最后一块必须在0511字节之间。TFTP用发送小于512字节的块表示发送结束。pTFTP采用停-等协议传送数据,发送端每次发送一个块,收到接收方的确认后再发送下一个块。pTFTP依靠UDP检测数据错误并丢弃出错的包,发送端使用超时重传机制解决分组丢失问题。TFTP报文p读请求RRQ:客户向服务器请求读一个文件,报文中包含文件名和文件模式(netascii或octet)。p写请求WRQ:客户请求向服务器写一个文件,报文中包含文件名和文件模式。TFTP报文(续)p数据DATA:客户或服务器用来传送数据块,报

24、文中包含块号和数据块。p确认ACK:客户或服务器用来确认收到数据块,报文中包含收到的数据块的块号。TFTP报文(续)p差错报告ERROR:由客户或服务器用来报告出现差错,报文中包含差错类型及差错信息。建立连接pTFTP使用RRQ、WRQ、ACK和ERROR报文来建立连接,并使用小于512字节的数据块来终止连接。UDP端口pTFTP使用UDP熟知端口69。p为使TFTP服务器能够服务于多个客户,TFTP只使用端口69建立读文件或写文件的初始连接,此后使用短暂端口进行数据传输。n服务器在端口69上等待客户请求。n客户在选择的临时端口上向服务器端口69发送RRQ或WRQ报文。n服务器选择一个临时端口

25、作为源端口,向客户端口发送ACK或ERROR报文,自己仍回到端口69上等待。服务器中的UDP模块根据目的端口号区分不同的客户。n客户使用自己的临时端口与服务器的临时端口进行通信。TFTP交互举例TFTP与BOOTP一起使用TFTP的安全性pTFTP不提供安全性,没有用户标识或口令。p为防止黑客利用TFTP进行非法文件存取,管理员一般限定TFTP只能访问某个存放引导和配置文件的文件夹。练习p18,20,21,23第22章 电子邮件系统p电子邮件系统支持:n把邮件发送给一个或多个收信人n发送包括文本、图形、声音、视频等媒体形式的报文p两个概念:n电子邮箱:由计算机上的一个存储区域(如磁盘上的一个文

26、件)组成,每个邮箱均被分配了唯一的电子邮件地址。n电子邮件地址:由两个部分组成,形如:mailboxcomputer,前者为用户邮箱的字符串,后者为邮箱所在的计算机的名字。22.1 因特网电子邮件系统的组成p用户代理UA:一个本地程序(或称邮件阅读器),为用户提供读邮件、编辑邮件、发送邮件及管理信箱等功能。p消息传输代理MTA:运行在邮件服务器后台的一个系统守护程序(daemon),负责传递邮件及将收到的邮件放入用户邮箱。p简单邮件传输协议SMTP(由RFC 821定义):定义在两个计算机之间传递邮件的过程。p邮件访问协议:访问邮箱中的邮件。电子邮件系统的结构(1)p情形一:n发信人和收信人在

27、同一个系统上n只需要两个用户代理(UA)电子邮件系统的结构(2)p情形二:n发信人和收信人在不同的系统上n需要两个用户代理(UA)和一对消息传输代理(MTA)电子邮件系统的结构(3)p情形三:n发信人通过一个网络连接到邮件服务器上,而收信人仍然直接连接到邮件服务器n需要两个UA和两对MTA电子邮件系统的结构(4)p情形四:n发信人和收信人均通过网络连接到邮件服务器n需要两个UA、两对MTA和一对MAA(邮件访问代理)p这是目前最常见的情形。推和拉pSMTP是一种消息推送(push)协议p访问邮件需要一种“拉”(pull)协议延迟交付p发送端可以延迟发送报文。UA创建报文后,先将报文交付到发送端

28、的临时存储系统。MTA客户定期检查临时存储系统是否有邮件要发送,当能够与邮件服务器建立连接时发送邮件,否则邮件继续留在临时存储系统中,直到超时。p接收端收到邮件后,先放到收信人的信箱中,收信人在适当的时候从信箱中取信件。p中间MTA也可以在它的邮箱和临时存储系统中保存邮件,并在适当的时候发送。22.2 用户代理p用户代理提供编辑、阅读、回复、转发邮件的功能,以及管理邮箱的功能。p邮件格式(由RFC 822定义):n信封:包含与信件传输有关的信息,仅供消息传输代理使用。n信头:包括发信人地址及信体格式说明,供用户代理使用。n信体:收信人真正感兴趣的部分。电子邮件的格式多用途因特网邮件扩展MIME

29、pSMTP只支持纯文本(NVT ASCII)格式的报文传输,不支持其它语言及二进制文件传输。pMIME是对RFC 822的扩展,它允许信体具有一定的数据结构,并规定了非ASCII文本信息在传输时的统一编码形式。pMIME在信头中增加了5个域(现在可能有扩展)。MIME头pMIME版本p内容类型:定义信体使用的数据类型,共定义了七大类及若干子类(有扩展)。p内容传输编码:定义信体使用的传输编码格式,共定义了基本ASCII编码集、扩展ASCII编码集、二进制编码、基64编码、引用可打印编码五种传输编码形式。p内容标识:消息ID。p内容描述:对于非文本信体的文字描述。MIME中的内容类型与子类型pM

30、ultipart:信体包含多个独立的部分,多部分首部中应定义每一个部分的边界。pMultipart/mixed:信体是不同数据类型的组合,如包含文本、声音、附件等内容,必须按顺序呈现。pMultipart/parallel:信体是不同数据类型的组合,各部分之间的顺序不重要。pMultipart/digest:类似于mixed,但缺省的type/subtype是message/RFC822。pMultipart/alternative:信体包含同一个消息的不同版本,如有text和html两种格式的文本。MIME中的内容类型与子类型传输编码类型pShort lines:行的长度不能超过1000字符

31、。pUnlimited-length lines:不限制行的长度p不推荐使用扩展ASCII字符集和二进制编码进行传输。pMIME定义了Base64和Quoted-printable两种编码形式。Base64编码p每24比特数据被分成4个6比特的单元,每个单元编码成一个合法的ASCII字符,其对应关系为:025编码成AZ,2651编码成az,5261编码成09,62和63分别编码成和,和分别表示最后一组只有8比特和16比特,回车和换行忽略。引用可打印编码p若数据的绝大部分为ASCII字符,只有一小部分是非ASCII码字符,则只对非ASCII字符进行转换。将该字符的十六进制表示用两个ASCII字符

32、标记,前面冠以特殊字符“=”。(更正:图中“5”应为“”)22.3 SMTPp邮件的真正传送由MTA完成,SMTP定义了MTA客户和MTA服务器之间的交互方式。pSMTP使用命令和响应在MTA客户和MTA服务器之间传送报文。pSMTP定义了14种命令,有5个是每一种实现都必须支持的,有3种是高度推荐的,还有6种很少使用。SMTP命令pHelo:客户用来标识自己pMail from:客户用来标识发信人pRcpt to:客户用来标识收信人pData:用来发送真正的报文pQuit:结束报文。邮件传送阶段p建立连接nMTA客户与MTA服务器在熟知端口25建立TCP连接。n服务器发送服务就绪报文n客户发

33、送HELO报文,用域名标识自己n服务器响应报文传送p客户发送MIAL FROM报文,通报信件的发送方,服务器响应。p客户发送RCPT报文,通报收信人的邮件地址。p若接收人信箱在服务器上,服务器通知客户继续。p客户发送DATA报文,服务器响应。p客户用连续的行发送报文内容。p服务器将信件放入相应的信箱后进行响应。p重复以上过程,将信件全部发完。连接终止p客户发送QUIT报文p服务器响应。p释放TCP连接。22.4 邮件交付p第一阶段:电子邮件从用户代理传送到本地服务器,用户使用SMTP客户软件,本地服务器使用SMTP服务器软件。p第二阶段:本地服务器将电子邮件转发给收信人的邮件服务器,本地服务器

34、使用SMTP客户软件,远程服务器使用SMTP服务器软件。远程服务器将收到的邮件放入收信人的邮箱。p第三阶段:远程用户代理使用邮件访问协议,访问邮箱并获取邮件。邮件交付示意22.5 邮局协议POP3p邮局协议POP3:nPOP3客户软件安装在收信人的计算机上,POP3服务器软件安装在收信人的邮件服务器上。n用户激活一个POP3客户,该客户与邮件服务器的端口110建立一个TCP连接。n用户发送用户名和口令进行身份鉴别。n若身份鉴别成功,用户发送POP3命令,将邮件接收到本地。n客户发出退出命令,服务器进行响应。n释放TCP连接。pPOP3的模式:n删除模式:每次读取邮件后就把邮箱中的这个邮件删除。

35、n保存模式:邮件读取后仍然保留在邮箱中。使用POP3读取邮件22.6 Internet邮件访问协议IMAPpIMAP允许用户动态地在服务器上创建、删除和管理多个信箱,可以在文件夹中创建分层次的信箱。pIMAP允许用户在服务器上整理邮件,将阅读过的信件放到相应的信箱中保存。p允许用户在下载邮件之前可以检查邮件的头部,用特定的字符串搜索邮件内容,部分地下载电子邮件。pIMAP除了为用户接收邮件外,还可以为用户发送邮件。pIMAP服务器在端口143上监听。Webmailp一些网站(如Hotmail、Yahoo等)向访问网站的用户提供电子邮件服务。p用户代理为普通浏览器,浏览器和远程邮箱之间的通信使用

36、HTTP协议,但邮件服务器之间仍是SMTP协议。p和IMAP一样,用户可以在远程服务器上用文件夹来组织他们的信件。练习p36,37,38,45,47,48第23章 简单网络管理协议SNMPp不作要求第25章 万维网p从用户的角度来看,Web是由数量巨大且遍布全球的文档组成,这些文档称为Web页。p每个页除了含有基本的信息之外,还包含格式命令和指向其它页的链接:n格式命令:用于指示如何显示文档中的数据n链接:用于指示如何获取另一个文件p包含链接信息的文本串或图形称为超级链接,当用户点击一个超级链接时,该超级链接指向的页会被取回,并显示在用户屏幕上。p包含超级链接的页称为超文本页或超媒体页,它们的

37、区别在于文档内容。浏览器p页需要用称为浏览器的程序阅读,浏览器负责取回指定的页,并按照指定的格式显示在屏幕上。p浏览器由三个部分组成:n控制程序:接收来自键盘或鼠标的输入,调用某个客户程序访问文档;获取文件档后,使用某个解释程序将文档显示在屏幕上。n客户程序:可以是HTTP、FTP、Telnet等的一种。n解释程序:取决于文档的类型。25.1 网页获取pWeb采用客户-服务器模式工作,客户为浏览器软件,服务器是运行在Web服务器上的一个软件程序。p服务器平时总在端口80上监听客户的连接请求,当用户点击了一个超级链接后:n浏览器找到该链接所指的网页的名字n与网页所在的服务器建立一个TCP连接n向

38、服务器发送取网页的请求n服务器将请求的网页发送给浏览器n释放TCP连接p两个问题需要解决:n如何命名一个网页n定义客户和服务器之间的传输协议统一资源定位符URLp为在全网范围内确定一个页,页名必须包括:页的存放地址,页在宿主机中的全路径名,页的访问方法。符合这三个条件的名字称为URL。pUniform Resource Locator(URL)的一般格式为 method:/host/pathnmethod:方法名,指出访问网页的协议名称,常见的方法有http、ftp、telnet、Gopher和news。nHost:网页所在宿主机的域名nPath:网页在宿主机上的全路径名n可选地,URL可以包

39、含服务器的端口号,如: method:/host: port/pathWeb的客户方(1)p当用户点击了超级链接http:/www.itu.org/home/index.html后,浏览器按以下步骤工作:n浏览器确定URL(从页及点击位置获取)n请求DNS解析域名www.itu.org,DNS返回IP地址156.106.192.32n浏览器与156.106.192.32的端口80建立一个TCP连接n浏览器发送一个请求,要求取文件/home/index.htmln服务器发送文件/home/index.html,释放TCP连接n浏览器显示文件/home/index.html的所有文本内容n浏览器取

40、回该文件中的所有图像并显示(一次取一个图像显示)Web的客户方(2)p为使浏览器能够正确解释和显示每一个Web页,Web页应当使用称为HTML(超文本标记语言)的标准语言书写。p如果一个页不是HTML格式的,怎么显示?n当服务器返回一个页的时候,同时要返回关于这个页的一些额外信息,特别是页的MIME类型。n当页的MIME类型是text/html(浏览器的内置类型)时,浏览器直接显示。n当页的MIME类型不是浏览器本身所支持的,浏览器查找MIME类型表,该表将每个MIME类型关联到一个阅读器上,浏览器调用相应的阅读器进行显示。n阅读器可以是和浏览器运行在同一个程序空间的插件程序,也可以是一个独立

41、的助手程序。n对于本地文件,浏览器通过文件的扩展名得知文件类型。Web的服务器方pWeb服务器的典型工作过程:n服务器在端口80监听,与请求的客户建立TCP连接,接收服务请求。n确定请求的Web页(名字扩展)。n(若需要)认证客户;对客户进行访问控制;对请求的页进行访问控制。n检查请求的页是否在高速缓存中,有则直接读取,否则从本地磁盘读取文件。n确定要包含在响应中的MIME类型。n其它处理。n将文件返回给客户,进行日志记录,释放连接。25.2 Web文档pWeb文档类型:n静态文档:静态文档以文件方式保存在Web服务器上,由文档的作者决定文档的内容,对静态文档的每次请求均产生相同的响应。n动态

42、文档:动态文档由Web服务器动态创建。当请求到达时,Web服务器运行一个应用程序创建动态文档,并返回给浏览器,因此每次请求产生的动态文档是不同的。n主动(active)文档:主动文档由一个计算机程序组成,当游览器请求一个主动文档时,服务器返回一个必须在浏览器本地运行的程序的拷贝,程序运行时可以与用户进行交互,并不断访问服务器取回新的信息,因此主动文档的内容是不断更新的。静态文档和超文本标记语言HTMLpHTML是一种标记语言,用于描述文档的显示格式。使用ASCII字符表示的格式命令可被任何浏览器识别和理解。pHTML中的格式命令称为标签。标签一般成对出现,包含在一对标签中的文档内容,显示格式由

43、该标签指定。p有些标签可以有属性,如:n标签在Web页中嵌入图像: n标签在Web页中加入超级链接: NASAs home page n也可以为图像设置超级链接: 标签的使用示例表单pHTML使用表单收集用户的输入信息,表单中包含需要用户提供信息的条目,每个条目都有一个唯一的名字。当用户点击提交按钮时,浏览器将所有条目及条目的值汇总,发送给服务器。表单的处理动态文档和公共网关接口CGIp处理动态文档的传统方法是公共网关接口CGI:nCGI是一个标准接口,它允许Web服务器与一个能够处理动态文档的后台程序或脚本进行交互。nCGI只规定了服务器与后台程序交互的通用规则,而允许程序员选择大多数的实现

44、细节,如编程语言的选择。n每个CGI程序被赋予一个URL,位于cgi-bin目录下,表单的ACTION参数指出了处理表单数据的CGI程序的URL。n当表单数据被提交后,Web服务器调用相应的CGI程序,表单中的数据作为输入。nCGI程序通过输出的头部与服务器进行通信,指出输出数据的长度、类型、有效时间等,也可以指出文档放在另一个URL(重定向)。n服务器取得CGI生成的文档,返回给浏览器。主动文档和Javap大多数情况下,Java用来创建小应用程序applet。pJava applet必须先被编译成字节码并存储在Web服务器上。p游览器需要运行HTML解释器和Java解释器。p当用户向浏览器提

45、供一个Applet的URL,或浏览器在HTML文档中遇到一个指向Applet的标记时,浏览器与服务器联系获得该Applet的一个拷贝,下载到本地执行。pApplet使用浏览器的HTTP客户检索文档,使用浏览器的HTML解释器显示网页信息。第24章 超文本传输协议HTTPpHTTP是浏览器与Web服务器之间通信使用的协议,规定了客户与服务器通信所使用的命令及响应。pHTTP通常运行在TCP连接之上,使用端口80。24.1 HTTP请求和响应消息pHTTP使用两种类型的报文:n请求报文:包含请求行、首部及可能的主体。n响应报文:包括状态行、首部及可能的主体。HTTP请求和响应消息请求行和状态行p请

46、求行包括请求类型(方法)、URL和HTTP版本p状态行定义响应报文的状态,包括HTTP版本、状态码和状态短语请求类型(方法)HTTP报文的首部p首部用于在客户和服务器之间交换附加的信息。特别地,HTTP允许浏览器和服务器通过首部交换元信息和协商各种能力。p定义了四种类型的首部:通用首部,请求首部,响应首部和实体首部。p首部的一般格式:通用首部p给出关于报文的通用信息,可以出现在请求和响应报文中。请求首部p指明浏览器配置和优先使用的文档格式,只能出现在请求报文中。响应首部p指明服务器配置和关于请求的特殊信息,只能出现在响应报文中。实体首部p给出文档主体的信息,可以出现在请求和响应报文中。HTTP

47、报文交互示例(1)p使用get方法获取路径为/usr/bin/image 1的图像HTTP报文交互示例(2)p使用post方法向服务器发送CGI文档25.2 HTTP的工作模式p基本工作模式:n浏览器与服务器建立TCP连接,发送HTTP请求;n服务器返回响应,关闭连接。p服务器不保留以前的请求或会话的历史记录,因而是无状态的。p优点:n服务器设计简单,不需要保存状态,扩展性好。p缺点:n如果Web页包含图片,则每传送一张图片就要打开和关闭连接一次,开销大。持久连接方式p从HTTP/1.1开始使用持久连接方式(默认):n一旦客户建立了和服务器的TCP连接,该连接就在多个请求和响应过程中一直存在,

48、直到某一方关闭连接。n非流水线方式:客户只能在收到前一个请求的响应后才能发送下一个请求。n流水线方式:客户可以连续发送多个请求而不需要等待响应,服务器也可以进行连续响应。p使用持久连接需要标识发送的每一个数据项的开头和结尾nHTTP常用的方法是先发送数据项的长度,然后再发送数据项。n若不知道数据项的长度,则先通知客户,然后在发送数据后关闭连接。25.3 Web性能优化p服务器端:n缓存:将经常访问的文件保存在高速缓存中,减少文件访问时间。n提高服务器的并行性:将服务器设计为多线程的,并将文档分布到多个磁盘上。n建立服务器集群系统,并使用负载均衡器进一步提高网站服务能力。n建立服务器镜像:在多个

49、相距较远的位置建立镜像服务器,复制内容。p客户端:nWeb缓存技术Web缓存pWeb缓存是将请求到的页放到缓存中,以备将来使用。p通常使用一个代理程序来维护缓存:n浏览器被配置为向代理请求网页n当缓存中没有所请求的页时,代理从服务器取回p分级缓存方案:n本地PC、局域网及ISP均运行代理,协同工作。Web分级缓存方案确定页的缓存时间p启发式方法:n根据网页的最近修改时间(响应头中的Last-Modified行)确定缓存时间。如果最近修改时间距当前时间(取网页的时间)的间隔为,则这个页可被缓存时间。p使用条件请求:n代理将客户请求的URL及缓存中该页的最后修改时间放入请求头中的If-Modified-Since行发送给服务器。若该页自给出的时间后未被修改过,服务器发回一个Not Modified消息;否则返回新的页。n该方法可与启发式方法结合起来使用,在时间内直接使用缓存的页,该时间后用使用条件请求。p由服务器指示如何进行缓存。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 劳务/用工合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号