PermaLinkFrom My Vault: Network Protocol Stacks

Lots of people wrote before there were blogs to provide a home for their works. Apart from the occasional article published in traditional print media or in webzines, it was email lists, Usenet groups, and web forums that were my outlet for about fifteen years. Much of that writing though, has essentially disappeared from cyberspace. Email list archives and Usenet archives exist, but they're frequently incomplete, especially when those lists go back before 1995; and some web forums just don't seem to be well-indexed by the major search engines. Blogs have a lot more permanence than these old venues.

I recently came across a collection of some essays that I wrote around 1993 or 1994. I had taken some of my mailing list and Usenet posts and saved them in a WordPro document, and I stumbled on the document while doing a disk cleanup. Although the material isn't at all current, it may still be of interest to someone somday, so I asked myself "why not post it to the blog?" I can't come up with a good reason why not, so here's one of the better essays. The reaction that this one got, and the amount of fun I had in composing it, in fact, played a big part in convincing me to write more.

Stacks: A History

In the beginning there was just one protocol, and there were monolithic drivers. The people saw that they could use the one protocol, and they knew that this was good. And it didn't use a whole lot of memory below the holy 640k.

Then the networking gods installed a new blessing upon the ether, and they said unto it "Do thy stuff with a new protocol, for there are better ways of doing things and we must make progress." And the people got real tired of rebooting in order to switch between the two monolithic drivers -- one for each protocol.

It came to pass that the monks of FTP Software and Clarkson heard the prayers of the people. "Do we not know from OSI that it is good to be layered?" asked one monk, who was immediately kicked out for breaking the vow of silence and went on to a new career acting in Xerox commercials. But the monks had heard his wisdom and the Packet Drivers were brought forth. The card-specific layer spake unto the protocol-specific layers, and the people knew that this was good, and many stacks were built to these specs. The monks gave the stacks the new name "Crynwr", but it was too difficult to pronounce and a bit loosely supported for many people's tastes. And it was starting to eat up more and more of the blessed 640k.

The Vendors also saw that this was good. "But not good enough!" they said in unison, and they set out to replace it with something better and more profitable. But there was dissension in the ranks of Vendors, and soon they split into two tribes.

The Novell tribe begat ODI, and they endowed it with many powers, not the least of which was the power to make WSGEN, who was the father of all their monolithic drivers, disappear. They divided ODI into the LSL, MLID, and protocol layers, and they decreed that LSL would contain all the magic that makes ODI work, that MLID would contain all the magic that makes a NIC work, and the protocol layer would contain the good stuff. And they did sermonize to all their faithful that IPXODI was The Way Of Version 4.0. And from Utah the cry arose that ODI is good, and the gods of market share shook their heads in agreement. And lo, there is room for other protocol stacks to sit on top of MLID and beside IPXODI, so the Novell tribe waited for other stacks to come along and join them. And though the gods of market share do smile upon them, and they and many others have produced additional protocol layers to talk to MLID, the Novell missionaries have yet to spread the vision of The Way Of Version 4.0 as far and wide as they desire.

The Everybody-Else tribe begat NDIS, and they endowed it with many powers, and more importantly they got some TCP/IP vendors to write stacks that were compatible with it. They divided NDIS into layers, and they decreed that the Protocol Manager would be responsible for binding multiple protocol stack layers unto the card driver layer through the good graces of PROTOCOL.INI. And the IBM alphabet soup gods got together and said "NDIS is a truly obscure acronym worthy of our approval, so let us create LAPS to manage its configuration."

Meanwhile back in Utah, there was much consternation, and the gods of market share did say "Thou art blessed with many customers who are peeved because they want to run stacks that are not ODI." So the gurus came down from the ski slopes and they did beget ODINSUP, and they said unto it "Thou art to be a shim that looks on the bottom like a stack that doth talk to LSL and MLID, and on the top like an NDIS card driver that doth talk to the Protocol Manager and compatible stacks. Thou shalt make our customers very happy by allowing them to run their stacks, but so too will thou make our CNEs rich in billable hours by being difficult for novices to configure." And it was good, but kind of messy.

And that's pretty much the true story about how we started on the road to where we are today. :-)

This page has been accessed 178 times. .
Comments :v

1. vesoftware11/05/2013 10:11:38 PM

Agen Bola Promo 100% SBOBET IBCBET Casino Poker Tangkas Online
ITUPOKER.COM AGEN POKER ONLINE INDONESIA TERPERCAYA : Toko belanja online murah, Promo heboh jual barang hanya Rp 1,-

2. vesoftware11/05/2013 11:19:07 PM

Agen Bola Promo 100% SBOBET IBCBET Casino Poker Tangkas Online
ITUPOKER.COM AGEN POKER ONLINE INDONESIA TERPERCAYA : Toko belanja online murah, Promo heboh jual barang hanya Rp 1,-

Enter Comments^

Email addresses provided are not made available on this site.

You can use UUB Code in your posts.

[b]bold[/b]  [i]italic[/i]  [u]underline[/u]  [s]strikethrough[/s]

URL's will be automatically converted to Links

:-x :cry: :laugh: :-( :cool: :huh: :-) :angry: :-D ;-) :-p :grin: :rolleyes: :-\ :emb: :lips: :-o
bold italic underline Strikethrough

Remember me    

Monthly Archive
Responses Elsewhere

About The Schwartz


All opinions expressed here are my own, and do not represent positions of my employer.