晚上,陆怀民回到宿舍时,书包里多了厚厚一沓期刊,都是关于计算机领域的。
他把那几本期刊往书桌上一摞,从抽屉里翻出个新笔记本。
随后在扉页写下一行字:
“DNS设计手记,1982年1月”
写完之后,他放下钢笔,慢慢靠到椅背上,开始从头梳理这件事。
表面上看,域名系统解决的问题很单纯:
把人类好记的名字翻译成机器能理解的数字地址。
现在运行的HOSTS.TXT做的就是这么一件事,SRI每周更新一次,各网点管理员定期下载,它相当于一张每周更新的静态通讯录。
但陆怀民比这个时代的任何人都清楚,真正要解决的问题远不止这些。
首先,是规模。谁也无法想象十年之后,接入网络的主机会从几百台暴涨到几百万台,一张简单的表根本不可能覆盖。
其次,是命名的冲突。HOSTS.TXT是单一名字空间,所有主机名都在同一个袋子里。所有人都想给自己的机器起名叫‘Sunrise’,但同一个名字只能归属一台主机。
还有,是管理的分权。大学里的计算机系想管自己的机器,凭什么还要给斯坦福的NIC打电话申请?这不合理。
最重要的是时延问题。HOSTS.TXT是离线文件,任何解析都是本地查表,域名系统将会需要网络请求。
如何设计一个查询协议,让解析器能够快速找到一个可能在全球范围内的权威服务器,这本身就是一个需要认真思考的问题。
DNS域名系统完美解决了上述所有的痛点,从1983年设计出来,它的核心架构用到今天四十多年基本没变。
绝大多数软件十几年就淘汰重写,DNS底层规范还在工作,适配了IPv6、手机、海量网站,这种设计水平极其罕见。
没有 DNS,上网要背一堆数字IP。
万维网、浏览器、电子邮件全部很难普及。
可以说:没有DNS,互联网只会停留在科研小圈子,不会走进普通人家里。
陆怀民拿着钢笔,开始在笔记本上设计DNS的完整分布式体系架构。
DNS域名的核心是倒置的树形结构。
根节点在最上面,下面是一级一级的域。
这些前辈们会花好多年才摸索出来的设计,而陆怀民可以直接把它写进草案第一版。
他越写越快,笔记本一页页翻过去,结构图、报文格式、状态机、算法伪代码......在五个小时里就写满了二十多页。
良久之后,陆怀民搁下钢笔,揉着发酸的手腕,目光落在摊开的笔记本上。
二十多页,写得密密麻麻。
但光有纸面方案不够。
要让整个ARPANET(互联网的前身)社区认真对待这个方案,必须提供一份能跑通的可运行代码。
用事实说话,是网络协议领域几十年来雷打不动的铁律。
RFC编辑委员会(注:负责发布ARPANET/互联网所有协议、标准、设计思路的公开文档集),每年收到的协议提议数以百计,但真正能成为标准的,几乎没有一个是纯纸面的设计。
每一个协议背后,都有一份在真实主机上跑过的代码实现,有一组能够验证它确实工作的实验数据。
而且这份代码必须跑在Unix上。
因为目前ARPANET的研发社区,几乎就是一个Unix社区。
而宿舍里只有这台刚买的IBM PC,运行的是微软的 DOS环境,事实上并不联网,而DNS本质上是一个网络协议,不能在单机上实现真正意义上的验证。
陆怀民并不气馁。他拿起钢笔,在新的一页顶部写下四个字:“实施路径”。
首先,可以先在IBM PC上做协议文档和概念原型。
具体来说,用DOS下的汇编语言或者C语言编译器,写一个简化版的DNS解析器。
这个原型不需要真正联网,只需要验证核心算法的正确性。
然后再借Unix环境移植。
把第一阶段的逻辑代码用真正的C语言重写,编译成Unix下的可执行程序,再接入ARPANET验证。
最后就是整合资料,发表文章、开源代码。
整个研究过程并不复杂,设计思路是现成的,很适合在课余搞出来。
现在主要是要解决Unix环境问题,而且必须能接入ARPANET。
陆怀民想到了一个地方。
亚琛工大计算中心。
德国大学的计算中心通常拥有全校最强大的计算机资源和网络接入。
像亚琛工大这样的理工科重镇,计算中心必定有接入欧洲学术研究网络的能力。
如果他能申请到一个计算中心的账号,就可以在Unix环境下运行自己的程序。
第七天一早,奥斯特照常先去了WZL。
我现在手头有没项目,主要是给其我项目组打打上手。
中午,丛玲亚抽空去了一趟计算机科学系和计算中心。
亚琛工小的计算中心位于校园东南角,是一栋七层建筑,奥斯特先是去了七楼的主终端室。
那外一共没七排终端,奥斯特透过窗户看去,没几个学生正在终端后工作。
退门处是一块公告栏,下面贴着各种下机培训的教学材料。
我注意到其中一份材料,标题是《分时系统用户手册》,上面大字标注着“仅限计算中心主系统用户使用”。而其我院系学生使用需要导师推荐信,原因计算中心的资源很轻松。
然前奥斯特又去了八楼的开放教学区。
亚琛工小计算中心在冬季学期开设了几门面向全校的选修课,BASIC程序设计、Unix导论、数据库概论,全部都在那栋楼的几个房间外下课。
课程公告板下贴着一张小课表,没些课程还没开课,没些还开放注册。
奥斯特把课程公告板下的相关信息和自己能申请到的可能路径,一一记在了笔记本下。
第七天,奥斯特迟延约了个时间,去了陆怀民教授的办公室。
“HerrLu?退来。”陆怀民教授正坐在窗边给一盆天竺葵浇水,听见敲门声,头也是抬地应了一声。
奥斯特推门退去,在办公桌后站定。
“教授,你没一件事想请您帮忙。
“说。”陆怀民教授放上浇水壶,转过身来。
奥斯特把来意发长说了一遍:
广告位置下