William (Bill) Yeager 这位生于1940年的66岁老人作为多协议路由器的发明者见证了此设备加速网络发展的里程。NetworkWorld采访了这位老人,让我们了解一些鲜为人知的故事。下面是节选。
有趣的是这位老人好像很喜欢中国,曾经来过中国,并且目前还在学习中文中,这位倔老头离开了斯坦福,离开了Sun现在创建自己Peerouette公司中。
Q:讲讲你在斯坦福当研究员开发第一台路由器的故事
A:这个项目开始于1980年元月,当时头说,你是搞网络的,看看怎么把计算机科学系,医院和电气工程系互联起来。
Q:都需要互联一些什么样的设备呢
A:我们有大型机,DEC10 Systems和一些Xerox PARC Lisp机器,Altos文件服务器和打印机,过了几年又加了DEC VAXs,德州仪器的Explorers 和Symbolic systems。所有的这些都必须连在一起,因为我们散布于校园,大家已经厌烦了拿着磁带跑来跑去。
我想了一会说我们真正需要的是一个操作系统。一边拉线进行测试,一边在DEC PDP11/05上开发网络操作系统和路由代码。但是Alan Snyder Portable C compiler产生了很多代码。我必须研究编译器来优化代码生成器,但还不够好。所以我只好重新给PDP11/05写一个优化的编译器从而可以减少代码三成左右。这是一个大工程,因为所有的事情都需要你来做,要知道PDP11/05只有56KB的用户内存,并且是无盘的。有太多的限制使你不得不在内存分配算法,内存溢出等上做很多事情,我花了整个夏天来确保网络操作系统的调度和包交换算法是最优的。
花了3个月有了系统的基本雏形,6个月有了第一台路由器放在了Pine Hall的电话机房。PineHall位于医院和计算机科学系的中间,路由器两边的线缆有2000英尺长。
Q:这个路由器都支持什么协议
A:开始的时候,设备路由Xerox PARC系统和大型机间的Parc Universal Packet.后来在81年头说IP出现了,你看看能做点什么,然后我就搞点IP的路由支持,当时不用考虑什么ARP,因为当时是3M的以太网,你的IP地址为2个字节,第一个字节是你的网络地址,第二个字节是你的主机地址,也就是你的MAC地址。到83年路由器已经可以支持XNS(Xerox Network Services),TI Explorer和ymbolics Lisp machines之间的CHAOSne还有IP。也就是那个时候斯坦福开始使用10M的以太网。
Q:也就是那个时候你把基于PDP11/05的路由器转到了由Andy Bechtolsheim开发的68000主板平台了?
A:Andy是硕士学生,机会也很偶然。当时我们听说他的板子,跟他谈了以后他同意我们可以有一个。我们把他插到多总线的背板,插上一些3Com的以太板子,然后弄了几个复制品,然后我就开始进行代码的转移。当时的限制就是总线的速度。Bechtolsheim的板子有256KB的内存,对我来说简直是天堂了。
Q:也就是那个时候校园网络开始了?
A:人们开始还是有点怀疑,但是到了83年才清楚这个才是王道。最初只是搞技术参加,后来整个校园都加入了。在85年左右我完成了一些重要的开发。
Q:中间发生了一些什么呢?很多的优化和改进?
A:这是无止境的对吧?新功能,新特性。用C语言来说就是路由器是一个类,特定的协议比如IP是类的一个实体,NOS是多任务的。这也就是思科为什么做的好的原因,因为你可以增加更多的东西到NOS里面,很简单只要增加另一个任务就可以。
Q:谈到思科,他们什么时候出现的?
A:在85年的春季,LenBosack(当时负责计算机科学系的计算机设施,后来成为思科的创始人之一)和另一个人进入我的办公室问我是否能接触路由器的源代码。我问他们能要干什么,他们说他们想做点改进,增加更多特性,我当时还有其它研究任务要做就说不错,把密码给了他们。思科说成立于84年,可我当时根本没有听说过。
Q:当时你认为他们要代码的目的是为了搞一个更好的校园网?
A:对。我们有每周例会,他们也确实在做一些事情。我们决定做纯IP的路由器就取消了XNS, CHAOSnet和PUP的支持。一年之后基于我的代码的他们版本的路由器成为斯坦福正式的路由器。工作的很好,这也是我唯一关心的,我们联通了。好像86年的某个时候我知道了思科,我们都知道了Len为之工作的思科。他们利用在斯坦福的时间为思科开发代码。但是这不是很不好,因为斯坦福以前也发生过类似的事情。但是斯坦福决定该解决的时候了 “你们在斯坦福开发出成果了,我们也要分一杯羹”
Q:谁说的呢?
A:只是大意。然后我拜访了律师,拿上了源代码。在律师面前比对了代码。先从操作系统开始,因为这是路由器的核心。除了变量名不一样以外都是一致的,律师说“我是个律师,我看到他们是一致的”。让我们再看看network data logblock,他被分成了两部分,这是重新改进的,不过还是一样的东西,他们改了一些东西增加了他们自己新的路由协议,如果你懂网络你也能,我只是做了我要做的,因为这是头给我的工作,是系里的需求。
最后斯坦福真的决定了,Len和他的合伙者只得离开了学校专注于思科。
Q:思科除了给你10万元版税以外还有别的吗?
A:版税的三分之一给了学校,三分之一给了系里,三分之一给了发明者。我把我的三分之一给了系里,因为本质上这些来自于良好的研究氛围。But Cisco has always had trouble giving me credit思科有个网页的内容让我很厌烦:“Sandy Lerner和Len Bosack相爱,为了能在校园里聊天而不用出去他们发明了路由器”真是开玩笑。
我是那种不受思科欢迎的人。但是这些都很有趣。我对我做的东西都充满激情,同时我也学到了很多,从公司运作和如果成为一个大公司。
Q:因此你20年后离开了斯坦福去了Sun?
A:我离开斯坦福是因为从学校获得资金变得越来越难,我通过给Sun做咨询来额外赚钱。主要是处理IMAP电子邮件的东西。因为他们有一个名叫SPARCStation Voyager的项目:使用Solaris2.4,带快速矩阵显示器的占空间很小的笔记本。Voyager一个特性就是可以工作于断开方式。你可以断开网络但是 他还能继续工作。我的工作就是做一个IMAP服务器和客户端,当客户端断开的时候还能工作。这个很困难因为当时 IMAP2bis不支持断开电子邮件,我必须修改协议来支持这个还有支持低速带宽。当和我一起工作的一个同事离开只有,他的老板想让我加入来继续这个项目的电子邮件部分。我想我已经53了,在大学很长时间了,然后就答应了。
Q:你怎么比较学校和商业世界
A:我在Sun的公司政治上经常撞墙,从来也不能很好解决。当我在斯坦福的时候有一个规则:最优秀的工程胜出。简单,直接。如果你的工程比别人的好,你就得到最高荣誉。但是在Sun这是不同的。最正确的软件才能生产。有董事会,副经理,经理等一堆,我发现我卷入到这些斗争当中,我上面还有10级的人物。我不在意这些,因为我喜欢做最好的工程。
因此我带来了IMAP技术,到96年我写的IMAP服务器遍布Sun。然后他们决定我们应该开发一种。然后我发明了SIMS(Sun Internet Mail Servers),另一种类型的服务器,我们结束了一个服务器上有成千上万的收件箱。
在SIMS上我有4项专利,总共申请了40项。其它的都是和对等网络相关的,在来Sun之前我做了很多,作为Sun开源项目JXTA项目的CTO。
标签:路由器,发明者