3.1简介

分布式系统使用局域网、广域网和互连网络进行通信
底层网络的性能、可靠性、可伸缩性、移动性以及服务质量特征影响着分布式系统的行为,因而也影响这些系统的设计。
为适应用户需求的改变,无线网络和有服务质量保障的高性能网络应运而生。

分布式系统的连网问题

性能、可伸缩性、可靠性、安全性、移动性、服务质量、组播。

性能

延迟和点到点的数据传输率。
网络的传输率主要是由它的物理特征决定的,而延迟则主要由软件开销,路由延迟和与负载有关的统计因素决定。
在分布式系统的进程之间传送的许多消息的规模很小,因此延迟在决定性能上与数据传输率有相同或更重要的意义、
网络的系统总带宽是度量吞吐量的指标,它表示在给定的时间内网络可以传输的数据总量。

可伸缩性

未来互联网的大小可能和地球上人口数量相当,到那时网络上将有数十亿的结点和上亿可用的书记。这些数字表明了互联网必须能够处理未来在数量和负载上的变化。
为了适应互联网下一阶段的发展,技术人员正在对寻址和路由机制进行一些实质性的改变。
对于简单的客户读完i其应用(例如web),未来的数据流量的增长至少将和上网用户数量成正比、
互联网基础设施的能力是否能适应这样的增长,必须依赖经济学的使用,特别是在对用户的收费和实际发生的通信模式方面----例如应根据用户的位置做某种处理。

可靠性

可靠性
在上一章关于故障模型的讨论中,描述了通信错误所带来的影响。
许多应用可以从通信故障中恢复,因此并不要求保证无错通信。
端对端争论也进一步支持了“通信子系统无需提供完全无错的通信”这一观点,通信错
误的检测和校正通常由应用层软件完成。
大多数物理传输介质的可靠性很高。错误通常是由于发送方或接收方的软件故障或者缓
冲溢出造成的,而不是网络错误造成的。

安全性

大多数组织采用过的第一层防御是为他们的网络和计算机设置一个防火墙。
防火墙在组织内部和互联网之间创建了一个保护的边界,其目的是保护组织中所有计算机上的资源不被外部用户或进程访问,并控制组织中的用户使用防火墙外的资源。
防火墙通常按照组织的安全策略进行配置,允许某些进入或流出的信息通过并拦截其他消息。

移动性

移动性移动设备常常改变所处的位置,可以在方便的网络连接处重新连入,甚至在移动的时候使用。
虽然无线网络提供了对这些设备的连接,但互联网的寻址和路由机制都是在移动设备出现之前开发的,并不太适合与不同子网进行间隙连接的需求。
虽然互联网机制已经有所改进并被扩展来支持移动性,但随着未来移动设备使用数量的增长,还必须进行更进一步的开发。

服务质量

服务质量
第1章中把服务质量定义为“在传输和处理实时多媒体数据流时满足期限要求的能力”。
这也给计算机网络提出了新的要求。
传输多媒体数据的应用要求所使用的通信通道有足够的带宽和并对延迟有所限制。
一些应用能动态地改变它们的要求,并指定可接受的最低服务质量和期望的最佳值。

组播

分布式系统中大部分的通信是在两个进程之间进行的,但也经常有一对多通信的需求。
向多个地址发送的代价比较大,而且也不具备应用所需的容错性。
因为这些原因,许多网络技术都支持同时向多个接收方传递消息。

3.2 网络类型

支持分布式系统的网络类型:个域网、局域网、广域网、城域网以及它们的无线变体。

3.3 网络原理

3.3.1数据包的传输

计算机网络的大多数应用需求是按逻辑单元发送信息或消息。
在消息传递前,被分割成数据包
形式最简单的数据包是长度有限的二进制数据序列(比特或字节数组)以及源地址和目的地址。

使用长度有限的数据包是为了:

网络中的每台计算机能为可能到来的最大的数据包分配
足够的缓冲空间
避免长消息不加分割地传递引起的为等待信道空闲而
出现的过度延迟

3.3.2 数据流

