《分布式系统:概念与设计》一3.3 网络原理-阿里云开发者社区

开发者社区> 华章出版社> 正文

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

简介: 本节书摘来华章计算机《分布式系统:概念与设计》一书中的第3章 ,第3.3节,(英) George Coulouris Jean DollimoreTim Kindberg Gordon Blair 著 金蓓弘 马应龙 等译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

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网络在由很多结点组成的网络中传递数据包只需要几十微秒。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接