I've never heard of a LAN without IP addresses. Is that a thing? I'd assume that no IP addresses means you can't even use TCP/IP at all, right? Is there something else you'd use instead?
I'm not sure how much of a "LAN" that would be but some telecom clustering solutions use protocols other than TCP/IP (some don't even care if they run over Ethernet or ATM)
You can send packets over Ethernet, without IP. That's what people did before IP was invented and took over most networked communication. It's less convenient, because you can't reuse the IP stack, so almost nobody does.
Ethernet uses frames, not packets. A falsehood that programmers believe about networking is that everything is a packet. In fact, the "PDU" or protocol data unit for each OSI layer is defined and named differently.
So Ethernet communicates with frames. You can simply send frames across a purely Ethernet network. Or, you can take a PDU from an upper layer, encapsulate it as Ethernet frame, and send it across. Most LAN protocols are flexible like that.
A falsehood networkers believe about programming is that you have to call things what the relevant standard calls them, and you have to obey all the random differences that come from different people writing the different standards. IP packets and Ethernet packets aren't the same thing, but IP packets and IP frames are the same thing, because packets and frames are the same thing.
IP and Ethernet were developed around the same time and also became the dominant standards around the same time. But they were mostly unrelated, so you had token ring networks running TCP/IP and Ethernet networks running IPX and all sorts of other combinations. So it's not quite as simple as that. I don't think there's ever been a time when there was a significant adoption of Ethernet without using it in combination with some L3 protocol.
I suspect recentish versions of Windows still have the driver available, just not installed by default.
However the article is about falsehoods programmers believe about LANs. If you are writing some kind of driver and assume all traffic you receive is IP traffic and don't verify the header, you are going to have a bad time.
Comments
I've never heard of a LAN without IP addresses. Is that a thing? I'd assume that no IP addresses means you can't even use TCP/IP at all, right? Is there something else you'd use instead?
I'm not sure how much of a "LAN" that would be but some telecom clustering solutions use protocols other than TCP/IP (some don't even care if they run over Ethernet or ATM)
You can send packets over Ethernet, without IP. That's what people did before IP was invented and took over most networked communication. It's less convenient, because you can't reuse the IP stack, so almost nobody does.
Ethernet uses frames, not packets. A falsehood that programmers believe about networking is that everything is a packet. In fact, the "PDU" or protocol data unit for each OSI layer is defined and named differently.
So Ethernet communicates with frames. You can simply send frames across a purely Ethernet network. Or, you can take a PDU from an upper layer, encapsulate it as Ethernet frame, and send it across. Most LAN protocols are flexible like that.
https://en.wikipedia.org/wiki/Frame_(networking)
https://en.wikipedia.org/wiki/Network_packet
https://en.wikipedia.org/wiki/Protocol_data_unit#Internet_pr...
And TFA provides a list of upper-layer protocols that may be encountered on a LAN today: "IP, IPX/SPX, Phase IV, AppleTalk, VINES, NetBEUI, or SNA".
NetBIOS and NetBEUI are particularly interesting here, because NetBIOS Frames did use IEEE 802.2 LLC, while NBT uses TCP/IP for NetBIOS transport.
https://en.wikipedia.org/wiki/NetBIOS
A falsehood networkers believe about programming is that you have to call things what the relevant standard calls them, and you have to obey all the random differences that come from different people writing the different standards. IP packets and Ethernet packets aren't the same thing, but IP packets and IP frames are the same thing, because packets and frames are the same thing.
IP and Ethernet were developed around the same time and also became the dominant standards around the same time. But they were mostly unrelated, so you had token ring networks running TCP/IP and Ethernet networks running IPX and all sorts of other combinations. So it's not quite as simple as that. I don't think there's ever been a time when there was a significant adoption of Ethernet without using it in combination with some L3 protocol.
Quite common to run unnumbered IS-IS backbones. Whether this can rightfully be considered a "LAN" is up for debate.
IPX/SPX is not IP based.
Can that still be used from modern operating systems? Maybe only Linux?
I suspect recentish versions of Windows still have the driver available, just not installed by default.
However the article is about falsehoods programmers believe about LANs. If you are writing some kind of driver and assume all traffic you receive is IP traffic and don't verify the header, you are going to have a bad time.