SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
EDNS0 Client-Subnet for DNS based
CDNs
Matt Jansen
Akamai Technologies
IDNOG 1, Jakarta, June 24th 2014
©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 21 Terabits/second
•  15-30% of all daily web traffic
The Akamai Intelligent Platform:
150,000+
Servers
2,000+
Locations
92
Countries
1,200+
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
How Akamai’s CDN works
©2012 AKAMAI | FASTER FORWARDTM
Akamai uses multiple criteria to choose the optimal
server
• These include standard network metrics:
• Latency
• Throughput
• Packet loss
• as well as internal ones such as:
• CPU load on the server
• HD space
• network utilization
How Akamai’s CDN works
©2012 AKAMAI | FASTER FORWARDTM
Mapping (simplified)
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 Akamai NS (by cname)
3)  ISP NS asks authoritative Akamai NS
4)  Akamai NS looks up IP of requestor (ISP NS) and replies with IP of optimal cluster
to serve content (local cluster in 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)
Akamai NS
Local Akamai Cluster at ISP 5.6.7.8
example.com?
example.com?
a212.g.akamai.net
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
All of this works very well if the end-user used their
provider’s DNS servers.
However if the end-user is making use of a 3rd party
DNS service like
•  Google DNS (28 locations worldwide)
https://developers.google.com/speed/public-dns/faq#locations
•  OpenDNS (20 locations worldwide)
http://www.opendns.com/network-map/
a DNS-based CDN does not know which network the
request originated from, and can therefore in the best
case serve it in the rough geographic area
The Problem: 3rd Party DNS servers
©2012 AKAMAI | FASTER FORWARDTM
How 3rd party (open) resolvers typically work
global ‘frontend’ anycast address, local unique ‘backend’ address for
recursive queries
•  CDN can tell which NS location it came from (by backend-ip)
•  but not which end-user location or network
-> have to serve from a large infrastructure cluster (typically located at
the big IXs) to ensure we can reach any end-user
end-user
Akamai NS
NS 74.125.190.1?
best cluster =
?
Google DNS
Frontend 8.8.8.8
Backend 74.125.190.1
request to 8.8.8.8 request from 74.125.190.1
©2012 AKAMAI | FASTER FORWARDTM
relatively small numbers in most countries with a mature
internet ecosystem:
USA, Germany, Netherlands, Singapore: less than 1%
but very high percentage of users in developing
countries and/or countries performing some form of
DNS-based web-filtering:
Brazil: 12% India: 13%, Turkey: 22%, Indonesia: 22%
Use of 3rd party DNS servers
©2012 AKAMAI | FASTER FORWARDTM
ISP	
  DNS	
   Google	
   OpenDNS	
   Others	
  
ISP	
  A	
   58.2%	
   39.5%	
   0.9%	
   1.4%	
  
ISP	
  B	
   66.9%	
   27.4%	
   2.3%	
   3.4%	
  
ISP	
  C	
   73.3%	
   22.9%	
   1.9%	
   1.9%	
  
ISP	
  D	
   84.0%	
   13.6%	
   1.9%	
   0.4%	
  
ISP	
  E	
   85.0%	
   14.2%	
   0.6%	
   0.2%	
  
ISP	
  F	
   99.9%	
   0.0%	
   0.0%	
   0.1%	
  
Use of 3rd party DNS servers in Indonesia
©2012 AKAMAI | FASTER FORWARDTM
Use end-user IP instead of NS IP for mapping
Problem: at the time of authoritative DNS answer end-
user IP is not known yet
•  HTTP redirect
•  Map based on DNS
•  Measure RTT of initial request from end-user received (and
therefore IP known), if over threshold:
•  Redirect to better positioned server to reach end-user IP
Problem: slow, not suitable for small objects
End User Mapping
©2012 AKAMAI | FASTER FORWARDTM
EDNS0 client-subnet
https://tools.ietf.org/html/draft-vandergaast-edns-client-subnet-02
The recursive resolver includes the end-user’s prefix in
the request to the authoritative nameserver
This allows the authoritative nameserver (the CDN) to
process this information and optimize the reply not
based on the requesting nameserver but the end-user’s
prefix
The Solution: EDNS0 client-subnet
©2012 AKAMAI | FASTER FORWARDTM
•  Open standard (draft)
•  Has to be supported by recursive resolver (3rd Party
DNS)
•  and by Authoritative NS (CDN)
•  Privacy: only prefix, not full address transmitted
The Solution: EDNS0 client-subnet
©2012 AKAMAI | FASTER FORWARDTM
Op0on-­‐Code	
  =	
  8	
  
