and Load Balancing
Download
Report
Transcript and Load Balancing
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