- 2072 Magh · 2+8 marks
RADIUS; proxy load balancing with CARP
Short answer
RADIUS is a protocol/server for centralized AAA (authentication, authorization, accounting) over UDP, used by NAS. CARP is a hash-based proxy array protocol: each URL is hashed with member names, the highest score weighted by load factor owns the URL, so no duplication and only 1/n URLs move when a proxy changes.
What is RADIUS? Describe proxy load balancing with respect to CARP.
What is RADIUS?
RADIUS (Remote Authentication Dial-In User Service) is a client/server protocol (RFC 2865, UDP ports 1812 for authentication and 1813 for accounting) that provides centralised AAA: Authentication, Authorization and Accounting for users who connect to a network. A Network Access Server (NAS), such as a dial-up server, VPN gateway, Wi-Fi access point or switch, acts as a RADIUS client and sends the user credentials to the RADIUS server, which checks them in its user database and replies Access-Accept or Access-Reject.
Proxy load balancing with CARP
CARP (Cache Array Routing Protocol) is a hash-based protocol that divides the URL space among a group of proxy servers (a proxy array), so each URL is assigned to exactly one proxy. It was developed by Microsoft.
Operation
- Every proxy keeps a membership list of the array (retrieved periodically from the array table).
- For each member, a hash of the proxy name is computed once.
- For a request, a hash of the URL is combined with each member's hash and a score is computed.
- The member with the highest score is the owner of that URL. A load factor multiplies the score, so a bigger machine owns a larger share.
- A client-side proxy-aware browser (PAC script) or a front-end proxy forwards the request to the owner.
- The owner returns the cached copy (hit) or fetches from the origin, caches and returns it (miss).
Browser / front proxy
score(P1)=h(URL,P1)*L1
score(P2)=h(URL,P2)*L2 -> highest = P3
score(P3)=h(URL,P3)*L3
|
v
[P3 owns URL] --> cache hit or fetch origin
Why CARP gives good load balancing
- Requests are spread evenly by the hash, and weights tune the share.
- A single copy per object: the cache of all proxies adds up, with no duplication.
- No inter-proxy ICP queries, so less traffic and delay.
- Fault tolerance with minimal reshuffling: when a proxy is added or removed, only about 1/n of URLs move; the rest stay cached where they were.
- Easy scaling: new proxies are added to the array table.
Limit: no copy redundancy, so the content of a failed proxy is lost until refetched.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Short note: Proxy load balancing · Internet and Intranet, chapter 5 · asked 2×
- Proxy array load balancing types for big ISP · Internet and Intranet, chapter 5
- Proxy load balancing benefits; non-redundant array · Internet and Intranet, chapter 5
- Balancing one mass using two planes · Theory of Mechanism and Machine II, chapter 5
- Dynamic balancing with two correction planes · Theory of Mechanism and Machine II, chapter 5