在某些消息传递系统中,两个消息传递客户端通过聊天或语音呼叫直接彼此直接发送/接收数据包。我认为基本机制是TCP(例如TCP):这些客户端程序打开一个侦听TCP套接字,并向消息传递/协调服务器告知其IP / PORT对。然后,客户端程序从消息传递/协调服务器检索另一侧的IP / PORT。然后,其中一个(比如说A)与另一个(比如说B)使用检索到的IP / PORT对B发起一个TCP。
当被动客户端B(等待TCP SYN数据包)不在NAT或代理之后时,这很好。但是,如果B在NAT或代理之后,则IP / PORT对实际上就是NAT或代理的公共网络接口。
所以我的问题是,当NAT或代理收到TCP SYN时,其反应是什么?他们如何将TCP SYN中继到其后面的相应主机/进程?
3000
,那么它如何通知NAT它正在监听端口3000
。您知道那些商业应用如何使其可行吗?