Definitions and configurations of DSR
From Nagios Wiki
Contents |
[edit] DSR or Direct Server Return
Direct Server Return is a method used in networking largely by Content Delivery or Streaming networks.
In Application Load Balancing we typically use half-nat/full nat, or Direct Server Return. With DSR, incoming requests are usually handled by a load balancer. The load balancer usually sends the requests to an available server on the backend. With standard load balancing, the server usually replies through the load balancer. This type of load balancing usually has the load balancer as the gateway. With DSR, the server responds directly to the client. This avoids any type of bandwidth constraints on the load balancing device.
[edit] How is DSR achieved from a packet level?
When a client request comes into a load balancer, the request packet header is rewritten with the destination server's mac address and IP address. This is how standard half-nat/full nat load balancing works. With DSR all servers have to respond to packets destined for the Virtual IP address, otherwise known as a VIP. This is usually done by adding the VIP address to the loopback device of the server. This is so the server does not broadcast the VIP address on the network. (Notes: Linux loopback broadcast bug)
The load balancer then rewrites the requesting packet with the destination server's mac address and forwards that packet on.
[edit] Hardware Platforms
There are lots of hardware load balancer vendors that can do DSR. A few of these include:
- Alteon / Nortel
- F5
- Foundry
- Cisco
- Radware
Just to name a few.

