第一次尝试中成功传到对端的两个字母是L和O。“LO”是英语命令“LOGIN”的前两个字母,这条命令用于登录系统。1969年10月29日晚,加利福尼亚大学洛杉矶分校(UCLA)的程序员查利·克莱恩,试图登录位于门洛帕克的斯坦福研究所(SRI)的一台计算机。比尔·杜瓦尔在另一端等候。他们正在测试一个叫ARPANET的新网络,克莱恩还没输入完命令,远端计算机就出了故障。大约一小时后,他们完成了登录。失败的尝试成了这段网络历史中最著名的一幕;让第二次尝试得以成功的工作,同样值得关注。
57年后,这个故事常被压缩为一句话:互联网始于“LO”。这是一个令人印象深刻的纪念意象,却需要两点说明。ARPANET是后来推动互联网形成的研究网络,并非我们今天使用的全球网络。此外,UCLA留存的手写日志并没有逐字写出这两个字母,而是记录团队已与SRI进行了“主机到主机”的交流。输入了什么,是由当事人讲述的。文件和记忆照亮的是同一事件的不同部分。
有截止日期的测试
美国高级研究计划局(ARPA)资助不同大学和实验室的计算研究。负责人希望研究人员能使用远处的计算机、共享资源,而不必为每一台机器单设一条终端连接。鲍勃·泰勒推动这一想法,拉里·罗伯茨组织网络项目,Bolt, Beranek and Newman公司(BBN)的团队则制造了将大型计算机接入网络的接口计算机。这些设备名为Interface Message Processor,简称IMP,负责处理早期网络的信息传输。
UCLA于1969年8月底收到第一台IMP,并在9月初将其接到SDS Sigma 7计算机上。SRI于10月收到第二台IMP,当月稍后接入SDS 940主机。两个地点已有线路相连,但线路能用,不代表一台计算机就能使用另一台。两家机构都必须为各自的机器编写软件,并商定交换信息的方式。UCLA的史蒂夫·克罗克在1969年4月写下第一份Request for Comments(RFC,意为“征求意见”)备忘录,提出了软件的初步方案和待解问题。网络不仅靠硬件,也在讨论中成形。
在UCLA的Internet50项目后来发表的访谈中,杜瓦尔回忆,远程登录的截止日期是10月31日。团队安排在10月29日夜间测试,因为那时需要使用计算机的人较少。他记得系统很不稳定,并说自己之所以被拉来处理SRI的接口,是因为同时了解相关协议和计算机。克莱恩则曾为UCLA编写连接主机与IMP的软件,但他不记得选择那天有什么特别理由。双方准备好了,于是就试了。
第三个字母出了什么事
加利福尼亚时间晚上约10点半,克莱恩开始输入命令。两位程序员也通过电话联系,以确认哪些字符到了SRI。L到了,O到了。当克莱恩输入G时,接收端计算机发生故障。前两个字符并不是为历史特意写下的诗意问候,而是一次实际登录测试的开头。负责UCLA网络测量中心的伦纳德·克莱因罗克,后来觉得它们恰好呼应了英语表达“lo and behold”,大意是“瞧,竟然出现了”。这种解释是在事后才产生的。
杜瓦尔后来对故障给出了精确解释。SRI的计算机可以识别命令开头,并自动回送剩余字母。最初的规格只为单字符回复预留空间;当G触发较长的自动补全部分时,回复超出了这片空间。杜瓦尔在回顾访谈中将其称为缓冲区溢出。问题出在主机软件,并不能据此认定长途线路或IMP失效。按照克莱因罗克的讲述,团队修正问题,约一小时后完成了整个登录过程。
日志上的记录很简短:“与SRI进行了主机到主机的交流。”它没有提到面向全球公众的服务,也未保存一份戏剧性的电话实录。但它标志着一次转变:UCLA的计算机通过分组交换网络,与另一台主机进行了通信。在这种网络中,信息被拆成小数据包传输,再在目的地重新组合。克罗克1969年的RFC已描述这种拆分,而作者们当时仍在决定主机彼此应该如何协作。10月29日,这些计划在两台不同机器之间接受了检验。
不只是两台计算机
一张日志页的著名照片,容易让人以为网络是两个人的成果。克莱恩和杜瓦尔对那次测试不可或缺,但测试也依赖许多其他人:制造IMP的BBN工程师、资助并组织项目的ARPA负责人,以及两端编写软件的团队。在SRI,道格拉斯·恩格尔巴特的小组希望网络能扩展他们对交互式信息系统的研究。研究所还将运营网络信息中心,为不断扩大的网络提供共享目录和文档。
UCLA和SRI只是起点。加利福尼亚大学圣巴巴拉分校于11月加入,犹他大学于12月加入,构成最初的四节点布局。系统还需要证明能够可靠地服务研究人员。其他小组也在探索计算机网络,包括英国国家物理实验室。计算机历史博物馆将ARPANET放在这些同时代努力中考察,并指出资金支持帮助它发展到超越早期竞争者的规模。这是通向互联网的关键道路,却不是唯一连接计算机的实验。
从先驱走向网络的网络
ARPANET后来获得了首次测试时没有的服务。网络电子邮件在20世纪70年代初出现。随后,研究人员开始解决不同网络如何互联的问题,而不只是同一网络内的计算机相连。这些工作产生了TCP/IP,即ARPANET于1983年采用、至今仍是互联网基础的一套规则。万维网出现得更晚。因此,将1969年的实验称作“第一条互联网信息”是一种简略说法:它肯定了先驱,同时也把几十年的技术与机构工作压缩到了一个夜晚。
真实的那个夜晚没那么整齐,却更能说明问题。截止日期促使两位程序员在常规工作时间之外测试一个不稳定的系统。一次普通登录失败了,他们找出错误,再试一次。小小成功背后,是公共资金、开放的技术提案,以及使用不同机器的人们的合作——这些机器原本无法自然而然地彼此交谈。两个字母留了下来,因为故事令人难忘。真正的成就,是让对话能够继续。
资料来源: https://www.lk.cs.ucla.edu/internet_first_words.html ; https://internethistory.org/internet50-highlights/ ; https://www.rfc-editor.org/info/rfc1/ ; https://www.computerhistory.org/internethistory/1960s/ ; https://www.computerhistory.org/timeline/networking-the-web/ ; https://www.internetsociety.org/news/press-releases/2013/new-years-day-marks-30th-anniversary-of-major-milestone-for-global-internet/



