10 ms·
Protocol Wars
- moomin 3y agoThis was still raging when I was a student. From my recollection I _heard_ a lot more about OSI, but everything I used had something proprietary (e.g. NetWare, Token Ring) or TCP/IP. The people supporting TCP/IP had a head start and out-executed the OSI committees and it wasn’t even funny.
- pjmlp 3y agoSame here, highschool student during 80/90's, technical magazines were full of this stuff.
- AnimalMuppet 3y agoYeah. Top-down vs. agile. Cathedral vs. bazaar. "The right thing" vs "worse is better". And, as you said, the agile/bazaar/worse-is-better camp totally out-executed the top-down/cathedral/do-it-right approach, to the point that OSI is only a theoretical model at this point, and TCP/IP is running in everything from supercomputers to washing machines. Another one of the "well-done in theory, but left in the dust by reality" approaches: X.25.
- convolvatron 3y agoAs someone who participated at the periphery of the IETF, I resent the association with the ‘whatever goes as long as it only takes two weeks’ software planning movement. They did understand their limitations, and had a huge focus on practicality (running code), but otherwise they really did try to do the right thing. And aside from some obvious warts, I think they did an amazing job
- AnimalMuppet 3y agoI never said what you're resenting, nor meant to imply it. But IETF, with their emphasis on practicality, on "rough consensus and running code", was far more on the agile end of the spectrum than OSI was. IETF would recognize a problem, have an RFC, and have working implementations before OSI had done anything. This meant that if you wanted something, your first chance to get it (often by years) was on the IETF road, not on the OSI road. Repeat that a bunch of times and the people who could benefit from new things all moved to the IETF standards.
- dcminter 3y agoMuch the same here. I dug up this page in Wikipedia when I was reminiscing about my university's network. In my first year there was no "internet" access per se, but you could send email from the Vax VMS accounts via JANET to other sites. Then the next (?) year there was access to the "PAD" (Packet Assembler Disassembler) to JANET, from which one could issue a command to connect to an X.25 address. I still remember the number of NSFNet relay, 00004001018057 [1], which in turn allowed you to telnet to other internet services. I think I logged into Nyx and a few other BBS-like things. Then I did an industry year at ICL, a British computer company long-since engulfed by Fujitsu, where they were also X.25 focused for big networks and Novell Netware focused for small networks - but the web was starting to be a big deal and I couldn't get anyone to listen. I have an anecdote about downloading the SLS Linux distro via an archive re-mailer that I won't bore you with right now :) Then, in my final year back at the university, the web seemed to explode and the X.25 stuff had more or less disappeared. In retrospect it's amazing how quickly this changeover happened, even if it had been bulbbing away in the background for a long long time. From my perspective the WWW looked like the catalyst that pushed everything in favour of TCP/IP. [1] If I remember rightly, the adjacent address 00004001018056 was another Vax somewhere that hosted a bunch of LaTeX stuff?
- cryptonector 3y agoIt was easy: the TCP/IP folks had BSD and it was running in the universities, and anyone who wanted to sell to them had to run BSD or else support TCP/IP too because it was the only easy way to integrate into those universities' networks. Then people who went to school in the late 80s took that to $WORK in the early 90s, and by the mid-90s everything that wasn't TCP/IP had died. Novell's IPX, for example, was a thing still in the mid-90s, but a dying thing. Winsock for Windows 95 was the last thing that was needed to make TCP/IP rule -- after that there was just no way to do anything but TCP/IP. It was a matter of network effects.
- drdaeman 3y agoHa! I had worse, when I was a student (in '90s) I was taught some crazy stuff - OSI model but without a single word about the OSI protocols (like X.224) but with TCP/IP pulled over instead. So I was unironically taught that e.g. TCP is a layer 4 on the OSI model and HTTP is layer 7, etc. As if the model was still alive and relevant somehow.
- matthew9219 3y agoThey were still teaching that one decade ago, maybe never stopped.
- m3047 3y agoNot saying that it's strictly how it has to be done but historically in OT environments the choice was more between (Ethernet) CSMA/CD and token ring (not so much Netware, it wanted to do its own thing) on a segment that IP was transiting.
- samwillis 3y agoTCP/IP is so entrenched in everything, literally, it will still be in use when we leave this planet and it gets swallowed up by the sun. The news will report the destruction of Earth and explain that it and its inhabitants longest lasting legacy is TCP/IP, then report that the transition to IPv6 is going well and everyone will be on it soon...
- vmfunction 3y agoThe fact that it takes so long to transition to IPv6 and like many other obstruction to technological/social progress are economic and business gain for a certain small group of people and organisations.
- nine_k 3y agoIt's just plain cost. Reworking things takes engineering time, an engineers need to be paid. If I were to list impediments to the technical development of the Internet, local telco monopolies would be much higher in the list, but it's another kettle of fish.
- samwillis 3y agoI propose the Willis law (are you allowed to name a law after yourself?): The spread and reach of TCP/IP will accelerate at a pace faster than that of the transition to IPv6 indefinitely, therefore we are saddled with IPv4 until the end of time.
- klabb3 3y agoIn fact, we know that IPv4 lives in the observable universe. You can travel at the speed of light towards IPv6, but the expansion rate of space time-itself (you can think of space-time as a series of tubes) is not limited by the speed of light. Thus, IPv6 is only theorized to exist, in order to explain other physical phenomena. Worse, even if it was proven to exist by a distant observer, there no way for them to relay that information back to us because our routers here at earth would drop the packets.
- 3y ago
- pr337h4m 3y agoRelated: https://gwern.net/holy-war https://gwern.net/holy-war
- PinguTS 3y ago… and today we are going to try to fit Ethernet, TCP/IP, and so on onto the OSI reference model.
- Joker_vD 3y agoNo, we don't. The OSI reference model keeps getting referenced (hah) in the network courses but it's merely a lip service, nobody's actually taking it seriously: just look at how mobile networks bend over in ridiculous ways to support TCP/IP.
- PinguTS 3y agoActually we do e.g. in ISO TC22 SC31, as part of Automotive Ethernet.
- spmurrayzzz 3y agoI don't know if I'd say its universally lip service. Perhaps that's true in some areas of tech, but in my corner of the world building an ISP, practically all of network hardware OEMs I'm exposed to (mostly cisco, but also some juniper, arista, and zyxel) use the OSI model predominantly in their product descriptions and documentation.
- _aaed 3y agoRelated Krazam video: https://youtu.be/NAkAMDeo_NM https://youtu.be/NAkAMDeo_NM
- commandersaki 3y agoI really wish we used more technologies coming out of DEC. Only now are we getting stuff like ECN. But I would have really liked to see TUBA be IPv6.
- chimbosonic 3y agoAnd now we will have the @Protocol vs ActivityPub war ;P
- lordnacho 3y agoThis explains my childhood video game woes in the 90s. I'd have friends over, and we'd want to play DOOM multiplayer. The only problem was that as kids we had no idea how networking worked. We'd fiddle around on the Windows networking setup, and there'd be a list of protocols like IP and IPX. Words like Token Ring would appear. Just a blur that 15 year old kid had no chance against. Curiously despite being a network with only two computers, you couldn't just assign any IP address you wanted. The mask was also an interesting thing, examples would have a bunch of 255s but sometimes a smaller number like 248, and then zeros. I never figured this out until I grew up. So then we'd goof around a bit more and set it to IPX, which sounded related. Somehow we got that to work eventually. Nowadays if you just understand IP, you're mostly fine. It's probably easier to learn as well without competing protocols with similar jargon.
- lagniappe 3y agoah yes, and the null modem cable.
- doublerabbit 3y agoI recall the original Command & Conquer and dialling my friends phone number to play 1v1 multiplayer.
- nizmow 3y agoDoom didn’t even use the Windows networking stack. You just chose IPX from the multiplayer setup menu.
- bee_rider 3y agoI feel like late 90’s/early 00’s, on the other hand, were the ideal time to learn a little bit about networking as a kid. You only really needed to learn about IP addresses and NAT. I vaguely remember Age of Empires had some options for more esoteric network options, but it was pretty obvious pretty quickly that they were hopeless. Earlier, as you mention, networking was for grown-ups to figure out only. Nowadays you don’t need to learn anything about networks to play most AAA games (I bet some folks learned a lot setting up Minecraft servers though).
- moonlion_eth 3y agoThis is like OG nostr/fediverse/bluesky battle royale
- eternityforest 3y agoI wish we could start over and redesign everything from Ethernet up to TLS with the lessons we now understand. So many layers could be merged, security could be so much easier, IP addressing hassles could be unnecessary. But all the stuff that seems obvious now couldn't have been learned without the decades of kind of terrible hackery that is OSI and the associated awful stuff like DNS. I'm not sure what the moral of that story is or how anything could have been done any better. Maybe the software APIs could have been less coupled to the actual protocol, they could have designed things so app code had to be agnostic to the number of bits in an IP address, etc.
- doctor_eval 3y agoI wonder if we will see more of the network layer move into the application layer, like what I think happened with QUIC. I’m not really a network guy, but the thing I find interesting about QUIC is that it’s upgradable. Normalising regular browser updates was a godsend for the web, while TCP/IP remains hard to upgrade because you still, in 2023, have to upgrade your whole OS. Protocols like TLS that sit outside the OS seem to have been much more dynamic, and that too is the promise of QUIC. It might be interesting to find operating system primitives that enable use of the networking hardware without having to implement the protocol itself. Although that stuff is above my pay grade.
- pclmulqdq 3y agoThis is where a lot of high-performance stuff went in the last decade or so. HPC, HFT, AI training, several storage services, and clouds pretty much all do their networking in something other than a kernel. It turns out you can get huge performance gains by not using a one-size-fits-all networking system. It only takes a few more steps for this model to trickle down to general applications, as HTTP and RPC stacks pick it up.
- ElectricalUnion 3y agoOr the kernels becomes even less of a monolith on all fronts and more userland-like. Both io_uring and eBPF would allow us to handle more complex tasks inside the kernel, reducing context switch losses yet still allowing the benefits of a upgrade-able structure without having to upgrade the OS or even the kernel itself.
- gwbas1c 3y agoI remember learning about OSI in college in ... 2000. I didn't understand why it wasn't a mere footnote. The professor came across as a sore loser, because it was unambiguously clear that OSI was firmly dead.
- ChrisMarshallNY 3y agoIn the mid-1980s, I took the OSI course. That's a bunch of time I'll never get back. That was nothing, though, compared to the X.400 course...
- tenebrisalietum 3y agoOSI concepts are still important, even if none of the layers map to a specific set of protocols and things are blurry near layer 1 and 2. For example, the fact that presentation and application are separate layers, and that compression/encryption are better in their own layer (presentation) rather than totally integrated in the application.
- cryptonector 3y ago> For example, the fact that presentation and application are separate layers, and that compression/encryption are better in their own layer (presentation) rather than totally integrated in the application. CRIME attack enters the chat Compression is not better in its own layer. See the CRIME attack on TLS compression. Encryption is better at as low an end-to-end layer as possible so that we can have a hope that we can off-load the work to hardware.
- fanf2 3y agoThe OSI presentation layer has nothing to do with compression nor encryption. The top three layers of OSI were much more about modelling mainframe terminal applications than anything modern.
- cryptonector 3y agoWe need a time machine so we can extirpate from human memory the monstrosities that are x.400 and x.500 naming.
- tendto 3y ago[dead]
- neuronexmachina 3y agoTIL: > During a dispute within the Internet community, Vint Cerf performed a striptease in a three-piece suit at the 1992 Internet Engineering Task Force (IETF) meeting, revealing a T-shirt emblazoned with "IP on Everything"; according to Cerf, his intention was to reiterate that a goal of the Internet Architecture Board was to run IP on every underlying transmission medium.
- totorovirus 3y agoSounds like what's happening in blockchain scene right now.
- aidenn0 3y agoIMO, the worst thing to come out of OSI was the use of numbers for referring to layers. It seems obfuscationist to say "layer 2" or "layer 3" but those seem to have lodged themselves into the industry. For those who only occasionally deal with network stacks "link layer" "internet layer" and "transport layer" are far more mnemonic.
- m3047 3y agoAnd why is "big endian vs little endian" a thing in computers and networking? Because it's homage to Jonathan Swift. It references an apocryphal war about which end of a hard-boiled egg to lop off; no doubt a much more vicious affair than the Haiti / Dominican spat over the pronunciation of "parsely". Parts of the internet are still stuck in the 1980s, my pet peeve being the DNS resolution protocol which calls on recursing resolvers to try TCP after receiving a successful UDP response with TC=1. (Where did this become "only"? When did it become ok not to support TCP?) Seems like IP works just fine on top of ATM. Maybe the MTU isn't the same as ethernet; too bad. By the way UDP frags are bad; don't do that. Guess it's not completely transparent afterall and relying on a kludge mechanism as the answer to knowing the terrain (MTU) isn't the One True Way. TCP is a reliability mechanism built on top of IP. It has enough popularity to have its own protocol designator so that you can't say it's "built on top of UDP". Don't want that mechanism? Don't use it. Want messaging? Use a datagram protocol; that would be UDP (unless you decide to use your own special protocol ID). It's unreliable? Do something about it. (See where I'm going with this?) Craft your messages so that they fit in a single packet. Invest in some decent networking gear that reports dropped packets and allows traffic shaping. Bonus: get one-to-many and transit-based destination editing. If you refuse to compromise on your abastraction and are too cheap to afford SDN, create a virtualization layer for your network traffic like everybody before you... it's virtual turtles all the way down or hasn't that occurred to you?
- phicoh 3y agoYou may want to talk to operators of DNS servers to find out why DNS is mostly UDP. From a software point of view is hardly matters. UDP has some quirks, TCP has some issues, not a big deal. The big deal for operators is resource consumption and latency. In the vast majority of cases where the UDP reply is not truncated, using UDP is both cheaper and faster.
- m3047 3y agoI have worked for Paul Vixie. (I've met Mockepetris and Liu.) Even Vixie agrees UDP frags were a bad idea for The DNS. Given the context of where we're discussing this, mind if I ask: Why is UDP so attractive for DNS operators? Is it that it encapsulates the message query / response paradigm so well? Why isn't encryption of greater concern? How can DoT or DoH be "faster" than UDP? Is it really the protocol or a misattribution of causality actually based on LFNs, buffer bloat, and mis- or mal- construction of the tenet that UDP traffic can be dropped with no consequence (instead of employing traffic shaping, for instance). Honestly, lay it on me: explain to me about messaging versus pipes using DNS as an example.