this post was submitted on 01 Jan 2026
468 points (99.6% liked)
Microblog Memes
9998 readers
3265 users here now
A place to share screenshots of Microblog posts, whether from Mastodon, tumblr, ~~Twitter~~ X, KBin, Threads or elsewhere.
Created as an evolution of White People Twitter and other tweet-capture subreddits.
Rules:
- Please put at least one word relevant to the post in the post title.
- Be nice.
- No advertising, brand promotion or guerilla marketing.
- Posters are encouraged to link to the toot or tweet etc in the description of posts.
Related communities:
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Only very, very loosely related to this. But can someone explain why we learn the OSI model, despite the fact that as far as I'm aware it's completely theoretical and has never been used, but the TCP model is ubiquitous?
I think I found the source of confusion.
The OSI model describes networking in general, defining a model in which almost all networks can be categorized and compared. This is important as hundreds (if not thousands) of standards and methods exist for handling each separate layer - some publicized, but many hidden/propriety/unpublicized.
Meanwhile, the TCP/IP model describes only a very narrow subset of networks, though it just so happens to be the most used kind of network - The Internet - is part of this.
This means that if you are working with the internet, then TCP/IP will likely cover all your needs, but as soon as you move onto more specialized or simply uncommon network types TCP/IP will be close to useless.
We could take an example:
I'm setting up a LoRa network between some neighbors, measuring stations, etc. The network will not be connected directly to the internet, so there will be no possibility of data transfer between the LoRa network and the internet until you reach the OSI Presentation layer.
The LoRa network will need to be much more efficient than the general-purpose internet-networking, and since only a few machines will be connected we'll use only a single octet as device identifier (alternative to MAC/IP, lets call it SoMAC), also having to write our own discovery service.
Likewise, we will make a new custom transport layer based on TCP, but with only space for that single octet identifier, no flags, no IP, and no checksums (I like to live dangerous). Let's call that SoSTRIP.
At last, we'll need to write some kind of socket to make sending the information easy, for simplicity we'll use a Unnamed Pipe.
Now, how would we go about representing this in both models (OSI vs. TCP/IP)?
In OSI we'd have:
In TCP/IP we'd have:
Please note that this is purely for demonstration purposes, as it's absolutely unfair to compare TCP/IP and OSI in this way, since they both are designed for different purposes, with TCP/IP being more popular but narrow, and OSI being more general but overly complicated for most use cases.
Also, please feel free to correct me, since it's been a hot moment since I had about OSI and TCP/IP in uni.
==EDIT== Formatting
FYI: I thought the same back in 91'
Then I got a job at a computer networking company. Novell Netware was all the rage and the company was a reseller. So we had one of everything they made. The OSI protocol stack was a series of little red boxes. They were never opened.
Thanks for the good writeup! If I can ask, are you writing the stack from scratch due to curiosity or requirements?
I recently became aware of Reticulum, if you don't already know it you may find something interesting in the whitepaper ^^
Oh no! Sorry, while I did use LoRa a lot back during uni (also writing custom protocols and stuff for semi-autonomous coordinated drones), the above was just an example for the sake of understanding.
That said, I do like to read about LoRa and doing hobby projects with it, so Reticulum does look very interesting. TIL
Thank you for this deep and helpful reply! This is the kind of back and forth that really makes Lemmy great!
Thank you!
But don't say that too early, I think the exchange further down could have gone better (not least from my side).
The above is mostly from the top of my head plus most of us are surely still tired after tonight's' festivities. Though, I hope I'm not just reiterating what @Zagorath@aussie.zone already knows, so I hope others will correct me or add on.
But TCP and IP are layers in the protocol (that are actually used.) some of the layers are then effectively bypassed as you go further up to application layer.
The TCP/IP model is a separate model that only loosely maps on to layers of the OSI model. They're two separate ways of describing how the whole network stack should work, but only one is actually used in the real world.
It maps to L4 and L3
TCP/IP also doesn’t include the media layers L2 and L1 (like MAC and frames.)
Maybe think of OSI as the spec and TCP/IP as the implementation of some portions of that spec.
Like UDP would also be L4. So you would miss that too.
You could think of it that way. But you would be wrong. That's the whole point.
The OSI model is the one used in the real world
It's good to understand theory and even though you can really only partially map TCP\IP onto the model, it helps with memorising and clarifying the different parts of a packet.
Unofficially, I think it also helps introduce the mindset of what happens to a lot of Working Groups and Standards by Committee. They can have all the best intentions in the world, but sometimes the hack works better and\or is more popular and you just have to get used to it. See Also: JavaScript, UPnP, X500 addressing scheme, dot1q, NAT.
Once upon a time there were more protocols than just TCP/IP. You could have IPX/SPX, Baynes and others.
Hell. Even now with the introduction of Quic, it’s starting to change the use of TCP/IP, so having a general understanding of the layers in an abstracted manner let you map them to the different syntaxes that are out there. Kind of like programming languages.
We’ve also had UDP this whole time
Yup. Quic, for example, layers on UDP instead of TCP. It’s still an IP based protocol. But then you can also get things like FCoE which don’t even use TCP/UDP. Or even ATM which uses its own frame structure. There’s plenty of reasons to need to understand the OSI model.
What do you mean "Theoretical" and "Never been used"? Are you writing this by sending off radio waves purely with your mind? Am I the only one using a modem and computer? (/j, but it seems to me that you're asking "why a plane needs engines and wings, when it already has a payload")
TCP (and UDP) just describe how to assemble the data into packages which can be somewhat reliably reassembled on the other end.
While it does have an address stamped on top (IP), it doesn't know how to get anywhere by itself. That's where the bottom 3 OSI layers come in (the physical wires - or wireless spectra/wavelengths - the data is transmitted through, the specifications of how the embedded devices talk to each other over these wires, and how to discover other embedded or other devices on a network). I can very much assure you that the wires do exist and are indeed in use.
Contrary, the upper layers are more about keeping communication going once a connection has been established.
You're confusing TCP (the specific protocol) with the TCP/IP model, which is an entirely different model to describe the network stack to the OSI model, and which can only loosely be mapped onto it.
Apologies, that's my fault, I thought you wrote "TCP model(/protocol)" and not "TCP/IP model", which are indeed two very different things.
I feel that the OSI model focuses more on the specific layers with their relations and physical/digital setup, while the TCP/IP model has more of a abstract and "high-level"-focus. I think both have their ups and downs, though I'm still confused what about OSI is "theoretical and has never been used".
No, you read it right. I just assumed my meaning would be clearer than it apparently was. To me, the word "TCP model" doesn't strictly mean anything. There's the TCP protocol, and the TCP/IP model. I assumed my usage of the word "model" would make it clear that I meant the latter, but I guess I can see how people would interpret it as the former.
A real-world implementation of OSI would involve separate protocols for each layer. There have been numerous different ways of describing TCP/IP in terms of OSI layers, but roughly speaking, the broadest possible interpretation is that TCP/IP's "application layer" covers OSI layers 5, 6, and 7, with TCP covering layer 4, and IP layer 3. But some analyses also suggest TCP/UDP ports are a layer 5 concern. Ultimately, the TCP/IP networking model is a separate way of looking at things to the OSI model, and it would be silly to suggest that it's the same.
Just saw this comment.
Yes, you are completely right. That's likely also the reason for your confusion regarding OSI, since you appear to compare it to TCP/IP in a rather literal manner.
Obviously TCP/IP is better at describing TCP/IP than OSI, though while OSI also can be used to describe TCP/IP in a sub-optimal manner, TCP/IP cannot be used to describe OSI.
I can’t believe people are actually arguing with this guy. I gave up. Try asking him about frames and the media layer.
Not sure what the point of this kind of troll is.
Uhh, no, not really. That literal comparison was my attempt at explaining to you why the two are not equivalent models since you seemed confused about why I would say that. Normally, I'd just stop at "OSI is a theoretical model that exists but was never practically implemented, TCP/IP is used instead." Because honestly I thought that was fairly self-explanatory. It's kinda 101-level stuff in networking courses at uni.