我读到的和看到的都说要在一个网卡上设置两个不同的 IP 地址。我认为如果我有两个网卡,速度/吞吐量会更好。
为什么在一台物理机器上拥有两个具有相同子网的独立物理网卡和两个不同的 IP 地址是错误的拓扑。
例子:
NIC1/eth0 192.168.20.50/24 192.168.50.1
NIC2/eth1 192.168.20.55/24 192.168.50.1
如果是这样的话,为什么他们要销售四端口服务器?它们是否预计都会位于不同的子网和网关上?
答案1
如果一台机器上有多个接口,且子网相同,则可以通过多个接口连接到同一网络。机器不会进行负载平衡,可能会选择一个接口来发送流量。例如,Juniper 路由器会选择 IP 地址最少的接口:
http://kb.juniper.net/InfoCenter/index?page=content&id=KB24928
多个接口可以为您提供冗余,但请注意,您只能有一个默认网关,特别是如果这是 Windows 服务器。我不确定其他操作系统是否会对双默认网关路由进行负载平衡。
一些冗余的解决方案包括:
- NIC 组合。
- 在服务器上启用可以使用所有接口并动态学习默认路由的路由协议(如 RIP 或 BGP)。
四端口服务器通常使用:2 个端口用于公共/生产网络。1 个端口用于私有/管理目的,1 个端口用于数据备份。有时,集群中的某些服务器使用 1 或 2 个端口进行心跳/保持连接。
谢谢。
答案2
这一切实际上都取决于您的服务或拓扑的设计。虽然我从未听说过这样的“法则”,但我明白为什么它会效率低下。
如果您要让两个接口在同一个网络/子网中通信,您不妨将它们放在以太通道中,而不会浪费额外的 IP 地址。
至于为什么他们在一台服务器上销售 4 个 NIC(或任何大于 1 个的 NIC),实际上取决于在其上运行的应用程序,但我能想到几个原因。
- 以太网通道/NIC 组合,冗余总是一件好事。有时只需 1 个额外端口就足够了,但也许在 4 个端口的情况下,有人正在设计超冗余服务。
- 安全性,许多人使用不同网络中的多个接口来创建非常安全的堡垒/跳跃/跳跃盒。
- 软件防火墙/路由,有一些软件包甚至操作系统的例子实际上充当路由器或更多网络中心安全设备。因此,设备需要多个接口才能参与多个物理 LAN/WAN,这同样取决于设计。(如果你对此感到好奇,请查看“Vyatta”)
- 有时,这就是它所伴随的。在以前的工作中,我们有一些非常繁重的 SQL 数据库,它们有 4 个 NIC,但我们仍然只使用一个,因为我们不需要其他的。
我能想到的就这些。
答案3
除非使用源路由,否则来自同一子网上所有 IP 地址的所有流量都将使用其中一个物理端口发送。
源路由配置路由表,以便根据源地址选择传出端口,然后使用目标地址确定从该端口发送 IP 数据报的位置。
答案4
“不要这样做!这会引起广播风暴!”这句话是怎么回事?有没有人拿出一个数据包分析器来看看当你配置(如设置)时会发生什么?你有两个问题要解决:
- 网络是否有能力锁定其中一个网络接口以防止广播风暴?
- 具有两个网络接口的客户端是否可以确保始终只在一个网络接口上发送和接收数据(除非使用的接口出现故障)?
您必须对这两个问题都回答“是”,否则您将会得到一些不良结果。