内容简介:区块链互联网系列 (1)从2015年起,我们就把区块链定义为将来的一种计算或者通讯的一种基础设施,如果把区块链当做是一个基础设施,这代表以后的计算机服务器以及网络协议,从上面到下面都会有改变。在2017年5月,笔者在贵阳数博会演讲提出区块链互联网(链网)的大框架,讲到区块链互联网将支持“链满天下”并且将改变互联网的协议 [1, 2, 3]。链网将会是什么协议呢?首先链网协议必须兼容现在互联网的协议,但是又能支持区块链服务。但是互联网是40年前的技术,这个技术实在太旧了,今天任何2、3年前的技术,我们都可能是
区块链互联网系列 (1)
2019年1月14日
从2015年起,我们就把区块链定义为将来的一种计算或者通讯的一种基础设施,如果把区块链当做是一个基础设施,这代表以后的计算机服务器以及网络协议,从上面到下面都会有改变。在2017年5月,笔者在贵阳数博会演讲提出区块链互联网(链网)的大框架,讲到区块链互联网将支持“链满天下”并且将改变互联网的协议 [1, 2, 3]。
链网将会是什么协议呢?首先链网协议必须兼容现在互联网的协议,但是又能支持区块链服务。但是互联网是40年前的技术,这个技术实在太旧了,今天任何2、3年前的技术,我们都可能是认为旧了必须更改,何况40年前的技术?在正常情形下,这应该已经换代10多次。
有人说我们不需要取代TCP/IP,因为现在大部分网络应用在TCP/IP上。我们不同意,因为TCP/IP当初的胜出主要原因是技术简单,实现方便,但是它的理论基础不强大。何况链网还会带来新的研究问题, 许多区块链服务不能在TCP/IP上高速运行。这个链网表示新一代的互联网协议需要出现。
作为区块链互联网系列文章第一篇,我们讨论到现在TCP协议到底是不是一个好的协议。即使只是支持互联网运行,和区块链服务没有一点关系,我们仍然可以看到这个协议可以有很大的进步空间。只有我们了解这个协议的问题,我们的眼界才能打开。
TCP采取端到端的模式
最初设计的互联网在历史上的特定时期和特定情况下发挥了它的作用。互联网经历了多个发展阶段,已经成为世界上每个国家的数字基础设施。然而,最初的端到端设计原则已失去其实用性,并且成为更加高效实用的基础设施的主要障碍。
区块链将颠覆目前的互联网。这是一个大好机会,这将是创建新互联网的最佳时机。
图1: 现在互联网是一个黑箱
端到端互联网是一个黑箱
端到端(E2E)互联网的问题在于,它被设计成一个黑箱。在黑箱模型中,终端系统无法了解黑箱的状态,所有反馈都来自黑箱外部,即来自连接到黑箱的终端系统。
互联网采用黑箱模式,可以使非军工企业与军事供应商合作建立通信基础设施。最初的APARNET雏形就是一个国防资料网;通过使用黑箱模型,许多非军事供应商也参与到互联网的共建工作中。作为回报,他们有权使用网络。端到端网络的最初设计目标如下:
1. 系统的可生存性;
2. 多种多样的服务类型;
3. 多种多样的网络种类。
当今的军事网络和商业网络都具备上述这些属性。虽然这些属性造就了互联网的迅速扩张,是其成功的原因,但它也在许多方面阻碍互联网成为更有用和更高效的网络。
我们在以前已经提出链网会有不同的应用网络,例如交易网,监管网。以后还会有许多不同的应用网络出来支持“链满天下”, 链和链之间有跨链协议, 并且跨链协议有共识机制来保证跨链交易的资产是真实的。这表示链网的需求和40年前互联网的需求完全不一样。40年前设计是提供军事和非军事应用的共享平台,所以需要黑箱作业;现在是链满天下,资产上链,各主体需要对资产有共识后才能交易, 交易也要通过共识机制。这需要一个全新的网络基础设施,以前黑箱作业的协议不能够支持链网的需求。
端到端互联网的五大缺点
互联网是一个复杂控制系统。因此,应根据经得起时间考验的控制理论进行构建。控制理论告诉我们,控制系统包括两个基本方面:系统状态估计和对特定控制目标的控制。
黑箱模型的缺点包括(但不限于)以下几点:
1. 缺乏及时的网络内反馈;
2. 缺乏及时的网络内控制;
3. 缺乏对网络状态的系统化估计;
4. 缺乏对网络的系统化控制;
5. 盲视终端系统操作引起的噪声和干扰。
缺乏及时的网络内反馈
根据控制理论,控制操作质量的关键取决于控制器接收到的反馈。在黑箱设计中,反馈只能从终端系统接收。因此,当来自发送端的资料包流在网络中遇到拥塞时,发送系统无法收到拥塞点的拥塞情况。当路径的另一端检测到拥塞时,它只能对所发生的事情进行推测。从另一端系统反馈给发送端系统的质量,最好也不过是对路径拥塞的延迟和粗略估计,甚至可能是对路径情况完全错误的估计。
缺乏及时的网络内控制
根据控制理论,最佳控制操作是无延迟的; 然而一个简单的延迟会导致被控制的系统从有限维变为无限维。对于黑盒模型,控制只能在网络外部的终端系统启动。这意味着无论控制做得多好,它在拥塞点的影响都将被延迟。众所周知,这种设计会导致系统性能严重下降。在网络环境中,假设正确的控制操作是降低发送端系统的发送速率。当流量减少的影响到达拥塞点时,拥塞可能已经消失,或者路径的瓶颈可能已转移到另一个点。
缺乏对网络状态的系统化估计
黑盒模型另一个严重的缺点是阻碍了对网络状态的系统化估计。今天的互联网是由相关元件组成的连接网络。因此,为了估计网络的真实状态,有必要在网络内的多个点收集网络状态信息。例如,如果不观察与第一条路径具有相同连结的其他路径上的交通状况,就无法预测路径上的交通状况。采用端到端的设计,很难观察和估计互联网中真实的网络状态。但是,移动运营商或内容分发网络(CDN)运营商等都认识到需要进行全网状态监控。典型的运营商设施通常设有一个网络控制中心,允许运营商监控其网络中最重要的部分。然而,运营商无法估计自己的网络所连接的互联网的真实状态。对运营商而言,连接到运营商网络的互联网是无法用系统方法来进行估计的。
缺乏对网络的系统化控制
以同样的方式,黑盒模型也阻碍了对互联网状态的系统化控制。为了优化对一小部分网络的控制以达到特定控制目标,通常需要对与这一小部分网络有交互流量的互联网的其他部分施加控制。在几乎所有情况下,都有必要以系统化协调的方式在互联网的多点上实施控制。例如,假设控制目标是充分利用用户所购买的100 Mbps的互联网连接。但是,由于互联网是共享的,除非没有其他流量共享用户占用频宽,否则无法获得100 Mbps的速度。瓶颈处的其他流量可能导致用户可用的频宽下降到100 Mbps以下。端到端设计阻碍两个或更多独立方协调其控制行动,以实现独立各方所需达到的控制目标。因此,在通常情况下,企业(如银行或证券交易系统)会建立一个完全私有的网络来实现其控制目标。
终端系统的噪声和干扰
端到端设计其实是互联网本身表现不佳的根源。在网际网络上,每个自治系统(AS)不考虑其他AS的操作,除非有协定或合同的要求。因此,每个AS都各行其事,并常成为其他AS和用户的噪音和干扰源。一个简单的例子就是TCP众所周知的低性能。每个TCP发送方都受TCP标准的约束,从而在发送端维持所谓的“公平共享”输送量。在TCP模型中,共享同一瓶颈链路的其他发送方发送的所有通信都是自然发生的。因此,每个发送者都可以按自己的节奏自由地发送资料包,而没有流量控制机制来进行协调或调节。因此,今天的互联网流量是突发性的,具有高度随机性。由于在互联网上没有系统化的流量调节,在几乎整个互联网上任何的应用都经历了不同的RTT(往返时间)。当RTT变化较大时,TCP输送量可能会崩溃;今天,这种崩溃在互联网上仍然很常见。
图 2: 当端对端往返时间RTT上升时,TCP吞吐量随之下降[3]
本文所提的分析,也应用于互联网的基本架构。链网会有新的协议,架构,会是下一代的互联网[4]。
参考文献
[1]. 蔡维德等,“区块链的中国梦之一: 区块链互联网引领中国科技进步”, 2018.8.7 https://mp.weixin.qq.com/s/NtM7jHfxq1rsIAO0i7cEBg
[2]. 蔡维德等,“区块链的中国梦之二:链满天下打造数字社会”, 2018.9.11 https://mp.weixin.qq.com/s/WCIMDUSrCueJyNAMpAn8hA
[3]. Mathis, Semke, Mahdavi & Ott, “The Macroscopic Behavior of TCP Congestion Avoidance Algorithm,” Computer Communication Review,27(3), July 1997
https://www.slac.stanford.edu/comp/net/wan-mon/thru-vs-loss.html
[4]. 蔡维德等,“区块链互联网”, 2017.6.3
https://mp.weixin.qq.com/s/7cTVxvGVPZeax0zuUAhWmg
作者简介:
蔡维德:北航数字社会与区块链实验室,天德科技 ,国家大数据(贵州)综合试验区区块链互联网实验室, 天民(青岛)国际沙盒研究院, 赛迪(青岛)区块链研究院
Kevin Tsai : University of California at Irvine 名誉教授,美国麻省理工学院本硕博,区块链网络专家
以上所述就是小编给大家介绍的《蔡维德:TCP端到端设计又旧又多毛病》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 使用GrumPHP来纠正代码“毛病”
- 别担心,这的确是bug,你们的视力没毛病.....
- Spring AOP源码解析——专治你不会看源码的坏毛病!
- 专治不会看源码的毛病--spring源码解析AOP篇(2017版)
- 架构设计(7)——如何设计一个架构
- 架构设计(8)—高可用架构设计
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Kotlin实战
【美】Dmitry Jemerov(德米特里·詹莫瑞福)、【美】 Svetlana Isakova(斯维特拉娜·伊凡诺沃) / 覃宇、罗丽、李思阳、蒋扬海 / 电子工业出版社 / 2017-8 / 89.00
《Kotlin 实战》将从语言的基本特性开始,逐渐覆盖其更多的高级特性,尤其注重讲解如何将 Koltin 集成到已有 Java 工程实践及其背后的原理。本书分为两个部分。第一部分讲解如何开始使用 Kotlin 现有的库和API,包括基本语法、扩展函数和扩展属性、数据类和伴生对象、lambda 表达式,以及数据类型系统(着重讲解了可空性和集合的概念)。第二部分教你如何使用 Kotlin 构建自己的 ......一起来看看 《Kotlin实战》 这本书的介绍吧!