Keeping links open P2P requires keepalive because NATs will time out. Even with IPv6 there are usually stateful firewalls in the way that will time out. This means you're constantly sending little packets, and if you have a lot of links there's a lot of keep alive cycles that have to be serviced. This keeps radios and baseband hardware from being able to sleep, draining the battery faster.
Mobile devices almost always have IPv6 on cell networks these days, which makes the actual hole punching almost 100% successful.
Middle boxes in general have to be treated like natural laws or acts of god by developers. There’s like zero chance of affecting them outside the very narrow homelab segment. Even enterprise vendors generally can’t persuade companies to alter policies there.
But you could still use it wherever it's available. Mobile devices spend a significant proportion of the time on home WiFi networks.
And there are only three major US wireless carriers. That isn't a matter of convincing a million absentee corporate firewall administrators, it's a matter of convincing three specific entities, any one of which would be a major win.
I'm half tempted to start making "enterprise firewalls" (i.e. a thin wrapper around Linux netfilter running on commodity hardware) and then enable RFC6887 by default and put a warning in the documentation not to turn it off because forcing applications to tunnel traffic over outgoing HTTPS can impair the functionality of intrusion detection systems and remove valuable information from audit logs.
1. wake up & enable radios
2. see if peers are in range
3. gossip updates for 30 sec
4. sleep for 5 minutes
5. repeat
https://www.researchgate.net/publication/200753717_Challenge...
(from 2009)
P2P stuff is really hard.