Olá a todos!
Uma saudação principal aqueles que estavam no BoF de DNS no LACNIC32.
Bom, o nome da lista é "DNS em Espanhol", mas vou tomar a liberdade de escrever em português...
(Consultei os colegas, e me disseram que não haveria problemas).
Para meu primeiro contato com o Working Group, resolvi trazer a tona aquele tema que comentei na reunião presencial.
*** Caches Separados para DNS Recursivo para IPv6 e para IPv4. ***
*** Como fazer uma análise para verificar se isso é realmente efetivo? ***
Apenas para clarificar:
Não falo e eliminar resposta v4 das consultas para o socket v6 e nem eliminar respostas v6 para cunsultas feitas para o socket v4.
Essa teoria tem a ver com a formação dos caches e com a diferença da tabela de roteamento IPv4 e IPv6
Vou tentar exemplificar:
a - Imagine que uma CDN(Akamai, Azion, EdgeCast, etc...) tenha os seguintes nodos:
a.1 - São Paulo - 200.1.55.80 - 2001:1:55:80
a.2 - Miami - 200.1.1.80 - 2001:1:1::80
d - Imaginando um end-user usando IPv4 (200.189.189.189) de um ISP no Rio de Janeiro esteja acessando esse site, ele vai mandar para o NS recursivo usando IPv4 (200.189.180.53) do ISP a pergunta: ?
siteacessed.somecdnname.net?
f - O mecanismo inteligente do Autoritativo da CDN vai analisar que o servidor que está mais "PERTO" desse cliente é o nodo de São Paulo, e vai responder
A -> 200.1.55.80
AAAA -> 2001:1:55::80
g - O end-user vai acessar o conteúdo em 200.1.55.80, RioDeJaneiro->SãoPaulo_SãoPaulo->RioDeJaneiro e vai ser feliz...
---
Até aqui tudo normal
---
h - Agora um outro end-user desse mesmo ISP do Rio de janeiro, usando IPv6 2001:189:190::1234, resolve acessar o mesmo conteúdo que o usuário anterior, e vai mandar a pergunta ?
siteacessed.somecdnname.net? para o mesmo NS recursivo só que por IPv6 (2001:189:180::53)
i - Acontece que agora o NS Recursivo tem no Cache as duas respostas... E vai mandar para o end-user.
A -> 200.1.55.80
AAAA -> 2001:1:55::80
j - O end-user vai pegar essa resposta e vai tentar acessar 2001:1:55::80 que é de São Paulo. Porém, por uma diferença nas políticas de roteamentos dos ASNs envolvidos, para acesssar esse IPv6, os pacotes tem que ir RioDeJaneiro->Miami->SãoPaulo_SãoPaulo->Miami->RioDeJaneiro...
A diferença entre J e G é absurda... Certo?
Para resolver isso, o que as CDNs fazem?
-> Reduzem o TTL para 1 minuto...
Bom, sabemos que isso não é saudável. E além de resolver completamente, pode também causar o problema contrário... No caso de a primeira pergunta depois da expiração do cache ser em IPv6.
A minha proposta é que para contornar isso, os ISPs criem servidores separados para v4 e para v6:
- Server v4 só responde para IPv4, prefere fazer perguntas aos autoritativosm em IPv4
- Server v6 só responde para IPv6, prefere fazer perguntas aos autoritativosm em IPv6
Pronto. Contei a história!
E aí? Faz algum sentido para os senhores?
Se faz sentido, como criar comprovar isso?
--
Douglas Fernando Fischer
Engº de Controle e Automação