- 20 Best iPhone/iPad Games of 2013
- Google Chromebook Buyer's Guide
- 10 Signs You're Probably a Techie
- 8 Things Kindle Fire HDX Does That iPad Air Can't
Page 2 of 5
All in all we had the basic systems put together and working in about three months, and at six months the first router was in place in Pine Hall in a telephone closet. Pine Hall was midway between the medical center and the department of computer science. It was about a 2,000 feet cable run on either side of the router.
What protocols did the box support?
Initially, the code routed Parc Universal Packet (PUP) for the Xerox PARC systems and mainframes. Late in '81 my boss said, 'IP is coming down the pipe. Figure out what you can do with it.' So I put a little IP router in, and I didn't have to worry about things like ARP [Address Resolution Protocol], because it was 3 megabit Ethernet, so your IP address was just 2 bytes, one for the network and the other for the host, and the host byte was also the [media access control] address. But we were ready by '82, when the computer science department started dropping IP in all of these VAX750s, and by 1983 the routers supported XNS - which is Xerox Network Services - CHAOSnet for the TI Explorer and Symbolics Lisp machines, and IP. And it was just about then that Stanford University started to make the big transition to 10Mbps Ethernet.
Is that roughly when you made the shift from the PDP11/05-based router to the device based on the 68000 board developed by Andy Bechtolsheim (who later went on to found Sun)?
Andy was a master's student, and that collision was fortuitous. We had heard about his board, and we talked to him and he said we could have it. We plugged that sucker into a multibus backplane, plugged in some 3Com Ethernet boards and then rattled off a few copies, and I sat down and did a full transition of the code. One of the key aspects of these routers I put together is they really could route. I had a tremendous amount of instrumentation in there. I worked very, very hard to get that right and they could really pass stuff through as fast as the hardware could move. My limitation was the bus speed, that was it. The original Bechtolsheim boards had 256KB of RAM, and that was huge at the time. To me it seemed like paradise.
Is that when the school's network started to take off?
People were skeptical at first, but by 1983 it was clear this was the way to go. Initially, just technical people were hooking up, but then the rest of the campus got wind of it and it was made official and the thing started growing like hell. I completed the serious development around '85.
What happened in the interim? A lot of tweaking and refinement?
It's endless, right? New features, functions. I did a lot of Lisp work where objects were used, and I adapted that approach in C, so a router was a class, and a specific protocol, say IP, was an instance of that class, and the NOS was multitasking. When you added another router, then you ended up putting in an instance as another task or thread. In the network I/O drivers you would look for the link-level type in the packet to determine the protocol, and everything goes into nice queues under these router threads and it all works. That's why Cisco did so well in this, because you could add more and more stuff to the [operating system], no problem. Just add another task.