SlideShare a Scribd company logo
Traffic Engineering for CDNs
Matt Jansen
Akamai Technologies
APRICOT 2015
©2012 AKAMAI | FASTER FORWARDTM
The world’s largest on-demand, distributed computing
platform delivers all forms of web content and applications
The Akamai Intelligent Platform
Typical daily traffic:
• More than 2 trillion requests served
• Delivering over 25 Terabits/second
• 15-30% of all daily web traffic
The Akamai Intelligent Platform:
170,000+
Servers
2,000+
Locations
102+
Countries
1,300+
Networks
700+
Cities
©2012 AKAMAI | FASTER FORWARDTM
When content is requested from CDNs, the user is
directed to the optimal server to serve this user
There’s 2 common ways to do that:
• anycast: the content is served from the location the
request is received (easy to build, requires symmetric
routing to work well)
• DNS based: the CDN decides where to best serve
the content from based on the resolver it receives the
request from, and replies with the optimal server
How CDNs Work
©2012 AKAMAI | FASTER FORWARDTM
Users querying a DNS-based CDNs will be returned
different A (and AAAA) records for the same hostname
depending on the resolver the request comes from
This is called “mapping”
The better the mapping, the better the CDN
How DNS based CDNs Work
©2012 AKAMAI | FASTER FORWARDTM
Example of Akamai mapping
• Notice the different A records for different locations:
[NYC]% host www.symantec.com
www.symantec.com CNAME e5211.b.akamaiedge.net.
e5211.b.akamaiedge.net. A 207.40.194.46
e5211.b.akamaiedge.net. A 207.40.194.49
[Boston]% host www.symantec.com
www.symantec.com CNAME e5211.b.akamaiedge.net.
e5211.b.akamaiedge.net. A 81.23.243.152
e5211.b.akamaiedge.net. A 81.23.243.145
DNS based Mapping Example
©2012 AKAMAI | FASTER FORWARDTM
DNS based Mapping
1) end-user requests www.example.com from ISP NS
2) ISP NS recursively (multiple iterations) looks up www.example.com being referred to
authoritative CDN NS (by CNAME)
3) ISP NS asks authoritative CDN NS
4) CDN NS looks up IP of requestor (ISP NS) and replies with IP of optimal cluster to
serve content (closest cluster for that ISP)
5) ISP NS replies to end-user who
6) requests content from local Cluster
end-user
ISP NS
1.2.3.4
root/tld/intermediate NS
(recursive lookup until
reaching authoritative NS)
CDN NS
Closest cluster 5.6.7.8
1
3
6
2
NS 1.2.3.4?
best cluster =
5.6.7.8
4
5
©2012 AKAMAI | FASTER FORWARDTM
Types of CDN Deployments (simplified)
end-user
ISP
Internet
IX
Transit
Embedded cluster
in ISP
Colocated Cluster
with IX
Infrastructure Cluster
with Transit
Backend
Mapping system
©2012 AKAMAI | FASTER FORWARDTM
DNS based CDNs don’t necessarily have a backbone
Those clusters can be standalone ‘Islands’ with no
connectivity between them!
DNS based CDNs usually don’t announce many
prefixes as they will only include the local servers
• it is not uncommon to see a single /24 from Akamai at an IX
• you will receive a different set of prefixes on each peering
This does not mean you will not see a lot of traffic
• how many servers do you need to serve 10g nowadays?
Typical DNS based Topology
©2012 AKAMAI | FASTER FORWARDTM
Transit
Peer
• Akamai does not have a backbone,
each IX instance is independent
• Cluster uses transit to fetch content
origin
• Content is served to peers over the IX
• BGP session serves 2 purposes:
• Route traffic strictly within the
local instance
• Tell our system which prefixes
this cluster is allowed to serve
• New prefixes being picked up by
the system can take up to 24hrs
Origin Server
IX
Content
Typical large IX deployment
Origin
Scenario 1: prefix withdrawal
©2012 AKAMAI | FASTER FORWARDTM
Attempting to shift traffic to another path
ISP peers with CDN over 2 IXs
• wants to shift traffic from A to B
due to reduce backbone traffic
• Typical BGP based techniques:
1) AS-Path prepending
2) MEDs
3) more/less specific
announcements
None of the above have the desired effect!
• no network between clusters, any BGP parameters
are only locally relevant
• Might have undesired effect of shifting traffic to a
upstream/competitor on the same IX
end-user
ISP A
IX A
IX B
©2012 AKAMAI | FASTER FORWARDTM
Problem solved…
end-user
IX B
ISP withdraws some of their
prefixes over IX A
• Traffic falls back to transit on the
same cluster (provided that still
has the best performance)
• this might result in them receiving
the traffic in another location in
their network so they’re happy
Transit
ISP A
IX A
©2012 AKAMAI | FASTER FORWARDTM
…but not for long
within 24hrs
• The CDN backend system
processes the fact that they don’t
receive their prefixes at the IX A
cluster
• Traffic switches to another cluster
where they do receive them (this
might be one of their upstreams
they have a PNI with in the same
city)
• Traffic comes back into their
network again at the same
router!
Upstream
of ISP A
end-user
Transit
ISP A
IX A
©2012 AKAMAI | FASTER FORWARDTM
Issues
• BGP parameters only locally relevant
• Delayed effect of BGP announcements on Mapping System
• CDNs typically see your prefixes in many different locations
©2012 AKAMAI | FASTER FORWARDTM
Better solution
• Talk to the CDN if you have issues with their traffic in a specific
location
• You can work together to achieve the result you’re looking for
• Get a local embedded cluster
Scenario 2: more specific Route
Announcement
©2012 AKAMAI | FASTER FORWARDTM
• ISP A is multi-homed to Transit Providers AS2002 and AS3003
• Transit Provider AS2002 peers with CDN
• Transit Provider AS3003 does not peer with CDN
• CDN sends traffic to ISP A via Transit Provider AS2002
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003
Consistent Announcements
IX
©2012 AKAMAI | FASTER FORWARDTM
• ISP A would like to balance traffic between the two upstream
providers
• ISP A prepends, then applies MED to Transit Provider AS2002. This
has no effect on CDN traffic.
• Eventually, ISP A de-aggregates the /20 and advertises more specific
routes to Transit Provider AS3003
• What will happen?
Loadbalancing
©2012 AKAMAI | FASTER FORWARDTM
• ISP A announces more specific routes to Transit Provider AS3003
• Transit Provider AS3003 announces new /24 to AS2002
• CDN IX router does not have a full-table, so traffic continue route to the
/20 of AS2002
• ISP A is happy with the balanced traffic on dual Transit Providers
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
AS2002 Routing Table
100.100.100.0/24 AS3003 AS1001
100.100.99.0/24 AS3003 AS1001
100.100.96.0/20 AS1001
CDN AS20940 Routing Table
100.100.96.0/20 AS2002 AS1001
0.0.0.0/0 AS4003
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003
Loadbalancing works...
IX
Peering
©2012 AKAMAI | FASTER FORWARDTM
• Lost of revenue for Transit Provider AS2002 even though their
peering/backbone is utilized
• What happens if AS2002 does not like the traffic from one peer to the
other?
…but
©2012 AKAMAI | FASTER FORWARDTM
Transit provider filters traffic
• In order to get rid of traffic between peers, Transit Provider AS2002
implements an ACL on IX port facing AS3003
• Traffic gets blackholed, ISP A’s eyeballs don’t receive traffic anymore!
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
100.100.96.0/20
ACL
0.0.0.0/0
Transit Provider
AS4003
hostname AS2002-R1
!
interface TenGigabitEthernet1/1
ip access-group 101 out
!
access-list 101 deny ip any 100.100.100.0 0.0.0.255
access-list 101 deny ip any 100.100.99.0 0.0.0.255
access-list 101 permit ip any any
IX
Peering
©2012 AKAMAI | FASTER FORWARDTM
• CDN observes ISP A end-users are unable to access some websites
• CDN stops serving unreliable prefixes received from Transit Provider
AS2002, traffic shifts from IX to Transit Provider AS4003
• ISP A can access all websites happily
• Transit Provider AS2002 loses revenue
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
100.100.96.0/20
ACL
0.0.0.0/0
Transit Provider
AS4003
Unintended Result
IX
Peering
©2012 AKAMAI | FASTER FORWARDTM
Issues
• Don’t assume a full-table on any device on the internet
• Filtering traffic results in:
• short term traffic blackholing!
• long term widthdrawal of traffic resulting in revenue loss
©2012 AKAMAI | FASTER FORWARDTM
• AS2002 filters the specific prefixes instead of the actual traffic
• work with upstreams and/or CDN for finetuning
• Get Transit Provider AS3003 to peer with CDN directly ;)
• Get a local embedded cluster
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
100.100.96.0/20
Filter Specific route
100.100.99.0/24
100.100.100.0/24
0.0.0.0/0
Transit Provider
AS4003
neighbor PEER-GROUP prefix-list DENY-SPECIFIC in
!
ip prefix-list DENY-SPECIFIC seq 5 deny 100.100.100.0/24
ip prefix-list DENY-SPECIFIC seq 10 deny 100.100.99.0/24
ip prefix-list DENY-SPECIFIC seq 100 permit 0.0.0.0/0 le 32
Better solutions
IX
Peering
©2012 AKAMAI | FASTER FORWARDTM
• ISP A is single homed to Transit Provider AS2002
• ISP A obtains a /24 from Transit Provider AS2002’s address space
• all works well
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
100.100.97.0/24100.100.96.0/20
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003
100.100.97.0/24
CDN AS20940 Routing Table
100.100.96.0/20 AS2002
100.100.97.0/24 AS2002 AS1001
0.0.0.0/0 AS4003
100.100.97.0/24
Another variation of this Scenario
IX
©2012 AKAMAI | FASTER FORWARDTM
• ISP A moves to new Transit Provider AS3003, but keeps using his
previously assigned prefix 100.100.96.0/24
• CDN keeps serving traffic to ISP A via Transit Provider AS2002 due to
the /20 being received there
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
100.100.97.0/24
100.100.96.0/20
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003 100.100.97.0/24
CDN AS20940 Routing Table
100.100.96.0/20 AS2002
0.0.0.0/0 AS4003
Transit Provider
AS3003
Provider Change
Peering
IX
©2012 AKAMAI | FASTER FORWARDTM
• Lost of revenue for Transit Provider AS2002 even though their
peering/backbone is utilized
• What happens if AS2002 does not like the traffic from one peer to the
other?
…but
©2012 AKAMAI | FASTER FORWARDTM
• In order to get rid of traffic between peers, Transit Provider AS2002
implements an ACL on IX port facing AS3003
• Traffic gets blackholed, ISP A’s eyeballs don’t receive traffic anymore!
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
100.100.97.0/24
100.100.96.0/20
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003 100.100.97.0/24
CDN AS20940 Routing Table
100.100.96.0/20 AS2002
0.0.0.0/0 AS4003
Transit Provider
AS3003
ACL
hostname AS2002-R1
!
interface TenGigabitEthernet1/1
ip access-group 101 out
!
access-list 101 deny ip any 100.100.97.0 0.0.0.255
access-list 101 permit ip any any
Transit provider filters traffic
IX
Peering
©2012 AKAMAI | FASTER FORWARDTM
• CDN observes ISP A end-users are unable to access some websites
• CDN stops serving unreliable prefixes received from Transit Provider
AS2002, traffic shifts from IX to Transit Provider AS4003
• ISP A can access all websites happily
• Transit Provider AS2002 loses revenue
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
100.100.97.0/24
100.100.96.0/20
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003 100.100.97.0/24
CDN AS20940 Routing Table
100.100.96.0/20 AS2002
0.0.0.0/0 AS4003
Transit Provider
AS3003
ACL
hostname AS2002-R1
!
interface TenGigabitEthernet1/1
ip access-group 101 out
!
access-list 101 deny ip any 100.100.97.0 0.0.0.255
access-list 101 permit ip any any
Unintended Result
Peering
IX
©2012 AKAMAI | FASTER FORWARDTM
Issues
• Don’t assume a full-table on any device on the internet
• If you do announce a prefix others expect you to be able to serve
traffic to all of it
• Don’t allow customers to use your PA space as PI
• Filtering traffic results in:
• short term traffic blackholing!
• long term widthdrawal of traffic resulting in revenue loss
©2012 AKAMAI | FASTER FORWARDTM
• Deaggregate the /20 if you can’t/won’t serve all of it
• Only announce address space you will serve traffic to
• Get a local embedded cluster
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
100.100.97.0/24
100.100.96.0/24
0.0.0.0/0
Transit Provider
AS4003 100.100.97.0/24
CDN AS20940 Routing Table
100.100.96.0/24 AS2002
100.100.98.0/23 AS2002
100.100.100.0/22 AS2002
100.100.104.0/21 AS2002
0.0.0.0/0 AS4003
Transit Provider
AS3003
100.100.98.0/23
100.100.100.0/22
100.100.104.0/21
Better solutions
IX
Peering
Scenario 3: Split Route Announcement
©2012 AKAMAI | FASTER FORWARDTM
• ISP A is multi-homed to Transit Providers AS2002 and AS3003
• Transit Provider AS2002 peers with CDN
• Transit Provider AS3003 does not peer with CDN
• ISP A announces different prefix to different ISP
• ISP A can access full internet
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
100.100.96.0/22
100.100.100.0/22
0.0.0.0/0
Transit Provider
AS4003
CDN AS20940 Routing Table
100.100.96.0/22 AS2002 AS1001
100.100.100.0/22 AS2002 AS1001
0.0.0.0/0 AS4003
Split announcement
IX
©2012 AKAMAI | FASTER FORWARDTM
• End Users are using IP Addresses 100.100.96.0/22, 100.100.100.0/22,
100.100.104.0/22, 100.100.108.0/22
• End Users are using ISP A NS 100.100.100.100
• CDN receives the NS Prefix 100.100.100.0/22 from AS2002 and maps
the traffic for ISP A to this cluster
• 100.100.96.0/22 100.100.100.0/22 traffic is routed via AS2002 while
100.100.104.0/22 100.100.108.0/22 traffic falls back to default route via
AS4003, AS3003
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003
ISP A AS1001
End User IP: 100.100.96.0/24
End User IP: 100.100.108.0/24
DNS: 100.100.100.100
100.100.96.0/22
100.100.100.0/22
Split announcement
IX
©2012 AKAMAI | FASTER FORWARDTM
• This can work perfectly fine
• But the path via the transit providers AS4003 & AS3003 might not be
as good as the direct peering, 100.100.100.108.0/22 end users could
have significantly worse performance
• What will ISP A do if the user complain?
Differing performance
©2012 AKAMAI | FASTER FORWARDTM
• ISP A swaps the route announcements
• Both 100.100.96.0/22 and 100.100.108.0/22 are routed via AS2002
and end-users have the same performance
• The end-user is happy and closes the ticket
ISP A
AS1001
CDN
AS20940
Transit Provider
AS2002
Transit Provider
AS3003
100.100.96.0/20
0.0.0.0/0
Transit Provider
AS4003
ISP A AS1001
End User IP: 100.100.96.0/24
End User IP: 100.100.108.0/24
DNS: 100.100.100.100
100.100.96.0/22
100.100.108.0/22
Problem solved…
IX
©2012 AKAMAI | FASTER FORWARDTM
24hrs later:
• CDN no longer receives NS prefix 100.100.100.0/22 from AS2002
• CDN maps the traffic of ISP A to Cluster B (where they see AS3003’s
prefixes) instead of Cluster A (which only peers with AS2002)
• ISP A will receive the traffic from a completely different source
potentially all via AS3003 now negating all the TE efforts
DO NOT split nameserver and end-user prefixes when traffic engineering
…but
Scenario 4: (Attempted) Content Filtering
©2012 AKAMAI | FASTER FORWARDTM
ISPs do receive requests from Government
organizations to filter specific content
The default action is often to block a specific source IP
If this content is hosted by a CDN this will not do what
you expect!
Content filtering
what it WILL DO: what it will NOT:
blackhole random content to your
end-users
filter any specific content
get your cluster suspended
because of observed loss and all
traffic served from upstream
©2012 AKAMAI | FASTER FORWARDTM
• Standard BGP traffic engineering will not have the
expected results
• Changes in announcements may have a delayed
effect
• Where mapping is based on NS, splitting nameserver
and end-user prefixes over different providers will
have unexpected effects
• Not all clusters have a full table
• splitting more specific announcements over different links can
cause unintended behavior
• Announcing prefixes with holes results in blackholing traffic
• Talk to your CDN partners for finetuning traffic
• DO NOT filter traffic by IP
Summary
©2012 AKAMAI | FASTER FORWARDTM
Matt Jansen mj@akamai.com
as20940.peeringdb.com
Questions?

More Related Content

PDF
Traffic Engineering for CDNs
PDF
Service Provider Architectures for Tomorrow by Chow Khay Kid
PDF
Prefix Filtering Design Issues and Best Practise by Nurul Islam
PDF
Traffic analysis for Planning, Peering and Security by Julie Liu
PPTX
AWS Advanced Networking: Transit Gateway
PDF
The Stories of IXP Development and the Way Forward by Che-Hoo Cheng
PDF
Ansible & Salt - Vincent Boon
PDF
Fpga implemented ahb protocol
Traffic Engineering for CDNs
Service Provider Architectures for Tomorrow by Chow Khay Kid
Prefix Filtering Design Issues and Best Practise by Nurul Islam
Traffic analysis for Planning, Peering and Security by Julie Liu
AWS Advanced Networking: Transit Gateway
The Stories of IXP Development and the Way Forward by Che-Hoo Cheng
Ansible & Salt - Vincent Boon
Fpga implemented ahb protocol

What's hot (18)

PDF
HA System-First presentation
PPTX
Transforming Legacy Applications Into Dynamically Scalable Web Services
PDF
Internet Noise (A Story About Two Little Subnets - Tom Paseka
PDF
giip service brochure (en) 150705
PDF
Security-as-a-Service using SDN
PDF
APNIC Updates
PPT
clustering and load balancing
PPTX
Network and Security Reference Architecture For Driving Workstyle Transformation
PPSX
PPTX
Innovation is back in the transport and network layers
PDF
Load Balancer Device and Configurations.
PPTX
16482038 dnl marketing2016
PPTX
HKIX IPv4 Address Renumbering from /23 to /21 - Experience Sharing
PDF
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
PPTX
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
PDF
1 wireless fundamentals
PDF
How Data Center Traffic is Changing Your Network by KC Lim
PDF
Global WAN Level Clustering
HA System-First presentation
Transforming Legacy Applications Into Dynamically Scalable Web Services
Internet Noise (A Story About Two Little Subnets - Tom Paseka
giip service brochure (en) 150705
Security-as-a-Service using SDN
APNIC Updates
clustering and load balancing
Network and Security Reference Architecture For Driving Workstyle Transformation
Innovation is back in the transport and network layers
Load Balancer Device and Configurations.
16482038 dnl marketing2016
HKIX IPv4 Address Renumbering from /23 to /21 - Experience Sharing
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
1 wireless fundamentals
How Data Center Traffic is Changing Your Network by KC Lim
Global WAN Level Clustering
Ad

Viewers also liked (9)

PPTX
International opportunity for architects
PPT
Four Steps to Improve Youth Sports Coaching presentation CPRA 2015
PDF
2016 November renew life Zorg voor spijsvertering
PDF
CHRIS POTTER DESIGN
PPTX
Have you met with success?
PDF
2005 ASME Power Conference Lessons Learned - Low Condenser Vacuum/High Dissol...
PDF
Pragmatic Machine Learning @ ML Spain
PDF
Intro to machine learning for web folks @ BlendWebMix
PDF
新聞 X 謊言 用文字探勘挖掘財經新聞沒告訴你的真相(丘祐瑋)
International opportunity for architects
Four Steps to Improve Youth Sports Coaching presentation CPRA 2015
2016 November renew life Zorg voor spijsvertering
CHRIS POTTER DESIGN
Have you met with success?
2005 ASME Power Conference Lessons Learned - Low Condenser Vacuum/High Dissol...
Pragmatic Machine Learning @ ML Spain
Intro to machine learning for web folks @ BlendWebMix
新聞 X 謊言 用文字探勘挖掘財經新聞沒告訴你的真相(丘祐瑋)
Ad

Similar to Traffic Engineering for CDNs by Matt Jansen [APRICOT 2015] (20)

PDF
Traffic Engineering for CDNs
PPTX
40 - IDNOG03 - Bob Lau (Akamai) - BGP and Traffic Engineering
PPTX
BGP and Traffic Engineering with Akamai
PDF
EDNS0 Client-Subnet for DNS Based CDNs
PDF
EDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
PDF
16 (IDNOG01) EDNS0 / How CDNS works by Matt Jansen
PDF
Akamai company profile
PDF
Routing for an Anycast CDN
PDF
Internet Exchange Points, presented at Peering Workshop at the PITA 29th AGM,...
PDF
Design and Deployment of Enterprise WLANs
PDF
Tổng quan công nghệ Net backup - Phần 2
PDF
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
PDF
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
PDF
Sspi day out_2014_gilat-carlos_xavier
PPTX
Barriers to content production & distribution in Africa
PPTX
Multi cloud network leveraging sd-wan reference architecture
PPT
Business Models for Dynamically Provisioned Optical Networks
PDF
OpenNebulaConf 2013 - Keynote: Clone your Network with OpenNebula by Thomas H...
PDF
Clone your Network with OpenNebula
PDF
Embedded CDNs in 2023
Traffic Engineering for CDNs
40 - IDNOG03 - Bob Lau (Akamai) - BGP and Traffic Engineering
BGP and Traffic Engineering with Akamai
EDNS0 Client-Subnet for DNS Based CDNs
EDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
16 (IDNOG01) EDNS0 / How CDNS works by Matt Jansen
Akamai company profile
Routing for an Anycast CDN
Internet Exchange Points, presented at Peering Workshop at the PITA 29th AGM,...
Design and Deployment of Enterprise WLANs
Tổng quan công nghệ Net backup - Phần 2
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
Sspi day out_2014_gilat-carlos_xavier
Barriers to content production & distribution in Africa
Multi cloud network leveraging sd-wan reference architecture
Business Models for Dynamically Provisioned Optical Networks
OpenNebulaConf 2013 - Keynote: Clone your Network with OpenNebula by Thomas H...
Clone your Network with OpenNebula
Embedded CDNs in 2023

More from APNIC (20)

PPTX
APNIC Report, presented at APAN 60 by Thy Boskovic
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PDF
The Internet -By the Numbers, Sri Lanka Edition
PDF
Triggering QUIC, presented by Geoff Huston at IETF 123
PDF
DNSSEC Made Easy, presented at PHNOG 2025
PDF
BGP Security Best Practices that Matter, presented at PHNOG 2025
PDF
APNIC's Role in the Pacific Islands, presented at Pacific IGF 2205
PDF
IPv6 Deployment and Best Practices, presented by Makito Lay
PDF
Cleaning up your RPKI invalids, presented at PacNOG 35
PDF
The Internet - By the numbers, presented at npNOG 11
PDF
Transmission Control Protocol (TCP) and Starlink
PDF
DDoS in India, presented at INNOG 8 by Dave Phelan
PDF
Global Networking Trends, presented at the India ISP Conclave 2025
PDF
Make DDoS expensive for the threat actors
PDF
Fast Reroute in SR-MPLS, presented at bdNOG 19
PDF
DDos Mitigation Strategie, presented at bdNOG 19
PDF
ICP -2 Review – What It Is, and How to Participate and Provide Your Feedback
PDF
APNIC Update - Global Synergy among the RIRs: Connecting the Regions
PDF
Measuring Starlink Protocol Performance, presented at LACNIC 43
APNIC Report, presented at APAN 60 by Thy Boskovic
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
RPKI Status Update, presented by Makito Lay at IDNOG 10
The Internet -By the Numbers, Sri Lanka Edition
Triggering QUIC, presented by Geoff Huston at IETF 123
DNSSEC Made Easy, presented at PHNOG 2025
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC's Role in the Pacific Islands, presented at Pacific IGF 2205
IPv6 Deployment and Best Practices, presented by Makito Lay
Cleaning up your RPKI invalids, presented at PacNOG 35
The Internet - By the numbers, presented at npNOG 11
Transmission Control Protocol (TCP) and Starlink
DDoS in India, presented at INNOG 8 by Dave Phelan
Global Networking Trends, presented at the India ISP Conclave 2025
Make DDoS expensive for the threat actors
Fast Reroute in SR-MPLS, presented at bdNOG 19
DDos Mitigation Strategie, presented at bdNOG 19
ICP -2 Review – What It Is, and How to Participate and Provide Your Feedback
APNIC Update - Global Synergy among the RIRs: Connecting the Regions
Measuring Starlink Protocol Performance, presented at LACNIC 43

Recently uploaded (20)

PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PPTX
innovation process that make everything different.pptx
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PPTX
Introuction about ICD -10 and ICD-11 PPT.pptx
PPTX
Introduction to Information and Communication Technology
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
Funds Management Learning Material for Beg
PPTX
artificial intelligence overview of it and more
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PDF
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
PPTX
Digital Literacy And Online Safety on internet
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
Unit-1 introduction to cyber security discuss about how to secure a system
innovation process that make everything different.pptx
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
introduction about ICD -10 & ICD-11 ppt.pptx
PptxGenJS_Demo_Chart_20250317130215833.pptx
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Introuction about ICD -10 and ICD-11 PPT.pptx
Introduction to Information and Communication Technology
SASE Traffic Flow - ZTNA Connector-1.pdf
Slides PPTX World Game (s) Eco Economic Epochs.pptx
Funds Management Learning Material for Beg
artificial intelligence overview of it and more
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Job_Card_System_Styled_lorem_ipsum_.pptx
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
Digital Literacy And Online Safety on internet
Decoding a Decade: 10 Years of Applied CTI Discipline

Traffic Engineering for CDNs by Matt Jansen [APRICOT 2015]

  • 1. Traffic Engineering for CDNs Matt Jansen Akamai Technologies APRICOT 2015
  • 2. ©2012 AKAMAI | FASTER FORWARDTM The world’s largest on-demand, distributed computing platform delivers all forms of web content and applications The Akamai Intelligent Platform Typical daily traffic: • More than 2 trillion requests served • Delivering over 25 Terabits/second • 15-30% of all daily web traffic The Akamai Intelligent Platform: 170,000+ Servers 2,000+ Locations 102+ Countries 1,300+ Networks 700+ Cities
  • 3. ©2012 AKAMAI | FASTER FORWARDTM When content is requested from CDNs, the user is directed to the optimal server to serve this user There’s 2 common ways to do that: • anycast: the content is served from the location the request is received (easy to build, requires symmetric routing to work well) • DNS based: the CDN decides where to best serve the content from based on the resolver it receives the request from, and replies with the optimal server How CDNs Work
  • 4. ©2012 AKAMAI | FASTER FORWARDTM Users querying a DNS-based CDNs will be returned different A (and AAAA) records for the same hostname depending on the resolver the request comes from This is called “mapping” The better the mapping, the better the CDN How DNS based CDNs Work
  • 5. ©2012 AKAMAI | FASTER FORWARDTM Example of Akamai mapping • Notice the different A records for different locations: [NYC]% host www.symantec.com www.symantec.com CNAME e5211.b.akamaiedge.net. e5211.b.akamaiedge.net. A 207.40.194.46 e5211.b.akamaiedge.net. A 207.40.194.49 [Boston]% host www.symantec.com www.symantec.com CNAME e5211.b.akamaiedge.net. e5211.b.akamaiedge.net. A 81.23.243.152 e5211.b.akamaiedge.net. A 81.23.243.145 DNS based Mapping Example
  • 6. ©2012 AKAMAI | FASTER FORWARDTM DNS based Mapping 1) end-user requests www.example.com from ISP NS 2) ISP NS recursively (multiple iterations) looks up www.example.com being referred to authoritative CDN NS (by CNAME) 3) ISP NS asks authoritative CDN NS 4) CDN NS looks up IP of requestor (ISP NS) and replies with IP of optimal cluster to serve content (closest cluster for that ISP) 5) ISP NS replies to end-user who 6) requests content from local Cluster end-user ISP NS 1.2.3.4 root/tld/intermediate NS (recursive lookup until reaching authoritative NS) CDN NS Closest cluster 5.6.7.8 1 3 6 2 NS 1.2.3.4? best cluster = 5.6.7.8 4 5
  • 7. ©2012 AKAMAI | FASTER FORWARDTM Types of CDN Deployments (simplified) end-user ISP Internet IX Transit Embedded cluster in ISP Colocated Cluster with IX Infrastructure Cluster with Transit Backend Mapping system
  • 8. ©2012 AKAMAI | FASTER FORWARDTM DNS based CDNs don’t necessarily have a backbone Those clusters can be standalone ‘Islands’ with no connectivity between them! DNS based CDNs usually don’t announce many prefixes as they will only include the local servers • it is not uncommon to see a single /24 from Akamai at an IX • you will receive a different set of prefixes on each peering This does not mean you will not see a lot of traffic • how many servers do you need to serve 10g nowadays? Typical DNS based Topology
  • 9. ©2012 AKAMAI | FASTER FORWARDTM Transit Peer • Akamai does not have a backbone, each IX instance is independent • Cluster uses transit to fetch content origin • Content is served to peers over the IX • BGP session serves 2 purposes: • Route traffic strictly within the local instance • Tell our system which prefixes this cluster is allowed to serve • New prefixes being picked up by the system can take up to 24hrs Origin Server IX Content Typical large IX deployment Origin
  • 10. Scenario 1: prefix withdrawal
  • 11. ©2012 AKAMAI | FASTER FORWARDTM Attempting to shift traffic to another path ISP peers with CDN over 2 IXs • wants to shift traffic from A to B due to reduce backbone traffic • Typical BGP based techniques: 1) AS-Path prepending 2) MEDs 3) more/less specific announcements None of the above have the desired effect! • no network between clusters, any BGP parameters are only locally relevant • Might have undesired effect of shifting traffic to a upstream/competitor on the same IX end-user ISP A IX A IX B
  • 12. ©2012 AKAMAI | FASTER FORWARDTM Problem solved… end-user IX B ISP withdraws some of their prefixes over IX A • Traffic falls back to transit on the same cluster (provided that still has the best performance) • this might result in them receiving the traffic in another location in their network so they’re happy Transit ISP A IX A
  • 13. ©2012 AKAMAI | FASTER FORWARDTM …but not for long within 24hrs • The CDN backend system processes the fact that they don’t receive their prefixes at the IX A cluster • Traffic switches to another cluster where they do receive them (this might be one of their upstreams they have a PNI with in the same city) • Traffic comes back into their network again at the same router! Upstream of ISP A end-user Transit ISP A IX A
  • 14. ©2012 AKAMAI | FASTER FORWARDTM Issues • BGP parameters only locally relevant • Delayed effect of BGP announcements on Mapping System • CDNs typically see your prefixes in many different locations
  • 15. ©2012 AKAMAI | FASTER FORWARDTM Better solution • Talk to the CDN if you have issues with their traffic in a specific location • You can work together to achieve the result you’re looking for • Get a local embedded cluster
  • 16. Scenario 2: more specific Route Announcement
  • 17. ©2012 AKAMAI | FASTER FORWARDTM • ISP A is multi-homed to Transit Providers AS2002 and AS3003 • Transit Provider AS2002 peers with CDN • Transit Provider AS3003 does not peer with CDN • CDN sends traffic to ISP A via Transit Provider AS2002 ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 Consistent Announcements IX
  • 18. ©2012 AKAMAI | FASTER FORWARDTM • ISP A would like to balance traffic between the two upstream providers • ISP A prepends, then applies MED to Transit Provider AS2002. This has no effect on CDN traffic. • Eventually, ISP A de-aggregates the /20 and advertises more specific routes to Transit Provider AS3003 • What will happen? Loadbalancing
  • 19. ©2012 AKAMAI | FASTER FORWARDTM • ISP A announces more specific routes to Transit Provider AS3003 • Transit Provider AS3003 announces new /24 to AS2002 • CDN IX router does not have a full-table, so traffic continue route to the /20 of AS2002 • ISP A is happy with the balanced traffic on dual Transit Providers ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 AS2002 Routing Table 100.100.100.0/24 AS3003 AS1001 100.100.99.0/24 AS3003 AS1001 100.100.96.0/20 AS1001 CDN AS20940 Routing Table 100.100.96.0/20 AS2002 AS1001 0.0.0.0/0 AS4003 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 Loadbalancing works... IX Peering
  • 20. ©2012 AKAMAI | FASTER FORWARDTM • Lost of revenue for Transit Provider AS2002 even though their peering/backbone is utilized • What happens if AS2002 does not like the traffic from one peer to the other? …but
  • 21. ©2012 AKAMAI | FASTER FORWARDTM Transit provider filters traffic • In order to get rid of traffic between peers, Transit Provider AS2002 implements an ACL on IX port facing AS3003 • Traffic gets blackholed, ISP A’s eyeballs don’t receive traffic anymore! ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 100.100.96.0/20 ACL 0.0.0.0/0 Transit Provider AS4003 hostname AS2002-R1 ! interface TenGigabitEthernet1/1 ip access-group 101 out ! access-list 101 deny ip any 100.100.100.0 0.0.0.255 access-list 101 deny ip any 100.100.99.0 0.0.0.255 access-list 101 permit ip any any IX Peering
  • 22. ©2012 AKAMAI | FASTER FORWARDTM • CDN observes ISP A end-users are unable to access some websites • CDN stops serving unreliable prefixes received from Transit Provider AS2002, traffic shifts from IX to Transit Provider AS4003 • ISP A can access all websites happily • Transit Provider AS2002 loses revenue ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 100.100.96.0/20 ACL 0.0.0.0/0 Transit Provider AS4003 Unintended Result IX Peering
  • 23. ©2012 AKAMAI | FASTER FORWARDTM Issues • Don’t assume a full-table on any device on the internet • Filtering traffic results in: • short term traffic blackholing! • long term widthdrawal of traffic resulting in revenue loss
  • 24. ©2012 AKAMAI | FASTER FORWARDTM • AS2002 filters the specific prefixes instead of the actual traffic • work with upstreams and/or CDN for finetuning • Get Transit Provider AS3003 to peer with CDN directly ;) • Get a local embedded cluster ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 100.100.96.0/20 Filter Specific route 100.100.99.0/24 100.100.100.0/24 0.0.0.0/0 Transit Provider AS4003 neighbor PEER-GROUP prefix-list DENY-SPECIFIC in ! ip prefix-list DENY-SPECIFIC seq 5 deny 100.100.100.0/24 ip prefix-list DENY-SPECIFIC seq 10 deny 100.100.99.0/24 ip prefix-list DENY-SPECIFIC seq 100 permit 0.0.0.0/0 le 32 Better solutions IX Peering
  • 25. ©2012 AKAMAI | FASTER FORWARDTM • ISP A is single homed to Transit Provider AS2002 • ISP A obtains a /24 from Transit Provider AS2002’s address space • all works well ISP A AS1001 CDN AS20940 Transit Provider AS2002 100.100.97.0/24100.100.96.0/20 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 100.100.97.0/24 CDN AS20940 Routing Table 100.100.96.0/20 AS2002 100.100.97.0/24 AS2002 AS1001 0.0.0.0/0 AS4003 100.100.97.0/24 Another variation of this Scenario IX
  • 26. ©2012 AKAMAI | FASTER FORWARDTM • ISP A moves to new Transit Provider AS3003, but keeps using his previously assigned prefix 100.100.96.0/24 • CDN keeps serving traffic to ISP A via Transit Provider AS2002 due to the /20 being received there ISP A AS1001 CDN AS20940 Transit Provider AS2002 100.100.97.0/24 100.100.96.0/20 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 100.100.97.0/24 CDN AS20940 Routing Table 100.100.96.0/20 AS2002 0.0.0.0/0 AS4003 Transit Provider AS3003 Provider Change Peering IX
  • 27. ©2012 AKAMAI | FASTER FORWARDTM • Lost of revenue for Transit Provider AS2002 even though their peering/backbone is utilized • What happens if AS2002 does not like the traffic from one peer to the other? …but
  • 28. ©2012 AKAMAI | FASTER FORWARDTM • In order to get rid of traffic between peers, Transit Provider AS2002 implements an ACL on IX port facing AS3003 • Traffic gets blackholed, ISP A’s eyeballs don’t receive traffic anymore! ISP A AS1001 CDN AS20940 Transit Provider AS2002 100.100.97.0/24 100.100.96.0/20 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 100.100.97.0/24 CDN AS20940 Routing Table 100.100.96.0/20 AS2002 0.0.0.0/0 AS4003 Transit Provider AS3003 ACL hostname AS2002-R1 ! interface TenGigabitEthernet1/1 ip access-group 101 out ! access-list 101 deny ip any 100.100.97.0 0.0.0.255 access-list 101 permit ip any any Transit provider filters traffic IX Peering
  • 29. ©2012 AKAMAI | FASTER FORWARDTM • CDN observes ISP A end-users are unable to access some websites • CDN stops serving unreliable prefixes received from Transit Provider AS2002, traffic shifts from IX to Transit Provider AS4003 • ISP A can access all websites happily • Transit Provider AS2002 loses revenue ISP A AS1001 CDN AS20940 Transit Provider AS2002 100.100.97.0/24 100.100.96.0/20 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 100.100.97.0/24 CDN AS20940 Routing Table 100.100.96.0/20 AS2002 0.0.0.0/0 AS4003 Transit Provider AS3003 ACL hostname AS2002-R1 ! interface TenGigabitEthernet1/1 ip access-group 101 out ! access-list 101 deny ip any 100.100.97.0 0.0.0.255 access-list 101 permit ip any any Unintended Result Peering IX
  • 30. ©2012 AKAMAI | FASTER FORWARDTM Issues • Don’t assume a full-table on any device on the internet • If you do announce a prefix others expect you to be able to serve traffic to all of it • Don’t allow customers to use your PA space as PI • Filtering traffic results in: • short term traffic blackholing! • long term widthdrawal of traffic resulting in revenue loss
  • 31. ©2012 AKAMAI | FASTER FORWARDTM • Deaggregate the /20 if you can’t/won’t serve all of it • Only announce address space you will serve traffic to • Get a local embedded cluster ISP A AS1001 CDN AS20940 Transit Provider AS2002 100.100.97.0/24 100.100.96.0/24 0.0.0.0/0 Transit Provider AS4003 100.100.97.0/24 CDN AS20940 Routing Table 100.100.96.0/24 AS2002 100.100.98.0/23 AS2002 100.100.100.0/22 AS2002 100.100.104.0/21 AS2002 0.0.0.0/0 AS4003 Transit Provider AS3003 100.100.98.0/23 100.100.100.0/22 100.100.104.0/21 Better solutions IX Peering
  • 32. Scenario 3: Split Route Announcement
  • 33. ©2012 AKAMAI | FASTER FORWARDTM • ISP A is multi-homed to Transit Providers AS2002 and AS3003 • Transit Provider AS2002 peers with CDN • Transit Provider AS3003 does not peer with CDN • ISP A announces different prefix to different ISP • ISP A can access full internet ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 100.100.96.0/22 100.100.100.0/22 0.0.0.0/0 Transit Provider AS4003 CDN AS20940 Routing Table 100.100.96.0/22 AS2002 AS1001 100.100.100.0/22 AS2002 AS1001 0.0.0.0/0 AS4003 Split announcement IX
  • 34. ©2012 AKAMAI | FASTER FORWARDTM • End Users are using IP Addresses 100.100.96.0/22, 100.100.100.0/22, 100.100.104.0/22, 100.100.108.0/22 • End Users are using ISP A NS 100.100.100.100 • CDN receives the NS Prefix 100.100.100.0/22 from AS2002 and maps the traffic for ISP A to this cluster • 100.100.96.0/22 100.100.100.0/22 traffic is routed via AS2002 while 100.100.104.0/22 100.100.108.0/22 traffic falls back to default route via AS4003, AS3003 ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 ISP A AS1001 End User IP: 100.100.96.0/24 End User IP: 100.100.108.0/24 DNS: 100.100.100.100 100.100.96.0/22 100.100.100.0/22 Split announcement IX
  • 35. ©2012 AKAMAI | FASTER FORWARDTM • This can work perfectly fine • But the path via the transit providers AS4003 & AS3003 might not be as good as the direct peering, 100.100.100.108.0/22 end users could have significantly worse performance • What will ISP A do if the user complain? Differing performance
  • 36. ©2012 AKAMAI | FASTER FORWARDTM • ISP A swaps the route announcements • Both 100.100.96.0/22 and 100.100.108.0/22 are routed via AS2002 and end-users have the same performance • The end-user is happy and closes the ticket ISP A AS1001 CDN AS20940 Transit Provider AS2002 Transit Provider AS3003 100.100.96.0/20 0.0.0.0/0 Transit Provider AS4003 ISP A AS1001 End User IP: 100.100.96.0/24 End User IP: 100.100.108.0/24 DNS: 100.100.100.100 100.100.96.0/22 100.100.108.0/22 Problem solved… IX
  • 37. ©2012 AKAMAI | FASTER FORWARDTM 24hrs later: • CDN no longer receives NS prefix 100.100.100.0/22 from AS2002 • CDN maps the traffic of ISP A to Cluster B (where they see AS3003’s prefixes) instead of Cluster A (which only peers with AS2002) • ISP A will receive the traffic from a completely different source potentially all via AS3003 now negating all the TE efforts DO NOT split nameserver and end-user prefixes when traffic engineering …but
  • 38. Scenario 4: (Attempted) Content Filtering
  • 39. ©2012 AKAMAI | FASTER FORWARDTM ISPs do receive requests from Government organizations to filter specific content The default action is often to block a specific source IP If this content is hosted by a CDN this will not do what you expect! Content filtering what it WILL DO: what it will NOT: blackhole random content to your end-users filter any specific content get your cluster suspended because of observed loss and all traffic served from upstream
  • 40. ©2012 AKAMAI | FASTER FORWARDTM • Standard BGP traffic engineering will not have the expected results • Changes in announcements may have a delayed effect • Where mapping is based on NS, splitting nameserver and end-user prefixes over different providers will have unexpected effects • Not all clusters have a full table • splitting more specific announcements over different links can cause unintended behavior • Announcing prefixes with holes results in blackholing traffic • Talk to your CDN partners for finetuning traffic • DO NOT filter traffic by IP Summary
  • 41. ©2012 AKAMAI | FASTER FORWARDTM Matt Jansen mj@akamai.com as20940.peeringdb.com Questions?