




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分布式系统系统模型(SystemModels),结构模型(Architecturalmodel)基础模型(Fundamentalmodel),结构模型(Architecturalmodel),分布式系统的结构模型是关于其各部分的布局及其相互间关系,它定义了系统的各组件之间相互交互的方式以及它们映射到下面的计算机网络的方式。Client/server模型对等进程(peerprocess)模型,客户/服务器模型的扩展,*在(多个)协作的服务器上划分(partition)和复制数据;*由代理服务器(proxyservers)和客户进行数据缓存(caching);*使用移动代码和移动代理;*以方便的方式添加和删除移动设备。,基础模型(Fundamentalmodel),基础模型是对所有结构模型中公共属性的更形式化的描述。交互模型(Interactionmodel)交互模型处理分布式系统中性能以及设置时间限制的困难,例如对于消息传递(messagedelivery)。反映了进程交互的方式。故障模型(failuremodel)故障模型试图给出可能由进程和通信通道呈现出来的故障的一个精确的规格说明(specification)。它定义可靠的通信和正确的进程。安全模型(securitymodel)安全模型讨论对于进程和通信通道可能存在的威胁,它引入了安全通道的概念,以抵御这些威胁。,结构模型,系统的结构是关于其各个独立指定的组件的结构。建筑物的结构设计有类似的方面:不仅要确定它的外观,而且要确定它的总体结构和结构风格(哥特式,新古典主义,现代的)。我们围绕着进程和对象的概念构建我们的结构模型。分布式系统的结构模型首先简化和抽象分布式系统各个组件的功能,然后它考虑:放置组件在一个计算机网络上,寻找定义数据和工作负载分布的有用的模式。组件之间的相互关系,即它们的功能角色以及它们之间的通信模式。,进程分类,服务器进程提供服务客户进程请求服务对等进程指这样的一类进程,它们以一种对称的方式协作和通信,以执行一个任务。,客户/服务器模型的变种,某些更动态的系统可以构造为客户/服务器模型的变种:*从一个进程到另一个进程移动代码的可能性允许一个进程委托任务到另一个进程。例如,客户可以从服务器下载代码在本地运行它。对象和存取它们的代码能够被移动以减少访问延迟和最小化通信量。*某些分布式系统被设计以使计算机和其它移动设备能无缝地添加或删除,允许它们发现可用的服务并向其它设备提供它们的服务。在一个计算机网络中实际的放置(布局、分布)组成分布式系统的进程可能受到性能、可靠性、安全性和费用的影响。,软件层(软件结构),原来在单一计算机中,软件结构是指把软件结构化为层或模块;而近来则是用位于相同或不同的计算机里的进程之间提供和请求的服务来定义。分布式系统中软件硬件服务层:,Middleware-basedSystems,Generalstructureofadistributedsystemasmiddleware.Middleware提供部分DistributedOperatingSystem服务。,1-22,中间件(Middleware),从中间件提出的初始动因来看,是指网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构网络环境下分布式应用软件的互连与互操作问题,它可屏蔽实现细节,提高应用系统的易移植性从广义的角度看,中间件代表了处于系统软件和应用软件之间的中间层次的软件,其主要目的是对应用软件的开发和运行提供更为直接和高效的支撑,中间件(续),中间件是一个软件层,它的目的是屏蔽异构性并向应用程序员提供一个方便的编程模型。中间件通过在一组计算机里的进程或对象来表达,它们相互交互以为分布式应用实现通信和资源共享支持。中间件技术已成为软件技术的研究热点主要中间件包括:数据访问中间件、远程过程调用中间件、事务中间件、消息中间件和面向对象中间件等;远程过程调用包(例如SunRPC)和组通信系统(例如Isis)是最早、当前最广泛使用的中间件的实例。TheBEATuxedosystemisamiddlewareproductthatdistributesapplicationsacrossmultipleplatforms,databases,andoperatingsystemsusingmessage-basedcommunicationsand,ifdesired,distributedtransactionprocessing.,面向对象中间件,面向对象中间件是对象技术和分布式汁算发展的产物,它提供种通讯机制,透明地在异构的分布计算环境中传递对象请求目前主要的面向对象中间件产品和标准有OMG的CORBA、微软的DCOM和Sun公司的JavaRMI/EJB。它们的异构性和开放性各有不同,适用于异构环境、开放的CORBA是Internet与企业应用事实上的工业标准,而特定于Windows平台、专有的COM则是桌面系统的首选EJB则兼具二者之优势中间件也提供了供应用程序使用的服务,它们被紧密地绑定到由中间件提供的分布式编程模型。例如,CORBA提供了naming,security,transactions,persistentstorage和eventnotification等服务。,WebServices,随着软件产业模式从以产品为中心的制造业转变为以客户为中心的服务业,WWW从两层体系转变为三层体系,分布计算中间件从Intranet扩展到Internet,上述中间件技术已不能适应这些发展需求,因而导致新型中间件技术WebServices的产生。WebServices以XML、SOAP、WSDL和UDDl为核心,致力于软件在应用层的互操作问题WebServices不仅屏蔽了异构的操作系统、网络和编程语言,还屏蔽了传统中间件之间的异构性,并支持开放、动态的互操作模式,增强了服务动态发布,查找和使用的能力因此,WebServices获得了产业界广泛的支持和学术界的重视。,系统结构,Client-server模型这是分布式系统最经常被引用的体系结构,下图阐述了这种简单的结构:客户进程与各服务器进程(在分离的主计算机上)交互以访问它们所管理的共享资源。,由多个服务器提供的服务,服务可以被实现为在分离的主计算机上的多个服务器进程,它们按需要交互来向客户进程提供一个服务。这些服务器可以划分(partition)该服务所基于的对象集合,并在它们之间分布它们,或者在若干个主机上维护这些对象的复制副本。,代理服务器和缓存(Proxyserversandcaches),Cache是近期使用了的数据对象的存储,它比对象本身更近。当一个新的对象被接收到,它被添加到cache存储中,如果需要的话,替换某个现有对象。当客户进程需要一个一个对象的时候,caching服务首先检查cache,如果最新的拷贝是可用的,则从那里提供该对象。否则,去获取一个最新的拷贝。Cache可以布置在每一个客户端,或位于代理服务器上,以便能够被多个客户共享。,对等进程(peerprocesses),在这种结构中,所有进程扮演类似的角色,作为对等者协同交互,在没有任何客户与服务器差别的情况下执行一个分布式活动或计算。在这种模型中,对等进程中的代码维护应用级(层)资源的一致性并按需要同步应用级的行为(actions)。通常,n个对等进程可以相互交互,其通信模式取决于应用需求。,客户/服务器模型的变种,通过考虑下面的一些因素我们可以导出客户/服务器模型的几个变种:使用移动代码和移动代理;用户对于低价格(low-cost)计算机的需要;(有限的硬件资源,管理简单)以方便的方式添加和删除移动设备的需求。,移动代码(Mobilecode),Applets是一种众所周知和广泛使用移动代码:用户运行浏览器选择一个到Applet的链接(link),Applet的代码存储在Web服务器上,代码被下载到浏览器并在那儿运行。下图是其示例:,移动代码(续),局部(本地)运行下载的代码的好处是,由于不会遭遇跟网络通信相关的延迟或带宽的变化(可变性),因此会得到好的交互式响应。例子:一个股票代理(stockbroker)可以提供一个定制服务来通知客户股票价格的变化。为了使用这个服务,每个客户必须下载一个特别的Applet,它从代理服务器那里接收更新,显示给用户,也许还要执行自动的买和卖操作(根据客户设置的条件)。移动代码对于目的计算机里的本地资源有潜在的安全威胁,因此浏览器会限制Applet对本地资源的访问。,移动代理(Mobileagents),移动代理是一个包含代码和数据的运行程序(自治的软件组件,能与其他代理通信),它在网络中从一台计算机移动(travels)到另一台计算机,代表某人(someone)完成(执行)一个任务,例如收集信息,最终返回结果。移动代码在它访问的每一个场点可能作许多对本地资源(localresources)的调用请求,例如访问各个数据库项。我们将这种结构与静态客户(staticclient)做一个比较:静态客户要作对某些资源的远程调用,这样可能会传送大量的数据,移动代理结构通过用本地调用代替远程调用减少(降低)了通信的费用和时间。,移动代理(续),与移动代码一样,移动代理对它们所访问到计算机上的资源也有潜在的安全威胁。接收移动代理的环境基于用户的身份(移动代理代表谁)应该决定允许它使用哪些局部资源,其身份(identity)必须以一种安全的方式与移动代理的代码和数据包含在一起。此外,移动代理本身可能是脆弱的,即如果它们被拒绝访问它们需要的信息,它们可能不能完成它们的任务。由移动代理执行的任务可以通过其它方式执行。例如,需要访问Internet上Web服务器上资源的Web爬行者(crawlers)通过做对服务器进程的远程调用(remoteinvocations),能够相当成功地工作。由于这些原因,移动代理的应用(适用性)可能是有限的。,移动代理(续),一个移动代理系统应该向代理程序员(theagentprogrammer)提供尽可能多的灵活性,来尽可能多地隐藏下面的网络体系结构。移动代理系统的例子有:IBM的Aglet以及Voyager,AgentTCL等。移动代理与移动代码的区别?,移动代理与移动代码的区别,代理通常是“multi-hop”可移动的,而Javaapplets是“single-hop”。即代理通常是要从网络上的一个主机漫游到另一个主机,在每一个访问点积聚状态,然后主动地决定什么时候移动,以及应该移动到哪里。代理主动地控制他们的移动,而Javaapplets则是被动的。代理典型的应用包括网络管理,comparativeserviceshopping等。代理在它们的旅行中是有状态的,而Javaapplets通常是无状态的。随着代理访问经过各个结点,典型地它在每个结点上都要执行一些工作,这会引起其内部的状态变换,并在其移动过程中携带它们。,网络计算机(Networkcomputers),在桌面计算机环境中,操作系统和应用软件典型地需要大量的活动代码和数据,它们位于在本地磁盘上。但是应用文件的管理和本地软件库的维护都需要相当的技术工作,这对于大多数的用户是不能胜任的。网络计算机是对这个问题的一个反应。它按用户的需要从远程文件服务器下载操作系统和任何应用软件。应用在本地运行,但文件由远程文件服务器管理。像Webbrowser这样的网络应用也能够运行。由于所有的应用数据和代码都由文件服务器存储,用户可以从一台网络计算机迁移到另一台。网络计算机的处理器和存储器能力可以被限制以降低它的成本(cost)。如果包含一个磁盘,它仅仅保持最少的软件,磁盘的其余部分被用做cache存储,以保持近期从服务器载入的软件和数据文件的copies。,瘦客户(Thinclients),瘦客户是指一个软件层,它支持用户端的计算机上基于窗口的用户界面,而在远程的计算机上执行应用程序。这种结构与网络计算机模式有同样低的管理和硬件费用。但它不是下载应用代码到用户的计算机,而是在计算服务器上运行它们。,移动设备和自组网络(Mobiledevicesandspontaneousnetworking),现在各种小的、便携的计算设备越来越多,包括笔记本电脑、个人数字助理(PDAs)类的手持设备,移动电话和数字照相机、可穿戴的计算机(如smartwatch)、以及嵌入在日常装置(如洗衣机)里的设备。许多的这些设备能够无线联网,范围从大城市或更大的范围(GSM,CDPD),到数百米(WaveLAN),或几米(BlueTooth,infra-redandHomeRF)。更短范围的网络有直到10Mbps级的带宽,GSM有望达到数百Kbps级。,移动设备和自组网络(续),适当地集成到我们的分布式系统,这些设备提供了对移动计算(mobilecomputing)的支持,从而用户能够在网络环境之间携带它们的移动设备,并利用本地和远程的服务。集成移动设备和其它设备到一个给定的网络的分布形式也许可以最好地用自组网络(spontaneousnetworking)来描述。这个术语用于指这样的应用:它涉及到以一种比现在可能的更加不正式的方式把移动和非移动设备连接成网络。那些嵌入式设备向用户和其它的相邻设备提供服务。像PDAs这样的便携式设备让用户可以访问在他们当前位置的服务,也可以访问像Web这样的全球服务。,自组网络的关键特征是:易于连接到本地网络(localnetwork)易于跟本地服务(localservices)集成当它们旅行(travel)的时候,移动用户可能遭遇受限的连接(limitedconnectivity),其连接的自主特性又引起了安全问题:有限的连接安全和私秘(Securityandprivacy)发现服务(Discoveryservices)注册服务(registrationservice)查找服务(lookupservice),接口和对象(Interfacesandobjects),进程中(无论是服务器或是对等进程)可用于调用的功能函数的集合通过一个或多个接口定义来说明。在基本的客户/服务器结构中,每一个服务器进程被看作一个具有固定接口(定义了它里面能够被调用的函数)的单一的实体(entity)。在面向对象语言(例如C+和Java)中,通过适当的附加支持,分布式进程能够以更加面向对象的方式进行构造。许多对象能够被封装在服务器或对等进程中,对它们的引用(references)被传递到其它进程以便它们的方法能够通过远程调用(remoteinvocation)进行(被)访问。这是CORBA和Java所采用的方法(采用远程方法调用RMI机制)。,分布式结构的设计需求(所有模型共享designrequirements),性能问题(Performanceissues)服务质量(QualityofService)使用caching和复制(Useofcachingandreplication)可靠性问题(dependabilityissues),基础模型,所有前面介绍的不同的系统模型共享某些基础特性。通常,一个模型仅仅包含我们需要考虑的基本要素,以便理解和推理关于系统行为的某些方面。一个系统模型必须表述这些问题:系统中主要的实体是什么?它们怎样交互?影响其个体和集体行为的特征是什么?,基础模型(续),在基础模型中我们希望捕捉的分布式系统的特性是想要帮助我们讨论和理解:交互(Interaction)计算发生在进程中。进程通过传递信件(passmessages)交互,导致进程之间的通信(即信息流)和协调(coordination,即同步和活动定序ordering)。交互模型必须反映这样的事实:通信的发生是有延迟的(这经常具有相当的持续时间),并且协调独立的进程的准确性(正确度)受限于这些延迟以及在分布式系统的所有计算机上维护相同的时间概念(notion)的困难性。,故障(Failure)无论什么时候当任何的计算机里面或连接它们的网络发生故障(包括软件故障)时,分布式系统的正确操作都会受到威胁。故障模型定义和分类了故障,这提供了一个基础,使我们能够分析其潜在的影响,并使得系统的设计能够容忍每一种类型的故障,以继续正确地运行。,安全性(security)分布式系统模块化的特性及其开放性暴露出它们容易遭到外部和内部代理的攻击。安全模型定义和分类了那样的攻击可能采取的形式,这提供了一个基础,使得我们能够分析对系统的威胁,以及设计出能够抵御它们的系统。,交互模型,分布式系统由许多进程组成,他们以复杂的方式交互。例如:多个服务器进程相互协作以提供一个服务;前面提到的一个例子是DomainNameService系统,他划分和复制他的数据在整个Internet的服务器(servers)上。一组对等进程可以相互协作以获得一个共同的目标:例如,一个以类似的方式(但是具有严格的实时限制)分发音频数据流的音频会议系统。,交互模型(续),每一个进程进行的速度以及他们之间消息传送的定时同步(timing)通常不能预知。由于必须处理涉及到的一个或多个进程的故障或消息传送的故障,要描述分布式算法所有的状态也是困难的。在分布式系统中,每个进程有他自己的状态(由他可以访问和更新的数据集组成),属于每个进程的状态是完全私有的。在这一节,我们讨论影响分布式系统中交互进程的两个重要因素:通信性能通常是一个限制特性(limitingcharacteristic)不可能维护一个单一的全局时间概念,计算机时钟和定时事件(timingevents),分布式系统中每一台计算机有其自己的内部时钟,可以被本地进程用于获得当前时间的值,因此运行在不同计算机上的两个进程能够给他们的事件关联一个时间戳(timestamps)。然而,即使两个进程在同一个时间读取他们的时钟,其局部时钟也可能提供不同的时间值,这是因为计算机时钟与标准时间的偏移,更重要的是,不同计算机相互间的偏移率是不一样的。即使分布式系统中所有计算机的时钟在初始化的时候被设置成相同的时间,其时钟最终也会变化得很大(除非采用校正措施)。,计算机时钟和定时事件(续),有几种方法来校正计算机时钟的时间。例如,计算机可以使用无线电接收器来从GPS那里得到时间(具有大约一微秒的精度)。但是GPS接收器不能在建筑物内操作,每台计算机都配备在费用上也是不合理的。一种替代的方法是,一台具有精确时间源(例如GPS)的计算机向网络中其他计算机发送定时消息,结果各局部时钟时间之间的一致性当然受变化的消息延迟的影响。,交互模型的两个变种,在分布式系统中很难对进程执行、消息传递或时钟偏移的时间设置时间限制。有两种简单的、相反的、极端的模型:第一种有非常强的时间假定,另一种没有作任何关于时间的假定。,同步分布式系统,在Hadzilacos和Toueg的定义中,同步分布式系统具有下面的限制:进程每一步执行的时间有已知的下和上界;通道上传送的每一封信在一个已知的有限的时间内被接收到;每一个进程有一个局部时钟,其相对于标准时间的偏移率有一个已知的界限。,同步分布式系统(续),能够建议分布式系统中进程执行时间、消息延迟和时钟偏移率很可能的上和下界,但难于达到现实可行的值并提供这些选择值的保证。除非这些界限值能够被保证,否则任何基于这些选择值的设计都不会是可靠的。然而,把一个算法建模为一个同步系统对于弄清楚它在真实的分布式系统中是如何工作的可能是有用的。在同步系统中,可以使用超时(timeouts),例如检测进程的故障。同步分布式系统可以构建。所需要的是进程在已知的资源需求下执行任务,以便他们能够保证(有)足够的处理器周期和网络容量,同时提供给进程具有有限偏移率的时钟。,异步分布式系统,许多分布式系统(例如Internet),是非常有用的,不能算是合格的同步系统,因此我们需要另一个模型。异步分布式系统没有任何下面的限制:进程执行速度例如,一个进程步(step)可能只花1微微秒(picosecond),而另一个则要花一个世纪;总之,每一步可能花任意长的时间;消息传送延迟例如,一封从进程A到进程B的信可能在零时间里被传递,而另一封信可能要花几年。换句话说,一封信可以在任意长的时间后被接受到;时钟偏移率时钟的偏移率是任意的。,异步分布式系统(续),异步模型对在任意执行中涉及到的时间间隔不允许有任何假设,这准确地建模了Internet,在那里对服务器或网络的负载没有任何固有的限制,因此对于(例如,使用ftp传送一个文件)要花多长的时间也就没有限制。有时一封Email信可能要花数天的时间才能到达。Web不能总是在一个合理的时间限制之内提供一个特定的响应。,异步分布式系统(续),任何对于异步分布式系统有效的解决方案对于同步分布式系统来说也是有效的。实际的分布式系统常常是异步的,因为需要进程共享处理器以及通信通道共享网络。例如,如果太多具有未知特性的进程在共享一台处理器,那么它们任何一个结果的性能都不能得到保证。但是,有许多对于一个异步系统不能解决的设计问题,当使用某些方面的时间时就能够被解决。对于要在一个最终期限前传递的多媒体数据流的每一个元素就是那样的一个问题。,事件定序,在许多情况下,我们想知道一个进程中的一个事件(发送或接收一个消息)是发生在另一个进程中的另一个事件之前、之后或是并发地发生。一个系统的执行可以用事件及其顺序(ordering)来描述,尽管缺乏精确的时钟。,Example,我们考虑在一组email用户X、Y、Z和A之间的一组如下的交换:用户X发送一封具有主题Meeting的信;用户Y和Z通过发送一封具有主题Re:Meeting的信进行回答;首先X的信被发送,Y读取它并回答;Z读取X的信和Y的回答,然后发送另一封回答信(它引用了X和Y的信)。但是由于消息传递独立的延迟,这些信可能按下图的方式被传递:,Example(cont.),这样某些用户可能以错误的顺序看到这些信,例如用户A可能看见:,如果X、Y、Z的计算机的时钟能够同步,那么每一封信在它被发送的时候,就能够携带其局部计算机时钟的时间。例如,信件m1,m2和m3将携带时间t1,t2和t3(t1t2t3)。接收到的信件将按照其时间顺序显示给用户。如果这些时钟是大致同步的,那么这些时间戳(timestamps)经常具有正确的顺序。,逻辑时钟,因为在分布式系统中这些时钟不能完全地被同步,Lamport提出了一种逻辑时间模型,可以用来对运行在分布式系统不同的计算机上的进程中的事件提供一种定序(ordering)。逻辑时间不需要求助于时钟而推断出消息(信件)出现的次序。,逻辑时钟(续),逻辑上,我们知道一封信在其被发送之后才被接收,因此我们可以声明一些事件对的逻辑顺序,例如我们仅仅考虑跟X、Y相关的事件:Xsendsm1beforeYreceivesm1;Ysendsm2beforeXreceivesm2.我们也知道在接受信件之后才发送回答,因此我们有下面的逻辑顺序(对于Y):Yreceivesm1beforesendingm2.逻辑时间进一步采用这个思想,给每一个事件分配一个数值(相应于其逻辑顺序),以便后面的事件比早先的事件有更高的数值。例如,前面的图中在X和Y的事件上显示数值14。,故障模型,分布式系统中,进程和通信通道都可能失效,故障模型定义了故障可能发生的方式,以便理解故障的影响。遗漏故障(Omissionfailures)指一个进程或通信通道不能执行它被假定要做的活动。,遗漏故障进程遗漏故障,主要的进程遗漏故障是崩溃(crash)。指进程它停止了,并且不会再执行其程序步骤。其他进程当发现这个进程反复的不能响应调用消息的时候,可以检测到那样的崩溃。然而,这种崩溃检测方法依赖于timeouts的使用,在异步系统中,一个timeout仅能指示出进程不响应他可能崩溃了也可能是很慢,或者消息可能还没有到达。如果其他进程能确切地检测到进程已经崩溃,这样的进程崩溃称为“fail-stop”。如果进程使用timeouts来检测什么时候其他进程不能响应并且保证信件被传递,那么在同步系统中可以产生Fail-stop行为。,遗漏故障通信遗漏故障,考虑通信原语send和receive。进程p通过在其outgoing消息缓冲区中插入消息m执行一个send,通信通道传送m到q的incoming消息缓冲区,进程q通过从其incoming消息缓冲区取m并传递它来执行一个receive。Outgoing和incoming消息缓冲区典型地由操作系统提供。,通信遗漏故障(续),通信通道如果它不能把信件从p的outgoing消息缓冲区传送到q的incoming消息缓冲区,则产生了一个遗漏故障。这就是我们所知道的“droppingmessages”,并且这通常是由于在接收端或在介入的网关上缺乏缓冲空间,或者是由于网络传送错误(通过信件数据所携带的checksum进行检测)引起的。Hadzilacos和Toueg把发送进程与outgoing消息缓冲区之间的信件丢失称为send-omissionfailures;把incoming消息缓冲区与接收进程之间的信件丢失称为receive-omissionfailures;把两者之间的信件丢失称为channelomissionfailures。,任意故障(Arbitraryfailures),任意故障是用来描述最坏可能的故障语义,这里任何类型的错误都可能发生。例如,一个进程可以对它的数据项设置错误的值,或者它也可以对一个调用返回一个错误的值。进程的任意故障是指,它任意地省略需要的处理步骤或者采取一些不需要的处理步骤。因此,进程中的任意故障不能通过看是否进程响应调用来进行检测,因为它可以任意地省略回答。,任意故障(续),通信通道可能遭遇任意故障,例如,信件内容可能被破坏了或者不存在的信件可能被传递或者真实的信件被传递多于一次。通信通道的任意故障是稀少的,因为通信软件能够识别它们并拒绝这些错误的信件。例如,检查和被用于检测被破坏了的信件,而信件顺序号(sequencenumbers)可以用来检测不存在的和复制的信件。,Omissionandarbitraryfailures,定时故障(Timingfailures),定时故障应用于同步分布式系统,那里时间限制被设置在进程执行时间、信件传递时间和时钟偏移率。,屏蔽故障(Maskingfailures),在分布式系统中,每一个组件通常是从其它一组组件进行构造,可以从有故障的组件(components)来构造可靠的服务。例如,保持数据复本的多个服务器在其中一个崩溃时可以继续提供服务。一个service屏蔽一个故障,或者通过隐藏它或者通过把它转换成一个更可接受的故障类型。,端到端通信的可靠性(Reliabilityofone-to-onecommunication),虽然基本的通信通道可能会呈现出上面描述的省略故障,但是可以使用它构建一个屏蔽了某些那些故障的通信服务。可靠的通信按照有效性和完整性定义如下:有效性:在outgoing消息缓冲区中的任何信件最终要被传递到incoming消息缓冲区;完整性:接收到的信件与发送的信件是相同的,并且没有信件被传递两次。,端到端通信的可靠性(续),对完整性的威胁来自于两个独立的源:任何重传消息但是不拒绝到达两次的消息的协议,协议可以通过给信件附加顺序号来检测那些传递了两次的信件。恶意的用户可能插入伪造的(欺骗的)的信件,重放老的信件或篡改信件。在面对那样的攻击时,可以采取安全性措施来维护完整性。,Securitymodel,wedescribedtheirsystemarchitectureintermsofprocessesencapsulatingobjectsandprovidingaccesstothemthroughinteractionswithotherprocesses.Protectionisdescribedintermsofobjects,althoughtheconceptsapplyequallywelltoresourcesofalltypes.Thesecurityofadistributedsystemcanbeachievedbysecuring(保护)theprocessesandthechannelsusedfortheirinteractionsandbyprotectingtheobjectsthattheyencapsulateagainstunauthorizedaccess.,Protectingobjects,Thefollowingfigureshowsaserverthatmanagesacollectionofobjectsonbehalfofsomeusers.Theuserscanrunclientprogramsthatsendinvocationstotheservertoperformoperationsontheobjects.Theservercarriesouttheoperationspecifiedineachinvocationandsendstheresulttotheclient.,Protectingobjects(cont.),Accessrightsspecifywhoisallowedtoperformtheoperationsofanobject-forexample,whoisallowedtoreadortowriteitsstate.Thuswemustincludeusersinourmodelasthebeneficiaries(受益人)ofaccessrights.Wedosobyassociatingwitheachinvocationandeachresulttheauthorityonwhichitisissued.Suchanauthorityiscalledaprincipal(委托方).Aprincipalmaybeauseroraprocess.,Protectingobjects(cont.),Theserverisresponsibleforverifyingtheidentityoftheprincipalbehindeachinvocationandcheckingthattheyhavesufficientaccessrightstoperformtherequestedoperationontheparticularobjectinvoked,rejectingthosethatdonot.Theclientmaychecktheidentityoftheprincipalbehindtheservertoensurethattheresultcomesfromtherequiredserver.,Securingprocessesandtheirinteractions,Processesinteractbysendingmessages.Themessagesareexposedtoattackbecausethenetworkandthecommunicationservicethattheyuseisopen,toenableanypairofprocessestointeract.Serversandpeerprocessesexposetheirinterfaces,enablinginvocationstobesenttothembyanyotherprocess.,Theenemy,Tomodelsecuritythreats,wepostulate(假定)anenemy(sometimesalsoknownastheadversary)thatiscapableofsendinganymessagetoanyprocessandreadingorcopyinganymessagebetweenapairofprocesses,asshownbelow.,Defeatingsecuritythreats,Hereweintroducethemaintechniquesonwhichsystemsarebased.Cryptography(密码学)andsharedsecretsSupposethatapairofprocesses(forexampleaparticularclientandaparticularserver)shareasecret;thatistheybothkn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度公司车辆租赁与车队管理服务合同
- 2025版建筑工程质量保修服务协议
- 2025版广告设计承包合同协议书
- 二零二五年度建筑劳务木工分包合同绿色施工技术与材料范本
- 二零二五年度绿色建筑评价体系设计合同示范文本GF
- 2025版建筑工程造价咨询居间服务合同(甲方范本)
- 二零二五年度家庭财产分割与子女抚养合同范本
- 二零二五年度创新型企业厂房转租合同
- 2025版离婚协议书与子女抚养及财产分割执行协议
- 二零二五年度汽车行业劳务派遣合同终止模板
- 铭复乐IV期临床方案介绍
- 深圳填海工程施工实施方案
- BB/T 0023-2017纸护角
- 建设集团有限公司安全生产管理制度汇编
- 行为习惯养成教育校本教材
- 疫苗运输温度记录表
- 各国钢材-合金牌号对照表
- 医院定岗定编要点
- logopress3培训视频教程整套模具大纲
- DB32-T 2945-2016硬质合金刀具PVD涂层测试方法-(高清现行)
- TB∕T 3526-2018 机车车辆电气设备 接触器
评论
0/150
提交评论