Content Delivery Networks (CDNs) improve user experience by reducing latency, packet loss, and jitter. They also increase scalability and fault tolerance. FirstPoint is a traffic management system that directs users to optimal mirrored websites. It uses topology discovery to cluster nameservers and importance sampling for congestion measurement to map users to the closest mirrors.
Report
Share
Report
Share
1 of 37
More Related Content
Cdn cs6740
1. Content Delivery Networks -Content Delivery Networks -
Principles & PracticePrinciples & Practice
NortheasternNortheastern
&&
Akamai TechnologiesAkamai Technologies
Ravi Sundaram
2. OutlineOutline
• CDNs - Review of mechanicsCDNs - Review of mechanics
• FirstPoint - Traffic Management forFirstPoint - Traffic Management for
mirrored websitesmirrored websites
5. Why does my click not workWhy does my click not work
• Latency - Browser takes a long timeLatency - Browser takes a long time
to load the pageto load the page
• Packet Loss - Browser hangs, userPacket Loss - Browser hangs, user
needs to hit refreshneeds to hit refresh
• Jitter - Streams are jerkyJitter - Streams are jerky
• Server load - Browser connects butServer load - Browser connects but
does not fully load the pagedoes not fully load the page
• Broken/missing contentBroken/missing content
6. The Akamai SolutionThe Akamai Solution
Servers
at Network Edge
Content
Providers
End
Users
NAP
NAP
7. 3
Content Provider’s
Web Server
DNS
WWW.XYZ.COM1
Downloading www.xyz.comDownloading www.xyz.com
- before CDNs- before CDNs
• User enters www.xyz.comUser enters www.xyz.com
• Browser requests IPBrowser requests IP
address for www.xyz.comaddress for www.xyz.com
• Browser requestsBrowser requests
embedded objectsembedded objects
• Content provider’s webContent provider’s web
server returns HTMLserver returns HTML
10.10.123.82
• Browser requests HTMLBrowser requests HTML
• DNS returns IP addressDNS returns IP address
4
7
6
• Browser obtains IP addresses forBrowser obtains IP addresses for
hostnames listed in URLs of objectshostnames listed in URLs of objects
embedded on pageembedded on page
• Content provider’s web serverContent provider’s web server
returns embedded objectsreturns embedded objects
10.10.123.8
5
9. Origin - Content
Provider’s Web
Server
Delivery of Whole SiteDelivery of Whole Site
66
6. Browser obtains content6. Browser obtains content
from optimal Akamai serverfrom optimal Akamai server
WWW.XYZ.COMWWW.XYZ.COM
DNS
1. Browser requests DNS for IP1. Browser requests DNS for IP
of www.xyz.comof www.xyz.com
11
33
3. DNS returns IP of optimal3. DNS returns IP of optimal
Akamai serverAkamai server
5. Akamai server assembles5. Akamai server assembles
page, contacting origin aspage, contacting origin as
neededneeded
55
4. Browser requests Akamai4. Browser requests Akamai
server for contentserver for content
44
2. DNS follows CNAME redirect2. DNS follows CNAME redirect
to www.xyz.edgesuite.netto www.xyz.edgesuite.net
22
10. Delivery of Whole Site - DNSDelivery of Whole Site - DNS
RedirectRedirect
DNS CNAME RECORDDNS CNAME RECORD
www.xyz.com CNAME www.xyz.edgesuite.net 2Dwww.xyz.com CNAME www.xyz.edgesuite.net 2D
11. Delivery of Whole Site - PageDelivery of Whole Site - Page
AssemblyAssembly
Site owners create
container pages that
can be populated
with varying content
Container Page
[TTL=5d]
[XYZ news, content,
promotions, etc.
TTL=5d]
[Breaking headlines
TTL=2h]
[TTL=15m]
[TTL=8h]
13. OutlineOutline
• CDNs - Review of mechanicsCDNs - Review of mechanics
• FirstPoint - Traffic Management forFirstPoint - Traffic Management for
mirrored websitesmirrored websites
14. What is FirstPointWhat is FirstPoint
• Traffic management system forTraffic management system for
mirrored websitesmirrored websites
• Directs browser to the optimal mirrorDirects browser to the optimal mirror
• DNS basedDNS based
• Application level anycastApplication level anycast
15. Why FirstPointWhy FirstPoint
• Content providers have mirroredContent providers have mirrored
websiteswebsites
• Content providers only want toContent providers only want to
offload embedded contentoffload embedded content
- ControlControl
- SecuritySecurity
- PerformancePerformance
17. What is the Mapping ProblemWhat is the Mapping Problem
• Problem of directing requests toProblem of directing requests to
servers so as to optimize end-userservers so as to optimize end-user
experienceexperience
- reduce latencyreduce latency
- reduce lossreduce loss
- reduce jitterreduce jitter
• Assumption - servers are fineAssumption - servers are fine
• Applicable to 2 mirrors or 1500Applicable to 2 mirrors or 1500
Akamai locationsAkamai locations
18. AttemptAttempt
• Measure which is closerMeasure which is closer
- Closeness changes over timeCloseness changes over time
• Measure frequentlyMeasure frequently
- Bothers peopleBothers people
- Too many to doToo many to do
~500,000 unique nameservers on any given day
10 sec per measurement cycle
19. IdeaIdea
• TopologyTopology
- relatively staticrelatively static
- changes in BGP timechanges in BGP time
- order of hours if not daysorder of hours if not days
• CongestionCongestion
- dynamicdynamic
- changes in round-trip timechanges in round-trip time
- order of millisecondsorder of milliseconds
21. AliasingAliasing
• Router fabrics using HSRP (hotRouter fabrics using HSRP (hot
stand-by routing protocol)stand-by routing protocol)
- correlate over timecorrelate over time
• Routers with multiple interfacesRouters with multiple interfaces
- source address of UDP/ICMP packetssource address of UDP/ICMP packets
22. Set coverSet cover
• Let sets represent proxy pointsLet sets represent proxy points
• Let elements represent nameserversLet elements represent nameservers
• Find minimum collection of proxyFind minimum collection of proxy
points covering nameserverspoints covering nameservers
X covers 1, 2, 3 and 4X covers 1, 2, 3 and 4
X
1 2 3 4
23. Topology DiscoveryTopology Discovery
• At each mirror maintain list of partial paths toAt each mirror maintain list of partial paths to
nameserversnameservers
• At each epoch extend paths by 1, inAt each epoch extend paths by 1, in
randomized fashion, and exchange with otherrandomized fashion, and exchange with other
mirrormirror
• If the two (partial) paths to a namerver haveIf the two (partial) paths to a namerver have
intersected then declare that nameserverintersected then declare that nameserver
done.done.
• If path has reached forbidden IP then waitIf path has reached forbidden IP then wait
• Use pair of proxies in case of failureUse pair of proxies in case of failure
26. Histogram of cluster sizesHistogram of cluster sizes
HISTOGRAM
0
5000
10000
15000
20000
25000
30000
35000
1 2 3 4 5 6-99 100-999 1000-
5999
6000-
Cluster Size
Number
27. Congestion MeasurementCongestion Measurement
Problem - Still too many measurements to do.Problem - Still too many measurements to do.
90,000 measurements every 10s with 32B90,000 measurements every 10s with 32B
packets requires a few Mbps per mirror.packets requires a few Mbps per mirror.
Solution - Importance based samplingSolution - Importance based sampling
28. CDF of End-user LoadCDF of End-user Load
CDF
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Number of Clusters
Load
29. Load EstimationLoad Estimation
500,000 nameservers500,000 nameservers
reduced toreduced to
90,000 clusters90,000 clusters
7,000 account for 95% end-user load!7,000 account for 95% end-user load!
30. Mapping Problem - Solved!Mapping Problem - Solved!
Maps built every 10s
31. FirstPointFirstPoint
• Customers - how to tell?Customers - how to tell?
- look for CNAME to akadns.netlook for CNAME to akadns.net
• Customers - who?Customers - who?
- High traffic content providersHigh traffic content providers
- Yahoo!, Microsoft, TicketMaster etcYahoo!, Microsoft, TicketMaster etc
• Price - don’t ask :)Price - don’t ask :)
• Competitors - whoCompetitors - who
- one-of-a-kind serviceone-of-a-kind service
- boxes: Cisco, F5, Foundryboxes: Cisco, F5, Foundry
32. FirstPoint - other aspectsFirstPoint - other aspects
• Load-balancingLoad-balancing
- estimate-basedestimate-based
- feedback-based : https, snmpfeedback-based : https, snmp
- cost-based: 95/5cost-based: 95/5
• Fast cutout in case of failoverFast cutout in case of failover
• Highly fault-tolerantHighly fault-tolerant
- hardware duplication, leader electionhardware duplication, leader election
- overlay routing, BGP-based anycastoverlay routing, BGP-based anycast
• Integration with other servicesIntegration with other services
- DOS/Load failoverDOS/Load failover
35. Patents (pending)Patents (pending)
• Global load balancing across mirrored data centers.Global load balancing across mirrored data centers.
Utility # 20020129134Utility # 20020129134
• Method for predicting file download time fromMethod for predicting file download time from
mirrored data centers in a global computer network.mirrored data centers in a global computer network.
Utility # 20020124080Utility # 20020124080
• Method for generating a network map. Utility #Method for generating a network map. Utility #
2002007823720020078237
• Method and system for protecting websites fromMethod and system for protecting websites from
public Internet threats. Filed 15 July 2002public Internet threats. Filed 15 July 2002
36. PrinciplesPrinciples
• Open design principleOpen design principle
- You need all the help you can getYou need all the help you can get
- Do not eliminate the obvious without trying firstDo not eliminate the obvious without trying first
- Give serendipity a chanceGive serendipity a chance
• Scaling principleScaling principle
- factor 10 difference means different domainfactor 10 difference means different domain
- different domains need different techniquesdifferent domains need different techniques
• The common case principleThe common case principle
- Zipf law is your friendZipf law is your friend
- things clusterthings cluster
- optimize the common caseoptimize the common case
37. ConclusionConclusion
• The Internet will never be fast enough in allThe Internet will never be fast enough in all
placesplaces
• People will want access to the Internet allPeople will want access to the Internet all
the time and everywherethe time and everywhere
Editor's Notes
Mention that in a nut-shell this is the problem you tried to solve and here you will talk about the ideas that go into the solution
Talk about how DNS cloud works in a bit—like 411 service.
Mention that the bulk of the time is spent in the web transfer and DNS is typically 20 to 50ms whereas the web transfer can take 2 to 5s
Trying to get IP address for www.xyz.com. First go to internic to get xyz.com address.
Explain caching with TTLs. Many people share local nameserver.
Same as before but most content is local! Transparent to end-user.
Very simple process.
Network congestion is reduced because traffic is moved to the edge
Scalability is improved because with more servers more requests can be served
Fault-tolerance improved because no single point of failure - distributed system
Vulnerability reduced because denial of service attacks are diffused
Reduced costs because of economies of scale, multiplexing and buying in bulk
Say high end traffic management system for mirrored websites
Sufficient to have mirrored websites, do not need to use content delivery
Under security mention SSL certificates
If nobody asks why not use DNS queries then bring it up by myself - point out that 15 - 20% of nameservers are closed to the world, that their state tends to be variable, different size packets cannot be used and sysadmins tend to be sensitive about repeated queries.
Talk about as a naive attempt to do the impossible. Experts said it was not possible but say that we learnt important things. Never eliminate the obvious without trying it. Also known as the open design principle - need all the help we can get.
Scalability is the key problem. Say that 10s was set as a challenge
Mention that the naive approach taught us a lot. To some extent we were theoreticians and by doing we learnt.
State that fewer than 1% or 5,000 require proxy pairs.
Talk about war story of how even though our boxes were in same data center as Y! nevertheless we saw different connectivity.
Talk about dos failover
Mention Jerry Saltzer's design principles
Say patents can be gotten from www.uspto.gov
Say that you are stepping back
Mention Jerry Saltzer's design principles
Talk about e2e principle and forethought on original designers. Talk about ubiquity access where people are and info about where they are not - sensor networks, mobility.