32

This might be a pedestrian question but what is the difference between a "Floating IP" address and a "Virtual IP" address? Are they synonyms?

Marlon
  • 535
  • 2
  • 10
  • 14

4 Answers4

27

To me, the terms mean different things.

A floating IP address is used to support failover in a high-availability cluster. The cluster is configured such that only the active member of the cluster "owns" or responds to that IP address at any given time. Should the active member fail, then "ownership" of the floating IP address would be transferred to a standby member to promote it as the new active member. Specifically, the member to be promoted issues a gratuitous ARP, announcing the new MAC address–to–IP address association.

A virtual IP address refers to the IP address of a virtual server, and is a more nebulous term. With F5 load balancers, for example, the virtual servers are the services (websites, etc.) you want to host.

More concretely, suppose you have a pair of load balancers in an active-standby cluster. For each interface or VLAN, the load balancers would each have a self IP address, as well as a floating IP address that is shared between both members. When the load balancer relays incoming requests to the back-end nodes, it uses the floating IP address as the source address, so if the load balancer dies, its partner will be able to take over and receive the response. Each website or other service being hosted on the load balancers would have its own IP address, which you could call a "virtual" IP address. (You could say that these virtual IPs "float" as well, since control of them would transfer to the standby node in the event of a failover.)

200_success
  • 4,701
  • 1
  • 24
  • 42
  • And doing a active standby cluster is faster than simply restarting a load balancer? – CMCDragonkai Nov 10 '14 at 15:38
  • 1
    IF two load balancers have the same floating IP address, then when a request is made to that floating IP address, who decides which Load balancer must be executed. – user12458 Dec 10 '14 at 16:23
  • 2
    @JavaTechnical IP-to-Ethernet mapping is done through [ARP](http://en.wikipedia.org/wiki/Address_Resolution_Protocol). The members of the cluster coordinate amongst themselves such that at any time, only the active unit will respond to ARP requests for the floating IP. During failover, the new active unit sends a gratuitous ARP announcement informing all other devices on the subnet (especially the router) that the new active unit's MAC address should be associated with the floating IP. – 200_success Dec 10 '14 at 17:25
  • @200_success Then who first receives the request to floating IP? Can it be any member (no matter whether that member is busy or not). Also if there is a fail over of a member, who takes care of removing that load balancer from the list of available balancers? – user12458 Dec 11 '14 at 06:40
  • @JavaTechnical The cluster members negotiate amongst themselves which one is active. For BIG-IP load balancers, the election is influenced by the [Redundancy State Preference](https://support.f5.com/kb/en-us/solutions/public/8000/100/sol8184.html) setting. – 200_success Dec 11 '14 at 06:43
  • @200_success I couldn't understand to which the request goes **first** when we set the **NONE** preference? – user12458 Dec 11 '14 at 06:49
  • @JavaTechnical Perhaps you should ask a new question. – 200_success Dec 11 '14 at 06:51
  • @200_success I posted a new question. – user12458 Dec 11 '14 at 07:00
13

No, both are very similar but are usually used in different contexts.

Virtual IP (or VIP) normally is used as a term to express the fact, that an IP does not belong to one specific physical interface. In that sense the VIP is independent of a physical interface (in Physics particles which lack a physical representation are called virtual. Looks like IPs without a physical interface are terefor called virtual, too). Hence, a non-virtual IP is meant to go up and down with it's interface and belong only one single interface, while a VIP can break out of this in several ways (it even is possible to exist on more than one interface at the same time, very like virtual particles can exist inside and outside of a black hole at the same time - see https://en.wikipedia.org/wiki/Hawking_radiation).

Floating IP (or FIP) seems to be the term coined by some failover/virtual hosting solutions to name the public reachable outside IP address (some even reserve the term FIP to IPs from the public IP area).

So following is true:

  • a FIP normally is a VIP, too, but there are exceptions
  • a VIP can be a FIP when used in certain setups
  • a FIP usually means much more than just a special form of VIP

It probably is not wise to use the terms interchangeably or to think, they are the same.

  • If you use the term FIP for an IP on a virtual interface, you probably will confuse many people and should stick to callig it VIP here.

  • There may be more than one VIPs which refer to the same FIP, for example the external VIP (which comes from the public IP area) and the internal "natted" VIP (which usually comes from the private IP area) of this FIP. So if you use the term VIP here, this will create a grave misunderstanding.

To add to the confusion, let's have a look into Wikipedia:

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

bezeichnet die dynamische IP-Adresse eines Aktiv/Passiv-Clusters, unter der das momentan aktive Primärsystem adressiert ist

Hence, according to German Wikipedia, VIP ⊂ FIP.

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

A virtual IP address (VIP or VIPA) is an IP address that doesn't correspond to an actual physical network interface (port). Uses for VIPs include Network Address Translation (especially, One-to-many NAT), fault-tolerance, and mobility.

Hence the English Wikipedia tells a completely different story, namely FIP ⊂ VIP

And as both articles are contradicting, please do not fall into the trap to think FIP ≡ VIP

To sum it up:

  • Virtual IP is a well known technical common term, used for IPs which are not bound strictly to one single interface

  • Floating IP usually is more or less marketing speak to denote a specially used IP which most often, but not always, is a VIP.

Tino
  • 1,103
  • 1
  • 12
  • 16
2

Yes, they're same. These are terms usually used in load balancing configuration etc

GioMac
  • 4,444
  • 3
  • 24
  • 41
0

A FIP which is access-able publicly can point to a VIP which is shared by multiple backends. So when one backend is down the request can fail over to another backend without changing the FIP

Practical example of using VIP and FIP in OpenStack

Arghya Sadhu
  • 101
  • 1
  • 1