Forum Discussion
Does CARP include the node's port in the hash?
I have implemented load-balancing across proxy servers using the F5 CARP implementation. We would like to implement a bias to some of the proxies, but the F5 implementation does not currently support this. It occurred to me we could work around this by adding the same node more than once. We have a couple of ports to work with (8080, 3182, 80). However, this will only work if the CARP hash algorithm includes the port in the hash calculation. Does anyone know if this is the case?
- What_Lies_Bene1
Cirrostratus
Based on the information about the Proxy Array Membership Table here: http://tools.ietf.org/html/draft-vinod-carp-v1-03 I'd say yes, this would work. - uni
Altostratus
Thanks for your reply. I had read the document, which says the hash is computed from each character of the MemberName, and although there is no definition of MemberName in the document, it does define the Name entry in the Member table as the FQDN, rather than the IP and port, and would produce an identical hash for two entries with the same FQDN and differing ports. However, the F5 implementation only has the pool to use as the member table, which means they will use the IP address, but not necessarily the port.
That said, I did a test after my post yesterday, and it does seem to include the port in the hash.
Of course, the primary reason for doing this was to try and put some bias towards some of the proxies. It would be nice if the ratio field in the pool member table could be incorporated into the hash calculation.
- What_Lies_Bene1
Cirrostratus
Thanks for the information Stephen. It's not the best document and is full of spelling mistakes plus it's expired so it probably wasn't the best place to point you to. Worth noting from the TMOS release notes: "...the hash persistence profile can now perform a pool member selection using a stateless hash algorithm based on the Cache Array Routing Protocol..." which would suggest that F5's implementation is all their own but still implements the core feature. That being the case, it's possible they do consider the port and also that Pool Member ratio could be built in to the calculation.
- Hamish
Cirrocumulus
Carp computes an index into a table... So it should evenly balance across all poolmembers. - hoolio
Cirrostratus
Hi Stephen,
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com