230 likes | 701 Views
Multicast DNS. Draft-aboba-dnsext-mdns-00.txt. Outline. Goals and objectives Scope of the multicast DNS DNS server discovery Non-zeroconf behavior Zeroconf behavior. Goals for Multicast DNS. Name resolution in small networks Where there is no DNS server
E N D
Multicast DNS Draft-aboba-dnsext-mdns-00.txt
Outline • Goals and objectives • Scope of the multicast DNS • DNS server discovery • Non-zeroconf behavior • Zeroconf behavior
Goals for Multicast DNS • Name resolution in small networks • Where there is no DNS server • Where DNS server does not register local names (e.g. ISP DNS server) • Scalable behavior in enterprise networks • Moderate/Large networks expected to use dynamic DNS so no need for mDNS • No change to non-zeroconf default behavior • Hosts configured via DHCP without an mDNS config option do not use mDNS for any purpose • Limitation of zeroconf mDNS to linklocal scope • Administrative control over mDNS configuration
Non-Goals • Substitute for dynamic DNS • Dynamic DNS likely to become widely available • Enterprise networks likely to use it • No need for mDNS as a substitute • General name resolution on the Internet • Don’t want mDNS queries sent out on Internet • Service location • Exception is location of DNS server
Scope of Multicast DNS • Multicast DNS queries always sent to linklocal scope prior to sending to local scope • Goal is to prevent wide distribution of queries answerable on the host segment • Scope of use • Prohibit recursion, allow hosts to only respond to queries if they are authoritative or answer is cached • Result: hosts sending mDNS queries for names requiring recursion will not receive an answer
DNS Server Discovery • Host sends SRV query for _dns._udp.lcl • Not useful for IPv4 • Zeroconf host typically will not have a DNS server • Non-zeroconf host can find DNS server via DHCP • May be useful for IPv6 where DHCPv6 may not be available • Other alternatives available: router advertisement, service discovery protocol • IPv6 host could use mDNS query to find DNS server
Zeroconf Behavior • Hosts with only linklocal addresses use mDNS after unicast query (H-node) • Send DNS queries via unicast if DNS server available (e.g. discovered via mDNS), else use mDNS • Hosts with linklocal addresses use linklocal mDNS address • May not be possible to respond to mDNS queries sent on the local scope from a linklocal unicast address • Zeroconf pockets created due to DHCP failures could cause widespread propagation of useless mDNS queries • Auto-configured hosts send and listen to mDNS only on the linklocal scope • Auto-configured hosts MUST NOT send mDNS queries or listen to them on the local scope
Non-Zeroconf Behavior • Default behavior • Hosts configured via DHCP but without an mDNS configuration option MUST NOT send mDNS queries, listen to them, or respond to them (P-node) • Possible exception: Should P-nodes use mDNS to find a DNS server? • Ensures that multicast queries will not propagate widely within enterprise networks • DHCP configuration • Hosts can be configured to use mDNS exclusively (B-node), use unicast then mDNS (H node), use multicast then unicast (M node) or unicast only (P node) • B and M node configurations discouraged
Name Conflicts • Hosts joining a network, or changing names or being configured to use mDNS send mDNS queries for their own name • Responses with AA (Authoritative Answer) bit set to 0 MUST be ignored. • If the query is not positively resolved then host starts using its name. • If the query is positively resolved, (and AA bit is set in the response) then the host should verify that the IP addresses specified in the response are its own IP addresses, possibly from another adapter. • If the host can't match the returned address records to its IP addresses, then the host MUST not use the name.
Query Suppression Proposal • Want to maximize chances of resolution in link-local scope • Want to prevent response implosion • All mDNS queries and responses sent via multicast • Anyone with a valid cache entry can respond after random delay • Duplicate responses are suppressed
Multicast DNS Configuration Option Draft-aboba-dhc-mdns-01.txt
Outline • Multicast DNS node types • Node type behavior
mDNS Node Types Value Node Type ----- --------- 0x1 B-node 0x2 P-node 0x4 M-node 0x8 H-node
Node type behavior • B-node (not recommended) • Multicast queriers and listeners • Listen on both linklocal and local scopes • MUST NOT send DNS queries via unicast • Cannot resolve names outside the scope of multicast DNS • P-node • Use DNS via unicast only • MUST NOT send multicast queries, listen for them or respond to them • Default behavior for clients configured via DHCP but not receiving mDNS configuration option (existing behavior) • M-node (not recommended) • Use multicast queries prior to unicast • Listen on both linklocal and local scopes • H-node • Use unicast queries prior to multicast • Listen on both linklocal and local scopes