Global Server Load Balancing Dima Krioukov [dima@ ][dima@ ] Alex Kit...

Click here to load reader

  • date post

    24-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    2

Embed Size (px)

Transcript of Global Server Load Balancing Dima Krioukov [dima@ ][dima@ ] Alex Kit...

  • Slide 1
  • Global Server Load Balancing Dima Krioukov [dima@nortelnetworks.com][dima@nortelnetworks.com] Alex Kit [akit@winstar.com][akit@winstar.com] October 24, 2000
  • Slide 2
  • GSLB - 1 Purpose Existing methods New technique Analysis Applicability considerations
  • Slide 3
  • GSLB - 2 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
  • Slide 4
  • GSLB - 3 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 xyP = ?
  • Slide 5
  • GSLB - 4 1. Introduction Logic: GSLB IDC ASP Hosting
  • Slide 6
  • GSLB - 5 Hosting Infrastructure Web UserContent OwnerIDC OwnerISP OSS
  • Slide 7
  • GSLB - 6 ASP Infrastructure End CustomerASP Applications Operations ISP/Backbone Access IDC
  • Slide 8
  • GSLB - 7 IDC Core (Routing) Distribution (L3 Switching) Tier LB Tier Load Balancing (L4 Switching) Port Density (L2 Switching) Servers SAN
  • Slide 9
  • GSLB - 8 Requirements to IDCs Load Balancing (LB) IDC1IDC2 Client Local Global Local Global Proximity (including congestion) Load High Availability (HA) HA LB
  • Slide 10
  • GSLB - 9 2. Generic SLB and LSLB SLB = 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
  • Slide 11
  • GSLB - 10 LSLB Forwarding LSNAT DSR Tunneling
  • Slide 12
  • GSLB - 11 LSNAT Router LB S1S2S3 SegmentLayer src/ dst IngressEgress X L2 srcRouter_MACVirtual_MAC dstVirtual_MACRouter_MAC L3 srcClient_IPVirtual_IP dstVirtual_IPClient_IP L4 srcClient_PortVirtual_Port dstVirtual_PortClient_Port Y L2 srcLB_MACS1_MAC dstS1_MACLB_MAC L3 srcClient_IPS1_IP dstS1_IPClient_IP L4 srcClient_PortS1_Port dstS1_PortClient_Port X Y
  • Slide 13
  • GSLB - 12 LSNAT + Source NAT Router LB S1S2S3 SegmentLayer src/ dst IngressEgress X L2 srcRouter_MACVirtual_MAC dstVirtual_MACRouter_MAC L3 srcClient_IPVirtual_IP dstVirtual_IPClient_IP L4 srcClient_PortVirtual_Port dstVirtual_PortClient_Port Y L2 srcLB_V_MACS1_MAC dstS1_MACLB_V_MAC L3 srcLB_V_IPS1_IP dstS1_IPLB_V_IP L4 srcLB_V_PortS1_Port dstS1_PortLB_V_Port X Y
  • Slide 14
  • GSLB - 13 DSR Router LB S1S2S3 Layer src/ dst 123 L2 srcRouter_MACVirtual_MACS1_MAC dstVirtual_MACS1_MACRouter_MAC L3 srcClient_IP Virtual_IP dstVirtual_IP Client_IP L4 srcClient_Port Virtual_Port dstVirtual_Port Client_Port 1 2 3
  • Slide 15
  • GSLB - 14 Tunneling Router LB S1S2S3 Layer src/ dst 123 L2 srcR_MACLB_MACS1_MAC dstV_MACS1_MACR_MAC L3 srcC_IPExt: LB_IPInt: C_IPV_IP dstV_IPExt: S1_IPInt: V_IPC_IP L4 srcC_Port V_Port dstV_Port C_Port 1 2 3
  • Slide 16
  • GSLB - 15 3. GSLB DNS Based HRI TDF Latest Trends
  • Slide 17
  • GSLB - 16 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
  • Slide 18
  • GSLB - 17 LPRP Transport UDP TCP HTTP Operation Periodic Updates Periodic Requests Triggered Updates IDC1 LB IDC2 LB IDC3 LB
  • Slide 19
  • GSLB - 18 PRP RTT Effective bandwidth Number of hops Number of AS hops IGP metric Proximity to the client LDNS, not to the client
  • Slide 20
  • GSLB - 19 LRP VS Health Up Down Backup only VS Load Number of sessions Response Time LB Load Number of sessions Capacity threshold CPU RS/Content Load Network Load bps pps QoS Security
  • Slide 21
  • GSLB - 20 How it works IDC1 IDC2 LB IDC3 LB Customer LDNS ADNS Client RDNS 1 2 3 4 5 5 6 6 6
  • Slide 22
  • GSLB - 21 How it works IDC1 IDC2 LB IDC3 LB Customer LDNS ADNS Client RDNS 7 7 8 10 11 9
  • Slide 23
  • GSLB - 22 Analysis Pros Accurate load info Accurate proximity info Perfect solution in some cases and if certain conditions are met Cons DNS wrong target Proximity between client and its LDNS Caching LB LDNS Application Complexity Hard to find optimal values for various timers (TTL, cache timeouts, etc.) and prefix lengths
  • Slide 24
  • GSLB - 23 3.2 HRI GSLB = Routing+ To what? BGP IGP By what? RS Router LB
  • Slide 25
  • GSLB - 24 To what IGP? BGP Route filtering (both ways) No ECMP Client IDC1IDC2 Router
  • Slide 26
  • GSLB - 25 By what RS IDC1 Router RS BGP IDC2 Router RS BGP
  • Slide 27
  • GSLB - 26 By what Router IDC1 Router RS IDC2 Router RS LB
  • Slide 28
  • GSLB - 27 By what LB IDC2 Router RS LB IDC1 Router RS LB BGP
  • Slide 29
  • GSLB - 28 Analysis Pros Simplicity No new protocols are needed Proximity is handled by routing Load handling? Cons Single backbone* Its own Single ISP Too many routes Less accurate load and proximity info Only local load Optimal routing? Route flapping*
  • Slide 30
  • GSLB - 29 3.3 TDF GSLB = X + TDF NAT Based Tunneling Client IDC1, wrong IDC2, right
  • Slide 31
  • GSLB - 30 Why wrong IDC? Failure of, disabled or non-implemented LPRP Cached DNS records Other retardation effects (LPRP, BGP)
  • Slide 32
  • GSLB - 31 NAT Based Client IDC1, wrong V1.1; V1.2 IDC2, right 3 2 1 123 L3 srcCCV1.1 dstV1.1V2.2C V2.1; V2.2
  • Slide 33
  • GSLB - 32 Remote Servers Client IDC1, wrong V1.1 IDC2, right 2 1 1234 L3 srcCV1.1V2.1V1.1 dstV1.1V2.1V1.1C V2.1 3 4
  • Slide 34
  • GSLB - 33 Tunneling Next section
  • Slide 35
  • GSLB - 34 Analysis Pros Fixes errors optimally Cons ip verify reverse-path Client IDC1, wrong IDC2, right Router
  • Slide 36
  • GSLB - 35 Analysis Pros Fixes errors optimally Cons ip verify reverse-path Client IDC1, wrong IDC2, right Router
  • Slide 37
  • GSLB - 36 3.4 Latest Trends, Radicalism Internet infiltration Going to the client edge Going to the client Modifying the client LB presence in strategic locations (HydraGPS, Speedera) LDNS modifications (Speedera) Application modifications (SRV RRs)
  • Slide 38
  • GSLB - 37 Internet Infiltrations IDC2 LB IDC1 LB Customer LB Client LB
  • Slide 39
  • GSLB - 38 Internet Infiltrations IDC2 LB IDC1 LB Customer LB Client LB
  • Slide 40
  • GSLB - 39 LDNS modifications in CDNs IDC2 LB IDC1 LB Customer LDNSClient ASP Backbone
  • Slide 41
  • GSLB - 40 4. Virtual Block Injection (VBI) Inject not VS host routes, but blocks of GSLBed VSs IDC (LB) failures are handled by the routing protocol Use tunneling TDF in case of individual VS failure
  • Slide 42
  • GSLB - 41 How it works ISP1ISP2 IDC1, R1/20IDC2, R2/20 AS1 AS2 V/20, AS3 Client
  • Slide 43
  • GSLB - 42 How it works ISP1ISP2 IDC1, R1/20IDC2, R2/20 AS1 AS2 V/20, AS3 Client
  • Slide 44
  • GSLB - 43 How it works ISP1ISP2 IDC1, R1/20IDC2, R2/20 AS1 AS2 V/20, AS3 Client
  • Slide 45
  • GSLB - 44 Testing Needed LB BGP Tunnels Linux Linux Virtual Server (LVS, Wensong Zhang, Julian Anastasov) Zebra Tunnels
  • Slide 46
  • GSLB - 45 Test Network
  • Slide 47
  • GSLB - 46 Analysis Pros All of HRI, plus No host route injection Working TDF Perfect VS health handling VS load LRP Obvious simplifications in more ideal cases Cons LB load stop advertisement? BGP proximity tool? Discontinuous AS? Route flapping!
  • Slide 48
  • GSLB - 47 Route Flapping ISP1ISP2 IDC1, R1/20IDC2, R2/20 AS1 AS2 V/20, AS3 Client Router UDPTCP
  • Slide 49
  • GSLB - 48 Solution for UDP Session table entry exchange for long sessions ISP1ISP2 IDC1, R1/20IDC2, R2/20 AS1 AS2 V/20, AS3 Client Router
  • Slide 50
  • GSLB - 49 Solution for UDP Session table entry exchange for long sessions ISP1ISP2 IDC1, R1/20IDC2, R2/20 AS1 AS2 V/20, AS3 Client Router
  • Slide 51
  • GSLB - 50 Solution for TCP If LB receives packet Destined to a VS No SYN No session table entry Not via the tunnels Forward via all the tunnels ISP1ISP2 IDC1, R1/20IDC2, R2/20 AS1 AS2 V/20, AS3 Client Router
  • Slide 52
  • GSLB - 51 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