Alphabet公司旗下的子公司谷歌公司对其处理互联网规模网络拥塞问题的新方法充满信心,目前正将该技术引入谷歌云平台(GCP),为企业提供基础设施服务。
谷歌公司推出新的BBR网络算法已经被用于加速其消费者服务,如YouTube和Google.com,这可能是其提高公共互联网性能的下一步。该公司表示,在这些服务中,已经得到了显著的改进,现在正在向谷歌云平台(GCP)用户提供该技术。
谷歌首席执行官桑达尔·皮查伊于2016年5月在加利福尼亚召开的谷歌开发者大会演讲
谷歌的BBR是一种设计用于处理常见问题的网络拥塞控制协议:构成现代互联网的复杂网络中的流量拥塞,拥挤的高速国际链路,每个移动设备只能接收基站回程的份额,家庭用户对DSL或电缆中心的共享连接,以及企业通过少数路由器共享数千台设备等。所有这些都构成了一个不能充分发挥其潜力的网络。
调研机构451 Research的首席分析师Eric Hanselman表示,“今天的互联网就像一个史前怪兽。谷歌的BBR就是一个解决互联网中最棘手的遗留协议性能问题所做出的最新努力。”
虽然许多数据组织从数据中心传递的数据没有受到拥塞的影响,但当数据流、传输大文件或需要实时响应时,它们的影响是显而易见的。随着BBR的初步部署,谷歌公司已经在YouTube和Google.com服务方面取得了显著的进步。现在部署在谷歌云计算平台,用户可以在自己的应用程序和服务中利用它的优势。
那么BBR如何工作?
数据包丢失一直是网络拥塞的一种信号,也是发送方需要降低数据速率的信号。互联网架构的最近变化使得这些技术的效率降低;宽带连接的最后一英里已经配置了大型缓冲区,而长途连接正在使用带有浅缓冲区的交换机。这样的组合意味着由于大量缓冲区中的排队延迟和主干道的流量不稳定性,导致互联网阻塞。
使用这些缓冲区,如何确定发送数据的最佳速度?一旦确定任何TCP连接路径中最慢的链接是什么,那么答案就会非常简单。该链接定义连接的最大数据传递速率,以及队列形成的位置。了解作为连接瓶颈的最慢链路的往返时间和带宽,该算法可以确定最佳数据速率的使用问题,这个问题长期被认为几乎是无法解决的。
这就是BBR名称的来源:Bottleneck Bandwidth and Round-trip(瓶颈带宽和往返传播)。根据这些计算和控制系统的最新发展,谷歌公司网络工程师已经提出了一种通过连接动态管理数据量的方法,因此它不会占用其瓶颈链接的容量,从而将队列保持在最低限度。
虽然TCP不跟踪瓶颈带宽的连接,但可以从分组响应的时间戳中进行估计。通过理解哪些连接被生成数据的应用程序的速度所限制,受到网络容量的限制,并且通过准确了解应该对哪些响应数据包进行采样来获得这些估计,BBR能够以最大可能的速率发送数据。互联网上的网络连接并不是静态的,如果连接在一个稳定的状态运行,BBR也会偶尔增加数据速率,可以查看是否有任何瓶颈已经改变,这意味着它可以对底层网络的变化作出快速反应。
以快上数千倍的速度穿越大西洋
这种改进可能非常重要;谷歌声称其典型的跨大西洋连接速度可以快上2700倍。 BBR也可能与较新的协议(例如HTTP / 2)更好地匹配,可以一个接一个地使用单个TCP连接用于服务器的多个请求,而不是多个连接。
实施BBR作为发送端算法意味着谷歌公司无需升级谷歌云平台(GCP)与用户设备之间的所有网络设备和服务,就能够提高最终用户体验。虽然这对YouTube来说是一个很大的胜利,但是将算法带到谷歌云平台(GCP)是重要的一步,因为它将处理更多样化的应用程序的流量。
BBR如何加速谷歌的云服务
谷歌云平台(GCP)客户可以通过三种方式利用BBR支持:连接到使用它的谷歌服务,将其作为通过谷歌云网络服务的应用程序的前端,或者直接在自己的IaaS应用程序中使用。
由于谷歌公司自己的服务将使用BBR,用户的云存储的延迟应该会减少,使得像Spanner或BigTable这样的服务的应用程序更加灵敏。最终用户将从谷歌的Cloud CDN(更好的媒体传送形式)和云端负载平衡(BBB)中获得BBR支持的更大的效果,它将从不同的应用实例中路由数据包。
如果用户想在运行在谷歌计算引擎(Google Compute Engine)上的IaaS应用程序中使用BBR,则需要使用自定义的Linux内核。虽然BBR已经为Linux内核做出贡献,但它还没有应用在主流版本中,用户需要从网络开发部门添加它,将其配置为GCE,然后编译内核。
BBR可编译到Linux内核中,用户还可以在自己的网络中开始使用它,特别是如果用户使用的是Linux驱动的网络设备,例如开放式计算交换机。谷歌云平台(GCP)切换到BBR可能会吸引来自谷歌,Linux社区以及其他网络运营商和供应商的兴趣。
451 Research的Hanselman认为这是互联网一个前进的前景。“谷歌公司已经进行了很多努力来调整TCP的内在逻辑来提高性能,而且谷歌公司采取了一个公平的机会。”他还认为谷歌公司谨慎的做法是将BBR转移是明智的。他说,“这个版本与其他版本相比还有一些问题,但谷歌公司很明显,不想在毫无准备的时候发布。”