《分布式系统:概念与设计》一3.3 网络原理

3.3 网络原理

计算机网络的基础是20世纪60年代发展起来的包交换技术。它使得发送到多个地址的消息可以共享同一条通信链接,这不同于常规电话所采用的电路交换技术。当链接可用时,数据包按顺序排列在缓冲区中,然后发送。通信是异步的——消息经过一段延迟到达目的地,该延迟取决于数据包在网络中传递所花费的时间。

3.3.1 数据包的传输

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

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

3.3.2 数据流

我们在第2章中曾提到,多媒体应用中视频/音频流的传输需要保证其速度和一定范围内的延迟。这样的流和数据包传输所针对的基于消息的流量类型有本质上的不同。视频/音频流比分布式系统中其他大部分通信形式所需要的带宽都要高。
为了达到实时显示的目的,如果传输的是压缩的数据,则视频流的传输需要1.5Mbps的带宽;如果传输的是未压缩的数据,则需要大约120Mbps的带宽。另外,和典型的客户-服务器交互程序所产生的断断续续的数据流量相反,这种流是连续的。多媒体元素的播放时间是必须被显示的时间(对视频元素来说)或必须转成音频的时间(对声音采样而言)。举例来说,视频帧的流速是每秒24个帧,那么第N帧的播放时间是从流开始传输后的N/24秒。元素如果迟于它的播放时间到达目的地,它就不再有用,将被接收进程丢弃。
及时传输这种数据流依赖于具有一定服务质量(带宽、延迟和可靠性必须都有保证)的网络连接。现在所需要的是建立起多媒体流从源到目的地的通道,其中路由是预定义好的,在经过的结点上保留需要的资源,在通道中对任何不规则的数据流进行适当的缓冲。通过这个通道,数据可在要求的速率下从发送方传送到接收方。
ATM网络专门设计为提供高带宽和低延迟,并通过保留网络资源保证服务质量。IPv6(互联网新的网络协议,其描述见3.4.4节)的一个特色是实时流中的每一个IP数据包都能在网络层被单独识别和处理。
通信子系统若要提供服务质量保证,就要有能预分配网络资源并强行执行这些分配的设施。资源保留协议(Resource Reservation Protocol,RSVP)[Zhang et al.1993]使得应用能协商实时数据流的带宽预分配。实时传输协议(Real Time Transport Protocol,RTP)[Schulzrinne et al.1996]是一个应用级数据传输协议,它在每个数据包中包含了播放时间和其他定时要求。要在互联网中有效实现这些协议,90传输层和网络层都必须作出实质性的改变。第20章将详细讨论分布式多媒体应用的需求。

3.3.3 交换模式

网络是一组由电路连接起来的结点组成的。为了能在任意两个结点间传输信息,交换系统是必不可少的。这里我们定义在计算机网络中使用的四种交换。
广播 广播是一种不涉及交换的传输技术。任何信息都将被传给每一个结点,由接收方判断是否接收。一些LAN技术(包括以太网)是基于广播的。无线网络也有必要基于广播,但是由于缺少固定电路,广播只能到达蜂窝内的结点。
电路交换 电话网曾经是唯一的电信网。它们的操作非常容易理解:当主叫方拨号时,主叫方电话到本地电话交换台的线路会通过自动交换机连接到被叫方的电话线。长途电话的拨叫过程也是类似的,只不过要经过多个交换台而已。这种系统有时被称为老式电话系统(POTS)。它是典型的电路交换网络。
包交换 计算机和数字技术的诞生为电信领域带来了新的契机。从根本上说,它使得人们可以处理和存储数据,这使得以完全不同的方式构造通信网络成为可能。这种新的通信网络叫做存储转发网络。存储转发网络并不是通过建立或取消连接来构造电路,而只是将数据包从它的源地址转发到目标地址。在每个交换结点上(也就是几个电路需要互连的交汇处)有一台计算机。数据包到达一个结点后先存储在这个结点的内存中,再由一个程序选择数据包的外出电路,将它们转发到下一个离它们目的地更近的结点。
这里没有什么全新的内容,邮政系统就是一个信件的存储转发网络,其处理由人或机器在信件分拣室完成。而在计算机网络中,数据包的存储和处理很快,即使数据包路由了许多结点,也能给人们瞬间传输的假象。
帧中继 现实中,存储转发网络中每个结点转发一个数据包需要的时间从几十微秒到几微秒不等,这个交换延迟取决于数据包的大小、硬件的速度和当时的流量情况,但它的下限由网络带宽决定,因为整个数据包必须在它转发给另一个结点之前先收到。数据包在到达目的地址前,可能要通过很多的结点。互联网中大多数据包基于存储转发交换,正如我们已经知道的,即使是很小的互联网数据包通常也需要200ms左右的时间到达目的地。这个量级的延迟对于电话会议、视频会议这样的实时应用而言就太长了,91要维持高质量的会谈,延迟不得超过50ms。
帧中继交换方法给包交换网络引入了电路交换的一些优势。它们通过很快地交换小的数据包(称为帧)来解决延迟的问题。交换结点(通常是专用的并行数字处理器)通过检测帧的前几位信息来路由帧。帧并不作为一个整体存储在结点中,而是以位流的形式通过结点。ATM网络是一个最好的例子。高速ATM网络在由很多结点组成的网络中传递数据包只需要几十微秒。

时间: 2024-09-18 21:31:56

《分布式系统:概念与设计》一3.3 网络原理的相关文章

《分布式系统:概念与设计》一第3章 网络和网际互连

