On 24-jul-2007, at 13:41, Rémi Denis-Courmont wrote:
An important issue about the hole punching is the shape of the hole. If the hole has the shape of a particular transport session, you're not accomplishing much because you still can't receive arbitrary incoming sessions.
Yes, that still sucks. But if you have BEHAVE-TCP support, you can at least do TCP simultaneous open (forget about DCCP and SCTP though), provided you havean out-of-band signaling mechanism.
Without BEHAVE-TCP, you cannot do home-to-home at all, and you have to inventyour own crappy[1] protocol on top of UDP.
Note that currently deployed NAT-PMP (Apple) and UPnP (the rest of the world) forward all incoming sessions from the outside world towards a specific port number towards the host that registered that port number using NAT-PMP/UPnP, so the host in question gets to act as a regular server (well, there's still NAT), no need for simultaneous open or UDP tricks.