昨天我讨论了在服务器上的同一端口上运行相同服务(例如 SMTP)。我认为这可以通过为服务器分配多个 IP 地址并将服务绑定到每个 IP/端口组合来实现。然而,我们最终进行了讨论并得出结论,我们错过了理论背景。
我们被这样的比喻所困扰:服务器是房子,可以通过多个 (ip) 地址访问,端口是房间。房间有编号,但每个编号只有一个房间。这意味着无论使用哪个地址访问房子,您最终都会进入同一个房间。
我认为它不是那样工作的,请求的 ip/port 端口组合使请求唯一。只要服务绑定到 ip 地址,操作系统就可以处理同一端口号上的多个服务。
这不是如何在 Y 型操作系统的 80 端口上运行两个 X 型 Web 服务器的问题。我想知道这在概念层面上是如何工作的,这样我就可以理解并向别人解释这一点
[编辑]
也许我的问题有点毛茸茸的。问题是:是否可以在一台服务器上拥有多个 IP 地址并按 IP 地址拆分流量,从而在一台服务器上拥有多个端口 25。
如果是这样,我该如何向那些不相信的人解释呢?也许可以打个好比的比喻?
答案1
我认为“每个服务器都是一所房子”这个比喻需要改正为“每个 IP 地址都是一所房子”。例如,假设你的服务器有 2 个 IP 地址理论上您有 2 * (2^16) 个 131072 个服务器套接字的唯一组合可供您使用。
由于您有不同的 IP:端口组合可用,您可以在同一台服务器 (IP_Address_2:25) 上配置 Sendmail (IP_Address_1:25) 和 Postfix