`
treey041224
  • 浏览: 1044 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

分布式系统(学习笔记)

阅读更多

 

系统模型

1. 分布式系统的困难和威胁

   1.1  使用模式的多样性:系统组件会承受各种工作负载,例如有些Web页面每天会有几百万次的访问量,系统的有些部分可能断线或连接不稳定,例如当系统中包括移动计算机时,一些应用对通信带宽各延迟有特殊的需求,如多媒体应用。

   1.2  系统环境的多样性:分布式系统必须能容纳异构的硬件、操作系统和网络。网络可能在性能上有很大不同,如无线网的速度只达到局域网的几分之一。必须支持不同规模的系统,从几十台计算机到上百万台计算机。

   1.3  内部问题:包括非同步的时钟、冲突的数据更新、多种涉及系统单个组件的软硬件故障模式。

   1.4  外部威胁:包括对数据完整性、保密性的攻击以及服务拒绝。

 

2. 体系结构模型

   2.1  系统体系结构  主要有客户-服务器模型对等体系结构两种

客户-服务器模型即客户向服务器发出调用信息,服务器向客户返回结果。其中服务器也可以是其他服务器的客户。例如Web服务器是DNS服务的客户,还有搜索引擎(Web蜘蛛)。

对待体系结构即一项任务或活动涉及所有的进程扮演相同的角色,作为对等方进行协作交互,不区分客户和服务器或运行它们的计算机。它的目的是挖掘大量参与计算机中的资源(数据和硬件)来完成某个给定的任务或活动。

 

   2.2  变体

由于在客户-服务器模型中将一个服务放在单个进程中意味着集中化地提供服务和管理,但它的伸缩性不会超过提供服务的计算机的能力和该计算机所在网络连接的带宽,因而出现以下几个变体。

      2.2.1  由多个服务器提供的服务

      2.2.2  代理服务器和缓存

缓存用于存储最近使用的数据对象。例如Web代理服务器即在客户与Web服务器之间设置一服务器存放为一个地点或多个地点的客户机提供共享的Web资源的缓存。

      2.2.3  移动代码

即将代码从服务器下载到客户端进行运行。如applet

      2.2.4  移动代理

将一个运行的程序(包括代码和数据)从一台计算机移动到网络上的另一台计算机,代表某人完成诸如信息搜集之类的任务,最后返回结果。如蠕虫程序。对所访问的计算机上的资源而言是一个潜在的安全威胁。

      2.2.5  网络计算机

即将所有应用数据和代码由文件服务器保存,但要使用时从远程文件服务器下载所需的操作系统和任一应用软件,应用可在本地运行,但文件由远程文件服务器管理。

      2.2.6  瘦客户

指的是一个软件层,在执行过程计算机上的应用程序时,由该软件层在用户本地的计算机上支持基于窗口的用户界面。

      2.2.7  移动设备和自发互操作

即设备带着软件组件在网络上移动

 

   2.3  分布式体系结构的设计需求

      2.3.1 性能问题

         2.3.1.1  响应能力

         2.3.1.2  吞吐量

         2.3.1.3  平均计算负载

      2.3.2  服务质量

         2.3.2.1  可靠性

         2.3.2.2  安全性

         2.3.2.3  性能

      2.3.3 缓存和复制的使用(Web缓存协议)

      2.3.4  可依赖性问题

         2.3.4.1 正确性

         2.3.4.2  安全性

         2.3.4.3 容错\

出现硬件、软件和网络故障的时候可依赖的应用应该能继续正确工作。可通过冗余施工获得,但昂贵、应用范 围有限、容错的程度也有限。


 

3.  基础模型

交互:计算在进程中发生,进程通过传递消息,并引发进程之间的通信(例如信息流)和协调(活动的同步和排序)进行交互。

故障:只要分布式系统运行的任一计算机上出现故障(包括软件故障)或连接它们的网络中出现故障,分布式系统的正确操作就受到威胁,我们的模型将对这些故障进行定义和分类。

安全:分布式系统的模块特性和它们的开放性将它们暴露在外部代理和内部代理的攻击下。我们的安全模型对发生这种攻击的形式给出了定义并进行了分类

   3.1  交互模型

      3.1.1  通信通道的性能

         3.1.1.1  延迟

              l 第一串比特从网络传递到目的地所花费的时间

              l 访问网络的延迟,当网络负载很重时,延迟增长很快。

     l 操作系统通信服务在发送进程和接收进程上所花费的时间。


         3.1.1.2  带宽

               计算机网络的带宽是指在给定时间内网络能传递的信息总量。


         3.1.1.3  抖动

               抖动是传递一系列消息所花费的时间的变化值。拉动与多媒体有关。例如,如果音频数据的连续采样在不同的时                间间隔完成,那么声音将严重失真。


      3.1.2  不可能维护一个全局时间概念

               计算机时钟和绝对时间之间有领衔,它们的漂移率互不相同。

               时钟漂移率:指的是计算机时钟不同于绝对参考时钟的相对量。


      3.1.3  交互模型的两个变体

          3.1.3.1  同步分布式系统

              进程执行每一步的时间有一个上限和下限。

              l 通过通道传递的每个消息在一个已知的时间范围内接收到。

     l 每个进程有一个本地时钟,它与实际时间的偏移率在一个已知的范围内。

          3.1.3.2  异步分布式系统

                 它是对以下因素没有限制的系统:进程执行速度、消息传递延迟、时钟漂移率。

   3.2   故障模型


      3.2.1  遗漏故障  遗漏故障类错误指的是进程或通信通道不能完成要求它做的动作。

         3.2.1.1  进程遗漏故障(崩溃)

         3.2.1.2   通信遗漏故障

             通常是因为在接收端或中间的网关上缺乏缓冲区空间,或因为网络传输错误。


      3.2.2  随机故障  用于描述可能出现的最坏的故障,此时可能发生任何类型的错误。

           例如,一个进程可能在数据项中设置了错误的值,或为响应一个调用返回一个错误的值。


      3.2.3  时序故障  时序故障适用于同步分布式系统

      3.2.4  故障屏蔽

      3.2.5  一对一通信的可靠性

           可靠性通信可从下列有效性和完整性的角度来定义

           有效性:外发消息缓冲区中的任何消息最终能发送到接收消息缓冲区。

           完整性:接收到的消息与发送的消息一致,没有消息被发送两次。


   3.3  安全模型

         通过保证进程和用于进程交互的通道的安全以及保护所封闭的对象不会在未经授权时访问可达到分布式系统的安全。


      3.3.1  保护对象  通过权限指定允许谁执行一个对象的操作

      3.3.2  保护进程和它们的交互

          对进程的威胁:伪造身份,在分布式系统中,一个用于处理到达的请求的进程可以接收来自其他进程的消息。


      3.3.3  解除安全威胁

          密码学和共享秘密

          认证:使用共享秘密和加密为消息的谁,证明由发送方提供的身份。

          安全通道:

               每个进程确切知道其他正在执行的进程所代表的主体身份。

               安全通道确保在其上传递的数据的私密性和完整性。

               每个消息包括一个物理的或逻辑的时间戳以防消息被重放或重排序。


      3.3.4 其他可能的来自敌人的威胁

               如拒绝服务攻击和移动代码的部署。

 

                                               

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics