3 ms·
Even still, I don't agree that IP became a standard for arbitrary reasons. For the most part, IP did not "compete" with other protocols; it encapsulates and bri
by titzer 5y ago
Even still, I don't agree that IP became a standard for arbitrary reasons. For the most part, IP did not "compete" with other protocols; it encapsulates and bridges other protocols, from ethernet to IPX to what-have-you. TCP is properly understood as a layer above IP, the connection-oriented stream protocol to match with the UDP, the packet-oriented protocol. Both are encapsulated in IP packets. IP was specifically designed to bridge heterogenous networks and thus its name inter-network protocol.
- dahart 5y agoI hear your point, and you’re right about TCP. I’m only clarifying that even though you disagree, I (and parent I believe) don’t disagree with you. There’s a lot room for vagueness and potential for miscommunication hidden behind the word “arbitrary” - it can be a shorthand for too many or too complex or too ad hoc to account for. The point was basically that history is ‘arbitrary’, at a larger scale than the intention of the TCP design or the reasons it got chosen for standardization. Maybe the primary reason that TCP stuck is because the military committed to it first, and that signaled to the rest of the world that it was good enough. It doesn’t necessarily require competition for something to be arbitrarily canonized or standardized, things just happen the way they happen. There can be good reasons all along the way, but it still could have happened a different way, and just didn’t. TCP does choose some specific tradeoffs, it’s not the only way the internet could have come about. Being first without competition is one way it happens. When this happens it adds enormous friction to later alternatives that have or make different tradeoffs.
- titzer 5y ago> There’s a lot room for vagueness and potential for miscommunication hidden behind the word “arbitrary” - it can be a shorthand for too many or too complex or too ad hoc to account for. Yeah, I get that, and of course everything is a spectrum, including the level of arbitrariness. But I am just going by the definition of arbitrary in a dictionary: > arbitrary, adj. based on random choice or personal whim, rather than any reason or system. Whereas my analogy with rocket engines was meant to illustrate that IP was designed to solve a very specific problem given a set of constraints. Most (let's say, liquid-fueled) rocket engines end up with very similar designs and engineering decisions are made to optimize performance rather than whim. It's a very empirically-driven engineering exercise. And for the OP's mentioning of the TCP packet format, I still think we shouldn't regard that as arbitrary. The location of the source and destination fields, for example, was carefully chosen so that routers of the time could minimize the logic necessary to decode them and start to make routing decisions before even most of the header had arrived. It was literally optimized down to the bit position. Now, the choice of byte order (big endian), we might be considered somewhat arbitrary (maybe even wrong) now, but even that was motivated by the machines of the time, as most were big endian while nowadays almost all remaining architectures are little endian (causing no end of confusion to poor networking students). I don't disagree that history overall, and computer history in particular is full of arbitrary choice points, but I think TCP/IP isn't a good example of that.
- dahart 5y agoFWIW, I didn’t read the top comment as saying anything about the TCP format being arbitrary. I could be wrong, but wearing my glasses with benefit-of-the-doubt strongest-plausible-interpretation lenses, here’s what I see above. It’s two separate clauses in the last sentence: > It's not like there's an intrinsic reason TCP packets are the way they are now This to me invokes the idea of mathematical intrinsic properties. For example the idea of the number zero didn’t always exist, but to this day we don’t have multiple representations or any alternatives. Something about the number zero feels intrinsic. Addition, multiplication, derivatives and integrals seem like operations that might have different notations, but are unchanging intrinsic concepts. TCP formats don’t seem to share this intrinsicness. It is in that sense that I agree with the top comment; there is nothing intrinsic about the TCP format, it is the result of conscious engineering choices, and today there are reasonable alternatives. In this sense I see your argument as supporting this idea that there’s nothing intrinsic about TCP. > it's largely an arbitrary choice that we standardized on. The word “arbitrary” was applied to the choice of standard, not the format. I’m choosing to see a second, different idea in that second clause. I see how and why it implies the format itself is being called arbitrary to you and others, but my defense of the comment is based on interpreting it differently than what you saw. BTW, the dictionary definition starts with “based on random choice”. If we stop there, it still adequately matches what I was talking about, and it also unfortunately doesn’t add much color either. Then the keyword becomes “random” rather than “arbitrary”, but “random” is also commonly used to mean the reason is unknown or complex. Total tangent, but being a fan of Monte Carlo methods, I frequently use “arbitrary” to disambiguate from truly “random”. When people are asked to pick random numbers, the results are arbitrary but not random in the mathematical sense. ;)
- hluska 5y agoHonestly friend, I think you're both correct. You're correct in that TCP and IP are the product of smart, driven design decisions. The people you're arguing with are correct in that the internet won a standards war so other protocols disappeared. The standards war wasn't always fought over technical merits and philosophy/politics were both part of it.