
42fdda340bc3e6081006193244b2f2d7.ppt
- Количество слайдов: 54
Global Server Load Balancing Dima Krioukov [dima@nortelnetworks. com] Alex Kit [akit@winstar. com] October 24, 2000
Purpose • Existing methods • New technique • Analysis • Applicability considerations GSLB - 1
Plan • Introduction – What are ASPs? – Requirements to IDCs • LSLB – Load Sharing NAT (LSNAT) – Direct Server Return (DSR) – Tunneling • GSLB – – DNS Based Host Route Injection (HRI) Triangle Data Flow (TDF) Latest Trends • New Technique – Virtual Block Injection (VBI) – Description – Testing – Analysis • Applicability Considerations • Conclusions and References GSLB - 2
Abbreviations • LB = Load Balancing/Balancer • SLB = Server LB • LSLB = Local SLB • GSLB = Global SLB • HA = High Availability • RS = Real Server/Service • VS = Virtual Server/Service • VIP = VS IP address • LSNAT = Load Sharing NAT • DSR = Direct Server Return • • • PRP = Proximity Report Protocol LRP = Load Report Protocol LPRP = PRP + LRP HRI = Host Route Injection VBI = Virtual Block Injection TDF = Triangle Data Flow IDC = Internet Data Center CDN = Content Delivery Network ASP = Application Service Provider CASP = Content/Collocation and Application Service Provider • AIP = Application Infrastructure Provider • xy. P = ? GSLB - 3
1. Introduction Logic: GSLB IDC ASP Hosting GSLB - 4
Hosting Infrastructure Web User Content Owner IDC Owner ISP OSS GSLB - 5
ASP IDC Infrastructure End Customer ASP ISP/Backbone Applications Access Operations GSLB - 6
IDC LB Tier Core (Routing) Distribution (L 3 Switching) Tier Load Balancing (L 4 Switching) Port Density (L 2 Switching) Tier Servers SAN GSLB - 7
Requirements to IDCs • High Availability (HA) – Local – Global • Load Balancing (LB) – Local – Global · Proximity (“including” congestion) · Load IDC 1 Client IDC 2 HA LB GSLB - 8
2. Generic SLB and LSLB = VS RS • Health Checking – – Layer 2 Layer 3 Layer 4 Layer 7 • SLB Algorithm – – – Round Robin Least Connections Server Response Time Server Load Hashing • SLB Forwarding – Session Tables – Timers GSLB - 9
LSLB Forwarding • LSNAT • DSR • Tunneling GSLB - 10
LSNAT Segment L 2 Router X X LB L 3 L 4 Y S 1 S 2 S 3 Layer L 2 Y L 3 L 4 src/ dst Ingress Egress src Router_MAC Virtual_MAC dst Virtual_MAC Router_MAC src Client_IP Virtual_IP dst Virtual_IP Client_IP src Client_Port Virtual_Port dst Virtual_Port Client_Port src LB_MAC S 1_MAC dst S 1_MAC LB_MAC src Client_IP S 1_IP dst S 1_IP Client_IP src Client_Port S 1_Port dst S 1_Port Client_Port GSLB - 11
LSNAT + Source NAT Segment L 2 Router X X LB L 3 L 4 Y S 1 S 2 S 3 Layer L 2 Y L 3 L 4 src/ dst Ingress Egress src Router_MAC Virtual_MAC dst Virtual_MAC Router_MAC src Client_IP Virtual_IP dst Virtual_IP Client_IP src Client_Port Virtual_Port dst Virtual_Port Client_Port src LB_V_MAC S 1_MAC dst S 1_MAC LB_V_MAC src LB_V_IP S 1_IP dst S 1_IP LB_V_IP src LB_V_Port S 1_Port dst S 1_Port LB_V_Port GSLB - 12
DSR Router Layer 1 L 2 LB 3 2 S 1 S 2 S 3 L 4 src/ dst 1 2 3 src Router_MAC Virtual_MAC S 1_MAC dst Virtual_MAC S 1_MAC Router_MAC src Client_IP Virtual_IP dst Virtual_IP Client_IP src Client_Port Virtual_Port dst Virtual_Port Client_Port GSLB - 13
Tunneling Router Layer 1 L 2 LB 3 2 S 1 S 2 S 3 L 4 src/ dst 1 2 3 src R_MAC LB_MAC S 1_MAC dst V_MAC S 1_MAC R_MAC src C_IP Ext: LB_IP Int: C_IP V_IP dst V_IP Ext: S 1_IP Int: V_IP C_IP src C_Port V_Port dst V_Port C_Port GSLB - 14
3. GSLB • DNS Based • HRI • TDF • Latest Trends GSLB - 15
3. 1 DNS Based GSLB = Name VS (DNS+) • Smart DNS – Load and availability awareness Load Report Protocol (LRP) – Proximity and congestion awareness Proximity Report Protocol (PRP) • LB DNS Functionality – DNS Server – DNS Proxy • Caching – DNS Traffic Intercept GSLB - 16
LPRP • Transport • Operation – UDP – TCP – HTTP IDC 3 – Periodic Updates – Periodic Requests – Triggered Updates LB IDC 1 LB IDC 2 LB GSLB - 17
PRP • RTT • Effective bandwidth • Number of hops • Number of AS hops • IGP metric Proximity to the client LDNS, not to the client GSLB - 18
LRP • VS Health – Up – Down – Backup only • VS Load – Number of sessions – Response Time • RS/Content Load • Network Load – bps – pps • Qo. S • Security • LB Load – Number of sessions – Capacity threshold – CPU GSLB - 19
How it works IDC 3 LB Client 6 Customer LDNS 1 IDC 1 5 4 6 5 2 ADNS 3 6 RDNS IDC 2 LB GSLB - 20
How it works IDC 3 LB 7 Client 8 IDC 1 10 Customer LDNS 9 11 ADNS 7 RDNS IDC 2 LB GSLB - 21
Analysis Pros Cons • Accurate load info • DNS – wrong target • Proximity between • Accurate proximity info • Perfect solution… in some cases and if certain conditions are met client and its LDNS • Caching – LB – LDNS – Application • Complexity • Hard to find optimal values for various timers (TTL, cache timeouts, etc. ) and prefix lengths GSLB - 22
3. 2 HRI GSLB = Routing+ • To what? – BGP – IGP • By what? – RS – Router – LB GSLB - 23
To what • IGP? • BGP – Route filtering (both ways) – No ECMP IDC 1 Router Client IDC 2 GSLB - 24
By what RS IDC 1 IDC 2 Router BGP RS GSLB - 25
By what Router IDC 1 IDC 2 Router LB RS RS RS GSLB - 26
By what LB IDC 1 IDC 2 Router BGP LB RS RS RS GSLB - 27
Analysis Pros Cons • Simplicity • Single backbone* • No new protocols are needed • Proximity is handled by routing • Load handling? – Its own – Single ISP • Too many routes • Less accurate load and proximity info – Only local load – Optimal routing? • Route flapping* GSLB - 28
3. 3 TDF GSLB = X + TDF • NAT Based • Tunneling Client IDC 1, “wrong” IDC 2, “right” GSLB - 29
Why “wrong” IDC? • Failure of, disabled or non-implemented LPRP • Cached DNS records • Other retardation effects (LPRP, BGP) GSLB - 30
NAT Based 1 L 3 2 3 src C C V 1. 1 dst V 1. 1 V 2. 2 C IDC 1, “wrong” V 1. 1; V 1. 2 1 2 3 Client IDC 2, “right” V 2. 1; V 2. 2 GSLB - 31
“Remote Servers” 1 L 3 2 3 4 src C V 1. 1 V 2. 1 V 1. 1 dst V 1. 1 V 2. 1 V 1. 1 C IDC 1, “wrong” V 1. 1 1 4 2 3 Client IDC 2, “right” V 2. 1 GSLB - 32
Tunneling Next section GSLB - 33
Analysis Pros Cons • Fixes errors • ip verify reverse-path optimally IDC 1, “wrong” Router Client IDC 2, “right” GSLB - 34
Analysis Pros Cons • Fixes errors • ip verify reverse-path optimally IDC 1, “wrong” Router Client IDC 2, “right” GSLB - 35
3. 4 Latest Trends, Radicalism • Internet infiltration • LB presence in strategic • Going to the client edge • Going to the client • Modifying the client locations (Hydra. GPS, Speedera) • LDNS modifications (Speedera) • Application modifications (SRV RRs) GSLB - 36
Internet Infiltrations IDC 1 LB Customer Client LB LB LB IDC 2 LB GSLB - 37
Internet Infiltrations IDC 1 LB Customer Client LB LB LB IDC 2 LB GSLB - 38
LDNS modifications in CDNs IDC 1 LB Customer Client LDNS ASP Backbone IDC 2 LB GSLB - 39
4. Virtual Block Injection (VBI) • Inject not VS host routes, but blocks of GSLB’ed VSs IDC (LB) failures are handled by the routing protocol • Use tunneling TDF in case of individual VS failure GSLB - 40
How it works Client AS 2 AS 1 ISP 2 V/20, AS 3 IDC 1, R 1/20 V/20, AS 3 IDC 2, R 2/20 GSLB - 41
How it works Client AS 2 AS 1 ISP 2 V/20, AS 3 IDC 1, R 1/20 IDC 2, R 2/20 GSLB - 42
How it works Client AS 2 AS 1 ISP 2 V/20, AS 3 IDC 1, R 1/20 V/20, AS 3 IDC 2, R 2/20 GSLB - 43
Testing Needed Linux • LB • Linux Virtual Server (LVS, • BGP • Tunnels Wensong Zhang, Julian Anastasov) • Zebra • Tunnels GSLB - 44
Test Network GSLB - 45
Analysis Pros Cons • All of HRI, plus • LB load stop • No host route injection • Working TDF • Perfect VS health handling • VS load LRP advertisement? • BGP – proximity tool? • Discontinuous AS? • Route flapping! • Obvious simplifications in more “ideal” cases GSLB - 46
Route Flapping TCP UDP AS 1 Client Router AS 2 ISP 1 ISP 2 V/20, AS 3 IDC 1, R 1/20 V/20, AS 3 IDC 2, R 2/20 GSLB - 47
Solution for UDP Session table entry exchange for long sessions Client Router AS 1 AS 2 ISP 1 ISP 2 V/20, AS 3 IDC 1, R 1/20 V/20, AS 3 IDC 2, R 2/20 GSLB - 48
Solution for UDP Session table entry exchange for long sessions Client Router AS 1 AS 2 ISP 1 ISP 2 V/20, AS 3 IDC 1, R 1/20 V/20, AS 3 IDC 2, R 2/20 GSLB - 49
Solution for TCP If LB receives packet • • Destined to a VS Client No SYN No session table entry Not via the tunnels Forward via all the tunnels Router AS 1 AS 2 ISP 1 ISP 2 V/20, AS 3 IDC 1, R 1/20 V/20, AS 3 IDC 2, R 2/20 GSLB - 50
5. Applicability Considerations GSLB of • Small number of VSs (or RSs) – by an ISP* – by its customer • Big number of VSs (between IDCs) – CASP ISP • • CASP has its own backbone - CASP does not have control over customer access - CASP has control over customer access** CASP does not have its own backbone - CASP is multihomed to the same ISP - CASP is multihomed to different ISPs* GSLB - 51
6. Conclusions • No ideal GSLB method • For some “ideal” network scenarios, there are some “ideal” solutions • For realistic network scenarios, there are rapidly improving realistic solutions • Good competition • Lack of comparative testing in the production-like environment GSLB - 52
References • On ASPs: Nortel, ASP Industry Consortium, Network Magazine, IRG • Vendors: Alteon, Arrow. Point, Foundry, F 5, Cisco, Nortel, Radware, Hydra. WEB, Speedera, Resonate • RFCs: LSNAT, SRV, DNS for LB, SLB draft (work in progress) • Open Source: LVS, http: //www. linuxvirtualserver. org/ • VBI Testing: http: //www. krioukov. net/~dima/VBI/ GSLB - 53
42fdda340bc3e6081006193244b2f2d7.ppt