Op0on-­‐Length	
  (in	
  bytes)	
  
Family	
  (1=v4,	
  2=v6)	
  
Source-­‐Netmask	
   Scope-­‐Netmask	
  
Address	
  
request: e.g. 24
0 for privacy
to be echoed
in reply
request = 0
reply can be <>
request, 0 for
not used
EDNS0 client-subnet implementation
©2012 AKAMAI | FASTER FORWARDTM
Mapping (EDNS0)
1)  end-user requests www.example.com from Google NS
2)  Google NS recursively looks up www.example.com being referred to authoritative
Akamai NS (by cname)
3)  Google NS asks Akamai NS including client-subnet
4)  Akamai NS looks up client-subnet and replies with IP of optimal cluster to serve
content (local cluster in that ISP)
5)  ISP NS replies to end-user who
6)  requests content from local Cluster
end-user
Google NS
8.8.8.8
root/tld/intermediate NS
(recursive lookup until
reaching authoritative NS)
Akamai NS
Local Akamai Cluster at ISP 5.6.7.8
example.com?
example.com?
a212.g.akamai.net
5.6.7.8
1
3
6
2
NS 8.8.8.8 (whitelisted for edns0)
client subnet=1.1.1.0/24
best cluster =
5.6.7.8
4
5
©2012 AKAMAI | FASTER FORWARDTM
Only prefix, not full IP transmitted
CDN already gets your full IP anyways (in the
subsequent HTTP request)
Set source-netmask/address to 0.0.0.0/0
•  Google DNS honors forwards request with 0.0.0.0/0
•  OpenDNS ignores at time of writing
Do not use client-subnet capable resolver if intention is
to hide client origin
Privacy concerns
©2012 AKAMAI | FASTER FORWARDTM
Scanning/walking the mapping algorithm
•  double whitelist (at recursive resolver & auth NS)
•  enforced replacement of client-tagged edns0 option
by Google & OpenDNS before being send to Akamai
Amplification
•  double whitelist
•  echoing request in reply
•  standard rate limiting methods work
Cache pollution of recursive resolver can be a problem
•  separate reply stored for each prefix
Security concerns
©2012 AKAMAI | FASTER FORWARDTM
Google/OpenDNS currently always send client-subnet
as /24 (for privacy/caching-efficiency reasons)
Mapping system has view of internet from it’s partners
with differing prefix-lenghts
•  client-subnet more specific than Akamai
•  e.g. Akamai has /20 from partner-> can be mapped
•  scope-netmask send to resolver for caching purposes
•  client-subnet less specific than Akamai
•  e.g. Akamai has /26s from partner in different locations -> no
clear choice to map -> will take first match
•  also send scope-netmask to resolver for information
Prefix-Length
©2012 AKAMAI | FASTER FORWARDTM
2"Jan& 9"Jan& 16"Jan& 23"Jan& 30"Jan& 6"Feb& 13"Feb& 20"Feb& 27"Feb&
average&distance&
Open&DNS&India&
Improvements with edns0 client-subnet
©2012 AKAMAI | FASTER FORWARDTM
can be used within a partner’s network instead of
distributed DNS architecture
A partner might have a widespread network (especially
in countries spanning large geographical areas and/or
different islands like Indonesia)
•  Would like to deploy clusters around the network to
localize traffic
•  But central DNS infrastructure makes mapping traffic
accurately difficult
Additional Use-Case
©2012 AKAMAI | FASTER FORWARDTM
Batam
Jakarta (NS)
Surabaya (NS)
Banjamarsin
Makassar
Denpasar
Akamai Cluster Nameserver
Example for distributed architecture
©2012 AKAMAI | FASTER FORWARDTM
Deploy additional NS in all locations
•  Benefit: better DNS responses, can use anycast frontend IP to
simplify administration/failover (announcing same frontend IP
to all end-users)
•  Drawback: additional CAPEX & support-costs
Virtual IPs on existing NS given to different geographic
sets of end-users
•  Benefit: no additional CAPEX, easy to implement
•  Drawback: more difficult to administer, will require manual
allocation of IPs to clusters on CDN side, no clear fallback
EDNS0 client-subnet within the providers network
•  Benefit: no additional CAPEX, only software change on the NS,
can dynamically adapt by changing announcements, can scale
for very small clusters in remote places
•  Drawback: needs compatible NS software
Solutions
©2012 AKAMAI | FASTER FORWARDTM
Matt Jansen mj@akamai.com
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Passive Optical LAN Solution - White Paper
Passive Optical LAN Solution - White PaperPassive Optical LAN Solution - White Paper
Passive Optical LAN Solution - White Paper
Syed Firas
 
