Falsehoods Programmers Believe About LANs

(dreamstation.systems)

49 points | by robinpie 3 hours ago ago

46 comments

  • amelius an hour ago

    Falsehood People Believe about Programmers:

    Programmers think the models they use are perfect.

    • judge2020 an hour ago

      Mostly programmers think a system will act predictably given the same inputs. Most of computing doesn't work without that assumption.

    • orthogonal_cube an hour ago

      Programmers certainly believe that, but they quickly learn not to.

      • Sharlin an hour ago

        Unfortunately there are also (senior) programmers who believe that their model is correct and it’s the reality (spec, client, user, etc) that’s wrong.

        • thfuran 15 minutes ago

          Let’s be clear though: all of those other things are probably wrong too.

    • wat10000 an hour ago

      I’d say this one is frequently true, and is one of the things that distinguishes senior from junior programmers.

  • elaida73 2 hours ago

    This feels like a bastardization of the already questionable "Falsehoods ___ believe about ___" format.

    • rcxdude an hour ago

      How so? It's pretty within the format IMO.

      • elaida73 an hour ago

        Maybe I'm pulling at a fake distinction here but the progenitor blog posts of this format that I'm thinking of were incorrect models of constructs that almost everyone uses in their everyday life constantly ( names, dates, time etc )

        Whereas I find it kinda unlikely that someone both knows what a DHCP server is, and holds a belief that there is only ever exactly one on their network?

    • throw0101a an hour ago

      Falsehoods Programmers Believe about Weblog Posts

    • _kb an hour ago

      That format is considered harmful.

  • mitxela an hour ago

    * there is something called a LAN

    * two people who say they are on the same LAN agree on what the LAN is

  • ronsor 2 hours ago

    > There is one DHCP server.

    There'd better be or your network is probably hosed.

    • wmf 2 hours ago

      In theory it's fine to have multiple DHCP servers as long as they don't step on each other. But in reality a bunch of the things mentioned in this post are ways for the network to be hosed. Unfortunately, enough LANs are semi-hosed that it's worth working around known problems.

    • pezezin an hour ago

      At work I manage a network with two DHCP servers. One is a dnsmasq that assigns the IP address, hostname, and basic network parameters to all network devices, and the other is a LTSP server (https://ltsp.org/) that provides network boot images only for certain devices that require it. It might not look pretty, but it works really well.

    • smkelly 2 hours ago
    • 0xcde4c3db an hour ago

      What really matters is that there's a coherent policy for assigning addresses, which is absolutely compatible with having multiple DHCP servers on the same subnet (e.g. each server configured to hand out non-overlapping IP ranges).

    • Sharlin an hour ago

      Well, consumer Windowses (XP Home? It’s been a while) used to hose networks because they were "helpfully" running their own DHCP server.

    • kryogen1c 2 hours ago

      Windows supports dhcp failover, where multiple dhcp servers can exist on the same subnet.

    • briandw 2 hours ago

      You don’t have to have one. My first LAN didn’t. I had no idea what I was doing and picked 17.0.0.0 addresses for local ones and I couldn’t connect to Apples website.

    • Hikikomori 2 hours ago

      That works mostly, you'll have problems if you have duplicate IP addresses though.

  • unethical_ban an hour ago

    I get the idea, but this isn't necessarily useful as advice and toys with definitions. It's ESPN levels of conversation-baiting. Lots of assumptions can be reasonably made about residential LANs without being true of enterprise LANs/DMZs.

    If a residential LAN is RFC1918 and has no NAT, then it is still a LAN... without internet access.

    Then the "A & !A" fallacy of "MAC addresses can’t be changed. MAC addresses can be changed."

    Just kind of a mess. Would be more interesting to explore the edge cases rather than throw out half-truths and 0.05% instances.

    I like the GNOME 2006 era though.

    • aduwah an hour ago

      Read it as chain of thoughts not as a list

  • StilesCrisis 2 hours ago

    >Two hosts on the same subnet can reach each other without leaving the LAN.

    Barring "very buggy software," when is this false?

    • dipierro 2 hours ago

      Port- or Client-isolation on Ethernet switches and Wi-Fi access points respectively. Often seen in corporate environments and (properly configured) guest networks.

      • StilesCrisis an hour ago

        I feel like the point of those is conceptually "take these things off the LAN." If we allow for that, what even is a LAN?

    • wmf an hour ago

      There are recent "client isolation" features that prevent P2P communication. Some hosting providers also block customers on the same LAN from attacking each other.

      • jrockway an hour ago

        Indeed. You might share a subnet with other customers of your ISP, but your ISP probably doesn't let you ARP poison them.

        This isn't even that recent. I remember doing ARP poisoning exactly once and then being surprised that it didn't work everywhere.

        I think the falsehood here is that same IPv4 subnet = same link layer network, but that doesn't have to be the case.

        • Hikikomori an hour ago

          Did arp poisoning in school and used a tool to show images from websites people visited on the projector. Teacher thought it was fun until someone went to goatse.

      • jrockway an hour ago

        Indeed. You might share a subnet with other customers of your ISP, but your ISP probably doesn't let you ARP poison them.

        This isn't even that recent. I remember doing ARP poisoning exactly once and then being surprised that it didn't work everywhere.

    • rcxdude 2 hours ago

      Switches and firewalls can do all kinds of things. Probably the most common case is that public/guest wifi networks often have client isolation set up so that different devices on the network can't contact each other. Same subnet, but only access to the gateway and the internet in practice.

      (Also can happen if ARP is not working correctly, which can be a right PITA to debug).

    • mitxela an hour ago

      LAN spread across sites with a WAN in the middle of it. But that's why I said in my comment that a LAN isn't actually a real thing.

    • justinlivi 2 hours ago

      I feel like the better of this is maybe "will" instead of "can"

    • Waterluvian 2 hours ago

      Yeah… I feel like “falsehoods X believe about Y” need to omit anything a reasonable X would consider to be a bug.

      Edit: fair point. Maybe not.

      • rcxdude an hour ago

        I think generally the point of the phrasing is to make you stop considering it a bug,

      • wat10000 an hour ago

        Falsehoods programmers believe about programming: you don’t have to work around other people’s bugs.

        • taneq 39 minutes ago

          It might not be your fault but it sure as hell will be your problem.

    • taneq 41 minutes ago

      Most consumer wifi routers I’ve used have a setting to prevent peer-to-peer traffic. Whether this still counts as being on the same subnet is kind of a philosophical question.

    • Hikikomori an hour ago

      Some tunnel that extends the subnet somewhere else. Guess it depends on how you define lan.

    • basilikum 2 hours ago

      VPNs

      • alanwreath 40 minutes ago

        I read that like the meme:

        <guy with messy hair>Aliens</guy with messy hair>

  • LoganDark 43 minutes ago

    > My LAN uses IP addresses.

    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?

    • peanut-walrus 2 minutes ago

      Quite common to run unnumbered IS-IS backbones. Whether this can rightfully be considered a "LAN" is up for debate.

    • solraph 42 minutes ago

      IPX/SPX is not IP based.

      • LoganDark 41 minutes ago

        Can that still be used from modern operating systems? Maybe only Linux?

        • solraph 13 minutes ago

          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.