this post was submitted on 01 Jan 2026
443 points (99.8% liked)

Microblog Memes

9993 readers
2572 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:

  1. Please put at least one word relevant to the post in the post title.
  2. Be nice.
  3. No advertising, brand promotion or guerilla marketing.
  4. 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
[–] Zagorath@aussie.zone 11 points 11 hours ago (5 children)

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?

[–] ekky@sopuli.xyz 10 points 8 hours ago* (last edited 8 hours ago) (3 children)

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:

  • Physical Layer: LoRa (duh)
  • Data Link Layer: LoRa driver with SoMAC discovery
  • Network Layer: SoMAC addressing
  • Transport Layer: SoSTRIP
  • Session Layer: Unnamed Pipe
  • Presentation Layer: ASCII can be whatever
  • Application Layer: Cat

In TCP/IP we'd have:

  • Link Layer: LoRa + SoMAC
  • Internet Layer: No IP/Not Applicable/SoMAC(?)
  • Transport Layer: SoSTRIP, except it isn't compatible with either TCP nor IP.
  • Application Layer: Unnamed Pipe + ASCII + Cat

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

[–] MisterD@lemmy.ca 2 points 7 hours ago

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.

[–] floquant@lemmy.dbzer0.com 2 points 7 hours ago* (last edited 7 hours ago) (1 children)

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 ^^

[–] ekky@sopuli.xyz 1 points 7 hours ago

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

[–] beernutz@lemmy.world 2 points 8 hours ago (1 children)

Thank you for this deep and helpful reply! This is the kind of back and forth that really makes Lemmy great!

[–] ekky@sopuli.xyz 1 points 7 hours ago* (last edited 7 hours ago)

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.

[–] jaybone@lemmy.zip 8 points 10 hours ago (1 children)

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.

[–] Zagorath@aussie.zone 1 points 10 hours ago (1 children)

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.

[–] 4am@lemmy.zip 2 points 9 hours ago

The OSI model is the one used in the real world

[–] Fontasia@feddit.nl 7 points 10 hours ago

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.

[–] ramble81@lemmy.zip 3 points 9 hours ago (1 children)

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.

[–] 4am@lemmy.zip 1 points 9 hours ago (1 children)

We’ve also had UDP this whole time

[–] ramble81@lemmy.zip 2 points 8 hours ago

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.

[–] ekky@sopuli.xyz 1 points 10 hours ago* (last edited 10 hours ago) (1 children)

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.

[–] Zagorath@aussie.zone 1 points 10 hours ago (1 children)

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.

[–] ekky@sopuli.xyz 1 points 9 hours ago (1 children)

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".

[–] Zagorath@aussie.zone 1 points 9 hours ago (1 children)

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.

though I’m still confused what about OSI is “theoretical and has never been used

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.

[–] ekky@sopuli.xyz 1 points 8 hours ago

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.