2.15k likes | 2.29k Views
第 6 章. 应用层. 6.1 网络应用模型. 客户 / 服务器 (C/S , Client/Server) 模型 对等网络 (P2P , Peer to Peer) 模型. 6.1.1 客户 / 服务器模型. 系统结构是指把一个大型的计算机应用系统变为多个能互为独立的子系统 服务器便是整个应用系统资源的存储与管理中心. 6.1.1 客户 / 服务器模型. 1. 两层结构 : 两层网络计算模型是由多客户机与单个或多个数据服务器构成,并采用了动态计算方式的网络计算模型。 两层结构的应用软件模型可表示为如图 6.1 所示.
E N D
第6章 应用层
6.1 网络应用模型 • 客户/服务器(C/S,Client/Server)模型 • 对等网络(P2P,Peer to Peer)模型
6.1.1 客户/服务器模型 • 系统结构是指把一个大型的计算机应用系统变为多个能互为独立的子系统 • 服务器便是整个应用系统资源的存储与管理中心
6.1.1 客户/服务器模型 1.两层结构: • 两层网络计算模型是由多客户机与单个或多个数据服务器构成,并采用了动态计算方式的网络计算模型。 • 两层结构的应用软件模型可表示为如图6.1所示
6.1.1 客户/服务器模型 • 在这种模型中,服务器只负责各种数据的处理和维护,为各个客户机应用程序管理数据;客户机包含文档处理软件、决策支持工具、数据查询等应用逻辑程序,通过网络使用SQL语言发送、请求和分析从服务器接收的数据。 • 这是一种“胖客户机(Fat Client)”、“瘦服务器(Thin Server)”的网络结构模型。
6.1.1 客户/服务器模型 图6.1两层结构模型
6.1.1 客户/服务器模型 2. 三层结构 : • 三层网络计算模式是由多浏览器、单Web服务器和多个数据服务器构成,同时也采用了动态计算方式的网络计算模型。 • 三层结构的应用软件模型可表示为如图6.2所示
6.1.1 客户/服务器模型 图6.2三层结构模型
6.1.1 客户/服务器模型 (1)三层C/S的基本硬件结构 • 三层C/S结构是将应用功能分成表示层、功能层和数据层三部分。其解决方案是对这三层进行明确分割,并在逻辑上使其独立。原来的数据层作为DBMS已经独立出来,所以关键是要将表示层和功能层分离成各自独立的程序,并且还要使这两层间的接口简洁明了。
6.1.1 客户/服务器模型 (2)三层C/S的功能 • 表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口(GUI),操作简单、易学易用。
6.1.1 客户/服务器模型 • 功能层相当于应用的本体,它是将具体的业务逻辑地编入程序中。例如,在制作订购合同的时要计算合同金额,按照定好的格式配置数据、打印订购合同,而处理所需的数据则要从表示层或数据层取得。 • 表示层和功能层之间的数据交往要尽可能简洁。
6.1.1 客户/服务器模型 • 数据层就是数据库管理系统(DBMS),负责管理对数据库数据的读写。
6.1.1 客户/服务器模型 (3)三层C/S结构的优点 • 具有灵活的硬件系统构成 • 提高程序的可维护性 • 利于变更和维护应用技术规范 • 进行严密的安全管理
6.1.1 客户/服务器模型 (4)三层C/S应用的开发 • 由于三层C/S模型是在二层C/S模型的基础上发展起来的,具有了更大的灵活性和处理功能,因此三层C/S应用的开发必须遵从一些原则,如保护已有投资、降低应用系统的风险、满足当前的迫切需要和考虑未来的发展规划等。
6.1.1 客户/服务器模型 3. 多层结构 • 多层结构的应用程序把业务逻辑独立出来,组成一层或多层。形成客户层界面、中间业务处理层(可由多层组成)和后端数据服务层,应用系统开发模式变为: (1)客户端人机界面的开发 (2)中间业务逻辑层 (3)数据库服务层
6.1.1 客户/服务器模型 • 多层结构的优点是: (1)可伸缩性好。可按应用要求部署逻辑层次,适应于本地网和广域网。 (2)网络效率高。经过合理的布局,通过网络的传输数据量大大减少,提高了网络效率。 (3)可管理性强。系统客户层基本实现“零维护”,主要管理工作集中在应用逻辑层,业务逻辑的修改对客户层没有影响。
6.1.1 客户/服务器模型 (4)可重用性好。按可提供的服务构筑应用,每种服务可以被不同的应用重用。由于采用面向对象的组件构成,进一步增加了系统的可重用性。 (5)安全性较好。
6.1.2 P2P模型 • P2P最根本的思想 网络中的结点兼具Client和Server的双重身份,既为其他结点提供服务,也享用其他结点提供的服务。网络中的每个结点的地位都是对等的,又称对等网络。
6.1.2 P2P模型 • P2P技术的特点 (1)非中心化 (2)可扩展性 (3)健壮性 (4)高性价比 (5)隐私保护 (6)负载均衡
6.1.2 P2P模型 (1)非中心化: 网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。
6.1.2 P2P模型 (2)可扩展性:在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能比较容易地满足用户的需要。理论上其可扩展性几乎可以认为是无限的。例如:在传统的通过FTP的文件下载方式中,当下载用户增加之后,下载速度会变得越来越慢,然而P2P网络正好相反,加入的用户越多,P2P网络中提供的资源就越多,下载的速度反而越快。
6.1.2 P2P模型 (3)健壮性: P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许结点自由地加入和离开。
6.1.2 P2P模型 (4)高性价比: 性能优势是P2P被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。采用P2P架构可以有效地利用互联网中散布的大量普通结点,将计算任务或存储资料分布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。
6.1.2 P2P模型 (5)隐私保护: 在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决Internet隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的一些匿名通信系统中,实现这一机制依赖于某些中继服务器节点。而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。
6.1.2 P2P模型 (6)负载均衡: P2P 网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个结点,更好的实现了整个网络的负载均衡。
6.1.2 P2P模型 1.P2P技术原理 • 简单的说,P2P技术是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术。它打破了传统的客户机/服务器模式,在对等网络中每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。
6.1.2 P2P模型 • P2P网络有三种比较流行的组织结构 (a)DHT结构 (b)树形结构 (c)网状结构 图6.3 三种流行的组织结构
6.1.2 P2P模型 2. P2P模式 (1)集中式对等网络 • 集中式P2P模式则是所有网上提供的资料都分别存放在提供该资料的客户机上,服务器上只保留索引信息,此外服务器与对等实体以及对等实体之间都具有交互能力,工作原理如图6.4所示。
6.1.2 P2P模型 集中式对等网络 图6.4集中式P2P
6.1.2 P2P模型 (2)分布式对等网络 • 在分布式对等网中,对等机通过与相邻对等机之间的连接遍历整个网络体系。每个对等机在功能上都是相似的,并没有专门的服务器,而对等机必须依靠它们所在的分布网络来查找文件和定位其它对等机。 • Gnutella是其典型代表,Gnutella的工作原理如图6.5所示:
6.1.2 P2P模型 图6.5 Gnutella工作原理
6.1.2 P2P模型 (3)混合P2P网络 • 混合P2P形式结合了集中式和分布式P2P形式的优点,在设计思想和处理能力上都得到近一步优化。它在分布式模式基础上,将用户节点按能力进行分类,使某些结点担任特殊的任务。 • BT就是第三代混合式P2P网络的典型代表,其原理如图6.6所示
6.1.2 P2P模型 图6.6 BT工作原理
6.1.2 P2P模型 3. P2P技术应用现状 (1)分布式科学计算 • P2P技术可以使得众多终端的CPU资源联合起来,服务于一个共同的计算。这种计算一般是计算量巨大、数据极多、耗时很长的科学计算。
6.1.2 P2P模型 (2)文件共享 • “BT”是Bit Torrent的简称,是一种依赖P2P方式将文件在大量互联网用户之间进行共享与传输的协议,对应的客户端软件有Bit Torrent、Bit Comet和Bit Spirit等。由于其实现简单、使用方便,在中国用户之间被广泛使用。
6.1.2 P2P模型 (3)流媒体点播 • 由一个发送者向多个接收者发送数据,接收者有且只有一个数据源。服务器和所有客户结点组织成多播树,多播树的中间结点接受来自父结点多播的媒体数据,同时将数据以多播的方式传送给子结点 ;而多源的P2P流媒体传输系统,则是由多个发送者以单播的方式同时向一个接收者发送媒体数据 • 主要的P2P流媒体又分为单源和多源两类,如图6.7-6.8所示 :
6.1.2 P2P模型 图6.7 单源的P2P流媒体 图6.8 多源的P2P流媒体
6.1.2 P2P模型 (4)IP层语音通信 • 采取P2P技术动态自适应地根据通信双方网络进行链路控制与消息转发是可行的解决方案。 • 目前风靡全球的Skype即是一款典型的P2P VoIP软件。
6.1.2 P2P模型 (5)网络游戏平台 • 由于服务器能力有限,大型网络在线游戏往往需要限制场景人数或者不断增加服务器,而网络对战游戏也必须局限在局域网内进行或者依赖独立的服务器端程序及机器实现Internet上的电子竞技
6.2 DNS系统 • 层次域名空间 • 域名服务器
6.2.1 层次域名空间 • 域名系统(DNS) TCP/IP提供的一种字符型的名字机制。它将计算机域名映射为对等的IP地址,域名的数据库不是保存在单个计算机上,而是分布在Internet各站点上数量巨大的服务器上。每当一个应用程序需要翻译域名时,它就成为域名系统的一个客户。客户向域名服务器发送请求,服务器找到相应的地址并发送一个应答信息。
6.2.1 层次域名空间 1.DNS的概念 • 为了解决主机命名冲突可能性的增加 , NIC的工作负担越来越重,加重的网络流量和负载
6.2.1 层次域名空间 2.DNS域名空间与层次 • DNS命名机制是层次型命名机制,即在主机命名时加入了层次形的结构,名字的层次对应于层次名字空间。这是一个规则的树形结构的名字空间。每个结点都有一个独立的结点名字,如图6.9所示 :
6.2.1 层次域名空间 图6.9 Internet的域名结构
6.2.1 层次域名空间 3.DNS域名格式 (1)顶级域名 • 为了保证DNS在全球的统一性,Internet规定了一组正式的通用标准标号作为顶级域名,即第一级域名,如表6.1所示。
6.2.1 层次域名空间 表6.1 Internet的顶级域名
6.2.1 层次域名空间 (2)其他子域名 • 除了顶级域名,各个国家有权决定进一步划分域名。大部分国家都按组织模式再进行划分。中国自登记了最高域名“cn”以后,又进一步规定了二级域名。如表6.2所示。我国的二级域名采用了两种方式:edu,com,gov域是按功能团体命名的,而bj,cq等是按行政区域命名的。从二级域名中可判定出主机所在的省份/地区或所在单位的类型。
6.2.1 层次域名空间 表6.2 中国的二级域名
6.2.2 域名服务器 • 域名服务器是运行在指定的主机上的软件,能够完成从域名到IP地址的映射。 • DNS服务器按照域名层次安排它的层次,每个服务器作为域名体系中的一部分的管辖者。一个根服务器占据着这个层次体系的顶部,它是顶层域的管辖者。
6.2.2 域名服务器 1 .概述 • 名字服务器保存了许多信息,这些信息组成了域数据库。数据库被分为区,这些区在不同的服务器上保存。