视频/音频流比分布式系统中其他大部分通信形式所需要的带宽都要高。及时传
输这种数据流依赖于具有一定服务质量(带宽、延迟和可靠性必须都有保证)。
(1)ATM网络专门设计为提供高带宽和低延迟,并通过保留网络资源保证服务质量。
(2)IPv6的一个特色是实时流中的每一个IP数据包都能在网络层被单独识别和处理。
(3)资源保留协议(Resource Reservation Protocol,RSVP)使得应用能协商实时数据流的带宽预分配。
(4)实时传输协议(Real Time Transport Protocol,RTP)是一个应用级数据传输协议,它在每个数据包中包含了播放时间和其他定时要求。

3.3.3 交换模式

网络是一组由电路连接起来的结点组成的。为了能在任意两个结点
间传输信息,交换系统是必不可少的。
广播、电路交换、包交换、帧中继
(1)广播
广播是一种不涉及交换的传输技术。任何信息都将被传给每一个结点,由接收方判断是否接受。一些lan技术(包括以太网)是基于广播的。
无线网络也有必要基于广播,但是由于缺少固定电路,广播只能到达蜂窝内的结点。
(2) 电路交换
通信之前进行线路的预留,通信完成后释放线路资源,通信效率不高。
(3)包交换
存储转发网络不需要预留链路资源
通过目的地址进行寻址和转发
在每个交换结点上有一台计算机。数据包到达一个结点后先存储在这个结点的内存中,再由一个程序选择数据包的外出电路,将它们转发到下一个离它们目的地更近的结点、
互联网就是典型的包交换网络
(4)帧中继
帧中继给包交换网络引入了电路交换的一些优势。
需要预留链路资源,因此能够提供QoS
交换结点(通常是专用的并行数字处理器)通过检测帧的前几位信息来路由帧
ATM网络是一个典型的例子

3.3.4 协议

协议是指为了完成给定任务,进程间通信所要用到的一组众所周知的规则和格式。协议的三个重要组成部分:语法、语义、同步。
协议层网络软件是按层的层次结构排列的。每一层都为上面的层提供了相应的接口,并扩展了下层通信系统的性质。层由与网络相连的每一个计算机上的一个模块表示。
协议族一套完成的协议层被称为协议族或者协议栈
数据包组装网络层协议的数据包包括头部和数据域。
在大部分网络技术中,数据域是长度可变的,其最大长度称为最大传输单元( Maximum Transfer Unit,MTU)。
如果消息的长度超过底层网络层的MTU,就将其分割为多个大小适当的块,并标上序列号以便其重新装配,再用多个数据包进行传输。例如,以太网的MTU是1500字节,如果消息不超过这个数据量,就能在一个以太网数据包中进行传输
端口端口是主机中可由软件定义的目的点。它隶属于进程,使得数据能传输到位于目的结点的指定进程。
端口的核心思想是运输层协议的复用
寻址
传输层负责将消息传递到目的地址,其使用的传输地址由主机的网络地址和一个端口号组成。网络地址是能唯一标识主机的一个数字标识符,可以让负责将数据路由到该主机的结点准确地定位它。
网络层采用两种方法传递数据包
(1)数据报包传递:数据报网络地本质特征是每个包地传递都是一个 “一次性”的过程;不需要计划,一旦包被传递,网络就不再保存它的相关信息。
(2)虚电路包传递:一些网络级的服务利用类似于电话网络中传递的方式实现包传输。必须在经源主机A到目的主机B传递包之前建立虚电路。一旦建立起虚电路,就可以用它传输任意数量的数据包了。

3.3.5路由

路由时除了局域网之外,其他网络都需要的功能。

3.3.6 拥塞控制

为了避免数据包在网络中传递时经过拥塞结点而被丢弃的情况,最好将数据包保存在发生拥塞之前的结点中直到拥塞减少。这固然会增加数据包的延迟,但不会极大降低整个网络的吞吐量。用于实现该目的的技术称为拥塞控制。

3.3.7 网际互连

为了建立一个集成的网络(互连网络),必须集成许多子网,而它们各自基
于上述某种网络技术。为了实现集成,需要实现以下几方面:
1)统一的互连网络寻址方案,使得数据包可以找到接入任一子网的任一主机。
2)定义互连网络中的数据包格式并给出相应处理规则的协议。
3)互连组件,用于按照互连网络地址将数据包路由到目的地,可用具有多种网络技术的子网传递数据包。