383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf
383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf
383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf
Mohamedshabana38
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputer
Amiroh S.Kom
 
台灣3C(聯強Synnex)通路五力分析
台灣3C(聯強Synnex)通路五力分析台灣3C(聯強Synnex)通路五力分析
台灣3C(聯強Synnex)通路五力分析
Tim Lin
 

Was ist angesagt? (20)

Telecom Convergence
Telecom ConvergenceTelecom Convergence
Telecom Convergence
 
Wimax
WimaxWimax
Wimax
 
Passive Optical LAN Solution - White Paper
Passive Optical LAN Solution - White PaperPassive Optical LAN Solution - White Paper
Passive Optical LAN Solution - White Paper
 
FTTH
FTTHFTTH
FTTH
 
tcp-wireless-tutorial.ppt
tcp-wireless-tutorial.ppttcp-wireless-tutorial.ppt
tcp-wireless-tutorial.ppt
 
OPEX reduction in telecom industry
OPEX reduction in telecom industryOPEX reduction in telecom industry
OPEX reduction in telecom industry
 
383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf
383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf
383934148-DWDM-101-Introduction-to-DWDM-2-pdf.pdf
 
Mobile Network Infrastructure Sharing - Industry Overview & Coleago's Approach
Mobile Network Infrastructure Sharing - Industry Overview & Coleago's ApproachMobile Network Infrastructure Sharing - Industry Overview & Coleago's Approach
Mobile Network Infrastructure Sharing - Industry Overview & Coleago's Approach
 
Pengetahuan Dasar Jaringan FTTH / Fiber To The Home
Pengetahuan Dasar Jaringan FTTH / Fiber To The HomePengetahuan Dasar Jaringan FTTH / Fiber To The Home
Pengetahuan Dasar Jaringan FTTH / Fiber To The Home
 
5G NR-based C-V2X
5G NR-based C-V2X5G NR-based C-V2X
5G NR-based C-V2X
 
Spectrum sharing
Spectrum sharingSpectrum sharing
Spectrum sharing
 
Basic LTE overview - LTE for indonesia
Basic LTE overview - LTE for indonesiaBasic LTE overview - LTE for indonesia
Basic LTE overview - LTE for indonesia
 
Cellular Services over WiFi
Cellular Services over WiFiCellular Services over WiFi
Cellular Services over WiFi
 
Mavenir: Monetizing RCS through Innovation on Cloud Native Network​
Mavenir: Monetizing RCS through Innovation on Cloud Native Network​Mavenir: Monetizing RCS through Innovation on Cloud Native Network​
Mavenir: Monetizing RCS through Innovation on Cloud Native Network​
 
Protocol jaringan komputer
Protocol jaringan komputerProtocol jaringan komputer
Protocol jaringan komputer
 
台灣3C(聯強Synnex)通路五力分析
台灣3C(聯強Synnex)通路五力分析台灣3C(聯強Synnex)通路五力分析
台灣3C(聯強Synnex)通路五力分析
 
