Falsehoods Programmers Believe About Networks

Ken Bantoft
Nov 7 · 2 min read

In 2010, Patrick McKenzie wrote his Falsehoods Programmers Believe About Names, listing of 40 assumptions programmers and systems designers made that were false.

I’ve been connecting things to networks for over 20 years, and I’ve seen my share of assumptions made about networks, so he’s my personal take on falsehoods programmers believe about networks:

  1. The network uses RFC1918 IP addresses
  2. This network block will be unique — globally
  3. A (home) network is always a /24 network
  4. IPv4 is available
  5. There’s no IPv6 on the network
  6. If there’s IPv6, it can be turned off
  7. There is a DHCP server on the network
  8. The IP assigned by DHCP won’t change when you try and renew it
  9. You can turn off DHCP on the network
  10. You can turn on DHCP on the network
  11. The default gateway and the DHCP server are the same device
  12. The default gateway and the DNS server are the same device
  13. There is a DNS server
  14. That IP address will never change
  15. You can ping the default gateway
  16. Or at least one other device on the network?
  17. You can reach google.com (or any other hardcoded domain)
  18. You can reach the internet
  19. The MTU size is always 1500
  20. No one uses PPP anymore
  21. No one uses multicast anymore
  22. But if I want to use it, Multicast over WiFi is just fine, right?
  23. WiFi and wired connections can be treated the same
  24. I can block non TCP + UDP packets and everything will keep working
  25. Keepalives are ‘free’ so use them often (Satellite Links aren’t free!)
  26. WiFi is ‘free’ (vs. 3G/LTE). Sometimes WiFi is over satellite, and it isn’t free
  27. Latency will always be below 2000ms (or some other arbitrary value)
  28. A network interface has an IP address
  29. A network interface has a MAC address
  30. A network interface has only 1 MAC address
  31. A network interface has no address?!
  32. MAC addresses are unique
  33. I can tell the device type by looking at the MAC address (because no-one would spoof one. Or steal one. Or make it up.)
  34. No one uses the Locally Administered bit of a MAC address
  35. No one would set the multicast bit on the source MAC (and violate 802.3)
  36. Switches don’t filter MAC addresses without being told to
  37. 127.0.0.1 is the only loopback IP ever used
  38. VLAN’s fix segregation issues, and are equivalent to physical segregation
  39. VLAN gateways would never leak packets (like ARP) between VLANs
  40. None of the above matters in an IPv6 only network

I can probably tell you at least one story behind every one of these, some more humorous than others, and few that cost me at least some of my hair. As IPv6 becomes more common, it’ll be interesting to add to this list — as after nearly 40 years of IPv4, these issues are still occurring with newly made devices daily!

Ken Bantoft

Written by

Aviation connectivity consultant, focused on future trends and technology surrounding business aviation. Former CTO and Innovation Strategist in Aerospace

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade