对于 TCP 套接字 - 是否可以从 1 个 IP 和多个端口(在源中)与 1 个 IP 1 端口(在目标端)建立多个套接字?

问题描述 投票:0回答:1

假设客户端有 1 个 IP 10.x.x.20 和多个端口 3000 3001 3002 且 目标/服务器有 1 个 IP 10.50.50.10 和 1 个端口 3868

客户端将能够与所有 3 个端口建立连接?

这里,一旦一个客户端端口能够第一次建立连接,服务器就会拒绝另一个连接建立请求。我们怎样才能克服这个问题呢?

注:此为直径通讯用途。

sockets tcp serversocket tcpserver diameter-protocol
1个回答
0
投票

客户端将能够与所有 3 个端口建立连接?

TCP 没有固有的限制来阻止这种情况。当然,服务器中可能存在限制,即每个源 IP 地址仅允许一个连接,可能存在类似的防火墙规则等。但这些是特定于配置和用例的,通常不适用于 TCP 套接字。

这里,一旦一个客户端端口能够第一次建立连接,服务器就会拒绝另一个连接建立请求。我们怎样才能克服这个问题呢?

不幸的是,没有详细信息表明连接被完全拒绝(防火墙、服务器系统、服务器应用程序)以及原因(没有日志信息等)。但由于这似乎与直径协议有关,请注意协议中存在一些明确的限制,这些限制可能在这里发挥作用。引用 RFC 6733 第 2.1 节

对等状态机的给定直径实例不得使用更多 比一个传输连接与给定对等方进行通信, 除非对等体上存在多个实例,在这种情况下, 允许每个进程单独连接。

© www.soinside.com 2019 - 2024. All rights reserved.