bellwether: surrogate services for popular content duane wessels & ted hardie nanog 19 june 12,...

17
Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Upload: jerome-atkins

Post on 30-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Bellwether: Surrogate Services for Popular Content

Duane Wessels & Ted Hardie

NANOG 19

June 12, 2000

Page 2: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

The Slashdot Effect is a DDOS

• “CNN Events” can:– melt your network– overwhelm servers dedicated to specific content– prevent maintenance designed to fix the

problem.

• This creates a denial of service for other content hosted on that network.

Page 3: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

A moving target is harder to hit.

• A demand-driven surrogate located at the network border:– Moves the content away from low capacity

networks.– Can handle the traffic for sites which

experience sudden popularity.– Can help keep internal links uncongested

Page 4: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

What is a surrogate?

surrogate: An intermediary program which acts as a server or tunnel for the purpose of responding to requests on behalf of one or more origin servers. Requests are serviced internally from a cache or by tunnelling them on to origin servers. Surrogates are also known as "reverse proxies" and "(origin) server accelerators".

» Draft-ietf-wrec-taxonomy-03.txt

Page 5: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

No, really, what is a surrogate?

• Proxies act on behalf of users; surrogates act on behalf of content providers.

• A surrogate is any network element that acts on behalf of an origin server to respond to queries:– A mirror is a pre-populated surrogate.– A content delivery network (Akamai, Adero, Mirror

Image) may provide surrogate services.– A demand-driven surrogate is a system activated only

when popularity overloads an origin server or its network.

Page 6: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Bellwether

• Demand-driven surrogate based on – Squid – Zebra, – FreeBSD

• IP firewall

• GRE

– And ideas stolen from CenterTrack.

Page 7: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

A picture is worth 1K words:

Page 8: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Step 1: Administrative Setup

• Configure a GRE tunnel from the surrogate to an internal router.

• Configure the surrogate as a BGP peer of the border router.

• Add origin hostnames to Squid access control list.

Page 9: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Step 2: Activation

• The surrogate injects a route to the popular origin server into border router’s BGP table.

• The surrogate configures firewall rules to divert new HTTP connections to Squid.

• Existing TCP connections and other traffic flow through GRE tunnel to the origin.

Page 10: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Step 3: Operation

• Squid creates a cache of popular content by forwarding requests to the origin server via the GRE tunnel and storing responses.

• Cache hits are served from Squid, reducing the load on origin server and network alike.

Page 11: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Simulation Workload

• An origin server with a network bottleneck publishes suddenly popular content.

• Client requests increase from 5 to 100 per second over 15 minutes.

• Content remains popular for 2 hours, then trails off over 4 hours.

• Target hit ratio is 90%.• Surrogate is PII/333 with 512 RAM and 2 SCSI

disks.

Page 12: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000
Page 13: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

What if you need more?

• For this result set, the surrogate is a dual PIII/550 Xeon with 2GB RAM and 10 SCSI disks.

• Peak throughput is 475 HTTP requests per second.– Mean response size is 13KB.– About 45 Mbps of data flow.

Page 14: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000
Page 15: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Next Steps

• Improve error handling.– Handle overload by passing overflow traffic back to

origin server.

– Withdraw route in the event of Squid failure.

• Use NECP to signal surrogate to start/stop service.– NECP daemon process and API

– Prototype integration in Apache

• Integration with higher layer switches.

Page 16: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Final Questions

• When you see a popularity spike, what melts?

• What kinds of processes and devices need to activate a surrogate?

Page 17: Bellwether: Surrogate Services for Popular Content Duane Wessels & Ted Hardie NANOG 19 June 12, 2000

Handy URLs:

• To pick up a copy of bellwether:– ftp://ftp.equinix.com/bellwether

• To discuss surrogate deployments:– [email protected]

– (Majordomo syntax)

• Contact Ted or Duane:– [email protected][email protected]