IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To...

15
G6 Tutorial 1 IPv6 & DNS: DNSv6

Transcript of IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To...

Page 1: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 1

IPv6 & DNS: DNSv6

Page 2: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 2

Overview How important is the DNS?

DNS Extensions for IPv6

DNS Resource Lookup

Recursive Name Servers Information Discovery

DNS Service Continuity through IP Networks

Operational Requirements, Recommendations & Issues

About IPv6 AAAA glue Records in DNS Zones

IPv6-capable DNS Software

Page 3: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 3

How important is the DNS?

Need for Name Resolution (Lookup)– Name resolution needed prior to a TCP/IP communication– With Internet exponential growth, it became:

• impossible to memorize millions of IP addresses;• impossible to maintain them in a centralized flat file (aka ‘/etc/hosts’)

2 Approaches to the DNS : RFC 1034 / RFC 1035– A Database: Stores different types of Resource Records (RR):

• Mainly IP address(es) but other types (NS, MX, PTR, …)

– A TCP/IP Protocol and a Client/server Application:• IPv4 and IPv6; UDP & TCP; port 53• Query (for a RR) lookup in the DNS database Response

Data returned to DNS clients SHOULD NOT depend on the underlying IP version

Page 4: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 4

DNS Extensions for IPv6 SupportRFC 3596 (DS)

Forward lookup (‘Name IPv6 Address’): A new Resource Record (RR) : ‘AAAA’

The ‘AAAA’ RR is for IPv6 what the ‘A’ RR ‘is for IPv4 Example:

www.afnic.fr. IN A 192.134.4.20IN AAAA 2001:660:3003:2::4:20

Reverse lookup (‘IPv6 Address Name’): PTR RR (pointer) applied to the new reverse tree: ip6.arpa

A dedicated tree with nibble (4 bits) boundaries ip6.arpa tree is for IPv6 what the in-addr.arpa tree is for IPv4 Example:$ORIGIN 1.0.0.0.6.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa.1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0 PTR ns3.nic.fr.

Page 5: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 5

DNS AAAA Lookup

“.”name server

frname server

afnic.frname server

nameserver

resolver

Response: www.afnic.fr has IPv6 @ 2001:660:3003:2::4:20

Refer to fr NS + glue

Refer to afnic.fr NS

AAAA forwww.afnic.fr :

2001:660:3003:2::4:20

Manuallyconfiguredroot-servers list

Que

ry‘w

ww

.afn

ic.fr

’ AA

AA

?

Query‘www.afnic.fr’ AAAA?

Query‘www.afnic.fr’ AAAA?

Query‘www.afnic.fr’ AAAA?

g6

“.”

frde com

afnic inria

root

asso

Page 6: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 6

frnetarpa

ripe

whois

ip6

0.6

6.0.0.3

com

apnic nic

ns3www

ns3.nic.fr

1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.6.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa

e.f.f.3

Name IP AddressIP Address Name

.

ns3.nic.fr

int

2001:660:3006:1::1:1

in-addr

192

134

0

49

0 255...

192.134.0.49

193

49.0.134.192.in-addr.arpa.

192.134.0.49

ituip6

...

4

1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0

2001:660:3006:1::1:1

6.0.1.0.0.2

Lookups in an IPv6-aware DNS Tree

Page 7: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 7

Recursive Name Servers Information Discovery

A Stub Resolver needs a Recursive Name Server address to which it sends nameresolution queries

In the IPv4 world, this DNS information is: Either configured manually in the stub resolver (e.g. /etc/resolv.conf for Unix stations) Or discovered via DHCPv4

In the IPv6 world: RFC4339 (IPv6 Host Configuration of DNS Server Information Approaches)

Via stateful DHCPv6 (RFC 3315) Via stateless DHCPv6 (RFC 3736, “DHCPv6-light”) best preferred

RA-based: http://www.ietf.org/internet-drafts/draft-jeong-dnsop-ipv6-dns-discovery-08.txt (not so popular towards an experimental RFC)

Well-known address (anycast or unicast) Manual configuration as for IPv4 If IPv4 is supported, than run a DHCPv4 client

Page 8: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 8

“.”name server

IPv6-onlyCacheNameServer

resolver

Reply:TIMEOUT

“.”

fr de com

Manuallyconfiguredroot file

Que

ry‘fo

o.g6

.ass

o.fr

’ RR

?

Query‘foo.g6.asso.fr’ RR?

root

DNS Service Continuity through IP Networks

13 IPv4-only Root Name Servers

[a-m].root-servers.netIPv6-onlyNetwork

Page 9: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 9

“.”name server

comname server

example.comname server

ipv6.example.comIPv6-only name server

IPv4-onlyCacheNameServer

resolver

Reply:TIMEOUT

“.”

com fr org

example dotcom

ipv6

Refer to com NS + glue

Refer to example.com NS [+ glue]

Refer to ipv6.example.com NS + v6-only glue

Query ‘foo.ipv6.example.com’ RR?

Manuallyconfiguredroot file

Que

ry‘fo

o.ip

v6.e

xam

ple.

com

’R

R?

Query‘foo.ipv6.example.com’

RR?

Query‘foo.ipv6.example.com’ RR?

Query‘foo.ipv6.example.com’ RR?

root

foo

IPv4-onlyNetwork

DNS Service Continuity through IP Networks (2)

Page 10: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 10

DNSv6 OperationalRequirements, Recommendations & Issues

RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks:

• Every Recursive Name Server SHOULD be either IPv4-only or dual stack: Use dual-stack forwarders (DNS ALG) if necessary• Every DNS zone SHOULD be served by at least one IPv4-reachable Authoritative

Name Server Avoid IPv6-only servers

Bear in mind During the long IPv4-IPv6 transition period: some systems will stay

IPv4-only, others will be/become dual-stack & others will be IPv6-only

RFC4472 “Operational Considerations and Issues with IPv6”, among others:• Misbehavior of some DNS servers and Load-balancers• Handling special (e.g. limited-scope) IPv6-addresses (published vs reachable)• Service name vs Node name • IPv6 and Dynamic DNS Update (RFC 2136)

Page 11: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 11

IPv6 Glue in DNS Zones When the DNS zone is delegated to a DNS server (among others) contained in the zone itself Example: In zone file fr

@ IN SOA oldnsmaster.nic.fr. hostmaster.nic.fr. (

2005020800 ;serial3600 ;refresh1800 ;retry3600000 ;expire5400 ;negative ttl

IN NS a.nic.fr.IN NS b.nic.fr.

[…]renata.fr. IN NS paris.amen.fr.

IN NS ns2.amen.fr.renater IN NS ns1.renater.fr.

IN NS calypso.urec.cnrs.fr.ns1.renater.fr. IN A 193.49.159.2

IN AAAA 2001:660:3001:4002::2[…]

IPv4 glue (A 193.49.159.2 ) is required to reach ns1 over IPv4 transport IPv6 glue (AAAA 2001:660:3001:4002::2) is required to reach ns1 over IPv6 transport

Page 12: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 12

IPv6 support by Root and TLD Servers 13 root servers « around » the world (10 in the US):

– [A-M].root-servers.net– In fact, more than 13: due to anycast deployment

Some root-servers are reachable on IPv6 transport– But their IPv6 address is NOT published in the root zone– E.g.: B, F, H, K, M, … Cf. http://www.root-servers.org/

Why IPv6 transport is not yet officially supported by the root servers?– Technical reasons: UDP response size limit (512 bytes)– Other reasons? …

AAAA Glue records already present in the root zone for TLD delegation– Who puts them?

• ICANN/IANA– When started?

• 21 July 2004 with: FR, JP & KR• Today: more than 30 TLDs

– How to proceed for a TLD?• http://www.iana.org/procedures/delegation-data.html

Page 13: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 13

DNS IPv6-capable software

BIND (Resolver & Server)http://www.isc.org/products/BIND/BIND 8.2.4 (or later)BIND 9

On Unix distributionsResolver Library (+ (adapted) BIND)

NSD (authoritative server only)http://www.nlnetlabs.nl/nsd/

Microsoft Windows (Resolver & Server) …

Page 14: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 14

APIs

getaddrinfo() for forward lookup– hostname addresses– Replacement for gethostbyname()– With AF_UNSPEC, applications become protocol-

independent

getnameinfo() for reverse lookup– address hostname– Replacement for gethostbyaddr()

Page 15: IPv6 & DNS: DNSv6 · 2017. 5. 18. · RFC 3901: “DNS IPv6 Transport Operational Guidelines ” To guarantee DNS service continuity across a mixture of IPv4/v6 networks: •Every

G6 Tutorial 15

References DNSv6-related RFCs & Internet-Drafts

– RFC 3596 : “DNS Extensions to Support IP Version 6”– RFC 3901: “DNS IPv6 Transport Operational Guidelines”– RFC 4472: “Operational Considerations and Issues with IPv6”

– “DNS Response size issues” (A. Kato & P. Vixie, work in progress) draft-ietf-dnsop-respsize-03.txt

Other technical documents– Adding IPv6 Glue To The Rootzone ( R. van der Pol & D. Karrenberg)

http://www.nlnetlabs.nl/ipv6/publications/v6rootglue.pdf– “DNS Response Size and Name Compression” (M. Souissi, AFNIC) http://w6.nic.fr/dnsv6/resp-size.html

Books– DNS and BIND, 5th edition (Paul Albitz & Cricket Liu)