Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Hash initial server selection without save last server #18
We use pen to load balancing RADIUS server that handles standard and PEAP requests.
The standard RADIUS request is a simple transaction that works fine with any load balancing algorithm. But the PEAP transaction is more complex: it needs the TLS tunnel to encrypt the traffic. To perform a PEAP transaction, it need to do more than one request to server. To get success, we need to ensure that all transaction packets will sent to same server. The only way to do it, is using the hash algorithm.
When hash algorithm is enabled, it redirects all request to same server, making one server hammered while others are on idle state.
To fix our problem, I added a new initial server selection algorithm called "Hash no server" that adds the source port to hash algorithm and don't save the last server the client used.
Could you analyze my solution? If it is a good one, I will be thankful if you add it to your repository. :)
I hope I have contributed to your project.
Thank's for your attention!
added a commit
this pull request
Oct 3, 2015
About pull request #18:
One of the points of the hash algorithm is that it is deterministic:
PR 18 maintains property 1 but not 2, so breaks the old hash algorithm.
The DSR code has its own hash algorithm which includes the port when the -r (roundrobin) option is used. It would be a good idea to use the same semantics for the non-DSR case.
Using -r will forego reusing the old server (see initial_server).
With these changes (see below), -hr will do the same thing as -N while maintaining backwards compatibility.
Have a look and if it makes sense I'll put this in 0.31.0.