Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Redirection and Load Balancing Herng-Yow Chen Outline HTTP redirection DNS redirection Anycast routing Policy routing IP MAC forwarding IP address forwarding Outline (cont.) The The The The The The Web Cache Coordination Protocol (WCCP) Intercache Communication Protocol (ICP) Hyper Text Caching Protocol (HTCP) Network Element Control Protocol (NECP) Cache Array Routing Protocol (CARP) Web Proxy Autodiscovery Protocol (WPAD) Why Redirect? 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. Where to 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. Overview of redirection protocols 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) HTTP redirections 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.... (a)Alice sends HTTP request to www.joes.hardware.com Alice (b)Server returns 302redirect to 161.58.228.45 www.joes-hardware.com Internet 161.58.228.46 161.58.228.47 161.58.228.45 Bob Alice (d)Bob sends HTTP request to www.joes.hardware.com (e)Server returns 302redirect to 161.58.228.46 www.joes-hardware.com Internet Bob 161.58.228.46 161.58.228.47 161.58.228.45 HTTP Redirection (cont.) 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. DNS redirections How it works (next slide) Basis for rerouting (many options) Try nslookup ccsun.ncnu.edu.tw, www.yaoo.com From round-robin load balancing, to minimizing latency, To choosing the shortest path Limitation Need to configure DNS server DNS Redirection DNS server Decides whether to resolve to 10.10.10.1, www.joes-hardware.com 10.10.10.4 www.joes-hardware.com 10.10.10.1 Server4 Server1 10.10.10.2, 10.10.10.3, 10.10.10.4 Backbone network router Switch www.joes-hardware.com Edge network 10.10.10.2 www.joes-hardware.com 10.10.10.3 Server3 Server2 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 DNS Server Internet 207.25.71.6 207.25.71.7 207.25.71.5 Bob Alice (d)Bob asks DNS for IP address of www.cnn.com (eDNS replies with 207.25.71.6 DNS Server Internet Bob 207.25.71.6 207.25.71.7 207.25.71.5 The impact of DNS caching 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. Other DNS-based redirection algorithms Load-balancing algorithms Proximity-routing 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. 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. DNS request involving authoritative server DNS-based redirection (cont.) 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. 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 www.joes-hardware.com 10.10.10.3 Server3 Server2 IP MAC Forwarding Client MAC 1 Hub MAC3 Switch MAC4 To Internet Gateway MAC5 Client MAC 2 IP MAC Forwarding Client MAC 1 Hub MAC3 Switch MAC4 To Internet Gateway MAC5 Port 80 traffic Client MAC 2 Caching proxy MAC6 IP Address Forwarding Destination proxy Backbone network Switch Edge network router Joe’s server Joe’s edge network IP Address Forwarding Form:Client: Form:NAT device: 1.1.1.1 3.3.3.3. 80 80 To:Joe’s Server 2.2.2.2 80 Passes through network address translation (NAT) device To:Proxy 4.4.4.4 80 Proxy Auto-configuration PAC file autodiscovery GRE packet encapsulation To Proxy: Proto:GRE 3.3.3.3 8080 Form:Client: Form:Client: 1.1.1.1 80 1.1.1.1 To:Joe’s Server 2.2.2.2 80 80 Passes through WCCP router To:Joe’s Server 2.2.2.2 80 Cache Array Routing Protocol Cache Array Routing Protocol Hyper Text Caching protocol