在图示的这部分网络中,有两个以太网交换
机和几个以太网集线器。两者对IP数据包来说都
是透明的。以太网集线器只是一种将以太网电缆
的多个段连接在一起的手段,在网络协议层,这
些段形成一个以太网。主机收到的所有以太网数
据包将转播到所有的段。以太网交换机连接了几
个以太网,用于将进人的数据包路由到目的主机
所在的以太网中。
除了像以太网和无线网络(这些网络中的主机由一种传输介质连接),其他所有网络都需要路由。
在一个互连网络中,可由直接连接将路由器链接起来,也可以通过子网将路由器互连
路由器负责将从任一连接来的互连网络数据包准确地发送到下一条连接。
路由器也因为这个目的而维护路由表。
网桥
网桥链接不同种类的网络,一些网桥链接几个网络,它们也被称为网桥/路由器。
集线器
集线器是将主机、以太网和其他广播型局域网技术的扩展网段连接起来的一种方便的手段。它有多个插槽(通常有4~64个),每一个插槽都可以连接一台计算机。它们也用于克服单个网段带来的距离上的限制,提供添加额外主机的途径。
交换机
交换机的功能与路由器相似,但路由器只用于局域网(一般是以太网)。也就是说,它们将多个分离的以太网互连,将到达的数据包路由到适当的外出网络中。它们在以太网的网络协议层上完成这一个任务。
与集线器相比,交换机的好处是它分离了到达的流量,仅在相关的外出网络上传输数据包,减少了所连接网络的拥塞。
三层交换机
交换机和路由器的结合,广泛用于局域网,一次路由多次转发。
隧道
当一对连接到同一类型的两个网络中的结点需要通过另一种类型的网络进行通信时,它们之间通过构造协议“隧道”来达到这一目标。
ip伪冒
ip数据包中包括一个源地址–发送方计算机的ip地址。心怀叵测的发送者可以轻易地使用别的地址来代替它。这个漏洞已成为多起著名攻击地源头。2000年2月出现的分布式拒绝服务攻击。所使用的方法就是在几个站点向大量的计算机发出ping请求(ping是一个简单的服务,用于检查主机的可用性)。这些恶意的ping请求在它们的发送方地址域中都填上了目标计算机的IP地址,因此ping的应答就指向目标计算机,造成
它们的输入缓冲溢出,造成合法的IP数据包无法通过。
移动ip
(1)对服务的简单访问并不需要移动计算机保留一个地址,它可以在任意地方获得一个新的ip地址。
(2)动态主机配置协议(DHCP)正是用于这一目的的,它使新接入网络的计算机动态获得一个在本地子网地址范围内的ip地址,并从本地DHCP服务器上找到诸如DNS服务器这样的本地资源地址。
(3)当移动计算机在局域网和无线网络之间移动时,如果要让用户和资源共享应用访问移动计算机,移动计算机必须保持单个ip号,但ip路由是基于子网的。
(4)子网位于固定的地点,将数据包正确地路由到子网取决于子网在网络上的位置。
(5)移动ip是该问题的解决方案,该方案的实现对用户是透明的,因此当移动主机在不同位置的子网中移动时,ip通信会继续正常地进行。

