Skip to main content
replaced https://tools.ietf.org/html/rfc with https://www.rfc-editor.org/rfc/rfc
Source Link

This is done with a protocol called HSRP, VRRP or CARP. HSRP is the original cisco-made protocol to solve the problem. It was standardized into VRRP later https://tools.ietf.org/html/rfc3768https://www.rfc-editor.org/rfc/rfc3768 (year 1998) that got implemented by most network devices and vendors. BSD folks reinvented their own protocols CARP to do the same thing, they couldn't adopt VRRP due to concerns around licensing or patents.

This is done with a protocol called HSRP, VRRP or CARP. HSRP is the original cisco-made protocol to solve the problem. It was standardized into VRRP later https://tools.ietf.org/html/rfc3768 (year 1998) that got implemented by most network devices and vendors. BSD folks reinvented their own protocols CARP to do the same thing, they couldn't adopt VRRP due to concerns around licensing or patents.

This is done with a protocol called HSRP, VRRP or CARP. HSRP is the original cisco-made protocol to solve the problem. It was standardized into VRRP later https://www.rfc-editor.org/rfc/rfc3768 (year 1998) that got implemented by most network devices and vendors. BSD folks reinvented their own protocols CARP to do the same thing, they couldn't adopt VRRP due to concerns around licensing or patents.

typo: was unicast instead of anycast
Source Link
user5994461
  • 3.1k
  • 1
  • 20
  • 31

Last but not least. keepalived only allows to have a single active server out of many, it's wasting resources to put it lightly. This is actually a catastrophic issue in the real world because things need to scale and it can't scale by design. Failover solutions in use today -as found in clouds and CDN- are meant to distribute traffic across multiple destinations all active. It's a lot more complicated to achieve and is done cumulatively at different layers (see DNSDNS, UnicastAnycast, OSPF and BGPOSPF, BGP). keepalived is not part of the big picture anymore.

Last but not least. keepalived only allows to have a single active server out of many, it's wasting resources to put it lightly. This is actually a catastrophic issue in the real world because things need to scale and it can't scale by design. Failover solutions in use today -as found in clouds and CDN- are meant to distribute traffic across multiple destinations all active. It's a lot more complicated to achieve and is done cumulatively at different layers (see DNS, Unicast, OSPF and BGP). keepalived is not part of the picture anymore.

Last but not least. keepalived only allows to have a single active server out of many, it's wasting resources to put it lightly. This is actually a catastrophic issue in the real world because things need to scale and it can't scale by design. Failover solutions in use today -as found in clouds and CDN- are meant to distribute traffic across multiple destinations all active. It's a lot more complicated to achieve and is done cumulatively at different layers (see DNS, Anycast, OSPF, BGP). keepalived is not part of the big picture anymore.

added 503 characters in body
Source Link
user5994461
  • 3.1k
  • 1
  • 20
  • 31

**Update for 2020: keepalived and alternatives have been obsolete for a while, because they don't work in virtual clouds (AWS).Update for 2020: keepalived has been obsolete for a while because it doesn't work in virtual clouds (AWS).

The rise of the cloudAWS and the end of VRRP

You really needOne needs to be familiar OSI network layers 2 and 3 at this point (MAC and IP). Network devices communicate with MACMAC and IPIP addresses, addresses are resolved with ARP.

The concept of floating IP being taken over-over involves a number of complex shenanigans in the network stack (all the acronyms above) to happen, it's not quite buildexactly designed-in nor expected behaviour.

On a physical network, multiple computers physically plugged ontointo one Ethernet switch, it usually works.

On a virtual machine, it usually doesn't work. The virtual network has to handle the network traffic (MAC and IP layers), it typically blocks the magic packets or isolate the virtual host preventing VRRP from operating.

The next aspect is CDN (CloudFlare, Akamai). All public websites run behind a CDN nowadays that provides caching, filtering and DDoS protection. CDN can provide load balancing between multiple upstream servers. Simply configure all the individual servers and they will sharethe traffic is split.

Last but not least. keepalived only allows to have a single active server out of many, it's wasting resources to put it lightly. This is actually a catastrophic issue in the real world because things need to scale and it can't scale by design. Failover solutions in use today -as found in clouds and CDN- are meant to distribute traffic across multiple destinations all active. It's a lot more complicated to achieve and is done cumulatively at different layers (see DNS, Unicast, OSPF and BGP). keepalived is not part of the picture anymore.

**Update for 2020: keepalived and alternatives have been obsolete for a while, because they don't work in virtual clouds (AWS).

The rise of the cloud and the end of VRRP

You really need to be familiar OSI network layers 2 and 3 at this point (MAC and IP). Network devices communicate with MAC and IP addresses, addresses are resolved with ARP.

The concept of floating IP being taken over involves a number of complex shenanigans in the network stack (all the acronyms above) to happen, it's not quite build-in nor expected behaviour.

On a physical network, multiple computers physically plugged onto one Ethernet switch, it usually works.

On a virtual machine, it usually doesn't work. The virtual network has to handle the network traffic (MAC and IP layers), it typically blocks the magic packets or isolate the virtual host preventing VRRP from operating.

The next aspect is CDN (CloudFlare, Akamai). All public websites run behind a CDN nowadays that provides caching, filtering and DDoS protection. CDN can provide load balancing between multiple upstream servers. Simply configure all the individual servers and they will share traffic.

Update for 2020: keepalived has been obsolete for a while because it doesn't work in virtual clouds (AWS).

The rise of AWS and the end of VRRP

One needs to be familiar OSI network layers 2 and 3 at this point (MAC and IP). Network devices communicate with MAC and IP addresses, addresses are resolved with ARP.

The concept of floating IP being taken-over involves a number of shenanigans in the network stack (all the acronyms above), it's not exactly designed-in nor expected behaviour.

On a physical network, multiple computers physically plugged into one Ethernet switch, it usually works.

On a virtual machine, it usually doesn't work. The virtual network has to handle network traffic (MAC and IP layers), it typically blocks the magic packets or isolate the virtual host preventing VRRP from operating.

The next aspect is CDN (CloudFlare, Akamai). All public websites run behind a CDN nowadays that provides caching, filtering and DDoS protection. CDN can provide load balancing between multiple upstream servers. Simply configure all the individual servers and the traffic is split.

Last but not least. keepalived only allows to have a single active server out of many, it's wasting resources to put it lightly. This is actually a catastrophic issue in the real world because things need to scale and it can't scale by design. Failover solutions in use today -as found in clouds and CDN- are meant to distribute traffic across multiple destinations all active. It's a lot more complicated to achieve and is done cumulatively at different layers (see DNS, Unicast, OSPF and BGP). keepalived is not part of the picture anymore.

Source Link
user5994461
  • 3.1k
  • 1
  • 20
  • 31
Loading