51
Doing Horrible Things to DNS (in the name of science) @sh1mmer SF Perf Meetup Thursday, September 23, 2010

Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Embed Size (px)

Citation preview

Page 1: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Doing Horrible Things

to DNS(in the name of science)

@sh1mmer SF Perf MeetupThursday, September 23, 2010

Page 2: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

The basics of DNS

Thursday, September 23, 2010

Page 3: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 4: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 5: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 6: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 7: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 8: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

San Francisco - Mission BranchThursday, September 23, 2010

Page 9: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 10: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 11: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

San Francisco - Main LibraryThursday, September 23, 2010

Page 12: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 13: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 14: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

New York City - 5th & 42nd BranchThursday, September 23, 2010

Page 15: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 16: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 17: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

New York City - 5th & 42nd BranchThursday, September 23, 2010

Page 18: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 19: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

San Francisco - Main LibraryThursday, September 23, 2010

Page 20: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

San Francisco - Main LibraryThursday, September 23, 2010

Page 21: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 22: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

San Francisco - Mission BranchThursday, September 23, 2010

Page 23: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

San Francisco - Mission BranchThursday, September 23, 2010

Page 24: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 25: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 26: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 27: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Thursday, September 23, 2010

Page 28: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

DNS for performance

Thursday, September 23, 2010

Page 29: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Page Load Time vs. BandwidthThursday, September 23, 2010

Page 30: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Page Load Time vs. Round Trip TimeThursday, September 23, 2010

Page 31: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Trend Curves for Bandwidth vs. RTTThursday, September 23, 2010

Page 32: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Serial HTTP loadingThursday, September 23, 2010

Page 33: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Parallel HTTP loadingThursday, September 23, 2010

Page 34: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Why not just use a bunch of domains?

Thursday, September 23, 2010

Page 35: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

DNS QueryingThursday, September 23, 2010

Page 36: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Ideal? 1 domain many threads

Thursday, September 23, 2010

Page 37: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Option 1: SPDY

Thursday, September 23, 2010

Page 38: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Good: Multi-thread TCP connections Bad: Only works on Chrome

Thursday, September 23, 2010

Page 39: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Option 2: Do horrible things to DNS

Thursday, September 23, 2010

Page 40: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Good: Works nowBad: Might have to violate RFCs

Thursday, September 23, 2010

Page 41: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Option 2a - Mucking about with C names

Thursday, September 23, 2010

Page 42: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

CNAMES are hosts which are aliases of other hosts

Thursday, September 23, 2010

Page 43: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

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

Page 44: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

We now have 6 hostnames

Thursday, September 23, 2010

Page 45: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Good: 6 hostnamesBad: Inflexible

Thursday, September 23, 2010

Page 46: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Option 2b - Doing weird things with RRs

Thursday, September 23, 2010

Page 47: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

RR is the section of a DNS response which contains the HOST records

Thursday, September 23, 2010

Page 48: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

;; QUESTION SECTION:;ajax.hackerhouse.org. IN A

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

Thursday, September 23, 2010

Page 49: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

;; 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.91ajax1.hackerhouse.org. 60 IN A 184.106.231.90ajax2.hackerhouse.org. 60 IN A 184.106.231.89

Thursday, September 23, 2010

Page 50: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

;; 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.90ajax2.hackerhouse.org. 60 IN A 184.106.231.89

Thursday, September 23, 2010

Page 51: Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

Good: FlexibleBad: Caching /Violating RFCs

Thursday, September 23, 2010