《计算机网络技术基础》课件第7章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机网络技术基础》课件第7章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络技术基础 计算机网络技术 基础 课件
- 资源描述:
-
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的数
展开阅读全文