yahoo/l3dsr

Direct Server Return load balancing across Layer 3 boundaries.

195

stars

7

commits

Shell

primary language

Jun 6, 2024

updated

big-data-
c
load-balancing
perl
Browse cluster: Perl Testing and CPAN Tools

README

Direct Server Return (DSR) load balancing is a common way to distribute
network traffic using an approach that currently requires the load
balancer and all hosts behind the Virtual IP (VIP) to be within the same
Layer 2 broadcast domain.  This is a severe limitation that hinders
scaling VIPs beyond a single contiguous subnet.  To overcome this
limitation, we present a method to perform DSR load balancing across Layer
3 boundaries (``L3DSR''), a solution that allows Yahoo! to serve up to ten
times as many VIPs on a single hardware Load Balancer compared to other
Layer 3 load balancing methods.

In order to overcome Layer 2 limitations, we use the 6-bit Differentiated
Services Code Point (DSCP) field of the IPv4 header used for packet
classification to relay information to the server.  The server inspects
the header and rewrites the destination address based on the value of the
DSCP field and according to its own mapping of DSCP values to destination
addresses.

L3DSR is currently supported by:
 - A10 AX3200 >= 2.2.5
 - Brocade ADX Series >= 12.1d
 - Brocade/Foundry ServerIron 450
   - M7 and JetCore blades
   - >= 12.2.01p
 - Citrix Netscaler running 8.x, 9.x
 - Radware Alteon 4408, 4416, 5412
   - SW versions 27 and above
 - Radware AppDirector (All platforms)
   - 2.10 and above, requires the optional BWM license

On the server, L3DSR is currently supported by:
 - FreeBSD >= 6.x
 - RHEL4 >= 4.7 (IPv4 only), RHEL5 >= 5.4 (IPv6 >= 5.9),
   RHEL6 >= 6.0, and Fedora 17

L3DSR was developed at Yahoo! Inc.  If you have questions or comments,
please contact:
   Jan Schaumann <jans@verizonmedia.com> (overall design),
   Carl Stanley <carl_stanley@yahoo.com> (LBs),
   Quentin Barnes <qbarnes@gmail.com> (iptables-daddr), or
   Wayne Badger <badger@verizonmedia.com> (dsrtools/yvipagent).

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

jschauma

7 commits

yahoo/l3dsr

Direct Server Return load balancing across Layer 3 boundaries.

195

stars

7

commits

Shell

primary language

Jun 6, 2024

updated

big-data-
c
load-balancing
perl
Browse cluster: Perl Testing and CPAN Tools

README

Direct Server Return (DSR) load balancing is a common way to distribute
network traffic using an approach that currently requires the load
balancer and all hosts behind the Virtual IP (VIP) to be within the same
Layer 2 broadcast domain.  This is a severe limitation that hinders
scaling VIPs beyond a single contiguous subnet.  To overcome this
limitation, we present a method to perform DSR load balancing across Layer
3 boundaries (``L3DSR''), a solution that allows Yahoo! to serve up to ten
times as many VIPs on a single hardware Load Balancer compared to other
Layer 3 load balancing methods.

In order to overcome Layer 2 limitations, we use the 6-bit Differentiated
Services Code Point (DSCP) field of the IPv4 header used for packet
classification to relay information to the server.  The server inspects
the header and rewrites the destination address based on the value of the
DSCP field and according to its own mapping of DSCP values to destination
addresses.

L3DSR is currently supported by:
 - A10 AX3200 >= 2.2.5
 - Brocade ADX Series >= 12.1d
 - Brocade/Foundry ServerIron 450
   - M7 and JetCore blades
   - >= 12.2.01p
 - Citrix Netscaler running 8.x, 9.x
 - Radware Alteon 4408, 4416, 5412
   - SW versions 27 and above
 - Radware AppDirector (All platforms)
   - 2.10 and above, requires the optional BWM license

On the server, L3DSR is currently supported by:
 - FreeBSD >= 6.x
 - RHEL4 >= 4.7 (IPv4 only), RHEL5 >= 5.4 (IPv6 >= 5.9),
   RHEL6 >= 6.0, and Fedora 17

L3DSR was developed at Yahoo! Inc.  If you have questions or comments,
please contact:
   Jan Schaumann <jans@verizonmedia.com> (overall design),
   Carl Stanley <carl_stanley@yahoo.com> (LBs),
   Quentin Barnes <qbarnes@gmail.com> (iptables-daddr), or
   Wayne Badger <badger@verizonmedia.com> (dsrtools/yvipagent).

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

jschauma

7 commits

Languages

Shell

42.1%

Roff

18.8%

Makefile

14.4%

Perl

11.6%

C

7.2%

sed

5.8%