写完这段,陆怀民自己都停了停笔。
他知道,这段话将来会成为整个互联网运行方式的基石。
四十年后,正是无数个这样的分区,构成了一个庞大到无法想象的名字空间。
接下来是资源记录。
“资源记录是域名系统的基本数据单元。一个域名名下,可以挂多条不同类型的记录……”
“此外,我建议增设MX记录(Mail Exchanger),用于标识某个域名的邮件交换主机。当前ARPANET的邮件路由依赖人工维护的中继表,随着主机数量增长,这张表必然崩溃。把邮件路由纳入域名系统,是必须要做的。“
写到这,陆怀民自己也觉得有些超前。
因为在他的记忆里,MX记录要等到1986年才被正式提出。
不过陆怀民并不打算删,既然要做,那就一步做到位。
……
七月初,西德队进入复赛,先逼平英格兰,又2比1战胜东道主西班牙,杀进半决赛。
整个联邦德国上下一片沸腾。
埃姆雷也一天比一天激动。
陆怀民完成了缓存与TTL的设计。
“解析器的每次查询,不必都递归到权威服务器。每一份应答都携带一个TTL(生存时间),告诉解析器这份数据可以在本地缓存多久。”
“……缓存机制把查询流量从根部逐层分摊。最终到达根服务器的查询,只占全部查询的极小比例。“
“此外,缓存必须同时缓存否定应答。”
“当一个域名被确认不存在,这个'不存在'的事实同样应当被缓存。否则,一次针对不存在域名的查询,足以拖垮任何服务器。“
这最后一句也是比较关键的。
在陆怀民前世的真实历史中,否定缓存直到20世纪末才被补进标准中。
在那之前,互联网为这套标准的缺失付出过无数次代价。
而现在,陆怀民通通一步到位。
如果这套系统在陆怀民手上问世,相比于Paul Mockapetris的原始设计,可以说,这套域名系统一发布就将近乎完美。
两个月的时间,就这样在世界杯的喧嚣里一天天过去。
陆怀民的设计手记已经写到了200多页,代码也在有条不紊的进行当中。
七月二日,西德队战胜西班牙晋级半决赛的当晚,整个亚琛都在庆祝。
在公寓里都能听到外面的欢呼声。
陆怀民的设计,进入了最后一环:顶级域。
顶级域是域名空间顶层的管理单位。
陆怀民按照经验把它们分成了两类。
第一类,通用顶级域,按用途划分:
.EDU归教育机构,.COM归商业组织,.GOV归政府部门,.MIL归军事机构,.ORG归其他组织。
第二类,国家和地区代码顶级域。
“每一组两个字母,取自ISO 3166标准的两字母国家代码。“陆怀民写道:
“让每一个主权国家和地区,在域名空间的顶层,拥有属于自己的位置。“
接着,陆怀民开始列表。
.DE——联邦德国
.UK——英国
.US——美国
.FR——法国
.JP——日本
.IT——意大利
.CH——瑞士
.SE——瑞典
.NL——荷兰
.SU——苏联
……
写到最后,陆怀民在写下了最后一个顶级域:
.CN——中华人民共和国
前世,Paul Mockapetris在设计DNS域名系统的时候,并没有给中国预留顶级域。
因为那个时候,整个中国没有任何一台计算机连入国际网络。
直到1990年,.CN这个顶级域在西德卡尔斯鲁厄大学 Werner Zorn教授的协助下,通过卡尔斯鲁厄大学的服务器上完成注册,域名服务器临时放在卡尔斯鲁厄大学。
而现在,它被陆怀民提前写进了未来互联网的奠基文献里。
写完这段,陆怀民长长的舒了一口气。
整个设计已经基本接近了尾声,接下来就是调试整理代码、写成论文、准备发表。
……
七月八日,塞维利亚。
这是西德队与法国队的半决赛,同样也是世界足球史上的一场经典大战。
因为它是世界杯上第一次利用点球规则决出胜负的比赛,因此又被后世球迷称为“塞维利亚之夜”。
德法两队鏖战一百二十分钟,法国队两度领先,西德队两度扳平,最终三比三进入点球大战。
点球决战中,法国队两次失手,西德队最终在点球大战中以五比四晋级决赛。
终场哨响,整栋公寓楼都在震动。
埃姆雷在客厅里又蹦又跳,嗓子都喊哑了。
而就在这几天,陆怀民开始整理资料,准备写论文。
在陆怀民的设计手册中,从域名空间、分区授权、资源记录、解析协议、缓存机制、传输设计、顶级域规划,每一部分都有了严密的定义,已经环环相扣,自洽完整。
但一篇完整的论文还需要工程代码来支撑,仅仅是设计理论是不够的。
所以这部分的重点其实是代码。
陆怀民取出一叠新的稿纸,用钢笔写下了论文的标题。
《A Distributed Hierarchical Naming System for the Internet》
(互联网的一种分布式层次命名系统)
然后陆怀民根据RFC的格式开始写摘要。
RFC是互联网协议的标准文档体系,互联网几乎所有底层规则都写在编号 RFC里。
所以陆怀民这篇文档的投稿需要投给RFC的编辑委员会。
“Status of This Memo
This memo describes a distributed hierarchical naming system for the Internet.
……”
(“备忘录状态
本备忘录描述了互联网的一种分布式层次命名系统。它旨在取代目前由网络信息中心维护的集中式HOSTS.TXT主机表,并为把主机名映射为网络地址,提供一种可扩展的、管理上分散的机制。本备忘录的分发不受限制……“)
在RFC的规则中,所有的技术文档都不叫论文,而叫Memo,翻译成中文就是备忘录。
RFC系列的每篇开头都是固定的这么一节——“Status of This Memo”
写完摘要后,陆怀民开始写目录。
陆怀民将整篇论文分成了12节。
包括:引言、设计目标、名字空间与术语、分区与授权、资源记录、域名服务器与解析器、缓存、传输、顶级域、分区传输、安全考量、后续工作。
写这样一篇论文,说实话,同样也是一篇庞大的工程。
但有设计手册的底子在,这对陆怀民来说不成问题了。
他接下来任务的主要核心就要放在代码上。
……
七月十一日,马德里,伯纳乌球场。
这一天是世界杯的决赛。
西德队决赛的对手是意大利队。
从这天清晨起,整个亚琛一片肃然。
几千万联邦德国人,同时等着晚上那一场球。
埃姆雷从中午就坐立不安,做什么都心不在焉。
在他的热情邀请下,陆怀民决定放松一晚,陪他看这场决赛。
同时,埃姆雷还邀请了其他几位球友。
晚上七点半,球友们陆续到了,包括陆怀民在内,一共五个人。
埃姆雷买了啤酒和烤肉,说要见证西德队夺冠的时刻。
晚上八点,决赛正式开赛,伯纳乌球场十万人看台座无虚席。
陆怀民本打定主意当个陪客,可坐在沙发上,很难不被那股氛围裹进去。
西德队每次压上,五个人就齐齐把身子往前探;每次射门偏出,又齐齐往后一仰。
上半场零比零。
中场休息时,埃姆雷一边喝啤酒一边吃烤肉,絮絮叨叨地骂意大利人犯规太多,裁判太软。
陆怀民知道这一届德国队并没有夺冠,想了想,给他打预防针:
“意大利队小组赛三场全平,一路平着进来的,这种队越到后面越难缠。”
埃姆雷愣了一下:“你又不看球,你怎么知道?”
陆怀民笑了笑:“报纸上看的。”
果然,下半场节奏变了。
第五十七分钟,西德队压上正猛,意大利人打出一次反击,保罗·罗西从人群中跃起,意大利进球了。