Different Types of Backhaul
Different Types of BackhaulDifferent Types of Backhaul
Different Types of Backhaul
 
Cấu hình Raid trên IBM System X3100 M4 và IBM System X3250 M4
Cấu hình Raid trên IBM System X3100 M4 và IBM System X3250 M4Cấu hình Raid trên IBM System X3100 M4 và IBM System X3250 M4
Cấu hình Raid trên IBM System X3100 M4 và IBM System X3250 M4
 
Koneksi untuk Sekolah
Koneksi untuk SekolahKoneksi untuk Sekolah
Koneksi untuk Sekolah
 
5G tecnology
5G tecnology5G tecnology
5G tecnology
 

Ähnlich wie 16 (IDNOG01) EDNS0 / How CDNS works by Matt Jansen

EDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
EDNS0 Client-Subnet for DNS based CDNs by Matt JansenEDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
EDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
MyNOG
 
India Internet Access Problems Whitepaper_Ver 2.2
India Internet Access Problems Whitepaper_Ver 2.2India Internet Access Problems Whitepaper_Ver 2.2
India Internet Access Problems Whitepaper_Ver 2.2
Arin Burman
 

Ähnlich wie 16 (IDNOG01) EDNS0 / How CDNS works by Matt Jansen (20)

EDNS0 Client-Subnet for DNS Based CDNs
EDNS0 Client-Subnet for DNS Based CDNs EDNS0 Client-Subnet for DNS Based CDNs
EDNS0 Client-Subnet for DNS Based CDNs
 
EDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
EDNS0 Client-Subnet for DNS based CDNs by Matt JansenEDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
EDNS0 Client-Subnet for DNS based CDNs by Matt Jansen
 
Traffic Engineering for CDNs
Traffic Engineering for CDNs Traffic Engineering for CDNs
Traffic Engineering for CDNs
 
Traffic Engineering for CDNs
Traffic Engineering for CDNsTraffic Engineering for CDNs
Traffic Engineering for CDNs
 
Akamai company profile
Akamai company profileAkamai company profile
Akamai company profile
 
Traffic Engineering for CDNs by Matt Jansen [APRICOT 2015]
Traffic Engineering for CDNs by Matt Jansen [APRICOT 2015]Traffic Engineering for CDNs by Matt Jansen [APRICOT 2015]
Traffic Engineering for CDNs by Matt Jansen [APRICOT 2015]
 
Content Growth by Kams Yueng
Content Growth by Kams YuengContent Growth by Kams Yueng
Content Growth by Kams Yueng
 
40 - IDNOG03 - Bob Lau (Akamai) - BGP and Traffic Engineering
40 - IDNOG03  - Bob Lau (Akamai) - BGP and Traffic Engineering40 - IDNOG03  - Bob Lau (Akamai) - BGP and Traffic Engineering
40 - IDNOG03 - Bob Lau (Akamai) - BGP and Traffic Engineering
 
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
 
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
PLNOG 6: Christian Kaufmann - How Akamai delivers your packets - the insight
 
BGP and Traffic Engineering with Akamai
BGP and Traffic Engineering with AkamaiBGP and Traffic Engineering with Akamai
BGP and Traffic Engineering with Akamai
 
India Internet Access Problems Whitepaper_Ver 2.2
India Internet Access Problems Whitepaper_Ver 2.2India Internet Access Problems Whitepaper_Ver 2.2
India Internet Access Problems Whitepaper_Ver 2.2
 
AWS Best Practices Version 2
AWS Best Practices Version 2AWS Best Practices Version 2
AWS Best Practices Version 2
 
Embedded CDNs in 2023
Embedded CDNs in 2023Embedded CDNs in 2023
Embedded CDNs in 2023
 
Scalable Web Applications in AWS, 2014
Scalable Web Applications in AWS, 2014Scalable Web Applications in AWS, 2014
Scalable Web Applications in AWS, 2014
 
Cdn
CdnCdn
Cdn
 
GTM vs AWS Route 53 with Cisco umbrella
GTM vs AWS Route 53 with Cisco umbrellaGTM vs AWS Route 53 with Cisco umbrella
GTM vs AWS Route 53 with Cisco umbrella
 
