OpenBSD Acquires IP Load Balancing
xarc writes "OpenBSD 3.2-current has acquired IP load balancing support via its packet filter, PF. This is a great step for those of us who prefer OpenBSD, but are dependent on other OSes and software (such as Linux's Linux Virtual Server) to provide similar functionality."
hang on, where's the obligitory " BSD is dead" post?, if its dead, how come stuff like this is getting released, it looks like bsd is focusing on its niche market, servers, i'd say load balancing is quite important there..
dybia felly dwi a hampster (i think therefore i am a hampster)
Far cry nothing. Load balancers do use the roundrobin and hash algorithms.
-
ping -f 255.255.255.255 # if only
True, load balancers do use round-robin and hash algorithms....but these days a load balancer also implies some logic to stop it forwarding requests to a none-active device. i.e. some sort of keep-alive mechanism.
But, to see this is OpenBSD is nice. I might actually consider writing some hooks myself to make it a bit more usable.
-psy
They didn't copy the code from ipfilter. It supports much more than just plain round-robin.
Addresses can be allocated in a number of ways:
- masking out the network portion of the address and replacing it
- randomly assigning an address in the block
- hashing the source address and a key to determine the redirection address
- iterating through the addresses sequentially (this is the only allocation scheme which works when a list of addresses is specified)
It also supports load balancing on route-to, dup-to and reply-to. Again something that ipfilter doesn't.
And this isn't just an IPfilter theft like someone else had stated. PF is a complete re-write, with dramatic performance gains and cleaner integration into the system. (By gains, I'm talking about documented increases by orders of magnitude, with large rulebases.) I suspect the LB code is no different, probably all new code. It'e been submitted by Daniel Hartmier as well, who wrote PF, so I'm fairly confident that the code won't suck.
Now I just want to see failover capability in PF. I know the VRRP licensing BS is what is stopping that effort right now, but I hope that can be solved soon (a new protocol needs to be created IMO). The only reason OpenBSD can't be deployed in many areas is the lack of failover, that's such a critical piece of infrastructure these days that it's necessary.