浮动 IP 和虚拟 IP 之间有何区别?

浮动 IP 和虚拟 IP 之间有何区别?

这可能是一个普通的问题,但“浮动 IP”地址和“虚拟 IP”地址之间有什么区别?它们是同义词吗?

答案1

对我来说,这些术语的含义不同。

浮动 IP 地址用于支持高可用性集群中的故障转移。集群配置为只有集群中的活动成员在任何给定时间“拥有”或响应该 IP 地址。如果活动成员发生故障,则浮动 IP 地址的“所有权”将转移到备用成员,以将其提升为新的活动成员。具体而言,要提升的成员会发出免费 ARP,宣布新的 MAC 地址与 IP 地址关联。

虚拟 IP 地址是指虚拟服务器的 IP 地址,是一个比较模糊的术语。使用 F5 负载均衡器,例如,虚拟服务器就是您想要托管的服务(网站等)。

更具体地说,假设您在主动-备用集群中有一对负载均衡器。对于每个接口或 VLAN,负载均衡器将各自具有一个自有 IP 地址,以及两个成员之间共享的浮动 IP 地址。当负载均衡器将传入请求中继到后端节点时,它会使用浮动 IP 地址作为源地址,因此如果负载均衡器死机,其合作伙伴将能够接管并接收响应。负载均衡器上托管的每个网站或其他服务都将拥有自己的 IP 地址,您可以将其称为“虚拟”IP 地址。(您可以说这些虚拟 IP 也是“浮动的”,因为在发生故障转移时,对它们的控制将转移到备用节点。)

答案2

不,两者非常相似,但通常用于不同的语境中。

Virtual IP(或VIP)通常用作表示 IP 不属于某个特定物理接口这一事实的术语。从这个意义上讲,VIP独立于物理接口(在物理学中,缺乏物理表示的粒子称为virtual。看起来没有物理接口的 IPvirtual也被称为 )。因此,非虚拟 IP 意味着随其接口上下移动,并且只属于一个单一接口,而VIP可以通过多种方式摆脱这种情况(它甚至可以同时存在于多个接口上,非常像虚拟粒子可以同时存在于黑洞内部和外部 - 参见https://en.wikipedia.org/wiki/Hawking_radiation)。

Floating IP(或FIP)似乎是一些故障转移/虚拟托管解决方案创造的术语,用于命名公共可访问的外部 IP 地址(有些甚至将该术语保留FIP给来自公共 IP 区域的 IP)。

因此以下是正确的:

  • 通常来说, a也是FIPa VIP,但也有例外
  • 在某些设置中使用时,aVIP可以是 aFIP
  • 通常FIP意味着不仅仅是一种特殊形式VIP

互换使用这些术语或认为它们是相同的可能并不明智。

  • FIP如果您使用虚拟接口上的 IP这个术语,可能会让很多人感到困惑,所以应该坚持VIP在这里使用它。

  • 可能有多个VIPs 指代同一个FIP,例如 external VIP(来自公共 IP 区域)和 internal “natted” VIP(通常来自私有 IP 区域)FIP。因此,如果您在这里使用该术语VIP,将造成严重误解。

为了增加困惑,我们来看看维基百科:

https://de.wikipedia.org/wiki/Virtuelle_IP-Adresse

查看具有主动/被动群集的动态 IP 地址,在当前活动的 Primärsystem 地址下

因此,根据德语维基百科,VIP ⊂ FIP

https://en.wikipedia.org/wiki/Virtual_IP_address

虚拟 IP 地址 (VIP 或 VIPA) 是不对应于实际物理网络接口 (端口) 的 IP 地址。VIP 的用途包括网络地址转换 (尤其是一对多 NAT)、容错和移动性。

因此,英文维基百科讲述了一个完全不同的故事,即FIP ⊂ VIP

由于两篇文章相互矛盾,请不要陷入这样的陷阱:FIP ≡ VIP

把它们加起来:

  • Virtual IP是一个众所周知的技术通用术语,用于不严格绑定到单一接口的 IP

  • Floating IP通常或多或少是一种营销用语,用来表示一个专门使用的 IP,通常(但并非总是)是一个VIP

答案3

是的,它们是一样的。这些是负载平衡配置等中通常使用的术语

答案4

可公开访问的 FIP 可以指向由多个后端共享的 VIP。因此,当一个后端发生故障时,请求可以故障转移到另一个后端,而无需更改 FIP

实际的例子OpenStack 中使用 VIP 和 FIP 的实例

相关内容