> You just asserted that without explanation.

They linked a whole article detailing the complexities of specifically NAT traversal.

I should think it obvious that by removing an entire leaky layer of abstraction the process would be much simpler. Yes, you still need a coordination server, but instead of having to deduce the incoming/outgoing port mappings you can just share the "external IP" of each client--which in the IPV6 case isn't "external," it's just "the IP".

I already am aware of how NAT traversal works. Linking a generic article explaining it is not a meaningful response.

Also NAT is a pretty simple abstraction, it's literally a single table.

>Also NAT is a pretty simple abstraction, it's literally a single table.

...And now, let's try punching a hole through this "simple" table. Oops, someone is using a port-restricted or symmetric NAT and hole punching has gotten just a tad more complicated.

Agreed; Or they're using CG-NAT, or consumer grade NAT behind CG-NAT, or....