日前,APNIC(亚太地区互联网信息中心)首席科学家Geoff Huston发表《NEW IP和新兴通信技术》一文,分析了互联网相关的新兴技术,并对新IP提案何去何从做出判断。
Geoff Huston
去年一个“新IP”框架被提交给在国际电联,在这个框架里重新出现了一种以网络为中心的通信架构观点设想,在设想中应用行为由网络管理的控制机制来调节。
这不是我们第一次看到有人提议重新思考互联网技术的基本架构(例如,十几年前美国研究界就有过“Clean Slate”项目的努力),当然这也不会是最后一次。然而,这个新的IP框架在限制应用程序行为方面提出了非常多的规范,似乎忽略了过去三十年来的市场演进过程中最基本的教训:通信服务不再是计划经济,现在通信行业以传统的市场化经济的方式运作,而多样化的服务市场表现为应用行为的多样化。
这种市场化经济的内涵最终决定了通信行业的未来,决定了所提供的服务类型,甚至决定了产生这些服务的技术,都是消费者选择的结果。消费者往往是善变的,他们容易被过往的潮流所迷惑,同时也可以是既保守又冒险的。但无论你如何看待消费市场的理智,推动这个行业发展的是消费者的钱。和其他以消费者为中心的服务市场一样,消费者想要什么,他们就能得到什么。
然而,这不仅仅是简单的消费者偏好。这个行业的经济性质的变化,也意味着投资者和投资主体的变化,意味着经营者的变化,也意味着这个行业的集体预期以及这些预期的表述方式的变化。这真的不是由某个硬邦邦的国际委员会来主宰未来消费者的偏好。这些冠以崇高头衔的委员会,如“2030年网络技术焦点小组”,发现他们深思熟虑的预言居然一次又一次地与现实背道而驰!他们的前辈们在类似的委员会中犯着同样的错误,这些委员会中的前辈们先是错过了电脑主机,然后他们又没能看到个人电脑的革命,最后又被智能手机完全惊呆了。很显然,不管10年后的网络会是什么样子,很显然,它不会是这个2030年的焦点小组所设想的“新IP”的样子!
我不认为自己有能力在预测未来方面做得更好,我也不会去尝试。但在这个演进的过程中,可见未来的技术萌芽现在已经浮现。我在这里想做的是描述一下我认为的最重要的技术萌芽和我选择它们的原因。
这是我个人对未来十年内一些技术的“个人”选择,我认为它们将在互联网中发挥突出的作用。
我们能从过去学到什么?
互联网的技术基础和整个数字通信大环境是用“分组”的概念取代了以往的“虚电路”。
IP架构主张彻底改变以前的电话系统架构。IP体系结构倡导的不是一个带有被动边缘设备的主动时分交换网络,而是一个基本被动的网络,在网络内部的网络设备仅仅负责交换数据包。而业务响应的功能则被推送到网络边缘的设备上。网络和设备各自的角色在向互联网过渡的过程中被颠倒了。
但改变是非常困难的,几十年来,许多与网络提供商或网络服务商有利益关系的业界人士都在努力扭转这种网络服务模式的倒置。网络运营商在处理基于分组的有效载荷的同时,努力引入基于网络的服务响应。我们看到人们努力开发基于网络的服务质量保证方法,试图在单一网络平台内为不同类别的报文流提供不同的服务响应。我认为经过大约二十年发展,我们可以把这种努力称为“大失败”。然后是MPLS中的虚拟电路仿真和最近的松散源路由(SR)方法的变种。我觉得奇怪的是,虽然通过入口流量疏导就可以以更低的成本提供流量分片的基本功能,这些方法总试图在网络中的所有活动元素之间进行协调。说句开玩笑的话,我觉得在网络中加入更多的复杂性是卖出更多更贵的路由器的一种方法。我不愿将这些技术归类为新兴技术,因为它们在许多方面似乎更像是一种倒退措施,其动机更多的是希望为分组传输这一本无特色的商品服务“增值”。这些基于网络的服务的一些努力之所以能够长期存在,是网络运营商对它们成为商品公用事业命运的一种抵抗,而不是电路交换网络架构的概念包含了任何内在价值。
与此同时,我们在网络的其他方面也取得了一些惊人的进展。我们一直在创建广泛分布的容错系统,这些系统不依赖于集中的命令和控制。域间路由协议BGP已经默默地支持了互联网大约30年的运行,任何学习过BGP协议的人都会为它的设计留下深刻的印象。它管理的网络的复杂程度,已经比90年代初协议设计时的网络复杂度要大9个数量级。我们创造了一种新的开放的、可访问的网络。在电话网络上创造新的应用几乎是不可能的,而在互联网上,这就是一直在发生的事情。从生机勃勃的应用程序世界到最基本的数字传输,网络世界处于不断变化的状态,新技术以令人眼花缭乱的速度出现。
在未来几年,我们可以观察到哪些新兴技术将在未来几年发挥关键作用?下面是我个人挑选的近期技术创新,我将把它们归纳为未来十年内将产生巨大影响的新兴技术。
光学相干性技术
几十年来,光纤领域使用的光的方法就像用手电筒,要么有光通过光纤,要么没有,这种“通断编码”(On-Off Keying,后文简称OOK)的简单光编码方式被不断完善,支持光速高达10Gbps的光纤,这在技术上并不是什么了不起的壮举,而且它遇到了开关键控(OOK)所使用的数字信号处理方式的物理性质限制。
但光纤中仍有足够的空间处理更多的信号。现在我们转向了光学相干技术,并在这个领域释放出了第二波创新浪潮。利用光学相干技术是复用其他领域中已经彻底实践过的技术。我们利用相位振幅编码技术来调节模拟语音线路上的调制解调器,在3Khz带宽的载波上产生56Kbps的信号。类似的方法被用于无线电领域,我们现在已经看到4G系统支持高达200Mbps的数据速度。
这种方法依赖于使用相位振幅和偏振编码,以获得接近香农极限理论上的数据容量。目前在光学市场上,每条波长上传输100Gpbs的光通信系统已经实现商品化应用,400Gbps的光通信系统也将陆续推出。在未来几年内,我们很可能会看到使用高密度相位调幅调制加上定制化的数字信号处理的Terabit级别光通信系统。与其他光通信系统一样,随着生产量的增加,我们也很可能看到这些系统的单位带宽价格会随着生产量的增加而大幅下降。在当今世界,通信容量是一种丰富的资源,而这种丰富的资源给了我们一个全新的网络架构视角。
5G
那么无线电通信系统怎么样?5G是新兴技术吗?
在我看来,5G和4G没有什么区别,真正的变化是从3G升级到4G时发生的从使用PPP会话的隧道协议转向原生的IP报文转发系统。5G看起来和4G基本相同,最基本的区别在于5G里无线电频率的上移。最初的5G部署使用的是3.8Ghz载波,但现在打算向24Ghz到84Ghz之间的毫米波频段进军。这是一个喜忧参半的问题,因为更高的载波频率可以分配更大的频率块,从而增加了无线网络的承载能力,但同时,更高的频率使用更短的波长,而这些毫米波波长的短波的行为更像光而不是无线电。在更高的频率下,无线电信号很容易被建筑物、墙壁、树木和其他较大的物体所阻挡,为了弥补这一点,任何业务都需要部署大量的基站来服务相同的覆盖范围。除了炒作之外,目前还不清楚毫米波段的5G服务是否有一个合理的可持续发展的经济模式。
基于这些原因,我将把5G放在重要的新兴技术的最后。无线电和移动服务仍将是互联网中最重要服务之一,但在这些系统的使用方式上,相对成熟的4G技术,5G并没有表现出根本性的变化。
IPv6
将IPv6视为2020年的新兴技术似乎很奇怪。IPv6的第一个规范RFC1883于1995年发布,这使得IPv6成为一项已有25年历史的技术。但是,在经历了多年的优柔寡断甚至断然否定之后,IPv4的枯竭问题似乎终于开始推动部署决策,目前四分之一的互联网用户设备已经开始使用IPv6,这个数字还将不可避免地上升。
很难说让剩下四分之三的用户使用IPv6还需要多长时间,但结论看起来是不可避免的。如果“新兴”的定义是在未来几年内大规模增加使用,那么尽管IPv6已经相当古老了,但它肯定是符合这个特征的。
我只是希望在我们最终转移到纯IPv6的服务环境之前,我们能找到一个更好的方法来解决IPv6协议扩展头的问题,尤其是与数据包碎片有关的问题。
BBR
Google发明的TCP控制算法BBR(Bottleneck Bandwidth and Round-trip time)是一种革命性的TCP传输控制算法,在我看来,它的重要性不亚于TCP本身。这种传输算法重新定义了终端主机、网络缓冲和传输速度之间的关系,使终端系统能够以多千兆的速度有效地消耗可用的网络容量,而不会受到设计不良的主动式数据包交换网元的阻碍。
基于丢包的拥塞控制算法在过去曾为我们提供了很好的服务,但如今,当我们考虑到每秒数百、千兆的端到端速度时,这种保守的基于丢包的系统控制算法已经不符合实际需求。BBR实现了一个全新的流量控制和传输速度管理的视角,试图将流速稳定在与可用网络容量的公平份额相同的速度上。这是一项值得关注的技术。
QUIC
长期以来,应用和网络之间一直存在着紧张的关系。在TCP的端到端世界中,网络的资源是在活跃的客户端间共享的,而共享的方式是由客户端自己决定。这对网络运营商来说是它们最痛恨的事情,他们更希望主动管理网络资源,为客户提供确定性的服务结果。为了实现这一目标,在网络中经常会看到各种形式的基于策略的流控系统,他们通过数据包头的“特征”来标识流量对应的应用,然后执行相应的流控策略。这类流控系统要求每个IP数据包的内部内容都是可见的,在TCP协议下这是常见的情况。
QUIC是一种新封装协议,它使用UDP数据包作为外部可见的封装,并对报文内部的TCP和内容有效载荷进行加密。这种方式不仅将TCP的流量控制参数隐藏在网络和网络的流控引擎之外,还将数据流算法的控制权从通用的主机操作系统中解脱出来,交给了每个应用程序。这就给了应用更大的控制权,使应用可以独立于其运行的操作系统而调整其行为。
此外,它消除了TCP应用需要使用基于操作系统的TCP数据流控制模式这种“一刀切”的情况。通过QUIC,应用程序本身可以根据网络路径当前状态的参数对其流控行为进行定制,以优化应用程序的行为。
这种控制权从操作系统平台到应用的转移很可能会持续下去。应用程序希望获得更大的灵活性,以及对自身行为和服务更大程度的控制。通过使用基本的UDP协议,主机平台的TCP实现被绕过了,应用程序的流量行为可以被自身完全控制。
无解析器DNS
我本来想说的是“DNS over HTTPS”(DoH),但我不确定DoH本身是一种特别新颖的技术,所以我不确定它是否符合这个“新兴技术”的范畴。几乎从有防火墙和隐私问题的时候开始,我们就使用HTTPS作为穿透防火墙的隧道技术和通信隐私增强技术。在HTTPS会话中建立IP数据包隧道的软件工具已经存在了几十年,这并没有什么新奇的地方。把DNS放到HTTPS中只是对使用HTTPS作为通用的隧道技术模式的一个小改变。
然而,HTTPS本身提供了一些额外的功能,这是普通的DNS over TLS(即HTTPS的安全通道部分)本质上无法提供的。我指的是Web中的“服务器推送”技术。例如,一个网页可能会参照一个自定义的样式页面来确定页面的显示效果,为了不让客户端再进行一轮DNS解析和建立连接来获取这个样式页面,服务器可以简单地将样式页面资源和使用它的网页一起推送给客户端。从HTTP的角度来看,DNS请求和响应看起来就像其他的数据对象事务一样,在没有触发DNS查询的情况下主动推送一个DNS响应,和主动推送一个样式表没有什么区别。
然而,就互联网的命名架构而言,这是一个意义重大的步骤。如果这些名称只能在特定的网站环境中访问,而使用任何其他工具包括传统的DNS查询都无法访问,那该怎么办?互联网可以被定义为一个连贯的单一名称空间。我们可以通过发送对资源的引用例如名称来进行通信,而这只有当我访问的资源名称和你访问的资源名称相同时才有意义。不管使用的是什么应用,也不管该名称的查询上下文可能是什么,DNS解析的结果都是一样的。然而,当网站将解析的名称推送给客户端时,网站创建了与其他任何名称上下文都不同的自己的上下文和环境。现在不再有一个连贯的名称空间,而是许多零散的潜在重叠的名称空间,而且没有明确的方法来消除潜在的名称冲突使用。
许多新兴技术背后的驱动力是速度、便利性和定制环境以更适应每个用户。从这个角度来看,无解析DNS几乎是不可避免的未来。然而,其坏处是互联网失去了一致性,目前还不清楚这种特殊的技术会对互联网产生积极的影响,还是极具破坏性的影响。我想,我们将在未来几年内拭目以待。
量子网络
1936年,早在我们制造出现代第一台可编程的计算机之前,英国数学家就设计了一个关于通用计算机的思想实验,更重要的是,他把问题分为“可计算”问题和“不可计算”问题,“可计算”问题是在有限的时间内就能解决的,“不可计算”问题是机器永远不会停止的问题。我们甚至在第一台物理计算机出现之前就知道,有一类问题是永远无法用计算机解决的。彼得-肖尔在1994年也完成了类似的壮举,他设计出了一种算法,可以用一台尚未建成的量子计算机实现在有限的时间内解决质因子化问题。这种新型计算机处理问题的能力(和局限性)早在任何这样的机器被制造出来之前就已经被描绘出来了。量子计算机是计算世界中一种新兴的潜在颠覆性技术。
还有一种相关的新兴技术--量子网络,即量子比特(qubits)在量子网络之间传递。和其他许多人一样,量子网络是否会成为数字网络演进中的未知的偏移,还是会成为未来数字服务的传统主流基础,我对此没有特别的见解。只是觉得现在下结论还为时过早。
架构的演变
为什么我们还能看到技术的不断进化?为什么不准备说“好了,工作完成了。我们都去酒吧吧!”我猜想,继续改变互联网技术平台的压力来自于互联网架构本身的演变。
有一种观点认为,互联网最初模式的目的是将客户机与服务连接在一起。现在我们可以让每个服务运行在一个专门的接入网络中,客户机需要通过特定的接入网络来访问特定的服务。但在80年代小范围地尝试这种模式时,普遍的反应都是惊恐地退缩!所以我们把互联网作为一个通用的连接网络。只要所有的服务和服务器都连接到这个通用网络上,那么当客户端也连接上来后,就可以访问任何服务。
在90年代,这成为一个革命性的进步,随着用户数量的增长速度超过了服务器的增长能力,这种情况变得不可持续。当时的流行服务有点像在网络数字世界中的黑洞。我们需要一个不同的解决方案,于是我们想到了内容分发网络(CDN)。CDNs使用专用的网络服务,在整个互联网上维护一组等效的服务交付点。而不是使用单一的全局网络来访问任何连接的服务,客户需要的只是一个接入网络,将他们连接到本地聚合的CDN接入点。我们越是使用本地接入的服务,就越少使用更广域的网络。
这对技术意味着什么?
其中一个影响是,保持一个单一连通的互联网的动机在减弱。如果用户所希望的大多数数字服务都可以通过纯本地访问基础设施获得,那么谁来支付相对高昂的全球传输成本,以访问剩下那一小部分仅限远程访问的服务呢?本地服务还是否需要访问全球唯一的基础设施呢?
NAT是一个极端的例子,仅有本地的服务在仅有本地的地址情况下工作得很好,而本地使用名的泛滥也导致了类似的结论。我们很难得出结论,互联网碎片化的压力是否随着内容分发网络的兴起而增加。然而,如果用物理世界的熵的方式来看待碎片化,那么就需要不断的努力来抵抗碎片化。如果不能持续努力来维护一个全局性的唯一标识系统,我们似乎就会走向局部范围的网络。
另一个含义是应用中的特定服务范围化的兴起。这方面的例子可以从QUIC的首批部署中看到。QUIC是谷歌的Chrome浏览器在访问谷歌网络服务器时专门使用的。传输层协议传统上是放到操作系统中作为不同应用的通用服务,现在则被提升到了应用中。以往支持使用通用的操作系统功能集而不是使用定制的应用功能的设计考虑不再适用。随着能力更强的终端系统和更快的网络的部署,我们能够构建高度定制化的应用。浏览器已经支持许多过去只在操作系统中实现的功能,许多应用似乎也在追随这一趋势。这不仅仅是希望对终端用户的体验进行更精细的控制,同时也是每个应用都要将自己和与用户的交互行为隐藏起来,不让其他应用、主机操作系统和网络对自己产生影响。
如果说推动互联网发展的资本是来自于对终端用户的习惯和欲望的了解,例如谷歌、亚马逊、Facebook和Netflix以及其他许多应用似乎都是如此,那么这些应用将自己的知识暴露给任何第三方都是愚蠢的。相对于传统应用依赖操作系统和网络提供的丰富服务,我们看到了“偏执型”应用作为新技术模式正在崛起。这些偏执型应用不仅将其外部依赖点降到最低,还试图将其行为的可见性降到最低。
改变是一种生活方式
这些新兴技术在互联网中与现有的服务和基础设施竞争的压力,也许是最令人鼓舞的迹象,表明互联网仍有生命力,离走向过时和无意义的时代还有相当长的时间。我们仍然在改变基本的传输要素,改变底层的传输协议,改变命名和寻址基础设施,改变服务提供的模式。
而这大约是我们能得到的最好的信号,即互联网绝不是一个已经解决的问题,它仍然面临着许多重要的技术挑战。
这让“New IP”提案何去何从?
在我看来,它不会有什么用处。我认为它将与众多的前辈们的命运一样,又是一个用更多无用的设备来装饰网络的无用的努力,它试图为网络附加的价值将没有用户愿意为之买单。
光通信世界和移动运营商的努力正在将通信变成一种丰富的无差别化的商品,而那些试图为这些商品添加无用的附加功能的努力都是无意义的。应用已经不再由网络来管理了。网络和应用之间几乎没有留下任何形式的合作,ECN的失败就证明了这一点。如我们在QUIC和BBR中看到的那样,应用程序现在正在向网络隐藏自己的控制机制,对网络的特性做出的假设越来越少。
所以,如果这一切是达尔文式的进化过程,那么在我看来,进化的注意力就活跃在设备上的应用和用户空间中,而网络仍然只是为了传输数据包而存在。
(本文未经作者本人确认。翻译:杨望)