关于TCP / IP端口绑定的问题

时间:2010-01-21 17:14:30

标签: networking tcp

我想知道服务器应用程序是否总是在同一个端口上应答?我在某处读过,为了继续监听“监听”端口,服务器将使用不同的端口。有人可以向我提供更多细节吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

作为TCP握手过程的一部分,在另一个端口上建立通信信道。源和目标“端口”号对应于TCP数据包标头中的16位字段。建立通道后,通信将在该端口上进行,并在标头上的字段中显示相应的源和目标端口值。

初始连接到服务器上的侦听端口;在此之后,该进程在分配的新端口上建立TCP连接,并在这些端口上进行进一步的通信。

答案 1 :(得分:2)

如果您与特定端口上的服务器建立TCP连接,则该TCP连接将继续使用服务器端的相同端口。

在一侧的(address1, port1)对与另一侧的(address2, port2)对之间建立TCP连接 - 所有这四个值在TCP连接的生命周期内都是固定的。

这不会阻止服务器在接受连接后侦听端口 - 因为它可以区分已建立连接的任何数据包和基于(address, port)对使用的新连接。客户端。

例如,来自Oracle服务器的此netstat输出显示它正在侦听端口1521,以及几个已建立的连接也使用该端口:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:1521                0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:1521              127.0.0.1:32776             ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:32798         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:32823         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:32822         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:32821         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:32820         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:32819         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:32818         ESTABLISHED
tcp        0      0 127.0.0.1:1521              127.0.0.1:30536             ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:36969         ESTABLISHED
tcp        0      0 127.0.0.1:32776             127.0.0.1:1521              ESTABLISHED
tcp        0      0 127.0.0.1:30536             127.0.0.1:1521              ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:37786         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:37035         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:37034         ESTABLISHED
tcp        0      0 192.168.9.126:1521          192.168.9.124:33018         ESTABLISHED