假设客户端有 1 个 IP 10.x.x.20 和多个端口 3000 3001 3002 且 目标/服务器有 1 个 IP 10.50.50.10 和 1 个端口 3868
客户端将能够与所有 3 个端口建立连接?
这里,一旦一个客户端端口能够第一次建立连接,服务器就会拒绝另一个连接建立请求。我们怎样才能克服这个问题呢?
注:此为直径通讯用途。
客户端将能够与所有 3 个端口建立连接?
TCP 没有固有的限制来阻止这种情况。当然,服务器中可能存在限制,即每个源 IP 地址仅允许一个连接,可能存在类似的防火墙规则等。但这些是特定于配置和用例的,通常不适用于 TCP 套接字。
这里,一旦一个客户端端口能够第一次建立连接,服务器就会拒绝另一个连接建立请求。我们怎样才能克服这个问题呢?
不幸的是,没有详细信息表明连接被完全拒绝(防火墙、服务器系统、服务器应用程序)以及原因(没有日志信息等)。但由于这似乎与直径协议有关,请注意协议中存在一些明确的限制,这些限制可能在这里发挥作用。引用 RFC 6733 第 2.1 节:
对等状态机的给定直径实例不得使用更多 比一个传输连接与给定对等方进行通信, 除非对等体上存在多个实例,在这种情况下, 允许每个进程单独连接。