Re: FFS!
Once you get above the link layer, you get into the logical niceties which have to be independent of the hardware routing/forwarding. If Alice wants to connect to Bob across a complex network, she emits a request, which Bob then services. That is how peer-to-peer connections are also set up. There is no such thing as a user-level connection request without the distinction between sender (client process) and receiver (server process). Trying to bury the distinction by implementing peer-to-peer at the logical level destroys the security model; it allows a user to pwn a remote machine and get their exploit pushed out everywhere. Reversing roles explicitly (the X11 remote desktop being the classic example) has the same problem. It's not an IPv4/6/... problem as such, it's a p2p security problem when employing logical connections such as IP. Far safer to implement the p2p business status further up the stack, where the firewalls and stuff can look after themselves.