OSI: The Internet That Wasn’t
spectrum.ieee.org
spectrum.ieee.org
"On the other hand, the TCP camp also has a phrase for OSI people. There are lots of phrases. My favorite is `nitwit' -- and the rationale is the Internet philosophy has always been you have extremely bright, non-partisan researchers look at a topic, do world-class research, do several competing implementations, have a bake-off, determine what works best, write it down and make that the standard.
The OSI view is entirely opposite. You take written contributions from a much larger community, you put the contributions in a room of committee people with, quite honestly, vast political differences and all with their own political axes to grind, and four years later you get something out, usually without it ever having been implemented once.
So the Internet perspective is implement it, make it work well, then write it down, whereas the OSI perspective is to agree on it, write it down, circulate it a lot and now we'll see if anyone can implement it after it's an international standard and every vendor in the world is committed to it. One of those processes is backwards, and I don't think it takes a Lucasian professor of physics at Oxford to figure out which."
-- Marshall Rose, "The Pied Piper of OSI"
Lucasian Professor of Mathematics at Cambridge, surely?
Mozilla is understandably wary about new technologies from Google, because it would be very easy for them to make it so that the best youtube experience can only happen in chrome, which would be quite detrimental to Mozilla.
Presumably at this point Mozilla would like to join Microsoft in one of its various anti-trust complaints against Google for having dared to offer users better products.
or they could stop betraying the trust of their users. I mean, seriously. It would be one thing if they were 'only' totally compromising the network security of people who chose to use their software. But they are compromising the security of anyone with a network who lets their friends and family on board.
My network isn't a problem one way or another, I am actually fairly comfortable with the protections it has. OTOH the networks of non-techy people and family across the entire world that have been compromised by google's astounding arrogance(?) and stupidity(?) kind of bother me.
Honestly, I do not understand how an entirely tech oriented organisation like Google could do something like this. I am Jacks bewildered confusion.
Surely Mozilla adoption of Dart or NaCl would make this less likely, not more.
So there's an incentive to intensely scrutinize everything that Google is trying to do, and only to implement the best stuff. And let Mozilla's projects be specs, or in javascript, or be protocols, and sell the other browsers on them, hopefully getting other vendors like MS, Apple, Google, and Opera to think they're neat enough to buy in.
Though friendly, here's an inherent asymmetry in the relationship between Mozilla and Google. Mozilla should throw around its little market power as hard as it can.
Your analogy might work better if Mozilla was a non-practicing committee that brought a competing standard with no implementation out much later.
"the Internet philosophy has always been you have extremely bright, non-partisan researchers look at a topic, do world-class research, do several competing implementations, have a bake-off, determine what works best, write it down and make that the standard."
I think it fails on "non-partisan" and "competing implementations" for sure. Maybe Mozilla is whiny. I don't know. But these aren't great examples of the benefits of the Internet philosophy as stated above.
Say, you're not a LISPer, are you?
That allowed the IETF to continue in relative calm and without serious interference during the 80's. That all changed in the 90's when people started figuring out they were betting on the wrong horse.
In 1993 at the 27th IETF [1] I put forth the proposal that this code we had all been using (RPC/XDR) that was described in various informational RFCs (RFC1057/RFC1014) which everyone treated like a 'standard' actually be blessed as a standard. Pretty much the consensus was that it was a fine idea except that forces at that point that were rather anti "Sun" went out of their way to kill it. It was sad to watch, and folks who had been going to IETF meetings for a decade or more were appalled but damned if it had become impossible for the IETF to bless something as a standard any more. That really soured me on 'standards' for a long time.
[1] Pg: 533 Advances in ONC http://www.ietf.org/proceedings/27.pdf
In higher level protocols like email, the TCP/IP world tended towards ASCII based protocols which are far more flexible and future proof, while OSI again did ASN.1. I once worked on an X.400 (OSI Email) gateway and was highly amused that they defined a different error code for every possible reason an email could be refused. There were pages of them (including recipient is dead!) while SMTP allowed for arbitrary text and an overal numeric code to indicate the type of error. Again you can see which was easier to eyeball and diagnose.
Practicality tends to be very effective.
[1] http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One
Sounds like OSI would have been an internet built on what is essentially binary-encoded XML. I'd say we dodged a bullet.
Not if you're a big company competing with small companies. Adding 10 man-years of implementation effort is a small thing for IBM- or Cisco-sized companies, but a giant barrier to entry for upstart competitors. Also, vagueness in the spec requires extensive testing to make things interoperate reliably, which favors big incumbents.
These aren't just emergent, subconscious effects. I've been in on discussions about making a spec harder to implement to frustrate competitors. (not with any YC companies)
The dark forces of competitive advantage affect non-committee specs too. Microsoft SMB is an example. The x86 instruction set is another.
Patents and "competitive advantage".
That's not actually a trivial nuance---those are significantly different semantic behaviors. IETF RFC's use "MUST" and "SHOULD" (yes, in caps) for the same distinction.
Not from this guy. I might ask you to critique the 7 layer model, or provide me with ideas for speeding things up by skipping layers.
It's all mushed together in real stacks anyway, with dogs down in the cat layer, and mice doing double duty both at the metal and up there in the UI. I swear to god, OSI would have been standardizing finger lengths for keyboard interaction if someone had let them.
The idea of a directory service is a good one, so we ended up with LDAP and AD.
Thus proving that the OSI folks really didn't have a clue....
Why the profs stick so close to this instead of teaching a more realistic model is beyond me. Why use an inaccurate theoretical model when you could use an accurate one instead? It's going to be simplified relative to reality either way, as befits a model, but it might as well be a correct simplification. I mean, it's not like the OSI 7-layer model is a mathematical truth or anything... it's just an artifact produced by a committee a long time ago.
To anyone leaping up to defend it, let me set the frame I'll be judging the defenses by in advance: If the real world was as it is today except there was no such thing as the OSI model, and someone proposed the 7-layer model today as a model for understanding the network for the very first time, would you really consider your defense as a reason to go with it, even despite the fact the model is actively inaccurate? I don't think inertia is an adequate defense to stick with something, when we aren't even using it anyhow... what real inertia does it have?
I read these all the time. I can't remember the last time I needed to know what the OSI layers were called; they're utterly irrelevant to networking as near as I can tell.
The layers do not reflect reality. The higher up you go, the less obvious the mapping to the things that really exist gets, and the mapping is getting fuzzier over time (or, phrased another way, the OSI model is not only unrealistic, but increasingly unrealistic).
This is as opposed to possible meanings of the phrase, like "impractical". It is probably theoretically possible to write something that really would have seven clear layers, though I have to hedge; a lot of really high-performance stuff is even fuzzier than the consumer stuff. The recent trend towards userland-level networking at the highest performance end pretty much collapses layer 3 and above into one application. But it would at least ship bytes from here to there, it's certainly not an impossible design. It just isn't the real one. (And I'd have grave concerns about its performance at the top end.)
I have to admit this is another trend in programming that I just Do Not Get. This bizarre insistence on taking some inappropriate model, then with malice aforethought deliberately squinting at things that manifestly do not fit into the model until your vision is so fuzzy that they do seem to fit together, then yelling at anyone who dares point out you've damn near closed your eyes and probably aren't seeing clearly. See also every web framework's desperate need to insist that they are MVC, even as the lines that must be drawn between the various components to show where the M, V, and C are wildly and drunkenly veer hither and yon in a terrifically convoluted manner, criss-crossing dozens of components, instead of simply explaining what they actually are. I just don't get it. Models aren't blueprints, let alone the very definition of virtue. If they don't work, dispose of them.
EX X.400 hacker here I used to have root on the UK ADMD back in the day :-)
I'm not sure the author realizes TCP is a virtual circuit protocol (then again I'm sure OSI had one or more much heavier weight ones).
The real fatal flaw of OSI, before even getting to the point of finding out if their protocols worked---many of them did get far enough in standardization process---was their going to ISO in the first place. If you just needed to get things done, the difference between spending around $2,000 ($1,000 in 1988 dollars) to buy a shelf of the standards documents, or $0 or thereabouts to get all the RFCs (chicken and egg, you might need to buy a CD or a tape to get them to your systems), made a very big difference.
If you're really interested in all this, I highly recommend Padlipsky's very opinionated "The Elements of Networking Style: And Other Essays & Animadversions on the Art of Intercomputer Networking" (http://www.amazon.com/Elements-Networking-Style-Animadversio...), a very colorful work with rhetorical gems like "gilding the ragweed".
That struck me too -- kind of undermining the simple narrative of "connection-full telecom biggies vs. connection-less insurgents". It would have been worth a note in the article, because it's in IEEE Spectrum after all.
Not a networking pro, but I believe the converse is also true, that OSI has specifically connection-less protocol elements (e.g., CLNS) that are at a lower level in its own hierarchy, and more equivalent to IP in TCP/IP.
I just saw part of an interview with Cerf (http://www.internet-history.info/media-library/mediaitem/100...), in which he said that part of the motivation for packet switching is to maintain command and control in the chaos of a post-nuclear-strike world. That explains why the person connected with packet switching (Paul Baran) was at RAND, which was not a networking place, but very much a "let's plan for the apocalypse" place.
When I was working for Lisp Machines Inc. (LMI) in 1982-3, when TCP/IP was being mandated for the Arpanet (and therefore Lisp Machines, sometime I worked on at LMI), I can remember the father of the Lisp Machine, Richard Greenblatt, arguing that it wouldn't work because too many packets would get lost in the middle. With stateless nodes---a necessary virtue for the small memory minicomputers the Arpanet was built on---re-transmission has to come from the endpoints, and if the error rate was too high it would have failed to be practical. Look at TCP over ATM for a modern example of this sort of lossage.
I assume Vint Cerf et. al. did the math based on observed error rates, then tested it to make sure (TCP/IP and NCP ran side by side for some time on the Arpanet) and Greenblatt, who was rather distracted designing his 3rd generation Lisp Machine, was going by general principles.
http://www.internetsociety.org/internet/what-internet/histor...
> It was from the RAND study that the false rumor started claiming that the ARPANET was somehow related to building a network resistant to nuclear war. This was never true of the ARPANET, only the unrelated RAND study on secure voice considered nuclear war. However, the later work on Internetting did emphasize robustness and survivability, including the capability to withstand losses of large portions of the underlying networks.
Charles Herzfeld, ARPA Director (1965–1967), said:
http://inventors.about.com/library/inventors/bl_Charles_Herz...
> The ARPANET was not started to create a Command and Control System that would survive a nuclear attack, as many now claim. To build such a system was, clearly, a major military need, but it was not ARPA's mission to do this; in fact, we would have been severely criticized had we tried. Rather, the ARPANET came out of our frustration that there were only a limited number of large, powerful research computers in the country, and that many research investigators, who should have access to them, were geographically separated from them.
Paul Baran:
http://www.wired.com/wired/archive/9.03/baran.html
> Wired: The myth of the Arpanet - which still persists - is that it was developed to withstand nuclear strikes. That's wrong, isn't it?
> Paul Baran: Yes. Bob Taylor had a couple of computer terminals speaking to different machines, and his idea was to have some way of having a terminal speak to any of them and have a network. That's really the origin of the ARPANET. The method used to connect things together was an open issue for a time.
This is also consistent with the following quote in the Baran interview you cite:
Baran: But the origin of packet switching itself is very much Cold War.
The argument was: To have a credible defense, you had to be able to
withstand an attack and at least be able to show you had the capability
to return the favor in kind.
So there is no disagreement on that point, and your corrective "Actually, ..." is misplaced.The ISLISP standardization group did an interesting workaround for this: http://www.islisp.info/history.html
An ISO committee to standardize the language was constituted but stalled on doing any real work drafting a standard. While they waited around, the community drew up a draft standard, which was published as a public recommendation to the ISO committee, with the draft put into the public domain. The committee then voted to adopt the community's draft as the standard unchanged. So now an official ISO document is available for the usual fee, but you can get a predecessor document that looks surprisingly similar, for free as a PDF.
Of course, this requires everyone on the committee agreeing to not really take the ISO process seriously. You might wonder why one would bother with it at all then, and in this case it seems to have been to reassure clients that ISLISP is stable by getting it an ISO standard.
"in this case it seems to have been to reassure clients that ISLISP is stable by getting it an ISO standard"
Which is a nice hat trick if nobody uses the actual standards document ... although I suppose Franz and perhaps a few others did buy a copy....
You've missed that they're referring to level 2 and 3 virtual circuits, IE "data is always delivered along the same network path, i.e. through the same nodes" ( https://en.wikipedia.org/wiki/Virtual_circuits#Layer_2.2F3_v... )
In my dissertation, Elements of Networking Style is the reference for the OSI section (which was needed because everybody is still using the damn terminology).