Scalable Web Applications Session at Codebase
Scalable Web Applications Session at CodebaseScalable Web Applications Session at Codebase
Scalable Web Applications Session at Codebase
 
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWSДенис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
 
AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법
AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법
AWS를 활용한 웹, 모바일, 소셜 애플리케이션 구축 방법
 

Mehr von Indonesia Network Operators Group

Mehr von Indonesia Network Operators Group (20)

LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your networkLT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
LT04 IDNOG04 - Affan Basalamah (ITB) - Documenting your network
 
LT03 IDNOG04 - Dewangga - IPv6 Implementation for End Users
LT03 IDNOG04 - Dewangga - IPv6 Implementation for End UsersLT03 IDNOG04 - Dewangga - IPv6 Implementation for End Users
LT03 IDNOG04 - Dewangga - IPv6 Implementation for End Users
 
LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...
LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...
LT02 IDNOG04 - Charles Lim (Indonesia Honeynet Project) - Using Honeypot to d...
 
10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...
10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...
10 - IDNOG04 - Enrico Hugo (Indonesia Honeynet Project) - The Rise of DGA Mal...
 
09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive!
09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive! 09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive!
09 - IDNOG04 - Low Kok Seng (Sigfox) - Make Mass IOT Come Alive!
 
08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...
08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...
08 - IDNOG04 - Anton Purba (Amandata) - On-Premise, Cloud or Hybrid? DDoS Mit...
 
07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation
07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation
07 - IDNOG04 - Leontinus Alpha Edison (Tokopedia) - Data Driven Innovation
 
06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...
06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...
06 - IDNOG04 - Dion Leung (Coriant) - Emerging Trends & Real Deployments for ...
 
05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing
05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing
05 - IDNOG04 - Bambang Gunawan (Juniper) - Segment Routing
 
04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast
04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast
04 - IDNOG04 - Charles Chiu (Skipio) - The Latest In G Fast
 
03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...
03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...
03 - IDNOG04 - Hideyuki Sasaki (BBIX) - Introducing Internet Culture To The O...
 
02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC
02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC
02 - IDNOG04 - Sheryl Hermoso (APNIC) - IPv6 Deployment at APNIC
 
10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech
10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech
10 - IDNOG03 - Parlin Marius (IDNOG) Opening Speech
 
99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech
99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech
99 - IDNOG03 - Valens Riyadi (IDNOG) Closing Speech
 
12 - IDNOG03 - Hammam Riza (BPPT) Welcoming Speech
12 - IDNOG03 - Hammam Riza  (BPPT) Welcoming Speech12 - IDNOG03 - Hammam Riza  (BPPT) Welcoming Speech
12 - IDNOG03 - Hammam Riza (BPPT) Welcoming Speech
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
 
14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG
14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG
14 - IDNOG03 - George Michaelson (APNIC) - IPV6-in-2016-IDNOG
 
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
 
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
22 - IDNOG03 - Christopher Lim (Mellanox) - Efficient Virtual Network for Ser...
 
23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...
23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...
23 - IDNOG03 - Affan Basalamah (ITB) Achmad Basuki (UNIBRAW) - Overview of In...
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Kürzlich hochgeladen (20)

How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 

