1 simplified dns query under ipv4/ipv6 mixed environment hiroshi kitamura nec corporation...

21
1 Simplified DNS Query under IPv4/IPv6 Mixed Environment <draft-kitamura-ipv6-simple-dns- query-00.txt> Hiroshi KITAMURA NEC Corporation [email protected]

Upload: garey-brent-cooper

Post on 31-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

1

Simplified DNS Query under IPv4/IPv6 Mixed Environment<draft-kitamura-ipv6-simple-dns-query-00.txt>

Hiroshi KITAMURA

NEC Corporation

[email protected]

2

Index

• Goals and Non-goal for today• Analysis of current regular Two DNS queries method• Understanding Confirmation• Problems of the current

Two DNS queries transaction method• Proposal: 3 types of One DNS query transaction for

One domain name resolving methods.1. Two record types (AAAA and A) set Queries2. One special new record type (e.g., AAAA+A) set Queries3. One record type (AAAA) set Queries

with transformation of A (IPv4) record entries

• Discussions

3

Goals and Non-goal for today

1. Clarify problems of current regular Two DNS queries method

2. Propose a simplified regular DNS query method

(One DNS query for One domain name resolving)

Goal for today:

- Notice that the current Two-DNS queries method is problematic and should be refined.

Non-goal for today:

- Discuss which simplified query method is suitable.

4

Simple DNS Query: (used in IPv4 only era)DNS Server Client (w/ PF_INET)

Record Address

hostX A p (IPv4)

A q (IPv4)

pIPv4(A): q

Queries 1

Name: hostXType: A

Answers 1

Name: hostXType: AAddr: p(IPv4)Name: hostXType: AAddr: q(IPv4)

5

Current: DNS Server Status under IPv4 / IPv6 Mixed Environment

for (one domain name) hostX– Two IPv4 addresses (p, q)

are registered as A record

In addition: – Two IPv6 addresses (s, t)

are registered as AAAA record

Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s t

DNS Server

6

Various Implementation typesfor current Two DNS queries method

Type Name 1st Query 2nd QuerySerial / Parallel

4-6 Serial for A record for AAAA record SerialWindows Vista/7FreeBSD

6-4 Serial for AAAA record for A record SerialRFC4472 shows: not recommend now

4-6 Parallel for A record for AAAA record Parallel Some Linux

6-4 Parallel for AAAA record for A record Parallel

At least, 4 types of implementations are known.

7

4-6 (A first) Serial TypeDNS Server Client (w/ PF_UNSPEC)

Queries 1

Name: hostXType: A

Answers 1

Name: hostXType: AAddr: p(IPv4)Name: hostXType: AAddr: q(IPv4) Queries 2

Name: hostXType: AAAA

Answers 2

Name: hostXType: AAAAAddr: s(IPv6)Name: hostXType: AAAAAddr: t(IPv6)

Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s t

Popular ImplementationWindows Vista/7, FreeBSD adopt this

8

6-4 (AAAA first) Serial Type (RFC4472 shows)DNS Server Client (w/ PF_UNSPEC)

Queries 1

Name: hostXType: A

Answers 1

Name: hostXType: AAddr: p(IPv4)Name: hostXType: AAddr: q(IPv4)

Queries 2

Name: hostXType: AAAA

Answers 2

Name: hostXType: AAAAAddr: s(IPv6)Name: hostXType: AAAAAddr: t(IPv6)

Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s tNOT Recommended

Now!

to avoid confusion RFC4472 (dnsop) should

be updated???

We have to remember order IndependenceIndependence • “Issued queries” order• “listed entries” order of getaddrinfo() return

9

4-6 (A first) Parallel TypeDNS Server Client (w/ PF_UNSPEC)

Queries 1

Name: hostXType: A

Answers 1

Name: hostXType: AAddr: p(IPv4)Name: hostXType: AAddr: q(IPv4)

Queries 2

Name: hostXType: AAAA

Answers 2

Name: hostXType: AAAAAddr: s(IPv6)Name: hostXType: AAAAAddr: t(IPv6)

Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s t

Popular Implementation, tooSome Linux (after glibc2.10)

adopt this

10

6-4 (AAAA first) Parallel TypeDNS Server Client (w/ PF_UNSPEC)

Queries 1

Name: hostXType: A

Answers 1

Name: hostXType: AAddr: p(IPv4)Name: hostXType: AAddr: q(IPv4)

Queries 2

Name: hostXType: AAAA

Answers 2

Name: hostXType: AAAAAddr: s(IPv6)Name: hostXType: AAAAAddr: t(IPv6)

Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s t

11

Understanding Confirmation

Status of DNS servers Best practical solution?

When IPv6 is started

Number of IPv6 ready DNS servers is small

WAS best practical solution at that time

NowMost of the DNS servers

