380 likes | 615 Views
Redirection and Load Balancing. Herng-Yow Chen. HTTP redirection DNS redirection Anycast routing Policy routing IP MAC forwarding IP address forwarding. Outline. The Web Cache Coordination Protocol (WCCP) The Intercache Communication Protocol (ICP)
E N D
Redirection and Load Balancing Herng-Yow Chen
HTTP redirection DNS redirection Anycast routing Policy routing IP MAC forwarding IP address forwarding Outline
The Web Cache Coordination Protocol (WCCP) The Intercache Communication Protocol (ICP) The Hyper Text Caching Protocol (HTCP) The Network Element Control Protocol (NECP) The Cache Array Routing Protocol (CARP) The Web Proxy Autodiscovery Protocol (WPAD) Outline (cont.)
Redirection is a fact of life in the modern Web because HTTP applications always want to do three things: Perform HTTP transactions reliably Minimize delay Conserve network bandwidth For these reasons, web content often is distribute in multiple locations. Redirection can be considered as a set of techniques that help to find “best” distributed content. Redirection vs. load balancing Most redirection deployments include some form of load balancing. Conversely, any form of load balancing involved redirection techniques. Why Redirect?
General techniques: many redirection techniques work for web servers, proxies, caches, and gateways because of their common, server-like traits. Specialized techniques: specially designed for a particular class of endpoint. Web servers handle requests on a per-IP basis. Distributing requests to duplicate servers means that each request for a specific URL should be sent to an optimal web server (the one nearest to the client, or the least-loaded one, or some other optimization). Proxies tend to handle requests on a per-protocol basis, all HTTP traffic in the neighborhood of a proxy should go through the proxy. Where to redirect
The goal of redirection is to send HTTP messages to available web servers as quickly as possible. Several mechanisms can be provided for redirection: The browser application’s proxy configuration. (only for redirecting traffic to proxies) HTTP redirections. DNS resolvers. (can be used for redirecting traffic to any server). TCP/IP Routing (e.g. Routers and switches) Overview of redirection protocols
How it works (next slide) Basis for rerouting (many options) From round-robin load balancing, to minimizing latency, To choosing the shortest path Limitation Can be slow – every transaction involves the extra redirect step. Also, the first server must be able to handle the request load HTTP redirections
HTTP/1.0 302 Redirection Locations: http://161.... HTTP Redirections (a)Alice sends HTTP request to www.joes.hardware.com (b)Server returns 302redirect to 161.58.228.45 Alice 161.58.228.46 www.joes-hardware.com (c) Browser resends HTTP request,this time to 161.58.228.45 161.58.228.47 161.58.228.45 Internet Bob (d)Bob sends HTTP request to www.joes.hardware.com Alice (e)Server returns 302redirect to 161.58.228.46 161.58.228.46 www.joes-hardware.com 161.58.228.47 161.58.228.45 (f)Browser resends HTTP request,this time to 161.58.228.46 Internet Bob
Several disadvantages A significant amount of processing power is required from the original server. (Sometime almost as much server horse-power is required to issue the redirect as would be to serve up the page itself.) User delays are increased, because two round trips are required to access pages. If the redirecting server is broken, the site will be broken. HTTP Redirection (cont.)
How it works (next slide) Try nslookup ccsun.ncnu.edu.tw, www.yaoo.com Basis for rerouting (many options) From round-robin load balancing, to minimizing latency, To choosing the shortest path Limitation Need to configure DNS server DNS redirections
DNS Redirection DNS server www.joes-hardware.com www.joes-hardware.com Decides whether to resolve to 10.10.10.1, 10.10.10.2, 10.10.10.3, 10.10.10.4 10.10.10.4 Server4 10.10.10.1 Server1 Backbone network router Switch www.joes-hardware.com Edge network 10.10.10.2 Server2 www.joes-hardware.com 10.10.10.3 Server3
DNS round robin for load balancing (a)Alice asks DNS for IP address of www.cnn.com (b) DNS replies with 207.25.71.5 Alice 207.25.71.6 DNS Server (c) Alice sends HTTP request to 207.25.71.5 207.25.71.7 207.25.71.5 Internet Bob (d)Bob asks DNS for IP address of www.cnn.com Alice (eDNS replies with 207.25.71.6 207.25.71.6 DNS Server 207.25.71.7 207.25.71.5 (f) Bob sends HTTP request to 207.25.71.5 Internet Bob
DNS address rotation spreads the load around, because each DNS lookup to a server gets a different ordering of server addresses. However, this load balancing isn’t perfect, because the results of the DNS lookup may be memorized and reused by applications, operating systems, and some primitive child DNS servers. Many web browsers perform a DNS lookup for a host but then use the same address over and over again, to eliminate the cost of DNS lookups and because some servers prefer to keep talking to the same client. The impact of DNS caching
Furthermore, many OSs perform the DNS lookup automatically, and cache the result, but don’t rotate the addresses. Consequently, DNS round robin generally doesn’t balance the load of a single client – one client typically will be stuck to one server for a long time. However, it can spread the aggregate load of multiple clients. As long as there is a modestly large number of clients with similar demand, the load will be relatively well distributed across servers. The impact of DNS caching
Load-balancing algorithms DNS servers keep track of the load on the web servers and place the least-loaded web servers at the front of the list. Proximity-routing algorithms DNS servers can attempt to direct users to nearby web servers, when the farm of web servers is geographically dispersed. Fault-masking algorithms DNS servers can monitor the health of the network and route requests away from service interruptions or other faults. Other DNS-based redirection algorithms
Typically, the DNS server that runs sophisticated server-tracking algorithm is an authoritative server that is under the control of the content provider. Several distributed hosting services use this DNS redirection model. One drawback The authoritative DNS serer uses to make its decision is the IP address of the local DNS server, Not the IP address of the client. DNS-based redirection (cont.)
Anycast Addressing www.joes-hardware.com 10.10.10.1 Server1 Backbone network router router Switch router www.joes-hardware.com Edge network 10.10.10.2 Server2 www.joes-hardware.com 10.10.10.3 Server3
IP MAC Forwarding Client MAC 1 Switch MAC4 Hub MAC3 To Internet Gateway MAC5 Client MAC 2
IP MAC Forwarding Client MAC 1 Switch MAC4 Hub MAC3 To Internet Gateway MAC5 Port 80 traffic Client MAC 2 Caching proxy MAC6
IP Address Forwarding Destination proxy Joe’s server Backbone network router Joe’s edge network Switch Edge network
IP Address Forwarding Form:Client: 1.1.1.1 80 Form:NAT device: 3.3.3.3. 80 To:Joe’s Server 2.2.2.2 80 To:Proxy 4.4.4.4 80 Passes through network address translation (NAT) device HTTP data ■ ───────────── ───────────── ───────────── HTTP data ■ ───────────── ───────────── ─────────────
GRE packet encapsulation To Proxy: 3.3.3.3 8080 Proto:GRE Form:Client: 1.1.1.1 80 Form:Client: 1.1.1.1 80 To:Joe’s Server 2.2.2.2 80 To:Joe’s Server 2.2.2.2 80 Passes through WCCP router HTTP data ■ ───────────── ───────────── ───────────── HTTP data ■ ───────────── ───────────── ─────────────