Could a TCP "connection broker" set up a direct connection between two NATed endpoints?

It's a little sad when "interesting" ideas in practical networking research amount to ways of working around ISP annoyances, but can you get a direct TCP connection between two NATed  devices, with a little help from an internet-addressable server during connection?

We assume there is no "port forwarding" or other inbound signalling available.

Ideally this would work through a NAT router (customer has, or can take, various levels of control), and through so-called CGNAT (customer does not control, and perhaps there are two levels of NAT). 

Ideally, after connection establishment, it looks like a normal TCP connection to both end points. But if not, then okay, as long as packets are routed directly, which is the main requirement. Question: for an existing connection, is there still a "server" and "client" end (other than port number conventions), or does this distinction only apply during the three or so packets in the initial handshake?  Shows how little I know about TCP.  

Comments

Popular posts from this blog

the persistent idiocy of "privileged ports" on Unix

google is giving more and more 500 errors

Guernsey Waste in incorrect bag-rejection horror May 6th, 2024