are IPv6 readywill NOT become best

practical solution anymore

Q: Why we have adopted Two DNS queries method?A: Though it is less efficient, in order to avoid problems that is caused by meeting non-IPv6 ready DNS servers 1: keep IPv4(A) DNS query as it is. 2: Introduce IPv6(AAAA) DNS query independently

It must be time to reconsider or refine DNS query method under IPv4/IPv6 mixed environment, NOW!

12

Problems of current Two-queries method 1/2(from technical or abstract viewpoint)

Two-queries method is: – Latency is bad: wait for receiving two answers.

• If either one of two answers is lost, too complicated recover procedures are required.

– twice much traffic (compared to one query)– complicated, inefficient and problematic. – not suitable and not optimized for

current IPv4/IPv6 mixed environment.– temporal and will never last to

the future IPv6 fully deployed environment.

13

Problems of current Two-queries method 2/2(from operational or end-user viewpoint)

Worst problems:Two-queries method is a hotbed to bring

unsolvable problems for low-skill general end users, and it becomes one of the biggest obstaclesbecomes one of the biggest obstacles to deploy the IPv6 to the Internet.

When low-skill end users meet such problems, solution for them is “Uninstall IPv6 protocol stack”.

It is clear that this is “put the cart before the horse” type bad solution, but there are no choice for them.

14

One of unsolvable problems example for low-skill general end users

• Two types of Application implementations

A: (try once type) NoNo loop after getaddrinfo()

B: (multiple try type) recommended style has try & error loop after getaddrinfo()

• If an application get an unreachable IPv6 address as a first entry of getaddrinfo() return.

A: can notnot connect() / communicate

B: takes long time (because first trial is failed)

15

What we have to do NOW?

Our mission is:to provide “Simplified DNS query method” that can solve technical problems and reduce to cause unsolvable problems for low-skill general end users.

Hopefully, the method should be optimized for current IPv4/IPv6 mixed environment and will last to the future IPv6 fully deployed environment.

We propose “One DNS query method” to accomplish this mission

16

Solution Proposal:3 types of One DNS query method

for One domain name resolving

We can discuss 3 types of methods.

1. Two record types (AAAA and A) set Queries

2. One special new record type (e.g., AAAA+A) set Queries

3. One record type (AAAA) set Queries with transformation of A (IPv4) record entries

17

1: Two record types (AAAA and A) set Queries

DNS Server Client (w/ PF_UNSPEC)

Queries 1

Answers 1

Name: hostXType: AAddr: p(IPv4)Name: hostXType: AAddr: q(IPv4)Name: hostXType: AAAAAddr: s(IPv6)Name: hostXType: AAAAAddr: t(IPv6)

Name: hostXType: A Name: hostX Type: AAAA Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s t Two record types set

18

2: One special new record type (e.g., AAAA+A ) set Queries

DNS Server Client (w/ PF_UNSPEC)

Queries 1

Answers 1

Name: hostXType: AAddr: p(IPv4)Name: hostXType: AAddr: q(IPv4)Name: hostXType: AAAAAddr: s(IPv6)Name: hostXType: AAAAAddr: t(IPv6)

Name: hostXType: special new (e.g., AAAA+A)

Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s t

One special new record (e.g.,A

AAA+A) type set

Use Pseudo-RR is also possible

19

3: One record type (AAAA) set Queries with transformation of A (IPv4) record entries

DNS Server Client (w/ PF_INET6)

Queries 1

Answers 1

Name: hostXType: AAAAAddr: p’(IPv6)Name: hostXType: AAAAAddr: q’(IPv6)Name: hostXType: AAAAAddr: s(IPv6)Name: hostXType: AAAAAddr: t(IPv6)

Name: hostX Type: AAAA

Record Address

hostX A p (IPv4)

A q (IPv4)

hostX AAAA s (IPv6)

AAAA t (IPv6)

pIPv4(A):IPv6(AAAA):

q

s t

Record Address

hostX AAAA p’ (IPv6)

AAAA q’ (IPv6)

hostX AAAA s (IPv6)

AAAA t (IPv6)

Transform by using“IPv4 mapped IPv6 address” Very Unique Solution

No modifications areneeded on the Clients

One record type (AAAA) set

with IPv4 mapped address Transformation

20

Effects brought by One DNS query method

• Simple and technical problems are solved• Efficient• Latency is improved• Query traffic is decreased (becomes half)

• If you choose Type 3(AAAA only w/ mapped address), no modifications are needed on Clients.

21

Discussions

How do you think on this issue?

Q: How many people

1. current Two-queries method is problematic?

2. shown problems are worthwhile for solving?

3. agree with going forward this I-D?

4. either of the proposed One-query methods can become good solution?

• Please let us know you comments.– Which types of One-query methods is preferable?