第3章 网络和网际互连 分布式系统使用局域网.广域网和互连网络进行通信.底层网络的性能.可靠性.可伸缩性.移动性以及服务质量特征都影响着分布式系统的行为,因而也影响这些系统的设计.为适应用户需求的改变,无线网络和有服务质量保障的高性能网络应运而生.计算机网络所基于的原理包括协议分层.包交换.路由以及数据流等,网际互连技术使得异构网络可以集成在一起.互联网就是一个重要的例子.它的协议广泛地应用于分布式系统中.互联网中使用的寻址以及路由方案经受了互联网快速成长所带来的影响.它们也被不断地修正,以适应

《分布式系统:概念与设计》一第3节 练习

前 言 在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了.本书的介绍性章节提到互联网和Web对诸多(如金融.商业.艺术.娱乐等)应用领域的影响以及对信息社会的普遍影响.它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求.从分布式系统的角度出发,这些开发在应用的范围.多个现代系统所支持的工作负载和系统大小等方面正在对底层系统架构提出实质性的新需求.重要的趋势包括网络技术上不断增加的多样性和普遍性(包括不断增加的无线网络的重要性).移动和无处不在计算元素

《分布式系统:概念与设计》一1.2 分布式系统的例子

1.2 分布式系统的例子 本节给出能激发读者学习积极性的当代分布式系统的例子,用于说明分布式系统所扮演的无处不在的角色和相关应用的多样性. 如1.1节所提及的那样,网络无处不在,成为我们现在认为理所当然的日常服务(互联网和相关的万维网.Web搜索.在线游戏.电子邮件.社会网络.电子商务,等等)的基础.为了进一步说明这一点,可参考图1-1,它描述了一系列所选的关键商务或社会应用部门,强调了相关的分布式系统技术已公认或新出现的应用. 正如所看到的,分布式系统包含近些年许多最重要的技术发展,因此理解底

《分布式系统:概念与设计》一第1章 分布式系统的特征

分布式系统的特征 分布式系统是其组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统.该定义引出了分布式系统的下列重要特征:组件的并发性.缺乏全局时钟.组件故障的独立性.我们看一下现代分布式系统的几个例子,包括Web搜索.多人在线游戏和金融交易系统,也考察今天推动分布式系统发展的关键趋势:现代网络的泛在特性,移动和无处不在计算的出现,分布式多媒体系统不断增加的重要性,以及把分布式系统看成一种实用系统的趋势.接着本章强调资源共享是构造分布式系统的主要动机.资源可以被服务器管理,由

《PADS 9.5电路设计与仿真从入门到精通》——第一章 绪论 1.1 PCB的基本概念及设计工具

第一章 绪论 PADS 9.5电路设计与仿真从入门到精通 本章主要介绍PADS的基本概念及特点,包括PCB设计的一般原则.基本步骤.标准规范等.着重介绍了美国Mentor Graphics公司的PCB设计软件:PADS 9.5,包括了PADS 9.5的发展过程以及它的新特点.PADS 9.5是一款非常优秀的PCB设计软件,它具有完整强大的PCB绘制工具,界面和操作十分简洁,希望用户好好学习本书,以便更加方便地使用PADS 9.5软件. 1.1 PCB的基本概念及设计工具 PADS 9.5电路设计

设计高密度 Wi-Fi 网络时,一定要掌握以下几个重点

相信很多人都会以为只有运动场.展览馆.大学.酒店.车站.机场等一些特殊的场地才会使用高密度 Wi-Fi 网络. 实际上,高密度 Wi-Fi 终端的场地非常普遍,其中包括公司办公区.会议室.培训室.现在一般的上班族身上可能就有3个使用 Wi-Fi 的移动终端 (手机.iPAD.笔记本电脑). 那么,假设有20个人开会的会议室便有多达60个移动终端在连接 Wi-Fi 网络. 以往, Wi-Fi 网络的设计只注重覆盖范围.诊断 Wi-Fi 网络的手段也集中在不同的位置测量信号强度 (RSSI) 和 信

DockOne微信分享(一二二):探索Kubernetes的网络原理及方案

本文讲的是DockOne微信分享(一二二):探索Kubernetes的网络原理及方案[编者的话]2016年ClusterHQ容器技术应用调查报告显示,一年来容器技术应用于生产的比例增长了96%,Kubernetes的使用率达到了40%,成为了最受欢迎的容器编排工具:那么Kubernetes到底是什么呢?它是一个用于容器集群的自动化部署.扩容以及运维的开源平台:那么通过Kubernetes能干什么呢?它能快速而有预期地部署你的应用,极速地扩展你的应用,无缝对接新的应用功能,节省资源,优化硬件资源的

vCenter 部件关系简介 & 网络原理

目录 目录 主机和集群 vCenter Datacenter Cluster Host Virtual Machine Folder Resource Pool Template 数据存储 Datastore Cluster Datastore 网络 标准交换机 分布式虚拟交换机 参考资料 主机和集群 vCenter vCenter 提供了对 Datacenter 便捷的单点控制平台,运行在 Windows 服务器中,可集中管理 VMware ESX/ESXi Host,并提供基本的 Datac

走向DBA[MSSQL篇] 针对大表 设计高效的存储过程【原理篇】 附最差性能sql语句进化过程客串

原文:走向DBA[MSSQL篇] 针对大表 设计高效的存储过程[原理篇] 附最差性能sql语句进化过程客串 测试的结果在此处 本篇详解一下原理 设计背景 由于历史原因,线上库环境数据量及其庞大,很多千万级以上甚至过亿的表.目标是让N张互相关联的表 按照一张源表为基表,数据搬移归档 这里我们举例N为50 每张表数据5000W 最差性能sql进化客串 2表KeyName 字段意义 名称等相同 从bug01 表中取出前500条不在bug02 表中的数据 最差性能: SELECT TOP 500 a.K