分布式计算(网络和网际互连)相关推荐

  1. MassGrid分布式计算网络

    MassGrid分布式计算网络 随着机器学习.大数据.渲染服务.搜索等行业的兴起,这些计算开销大.并行度高的高性能计算需求越来越大,MassGrid希望能成为全球最大的分布式GPU高性能云计算网络,通 ...

  2. 《大数据、小数据、无数据:网络世界的数据学术》一 3.4 开放学术

    3.4 开放学术 随着开放获取.开放资源.开放数据.开放标准.开放知识库.开放网络.开放书目.开放注解等专业词汇的出现,"开放"列表依旧不断增加.正如第1章介绍的那样,开放获取运动 ...

  3. 即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务

    我在区块链会议上就即将到来的公共"分布式云"系统进行了讨论,该系统将主流的公共云平台(如AWS,Azure,Google Cloud,Heroku等)与区块链和P2P网络相结合,比 ...

  4. MassGrid虚拟机网络Alpha版上线体验

    MassGrid是一个基于区块链技术的分布式计算网络,MassGrid能将分散在世界各地的硬件计算资源虚拟化成为分布式计算网络中的节点,用户可使用该计算网络访问无限量的计算资源进行机器学习.大数据.渲 ...

  5. 分布式系统原理_终于有架构大牛把分布式系统概念讲明白了,竟然用了足足800页...

    10年来,随着网络技术的发展.计算机应用的深入.分布式系统构建技术的日益成熟,分布式系统逐渐深入到人们的日常活动,并渗透到社会.经济.文化生活的各个方面.现今,分布式系统作为主流的软件系统,已成为人们 ...

  6. 不懂分布式系统概念没关系,这份足足《800页分布式系统概念》啃完不信你还不懂!

    在计算机科学中,分布式计算,英语:Distributed computing,又译为分散式计算)这个研究领域,主要研究分散系统(Distributed system)如何进行计算.分散系统是一组电子计 ...

  7. 以太坊 智能合约 简介

    以太坊是一个分布式的计算平台.它会生成一个名为Ether的加密货币.程序员可以在以太坊区块链上写下"智能合约",这些以太坊智能合约会根据代码自动执行. 以太坊是什么? 以太坊经常与 ...

  8. 张家口以太坊智能合约开发实战pdf_以太坊的再次腾飞,你看得懂么?

    最近以太坊涨势明显,主要原因来源于一个平台对他的推广.那么,我们就来了解一下,这个平台是怎么回事儿.对以太坊的生态,会有什么样的帮助. ------------------------ FORSAGE ...

  9. 2021云栖大会丨阿里云发布第四代神龙架构,提供业界首个大规模弹性RDMA加速能力

    简介:10月20日,2021年杭州栖大云会上,阿里云发布第四代神龙架构,升级至全新的eRMDA网络架构,是业界首个大规模弹性RDMA加速能力. 10月20日,2021年杭州栖大云会上,阿里云发布第四代 ...

最新文章

  1. 面试题小记:1、统计字符串出现的次数,2、约瑟夫环问题
  2. tracepro应用实例详解_建筑安装工程造价,高清PPT图文详解,小白也能学会的简单步骤...
  3. JavaScript有关的10个怪癖和秘密
  4. 订单库存是否与库存地有关
  5. 以太坊源码分析-交易
  6. PHP解析URL并得到URL中的参数
  7. 为什么要使用Entity Framework
  8. ecshop获取客户端操作系统
  9. 基于Opencv--图像上采样
  10. 信贷常用风控报表(一)
  11. JAVA中GridBagLayout布局管理器应用详解
  12. 让Windows 7安装更快速.
  13. Ucenter通信原理
  14. xycms留言板 php 1.5,XYCMS留言板PHP版 v1.9
  15. Android之利用volley搭建简洁网络框架
  16. python自动轨迹绘制七边形_斜抛运动的数学模型
  17. matlab gpa排名,GPA如何决定申请排名多少的大学?(附TOP100大学要求)
  18. 中科院计算机所 保研机试题,中科院软件所、计算所保研复试回忆
  19. 百度云盘超4G大文件上传不了怎么办?
  20. psutil:系统、进程,信息都在我的掌握之中

热门文章

  1. python汇率的转换程序_【菜鸟学Python】案例一:汇率换算
  2. 字符串查找 cmd find命令
  3. c语言建立地铁信息,第十次ccf-地铁修建 C语言版
  4. 在 4GB 物理内存的机器上,申请 8G 内存会怎么样?
  5. A*算法项目实践之一:栅格法的使用与障碍物栅格的生成
  6. 在工作中学习到了些什么?
  7. 史上最全python字符串操作指南 #华为云·寻找黑马程序员#
  8. ILPD(印度肝病患者)分类BP算法和KNN
  9. MySQL单表查询练习题
  10. 世态炎凉,冷暖自知-一名某易公司员工自述的裁员经历