本篇文章5920字,读完约15分钟
网络技术真的像我们知道的那么好吗?
一场无声的革命正在颠覆网络产业现有的技术路线。我们不应该被许多精彩的新技术新闻稿所愚弄,而应该相信网络技术不仅健康而且繁荣。12年前,斯坦福大学发起了这场运动,这是一个名为“重新开始”的互联网项目。他们认为当时的互联网存在重大缺陷,需要全新的设计理念和方法。如果传统的进步和向后兼容的风格不被打破,互联网就不会真正有效。
这一运动发展成两个相互关联的趋势:软件定义网络和NFV网络功能虚拟化。如今,谷歌已经为其庞大的广域网(wan)建立了集成和内部网络控制。我们将使用“集成”来表示整个网络操作或部署的概念。综合控制不必是集中控制,但应考虑所有网络条件。许多sdn支持者实际上相信集中控制,但是我们反对集中带来太多的问题,系统可以控制整个系统而不需要集中控制。
由于sdn,越来越多的专家和公司考虑在广域网中建立电路交换或虚拟电路网络。几年前,这种发展是不可想象的,因为ip是一种数据报技术,而不是路径技术。今天,包括谷歌在内的一些公司正在考虑应用综合交通工程。例如,将最大-最小速率分配应用于全局网络,甚至将多商品流优化应用于全局控制所有流量的速率和路径。对许多人来说,这种发展是历史上的倒退,因为这些技术是20-40年前的旧技术。
为什么?谷歌给出的理由如下:
大多数网络技术都是专有扩展和专有管理,但缺乏可移植性
协议变得越来越复杂
几乎所有协议都只提供有限的控制
从用户的角度来看,以下缺陷很明显:
不管我们做了什么努力,服务质量在40年里从未真正实现过。
不管带宽有多大,在加载网页时仍然会有令人不快的延迟
虽然每一代新技术都能解决一些老问题,但它总是会带来新问题,增加成本;更糟糕的是,一些老问题仍然存在
从我们的观点来看,从表面上看,问题在于协议和标准之间有太多的重叠、矛盾和无效之处。
从根本上讲,互联网受到以下三个原因的困扰:
太多的间接机制不能直接改变错误的路线:缺乏可控性
信息过多,反馈机制不足:缺乏可观察性
太多不协调甚至冲突的协议和机制:缺乏结构性
互联网问题可以从mec(移动边缘计算)和cdn(内容分发网络)中看出。Mec和cdn实际上是不合理的技术之一。这里的想法是将内容推送到客户端,以实现高吞吐量和低延迟。但是他们忘记了这从根本上违背了互联网的宗旨。互联网的主要目的之一是共享;远程服务器可以向世界各地的用户提供内容服务。然而,mec和cdn技术将服务器从网络的远端推到客户端以获得服务质量。结果,在用户侧复制服务器不仅增加了成本,而且使得原始服务器和用户之间的网络变得无用。但今天,5g不得不大规模部署mec,cdn业务正在蓬勃发展;这意味着通过互联网共享远程服务器资源的目标是失败的。
互联网行业存在一个真实而隐蔽的问题:从一开始,互联网的目标之一就是让企业赚钱,这也导致了互联网公司推出新技术的真正动机,即赚钱,而不是让普通人更有效地使用互联网。
如何从根本上改善互联网
互联网的历史给了我们一个很好的教训。并非所有的互联网设计都是合理的。我们经常认为每一代互联网都解决了老问题,但事实并非如此。事实是:大部分改进来自通信速度和cpu。就投资回报而言,目前互联网的逐步改善是不值得的。
如果我们想从根本上提高互联网的质量,我们必须将两个学科结合起来:(1)控制理论或系统科学,(2)计算机科学。控制理论经受住了时间的考验。事实证明,控制理论几乎可以应用于各个领域,其结果是高效率和低成本。这包括各种传统产业、生态系统、运输系统、生物系统和经济系统。不幸的是,由于历史原因,计算机科学和控制理论之间没有太多的互动。事实上,控制理论可以解决ict行业的许多问题,这是一个半公开的秘密。谷歌、微软、许多互联网公司和美国国防部都试图采用相同的方法。
从控制理论和计算机科学中,我们可以推出三个属性作为下一代互联网的基础。这三个基本属性还显示了三个基本设计原则:可观察性、可控性和可结构化。在这三个属性中,可观测性和可控性是控制理论的两大支柱,而结构性是计算机和网络体系结构的核心理论。
为了实现真正的跨越式改进,新区块链互联网必须遵循以下三个基本属性:
3个基本属性:
1.足够的可观察性:在适当的位置选择足够的反馈信息并将其发送给控制器的能力
2.足够的可控性:能够在适当的位置选择足够的控制,并将其发送到控制驱动点
3.足够的结构性:在足够的可观察性和足够的可控性之间平衡适应性的能力
根据这三个属性,互联网的三个基本设计原则是有缺陷的,因为缺少至少一个或多个关键属性:
3个缺陷:
1.端到端(e2e或端到端)设计:缺乏可控性、可观测性和结构性
2.数据报路由:缺乏结构化和可控性
3.tcp传输速率控制:缺乏可控性和可观测性
我们将根据这三个属性来解决互联网的基本原理。
以前,在链式网络的第6章[1-6]中,当完全可观测性不可能或太昂贵时,我们提出了充分可观测性的新概念。在本文中,当完全可控性不可能或太昂贵时,我们还提出了一个类似的新概念:充分可控性。
在这篇文章中,我们将关注互联网的可控性。
可控性和充分可控性
可控性有许多定义。一个简单的定义是通过适当的输入在有限的时间内将电力系统从任何初始状态引导到任何最终状态的能力。在大多数系统中,可控性不是系统的原始属性,需要额外的手动控制机制。理论上,可控性在数字系统中比在非数字系统中更容易实现。原因是在数字系统中,设计者通常只需要植入一些软件控制机制。
上述定义可以称为完全可控性。尽管完全可控性是好的,但它通常是不切实际的,因为它可能太昂贵或不可能实现。在大多数情况下,甚至不需要达到完全的可控性;例如,数据包被迫以最差的路径通过网络,从而导致最大的拥塞。
因此,在实践中,我们所需要的只是部分可控性:迫使系统进入期望的状态,即最初的设计目标。这种有限的可控性被称为充分可控性。我们可以这样定义它:如果系统在一组允许的状态下启动,就有一个控制决策使系统状态移动到一组期望的状态。
互联网缺乏可控性
当我们把互联网视为一个控制系统时,我们感到震惊。因为从一开始,互联网的设计就没有完全的可控性。问题在于端到端的设计原则:e2e设计只考虑连接的两个端点,其余的互联网被视为一个黑匣子。然而,互联网是一个互联系统,组件系统的性能明显受到其他互联组件系统的影响。假设因特网的其余部分表现良好,并且受各种协议和标准的约束,因特网的性能可能是好的,并且整个系统可能是可控的。然而,互联网其他部分的良好表现只是一个假设,永远无法实现。
现在让我们来看看互联网的基础之一,即ip路由。它假设网络中的所有路由器都根据一致的路由表发送数据包。但事实上,在大型网络中,确保路由表的一致性是不可能的。更糟糕的是,现代路由器允许添加一些路由规则。通常,这些规则只是补丁。当添加它们时,工程师不做详细的预分析,整个网络以及分析和测试几乎都完成了。不要忘记,系统范围的分析和测试违反了e2e设计。这些规则通常会解决一个问题,但同时也会产生一个新问题。更糟糕的是,新的问题只有在系统中的一些变化或更多的规则被修改后才会出现。那时候,原本添加的规则已经被遗忘了;虽然这些新问题在新规则加入时根本不存在。因此,添加了规则的ip路由系统是不可控制和不可预测的。这是一个很难解决的基本问题。解决这个问题的方法有很多,其中之一就是应用控制理论,让严格的数学分析来保证和证明可控性和可预测性。
端到端原则也是一种业务方法
端到端原则也是一种业务方法,而不仅仅是一种控制系统方法。E2e意味着系统设计者放弃了整个系统的控制,只依赖于端点的控制系统。E2e允许各种类型的企业参与互联网的建设,这导致互联网的指数增长,并使许多公司获得巨额利润。
如果互联网是由传统的电话公司建立的,他们将采用不同的方法。首先,因为整个系统都在他们的控制之下,他们必须优化整个系统,否则,如果他们使用端到端的方法,他们的成本会增加,性能会下降。这是显而易见的,因为整个系统(整体)优化总是比组件(局部)优化好。
其次,由于电话公司是受监管的企业,它们对整个国家负责:它们希望确保互联网能够长期为人民服务,而不仅仅是公司的利润。四十年前,美国选择以局部优化的方式开发互联网,而e2e允许各种企业在不考虑长期和整体效率的情况下构建组件。有商业上的考虑,这种方法对各种企业都有许多好处;这样,各种问题就会在互联网上反复出现,它们可以不断地制造问题,解决商业周期,从而赚更多的钱。然而,从长远来看,这种方法使得整体成本更高,用户必须长期承受互联网的低性能。
必须整合可控的大型设施
随着互联网的发展,出现了一些互联网巨头,如谷歌、脸书、亚马逊、微软等。这些大公司开始感受到和电话公司一样的压力。例如,2010年,谷歌成为地球上第二大互联网运营商。以谷歌为例,他们发现了一个奇怪的现象:单位数据成本随着额外规模的增加而增加,这与规模经济的正常商业逻辑相矛盾。
谷歌认为,基本问题是:
今天的互联网协议和设备被设计为多个盒子的集合,而不是整个系统
今天的互联网协议和设备是以节点为中心的,而不是以系统为中心的
今天的互联网协议和设备旨在提高可行性并适应最坏的情况,而不是最好的性能
因此,问题的关键是目前的互联网协议和设备不能使整个系统可控。端到端原则使整个互联网无法控制和优化整个系统,而分布式控制使所有控制机制不协调。因此,所有新技术只能解决一些症状,但不能治愈整个系统的真正原因。谷歌吸取了教训,因为他们的系统太大了,他们必须进行集成控制,以实现最低的成本和最高的效率。
我们也可以从类比中学习。互联网是一个大规模的基础设施,所有大规模的基础设施都具有集成的系统规划、系统管理和系统控制,如国家交通系统、国家电网系统和国家电信系统。与互联网最相似的国家基础设施是国家运输系统,所有国家的运输系统都是集中规划和管理的。虽然互联网也是一个大规模的基础设施,人们总是认为集成控制和集成管理是完全相反的。但是这个想法是一个盲点。
谷歌问题的核心在于分布式控制和端到端设计缺乏可控性和确定性。这解释了为什么单位成本随着规模的增加而增加:如果整个控制和管理没有实施,谷歌总是假设最坏的情况和供过于求。
足够的可控性应用1:路由
在传统的ospf路由算法中,网络拓扑被洪泛到ospf区域的所有节点。然后,每个节点必须根据拓扑计算到所有目的地的最短路径。
Ospf有很多问题。首先,来自其他节点的反馈成本非常高,因为每当拓扑改变时,每个节点都必须用新的拓扑信息淹没整个区域。其次,在每个节点上做高度重复的计算,因为从点到点的最短路径是在每个节点上计算的。第三,每个节点的路由决策从来都不是最优的,因为计算没有考虑整个网络的实际情况。第四,路由是不可控制的,因为每个节点计算的最短路径可以随时更改,并且没有办法指定特定的路径。因此,从整个系统的角度来看,ospf是一种低效和浪费的路由控制。从控制的角度来看,它缺乏整个系统的可控性。
斯坦福大学著名的控制理论教授博伊德最近发表了一篇论文,其中使用了基于多商品流优化的全系统路由。由于整个系统用于优化数据包的传输,上述四个与ospf相关的问题就消失了。Boyd使用混合电路交换和分组路由网络来模拟。他的方法仍然不能构成完全的可控性,因为他不允许数据包以完全任意的方式通过网络。然而,他的方法可以被认为是足够可控的。
一个重要的路由性能指标是丢包概率。当网络负载增加时,丢包概率会增加。在1.33到1.67的负载水平下,最佳方法rt-optr和hist-optr的丢弃概率是ospf的10倍。这意味着当应用整个系统优化时,可以在足够的可控性下实现很大的性能改进。
足够的可控性应用2:流量控制
在互联网中,很难分析和优化协议,因为协议是由分布在不同位置的许多设备实现的。所有协议都有四个限制:本地/远程网络api、本地/远程操作系统、路径中的网络条件以及许多协议和标准的要求和规范。在网络环境中,即使在本地节点中,两个设备之间的所有操作都将被延迟,并且延迟大多是不可预测的。因为延迟是不可预测的,软件可以进入无限多种角落。因此,通常不可能证明协议的正确性。这就是为什么专家说网络编程很难。这就是为什么网络系统的完全可控性实际上是不可能的。
幸运的是,在数字系统中,我们通常有足够的自由选择有限形式的可控性来实现我们的目标。在下面,我们将以tcp为例。在tcp中,数据包传输受到众所周知的ack时钟机制的限制。
根据ack自定时,发送方不能改变其发送窗口(缓冲区)的大小,除非它从接收方收到ack。这是tcp设计者强加的一个条件,因为发送方应该只发送接收缓冲区可以接受的数据量。从控制理论来看,完全可控的tcp通道应该允许发送方在任何时间发送任何数量的数据。因此,tcp通道不是完全可控的。但是tcp已经为互联网服务了大约35年。
因此,有限可控性仍有其实用性,但问题是有限可控性能否带来良好的性能。众所周知,tcp在现代网络中性能很差。如今,几乎在所有情况下,接收缓冲区空都不是瓶颈,因此ack时钟已经成为过时的自我限制,这阻碍了tcp实现更高的性能。
谷歌意识到了ack时钟的局限性,设计了一种基于瓶颈带宽的传输机制。这种新机制在谷歌的bbr(一种tcp变体)中实现。
Bbr选择了一种新的有限可控性,允许发送方根据估计的瓶颈带宽发送数据,而不受ack包的限制。且根据给定速率对传输进行计时。这种机制是足够可控的:只要观察到给定的速率,发送者就可以随意发送。尽管这种可控性有其局限性,但它达到了bbr的设计目标,因此它也是一种充分的可控性。
据谷歌称,bbr比tcp数据速率提高了25倍。这表明充分的可控性是一个有用的概念。关键是选择合适的可控性来满足设计目标。
然而,bbr的可控性仍然不够好。正如我们在上一篇文章中指出的,bbr具有较高的重传率;与其他tcp替代产品相比,它将tcp性能提高了25倍,比filecatalyst低1000倍。这表明我们需要仔细选择足够的可控性。选择足够的可控性将对最终产品的性能有很大的影响。
本文由平台/作者授权的金融网站发布。请不要擅自转载。如果你对干货有意见或文章,你愿意为投资者提供最权威和专业的参考意见。无论你是权威专家、金融评论家还是智囊团,我们都欢迎你积极投稿,进入金融网站的著名栏目。
电子邮件地址:mingjia @ jrj,电话号码:010-83363000-3477。期待您的加入!
标题:蔡维德:链网设计的基要属性——可控性
地址:http://www.hhhtmd.com/hqzx/8808.html