16 (IDNOG01) EDNS0 / How CDNS works by Matt Jansen

  • 1. EDNS0 Client-Subnet for DNS based CDNs Matt Jansen Akamai Technologies IDNOG 1, Jakarta, June 24th 2014
  • 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 21 Terabits/second •  15-30% of all daily web traffic The Akamai Intelligent Platform: 150,000+ Servers 2,000+ Locations 92 Countries 1,200+ 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 How Akamai’s CDN works
  • 6. ©2012 AKAMAI | FASTER FORWARDTM Akamai uses multiple criteria to choose the optimal server • These include standard network metrics: • Latency • Throughput • Packet loss • as well as internal ones such as: • CPU load on the server • HD space • network utilization How Akamai’s CDN works
  • 7. ©2012 AKAMAI | FASTER FORWARDTM Mapping (simplified) 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 Akamai NS (by cname) 3)  ISP NS asks authoritative Akamai NS 4)  Akamai NS looks up IP of requestor (ISP NS) and replies with IP of optimal cluster to serve content (local cluster in 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) Akamai NS Local Akamai Cluster at ISP 5.6.7.8 example.com? example.com? a212.g.akamai.net 5.6.7.8 1 3 6 2 NS 1.2.3.4? best cluster = 5.6.7.8 4 5
  • 8. ©2012 AKAMAI | FASTER FORWARDTM All of this works very well if the end-user used their provider’s DNS servers. However if the end-user is making use of a 3rd party DNS service like •  Google DNS (28 locations worldwide) https://developers.google.com/speed/public-dns/faq#locations •  OpenDNS (20 locations worldwide) http://www.opendns.com/network-map/ a DNS-based CDN does not know which network the request originated from, and can therefore in the best case serve it in the rough geographic area The Problem: 3rd Party DNS servers
  • 9. ©2012 AKAMAI | FASTER FORWARDTM How 3rd party (open) resolvers typically work global ‘frontend’ anycast address, local unique ‘backend’ address for recursive queries •  CDN can tell which NS location it came from (by backend-ip) •  but not which end-user location or network -> have to serve from a large infrastructure cluster (typically located at the big IXs) to ensure we can reach any end-user end-user Akamai NS NS 74.125.190.1? best cluster = ? Google DNS Frontend 8.8.8.8 Backend 74.125.190.1 request to 8.8.8.8 request from 74.125.190.1
  • 10. ©2012 AKAMAI | FASTER FORWARDTM relatively small numbers in most countries with a mature internet ecosystem: USA, Germany, Netherlands, Singapore: less than 1% but very high percentage of users in developing countries and/or countries performing some form of DNS-based web-filtering: Brazil: 12% India: 13%, Turkey: 22%, Indonesia: 22% Use of 3rd party DNS servers
  • 11. ©2012 AKAMAI | FASTER FORWARDTM ISP  DNS   Google   OpenDNS   Others   ISP  A   58.2%   39.5%   0.9%   1.4%   ISP  B   66.9%   27.4%   2.3%   3.4%   ISP  C   73.3%   22.9%   1.9%   1.9%   ISP  D   84.0%   13.6%   1.9%   0.4%   ISP  E   85.0%   14.2%   0.6%   0.2%   ISP  F   99.9%   0.0%   0.0%   0.1%   Use of 3rd party DNS servers in Indonesia
  • 12. ©2012 AKAMAI | FASTER FORWARDTM Use end-user IP instead of NS IP for mapping Problem: at the time of authoritative DNS answer end- user IP is not known yet •  HTTP redirect •  Map based on DNS •  Measure RTT of initial request from end-user received (and therefore IP known), if over threshold: •  Redirect to better positioned server to reach end-user IP Problem: slow, not suitable for small objects End User Mapping
  • 13. ©2012 AKAMAI | FASTER FORWARDTM EDNS0 client-subnet https://tools.ietf.org/html/draft-vandergaast-edns-client-subnet-02 The recursive resolver includes the end-user’s prefix in the request to the authoritative nameserver This allows the authoritative nameserver (the CDN) to process this information and optimize the reply not based on the requesting nameserver but the end-user’s prefix The Solution: EDNS0 client-subnet
  • 14. ©2012 AKAMAI | FASTER FORWARDTM •  Open standard (draft) •  Has to be supported by recursive resolver (3rd Party DNS) •  and by Authoritative NS (CDN) •  Privacy: only prefix, not full address transmitted The Solution: EDNS0 client-subnet
  • 15. ©2012 AKAMAI | FASTER FORWARDTM Op0on-­‐Code  =  8   Op0on-­‐Length  (in  bytes)   Family  (1=v4,  2=v6)   Source-­‐Netmask   Scope-­‐Netmask   Address   request: e.g. 24 0 for privacy to be echoed in reply request = 0 reply can be <> request, 0 for not used EDNS0 client-subnet implementation
  • 16. ©2012 AKAMAI | FASTER FORWARDTM Mapping (EDNS0) 1)  end-user requests www.example.com from Google NS 2)  Google NS recursively looks up www.example.com being referred to authoritative Akamai NS (by cname) 3)  Google NS asks Akamai NS including client-subnet 4)  Akamai NS looks up client-subnet and replies with IP of optimal cluster to serve content (local cluster in that ISP) 5)  ISP NS replies to end-user who 6)  requests content from local Cluster end-user Google NS 8.8.8.8 root/tld/intermediate NS (recursive lookup until reaching authoritative NS) Akamai NS Local Akamai Cluster at ISP 5.6.7.8 example.com? example.com? a212.g.akamai.net 5.6.7.8 1 3 6 2 NS 8.8.8.8 (whitelisted for edns0) client subnet=1.1.1.0/24 best cluster = 5.6.7.8 4 5
  • 17. ©2012 AKAMAI | FASTER FORWARDTM Only prefix, not full IP transmitted CDN already gets your full IP anyways (in the subsequent HTTP request) Set source-netmask/address to 0.0.0.0/0 •  Google DNS honors forwards request with 0.0.0.0/0 •  OpenDNS ignores at time of writing Do not use client-subnet capable resolver if intention is to hide client origin Privacy concerns
  • 18. ©2012 AKAMAI | FASTER FORWARDTM Scanning/walking the mapping algorithm •  double whitelist (at recursive resolver & auth NS) •  enforced replacement of client-tagged edns0 option by Google & OpenDNS before being send to Akamai Amplification •  double whitelist •  echoing request in reply •  standard rate limiting methods work Cache pollution of recursive resolver can be a problem •  separate reply stored for each prefix Security concerns
  • 19. ©2012 AKAMAI | FASTER FORWARDTM Google/OpenDNS currently always send client-subnet as /24 (for privacy/caching-efficiency reasons) Mapping system has view of internet from it’s partners with differing prefix-lenghts •  client-subnet more specific than Akamai •  e.g. Akamai has /20 from partner-> can be mapped •  scope-netmask send to resolver for caching purposes •  client-subnet less specific than Akamai •  e.g. Akamai has /26s from partner in different locations -> no clear choice to map -> will take first match •  also send scope-netmask to resolver for information Prefix-Length
  • 20. ©2012 AKAMAI | FASTER FORWARDTM 2"Jan& 9"Jan& 16"Jan& 23"Jan& 30"Jan& 6"Feb& 13"Feb& 20"Feb& 27"Feb& average&distance& Open&DNS&India& Improvements with edns0 client-subnet
  • 21. ©2012 AKAMAI | FASTER FORWARDTM can be used within a partner’s network instead of distributed DNS architecture A partner might have a widespread network (especially in countries spanning large geographical areas and/or different islands like Indonesia) •  Would like to deploy clusters around the network to localize traffic •  But central DNS infrastructure makes mapping traffic accurately difficult Additional Use-Case
  • 22. ©2012 AKAMAI | FASTER FORWARDTM Batam Jakarta (NS) Surabaya (NS) Banjamarsin Makassar Denpasar Akamai Cluster Nameserver Example for distributed architecture
  • 23. ©2012 AKAMAI | FASTER FORWARDTM Deploy additional NS in all locations •  Benefit: better DNS responses, can use anycast frontend IP to simplify administration/failover (announcing same frontend IP to all end-users) •  Drawback: additional CAPEX & support-costs Virtual IPs on existing NS given to different geographic sets of end-users •  Benefit: no additional CAPEX, easy to implement •  Drawback: more difficult to administer, will require manual allocation of IPs to clusters on CDN side, no clear fallback EDNS0 client-subnet within the providers network •  Benefit: no additional CAPEX, only software change on the NS, can dynamically adapt by changing announcements, can scale for very small clusters in remote places •  Drawback: needs compatible NS software Solutions
  • 24. ©2012 AKAMAI | FASTER FORWARDTM Matt Jansen mj@akamai.com Questions?