multi-vantage point dns diagnostics and measurement · verisign public summary • dns name...

19
Multi-Vantage Point DNS Diagnostics and Measurement Casey Deccio, Verisign Labs NANOG 67, Chicago June 14, 2016

Upload: others

Post on 28-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Multi-Vantage Point DNS Diagnostics and MeasurementCasey Deccio, Verisign LabsNANOG 67, ChicagoJune 14, 2016

Verisign Public

Referrals

DNS$Name$Resolution$in$a$Nutshell

• Stub resolver queries recursive resolver for a name.• Recursive resolver asks authoritative servers.• Authoritative servers refer recursive resolvers to server that can

answer.• Answers are propagated back to stub.

2

.

com

example.comstub resolver recursiveresolver

authoritative servers

Answer:$192.0.2.16

Query: www.example.com/A ?

Verisign Public

The Path Between Stub and Authoritative

• Recursive resolver(s)• Middleboxes• Firewalls• NATs• IPv4/IPv6 network paths / anycast• Authoritative servers

• TCP/UDP connectivity• Response latency• Path/server EDNS capabilities: version,

options, flags• DNSSEC records• Large/fragmented packets• Record types• Response correctness and consistency

3

?stub resolver authoritative servers

example.com

Paths Potential Issues

Verisign Public

.

com

example.com

Referrals

Authoritative DNS Queries with DNSViz:dnsviz probe -A

• Queries issued towards authoritative servers(optionally, following referrals all the way from root)

• All server addresses queried• IPv4/IPv6• UDP/TCP

4

output.json

$ dnsviz probe -A example.com > output.jsonAuthoritative Servers

Verisign Public

.

com

example.com

Recursive DNS Queries with DNSViz (default):dnsviz probe

• Queries issued towards recursive servers (all the way to the root, by default)

• Default recursive servers used if none specified.

5

192.0.2.1192.0.2.2

2001:db8::1

output.json

$ dnsviz probe -s 192.0.2.1,192.0.2.2,2001:db8::1 \example.com > output.json

Recursive Servers

Authoritative Servers

Verisign Public

DNSViz Web Interface –Authoritative or Recursive Analysis• Select “authoritative” or “recursive” analysis from analysis

form.

6

Authoritative Servers

DNSVizWeb Server

.

com

example.comRecursive Servers(optional)

Verisign Public

Example – Authoritative View

7

Verisign Public

Example – Recursive View #1

8

Verisign Public

Example – Recursive View #2

9

Problem:- No DNSSEC records returned

Verisign Public

Example – Recursive View #3

10

Problem:- No RRSIG records returned to cover NSEC(3)

Verisign Public

Measuring from Other Vantage Points

• Considerations• Platform access – full shell vs. API• Queries/tests – canned vs. custom• Availability of probes

• Number• Location

• Synchronous vs. asynchronous execution

• Sequential progressive diagnostics

11

Verisign Public

DNS Looking Glass – Over HTTP

• Client encapsulates requests using JSON.• Requests are sent to HTTP server as data to HTTP POST

request.• DNS message and remote server/port are included.

• HTTP server issues DNS queries specified (in parallel).• Responses are returned from HTTP server as content of

HTTP response.

12

JSON-encapsulated Requests

JSON-encapsulated Responses

ClientDNS QueriesHTTP

Server

HTTP POST

HTTP Response

Verisign Public

DNSViz Proof-of-concept Looking Glass• Client/server components included with DNSViz source:

• https://github.com/dnsviz/dnsviz• Server:

• contrib/dnsviz-lg.cgi

(requires DNSViz installation)• Client:

• contrib/digviz

(behaves similar to ISC dig)

13

HTTP Server

$ digviz +lg=http://dns-lg-example.com/dnsviz-lg.cgi @192.0.2.1

Verisign Public

Authoritative DNS Queries Using a Looking Glass:dnsviz probe -A -u <URL>

• Queries issued towards authoritative servers (optionally, all the way from root)

• All servers addresses queried• IPv4/IPv6• UDP/TCP

14

Authoritative Servers

.

com

example.com

Referrals

HTTP Server output.json

$ dnsprobe -A -u http://dns-lg-example.com/ \example.com > output.json

Verisign Public

Recursive DNS Queries Using a Looking Glass:dnsviz probe -u <URL>

• Queries issued towards recursive servers (all the way to the root, by default)

15

Recursive Servers

Authoritative Servers

HTTP Server

.

com

example.com

192.0.2.1192.0.2.2

2001:db8::1

output.json…

$ dnsprobe -A -u http://dns-lg-example.com/lg.cgi \-s 192.0.2.1,192.0.2.2,2001:db8::1 \example.com > output.json

Verisign Public

DNSViz Web Interface – Third-party Looking Glass

• Select “third-party” location from analysis form.• Server uses HTTP-based DNS looking glass.

16

Authoritative Servers

DNSVizWeb Server

.

com

example.com

HTTP Server

Recursive Servers(optional)

Verisign Public

DNSViz Web Interface – Client-side Looking Glass

• Select “third-party” location from analysis form.• Java app(let) connects to server using WebSocket.• Diagnostic DNS queries issued from Java app(let).

17

Authoritative Servers

DNSVizWeb Server

HTTP

WebSocket(query control interface)

.

com

example.comRecursive Servers(optional)

Verisign Public

Summary

• DNS name resolution paths can be diverse.• A multi-perspective analysis can help understand general

resolver experience.• DNSViz allows a flexible platform for multi-vantage point

DNS diagnostics and measurement:• Recursive and authoritative diagnostic analysis• Command-line diagnostic tools• Web-based diagnostic tools• Looking glass software

• Resources:• https://github.com/dnsviz/dnsviz• http://dnsviz.net/

18

© 2016 VeriSign, Inc. All rights reserved. VERISIGN and other trademarks, service marks, and designs are registered or unregistered trademarks of VeriSign, Inc. and its subsidiaries in the United States and in foreign countries. All other trademarks are property of their respective owners.