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

hardly any suitcases or shopping trolleys have brakes

you are even more disgusting than before the pandemic, especially you disgusting bloated milky (non-Jap) ones