如果端口用于连接一个服务,是否可以用于连接另一个服务?

时间:2017-12-12 01:54:44

标签: linux networking port

例如,我在rails app(10.0.0.3)上有一个ruby,它将连接redis(10.0.0.4)和mysql(10.0.0.5)

如果ror使用10.0.0.3:12345与redis建立TCP连接(10.0.0.4:6379),可以同时使用10.0.0.3:12345连接(TCP)到10.0.0.5:3306 ?

我对srcIP:srcPORT:dstIP:dstPORT感到困惑,因为dst ip不同,所以我可以使用端口??

1 个答案:

答案 0 :(得分:1)

理论上这是可能的,因为TCP连接由4元组 {源IP,源端口,目标IP,目标端口}标识。

然而,内核可能实际上不允许使用相同的本地端口进行第二次和后续bind()次呼叫,因为bind()位于connect()之前。