20120926 web perf-dns_v1

25
WebPerf DNS 26 Septiembre 2012 @ URL LaSalle

Transcript of 20120926 web perf-dns_v1

WebPerf DNS26 Septiembre 2012 @ URL LaSalle

Agenda

¿Para qué sirve el DNS?

¿Es seguro?

Tipos de registros

¿NoSQL?

Rendimiento y WPO

Anycast vs. Unicast

Proveedores y opciones

Problemas en DNS

¿Para qué sirve el DNS?

Porque a los humanos nos cuesta recordar números

Porque nos es fácil una estructura jerárquicawww.dominio.tld

Porque las máquinas necesitan de “números” de tamaño finito (IPv4 = 32 bits, IPv6 =128 bits)

¿Cómo funciona?

BrowserCache

1-30 min100 entradas

Cache Local DNS RecursivoISP / Corp

Google / OpenDNS

Root Servers

gTLD/ccTLD Servers

Domain Servers

CNAMES

Ejemplos (Google.es)www.Google.es

www.lacaixa.es

www.lacaixa.es

www.lacaixa.es

www.lacaixa.es

Y ahora ya nos podemos conectar al nodo de AK

¿Es seguro?

Es fácilmente escalable y redundable Es de gestión distribuida Un DNS intermedio (ISP, gobierno, “malo”)

puede entregar otros resultados. Censura/Filtrado de contenidos no afines:▪ Obligo a todos los ISPs que den de alta la zona de

dominioquenomegusta.com en sus resolvers, nadie se puede conectar

Interceptación de navegación: Evito el troyano

¿Es seguro? DNSSEC

La “CA” es el Root (.) Los gTLD y ccTLD se firman y pueden delegar

a sus zonas (.com, .fr, .cat, .es) Las zonas pueden firmar sus respuestas

(google.com, versign.com, gencat.cat) Nuevos registros

RRSIG, DNSKEY, DS, NSEC*xpnti@firewall-1:~$ dig +dnssec gencat.cat;; ANSWER SECTION:gencat.cat. 843 IN A 83.247.129.60gencat.cat. 843 IN RRSIG A 8 2 3600 20120929111758 20120925104809 10623 gencat.cat.

GTDljvkdhDCSvO3z3+tcUuv8hNx3hfQIxlQmWJQQTzdgRtoUluoVN7BR /Etry3MLdkgauQvcnP3QtFE7+dgRBjhHWISmEMGOUcXfbGk5QmwHbhrQ kHKu/Jhz7vnADyJhMLgprHmu0B4JCfDYdZh1MCwOF5gdi67/N+K2qRaB YeM=

¿Es seguro? DNSSEC Deployment

http://eggert.org/meter/dnssec @ 26 set 2012

Tipos de registros

Registro Descripción

A IPv4

AAAA IPv4 (32 bits * 4=128 Bits)

CNAME Alias a nombre

TXT Cualquier cosa . Descifrarlo es cosa del clientDS/DNSKEY/RRSIG/etc DNSSEC

SRV Localizador de servidores HTTP -> xxx

MX Servidores de correo

SOA Inicio de autoridad. Server, versión, timers

NS Servidores de la zona

Otros http://en.wikipedia.org/wiki/List_of_DNS_record_types

ANAME / Alias Auto CNAME -> Dnsmadeeasy, Route53

¿NoSQL?

Distribuido Consistencia eventual Optimizado para lecturas (millones:1) Clave Valor con esquema simple Ejemplo:

Clamav para saber si está actualizadoxpnti@firewall-1:~$ host -t txt current.cvd.clamav.net; perl -e 'printf "%d\n", time;'current.cvd.clamav.net descriptive text "0.97.6:54:15405:1348655341:1:63:39933:190"1348657358xpnti@firewall-1:~$ echo $(((1348657358-1348655341)/60))33 minutos

Rendimiento y WPO

Antes de conectar, tenemos que saber donde! Si tenemos N nombres, tocará preguntar a todos -

imgX.static.com Cuidado con TLD “raros” Cuidado con cadenas de CNAMEs Cuidado con TTLs bajos. Usarlos donde de verdad sea

útil Redirecciones a otros nombres (m.domain.com) El servidor más lento/lejano se usará -> Anycast (RTT

banding)

Rendimiento y WPO

Usuario

FTTH

<10 ms a ISP

Avg: 132 ms

8 threads DNS

Rendimiento y WPO

Usuario

FTTH

<10 ms a ISP

ISP Resolver

Avg: 153 ms

DNS+TCP

DNS = 132 ms

TCP = 21 ms

Rendimiento y WPO

Reducir número de nombres Reducir número consultas (TTL / CNAMES) Infraestructura DNS

Acercar servidores a los resolvers de los usuarios Reducir número de NS por dominio Protecciones DDoS, SLA, etc..

Rendimiento y WPO

Opción fácil de tolerancia a fallos CPD: 2 Varnish en ubicaciones diferentes Acceden al backend vía VPN / Inet Publicamos las dos IP en DNS▪ Round Robin, Ordenado o Geo

Si un CPD resulta afectado, podemos o mostrar 503 o restaurar servicios y mantener TTL altos

Los navegadores intentan por orden las IP y saltan por timeout

Disponibilidad tipo >99%

Anycast vs. Unicast

Unicast = No hay Ips repetidas Anycast = Una misma IP en ubicaciones

distintas

http://velocityconf.com/velocity2012/public/schedule/detail/24842

Anycast vs. Unicast

Por BGP al más cercano Menos NS/dominio -> menos RTT banding Tolerancia a DDoS (si D es pequeña)

Proveedores y opciones

Unicast: Casi todos los registrars, hosting, etc… Va “gratis” con el servicio

Anycast: UltraDNS, Dyn, DnsMadeEasy, easyDNS

Anycast “listo”: AWS Route53, Cedexis, “Cotendo”

Proveedores y opciones

“Listo”= Algo más que detectar failover o Geo estático

Route53: Round robin con pesos y/o latencia (que no Geo)

Cedexis: En tiempo real monitoriza y decide + PHP

Cotendo: Lenguaje script para actualizar

Problemas en DNS

Autoritativo contacta con Resolver no Cliente Problemas con determinación origen

EDNS-Subnet, en muy beta… ni RFC…dig +short www.lacaixa.es23.51.65.157ping 23.51.65.157Respuesta desde 23.51.65.157: bytes=32 tiempo=13ms TTL=58

dig +short www.lacaixa.es @8.8.8.823.51.161.157ping 23.51.161.157Respuesta desde 23.51.161.157: bytes=32 tiempo=34ms TTL=55

dig +short www.lacaixa.es @217.13.116.423.37.161.157ping 23.37.161.157Respuesta desde 23.37.161.157: bytes=32 tiempo=61ms TTL=53

Sergi Morales, CISMFounder & CTOe: [email protected]: www.expertosenti.comt: 668897684 (6688-XPNTI)b: blog.expertosenti.coml: www.linkedin.com/in/sergimorales