路由器是谁发明的?

出生于1940的66岁老人威廉(比尔)耶格尔(William (Bill) Yeager)作为多协议路由器的发明者,见证了这一设备加速网络发展的里程。网络世界采访了这位老人,给我们讲了一些鲜为人知的故事。以下是节选。

有趣的是,这位老人似乎很喜欢中国。他去过中国,还在学中文。这个固执的老人离开了斯坦福和孙,创办了自己的Peerouette公司。

问:说说你在斯坦福做研究员的时候研发第一台路由器的故事吧。

a:这个项目是1月份开始的,1980。当时老板说,你是搞网络的。我们来看看计算机系,医院,电气系怎么联系。

问:什么样的设备需要互联?

答:我们有大型机、DEC10系统、一些施乐PARC Lisp机、Altos文件服务器和打印机,几年后我们增加了DEC VAXs、德州仪器Explorers和Symbolic systems。这些都必须是有联系的,因为我们分散在整个校园,大家都厌倦了拿着磁带到处跑。

我想了想,说我们真正需要的是一个操作系统。测试时,在DECPD11/05上开发了网络操作系统和路由代码。但是艾伦·斯奈德的可移植C编译器产生了大量的代码。我要研究编译器优化代码生成器,但是还不够好。于是我不得不为PDP11/05重新编写了一个优化的编译器,可以减少30%左右的代码。这是一个大项目,因为每件事都需要你去做。要知道PDP11/05只有56KB的用户内存,而且是无盘的。限制太多,你要在内存分配算法,内存溢出等方面做很多事情。我花了整整一个夏天来确保网络操作系统的调度和包交换算法是最优的。

用了三个月的时间得到了系统的基本原型,又用了六个月的时间在松树厅的电话间里放置了第一台路由器。PineHall位于医院和计算机科学系之间,路由器两侧的电缆长达2000英尺。

问:这台路由器支持什么协议?

答:首先,设备在施乐PARC系统和主机之间路由Parc通用数据包。后来81,据说IP出现了。看看你能做什么,然后我得到了一些IP路由支持。那时候不用考虑ARP,因为是3M的以太网,你的IP地址是2个字节。第一个字节是你的网络地址,第二个字节是你的主机地址。到1983年,路由器已经能够支持XNS(施乐网络服务),混沌之间的TIEExplorer和ymbolics Lisp机器和IP。那是斯坦福开始用10M以太网的时候。

问:那是你把基于PDP11/05的路由器换成了Andy Bechtolsheim开发的68000主板平台?

答:安迪是硕士生,机会很偶然。当时我们听说了他的板子,和他谈过之后,他同意我们可以有一个。我们把它插到多总线的背板上,插上一些3Com的以太网板,然后做了几份,然后我就开始转代码了。当时的极限是公交车的速度。Bechtolsheim的板有256KB的内存,对我来说是天堂。

问:校园网就是从那时候开始的?

答:一开始人们有点怀疑,但直到1983年才清楚这是王道。刚开始只是技术参与,后来整个校园都加入了。我在85年左右完成了一些重要的开发。

问:中间发生了什么?大量的优化和改进?

答:这是没完没了的,对吧?新功能,新功能。在C语言中,路由器是一个类,IP等特定协议是一个类的实体,而NOS是多任务的。这就是思科做得好的原因,因为你可以给NOS添加更多的东西,只需要简单地添加另一个任务。

问:说到思科,他们是什么时候出现的?

答:85年春天,LenBosack(他当时负责计算机科学系的计算机设施,后来成为思科的创始人之一)和另一个人来到我的办公室,问我是否可以访问路由器的源代码。我问他们能做什么,他们说想做一些改进,增加更多的功能。我当时有别的研究任务要做,就说好,把密码给了他们。思科说它成立于1984年,但当时我从未听说过它。

问:当时你认为他们代码的目的是为了建设更好的校园网?

答:对。我们每周开一次会,他们真的在做一些事情。当我们决定做一个纯粹的IP路由器时,我们取消了对XNS、混沌网和PUP的支持。一年后,他们基于我的代码开发的路由器版本成为了斯坦福的官方路由器。工作很好,这是我唯一在乎的。我们是相通的。似乎在1986年的某个时候,我知道了思科,我们也都知道了Len为之工作的思科。他们利用在斯坦福的时间为思科开发代码。但这并不是很糟糕,因为类似的事情以前在斯坦福也发生过。但是斯坦福决定是时候解决这个问题了。“你在斯坦福开发了成果,我们也想分一杯羹。”

问:谁说的?

答:只是一个大概的想法。然后我拜访了我的律师,拿到了源代码。在律师面前运行代码。先说操作系统,因为这是路由器的核心。除了变量名之外,它们都是一样的。律师说:“我是律师,我看他们是一样的。”。我们再来看看网络数据logblock。它分为两部分。这是再改进,但还是一回事。他们改变了一些东西,并添加了自己的新路由协议。如果你懂网络,你就可以做到。我只是做了我想做的事情,因为这是首长给我的工作,也是部门的需求。

最后,斯坦福真的决定,Len和他的合伙人必须离开学校,专注于思科。

问:除了6.5438亿元的专利费,思科还会给你其他什么吗?

答:版税三分之一归学校,三分之一归系里,三分之一归发明人。我把我的三分之一给了系里,因为本质上这些都来自良好的研究氛围。但思科一直不太信任我。思科有个网页让我很恼火:“桑迪·勒纳和莱恩·博萨克相爱了,他们为了不出门在校园里聊天发明了路由器。”真的是笑话。

我是那种在思科不受欢迎的人。但是这些都很有意思。我对自己做的每一件事都充满激情,同时也从公司的运营和如何成为大公司中学到了很多。

问:所以20年后你离开斯坦福去了孙?

答:我离开斯坦福是因为从学校获得资金变得越来越困难。我通过咨询孙赚了外快。主要处理IMAP邮件。因为他们有一个项目叫做SPARCStation Voyager:使用Solaris2.4,一个快速矩阵显示的笔记本占用的空间非常小。“旅行者”的一个特点是它可以在断开模式下工作。你可以断开网络,但他可以继续工作。我的工作是做一个IMAP服务器和客户端,在客户端断开连接的情况下仍然可以工作。这很困难,因为IMAP2bis当时不支持邮件断开,我必须修改协议来支持这一点,并支持低速带宽。当我的一个同事离开时,他的老板希望我加入并继续这个项目的电子邮件部分。我觉得我53了,上了很久大学,然后就同意了。

问:你如何比较商学院和商界?

答:我在孙的公司政治里经常碰壁,永远也解决不好。我在斯坦福的时候,有一条规则:最好的项目获胜。简单直接。如果你的项目比别人的好,你将获得最高荣誉。但在Sun,情况就不同了。可以生产出最正确的软件。有一堆总监,副经理,经理等。我发现自己也参与了这些斗争,我上面有10人。我不在乎这些,因为我喜欢做最好的项目。

所以我带来了IMAP技术,到1996年,我在Sun的所有地方编写了IMAP服务器。然后他们决定我们应该开发一个。然后我发明了SIMS(Sun互联网邮件服务器),另一种类型的服务器,我们最终在一台服务器上拥有数千个收件箱。

我有4项关于模拟人生的专利,我总共申请了40项专利。其他的都和点对点网络有关。在来Sun之前,我作为JXTA项目的CTO做了很多工作,这是Sun的一个开源项目。