content distribution networks str trat ategie egies
play

Content-distribution networks Str trat ategie egies Divide and - PowerPoint PPT Presentation

Content-distribution networks Str trat ategie egies Divide and conquer Partition Replicate Distribute Load balance Portland State University CS 430P/530 Internet, Web & Cloud Systems Ou Outl tline ine 1. Server


  1. Content-distribution networks

  2. Str trat ategie egies  Divide and conquer  Partition  Replicate  Distribute  Load balance Portland State University CS 430P/530 Internet, Web & Cloud Systems

  3. Ou Outl tline ine 1. Server partitioning 2. DNS load balancing 3. Virtual servers 4. Case studies Portland State University CS 430P/530 Internet, Web & Cloud Systems

  4. 1. 1. Ser erver er pa partitioning titioning (st static tic)  Run a new server per resource/service  e.g. www.blah.com, mail.blah.com, images.blah.com, shopping.blah.com  Advantages  Disk utilization (no need to replicate all content)  Cache performance  Better suited for DevOps, CI/CD  Distributed independent development/deployment etc. of "microservices"  Isolation of cookie policy, Content Security Policy amongst sub-properties  Disadvantages  Without cloud provider support, you get…  Lower peak capacity if access to sites imbalanced  Coarse load balancing across sites, not adaptive to spikes  Management costs of multiple sites Portland State University CS 430P/530 Internet, Web & Cloud Systems

  5. 1. 1. Ser erver er pa partitioning titioning (dynamic) namic)  Seamless, active, “forward deployment” of content to explicitly named servers near client  Redirect requests from origin servers via dynamic URL rewriting of embedded content  Application-level multicast based on geographic location of client  Example: Akamai, AWS Cloud Front, GCP Cloud CDN Portland State University CS 430P/530 Internet, Web & Cloud Systems

  6. 1. 1. Ser erver er pa partitioning titioning (dynamic) namic) pdx.edu Internet espn.go.com 2 Local, high-speed ISP 3 4 5 1 a12.g.akamaitech.net a668.g.akamaitech.net Requested page with links a1284.g.akamaitech.net a1896.g.akamaitech.net to embedded content Dynamically loaded rewritten content servers Portland State University CS 430P/530 Internet, Web & Cloud Systems

  7. 1. 1. Ser erver er pa partitioning titioning (dynamic) namic)  Advantages  Improved network utilization  Cost savings  Assuming $ network bandwidth >> $ storage  Better load distribution if replicas based on popularity  Disadvantages  Distributed management costs  Complexity and vendor lock-in with integration to a CDN provider Portland State University CS 430P/530 Internet, Web & Cloud Systems

  8. 2. DNS DNS load ad balancing lancing  Popularized by NCSA circa 1993  Fully replicated server farm  IP address per node  Adaptively resolve server name (round-robin, load-based, or geographic-based)  The reason why multiple DNS addresses are returned on some responses Portland State University CS 430P/530 Internet, Web & Cloud Systems

  9. 2. DNS DNS load ad balancing lancing 5 DNS cache 141.142.2.28 Host: www.ncsa.uiuc.edu ttl=15min 1 6 DNS ns0.ncsa.uiuc.edu ttl=3days 7 141.142.2.36 pdx.edu 141.142.2.42 2 4 3 ns0.ncsa.uiuc.edu [a-m].root-servers.net www.nsca.uiuc.edu is *.ncsa.uiuc.edu is served by 141.142.2.28 ns0.ncsa.uiuc.edu (141.142.2.2) 141.142.2.36 ns1.ncsa.uiuc.edu(141.142.230.144) 141.142.2.42 dns1.cso.uiuc..edu (128.174.5.103) ns.indiana.edu (129.79.1.1) ncsa.uiuc.edu Portland State University CS 430P/530 Internet, Web & Cloud Systems

  10. 2. DNS DNS load ad balancing lancing  Advantages  Simple to implement  Uses existing DNS infrastructure  Disadvantages  Coarse load balancing over time  DNS caching at local name servers affects performance  Requires full server replication versus partitioning Portland State University CS 430P/530 Internet, Web & Cloud Systems

  11. 3. Virtual tual se server ers  Large server farm appearing as a single virtual server  Single front-end for connection routing Portland State University CS 430P/530 Internet, Web & Cloud Systems

  12. Ol Olympi pic c web eb se server er (1996) 96) 4 SYN routing IP=X ACK forwarding pdx.edu 3 2 IP=X IP=X Token Ring 1 IP=X Internet Load info IP=X 4 x T3 Portland State University CS 430P/530 Internet, Web & Cloud Systems

  13. Ol Olympi pic c web eb se server er (1996) 96)  Front-end implements a "reverse NAT"  Front-end node  TCP SYN  Route to particular server based on policy  Store decision (connID, realServer)  TCP ACK  Rewrite packets and forward based on stored decision  TCP FIN or a pre-defined timeout  Remove entry  Servers  IP address of outgoing interface = IP address of front- end’s incoming interface  Treats front-end, token-ring, and cluster as one virtual server Portland State University CS 430P/530 Internet, Web & Cloud Systems

  14. Ol Olympi pic c web eb se server er (1996) 96)  Advantages  Minimal packet rewriting (e.g. Only ACK packets rewritten)  More reactive to load than DNS  Disadvantages  Potential non-stickiness between requests  SSL sessions for a single client  Cache performance versus partitioned servers Portland State University CS 430P/530 Internet, Web & Cloud Systems

  15. Virtual tual se server er variations iations (L2-L4) L4)  Evolved into hardware switch implementations for performance 131.252.220.66 10.0.0.10 10.0.0.11 10.0.0.12  Load balancing algorithms 10.0.0.13  Anything contained within TCP/IP header 10.0.0.14  "5-tuple" <sourceIP , sourcePort, destIP , destPort, protocol>  hash(source, dest, protocol)  Server characteristics  Least number of connections  Fastest response time  Server idle time  Other  Weighted round-robin based on server capabilities  Random Portland State University CS 430P/530 Internet, Web & Cloud Systems

  16. Virtual tual se server ers s wi with th L5  Can also load balance based on content (i.e. URL)  Requires one to proxy server connection until URL sent, before routing to backend servers  Front-end implements a "reverse proxy" (versus a reverse NAT)  Examples: nginx , Google's front-end (GFE), CloudFlare, many hardware switches  Switch/proxy  Terminates TCP handshake  Rewrites sequence numbers going in both directions Portland State University CS 430P/530 Internet, Web & Cloud Systems

  17. L5 sw switches tches SYN SN=A Reverse proxy SYN SN=B ACK=A ACK=B Route request HTTP request SYN SN=A SYN SN=C ACK=A ACK=C Rewrite Y to X HTTP request C to B HTTP response ACK Rewrite X to Y B to C L5 switch Real server Client VirtualIP=X RealIP=Y Portland State University CS 430P/530 Internet, Web & Cloud Systems

  18. L5 sw switchi tching ng  Advantages  Increases effective cache/storage sizes (partition by URL)  Allows for session persistence (SSL,cookies)  Support for user-level service differentiation  Service levels based on cookies, user profile, User-Agent, URL  DDoS prevention based on request/user  Disadvantages  Hot-spots  Overhead (custom ASICs needed to process at line-speed) Portland State University CS 430P/530 Internet, Web & Cloud Systems

  19. Altern ernativ atives es to su supp pport t se sess ssion on pe persis sisten ence ce  Have all web frontends share one big memory cache in the cloud  Done via in-memory datastores (Redis, Memcached)  Example: AWS ElastiCache applied to user session state on web tier Portland State University CS 430P/530 Internet, Web & Cloud Systems

  20. Put uttin ting g it t toget gether: er: Yahoo! oo! 5 DNS cache 204.71.200.68 Host: www.yahoo.com 1 NameServers: yahoo.com 6 7 pdx.edu 9 8 204.71.200.67 akamaitech.net us.yimg.com 4 2 3 ns1.yahoo.com [a-m].root-servers.net www.yahoo.com is *.yahoo.com is served by 204.71.200.68 ns1.yahoo.com (204.71.177.33) 204.71.200.67 ns3.europe.yahoo.com (195.67.49.25) 204.71.200.75 ns2.dca.yahoo.com (209.143.200.34) 204.71.202.160 ns5.dcx.yahoo.com (216.32.74.10) yahoo.com 204.71.200.74 Portland State University CS 430P/530 Internet, Web & Cloud Systems

  21. Sup uppor port t in cloud ud pl platf atforms orms  GCP Cloud DNS, AWS Route 53  Map DNS records to your instances  GCP Cloud Load Balancer, AWS Elastic Load Balancer  Spread HTTP requests across machines  L4 connection load balancing  L5 content-based load balancing  Geographic and network latency based load balancing  GCP Cloud CDN or AWS CloudFront  Forward deploy content via compute engine instances in load balancer to leverage edge caches in GCP  See CDN lab Portland State University CS 430P/530 Internet, Web & Cloud Systems

  22. CDNs for DDoS protection

  23. DD DDoS S pr problem blem Portland State University CS 430P/530 Internet, Web & Cloud Systems

  24. CDN DNs s to th the e res escue? cue?  Distributed denial-of-service mitigation  CDN manages your DNS to point to forward-deployed nodes  Performs a reverse proxy operation on nodes as previously  Terminates connections and examines request, before forwarding to content nodes  Drops sources of unwanted requests  Mirai traffic, GitHub attack traffic, Dyn DNS attack traffic (2016), etc.  Can also drop malicious requests after analysis by web-application firewall (WAF)  Common XSS payloads, known exploits  Examples: CloudFlare, Akamai, Google, Microsoft  Google now protecting high-profile anti-hacking sites for free Portland State University CS 430P/530 Internet, Web & Cloud Systems

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend