SlideShare a Scribd company logo
Doing
                               Horrible Things
                                  to DNS
                                (in the name of science)




   @sh1mmer                                          SF Perf Meetup
Thursday, September 23, 2010
The basics of DNS



Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
San Francisco - Mission Branch
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
San Francisco - Main Library
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
New York City - 5th & 42nd Branch
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
New York City - 5th & 42nd Branch
Thursday, September 23, 2010
Thursday, September 23, 2010
San Francisco - Main Library
Thursday, September 23, 2010
San Francisco - Main Library
Thursday, September 23, 2010
Thursday, September 23, 2010
San Francisco - Mission Branch
Thursday, September 23, 2010
San Francisco - Mission Branch
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
Thursday, September 23, 2010
DNS for performance



Thursday, September 23, 2010
Page Load Time vs. Bandwidth
Thursday, September 23, 2010
Page Load Time vs. Round Trip Time
Thursday, September 23, 2010
Trend Curves for Bandwidth vs. RTT
Thursday, September 23, 2010
Serial HTTP loading
Thursday, September 23, 2010
Parallel HTTP loading
Thursday, September 23, 2010
Why not just use a bunch of domains?




Thursday, September 23, 2010
DNS Querying
Thursday, September 23, 2010
Ideal? 1 domain many threads




Thursday, September 23, 2010
Option 1: SPDY




Thursday, September 23, 2010
Good: Multi-thread TCP connections
                        Bad: Only works on Chrome




Thursday, September 23, 2010
Option 2: Do horrible things to DNS




Thursday, September 23, 2010
Good: Works now
                               Bad: Might have to violate RFCs




Thursday, September 23, 2010
Option 2a - Mucking about with C names




Thursday, September 23, 2010
CNAMES are hosts which
                               are aliases of other hosts




Thursday, September 23, 2010
ajax1.hackerhouse.org.        1800   IN   CNAME   ajax2.hackerhouse.
 ajax2.hackerhouse.org.        1800   IN   CNAME   ajax3.hackerhouse.
 ajax3.hackerhouse.org.        1800   IN   CNAME   ajax4.hackerhouse.
 ajax4.hackerhouse.org.        1800   IN   CNAME   ajax5.hackerhouse.
 ajax5.hackerhouse.org.        1800   IN   CNAME   ajax.hackerhouse.
 ajax.hackerhouse.org.         1800   IN   A       127.0.0.1




Thursday, September 23, 2010
We now have 6 hostnames




Thursday, September 23, 2010
Good: 6 hostnames
                                 Bad: Inflexible




Thursday, September 23, 2010
Option 2b - Doing weird things with RRs




Thursday, September 23, 2010
RR is the section of a DNS response which
              contains the HOST records




Thursday, September 23, 2010
;; QUESTION SECTION:
 ;ajax.hackerhouse.org.           IN A

 ;; ANSWER SECTION:
 ajax.hackerhouse.org.         60 IN A   184.106.231.91




Thursday, September 23, 2010
;; QUESTION SECTION:
 ;ajax.hackerhouse.org.             IN A
 ;ajax1.hackerhouse.org.            IN A
 ;ajax2.hackerhouse.org.            IN A

 ;; ANSWER SECTION:
 ajax.hackerhouse.org.         60    IN    A   184.106.231.91
 ajax1.hackerhouse.org.        60    IN    A   184.106.231.90
 ajax2.hackerhouse.org.        60    IN    A   184.106.231.89




Thursday, September 23, 2010
;; QUESTION SECTION:
 ;ajax.hackerhouse.org.         IN A

 ;; ANSWER SECTION:
 ajax.hackerhouse.org.         60   IN   A   184.106.231.91

 ;; ADDITIONAL SECTION:
 ajax1.hackerhouse.org.        60   IN   A   184.106.231.90
 ajax2.hackerhouse.org.        60   IN   A   184.106.231.89




Thursday, September 23, 2010
Good: Flexible
                               Bad: Caching /Violating RFCs




Thursday, September 23, 2010

More Related Content

PDF
Kelompok puput cover
PDF
JUC Europe 2015: Plugin Development with Gradle and Groovy
PDF
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
PDF
Deby r
PDF
5 Pilar Kelayakan Green Property
PDF
Mid termpresent
PPT
Capítulo 6- Part 1 reflexiveverbs
Kelompok puput cover
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
Deby r
5 Pilar Kelayakan Green Property
Mid termpresent
Capítulo 6- Part 1 reflexiveverbs

Viewers also liked (19)

PDF
Kullanılabilirlik Testi - Usability Testing
PPT
Ganesh nayak finals 09
PDF
Integration of Child Protection in DRR
PDF
JUC Europe 2015: Scaling Your Jenkins Master with Docker
PDF
Pricing_Seminar_5_11_05
PDF
Pedoman menciptakan keluarga berdasarkan agama
DOCX
Hubungan korea selatan dan amerika serikat
PDF
KB 3 Pandangan Agama-agama terhadap Tindakan Praktik Kebidanan Keluarga Beren...
PPT
Bab 12
PPT
Endüstri Mühendisliği
PPTX
Adab al isti'dzan
DOCX
Mekatronika
PPT
PDF
Pengembangan potensi diri_2
PPTX
Penggunaan ejaan bahasa indonesia
PPTX
Pengembangan transportasi multimoda pada negara berkembang
DOCX
LAPORAN SISTEM TATA UDARA (AC THOSIBA 12 PK) PADA GERBONG KERETA API
DOCX
makalah pertanian
PPTX
Power point alat indera manusia bagian bagian mata untuk media pembelajaran i...
Kullanılabilirlik Testi - Usability Testing
Ganesh nayak finals 09
Integration of Child Protection in DRR
JUC Europe 2015: Scaling Your Jenkins Master with Docker
Pricing_Seminar_5_11_05
Pedoman menciptakan keluarga berdasarkan agama
Hubungan korea selatan dan amerika serikat
KB 3 Pandangan Agama-agama terhadap Tindakan Praktik Kebidanan Keluarga Beren...
Bab 12
Endüstri Mühendisliği
Adab al isti'dzan
Mekatronika
Pengembangan potensi diri_2
Penggunaan ejaan bahasa indonesia
Pengembangan transportasi multimoda pada negara berkembang
LAPORAN SISTEM TATA UDARA (AC THOSIBA 12 PK) PADA GERBONG KERETA API
makalah pertanian
Power point alat indera manusia bagian bagian mata untuk media pembelajaran i...
Ad

Similar to Sf perf (20)

PDF
Doing Horrible Things with DNS - Web Directions South
PDF
Interns bootcamp 2010
PDF
My Point of View: Michael L. Nelson Web Archiving Cooperative
PDF
Hacking techniques
PDF
Dnssec root-lacnog
PDF
An introduction to the web
PPT
Networking Chapter 10
PDF
BIND 9 - making a modern DNS server
PDF
Don't Panic: A Hitchhiker's Guide to WordPress Hosting 08 25-2012
PPT
08Mapping.ppt
PDF
Coding, Scaling, and Deploys... Oh My!
PDF
Building OpenDNS Stats
PDF
web archiving tools and technologies
PPT
Domain Name System(ppt)
PDF
Safely Drinking from the Data Waterhose
PDF
IJCI-BERKELEY INTERNET NAME DOMAIN (BIND)
PDF
DNSSec: Internet achter de schermen
PPT
PDF
Nuxeo World Session: Semantic Technologies - Update on Recent Research
ZIP
Evaluating Methods to Rediscover Missing Web Pages from the Web Infrastructure
Doing Horrible Things with DNS - Web Directions South
Interns bootcamp 2010
My Point of View: Michael L. Nelson Web Archiving Cooperative
Hacking techniques
Dnssec root-lacnog
An introduction to the web
Networking Chapter 10
BIND 9 - making a modern DNS server
Don't Panic: A Hitchhiker's Guide to WordPress Hosting 08 25-2012
08Mapping.ppt
Coding, Scaling, and Deploys... Oh My!
Building OpenDNS Stats
web archiving tools and technologies
Domain Name System(ppt)
Safely Drinking from the Data Waterhose
IJCI-BERKELEY INTERNET NAME DOMAIN (BIND)
DNSSec: Internet achter de schermen
Nuxeo World Session: Semantic Technologies - Update on Recent Research
Evaluating Methods to Rediscover Missing Web Pages from the Web Infrastructure
Ad

More from Tom Croucher (20)

PDF
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
KEY
Streams are Awesome - (Node.js) TimesOpen Sep 2012
KEY
Using Node.js to improve the performance of Mobile apps and Mobile web
KEY
Writing robust Node.js applications
KEY
Creating the Internet of Things with JavaScript - Fluent Conf
KEY
Using Node.js to make HTML5 work for everyone
KEY
A million connections and beyond - Node.js at scale
KEY
OSCON 2011 - Node.js Tutorial
PDF
Lessons from a coding veteran - Web Directions @Media
KEY
Multi-tiered Node Architectures - JSConf 2011
KEY
A language for the Internet: Why JavaScript and Node.js is right for Internet...
KEY
A language for the Internet: Why JavaScript and Node.js is right for Internet...
PDF
How to stop writing spaghetti code
PDF
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
PDF
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
KEY
How to stop writing spaghetti code - JSConf.eu 2010
PDF
Node.js and How JavaScript is Changing Server Programming
PDF
Server Side JavaScript - You ain't seen nothing yet
PDF
JavaScript Everywhere! Creating a 100% JavaScript web stack
PDF
Mobile Data: How to avoid the latency trap - SWDC 2010
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Using Node.js to improve the performance of Mobile apps and Mobile web
Writing robust Node.js applications
Creating the Internet of Things with JavaScript - Fluent Conf
Using Node.js to make HTML5 work for everyone
A million connections and beyond - Node.js at scale
OSCON 2011 - Node.js Tutorial
Lessons from a coding veteran - Web Directions @Media
Multi-tiered Node Architectures - JSConf 2011
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
How to stop writing spaghetti code
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
How to stop writing spaghetti code - JSConf.eu 2010
Node.js and How JavaScript is Changing Server Programming
Server Side JavaScript - You ain't seen nothing yet
JavaScript Everywhere! Creating a 100% JavaScript web stack
Mobile Data: How to avoid the latency trap - SWDC 2010

Sf perf