“曹主任,那这份材料……”
“术业有专攻,这事得找行家帮忙把把关。”曹蔚然说着,将那份报告重新装回牛皮纸袋,站起身,背着手在办公室来回踱了几步,斟酌了一下道:
“要论计算机,全国最权威...
实验室的灯光在头顶嗡嗡低鸣,像一群不知疲倦的蜂。安德烈亚斯推开铁门时,走廊尽头的通风管道正吐出一股微带铁锈味的凉风,拂过他汗湿的鬓角。米夏埃尔已坐在10号机前,指尖悬在键盘上方,迟迟未落——他刚把最后一行SOA序列号核对完毕,屏幕右下角时间显示:17:58。再过两分钟,就是每日七点整的维护窗口。他下意识摸了摸口袋里那张皱巴巴的纸,上面是施耐德教授手写的三行字:“根不信任任何缓存;委派链可断裂;否定应答须携带TTL。”这三句话他抄了七遍,横竖都写进了指甲缝里。
施耐德教授没立刻开口。他解开白大褂最上一颗纽扣,从内袋抽出一支红铅笔,在12号观察节点的终端旁摊开一张A3纸。纸面已密密麻麻画满箭头与方框,最顶端用德语写着“NAME RESOLUTION TREE”,树根处标着“.”,第一级分叉写着“.DE”与“.CN”,再往上,细枝末节处密布着NS、A、CNAME的符号。他忽然用红铅笔重重圈住“.CN”分支下的一个节点:“这里,米夏埃尔,你昨天录入的mail.cn记录,IP是10.9.0.20——为什么不是10.9.0.21?”
米夏埃尔一怔,手指无意识抠着键盘边沿:“因……因为您给的配置单上写着20。”
“对。”施耐德点头,铅笔尖移到旁边空白处,写下“10.9.0.20/24”:“这个子网掩码决定256台主机容量。但若某天CN区主机数突破255台呢?”
安德烈亚斯突然插话:“教授,我们不是用16位地址吗?256×256=65536,足够用了。”话音未落,他自己先愣住——这念头太陈旧了。去年IEEE会议上还有人说IPv4地址够人类用百年,可施耐德教授上周刚在课堂上撕碎那份论文,指着投影仪上“192.168.0.0/16”的标注冷笑:“当每个电冰箱都要联网时,65536个地址连柏林一区的车库都不够分配。”
米夏埃尔喉结滚动了一下。他想起三天前调试跨区查询时,9号机返回的应答里藏着一行极小的注释:“AUTHORITY SECTION: .DE → .CN delegation valid until 2025-12-31”。当时他以为只是测试用的占位符,此刻却脊背发紧——这行字意味着整个系统默认所有委派关系都有生命周期,而生命周期必须由权威服务器主动刷新。Hosts.txt文件里可没有“有效期”这个概念,它永远静止在斯坦福那台老旧PDP-11的磁盘上,靠人工每周誊抄更新。
“教授,”米夏埃尔声音发干,“如果根服务器宕机超过TTL……”
“它不会宕机。”施耐德打断他,红铅笔尖抵住纸面“. ”符号,“因为根本不存在单一的根服务器。你们看这个结构——”他迅速在纸上补画三簇小圆点,分别标着“R1”“R2”“R3”,每簇都连向同一个根节点:“RFC草案第3条明确要求,根区必须支持多主同步。当R1故障时,R2和R3继续提供SOA序列号校验,客户端会自动切换。而Hosts.txt?一旦斯坦福的PDP-11停机超过二十四小时,全世界的ARPANET就会集体失明。”
安德烈亚斯猛地想起什么,从工具箱底层翻出一本硬壳笔记本——那是他去年帮教授整理旧实验日志时顺手抄录的碎片。他哗啦啦翻到某页,手指颤抖着指向一段潦草笔记:“您去年三月写过:‘中央主机表本质是纸质时代思维的电子幽灵’……原来您早就在等这个?”
施耐德凝视着那行字,忽然笑了。这笑很轻,像风吹过教堂彩窗缝隙:“不,安德烈亚斯,我是在等一个能把幽灵钉进棺材的人。”他合上笔记本,从公文包取出陆怀民的论文复印件,纸页边缘已被反复摩挲得发毛。他翻到第187页,指着一段加粗的结论:“看这里——‘分布式权威的本质,是将信任成本从中心化机构转移至数学证明’。你们知道这意味着什么吗?”
米夏埃尔下意识摇头,又猛然顿住。他想起昨夜熬夜重读论文时,那个被自己忽略的脚注:【此处采用RSA算法生成区域签名,私钥由区管理员离线保管,公钥通过父区DS记录发布】。当时他以为只是安全冗余,此刻才惊觉这根本是整棵命名树的根基——当每个子区都能用密码学证明自己身份时,“谁来管理根服务器”这个困扰ARPANET十年的问题,答案早已藏在质数分解的迷宫深处。
“叮——”墙上的机械钟敲响七下。安德烈亚斯条件反射般跳起来:“维护窗口!”他扑向配电柜,却见施耐德已抢先旋开保险盖,手指按在总闸开关上。米夏埃尔心头一凛——教授从不允许非授权断电,此刻动作却带着近乎悲壮的决绝。
“等等!”米夏埃尔脱口而出,“如果现在断电,所有未持久化的区文件会丢失!”
施耐德的手指悬在开关上方一厘米处,阴影投在水泥地上像道裂痕。“所以?”他问。
米夏埃尔语塞。他想说“我们该保存配置”,可那些配置本就该随每次启动重新加载——论文第42页清楚写着:“区文件应视为状态快照而非永久存储,系统设计需容忍任意节点瞬时失效。”真正的容错不在硬盘里,而在协议逻辑中。他忽然想起故障演练时8号机重启后,10号机仅用3.2秒就完成重试查询——那不是缓存生效,而是客户端依据SOA记录里的最小TTL值,主动计算出了最佳重试时机。
“明白了。”米夏埃尔深深吸气,转身走向10号机。他敲下一行命令,屏幕蓝光映亮他额角的汗珠:“正在执行zone transfer verification… checksum matched.” 安德烈亚斯愣在原地,看着教授缓缓松开开关,那截悬停的手指微微发颤。
施耐德没再说话,只是将红铅笔轻轻搁在图纸上。笔尖沾着一点朱砂似的红痕,像滴将凝未凝的血。他忽然转向安德烈亚斯:“你暑假每天清晨七点来实验室,是为了什么?”
安德烈亚斯一怔,下意识摸了摸左耳后那道浅疤——三年前他在慕尼黑地铁站被醉汉推搡撞上玻璃门留下的。他嗫嚅着:“为了……攒够去美国交换的学费。”
“错。”施耐德摇头,目光扫过两人,“你们来,是因为相信有些事比学费更重要。比如当全欧洲还在用打孔卡编译FORTRAN时,有人已开始思考如何让十亿台设备互相认出对方的名字。”他抬手按在12号机冰凉的金属外壳上,声音忽然低沉下去:“知道陆怀民为什么坚持用300页篇幅写这篇论文吗?因为他知道,第一个把命名权从人类手里夺走的系统,终将决定未来五十年谁掌握话语权。”
窗外暮色正一寸寸吞没亚琛工大的哥特式尖顶。米夏埃尔望着屏幕上静静滚动的DNS查询日志,突然想起陆怀民第一次来找他时的情景:那个穿洗得发白蓝布衫的年轻人站在机房门口,帆布包带勒进肩胛骨,递来的U盘外壳还带着体温。当时他随手插进驱动器,只看到几个晦涩的文件夹名:/root-zone /de-delegation /cn-authority。他甚至没点开就皱眉:“这跟TCP/IP有什么关系?”年轻人只是安静笑了笑,说:“教授,当水管爆裂时,修理工不会先讨论水分子结构。”
此刻米夏埃尔终于读懂那笑容里的重量。他慢慢摘下眼镜,用衬衫下摆擦去镜片上的雾气。再抬头时,12号机屏幕正跳出新日志:[QUERY] <a href="
http://www.cnn.com" target="_blank">
www.cnn.com</a> → . → .COM → cnn.com. → A record returned. TTL: 300. 他盯着最后那个“300”,突然意识到这是五分钟后——不是五个小时,不是五天,而是精确到秒的、可计算的信任衰减周期。Hosts.txt里从来只有“存在”或“不存在”,而这里,连“不存在”都标着保质期。
“教授,”安德烈亚斯的声音很轻,“如果这套系统真能运行,那以后我们查一个域名,其实是在验证三百次数学证明?”
施耐德颔首,从抽屉取出一叠泛黄的《IEEE计算机汇刊》。1974年11月刊封面印着巨大标题《Network Protocols Are Not Enough》,内页有段被红笔圈出的批注:“协议解决数据怎么传,但名字决定数据传给谁。没有名字的网络,不过是高级电报局。”他指尖抚过那行字,仿佛触摸四十年前某个未竟的预言:“陆怀民用八个月完成了我们拖延二十年的事。现在,”他抬眼看向两人,实验室惨白灯光下,眼角的皱纹深如刀刻,“该轮到你们把这棵树种进现实的土壤了。”
米夏埃尔喉结上下滑动,忽然抓起桌上那张写满术语的配置单。纸页背面印着亚琛工大校徽,他掏出钢笔,在校徽下方用力签下自己的名字,墨迹洇开一小片深蓝:“我申请加入RFC工作组。明天就去教务处办休学手续。”
安德烈亚斯怔了两秒,随即大步冲向资料柜,拽出三本厚达五百页的《ARPANET技术白皮书》。他撕下扉页,用红铅笔在空白处龙飞凤舞写道:“致所有曾质疑命名系统的同事:我们错了。真正的革命不在路由器里,而在每个解析器记住‘www’这个字符串的0.03秒里。”签完名,他把纸页狠狠拍在12号机键盘上,纸角震得微微发抖。
施耐德静静看着这一切。他没阻止,也没赞许,只是默默将陆怀民论文的扉页翻到正面——那里有年轻人用中文题写的两行小字:“名者,实之宾也。天下无二名,犹天下无二实。”他用指尖摩挲着墨迹,窗外最后一缕夕照斜斜切过纸面,将“实之宾也”四字镀上金边。远处教堂钟声悠悠传来,第七下余韵未歇,第八声已悄然响起。米夏埃尔忽然发现教授袖口露出半截腕表,表盘玻璃下,秒针正以稳定节奏切割着时间:嗒、嗒、嗒……每一声都像一把小锤,将某个正在诞生的新世界,一寸寸钉进1977年深秋的砖缝里。