第10章 · 鸽子的航线
那条短信之后十二小时,陆远坐上了一架飞往拉各斯的货机。
法尔汉准备的证件是一套完美的伪造品:印尼护照,名字叫陈文福,职业是二手通信设备出口商,目的地是拉各斯的阿帕帕港口——西非最大的集装箱港。护照的芯片数据和星链国际身份验证系统的归档记录完全匹配,因为法尔汉在制作它的时候直接从一个真实存在的印尼公民账户里借用了身份信息。“他不会去坐国际航班,所以不会有行程冲突,“法尔汉说,像在陈述一件微不足道的技术细节,“他以为他的身份很安全。某种意义上,它确实很安全——只是多了一个分身。”
子衿被留在基地。法尔汉找了一个叫沈姐的女成员照看她——沈姐是团队里唯一一个有带娃经验的人,她的孩子已经上大学了,但她看到子衿的时候脸上出现了一种复杂的、混合着温柔和伤感的表情。陆远留下了一整天的药量和一份详细的护理说明——精确到每一个时间点的药名、剂量、注射部位——然后蹲下来跟女儿做了五分钟的拉勾。他说爸爸要出差,两天就回来,回来的时候会给她带一只木雕的非洲大象。女儿没有哭,只是拉着他的手说”那你一定要回来”,用的是那种五岁孩子特有的认真语气,像在陈述一个不可动摇的条件。
他说好。
货机的驾驶舱后面是一个改装过的货舱,塞满了深圳华强北出口到非洲的电子产品——翻新手机、二手平板、杂牌蓝牙耳机。陆远被安排在货物中间的一个折叠座位上,安全带是后来焊上去的,卡扣的弹簧已经锈蚀,要用力按好几下才能锁紧。飞机起飞的时候,那些翻新手机在纸箱里发出一阵细碎的摇晃声,像一大群金属昆虫在低语。
飞行时间大约十三个小时。货机为了省油飞得不高,云层在机翼下方铺成一片连绵的灰白色地毯。陆远透过舷窗看到的东西让他一时说不出话来。
云层之上,天空是近乎黑色的深蓝。在那片深蓝里,星链卫星以肉眼可见的密度在轨道上排列——不是一颗一颗的离散光点,是一片流动的、均匀分布的光之矩阵,像有人在天幕上撒了一大把发光的沙粒,然后用一根看不见的磁铁在缓慢地拖着它们移动。十二万颗。这个数字写在纸上的时候只是一个抽象的概念,但当你亲眼看到它们布满整个穹顶的时候——那是一种会让人本能地屏住呼吸的视觉冲击。
飞机此刻正在南海上空。陆远掏出自己的手机——它被法尔汉做过了彻底的改造:物理移除了一切与星链接口相关的射频模块,改用一条从机身侧面伸出的微型SMA馈线连接到一个被动信号侦测芯片上。没有发射能力,只有在特定频段的被动监听功能。屏幕亮起,他看到一个让他沉默了几秒的指示:
「检测到星链信号边界 · 当前注册区域切换中 · 国际漫游协议激活」
他正在穿越一条看不见的国境线。不是地理上的国境——是信号的国境。当飞机进入公海区域时,他的终端自动从中国区的星链网络切换到了国际漫游通道。这个切换不需要任何人工操作,不需要点击确认,甚至不需要用户感知——十二万颗卫星在头顶精确地追踪着每一架飞机的航行轨迹,预先分配好即将跨越的服务区域的信道资源,在边界到来的前几毫秒完成信号的平滑移交。
陆远把手机翻过来扣在膝盖上。他不想看到那个切换成功的通知。
他想起女儿说过的那些话——“那些星星在看着我们。“他当时告诉她星星不会看,只是为了让她安心。但此刻他坐在一架货机的舷窗边,看着头顶那一片密集的光点矩阵,忽然觉得女儿可能比他更接近真相。那些卫星确实在”看”——用它们的光学传感阵列、射频侦听模块、以及OrbitNet AI不断运转的行为分析模型。它们不眨眼。它们不睡觉。它们也不会忘记。
他闭上眼,在引擎的低频轰鸣中强迫自己入睡。
拉各斯在清晨的雾气中出现在舷窗外。
穆尔塔拉·穆罕默德国际机场的跑道从一片灰色的城市肌理中伸出来,两侧是低矮的棕榈树和锈迹斑斑的铁皮屋顶。飞机接地的时候轮胎发出一声尖锐的嘶叫,然后是一阵剧烈的抖动——这条跑道的维护水平显然不如深圳宝安机场。
大厅里挤满了人。陆远穿过海关的时候,那个穿绿色制服的官员看了他的护照不到两秒钟就挥手放行了——陈文福的印尼护照在这个西非口岸似乎拥有某种默许的通行便利,或者说,这里的海关对一本看起来合法的护照没有太多审查的意愿。陆远走出到达大厅的时候,热浪像一堵墙一样迎面撞上来——拉各斯清晨的气温已经接近三十五度,湿度高到呼吸像是喝汤。
接他的人举着一块写着”陈先生”的白色纸板,站在接机人群的最前面。那是一个看上去不超过二十岁的本地年轻人,剃着光头,穿着一件洗得发白的绿色T恤,上面印着一行模糊的英文字母——陆远仔细辨认才发现那是”Data Is the New Oil”的褪色重影版。年轻人看见陆远的目光,露出一个灿烂的笑容,露出一排洁白的牙齿。
“陈先生?阿米娜老板派我来接你。跟我来。”
他叫约瑟夫。他开的是一辆二十年前的丰田皮卡,后斗里装着几捆电缆和一瓶机油。拉各斯的交通以永恒的拥堵著称,但约瑟夫对每一条小巷都了然于胸。他在主路上开不到五分钟就会拐进一条狭窄的土路,穿过一片铁皮屋顶的市场,再从一个看似死胡同的缝隙中钻出来,绕开下一个堵点。他开车不用导航——或者说,他的导航是印在脑子里的,由二十年在拉各斯街头积累的经验构成。
“你来拉各斯做什么生意?“约瑟夫问,眼睛盯着前方路面上一个巨大的坑洼,熟练地绕了过去。
“通信设备。“陆远说。
约瑟夫点了点头,没有追问。他从座位下面摸出一瓶矿泉水递给陆远,瓶身上没有标签,但水是凉的——他大概出发前刚从冰箱里拿出来。
皮卡沿着海岸线行驶了一段路。阿帕帕港口的轮廓逐渐出现在视野中——一片由集装箱吊机和货轮桅杆构成的钢铁丛林,港口上空弥漫着柴油烟气和海盐混合的气味。码头边堆放的集装箱像一座座彩色的金属山丘——蓝色、红色、绿色、白色,层层叠叠,望不到尽头。起重机在它们头顶缓慢移动,像某种巨型恐龙在进食。
阿米娜的货运公司位于港口边缘的一条巷子里,一栋三层的混凝土建筑,外墙刷着淡蓝色的涂料,但已经褪色大半,露出底下灰色的水泥。一楼是仓库,卷帘门半开着,里面堆满了各种形状的货物——从汽车轮胎到成袋的大米,从二手发电机到一箱箱标注着”医疗用品”的纸箱。
阿米娜在二楼等他们。
她比全息投影里看起来要矮一些——大约一米六出头,但她的身姿挺拔,让人很难注意到她的身高。她穿了一件深蓝色的工装连体裤,胸口别着那枚铜线弯成的鸽子徽章,脚上是一双沾了油污的军靴。她看到陆远从皮卡上跳下来的时候,没有说话,只是点了一下头,然后转身走进了办公室。
办公室和一楼仓库的风格截然不同。没有堆满的货物,没有散落的工具——只有一张老旧的木桌、一把转椅、一个文件柜和一个立在角落里的保险柜。墙壁上挂着一幅西非海岸线的纸质航海图,纸张已经泛黄,边缘用胶带修补过好几处。
阿米娜坐在转椅上,从抽屉里取出一瓶棕榈酒和两个玻璃杯。她给两个杯子都倒了半杯,把其中一杯推向桌子的对面。
“坐。”
陆远坐下来,接过酒杯但没有喝。棕榈酒散发出一种发酵过的、略带酸味的甜香。
“法尔汉说你把SkyWalker的空洞调制方案做出来了。“阿米娜说。不是问句——她对法尔汉的判断有完全的信任,如果法尔汉说做出来了,那就是做出来了。
“法尔汉做了协议层和信令层,“陆远说,“我只是补了一个降噪算法的规避方案。”
“你补了关键的那一块。“阿米娜端起酒杯喝了一口,放下,“SkyWalker在沙漠里修了一条路。但你们还缺一件事——地图。”
她站起来,走向那个立在角落的文件柜。柜门上挂着两把锁——一把密码锁和一把机械钥匙锁——需要两个人同时打开。阿米娜输入了密码,然后用脖子上的钥匙打开了第二道锁。柜门打开,里面不是文件,而是一个嵌入在柜体内部的储物格,里面放着一个黑色的手提箱。
手提箱被放在桌子上。阿米娜打开箱扣,掀开盖子。
陆远看到的东西让他感到一阵奇怪的、类似怀旧的情绪——尽管他从未亲眼见过这些实物。
那是一块机械硬盘。3.5英寸,外壳有磨损,标签已经褪色到几乎看不清上面的印刷文字。接口是老式的SATA,不是现在通用的NVMe。硬盘被装在一个防静电袋里,周围包裹着泡沫塑料。
阿米娜小心翼翼地把硬盘从袋子里取出来,放在桌上。她的动作——那种对一件物体的精确、轻柔的操作——让陆远意识到这不是一块普通的硬盘。这是一件需要被保护的东西。
“你知道鸽子网络吗?“阿米娜问。这是她第二次问陆远这个问题。
“法尔汉提过。但我——”
“跟我来。”
阿米娜带他走到仓库的后院。院子里停着一辆摩托车——不是电动的,是燃油的,发动机裸露在外,油箱上布满划痕。摩托车的后座上固定着一个金属箱子,大小和外卖送餐箱差不多,但箱体上多了一把组合锁,箱壁也比普通的送餐箱厚了许多。
“这是一站。“阿米娜拍了拍那个金属箱,“从里斯本到卡萨布兰卡——数据走的是海底光缆。一段旧的、没有公布在星链路由表中的光缆,属于一家已经被星链收购但物理链路从未被拆除的电信公司。光缆两端各有一台物理隔离的终端机——没有IP地址,没有注册域名,不接入任何公共网络。数据到了卡萨布兰卡之后——”
她打开金属箱。里面是一块标准的2.5英寸加密固态硬盘,被固定在一个减震支架上。旁边放着一块备用的18650电池组,用扎带固定在箱体底部,用硅胶做了防水处理。
“——从光缆终端被转存到这块硬盘上。然后摩托车信使带着它,从卡萨布兰卡一路南下。”
陆远看着那块硬盘,忽然理解了。
“他们没有星链接口。不发射任何电磁信号。”
“对。“阿米娜说,“全程无电磁信号。从卡萨布兰卡到马拉喀什,摩托车。从马拉喀什到努瓦克肖特,越野车。穿越毛里塔尼亚的沙漠路段——骆驼信使,大约两百公里,没有路,没有加油站,没有手机信号塔。从沙漠边缘到巴马科,再换车到阿比让——最后到达拉各斯。”
她抬起头看着陆远。
“全程大约两千公里。平均四天。”
陆远沉默了。他在脑海中对比了两组数字:SkyWalker的QKD隐蔽信道——深圳到拉各斯,一万两千公里,传输延迟大约几十秒,每秒一比特。鸽子网络的物理传输——里斯本到拉各斯,两千公里,传输延迟四天,但一次可以携带几十TB的数据。
一个快得像光但窄得像针。一个慢得像信鸽但宽得像海。
“现代人已经不能理解这种速度了。“阿米娜说,她的声音里没有自嘲,只有一种平静的陈述,“他们在星链网络上下载一部电影只需要几秒钟,加载一个网页只需要零点几秒。他们觉得延时超过十毫秒的网络就是”太慢”。但你告诉他们在非洲内陆,有一段路连手机信号都没有——他们不会相信你,因为他们头顶上的星链卫星已经把那些地方也覆盖了。”
她关上金属箱,锁好组合锁。
“但那种快——是别人施舍给你的快。星链可以让你快,也可以让你慢。它可以提高你的优先级,也可以降低你的优先级。今天你的账户是铂金级,明天它可以改规则,把你降成铜级。你怎么申诉?你申诉的对象是它——它既当运动员又当裁判。”
她转过身看着陆远。
“我的互联网很慢,但你关不掉它。因为它不在卫星上——”
她用指尖敲了敲那个金属箱。
“——在人的脚上。”
陆远站在仓库的后院,头顶是拉各斯灼热的天空。没有星链卫星的轨迹——现在是白天,肉眼看不到它们。但他知道它们在那里。而此刻,在他面前是一辆摩托车的金属货箱,里面装着一块在物理层面上穿越了两千公里的硬盘。
阿米娜说鸽子网络是旧世界的遗物。但陆远开始觉得,这不是遗物。这是种子。种子被人小心翼翼地保存着,埋在土壤之下,等待某个冬天过去之后重新发芽。
“你说的地图——“他说。
“在下面。”
阿米娜带他走进了更深的地下。
货运公司的地下室入口隐藏在仓库最里面的一个货架后面。货架是用来存放成袋的大米的——总共有三十二袋,每袋五十公斤。阿米娜一个人把它们挪开了。陆远想帮忙,她挥了挥手说”你让开,我有自己的节奏”。她搬完最后一袋大米的时候连呼吸都没乱,只是用手背擦了一下额头的汗。
货架移开之后露出一扇钢制的地板门,门上有一个把手,凹进地面,和水泥地板齐平。阿米娜蹲下来用一把黑色的钥匙打开了地板门的锁,然后用两根手指钩住把手,向上拉开。
一条向下的铁梯。
下面是一个废弃的地下室。不是那种数据党改造过的工程奇迹——是一个真正的、陈旧的地下空间,墙体是粗糙的混凝土,表面有渗水留下的白色盐渍,空气中弥漫着一股潮湿的泥土和纸张腐败的气味。角落里有一张金属桌子,桌腿生锈了,但桌面上放着一个东西让整间地下室的氛围彻底改变了。
那是一台服务器。
不是现代那种两U高度的机架式设备——是一台塔式服务器,外壳是米白色的,前面板上有几个已经泛黄的指示灯和一个软驱接口。型号标牌上印着一行字:FreeBSD 11.2-RELEASE。机箱侧面贴着一张标签,用马克笔写着:「拉各斯节点 #1 · 最后同步:2040年9月」。
这台机器已经超过十五年没有更新过操作系统了。但它还在运转。前面板上的电源指示灯亮着绿光,硬盘指示灯偶尔闪一下,像一台还活着的呼吸机。
“七年前,“阿米娜站在那台服务器旁边,手掌放在机箱顶部,像在抚摸一头安静的动物的脊背,“一个朋友把它带到这里。他是ICANN最后一批离职的核心工程师之一。星链全面接管域名系统的那年,他把一份东西带了出来。”
她按下回车键——键盘是一个旧的机械键盘,插在服务器的PS/2接口上。屏幕上显示出一个命令行界面。她输入了几个命令,屏幕上的文本开始滚动。
陆远看到了一个他从未亲眼见过、但曾在教科书上读到过的世界。
「全球互联网核心拓扑快照 · 快照时间戳:2040-09-14T03:47:22Z」
下面是一串名单:
- 根服务器配置文件 —— 13个原始根服务器地址,其中11个已经被星链收编或关闭,但还有2个的物理位置和当前状态被标注为”未知,假定离线”
- 自治系统编号分配表 —— 从AS1到AS130000的完整注册信息,详细到每一个AS号的归属机构、分配日期、路由策略
- IP地址块注册表 —— IPv4和IPv6地址的完整分配树,从IANA到各大区域互联网注册机构,直到每一个具体的子网分配
陆远的目光在屏幕上缓慢地扫过这些条目。他不是一个网络层的人——他的专业是物理层和射频,不是BGP路由协议和DNS架构——但他完全能理解这些东西的价值。
这是一份互联网的”器官捐赠卡”。
如果星链倒下——不管什么原因——需要有人知道怎么把这些东西重新连起来。根服务器在哪台物理机器上,自治系统之间的对等关系如何重建,IP地址区块回到了谁的管辖范围内。没有这一份数据,重建互联网就像在没有设计图的情况下修复一座被炸毁的大桥。
“他在把这份数据从ICANN带出来之后六个月就去世了。“阿米娜说,“肺癌。他吸烟吸了四十年,最后一年已经没法离开氧气面罩了。但他在卧病期间把整个数据集整理了三遍——第一遍核对路由拓扑,第二遍验证自治系统编号的归属链,第三遍做了一份故障排除手册,写了大概四百页。”
她的手指在键盘上输入了最后一组命令,屏幕切换到一张全球地图——没有星链的全息投影那种华丽,只是一张黑底绿线的字符画风格地图,所有主要的洲际海底光缆以ASCII码拼成,每一条光缆旁边标注着它的所有者、容量和运营状态。
“这些光缆——大部分还在物理上存在。没有人去拆除它们。但它们的运营权已经被星链逐步收购,所有的光缆终端设备现在只听星链核心网的指令。如果用一份正确的配置文件重新初始化那些终端设备——理论上——它们可以恢复独立运作。”
她看向陆远。
“如果有一天星链倒了——或者更可能的情况,星链不让你连接那些光缆了——需要有人知道怎么用这份数据重建互联网。”
陆远站在那台服务器前,屏幕的绿色字符在他的瞳孔中跳动着。他忽然理解了自己在整幅蓝图中的位置——他以为自己在做的事情是”破坏”:破坏星链的计费系统,绕过星链的认证机制,撕裂星链的协议层。但他的技术——信号克隆、SkyWalker、空洞调制——它们真正的意义可能不是用来摧毁什么东西。
它们是用来保留另一个选项的。
一条让互联网在星链的阴影之外继续存在的路径。一个备用的、分布式的、不需要任何权限就能接入的网络。一台不计费、不管制、不断网的机器。
“你问我为什么来拉各斯,“陆远说,声音在地下室的墙壁上产生了一个微弱的回声,“不是因为法尔汉让我来。”
阿米娜看着他,没有接话。
“是因为我想亲眼看看——在这个被十二万颗卫星覆盖的世界里,还有什么东西是真的还活着的。”
他转向那台服务器,屏幕上那些ASCII码拼成的光缆线路还在静静地闪烁着绿色荧光。他伸手碰了一下服务器机箱的表面——塑料外壳温温的,那是主板持续工作了十几年产生的余温。这台机器已经足够老了——老到它出生的那个年代,互联网还没有被一家公司用卫星包裹起来。老到它的系统里还保存着一个”完全免费的全球互联”时代的骨架。
陆远把手从机箱上收回来。
“你知道我最担心的是什么吗?“他说。
“什么?”
“不是星链不会倒。是星链倒了之后——没有人记得怎么在没有星链的世界里说话。”
他把这句话说完之后,地下室安静了很长一段时间。头顶上,拉各斯的港口起重机在继续运转,集装箱被吊起来又放下,发出沉闷的金属撞击声。约瑟夫在楼上启动那辆丰田皮卡的引擎,排气管喷出一阵低吼。所有这些声音透过混凝土和泥土传到地下的时候已经变得很微弱,像是从另外一个世界透进来的回响。
阿米娜没有说话。她关掉了那台服务器的显示器,把键盘推回原位。然后她从口袋里掏出一枚钥匙,递给陆远。
钥匙是钢制的,已经磨损发亮,齿形很不规则——不是普通的弹子锁钥匙,而是一种老式的管状钥匙,现在很少有人用了。钥匙环上有一小块褪色的标签,上面用圆珠笔写着一串数字:/etc/resolv.conf
“如果有一天你需要用那台服务器的数据——你知道怎么找到它。“她说。
陆远握住那枚钥匙。钢制钥匙的表面有一种冰凉的、实体物件特有的质感——和那些悬浮在全息投影中的数字信息完全不同,和那些在光纤中以光速飞行的光子完全不同。它是一个物证——证明互联网不只是数据,不只是信号,不只是卫星轨道上的十二万颗光点。
它也是关不上、删不掉、断不了的东西。
陆远把钥匙放进了内侧口袋,拉上了拉链。
“我还有一件事要问你。“他说。
“你说。”
“你为什么要守这些东西?你不是工程师。你不是ICANN的人。你是一个——“他找了一个不太确定是否准确的词,“——货运公司的老板。”
阿米娜把目光从服务器上移开,看着陆远。她的表情没有变化,但她沉默了一会儿,那段沉默的长度让陆远意识到他在这个问题上碰到了一个很深的地方。
“我二十一岁的时候,“她说,“我的国家经历了一次通信管制。不是断网——是网络变成了一种只能读不能写的东西。你可以接收信息,但不能发送信息。你可以看新闻,但不能评论新闻。你可以收到朋友发来的消息,但你发的每一条消息都会在政府的服务器上经过一个七天的审核期——如果审核不通过,对方永远不会收到。你不知道你的消息是被延迟了还是被屏蔽了,因为系统不会告诉你。”
她顿了顿。
“那时候我们用的不是星链。是我们自己的地面网络。但那一天我听说了——有一种技术可以让任何政府在任何时候关闭任何人的发言权。那和网络的所有权无关,和协议的所有权有关。”
她的目光落在那台服务器上。
“后来星链来了。他们说这个技术永远不会被管制——因为卫星在你头上,没有人能关掉天上的东西。但米兰·沃伊诺维奇在贝尔格莱德的办公室里坐了一年,写了一段不到三千行的代码,把整个星链网络的QoS控制模块从’优化建议’改成了’强制执行’——于是有了配额。有了等级。有了数据税。”
她抬起头看着陆远。
“所以我不是工程师,你说得对。但我见过太多的人失去说话的能力。我只是——不想让那种事情再发生一次。”
她绕到服务器后面,拔掉了电源线。机器发出一声轻柔的、逐渐下降的风扇呼啸声,指示灯从绿色变到橙色,最后熄灭。整个地下室陷入了一种纯粹的寂静,只剩下他们两个人的呼吸声。
“出去吧,“阿米娜说,“拉各斯的太阳快落山了。你女儿还在等你。”
陆远爬上铁梯的时候,在最后一阶停了一下。
他回头看了一眼地下室——那台服务器安静地蹲在金属桌上,像一个沉睡中的守墓人。在它内部的硬盘里,一份旧世界的蓝图正以0和1的形式静静地排列着,等待着也许永远不会到来的唤醒命令。
他爬上了地面。
回到阳光下的那一刻,拉各斯的黄昏正在降临。天空被染成一种介于橙红和深紫之间的颜色,几缕云像是被火烧过的棉絮挂在低空。港口里货轮的汽笛声在远方低沉地回响,海鸥在集装箱吊机的顶部盘旋。一切都看起来像一幅最普通的热带港口的日落画面——但陆远的视角已经不同了。他看得到头顶的卫星,看得到地下室的服务器,看得到约瑟夫那辆皮卡后斗里的金属箱里那块正在穿越非洲大陆的加密硬盘。
两种互联网在此刻的拉各斯的黄昏中同时运转着。一种在头顶,以光速传输着被精确计费的每一个数据包。另一种在地面,被装在金属箱里、绑在摩托车上、驮在骆驼背上,以每小时不到三十公里的速度穿越沙漠和森林。
一个不在乎速度。只在乎抵达。
陆远坐上皮卡的副驾驶座。约瑟夫发动了引擎,从座位下面摸出那瓶没喝完的矿泉水递给他。陆远接过来喝了一口,水已经不凉了,但他不在乎。
“机场。“他说。
约瑟夫点了点头,挂上档,皮卡在拉各斯傍晚的喧闹中挤进了车流。窗外,这座非洲最大的城市正在活过来——市场的灯光渐次亮起,街边烧烤摊的白烟升腾,音乐从每一个角落的扬声器中涌出来,混合成一种持续的、不知疲倦的轰鸣。
陆远靠在座椅上,手指隔着衣料摸了摸内侧口袋里那枚冰凉的钢钥匙。
他想起女儿说要一只木雕的大象。
他想他应该能在机场的免税店里找到一只。