EOF - 击沉你的船的任何事物

作者:Doc Searls

最近,Linux 社区的朋友们敦促我在此撰写一篇关于我们共享基础设施的重要主题的文章。因此,与其在引言中透露该主题,不如将发言权交给另一位值得尊敬的人:我的老朋友 Dave Täht,他现在将为我们带来一篇客座 EOF 文章。请开始吧,Dave。—Doc。

当您流式传输电影时,电影是否会卡顿?当您启动 Flickr 上传时,您的孩子是否会被击杀?您在上网时无法进行 VOIP 通话吗?这些常见问题可能有一个共同的原因:缓冲区膨胀。

虽然缓冲区膨胀伪装成网络配置不足,但它实际上是错误设计的结果。为了防止数据包丢失,制造商一直在互联网的各个地方(路由器、交换机、有线调制解调器、无线接入点和其他设备)放置过大—膨胀的—数据缓冲区。这严重恶化了平均延迟和负载下的延迟—您应该将其视为互联网上的“速度”。结果,即使在带宽大幅增加之后,我们经常发现我们无法再共享连接。电影卡顿,通话掉线,上传干扰游戏等等。

在一系列艰苦卓绝且现在广为人知的实验中,Jim Gettys 概述了该问题令人震惊的、几乎是 Y2K 级别的范围 (en.wordpress.com/tag/bufferbloat) (mirrors.bufferbloat.net/Talks/BellLabs01192011)。他还创造了 "缓冲区膨胀" (gettys.wordpress.com/what-is-bufferbloat-anyway) 这个词来命名这种痛苦。(你们中的一些人可能还记得,Jim 也是 Unobtainium 手持设备的创始人。)

Jim 的实验清楚地表明,即使在 10-50Mbit 的高速线路中,原本应该花费百分之一秒的操作现在可能需要几秒钟。他还展示了由于缓冲区膨胀,Web 的核心协议 TCP/IP 现在是如何行为失常的。其后果可能包括类似于 1986 年 NSFnet 崩溃的广泛问题。而且现在上网的人比那时多得多。

泰坦尼克号泰坦尼克号撞上冰山并沉没,是因为它无法足够快地转弯以避免灾难。特斯拉跑车载两人,从 0 加速到 60 英里/小时不到 4 秒,并且转弯半径很小。您更愿意驾驶哪一个?

泰坦尼克号泰坦尼克号实际上比您想象的更贴切。 泰坦尼克号泰坦尼克号,就像互联网一样,是在技术重大变革时期建造的。钢铁正在取代钢铁。没有人确定什么有效,什么无效。将一艘巨轮栓在一起需要先进的技能和先进的铆钉。但是,在匆忙推出那艘船的过程中,对基本风险的理解不足,并且未经充分测试的技术被过度使用。

我们构建的互联网具有 泰坦尼克号泰坦尼克号的承载能力和转弯速度。我们内置在所有最新(并且据说是最快)套件中的巨大膨胀缓冲区一直在破坏网络。缓冲区膨胀是我们现在理解的风险,并且正在不断增加的压力下进行测试。

Jim Gettys 也不是唯一一个关注缓冲区膨胀问题的人。自从他在 2010 年 11 月发出警报以来,Robert Cringely、Slashdot 和 LWN 都报道了这个问题。Vint Cerf—TCP/IP 之父—也在 LCA 上呼吁帮助。

从那时起,开源和互联网工程社区的许多成员纷纷挺身而出,帮助消除膨胀。在我撰写本文时(2011 年 3 月初),已有 180 多人加入了膨胀邮件列表。在不到两个月的时间里,我们还发布了一个新的(去膨胀测试)Linux 内核,其中将许多核心修复思路集中在一个地方。

缓冲区膨胀是一个微妙的错误,长期以来一直困扰着所有人,只是我们不知道而已。现在它有了一个名字,并且有一群积极性很高的人正在努力修复它,从上到下,跨多个操作系统。

仍然有许多工作和测试要做。目前已经有针对家庭路由器的简单解决方案,并且更多针对无线和其他设备的修复方案正在 разрабатываться。不幸的是,某些问题仍然只有理论上的解决方案 (gettys.wordpress.com/2010/12/17/red-in-a-different-light)。

虽然网络中立性辩论是关于监管措施以解决运营商偏袒某些类型流量的威胁,但解决缓冲区膨胀问题的技术方案可能会稍微缓解紧张局势。一旦出现解决缓冲区膨胀的良好方案,您儿子的游戏、您妻子的 Facebook、您的 Flickr 上传和您的商务电话都可能在一个网络上愉快地共存,并且内容可以通过 ISP 更流畅地传输。

最棒的是,从端到端修复缓冲区膨胀将使新的边缘应用程序成为可能,从沉浸式视频会议到 VRM。

与此同时,缓冲区膨胀问题仍然巨大,在很大程度上未被认识到,并且它就在我们身边。数亿个膨胀的产品已投入使用,还有数亿个产品正在生产中。幸运的是,修复新设计相当简单。不幸的是,修复已部署的硬件既复杂又昂贵。

我们能把我们的 泰坦尼克号泰坦尼克号变回特斯拉,并带有一点后备箱空间吗?我敢打赌:是的!但是我们需要我们能得到的所有帮助。

仍然缺少好的铆钉和好的铆钉工。

如果您设计网络软件或硬件、使用 VoIP、上传/下载视频、玩游戏、运营网站、管理网络、购买硬件,或者仅仅关心互联网上新的创新应用程序的未来,请不要在此停止阅读。请访问 bufferbloat.net。然后继续阅读、传播并应用您所学到的知识。

您拯救的网络可能就是您自己的网络。

Doc Searls 是 泰坦尼克号Linux Journal 的高级编辑,也是加州大学圣巴巴拉分校信息技术与社会中心的研究员。

Dave Täht 是一位 IPv6 和网状网络研究员,他在业余时间(字面上地)冲浪。

加载 Disqus 评论