版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章因特网基本应用概
述域名系统:DNS动态IP地址分配:DHCP万维网系统:HTTP移动Web因特网邮件系统:SMTP文件传输协议:FTP远程登录协议:TELNET9.9简单网络管理协议:SNMP概
述9.1.1因特网应用发展的三个阶段第一阶段:提供TELNET、E-mail、FTP、BBS与Usenet等基本的网络服务功能。(1)远程登录(TELNET)服务实现终端远程登录服务功能。(2)电子邮件(E-mail)服务实现电子邮件服务功能。(3)文件传输(FTP)服务实现交互式文件传输服务功能。(4)电子公告牌(BBS)服务实现网络中人与人之间交流信息的服务功能。(5)网络新闻组(Usenet)服务实现人们对所关心的问题开展专题讨论的服务功能。第二阶段:Web技术的出现,以及基于Web技术的电子政务、电子商务、远程医疗与远程教育应用的快速发展。第三阶段:P2P网络应用将因特网应用推向一个新的阶段。在基于Web应用的基础上,出现了一批基于对等结构的P2P网络新应用。9.1.2应用层协议
1.应用层协议应用层协议可以分为两种类型。(1)标准的网络应用。例如:HTTP、SMTP、FTP、TELNET、RIP、BGP、SNMP、DHCP、DNS等。协议以RFC文档的方式公布出来,提供给网络应用系统开发者使用。(2)专用的网络应用。目前很多P2P文件共享的应用层协议都属于专用协议。9.1.2应用层协议
2.运输层对应用层提供的服务运输层协议是在主机的操作系统控制下,为应用程序提供进程通信服务。表9.1和表9.2给出了UDP和TCP常用的熟知端口号和网络服务进程。9.1.2应用层协议
图9.1给出了部分客户应用进程和服务器进程交互的端口号。9.2域名系统:DNS9.2.1名字空间
1.层次型命名机制在因特网上,对提供服务的主机命名,层次型命名机制当然是一个很好的选择。因为它对名字的管理非常有利。一棵名字树可以划分成几个子树,每个子树分配一个管理机构。2.域名空间在因特网中,域名空间被划分为3个不同的部分:类属域、国家域和反向域。如图9.2所示。9.2.1名字空间
(1)类属域。类属域按照主机的类属行为来注册主机。类属域的顶级域允许有18个标号。标
号说
明标
号说
明aero航空和航天公司jobs人力资源管理者biz公司和企业mil军事机构com商业机构mobi移动产品与服务的用户和提供者cat加泰隆人的语言和文化团体museum博物馆和其他非盈利组织coop协作的企业组织name个人姓名edu教育机构net网络支持中心gov政府机构org非盈利机构info信息服务提供者pro专业个体组织int国际机构travel旅游业9.2.1名字空间
(2)国家域。顶级域下面由各个国家划分成二级域。表9.4列出了我国二级域名的分配情况。(3)反向域。反向域用于把IP地址映射为名字。当服务器收到来自客户的请求要完成某项任务时,有可能需要把地址映射为名称。9.2.1名字空间
与类属域和国家域不同,这种配置使得整个域看起来是反过来的。这种域标号的读法是从底向顶的。【例如】IP地址21应读为32.。9.2.1名字空间
图9.4列举了因特网域名结构中的一部分。9.2.1名字空间
4.注册机构新的域通过一个注册机构(即由ICANN认可的一个商业实体)注册。注册机构首先验证这个请求的域名的唯一性,然后把它录入到DNS数据库。目前存在许多注册机构,它们的名称和地址可以从以下地址获得:9.2.2域名服务器
DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。区可能等于或小于域,但一定不可能大于域。9.2.2域名服务器
图9.6给出了DNS域名服务器树状结构图。9.2.2域名服务器
1.根域名服务器在因特网上共有13个不同IP地址的根域名服务器,它们的名字是用前13个英文字母中的一个命名的,从a直到m(字母)。这些根域名服务器相应的域名分别是:a.b.m.2.顶级域名服务器(即TLD服务器)顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答。可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址。9.2.2域名服务器
3.权限域名服务器权限域名服务器是负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。4.本地域名服务器当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者(ISP),或一所大学,甚至一所大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。9.2.2域名服务器
选择网络连接→属性→Internet协议(TCP/IP),再选择“属性”,就可以看见有关DNS地址的选项。如图9.7所示。9.2.3域名解析
1.域名系统通常构成域名的各个部分(各级域名)都具有一定的含义,相对于主机的IP地址来说更容易记忆。但域名只是为用户提供了一种方便记忆的手段,主机之间不能直接使用域名进行通信,仍然要使用IP地址来完成数据的传输。如图9.8所示。9.2.3域名解析
2.TCP/IP域名解析图9.9描述了一个简单的域名解析过程。9.2.3域名解析
【例9.1】主机访问名为的主机,解析域名。(1)采用迭代解析。图9.10给出了迭代解析中客户与服务器的交互过程。9.2.3域名解析
(2)采用递归解析。图9.11给出了递归解析中客户与服务器的交互过程。9.2.3域名解析
3.高速缓存高速缓存加速了解析过程,但也可能会带来问题。若服务器把映射放入高速缓存已有很长的时间,则可能会把过时的映射发送给客户。要解决这个问题,有两种技术可以使用。(1)权限服务器总是把称为生存时间(TTL)的信息添加在映射上。(2)DNS要求每一个服务器对缓存中的每一条映射都要保持一个TTL计数器。高速缓存必须定期地搜索,并清除那些TTL到期的映射。9.2.3域名解析
4.域名解析的完整过程假如一个应用程序需要访问名字主机,其较为完整的解析过程如下。(1)域名客户首先查询本地主机的缓冲区,查看主机是否以前解析过主机名,如果是则将对应的IP地址告诉域名客户。(2)本地域名服务器首先检查与其IP地址的映射关系是否存储它的数据库中。
(3)在其他域名服务器接收到本地服务器的请求后,继续进行域名的查找与解析工作,当发现与其IP地址的对应关系时,就将该映射关系送交给提出请求的本地服务器。
本地服务器再使用从其他服务器得到的映射关系响应客户端。9.2.4DNS报文DNS有两种类型的报文:查询和响应。两种类型的报文格式相同,如图9.12所示。(a)查询报文
(b)响应报文9.2.4DNS报文查询报文和响应报文具有相同的首部格式,查询报文把某些字段置为0。首部是12字节,其格式如图9.13所示。(a)查询报文首部
(b)响应报文首部标识(16位):使响应与查询匹配。客户在每次发送查询时使用不同的标识号,服务器在相应的响应中重复这个标识号作为对应。标志(16位):包括如图9.14所示的一些子字段。9.2.4DNS报文下面简单说明一下各标志子字段。QR(1位):若为0,就是查询报文;若为1,就是响应报文。OpCode:若为0则是标准的,若为1则是反向的,若为2则是服务器状态请求。AA(3位,授权回答):若值为1,表示名字服务器是权限服务器。TC(1位,截断的):DNS可以使用UDP,也可以使用TCP。若TC值为1(置位),表示响应已超过512字节并已截断为512字节,因此就要使用TCP连接。RD(1位,要求递归):若其值为1,表示客户希望得到递归回答。它在查询报文中置位,在响应报文中重复置位。RA(1位,递归可用):当它在响应中值为1时,表示可得到递归响应。它只能在响应报文中置为1。保留(3位):目前置为000。9.2.4DNS报文rCode(4位):表示在响应中的差错状态。当然,只有权限服务器才能做出这个判断。表9.5给出了这个字段的一些可能的值。值意
义值意
义0123无差错格式差错问题在域名服务器上域参照问题456~15查询类型不支持在管理上被禁止保留9.2.5记录类型1.问题记录问题记录用于描述客户查询的信息,包含查询域名、查询类型和查询类别。格式如图9.15所示。其中:域名长度可变,格式如图9.16所示。9.2.5记录类型查询类型(16位):表9.6给出了一些常用的类型。最后两种只能用在查询中。类
型助
记
符说
明12561112131528252255ANSCNAMESOAWKSPTRHINFOMXAAAAAXFRANY地址。32位的IPv4地址。它用来把域名转换为地址名字服务器。它标记了区的权限服务器规范名称。它定义主机的正式名字的别名授权开始。它标记一个区的开始熟知服务。它定义主机提供的网络服务指针。它用来把IP地址转换为域名主机信息。它给出主机使用的硬件和操作系统邮件交换。它把邮件转发到一个邮件服务器IPv6地址请求传输完整区文件请求所有记录9.2.5记录类型查询类别(16位):定义了使用DNS的特定协议。表9.7给出了当前值。类
别助记
符说
明1234ANCSNETCSHS因特网CSNET网络(陈旧的)COAS网络由MIT开发的Hesoid服务器9.2.5记录类型2.资源记录每一个域名都与一个称为资源记录的记录相关联。服务器数据库由许多资源记录组成。同时,资源记录也是服务器向客户所返回的信息。资源记录的格式如图9.17所示。9.2.5记录类型【例9.2】找出主机“”的IP地址。讨论查询报文和响应报文。1.查询报文分析图9.18给出了解析程序发送的查询报文。其中:9.2.5记录类型(1)标识:0x1333。(2)标志:0x0100。二进制表示是0000000100000000,与子字段对应如下:QR OpCode AA TC RD RA 保留
rCode0 0000 0 0 1 0 000 0000(3)问题记录数:1。这个报文只包含了一个问题记录。(4)域名:3sun6taojin3com,表示查询域名为。(5)查询类型:值为1,由域名查IP地址。(6)查询类别:值为1,因特网。9.2.5记录类型2.响应报文分析图9.19给出了域名服务器的响应。9.2.5记录类型(1)标识:0x1333。(2)标志:0x8180。用二进制表示,它是1000000110000000,与子字段对应如下:QR OpCode AA TC RD RA 保留
rCode1 0000 0 0 1 1 000 0000(3)问题记录数:1;(4)回答记录数:1。(5)查询类型:值为1,由域名查IP地址。(6)查询类别:因特网。(7)生存时间:值为12000。表示12000秒内需要更新。(8)资源数据长度:4字节。资源数据为IP地址(05)。9.2.5记录类型【例9.3】FTP服务器收到从IP地址为的FTP客户发来的分组。FTP服务器想验证这个FTP客户是否为授权客户。1.查询报文分析图9.20给出了解析程序发送给服务器的查询报文。9.2.5记录类型(1)标志字段的值是十六进制的0x0900(0000100100000000),把它划分为以下几个子字段:QR OpCode AA TC RD RA 保留
rCode0 0001 0 0 1 0 000 0000(2)这个报文只包含一个问题记录,其中的域名是53.。(3)查询类型:值为12,由IP地址查域名。9.2.5记录类型2.响应报文分析图9.21给出了响应报文。9.2.5记录类型(1)标志字段的值是十六进制的0x8D80(1000110110000000),把它划分为以下几个子字段:QR OpCode AA TC RD RA 保留
rCode1 0001 1 0 1 1 000 0000(2)这个报文包含一个问题记录和一个回答记录。查询记录是从问题报文中复制的。在回答记录中偏移指针值0x000C。(3)查询类型:值为12,由IP地址查域名。(4)TTL为24000秒。(5)资源数据长度:10字节。资源数据是域名4mhhe3com0,它表示“”。9.3动态IP地址分配:DHCP1.网络主机需要IP地址才能上网网络主机的以下4种信息是必要的:(1)计算机的IP地址。(2)计算机的子网掩码。(3)默认网关(路由器)的IP地址。(4)域名服务器的IP地址。2.网络主机固定IP地址的问题(1)为了将软件协议做成通用的和便于移植,协议软件的编写者把协议软件参数化。通过不同的参数来描述不同的网络主机。即软件是通用的,同时又可以适应不同主机。(2)有些网络主机会在网络上移动,无法固定主机IP地址。(3)无盘工作站无法固定主机IP地址。DHCP可以在有限时间内提供一个临时的IP地址。9.3.1主机配置
1.客户和服务器在同一个网络客户和服务器在同一个网络中,如图9.22所示。9.3.1主机配置
2.客户和服务器不在同一个网络如果客户和服务器不在同一个网络上,因为客户不知道服务器的IP地址,DHCP请求是广播发送的,而本网广播的IP数据报不能通过任何路由器,路由器收到这样的分组就丢弃它。可以用某台主机(或路由器)作为中继代理,中继代理知道DHCP服务器的单播地址。如图9.23所示。9.3.1主机配置
3.DHCP配置(1)静态地址分配。DHCP有一个专门的数据库,可以静态地把物理地址绑定到IP地址。(2)动态地址分配。当DHCP客户向DHCP服务器发送请求时,服务器首先检查它的静态分配数据库。4.租用时效从地址池指派的地址都是临时地址。DHCP服务器向客户授予在某一段时间内对该地址的租用权。当租用时效过期时,客户或者停止使用这个IP地址,或者续租。9.3.2分组格式
图9.24给出了DHCP分组的格式。9.3.2分组格式
操作码(8位):定义了DHCP分组的类型。请求(1)或回答(2)。硬件类型(8位):定义了物理网络的类型。例如,以太网是1。硬件长度(8位):定义了以字节为单位的物理地址的长度。例如,以太网值是6。跳数(8位):定义分组可经历的最大跳数。事务标识(4字节):由客户设置,用来对回答和请求进行匹配。秒数(16位):指出从客户开始引导算起一共经历的秒数。标志(16位):只使用了它的最左边一位,其余位都应当置0。客户IP地址(4字节):若客户没有这个信息,则这个字段的值是0。你的IP地址(4字节):包含客户IP地址。这是服务器在客户的请求下填入的。服务器IP地址(4字节):它由服务器在回答报文中填入。9.3.2分组格式
网关IP地址(4字节):包含路由器IP地址。这是服务器在回答报文中填入的。客户硬件地址(6字节):虽然服务器可以从客户发送的帧中读取这个地址,但若由客户在请求报文中显式地提供这个地址,则更加有效。服务器名(64字节):它包含了以空字符为结尾的字符串,这个字符串由服务器的域名构成。选项(64字节):有双重作用。它可以携带附加信息(如网络掩码或默认路由器地址),也可以携带某些厂商特定的信息。如图9.25所示。9.3.2分组格式
选项的列表如表9.8所示。标
记长
度值说
明01234567891011121353128~25425544可变可变可变可变可变可变可变可变可变可变21可变子网掩码当天的时间IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址IP地址DNS名整数稍后讨论特定信息填充子网掩码时间偏移默认路由器时间服务器IEN16服务器DNS服务器Log服务器Quote服务器打印服务器ImpressRLP服务器主机名引导文件大小用于动态配置厂商相关列表结束9.3.3工作过程1.转换状态为了提供动态的地址分配,DHCP客户可以像状态机那样从一个状态转换到另一个状态,状态转换取决于收到的报文和发送的报文。在这种情况下,报文的类型是由包含在DHCP分组中的标记为53的选项来定义的。如图9.26所示。9.3.3工作过程图9.27所示为它的一些主要状态的状态转换图。在RFC和一些DHCP的实现中可能提供了更多的状态。9.3.3工作过程图9.28给出了与上面的状态转换图相关的报文交换过程。9.3.3工作过程2.提前释放在某一段时间内被指派了地址的DHCP客户,可以在租用时间到期之前释放该地址。客户可以通过发送一个DHCPRELEASE报文告诉服务器它不再需要这个地址了。3.计时器以上的讨论要求客户使用3个计时器:更新计时器、重新绑定计时器和超时计时器。9.4万维网系统:HTTP图9.29说明了万维网提供分布式服务的特点。9.4万维网系统:HTTP1.超媒体、超文本与超链接一个超文本由多个信息源链接而成,利用一个超链接可使用户找到另一个文档,而该文档又可链接到其他的文档(依次类推)。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。2.分布式的超媒体系统万维网把大量信息分布在整个因特网上。每台主机上的文档都独立进行管理。对这些文档的增加、修改、删除或重新命名都不需要(实际上也不可能)通知到因特网上成千上万的结点。3.客户/服务器方式万维网以客户/服务器方式工作。浏览器就是在用户主机上的万维网客户程序。万维网文档所驻留的主机则运行服务器程序,因此这个主机也称为万维网服务器。9.4.1基本组成
图9.30描述了万维网的基本组成部分。9.4.1基本组成
统一资源定位器(URL)是因特网上标准的资源地址,用户向浏览器地址栏输入URL请求Web服务。格式:<协议>://<主机>:<端口>/<路径>例如:/computer/zhengaq/my1.htm。使用的协议:http。服务器地址:。服务器端口号:此处省略了服务器的端口号,80作为http的默认端口号。请求文档的路径:/computer/zhengaq,表示信息服务文件所在的虚拟根目录下的computer/zhengaq目录。文档名称:my1.htm,如果省略文档文件,则一般默认为index.htm。9.4.2工作过程
(1)用户在浏览器中输入URL,确定用户要访问的网页文件在因特网上的位置。例如:/computer/zhengaq/my1.htm。(2)浏览器(DNS客户)向DNS(域名服务器)发出请求,要求把域名“”转化为对应的IP地址。(3)DNS进行查询后,向浏览器发出IP地址应答。(4)浏览器(HTTP客户)向对应IP地址指定的主机(HTTP服务器)发出与端口80建立一条TCP连接的请求。(5)浏览器向HTTP服务器请求网页文件,HTTP服务器向浏览器回送网页文件。浏览器显示网页内容。(6)关闭TCP连接。9.4.3HTTPHTTP工作于客户/服务器模式,浏览器就是客户,一个接受连接并对请求返回信息的应用程序是Web服务器。Web服务器在TCP端口80监听客户的请求。如图9.31所示。9.4.3HTTP1.请求报文请求报文的格式在图9.32中给出。9.4.3HTTP(1)请求行。方法:定义了请求类型。在HTTP版本1.1中定义了几种方法,如表9.9所示。URL:定义了相关Web网页的名称和地址。版本:给出了协议的版本。HTTP的最新版本是1.1。方
法动
作方
法动
作GETHEADPOSTPUT请求服务器的文档请求关于文档的信息,但不是这个文档本身从客户向服务器发送一些信息从服务器向客户发送文档TRACECONNECTDELETEOPTIONS把到达的请求回送保留删除Web网页询问关于可用的选项9.4.3HTTP(2)首部行。表9.10给出了请求报文中一些常用的首部名。首部值字段定义了与首部名相关联的值。首部值的完整列表可以在相应的RFC中找到。方
法动
作方
法动
作User-agentAcceptAccept-charsetAccept-encodingAccept-languageAuthorization标志客户程序给出客户能够接受的媒体格式给出客户能够处理的字符集给出客户能够处理的编码方案给出客户能够接受的语言给出客户具有何种准许HostDateUpgradeCookieIf-Modified-Since给出客户的主机和端口号给出当前日期指明优先使用的通信协议把Cookie回送给服务器只有在指明日期以后更新的文档才被发送(3)请求报文实体。实体可以出现在请求报文中。请求报文中的实体部分通常是一些需要发送的备注信息。9.4.3HTTP2.响应报文响应报文的格式如图9.33所示。9.4.3HTTP(1)状态行。版本:HTTP协议的版本(目前是1.1版)。状态码:定义了请求的状态。它由3个数字组成。其中:1XX代码指示提供信息;2XX代码则指示成功的请求;3XX代码是把客户重新定向到另一个URL;4XX代码指示在客户端的差错;5XX代码指示在服务器端的差错。表9.11列出了最常用的一些状态码和状态短语。9.4.3HTTP(2)首部行。在状态行之后,可以有0到多个响应首部行。每个首部行从服务器向客户发送附加信息。例如,服务器可以发送有关文档的额外信息。每个首部行可以由一个首部名、一个冒号、一个空格和一个首部值组成。表9.12列出了响应报文中一些常见的首部名。首
部描
述首
部描
述DateUpgradeServerSet-CookieContent-EncodingContent-Language给出当前日期指明优先使用的通信协议给出服务器的相关信息服务器请求客户保存Cookie指明编码方案指明语言Content-LengthContent-TypeLocationAccept-RangesLast-modified给出文档长度指明媒体类型请求客户将请求发送到另一站点服务器将接受请求的字节范围给出上次改变的日期和时间(3)主体。主体包含从服务器向客户发送的文档。如果响应不是错误报文,则主体将出现在响应报文中。9.4.3HTTP【例9.4】在URL指定的位置显示my1.htm网页。网页在浏览器中的显示如图9.34所示。9.4.3HTTP网页HTML文件
my1.htm的代码如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><p><imgborder="0"src="mytop.jpg"width="457"height="108"></p><p><fontsize="4"color="#0000FF"><b> </b> 郑阿奇主编
电子工业出版社出版</font></p><p><fontsize="4"color="#008000"> 内容包含目前最流行的编程语言、开发平台、数据库,</p><p>网络提供课件、实例、数据库、综合应用源文件...</font></body></html>9.4.3HTTP(1)第1请求报文:读取html文档my1.htm。GET/usr/bin/my1.htmHTTP/1.1Accept:text/html(2)Web服务器响应报文。HTTP/1.1200OKDate:Suaday,23-jul-1215:18:03GMTServer:ChallengerMIME-Version:1.0Content-type:text/htmlLast-modified:Thursday.02.jun.11.20:12:12GMTContent-length:541
<HTML><HEAD><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><p></body></html>…9.4.3HTTP(3)第2请求报文:读取jpeg图像文档mytop.jpg。GET/usr/bin/mytop.jpgHTTP/1.1Accept:image/gifAccept:image/jpeg(4)Web服务器响应报文。包含状态行和4行首部。这些首部行定义日期、服务器、MIME版本和文档长度。文档的主体在首部之后。HTTP/1.1200OKData:Suaday,23-jul-1215:18:03GMTServer:ChallengerMIME-Version:1.0Content-type:text/htmlContent-length:11382
(图像数据编码)9.4.3HTTP【例9.5】客户向服务器发送输入信息数据。HTTP请求和响应报文如图9.35所示。9.4.4持续连接
1.非持续连接例如,浏览器获得my1.htm网页文件非持续连接的情况如图9.36所示。9.4.4持续连接
2.持续连接HTTP版本1.1中持续连接是默认的策略。在使用持续连接时,服务器在发送响应后,连接继续打开以服务更多的请求。例如,浏览器获得my1.htm网页文件持续连接的情况如图9.37所示。9.4.5Cookie1.Cookie实现机制(1)当服务器收到来自客户的请求后,它就把有关客户的信息存储在一个文件或字符串中。(2)服务器向客户发送的响应包含这个Cookie。(3)当客户收到响应时,浏览器把这个Cookie存储在自己的Cookie目录中,它是按域名服务器的名字来分类的。2.Cookie的使用当一个客户向服务器发送请求时,浏览器就查找在Cookie目录中是否有那个服务器发送的Cookie。9.4.5Cookie【例9.6】一个购物者想要从一家叫BestToys的电子商店购买一个玩具。购物过程如图9.38所示。9.4.6动态万维网文档1.静态文档静态文档是指在文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。由于这种文档的内容不会改变,因此用户对静态文档的每次读取所得到的返回结果都是相同的。2.动态文档动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。当浏览器请求到达时,万维网服务器要运行另一个应用程序,并把控制转移到此应用程序。9.4.6动态万维网文档CGI应用程序与Web服务器的关系如图9.39所示。9.4.6动态万维网文档3.活动文档程序在客户端运行称为活动文档。【例如】设想在屏幕上产生需要进行交互的动画图形程序,这个程序应当在客户端运行。该程序存放在Web服务器上,当浏览器请求活动文档时,服务器就发送这个文档的一个副本或脚本,然后这个文档就在客户(浏览器)端运行。9.4.7代理服务器1.没有代理服务器在一个网络(例如校园网)中,许多用户可能经常浏览相同的网页,Web服务器到这网络的连接非常繁忙,用户经常不能得到及时响应,而且传输的信息大多相同。如图9.41所示。9.4.7代理服务器2.使用代理服务器(1)浏览器访问因特网的服务器时,要先与校园网的高速缓存建立TCP连接,并向高速缓存发出HTTP请求报文。(2)若高速缓存已经存放了所请求的对象,则将此对象放入HTTP响应报文中返回给浏览器。否则执行(3)。(3)高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立
TCP连接,并发送HTTP请求报文。(4)源点服务器将所请求的对象放在HTTP响应报文中返回给校园网的高速缓存。(5)高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在HTTP响应报文中,通过已建立的TCP连接,返回给请求该对象的浏览器。9.4.7代理服务器通过图9.42可以了解代理服务器的工作过程。9.5移动Web1.WAP1.0在本质上,WAP是一个专门针对Web访问的协议栈,由于移动无线设备的限制,导致一些协议的差异。图9.43显示了WAP的协议层。9.5移动WebWAE层使用了一种称为WML(无线标记语言)的语言,它是XML的一个应用。在原则上,一个WAP设备只能访问那些已经被转换为WML的页面。这极大地限制了WAP的价值,因为这种体系结构要求有一个很好的过滤器将HTML动态地转换为WML,以增加可被WAP设备访问的页面数量。图9.44展示了这种体系结构。9.5移动Web2.WAP2.0WAP2.0继续支持WAP1.0老的协议栈,也支持标准的、包含TCP和HTTP/1.1在内的Internet协议栈。它对TCP做了修改,以便简化代码,但仍与原来的TCP兼容。如图9.45所示。9.5移动WebXHTMLBasic被分成11个模块。有些是必需的,而有些是可选的。所有的模块都以XML定义。表9.13列出了一些模块和标签的例子。模
块需
要
否功
能标签实例Structure是文档结构body,head,html,titleText是信息br,code,dfn,em,hn,kbd,p,strongHypertext是超链接aList是明细表dl,dt,dd,oI,ul,liForms否填入表单form,input,label,option,textareaTables否矩形表格caption,table,td,th,trImage否图像imgObject否Java小程序、地图等object,paramMeta-information否额外的信息metaLink否类似于<a>linkBase否URL起始点base9.6因特网邮件系统:SMTP9.6.1电子邮件系统
1.用户代理(UA)用户代理是电子邮件客户端软件。用户代理向用户提供一个很友好的接口来发送和接收邮件。用户代理功能包括给用户提供编辑信件、发送和接收邮件、显示来信的内容、处理邮件(例如删除、存盘、打印、转发等)。2.邮件服务器邮件服务器的功能是发送和接收邮件,同时还要向发件人报告邮件传输的结果(已交付、被拒绝、丢失等)。邮件服务器按照客户/服务器方式工作。3.邮件发送协议和邮件读取协议邮件交付分成3个阶段,第一和第二阶段使用邮件发送协议SMTP,第三阶段使用邮件读取协议。9.6.1电子邮件系统
4.发送和接收电子邮件的步骤图9.46给出了PC之间发送和接收电子邮件的几个重要步骤。9.6.1电子邮件系统
5.信封和报文要发送邮件,用户通过UA创建邮件,它看起来很像邮政邮件。【例如】2012年5月22日孙小宇给电子教材部写信,希望得到易睿得编著的计算机网络的样书。发件人:孙小宇(sunxiaoyu)收件人:电子教材部(phei.books)主题:希望得到样书(getnetworks)内容:教材部:我是南京高校的一名教师,上计算机网络课,希望得到贵出版社出版的易睿得编著的计算机网络书作为参考。谢谢!.9.6.1电子邮件系统
6.邮件地址(EMAIL)为了交付邮件,邮件处理系统必须使用唯一的编址系统。因特网的邮件地址包括两个部分:本地部分和域名,并且用符号@分隔开(见图9.47所示)。9.6.2报文传输协议:SMTP1.命令命令是从客户发送到服务器。命令的格式如下所示。命令:变量命令包括关键词,后面跟着0个或多个变量。SMTP定义了14个命令。这些命令在表9.14中列出,更详细的描述见下文。关
键
词变
量关
键
词变
量HELOMAILFROMRCPTTODATAQUITRSETVRFY发送方的主机名发件人预期的收件人邮件的主体收件人名字NOOPTURNEXPNHELPSENDFROMSMOLFROMSMALFROM邮件发送清单命令名预期的收件人预期的收件人预期的收件人9.6.2报文传输协议:SMTP2.响应响应是从服务器发送到客户。响应是3位十进制数字,后面可以跟着附加的文本信息。表9.15列出了一些常用响应。代
码说
明正面完成回答211214220221250251系统状态或求助回答求助报文服务就绪服务关闭传输信道请求命令完成用户不是本地的;报文将被转发正面中间回答354421450451452开始邮件输入服务不可用邮箱不可用命令异常终止:本地差错命令异常终止:存储器不足永久负面完成回答500501502503504550551552553554语法差错;不能识别的命令语法的参数或变量差错命令未实现命令序列不正确命令暂时未实现命令未执行;邮箱不可用用户非本地的所请求的动作异常终止;存储位置超过所请求的动作未发生:邮箱名不允许用事务失败9.6.3邮件传输邮件传输在前面的两个阶段,如图9.48所示。9.6.3邮件传输1.连接建立当客户与熟知端口25建立了TCP连接后,SMTP服务器(又称MTA服务器)就开始它的连接阶段。这个阶段包括以下3个步骤,如图9.49所示。9.6.3邮件传输2.报文传输在SMTP客户与服务器之间建立连接后,发件人就可以与一个或多个收件人交换单个的报文了。这个阶段包括8个步骤。9.6.3邮件传输3.连接终止在报文传输成功后,客户就终止连接。这个阶段包括两个步骤(见图9.51)。9.6.3邮件传输【例9.7】使用TELNET登录到端口25(SMTP的熟知端口),然后直接使用命令发送电子邮件。forouzanb@给自己发送电子邮件。$telnet25Trying00...connectedto(00).前几行表示TELNET试图连接到邮件服务器。9.6.3邮件传输在连接后,可以输入SMTP命令,然后收到如下响应。=====================连接建立=============220SMTPserverreadyFfi,6Aug2004HELO250========================信封===================MAILFROM:forouzanb@250Sender<forouzanb@>OkRCPTTO:forouzanb@250Receipient<forouzanb@>Ok======================首部和主体=============DATA354OkSenddataendingwith<CRLF>.<CRLF>From:ForouzanTo:Forouzan
ThisisatestmessagetoshowSMTPinaction..======================连接关闭================250Messagereceived:@QUIT221SMTPserverclosingconnectionConnectionclosedbyforeignhost.9.6.4报文读取:POP和IMAP目前共有两种报文读取协议:邮局协议版本3(POP3)和因特网邮件读取协议版本4(IMAP4)。如图9.52所示。9.6.4报文读取:POP和IMAP1.POP3当用户需要从邮件服务器的邮箱中下载电子邮件时,客户就开始读取邮件。客户(用户代理)在TCP端口110打开到服务器的连接。然后它发送用户名和口令,访问邮箱。用户可以列出清单,并逐个读取邮件报文。图9.53给出了使用POP3进行下载的例子。9.6.4报文读取:POP和IMAP2.IMAP4IMAP4还提供了以下一些功能:(1)用户在下载邮件之前可以检查邮件的首部。(2)用户在下载邮件之前可以用特定的字符串搜索电子邮件的内容。(3)用户可以部分下载电子邮件。如果在电子邮件中包含高带宽需求的多媒体信息,而且带宽又受到限制,那么IMAP4就特别有用。(4)用户可以在邮件服务器上创建、删除邮箱,或对邮箱更名。(5)为了存放电子邮件,用户可以在文件夹中创建分层次的邮箱。9.6.5多用途因特网邮件扩充:MIME多用途因特网邮件扩充(MIME)是一个辅助协议,它允许非ASCII数据能够通过电子邮件传输。MIME在发送方把非ASCII数据转换为NVTASCII数据,并把它交付给客户MTA,通过因特网发送出去。在接收方再将报文转换为原来的数据。如图9.54所示。9.6.5多用途因特网邮件扩充:MIME1.MIME-Version:MIME版本这个首部定义MIME使用的版本,当前的版本是1.1。2.Content-Type:内容类型这个首部定义报文主体使用的数据类型。内容类型和内容子类型用斜线分隔开。根据子类型的不同,首部还可包含其他一些参数。MIME允许7种不同的数据类型,这些都列举在表9.16中。类
型子
类
型说
明text(正文)multipart(多部分)message(报文)image(图像)video(视频)audio(音频)application(应用)plain(纯文字)htmlmixed(混合)parallel(并行)digest(摘要)alternative(交替)RFC822partial(部分)external-body(外部主体)jpeggifmpegbasic(基本)postScriptoctet-stream(八位组流)无格式的正文HTML格式主体包含不同数据类型的有序部分主体包含不同数据类型,但无序与“混合”相似,但默认的是message/RFC822几个部分是同一个报文的不同版本主体是被封装的报文主体是更大报文的分片主体是到另一个报文的索引JPEG格式的图像GIF格式的图像MPEG格式的视频信号8kHz的单声道语音编码AdobePostScript一般的二进制数据(8位字节)9.6.5多用途因特网邮件扩充:MIME3.Cotent-Transfer-Encoding:内容传输编码这个首部定义把报文编码为便于传输的0和1的方法:Content-Transfer-Encoding:<type>表9.17列举了5种类型的编码。类
型说
明7bit8bitbinarybase64quoted-printableNVTASCII字符和短行非ASCII字符和短行ASCII字符和长度不限的行6位数据块被编码成8位ASCII字符非ASCII字符被编码成等号后面跟随一个ASCII码9.6.5多用途因特网邮件扩充:MIME8bit:这是8位编码。非ASCII字符可以发送,但行的长度仍不能超过1000字符。binary:这是8位编码。非ASCII字符可以发送,且行的长度可以超过1000字符。base64:当要发送的数据是由字节组成且最高位不一定是0时,Base64把这种类型的数据转换为可打印字符,然后就可以作为ASCII字符或底层邮件传输机制支持的任何类型的字符集发送出去。9.6.5多用途因特网邮件扩充:MIMEbase64把二进制数据(由比特流组成)划分为24比特的块。每一块再分为4个部分,每部分由6比特组成(如图9.55所示)。编码开销为25%。9.6.5多用途因特网邮件扩充:MIME每一个6比特部分按照表9.18被解释为一个字符。值代码值代码值代码值代码值代码值代码012345678910ABCDEFGHIJK1112131415161718192021LMNOPQRSTUV2223242526272829303132WXYZabcdefg3334353637383940414243hijklmnopqr4445464748495051525354stuvwxyz0125556575859606162633456789+/9.6.5多用途因特网邮件扩充:MIMEquoted-printable:若字符是ASCII,则按原样发送。若字符是非ASCII,则用3个字符发送出。第一个字符是等号(=),后两个字符是用十六进制表示的字节。图9.56给出了例子。9.6.5多用途因特网邮件扩充:MIME4.Content-Id:内容标识这个首部在多报文环境中唯一地标志整个报文。5.Content-Description:内容描述这个首部定义主体是否为图像、音频或视频。9.6.5多用途因特网邮件扩充:MIME【例9.8】一个MIME邮件包含有一个简单解释的文本和含有非文本信息的照片。邮件中第一部分的注解说明第二部分含有一张照片。From:xysun@To:books@MIME-Version:1.0Content-Type:multipart/mixed;boundary=mypart
--mypart教材部:
我是南京高校一名教师,上计算机网络课,希望得到贵出版社出版的易睿得编著的计算机网络书作为参考。谢谢!
--mypartContent-Type:image/gifContent-Transfer-Encoding:base64(教材封面图像数据)--mypart--9.6.6基于万维网的邮件
两个万维网服务器之间仍然要通过SMTP进行传输。发件人这边的HTTP服务器把报文传给SMTP客户,然后使用SMTP协议将它发送到接收人这边的SMTP服务器,SMTP服务器传给HTTP服务器。如图9.57所示。9.7文件传输协议:FTPFTP使用两个熟知TCP端口:端口21用做控制连接,而端口20用于数据连接。
图9.58给出了FTP的基本模型。9.7.1创建连接
1.控制连接创建控制连接的步骤如下:(1)服务器在熟知端口21发出被动打开命令,等待客户。(2)客户使用临时端口发出主动打开命令。2.数据连接数据连接使用服务器端的熟知端口20。创建一条数据连接的步骤如下:(1)客户(而不是服务器)使用一个临时端口发出被动打开命令。客户使用PORT命令把这个端口号发送给服务器。(2)服务器收到这个端口号,并使用熟知端口20和收到的临时端口号发出主动打开命令。9.7.2通信1.在控制连接上的通信FTP使用NVTASCII字符集在控制连接上通信。因为一次发送一条命令(响应)。每一条命令或响应都是一个短行,每一行的结束处是两个字符(回车和换行)的行结束记号。2.在数据连接上的通信在数据连接上传输数据之前,异构性问题可以由定义3个通信属性来解决:(1)文件类型。(2)数据结构。(3)传输方式。9.7.3命令处理FTP使用控制连接在客户进程和服务器进程之间建立通信。在通信时,从客户向服务器发送命令,而响应从服务器发回到客户(如图9.59所示)。9.7.3命令处理1.命令由FTP客户控制进程发送的命令形式是ASCII大写字符,后面的变量可以有,也可以没有。命令粗略地划分为6组:(1)接入命令:使用户能够接入到远程系统。表9.19列举了这个组的常用命令。命
令变
量说
明USERPASSACCTREINQUITABOR用户标识符用户口令应付费的账务用户信息口令账务信息重新初始化从系统注销前面的命令异常终止9.7.3命令处理(2)文件管理命令:使用户接入到远程计算机的文件系统。允许用户使用目录结构、创建新的目录、删除文件,等等。表9.20给出了这个组的常用命令。命
令变
量说
明CWDCDUPDELELISTNLISTMKDPWDRMDRNFRRNTOSMNT目录名文件名目录名目录名目录名目录名文件名(旧文件名)文件名(新文件名)文件系统名改变到另一个目录改变到父目录删除文件列出子目录或文件列出子目录名或无其他属性的文件创建新目录显示当前目录名删除目录标志要重新命名的文件重新命名文件安装文件系统9.7.3命令处理(3)数据格式化命令:使用户定义数据结构、文件类型以及传输方式。所定义的格式可由文件传输命令来使用。表9.21给出了这个组的常用命令。命
令变
量说
明TYPESTRUMODEA(ASCII),E(EBCDIC),I(图像)N(非打印),或T(TELNET)F(文件),R(记录),或P(页面)S(流),B(块),或C(压缩)定义文件类型定义数据的组织定义传输方式9.7.3命令处理(4)端口定义命令:定义在客户端的数据连接的端口号。有两种方法:第一种方法是使用PORT命令,客户可选择一个临时端口号,并使用被动打开把它发送给服务器。服务器就使用这个端口号创建主动打开。第二种方法是使用PASV命令,客户仅要求服务器先选择一个端口号。服务器在那个端口进行被动打开,并在响应中发送端口号(编号为227的响应)。客户使用这个端口号发出主动打开。表9.22给出了这个组的常用命令。命
令变
量说
明PORTPASV6个数字的标识符客户选择端口服务器选择端口9.7.3命令处理(5)文件传输命令:让用户传输文件。表9.23给出了这个组的常用命令。命
令变
量说
明RETRSTORAPPESTOUALLORESTSTAT文件名文件名文件名文件名文件名文件名文件名读取文件;文件从服务器传输到客户存储文件;文件从客户传输到服务器与STOR相似,但是若文件存在就必须把数据添加在文件尾部与STOR相同,但是文件名在目录中必须唯一在服务器上为文件分配存储空间在指明的数据点给文件标记确定位置返回文件的状态9.7.3命令处理(6)杂项命令:把信息交付给客户端的FTP用户。表9.24给出了这个组的常用命令。命
令变
量说
明HELPNOOPSITESYST命令询问关于服务器的信息检查服务器是否工作指明特定场所的命令询问服务器使用的操作系统9.7.3命令处理2.响应(1)第一个数字(x)定义命令的状态。在这个位置上可以使用5组数字之一。(2)第二个数字(y)定义命令的状态。在这个位置上可以使用6组数字中的一个:x0z(语法)、x1z(信息)、x2z(连接)、x3z(鉴别和账号)、x4z(未指明)和x5z(文件系统)。(3)第三个数字(z)提供附加信息。表9.25给出了可能的响应的简短列表。9.7.4文件传输FTP的文件传输如图9.60所示。9.7.4文件传输使用FTP读取目录中的项目列表,如图9.61所示。9.7.4文件传输【例9.9】使用FTP读取目录中的项目列表。$ftpConnectedto220(vsFTPd1.2.1)530PleaseloginwithUSERandPASS.Name(:forouzan):forouzan331Pleasespecifythepassword.Password:230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftp>LISTreports227EnteringPassiveMode(153,18,17,238,169)150Herecomesthedirectorylisting.drwxr-xr-x23027411 4096Sep242002businessdrwxr-xr-x23027411 4096Sep242002personaldrwxr-xr-x23027411 4096Sep242002school226DirectorysendOK.ftp>QUIT221Goodbye.9.7.4文件传输【例9.10】FTP存储图像(二进制)文件。FTP存储图像(二进制)文件如图9.62所示。9.7.5匿名FTP【例9.11】
在上得到某些公用数据。%ftpConnectedto220ServerreadyName:anonymous331GuestloginOK,send"guest"aspasswordPassword:guestftp>PWD257'/'iscurrentdirectoryftp>LIST200OK150OpeningASCIImodebin.........ftp>CLOSE221Goodbyeftp>QUIT9.7.6简单文件传输协议:TFTPTFTP共有5种类型的报文,如图9.63所示。9.7.6简单文件传输协议:TFTP1.连接建立(1)要建立读的连接,TFTP客户发送RRQ报文。文件名和传输方式都定义在这个报文中。若服务器能传输这个文件,它就正面响应DATA报文,并包含第一个数据块;若有问题,如打开有困难或受限制不准许打开,则服务器发送ERROR报文作为负面响应。(2)要建立写的连接,TFTP客户发送WRQ报文。文件名和传输方式都定义在这个报文中。若服务器能接受该文件的副本,则发送ACK报文作为正面响应,使用的块号为0;若有问题,则服务器发送ERROR报文作为负面响应。2.连接终止在整个文件传输完后,必须终止连接。TFTP并没有使用特殊报文作为终止。终止就是用发送最后的数据块(即必须小于512字节)来完成的。9.7.6简单文件传输协议:TFTP3.数据传输数据传输阶段是在连接建立和连接终止之间发生的。因为使用UDP服务,TFTP将文件划分为若干个数据块,除最后一块外,每一块都是准确的512字节。最后一块必须在0~511字节之间。4.流量控制TFTP使用DATA报文发送数据块,并等待ACK报文。若在超时之前发送端就收到了确认,它就发送下一个块。这样,实现流量控制的方法是给数据块编号和在发送下一个数据块之前等待ACK。9.7.6简单文件传输协议:TFTP5.差错控制差错控制在4种情况下是需要的:(1)若数据块受到损伤,接收端丢弃这个数据块。发送端等待确认,但在超时期间内不会收到确认。这个数据块将再发送一次。(2)若数据块丢失了,它就永远不能到达接收端,而确认也不会发送出去。在超时之后发送端重新发送这个数据块。(3)若确认丢失了,则可能发生两种情况。若接收端的计时器比发送端的计时器先到期,则接收端重传确认;否则,发送端重传这个数据。(4)接收端通过块号可检测出数据块的丢失。若数据块重复了,接收端就简单地将其丢弃。9.7.6简单文件传输协议:TFTP因为在TFTP客户和TFTP服务器之间的通信可能持续很长的时间。若TFTP服务器使用熟知端口69和客户进行长时间的通信,那么在这段时间内就没有其他客户能够使用这样的服务。解决这个问题的方法是使用熟知端口进行初始连接,但对剩下的通信则使用临时端口(如图9.64所示)。9.7.6简单文件传输协议:TFTP【例9.12】
客户打算读取名叫filel的2000字节的文件内容。在图9.65中给出了TFTP的例子。9.8远程登录协议:TELNET9.8.1网络虚拟终端:NVT为了适应这种差异,TELNET定义了数据和命令应怎样通过因特网。这些定义就是所谓的网络虚拟终端(NVT,NetworkVirtualTerminal)。图9.66说明了NVT的概念。9.8.2远程登录原理
当用户使用远程机器上的应用程序或实用程序时,需要进行远程登录,如图9.67所示。9.8.3数据字符和控制字符NVT的格式定义很简单,所有的通信都使用一个字节(8位),高位为0表示NVT数据,高位置1时表示NVT控制命令。如图9.68所示。1.数据字符对于数据,NVT通常使用称为NVTASCII的字符集。这个8位字符集中的7个最低位和USASCII相同,但最高位是0。9.8.3数据字符和控制字符2.控制字符NVT控制字符也使用了8位字符集,其最高位置为1。表9.26列举了一些控制字符及其含义。字
符十
进
制二
进
制意
义EOFEORSENOPDMBRKIPAOAYTECELGASBWILLWONTDODON’TIAC236239240241242243244245246247248249250251252253254255111011001110111111110000111100011111001011110011111101001111010111110110111101111111100011111001111110101111101111111100111111011111111011111111文件结束(Endoffile)记录结束(Endofrecord)子选项结束(Suboptionend)无操作(Nooperation)数据标记(Datamark)断开(Break)中断进程(Interruptprocess)异常终止输出(Abortoutput)对方是否还在运行?(Areyouthere)擦除字符(Erasecharacter)擦除行(Eraseline)前进(Goahead)子选项开始(Suboptionbegin)同意使用选项拒绝使用选项认可选项请求拒绝选项请求解释(下一个字符)为控制(Interpretascontrol)9.8.3数据字符和控制字符3.NVT字符传输TELNET仅使用一条TCP连接。服务器使用熟知端口23,客户使用临时端口。数据字符和控制字符的发送使用同一条连接。TELNET是通过把控制字符嵌入到数据流中来做到这一点的。【例9.13】用户希望显示远程服务器上的文件(my1.c),但输入了以下内容:catmy1.a其中cat是UNIX命令,用于在屏幕上显示该文件的内容。但是,这个文件的名字输错了(输入了my1.a)。用户使用回退键进行改正:catmy1.a<backspace>c9.8.3数据字符和控制字符在TELNET的默认实现中,用户不能在本地进行编辑,编辑工作是在远程服务器上完成的。回退字符被转换为两个控制字符(IACEC),它嵌入到数据中,并被发送到远程服务器。图9.69所示为发送给服务器的内容。9.8.3数据字符和控制字符【例9.14】
通过TELNET得到的网页文件。$telnet80Trying04connectedto(04)Escapecharacteris’^]’GET/engcs/compsci/forouzanHTTP/1.1From:forouzanbehrouz@
HTTP/1.1200OKDate:Thu,28Oct200416:27:46GMTServer:Apache/1.3.9(UNIX)
ApacheJServ/1.1.2PHP/4.1.2PHP/3.0.18MIME-version:1.0Content-Type:text/htmlLast-modified:Friday,15-Oct-0402:11:31GMTContent-length:14230
Connectionclosedbyforeignhost9.9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公共设施窗帘清洗消毒服务合同范本3篇
- 2024版汽车检测台租赁合同
- 2024石材外墙干挂劳务服务合同标准版6篇
- 2025年度特色饮品店门面房租赁及新品研发合同3篇
- 2025年度圆形冷却塔能源管理服务合同4篇
- 2024版基础建设融资借款协议模板版
- 2025年度水电工程质保期服务合同4篇
- 2025年度学校图书馆窗帘升级改造合同4篇
- 2025年度生态修复工程承包树木合同协议书4篇
- 2024石材行业品牌推广与营销合同3篇
- 领导沟通的艺术
- 发生用药错误应急预案
- 南浔至临安公路(南浔至练市段)公路工程环境影响报告
- 绿色贷款培训课件
- 大学生预征对象登记表(样表)
- 主管部门审核意见三篇
- 初中数学校本教材(完整版)
- 父母教育方式对幼儿社会性发展影响的研究
- 新课标人教版数学三年级上册第八单元《分数的初步认识》教材解读
- (人教版2019)数学必修第一册 第三章 函数的概念与性质 复习课件
- 重庆市铜梁区2024届数学八上期末检测试题含解析
评论
0/150
提交评论