解释如何将一个服务绑定到一个ip和port

昨天我讨论了在服务器的同一端口上运行相同的服务,例如SMTP。 我认为这是可能的分配多个IP地址的服务器,并绑定到每个IP /端口组合的服务。 然而,我们最后在讨论中得出结论,我们错过了理论背景。

我们被困在服务器是房子的隐喻中,可以通过多个(ip)地址到达,端口是房间。 房间有号码,但每个号码只有一个房间。 这意味着无论用什么地址到达房子,你总是会在同一个房间里。

我认为这是行不通的,请求的ip / port端口的组合使请求唯一。 只要服务绑定到一个IP地址,操作系统就可以在相同的端口号上处理多个服务。

这不是一个关于如何在操作系统typesY上的端口80上运行两个X型Web服务器的问题。我想知道这是如何在概念层面上工作的,所以我可以理解,并且将其解释给其他人

[编辑]

也许我的问题有点毛病 。 问题是:是否有可能在服务器上有多个IP地址,并按每个IP地址分割stream量,因此在一台服务器上有多个端口25。

如果是这样,我怎么解释那个不相信的人。 一个好的比喻可能?

我认为“每个服务器都是一个房子”的比喻需要纠正为“每个IP地址都是一个房子”。 例如,假设你的服务器有2个IP地址, 理论上你有2 *(2 ^ 16)个131072服务器套接口的独特组合。

由于您有不同的IP:可用的端口组合,您可以在同一台服务器上configurationSendmail(IP_Address_1:25)和Postfix(IP_Address_2:25)

系统上的每个IP地址都有可用的所有端口。

许多服务可以configuration为侦听一个或多个IP:端口对。 如果一个服务正在侦听所有的IP:25,那么负载可能会被分割。

但是,您所缺less的是连接设备如何知道连接? 可以使用DNS循环提供不同的IP地址,或者在SMTP(端口25)的情况下提供相同的MXlogging 。

其实,我越是试着回答你的问题,我越是意识到自己缺乏理解力需要改进,所以我会再次向你介绍优秀的TCP / IP指南