《分布式系统:概念与设计》一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网络在由很多结点组成的网络中传递数据包只需要几十微秒。

相关文章
|
2月前
|
网络协议 安全 5G
网络与通信原理
【10月更文挑战第14天】网络与通信原理涉及众多方面的知识,从信号处理到网络协议,从有线通信到无线通信,从差错控制到通信安全等。深入理解这些原理对于设计、构建和维护各种通信系统至关重要。随着技术的不断发展,网络与通信原理也在不断演进和完善,为我们的生活和工作带来了更多的便利和创新。
76 3
|
1天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
1天前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
1天前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
1天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
1天前
|
XML JSON 网络协议
【网络原理】——拥塞控制,延时/捎带应答,面向字节流,异常情况
拥塞控制,延时应答,捎带应答,面向字节流(粘包问题),异常情况(心跳包)
|
3天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
27 1
|
1月前
|
存储 Dubbo Java
分布式 RPC 底层原理详解,看这篇就够了!
本文详解分布式RPC的底层原理与系统设计,大厂面试高频,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式 RPC 底层原理详解,看这篇就够了!
|
22天前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
55 4
|
1天前
|
网络协议 算法 Java
【JavaEE】——初始网络原理
局域网,广域网,局域网连接方式,交换机,集线器,路由器,网络通信,五元组(源IP,源端口,目的IP,目的端口,协议),协议分层,TCP/IP五层网络协议,封装和分用,交换机和路由器的封装和分用

热门文章

最新文章