Hacker News new | past | comments | ask | show | jobs | submit login

- A reminder that Ethernet doesn't do broadcast, only multicast. (And L2 switching is broken by design anyway, but that's a story of hysterical raisins for another day)

- network names have been steadily been getting better with mDNS and related tech

- SSDP (the tech underlying UPNP) already covers IPv6, there's no need to add new one (your bigger possible issue is incomplete implementation on v6 side on CPEs)

- home router/CPE vendors are converging on "standard v6 default firewall" ruleset (it's actually something I encountered in random bought AP/router combos from random electronics store, not something techie-oriented). It establishes basic filtering that resembles what people think they get from NAT, and couples well with UPNP's support for IPv6. This also includes proper handling of ICMPv6

- subnetting is a problem, yes. Especially due to SLAAC vs DHCPv6 issues in some OSes.

It's not all nice, but it's getting there.




> And L2 switching is broken by design anyway, but that's a story of hysterical raisins for another day

Well I'm curious. I can't think of any significant way it is "broken by design", so either this is hyperbole or I'm so used to the brokenness I'm not even thinking about it.


The story as I learnt it goes around this way - hopefully on this forum someone with first-hand knowledge could chime in:

1. Ethernet happens, is designed around bus topology with shared medium and everyone talks by filtering out messages for themselves (with half of the addresses for multicast)

2. Digital works on moving ethernet from bus to star topology, design explicitly disallows connecting stars to each other without L3 router

3. Unfortunately, a non-trivial product range ends up based on LAT - essentially serial port over ethernet - and supposedly because of miscommunication LAT is very... raw-ethernet solution. No way to route it sensibly.

4. Suddenly, there's a need for larger L2 segments, except Ethernet has no way to support them (it finally gained one around starting ~2005 by throwing everything you know about L2 switching out)

5. It's too late to add features to ethernet that would make it work in larger span than single star, and possibility of loops bringing down exists, so do multicast storms (those weren't fixed).

6. The budget doesn't allow to put in a lot of computing power, a z80 gets thrown in. Spanning Tree Protocol gets created in vague hope to mitigate the curse of large L2 ethernet zones. We get stuck with primitive MAC learning 7. Genie is out of the box, and since you can crap out a too-large ethernet network much cheaper than do a proper routed one, the curse continues. Since cheap is the king, you often do not even get STP. Large scale networks fail when interns misconnect cables, multigigabit backbones end up doing 10mbit because STP made an ancient switch in the cleaning closet into root of the tree. Cats and Dogs living together, etc.

8. From around ~2005, proposals to fix it proper show up. Solution? Put routing into ethernet, using IS-IS for routing. On the other side, increasingly crazy centralized "decentralized" SDNs also try to setup L2 forwarding to deal with applications that can't deal with real IP subnetting. Somehow passing ethernet over XMPP over TLS (with BGP involved somewhere) is still better than ethernet's mac-learning.


Ethernet switching isn't broken. STP works fine at reasonable scale (as long as you leave it on) and 1980s history isn't relevant now. Obviously routing is better than switching and we can now do routing to the host with affordable "L3 switches", but switching is still usable.


I knew several colleges that had the entire campus on a flat /16 network. Dozens of buildings, 1000's of computers. It worked fine. Well, except for the "no firewall" part (this was mid 90's.)


That was fine as long as the network was thinnet or thicknet as most universities probably were, because a well planned network would start at the hub and extend out and terminate. When networks became more based on 10baseT and you could add devices by just plugging a very cheap hub into a wall socket, and then plug another hub into that, for cheap, you could get loops more easily, and degraded broadcast quality, and that kills the entire network.


Thinnet / thicknet were a maintenance nightmare though, compared to 10baseT. One loose tap or terminator would kill a whole segment.


Yes, it was indeed! But the PITA-ness and need for termination meant that once it was planned and implemented, it was rarely monkeyed with for a while.


MIT originally was single /8 network (Class A from before CIDR), however they had it subdivided with routers AFAIK pretty soon.

CISCO had a lot of early customers among universities because dedicated box ran better than random unix workstation pulled out from other duties (or even sharing them) running RIP and the like.


The very reason we're talking about IPv4 vs IPv6 is because of 1980 (and 80s, 1980) history, concerning people getting convinced that the temporary solution that IPv4 was supposed to be will be won't need more than obviously short 32bits and will be replaced with something better before wide adoption.


avoid spanning tree like the plague in large datacenter networks as well. because of the scale and it becomes an impossible black box.

there is a reason evpn exists, and is it to solve this exact issue by making gateways handle all logic normally stretched across to the other side of a l2vpn.


I am a firm believer in layer 3 everywhere. No more layer 2 connectivity as much as possible.

It's how I deployed VM's at scale using BGP from the VM host to the top of rack switch. VM's could route to each other, but no layer 2 connectivity.

It allowed for easy migration of systems between VM hosts too, as the ToR would learn the /128 or /32 and traffic would route to the new VM host.


Exactly - your L2 Ethernet shouldn't go beyond immediate connection between end system and first L3 router, in DC conditions it should be to Tor... Or on-Hypervisor router.

Larger L2 spans should be done only when required, and preferably with things like TRILL/SPB.


> (And L2 switching is broken by design anyway, but that's a story of hysterical raisins for another day)

absolutely, but in ipv4, the breakage has the effect of some niche-applications like TV streaming to client-machines breaking whereas in ipv6 it has the effect of the whole network breaking.

The applications broken in v4 are so niche that most people won't notice.

>SSDP (the tech underlying UPNP) already covers IPv6, there's no need to add new one

yes, but it's very badly supported still. I have not seen this work in any home-network yet, be it because of broken OSes, broken applications or broken router software.

>This also includes proper handling of ICMPv6

You're making me hopeful. Back when I was setting things up in 2014, the situation was a minefield of brokenness, sometimes even with UI showing huge warnings about my explicit allow-ICMP-rule I had to add after the default was to block all ICMP.


> The applications broken in v4 are so niche that most people won't notice.

Except when you’re building these applications. Then it’s infuriating! Maybe more often a feeling of hopelessness than anger.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: