Live data from Hacker News

The OSI Deprogrammer

docs.google.com

71–80 of 95 posts

Re: The OSI Deprogrammer

#71

A very fun read, especially if (like me) you realized a year ago you had basically no idea how networking actually worked, because your whole mental model was based off of the Wikipedia article on the OSI model, and decided to cram all 180 pages of Michael W. Lucas's Networking for System Administrators into your head with Anki cards to finally make the "real" stuff stick. (Terrific book, terrific writer, I will neve…

You might like this as well, imo it's more entertaining and flows better https://apenwarr.ca/log/20170810

Oh my God I read this ages ago and completely forgot which blog it was on. Thank you for bringing this back to my attention! This is up there with Hotel Concierge on Tumblr for "favorite giant sprawling essays on the Internet" for me.

Re: The OSI Deprogrammer

#72
post #5

I mean, this isn't bad or anything, and if Rob Graham is going to write about anything with authority, this is certainly it, but it's kind of beating up a straw man, isn't it? I feel like "layering violations" went out the window with HTTP, and certainly by the time we got WebSockets.

Well, as my footnote in the abstract says, it's swatting a fly with an anvil. It's not about people who already deal with this, like Nanog or systems programmers. Whatever model they've started with, they've developed a better one in their heads based upon their own expertise and experience. It's about educators who continue to teach out-dated concepts. Take Presentation Layer #6 as an example. It was created because…

People are seduced by their own ignorance.

I've spent 40 years professionally applying OSI to systems architecture, design and application, across a very broad sphere of different use cases and subjects, from networking to digital musical-instrument making, embedded systems for heavy industry, and so on. I have shipped multiple forms of computing systems to tens of millions of users over decades, and OSI has been a proven, extremely powerful tool in the toolbox under those circumstances.

I respect your opinion as a network wonk, but I can't help but feel you are doing a huge disservice to generations of students who will take your authority to mean something, and end up ignoring what is, admittedly, one of the greatest tools for systems architects to use in sorting out the mess - based on your mis-application of it as a tool in your limited realm as a network engineer.

People are seduced by their own ignorance.

For example - Just No: session is not just a mainframe term. It means: "a semi-permanent interactive information exchange between communicating devices", and it always has. You've colloquialized it to your own local context for the sake of your argument, and I feel your framing of this phrase as an "ancient term related to archaic mainframe technology" is a disservice to those who attempt to apply your deconstructivist doctrine. (Also, there is no such thing as old technology - only old users.)

By way of example: MIDI instruments have sessions. (MIDI, which is incidentally not TCP/IP, can also be grasped through the OSI model, because the OSI model is an expression of an observation of natural laws about how interchanging systems operate.)

I was taught, and have always seen OSI as a systems-interchange abstraction, not just for networking but for all computing systems, which can be defined as being composed of a network of interdependent components exchanging units of information.

The realization that the network is the computer elevated OSI out of the realms of networking and into a more broadly applicable context: all computing systems are a network of nodes interchanging information and in that sense OSI becomes far, far more valuable. TCP/IP is just one of the realms these natural laws were observed and codified, but this is just the tip of the ice berg for computing systems architecture.

Network wonks might not like to admit it necessarily, but the network is a computer and any computing system is a network. (You're a wonk if you care more about the technology than the users, using it.)

>Data representation is a property of the DATA not a property of the NETWORK.

One cannot have a NETWORK without an agreed-upon representation of DATA which, at least two nodes, must agree on. Thus a NETWORK without a common DATA representation isn't a functioning network. NETWORK encompasses DATA. You simply cannot have a NETWORK without standardized DATA: that is what a student of the Open Systems Interchange theory learns when they apply it.

>If real world conflicts with your model, the model needs updating.

Or, one of two other states exist: a) you don't have enough experience with the real world, or b) your understanding of the model isn't sufficient to solve the problem of a).

To look at OSI as simply a networking abstraction is to completely invalidate its utility as a means of organizing layers in the construction of a functional ontology. This kills the programmer.

People are seduced by their own ignorance.

You state:

The OSI Model pretends its theory because it’s the standard.

The OSI Model is an observation of natural laws in the ways that open systems interchange units of information according to human intuition about organization. I think you come very close to realizing this in your treatise, but you avoid this conclusion because, I suppose, its unsuited for your argument that OSI is broken. I think your understanding of its broad applicability across a much, much wider array of systems interchanges is what is faulty, here.

It's about educators who continue to teach out-dated concepts.

Educators should understand the concepts they are attempting to teach and should not be ignorant of the realms in which those concepts can be applied. Educators are clearly teaching it wrong, if students come away thinking that OSI is only relevant to building networking architecture. They miss the point entirely if they don't realize that OSI is applicable to any form of networked interchange of units of data - whether its on-die or across state lines. Whether its the CPU in the satellite or the network those satellites support: OSI scales to all systems of open interchange, big or small.

Therefore: I don't think OSI is broken at all. It think its application needs to escape the limited mindset of network wonks, though, and clearly it needs to be wrestled out of the hands of the academic gentry who don't get out much and therefore don't know how to apply it equitably.

OSI is an observation of the layering of the ontologies that are required in order to make a modern computing system have value to its human operators - and its use by systems architects in that context is highly, highly productive.

I've seen it time and again: a grey beard comes in and cleans up the mess by getting things sorted into the proper layers. Greenbeards, got into the mess by ignoring OSI in the first place.

As all computing systems are networks, OSI has a valuable scope way beyond the limited realm of netops. I look forward to your reasoned consideration of this challenge to your authority on the matter.

Re: The OSI Deprogrammer

#73

Earlier quoted context omitted.

Computer science is about computers just as much as physics is about telescopes. Computer scientists should think of computers in terms of logic, computability and complexity theory. We don’t expect physicists to learn how the first telescopes worked in detail because it’s useless. A physicist should learn optics and then understand why telescopes were build that way. The history of something can help put it in conte…

> Computer science is about computers just as much as physics is about telescopes. I too am a sucker for a pithy quote. Alas it couldn’t be more wrong. Computer science is about computers and how to program them. It is an engineering discipline, not a science.

> It is an engineering discipline

That’s computer engineering, not computer science

Re: The OSI Deprogrammer

#74

> People today can’t comprehend the original model because they have no experience with terminals and mainframes. This makes them treat OSI as a deep mystery. In fairness, I have come to think that we should teach computer science by plopping students in front of a PDP-11 and teletype (probably actually a PiDP-11 under the hood, but the students don't need to know how we realized the machine), running v6 unix, take t…

Computer science is about computers just as much as physics is about telescopes. Computer scientists should think of computers in terms of logic, computability and complexity theory. We don’t expect physicists to learn how the first telescopes worked in detail because it’s useless. A physicist should learn optics and then understand why telescopes were build that way. The history of something can help put it in conte…

You mean astronomy, not physics. Physics is about telescopes (and other physical objects), and learning about basic telescopes, and how to improve them is part of optics courses. Astronomy on the other hand doesn't actually care how telescopes are built (other than the data acquired by them meets the needs of the science).

Re: The OSI Deprogrammer

#75
This document is great but could use some tough-love editing. The author drives home the same points repeatedly, and in many cases redundantly, in a way that does no favors to the substantive content of the argument. Sometimes less ranting makes for a more devastating critique.

Re: The OSI Deprogrammer

#77
post #10

Earlier quoted context omitted.

Because all models are wrong, but some models are useful. OSI is a useful model, especially at lower layers, because it covers the abstractions from physical to network to internet to protocols, and that is a useful way to think about things.

I discuss this point several times. I claim the model is not useful, specifically because the layering abstraction for hte lower layers is a misconception rather than the truth. For example, I describe how the OSI Model claims that layer #2 and #3 describe different functionality in the same network stack. I claim the opposite, how they describe roughly the same functionality in differnet networks. Namely, both Ether…

The key concept in routing is hierarchy, which Ethernet does not have. It’s an extra dimension that changes the way the protocol and applications work at that layer.

You can say a cube and a square are the same thing, but I don’t think that’s particularly useful pragmatically. Ditto for L2 and L3; if you abstract out the difference, they are indeed the same. But that’s not useful.

Now, you could say that time has brought evolutions / optimizations that blur layer boundaries, like VLANs at layer 2. But that doesn’t make the model less useful.

Re: The OSI Deprogrammer

#78

Earlier quoted context omitted.

> Computer science is about computers just as much as physics is about telescopes. I too am a sucker for a pithy quote. Alas it couldn’t be more wrong. Computer science is about computers and how to program them. It is an engineering discipline, not a science.

> It is an engineering discipline That’s computer engineering, not computer science

Nope. You're thinking of theoretical computer science. Which is a subfield.

Re: The OSI Deprogrammer

#79

Earlier quoted context omitted.

Well, as my footnote in the abstract says, it's swatting a fly with an anvil. It's not about people who already deal with this, like Nanog or systems programmers. Whatever model they've started with, they've developed a better one in their heads based upon their own expertise and experience. It's about educators who continue to teach out-dated concepts. Take Presentation Layer #6 as an example. It was created because…

People are seduced by their own ignorance. I've spent 40 years professionally applying OSI to systems architecture, design and application, across a very broad sphere of different use cases and subjects, from networking to digital musical-instrument making, embedded systems for heavy industry, and so on. I have shipped multiple forms of computing systems to tens of millions of users over decades, and OSI has been a p…

Well, you sort of demonstrate my point.

The writers the OSI Model wrote a specific blueprint, not an "observation of natural laws". When they said "session", they didn't mean the same things you conceive of. Instead, they meant a very specific problem of connecting dumb terminals to simplex links.

What you now call "sessions" is what OSI called "associations", and OSI defined them to be part of the "Application Layer".

I'm not sure you've even read the OSI Model. For example, the "Presentation Layer" is not defined to do the data format translation, but only to NEGOTIATE a common represenation. The actual data translation is still done in the Application.

This is the problem. People have not read and understood the entire model. They've not heard of "associations" and believe the OSI's use of "sessions" means anything they might call "session". They believe OSI was written as theory when it was not. They believe anything OSI terms they don't understand mean something else, mean some sort of timeless theory.

They are seduced by their own ignorance of the model.

Re: The OSI Deprogrammer

#80
post #25

Earlier quoted context omitted.

It's not great. It reads like some angsty nerd who really doesn't like the idea of something and has spent an inordinate amount of time trying to explain why it's wrong and why his solution is better. Sometimes that works, if your name is Locke or Marx or something, but this writing really doesn't say "genius" to me. Moreover, I have not heard anyone but myself utter the word "OSI" out loud in 8 or 10 years. Maybe it…

Terminology like "layer 4", "layer 7" and sometimes "layer 3" is often used in documentation for things like load balancers, vpns or other tunnels, etc. As a specific example the documentation is for layers is split into layers 4-7 that roughly sort of match the OSI model. Except not really, because the OSI model doesn't really math tcp/ip. And the first feature listed on the overview page for an AWS ALB is that it d…

It is worse with drive arrays. The original UC Berkeley RAID project enumerated several possible configurations of drives. Unfortunately the numbers they used to represent their configurations entered the vernacular when we probably should have been using the names. Now it is a complete mess.
Post reply on HN