An Interview With The Router Man
Angry_Admin writes "For Network World's 20th anniversary, they've published an interview with William (Bill) Yeager, the creator of the multiprotocol router, with some history on how Cisco came to be. As he says in the interview : 'This project started for me in January of 1980, when essentially the boss said, "You're our networking guy. Go do something to connect the computer science department, medical center and department of electrical engineering."' 6 months later he had his first working 3MBit router shoved in a closet."
...the first ASCII pictures of boobs were sent from the computer science department to the engineering department...
Mr. Router, that's his name, his name again is Mr. Router.
This guy is a neighbor of mine. He always spouts off shit like an old crazy man about how he invented the Internet, and this and that. I always tell him that he is wrong, and that Al Gore invented the Internet.
Now I feel like an ass.
In 20 years, undergraduate computer science students will be required to write virtual machine monitors.
Right now, I have taken classes that required me to write neural networks, and perform experiments on compute clusters.
20 years ago, this was a big deal.
I work in Pine Hall. I just looked in the aforementioned telephone closet, and, while there's still a chunk of thick-net on the wall, the router's gone.
It's easy to use the perpective of hindsight to declare something is inevitable. Not only did he invent something, the underlying architecture was what was, in part, the key to Cisco's early success as the design scaled very well.
The guy's vastly underappreciated.
"I'd rather be a lightning rod than a seismometer." -Ken Kesey
The social aspects of computing can be just as interesting as the actual technology. We have the tale here of a smart guy who got a project dropped on him to do some in-house work. His work (almost directly, and at the expense of litigation) evolved into Cisco's IOS.
The latter half of the article is even less about tech details than the first half, recounting his (mis?)adventures at Sun.
As a side note, either I'm missing something or he's being misquoted. IP has always been 32bit addressed, right? I'm assuming it's 3mbit ethernet that was 16bit?
-- Have you ever imagined a world with no hypothetical situations?
Invent and code in PDP11 *optimizing* assembler? 6 months seems like a prtty short time to me.
-- Have you ever imagined a world with no hypothetical situations?
Read the article?
It was not an easy task and the guy had only 56k of ram to work in on a primptive PDP11 with no networking hardware.
It was homebrew to the core and he had to rewrite his software several times and write his own optimization code in assembly because even the best c compilers produced code that was too big.
In that 56k or ram he used buffers to handle the 3 megs per second transfer rates. Pretty damn impressive and I would assume would be impossible.
What have YOU done in six months (or less) that would compare to this?
please excuse my apathy
I learned how to write "Hello World" from a command line to my screen!
I saw Heron of Alexandria on Discovery a while back. He was quite the mechanical engineer, apparently. One of his inventions, called an "aeolipile", pictured in the Wikipedia article, is the first recorded steam engine. The upshot is that he invented it sometime between 150 BC to 0 AD.
Quoth that article:
the first recorded steam engine, (known as Hero's Engine) which was created almost two millennia before the industrial revolution, which was powered by steam engines. Apparently Hero's steam engine was taken to be no more than a toy, and thus its full potential not realized for quite some time.
My point is that, just because something seems inevitable doesn't mean that it is. People miss the obvious all the time, and due to the most incredibly mundane reasons. If not for inexplicable lack of imagination in an otherwise incredibly imaginative and inventive guy, the industrial revolution could conceivable started in Greece around the time of Christ.
It took almost 2000 years before it was obvious to someone else. Inevitable? Maybe. But it might have been your grandkids' grandkids who created the internet, if this guy hadn't hit the right set of circumstances.
Clearly, you didn't listen in your best class. TCP/IP is encapsulated in ethrenet frames which are encapsulated in ATM Cells which are then multiplexed onto either TDM or SONET backbones. All of which is part of the Internet.
6 months seems like a long time to invent a multi-protocol router You've obviously never written network protocol stacks. While an extremely competent developer might be able to crank out an IP-only router in about 2 months, supporting TCP/IP, Netware and NetBIOS simultaneously would probably take me (with 25 years experience in networking software) at least 6 months of C coding to write one from scratch, and that's assuming all protocols were well documented and no reverse-engineering was required, which probably was NOT true at the time. So while developing a router in 6 months doesn't strike me as impossible, his accomplishment certainly puts him in the top 5% of coders out there.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
"Just think of an ethernet frame fractured into ATM frames, put into TCP/IP and and sent over the internet, and then having to be converted back."
Well take it from a networking 4 th year Phd. your description of layering and encapsulation is totally wrong. I don't blame you, I blame the ignorant mod who gave you +1.
TCP/IP segment-> ethernet frame or TCP/IP segment-> ATM -> SONET (perhaps) or TCP/IP->MPLS
there is no need to encapsulate ethernet frame in ATM, since in the case of IP traffic both ATM and Ethernet are layer 2 protocols. you either have a 802.3 LAN or point to point ATM links.
That took you six months? It took me six minutes. Thank you W3Schools.com http://www.w3schools.com/js/js_howto.asp
Someone save me from this sanity.
That was my thesis.
I get my Network World every week like clockwork, and they seem to accumulate somewhere around my desk in a little pile. This article caught my eye, and I read it from start to finish twice. It was really quite fascinating. I understand routing, and while it is fairly simple these days, I can't imagine trying to code the first one. There was nothing to base anything on. He didn't just write the code, he invented the theory, tested it, and proved it could work.
By the way, the whole issue is one that everybody should read, even if only for the timelines. Most issues have at least one interesting article in them, although this is by far the most interesting.
Just my 2 cents
didn't this guy have a flight sim back when my XT was in full force? or am i dreaming?
We're like rats, in some experiment! -- George Costanza
You must not have been around that long then as the development tools from the early 1980s were pretty primative by today's standards. I started working with computers in the early 1980's and we used primative line editors to write code. It was terrible as the editor forced you to relist your program over and over again. Making code changes like deletions, or insertions was very clunky and you could easly remove the wrong line or group of lines with an errant editor command.
I never saw a full screen editor until I started working on a DEC VAX system running VMS. It was the same thing with microcomputers like the Apple II or 8080 or Z80-based CP/M-80 systems. I was using a line editor until I got a copy of WordStar for CP/M-80 which gave me some full screen editing capabilites. The microcomputers were 8bit with a maximum of 64K of memory and there wasn't any memory protection. So an errant program could lockup a microcomputer very quickly.
I even managed to damage a few floppy disks in my Apple II when I was working on 6502 assembly code. My code went through and poked Apple DOS somewhere and the floppy drive unit turned on and did something bad to the floppy disk inside. The disk failed all attempts at reformating and so I just had to throw the disk out. The only fullscreen editor I ever saw for programming on the Apple II was the full screen editor in their Apple Pascal environment which was based on the UCD Pascal environment. The compiler generated pCode and was executed by a pCode interpreter written in 6502 assembly language.
Not me you idiot! :)
To be really anal:
TCP/UDP Segment > IP Packet > Ethernet Frame/ATM Cell > physical wire
--- RFC 1149 Compliant.
He didn't have any legacy code to contend with! (only half kidding).
Segments Packets Frames Bits Which paired up with All People Seem To Need Data Processing. Oh the mnemonics we would share. :P
I don't want knowledge. I want certainty. - Law, David Bowie
there is no need to encapsulate ethernet frame in ATM,
True, but since when has lack of need prevented new networking technologies from being invented? Try googling "ethernet over ATM".
I don't blame you, from the perspective of 2006 who'd'a thunk that somebody would actually do that? Hopefully your dissertation defense won't hinge on a detailed knowledge of misbegotten networking technologies.
the past is cool, but it is just that. past. what i found most interesting in TFA was what Mr. Yeager is up these days. like his new patent for a P2P net called "Peerouette-Network" and what it will be capable of. have a read . http://www.freshpatents.com/Global-community-namin g-authority-dt20060112ptan20060010251.php
I remember visiting my dad at the UCSC computer center. There was an observation window with a view into their brightly lit dinosaur pen. There were rows of computers and tape drives that looked more like appliances. People were scurrying around attending to the care and feeding of these machines.
A few years ago I went back to this same computer center. The lights were off and no one was there. There were a variety of behemoth machines in the shadows around the room that looked like they hadn't been fired up in years. There was a row of relatively tiny Sun servers running down the middle of the room that appeared to be handling the workload that previously took a room full big iron. My dad showed me one Vax 11/780 in the corner that was still being used as a mail server. But there was already a plan to decommission this last vestige of a bygone era, thanks to its enormous appetite for power.
Indeed I went to far generalizing. I must admit I never examined an ethernet or PPP over ATM system but I was aware of their possible existence since in networking in many occasions useless systems are implemented just because they can. I never bothered looking into something like that, as I have much more important subjects to research about like say IP over ATM works, which are really great. I should have rephrased my statement as "No useful system layering would involve ethernet over ATM and most likely this is not what they tought you in Networks 101"
Ahhh... Apple Pascal... Memories of CompSci classes in high school (until we raided the library for a couple of IBMs :)
Yeah, it wasn't until MS-DOS 5.0 that PCs came with a decent editor - anyone who ever had to use edlin to fix their autoexec.bat file can attest to just how much better the DOS 5 editor was...
I recently went back and fired up an old copy of Borland Turbo Pascal - the version I used in high school for my science fair experiments. It's actually painful to use those old tools nowadays - modern IDEs with syntax highlighting and all the rest of the goodies make things a hell of a lot easier.
OTOH, the machines were so much simpler - even the (at the time) complicated 386 with its protected mode and 16-bit ISA or MCA cards is a toy nowadays.
Why can't I mod "-1 Idiot"?
The application data is packaged into the 1472-byte payload of a TCP/IP packet. That TCP/IP packet is handed off to the network interface adapter. For this example lets assume it's an Ethernet nic. The Ethernet nic (its driver or the actual ASIC on a fancy server nic) encapsulates the TCP/IP packet and stuffs it in the 1500-byte payload of an Ethernet frame (again we're glossing over the possibility of jumbo frames). Lets gloss over all of the network stuff between your nic, your LAN switch, your core router, and your WAN router (and everything else in between, assuming of course that your LAN is entirely composed of Ethernet-based technologies). Your WAN router will accept the Ethernet frame on an Ethernet-based interface. The ASICs deconstruct the Ethernet frame to extract the TCP/IP packet inside. The TCP/IP packet's header give the WAN router the destination IP address of the TCP/IP packet. Gloss over the routing decision process. Also for simplicity's sake lets assume that your router connects to the Internet via one of a couple dozen methods that involve ATM. The WAN router now takes the TCP/IP packet and fragments it, stuffing the fragments into 53-byte ATM cells (48-byte payload). Toss in some POS, MPLS, etc, etc, yadda, yadda. And finally you more or less reverse these steps for the remote end. Again, we're glossing over a lot here. This is a little more technically accuratee than your summarization. The only time that I can recall Ethernet frames being fragmented and stuffed into ATM cells (complete with the Ethernet frame's payload contents) is some implementations using LANE.
But yes it is impressive how far things have come.
Your forgetting that there was no google back then!
hmm... for fun I enjoy launching DDoS attacks against 127.87.42.5
*AND* he was the first man to break the speed of sound? Oh, wait, wrong Yeager
Quoting Yeager
I always ran into walls at Sun, company politics, and that never worked out too well. When I was at Stanford there was a rule: The best engineering wins. Simple, straightforward. If your engineering is better than the other guy's, yours got the blue ribbon. Well at Sun, and at companies in general, it's different. It's the politically correct software that gets productized.
Which is recipe for disaster as technology wins 9 times out of 10. Audio compression + internet + PC are reshaping the music business kicking freeloader rentier companies away from the profits ; if the CEO CIO and whatnot were to decide the fate of technology, MP3 was certainly going to be canceled.
Obviously the abovesaid managers will complain that MP3 reduced the value of music and that Mp3 caused more unemployement, less developement of music etc etc. They are right when they say MP3 collapsed their artificial scarity profit scheme, their copyright abuse and incredible overpricing.
Imagine what cool technology is being canceled right now, because of that reasoning.
And here she is.. my beautiful Angela..
Among the first women you could fax to a friend.
Angela ASCII
Defining Statistics and Social Research
we have a saying in #plan9 : "you're not a geek until you can use ed"
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Surely I'm not the only one who saw that headline and immediately had my internal radio station playing "Rocket Man", only as "Router Maaaaan..."
Not so impossible...when its memory usage goes near 100% it may just drop packets..
Well, obviously it wasn't imposisble. But of course you size your system so this event is relatively rare. Which in the day meant spending beaucoup bucks. If you remember hardware prices in the late 70s early 80s, the memory for the PDP-11 series in the mid 70s was something like four grand for an 8K board, in today's dollars over $10,000. The base PDP-11/05 unit with 8K or RAAM was about $6500, or well over $16,000 in today's terms.
And since the PDP/11 only had a 16 bit memory address space, the most you could stuff into it was 64K memory, and you'd spend what in today's dollars is over $90,000 for what amounts to what a hobbyist can buy in a PIC for about $20 (of course without the case, software, manuals power supply etc). So, software memory optimizations that avoided allowing one router where two would be needed would have been a huge win, well worth six months of engineer time on a production system. You've paid his salary after two or three boxes were saved.
Of course, switching to the 68000 must have changed things considerably. By the early 80s, RAM cost was about 1/3 of the 70s core memory, and you could address a lot more with the 68K's 24 bit memory address space: 16MB.
Today, you'd never spend six months of engineer time to save eight or sixteen k or memory.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Turbo Pascal takes me back...I had a version of it for CP/M-80 and it was a a great advancement. It would stop at the first compile error but it was so darn fast to compile it didn't really matter that I had to recompile after I corrected an error. I was still way more productive compared to having edit code, exit the editor, run the compiler and capture the output into a another file. Then fire up the editor again and then have to try to fix the errors based upon the output in the compiler listing. To do that meant going back and forth between the source code and the compiler listing in the editor (since the environment did have windows) which got to be a pain.
It was actually easier to get a printout of the compiler listing and then check off each fix with a red pen on the paper as I fixed it in the code. Once I checked off all of the errors I'd restart the compiler and see if there were any more errors. Compilers generatlly had pretty good error recovery to try to get past syntax errors in code so they didn't incorrectly flag correct code as having syntax errors as well. I think that probably was an artifact of the old batch days where you didn't have the luxury to keep having to submit your compile job over and over again to flesh out syntax errors. I know I was shocked once I started doing C programming under Unix and one syntax error in a program could cause the compiler to flag syntax errors on other lines of the program that were actually correct.
I'm not sure if younger developers that missed those old days realize how great they have it now with multi-windowed IDE's which make doing development so much easier. I knew even when I first started programming that I was lucky that punch-cards were dying and I was darn lucky to have a line editor on a glass CRT.
J. Noel Chiappa wrote multiprotocol router software while at MIT and licensed it to Proteon, a token ring networking company. Proteon sold the p4200 multibus multiprotocol router with token ring fiber optic backbones quite a while before cisco built their first AGS router. Some might say that Chiappa stole the MIT code, like cisco stole the Stanford code. But there is no doubt that a Proteon p4200 could be bought before cisco had any product for sale. Left coast techno bias, I suppose.
That was my thesis.
:-)
You forgot - "you insensitive clod!"
Creationist Textbook Stickers Declared Unconstitutional by CowboyNeal