用气球提供的网络,你敢用吗?
谷歌Loon气球网络的效率和弹性
——复杂系统必须平衡的关键参数
谷歌的Loon气球网络计划致力于使用漂浮在20km左右的高空超压气球来给那些偏远地区提供网络接入服务。
但大家都会问,气球在空中随风飘荡,网络连接靠谱吗?
如果经常断网,那这样的网络还可用吗?谷歌的loon项目首席技术官卡迪西在他的博客中讲述了loon气球网络保持连接的原理[1]。
我住在加利福尼亚的一个地方,早上醒来的时候我通常不会有下雨的想法。 但在加利福尼亚州之前,我住在伊利诺伊州,我每天都会打电话询问是否需要带伞。你可能已经猜到了,这个故事不是关于雨伞的,有时在一个阳关灿烂的日子里我也带着雨伞;而有时把伞留在家里,然后自己被雨淋透的。没错,这篇文章是关于预测的。
图 1 预测不准,领导照样会被淋雨
人们每天都在平衡效率和弹性(作者注:这通常被描述为最优性和鲁棒性之间的权衡,但我认为这些词并不太适合。最优性意味着优化的标准,这可能是弹性。鲁棒性是工程师用来代替弹性的词,但是我的妻子告诉我,robust这个词让每个人都能想到咖啡),实际上这些目标几乎总是不一致。你越是优先考虑弹性,例如,永远不会淋雨,你的效率就会降低,即使在阳光灿烂的日子里,也要带着雨伞。有些人更厌恶风险,总是带着雨伞,而其他人则根据早晨天空的样子做出决定,但每个人都有自己的方法来达到平衡。
网络弹性:研究的是网络在节点失效或被有意攻击下所表现出来的特征,在面临故障和挑战的时候网络可以提供并保持可接受的服务水平。
为了设计高质量的系统(除了纳西姆·塔勒布给出的“反脆弱”这个绰号的非常小的一类系统,幸运的是,对于这些系统有一个令人惊讶的具体的数学定义
),工程师必须明确和主动地平衡这些因素。 我将简要介绍我们在Loon上设计网络使用的数学模型(以及许多其他系统),以确保我们的系统具有足够的弹性以提供可靠的连接。
但首先是一个说明性的例子。一个普通但有关联的例子就是我是否会赶得上下一班中转航班。
图 2 国际航线一般都需要中转换乘
规划航班之间的停留时间,是在不想太长时间坐在航站楼,但也不想错过转机航班之间的平衡。 一个非常简单的决策辅助模型可以明确平衡这些因素。从飞行着陆时间和中转航班起飞时间开始。 该模型将假设这两个事件(到达和下一次航班起飞)中的每一个都有可能,但通常不会延迟。 假设需要一些时间,比如20分钟,从第一个航班下来,穿过航站楼,登上第二个航班,我们可以使用随机数生成器来模拟这种情况的实例,然后检查航班之间的时间是否较少超过20分钟。这样做很多次之后,人们就可以估计(1)错过航班的可能性,以及(2)我们预计在候机楼等待航班的时间。这个结果被称为蒙特卡洛估计。
图 3 在候机楼内等待换乘
如果这是一个真实的分析,我们将基于历史航班延误统计,以及实际需要多长时间从一个航班转移到另一个航班来了解我们的模型参数。这里我只是想说明一个观点,所以生成了下面的一些数据。换言之:请不要用下面的图表来规划你的旅行!
在一系列不同的计划停留时间内,运行上述蒙特卡罗仿真场景,我们得到以下图表。
阅读这个图表的方法是,如果你多次计划1小时的中转时间,你可能会错过大约20%的航班(根据数据来说明!),但如果你愿意忍受2.5小时的中途转机等待时间,你可以将错过中转航班的可能性降低一半。你要付出的代价是呆在候机楼里,平均每趟要多坐1.5小时。
我们大多数人都没有这样做我们的旅行计划,但是工程师一直在为我们构建的系统,运行的服务以及执行的测试级别,明确考虑这种弹性与效率之间的权衡。 Loon的一个例子是我们的回传网络,这是关于我们如何将气球连接到互联网,以便它们可以为下面的人提供互联网连接。
什么是网络中的回传呢?
图 4 当然不是这样
举个简单的例子,
一个小型基站可供很多移动用户的终端接入,但是,大家都接入了基站之后,并不能访问互联网,只能够在基站覆盖的小区内互相通信,就如同接入了wifi一样,要想访问互联网,还需要路由器接入ISP。
基站与公网之间还需要有一条数据连接,通常是光纤,这条链路就是回传链路。
图 5 光纤回传
在某些情况下,例如应急通信时,回传链路会是卫星通信链路,在欧洲,运营商喜欢采用微波进行回传。Loon气球的回传网络显然是微波。
图 6 卫星和微波回传
我们最近讨论了通过平流层上的7个气球进行点对点连接(参考链接:谷歌Loon项目新里程碑: 7个气球实现1000公里接力通信传输!),这使我们能够将互联网扩展到需要它的人实际生活的地方。正如您可能想象的那样,我们希望这种回传连接能够保持不中断。下面的分析将说明我们如何设计一个能够可靠连接的网络系统,它可以连接至地面的互联网。
图 7 7个气球组成的最高效的网络
上图显示,第7个气球的回传连接起源于我们位于内华达州温尼马卡的地面站,并通过其他6个气球跳转。 这是一个非常有效的系统, 我们为7个气球进行7次点对点连接。 这是连接所有这些系统所需的最少链接数。
在这里,效率很重要。每个链接都需要一个专用毫米波天线系统(参见下面的动画)在每个相邻的气球上创建链接。虽然这个天线系统只是一个沙滩球的大小。
图 8 我们就认为是这种沙滩球吧
(译者:我在淘宝上大致查了一下,沙滩球的直径约为30cm,也就是上面毫米波天线的直径。}
为了提高冗余量,我们可以携带多套这样的通信载荷,但是随之而来的是额外的质量和能源。对于平流层气球来说,质量和能源都是宝贵的资源。
别忘了,气球是随风飘动的,相互连接的气球对也会发生变化。我们称之为拓扑的改变。拓扑可理解为一个图,描述了我们的气球节点和数据链路的组成关系。假设创建一个新链接需要1分钟。由于毫米波天线系统没有指向之前的气球,那么在这1分钟内连接将无法传输数据。
问题在于气球链接的最高效率是否会降低网络弹性? 不幸的是,最高效率的网络,每个点对点链接(用于连接气球或人)都是一个单一的故障点,存在很大的链路中断的可能性。
这种情况的数学模型很简单,可以在纸上做,但是为了强调蒙特卡罗仿真在设计空间中的意义,我创建了一个小的仿真来计算一个气球链路的弹性。仿真使用随机函数发生器以适当的概率来决定相邻气球之间的链接是否成功。对于位置10的气球,我们只需检查位置10之前的所有链接是否已连接,以确定该气球是否接入互联网。通过多次重复这个实验,我们形成了对链中每个气球正常运行时间的蒙特卡罗估计。
如果我们假设每条链路上每小时内平均停机时间为1分钟,正如预期的那样,弹性会逐渐降低。 看看上面的情节,链条第20个位置的气球只能平均每小时上网45分钟。 如果我们想要在链条中连接10个到100个气球,我们会发现链条远端的气球大部分时间是断网的。
单个链接的弹性明显地影响了链的总体弹性。下面的图显示了预期的链路中断时间对链中不同位置的连接中断的影响程度。
虽然这种气球链方法非常有效,但它的弹性不大。从上面的图表来看,除非我们能够让每个链接都有1e-5的停机时间,否则我们将无法为整个气球网络的用户提供高可靠性的连接。
我们的解决方案是以拓扑中的冗余路径的形式在整个网络中创建额外的弹性。如果每个气球能够连接到三个相邻气球而不是两个。例如,我们可以将三个链接开关中的一个更新到其他相邻气球,同时仍允许数据通过剩余两个链路上的气球传输。
图 9 增加一个冗余链路
允许气球与大量相邻气球形成冗余链路将使整个网络更具弹性,但会增加系统复杂性,降低效率,这需要两个参数之间的平衡。
我们可以使用另一个基本的仿真来得到一个粗略的结果。我们随机抽样一组气球位置,然后与其他气球的链接形成不同数目的网络。下面最左边的图显示了一组随机抽样的20个气球位置,然后在我们沿着图的顺序移动时,连接到越来越多的邻居。在这种情况下,我使用了一个简单的贪婪算法来选择拓扑,因此我们期望得到的并不是一个全局最优化的网络。
贪婪算法(又称贪心算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
图 10 不同链路冗余下的网络拓扑
采用这些网络拓扑中的每一种,我们可以像在7球链接的情况中那样,通过多跳的链接组成链路,并使用随机数生成器来选择是否应以适当的概率断开链路。最后,我们可以检查以确保每个气球仍然连接到处于互联网络中的其他气球。 如果我们重复这个过程很多次,我们可以再次得到整个网络保持连接可能性的蒙特卡洛估计值。
如果我们创建此估计值,在两个维度上执行参数扫描,X轴为预期的链接中断时间的占比,Y轴为网络保持链接不中断的似然率,我们可以在下面创建图表。 此图表可以让我们估计网络的弹性。
图 11 对网络弹性的估计图
此图表显示添加冗余链接可以大幅度增加网络弹性,直到能够保持连接不中断。我们的软件自动化有很多技巧,可以高可靠地运行这样的网络,并积极管理效率和弹性平衡。(译者:根据另外一篇报道的内容,loon气球上采用了3套毫米波天线系统,也就是说一个气球最多可以跟三个相邻气球连接,有一条冗余链路,相关链接:谷歌的Loon气球即将在肯尼亚迎来常态化商业飞行!)
图 12 回收现场显示:loon气球系统上有3个小型抛物面天线
增加弹性所需的额外复杂性既是机遇,也是负担。虽然在我们的7跳示例中,可以很容易地由人工操作员手动操作选择连接链,但管理这个复杂且不断变化的网络更困难,正是这个核心技术让我们可以驱动一队高空气球漂浮在风中,并保持一个高可靠的网络。
总结一下:
1、谷歌的气球网络的可用性是可以预测的;
2、气球网络是可以通过多跳的拓扑接入互联网的;
3、每个气球最多可与相邻的3个气球建立连接,其中一条为冗余链路。
4、气球的飞行航迹是可以预测(风场预测)和控制(气球高度控制来追寻不同的风向)的,通过平衡效率和弹性两个关键参数,气球网络可以有较高的可靠性。
谷歌已经开始在肯尼亚部署地面设施,已提供气球网络的常态化商业服务,谷歌对于自己的气球网络的技术实力还是有底气的。
参考文献:
[1].Salvatore Candido,Efficiency and Resilience on Loon’s Network[EB/OL].https://medium.com/@salcandido/efficiency-an d-resilience-on-loons-network-622c966b59ac.
[2].刘密霞, 朱红蕾. 网络弹性研究进展[J]. 计算机科学, 2013,
40(11a):46-49.
[3].杨明华, 张法江, 郑建群,等. 网络弹性技术研究[J]. 网络空间安全,
2014(9):36-40.
近期热门文章: