1第四章计算机网络中的高层应用掌握C/S模式和B/S模式熟练掌握常用的网络高层服务:、Telnet、FTP、EMAIL、DNS等了解其它网络应用:BBS、IP电话、VOD等2网络的应用层是计算机开放互连环境与本地的操作系统环境直接接口的一个层次。在功能上,应用层为本地系统的应用进程访问OSI环境提供手段,也是唯一直接给应用进程提供各种应用服务的层次。应用层以下的各层则可看成是应用服务的基础设施,它们通过应用层间接地向应用进程提供服务,因而应用层向应用进程提供的服务是所有层所提供服务的总和。设置应用层的目的是为了向网络用户提供一个更方便、更有效的网络应用环境。应用层的所有内容围绕着各种高层服务和与之相应的高层应用软件展开,介绍它们的原理、接口、所有的技术和软件的结构。网络的应用可以是自己开发的应用程序,更多的是网络操作系统提供的一些标准应用。引言34-1-1客户/服务器模型应用系统的计算机模型的演变的几个阶段:主机计算模型、离散个人计算模型网络/文件服务器计算模型客户/服务器模型:客户:提供服务请求服务器:提供服务客户服务器TCP/IP网络请求请求响应响应4-1网络应用服务平台及应用规划4客户/服务器模型服务器:指的是在网络上可提供服务的任何程序,一般以并发服务器的方式实现,这样服务器可以很好的处理网络上客户随机、并发的请求。客户:指的是向服务器发起请求并等待响应的程序。在客户/服务器模型中,客户与服务器处于不平等的地位,服务器拥有客户所不具备的硬件、软件资源和运算能力。54-1-2网络应用服务平台计算机网络设施:包括物理介质、网络连接设备、网络拓扑结构、网络技术等。支持TCP/IP协议的网络操作系统:安装在运行服务器程序的计算机上,控制网络上的通信和网络用户的访问。网络互联不仅要求各种设备进行物理连接,而且要求彼此能够正确可靠的通信。各种操作系统支持网络互连,首先必须有共同的“语言”——协议。互连网中使用最多的协议为TCP/IP。可选用的操作系统有:NetWare、WindowsNT、UNIX(Linux)等。网卡中实现低层协议;(物理层和链路层协议的一部分或全部)网络层和运输层协议一般在操作系统内核中实现;(网络层与链路层协议的接口通过操作系统对网卡的驱动程序来实现)在TCP之上的应用层协议使用TCP/IP协议提供的系统调用,应用程序与操作系统中通信协议之间的接口称为应用程序接口API。6提供服务的服务器程序:网络应用服务的提供者就是服务器程序。如NT中的IIS(InternetInformationServer),为用户提供、FTP等服务。运行服务器程序的计算机应用档次:PC服务器、工作站、小型机、大型机;品牌:HP、SUN、IBM、联想、浪潮等。硬件厂商将硬件平台与软件平台捆绑销售。网络应用规划DNS是基础。、EMAIL、FTP应用是最基本的应用。BBS、网络电话、视频会议等网络通信应用。网络的应用规划影响着网络的建设规划。7高层应用在TCP/IP协议族中的构筑结构硬件SMTPDNSFTPTelnetTCPUDPIP(加IGMP和ICMP)ARPRARP硬件协议(LLC和MAC)应用程序用户8ICMP协议(InternetControlMessagesProtocol)ICMP协议是IP协议中一个不可缺少的组成部分,通常用于由路由问题而引起的差错报告和控制。IGMP协议(Internetgroupmanagementprotocol)多播网关与参与多播传送的主机之间交换信息的协议称为“Internet组管理协议”9104-2域名系统(DNS,DomainNameSystem)域名系统:几乎所有的高层应用都要使用域名系统。域名系统采用层次型的名字来对网络上的计算机赋予一个直观的字符标识,其结构为:主机名+它所在的域名(hostname+domain)。DNS中一个主机的完整命名(全称域名)是从主机到所有子域,最后是根,中间用“.”隔开,如dns.hzrtvu.edu.cn表示在hzrtvu.edu.cn域下一台叫dns的主机。DNS中根的名字以空字符串“”表示,但在文本中以“.”来书写。UNIX中的一个文件表示是从根到所有相对子目录,最后是文件名,中间用“/”隔开,如/export/home/ywh/foo。UNIX文件系统中,根是以反斜杠“/”表示。域的标号是由一个简单的字符串表示(不可带点),只能包括:26个英文字母、10个数字和英文中的连词号“-”。每个标号最长63个字符,路径全名不能超过255个字符,域名对大小写不敏感。域名是个逻辑概念,不必与物理地点相一致。4-2-1域的分层及表示11最高层域:标号约定俗成,分成两大类---组织的和地理的。美国的组织基本都处于按组织划分的一般的域下,有com、edu、gov、mil、net、org、int七个子域;非美国的组织列在它们所在国家的域名下,如Cn、Jp等。Cn域下采用类别域名和行政区域名两套。最高层域子域子域根rooteducomgovnetuscn主机hzrtvueduMotorolasun域名解析系统:是一个高效、可靠的、通用、分布式的用于名字到地址的映射的系统。域名解析系统采用客户/服务器模式。客户端是解析器程序,查询名字服务器,解释从服务器传回的响应,将信息返回给请求端。服务器端是名字服务器(储存有关域名空间信息的程序或是主机),保存着部分域名空间(区)的完整信息,也称名字服务器对该区具有权限。从概念上讲,域名解析是从根节点开始的,自顶而下。给定一个域名,父节点能从子节点中找出适当的节点来解析该域名。一个真正的服务器实现结构树比概念树要矮。根服务器包含了根和最高层域的信息,每个叶节点对应一个子域,解析to.cs.yale.edu最多需要访问两个服务器。(根服务器和yale.edu域服务器)4-2-2域名解析系统13域名解析算法:反复解析和递归解析Client端的解析器程序形成查询报文(UDP分组)传送到本地的DNS服务器。服务器检查待查的域名是否属于它授权管理的子域范围,是则根据自己数据库解析出地址发回客户端;不是,则根据查询报文所指的解析方式进行。•若是递归解析,则服务器和能解析该地址的服务器联系,解析出地址后将结果发回客户端。•若是反复解析,则服务器就不能提供解析结果,但返回给客户端的是应联系的下一个名字服务器,进行下一轮解析。降低非本地域名解析的开销的方法是引入“缓存技术”。在名字服务器中存放最近解析过的域名和相应的地址,用于非本地域名的解析。利用缓存信息,可以直接得到解析结果或者可以缩短查询过程。14反向域名解析在域名空间中,专门有一名为in-addr.arpa的域,该域有四层子域,每层有256个节点,分别用0-255十进制数标记,对应以点分十进制形式的IP地址。原则上通过对in-addr.arpa域的穷尽搜索,可以对任何一台具有域名记录的地址反解得其域名。事实上,名字服务器只搜索其所有得本地数据,当它不能找到时,就会放弃,不会再去查询别的名字服务器。154-2-3域名服务的使用(Client端的解析器)UNIX系统中的配置SUNOS5.7中,控制解析行为的文件是/etc/resolv.conf。Domainzj.edu.cnSearchzj.edu.cnNameserver210.32.124.1Namersever210.32.128.1Windows95/98下的配置在“TCP/IP协议”之“属性”,点击“DNS配置”,选择“启动DNS”,进行相应的配置。164-2-4域名服务的建立(Server端的名字服务器)以SUN工作站为例:安装SUN公司的UNIX类型的网络操作系统Solaris以及DNS实现软件Bind。Bind中用于名字服务的程序为in.named,是一个守护进程。其中相关配置文件为:用于本地解析自反地址Named.local反向解析的区数据文件Named.rev正向解析的区数据文件Named.hosts指向根服务器Named.ca设置启动named参数Named.conf作用相关文件相关文件的具体配置情况,见教材P163-P167。17一条RR的结构是:name、ttl生存期值、class网络的类型、type记录类型、data值。类型定义允许管理者使用单个域名为多个目的服务。比如FTP、ping、类,电子邮件应用为MX类型。资源记录(ResourceRecord,RR):184-3万维网应用(WordWideWeb)是因特网上发展最为迅猛的应用。超文本(hypertext):具有链接的文本。文档各部分之间都可能有关联,这种关联通过链接和锚来实现。链接就是指向另一部分信息的指针;锚是指文档中附加有链接的一个信息段。在具有GUI的计算机中,链接的激活是通过单击锚来实现。超文本的“超”体现在它不仅能包含文本,而且可以包含图象、音频、视频等多媒体信息。在上,链接成了超级链接,不仅限于本地的信息,只要是在因特网上的信息,都可以成为链接的对象。超文本传输协议(HTTP):是所采用的标准传输协议,协议的操作对象是页面资源,它提供浏览器与服务器之间的通信。HTTP通常建立在TCP基础上。B与S之间每一次交互包括一个ASCII形式的请求和一个MIME应答。多功能Internet邮件扩展MIME标准,是Internet文本邮件的标准信息格式RFC822的扩展。它对媒体类型进行了全面的定义。4-3-1统一资源定位(URL):它表示所要访问的主机的地址、获取服务所用的协议以及所要浏览文件的路径和名称,URL的格式为:protocol://hostname:port/path/file例如:://ftp.hzrtvu.edu.cnprotocol:用来指示服务器使用该协议来获取服务。http为服务专用,ftp用于文件的下载和上传,file用于浏览本地的文件系统。hostname:可以是域名或IP地址。port:表示服务器提供哪个端口用于协议的连接。通常可以忽略。超文本标记语言(HTML):它是建立标准Web页面的语言,它是一种标记语言,即在普通文本中插入一些标记,来控制文本的显示属性(这些属性只有当用浏览器来解释浏览时才显示出来)。一个HTML文件集合称为主页(Homepage)。一个正常的HTML文件由头部和主体两部分。头部被HEAD/HEAD嵌套,主体部分被BODY/BODY嵌套。HTML的标记是用“”和“”嵌套起来的标记名,标记名用来标志一个元素的标签。标记名对大小写不敏感。标记成对出现,p表示标记开始,/p表示标记结束。204-3-2的工作原理Web浏览器:除了可以处理HTML文件外,作为Web服务的客户程序,它还负责与Web服务器建立连接,发送客户的Web访问请求,提供客户GUI界面。Mosaic是第一个浏览器。常用的浏览器有:InternetExplore5.0和NetscapeCommunicator4.0。它们都具有友好的用户界面,提供各种图标按钮和简单的操作手段。Web服务器:服务器软件在不同的系统中有多种不同的选择。NetscapeCommunicationServer:支持UNIX、Linux、NT平台,是一个高性能的Web服务器。Apache:支持UNIX、Linux、NT平台,是最流行的免费的Web服务器软件,有很好的性能。IIS:NT平台上的Web服务器软件随NT附送,在NT上使用很普通,只支持NT网络操作系统。有Windows95/98上用的PersonalWebServer、Website等。21的