Integrasi Komputer    
   
Daftar Isi
(Sebelumnya) ZeobitZero flag (Berikutnya)

Zero configuration networking

Zero configuration networking (zeroconf) is a set of techniques that automatically creates a usable Internet Protocol (IP) network without manual operator intervention or special configuration servers.

Zero configuration networking allows devices such as computers and printers to connect to a network automatically. Without zeroconf, a network administrator must set up services, such as Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS), or configure each computer's network settings manually, which may be difficult and time-consuming.

Zeroconf is built on three core technologies:

  • Assignment of numeric network addresses for networked devices
  • Automatic resolution and distribution of computer hostnames
  • Automatic location of network services, such as printing devices

Contents

Address selection

Both IPv4 and IPv6 have standard methods for address autoconfiguration. For link-local addressing IPv4 uses the special block 169.254.0.0/16 as described in RFC 3927 while IPv6 hosts use the prefix fe80::/10.

Most IPv4 hosts use link-local addressing (IPv4LL) only as a last resort when a DHCP server is unavailable. An IPv4 host otherwise uses its DHCP-assigned address for all communications, global or link-local. One reason is that IPv4 hosts are not required to support multiple addresses per interface, although many do. Another is that not every IPv4 host implements distributed name resolution (e.g., multicast DNS), so discovering the autoconfigured link-local address of another host on the network can be difficult. However, discovering the DHCP-assigned address of another host also requires either distributed name resolution or a unicast DNS server with this information, and some networks feature DNS servers that are automatically updated with DHCP-assigned host and address information.

IPv6 hosts are required to support multiple addresses per interface; moreover, every IPv6 host is required to configure a link-local address even when global addresses are available. IPv6 hosts may additionally self-configure one or more global addresses on receipt of one or more router advertisement messages, thus eliminating the need for a DHCP6 server; see RFC 4862.[1]

Both IPv4 and IPv6 hosts may randomly generate the host-specific part of an autoconfigured address. IPv6 hosts generally combine a prefix of up to 64 bits with a 64-bit EUI-64 derived from the factory-assigned 48-bit IEEE MAC address. The MAC address has the advantage of being globally unique, a property inherited by the EUI-64. The host is normally required to ensure, through broadcast queries, that the addresses it generates are not in use by any other host on the local network.

The technique is called Link-Local address assignment in RFC 3927.[2] However, Microsoft refers to this as Automatic Private IP Addressing (APIPA)[3] or Internet Protocol Automatic Configuration (IPAC) (supported since at least Windows 98[4]).

Name resolution

In 2000, Bill Manning and Bill Woodcock described the Multicast Domain Name Service[5] which spawned the implementations by Apple and Microsoft. Both implementations are very similar. Apple's Multicast DNS (mDNS) is published as the standards track proposal RFC 6762, while Microsoft's Link-local Multicast Name Resolution (LLMNR) is little used and the specification is not an IETF standards track publication. The latter was published as informational RFC 4795.

The two protocols have minor differences in their approach to name resolution. mDNS allows a network device to choose a domain name in the local DNS namespace and announce it using a special multicast IP address. This introduces special semantics for the local domain,[6] which is considered a problem by some members of the IETF.[7] The current LLMNR draft allows a network device to choose any domain name, which is considered a security risk by some members of the IETF.[8] mDNS is compatible with DNS-SD as described in the next section, while LLMNR is not.[9]

Service discovery

Apple's protocol: Multicast DNS/DNS-SD

In 1997 Stuart Cheshire proposed[10] adapting Apple Computer's Name Binding Protocol for IP networks. Cheshire subsequently joined Apple and authored IETF draft proposals for Multicast DNS[11] and DNS based Service Discovery,[12] supporting the transition from AppleTalk to IP networking. In 2002,[13] Apple announced an implementation of both protocols under the name Rendezvous (later Bonjour), included in Mac OS X 10.2 and replacing the Service Location Protocol used in 10.1.

Multicast DNS (mDNS) is a protocol that uses APIs similar to unicast Domain Name System but implemented over a multicast protocol. Each computer on the LAN stores its own list of DNS resource records (e.g., A, MX, SRV) and joins the mDNS multicast group. When an mDNS client wants to know the IP address of a computer given its name, mDNS client sends a request to a well-known multicast address; the computer with the corresponding A record replies with its IP address. The mDNS multicast address is 224.0.0.251 for IPv4 and ff02::fb for IPv6 link-local addressing.

DNS based Service Discovery (DNS-SD) is the other half of Apple's solution, built on top of the Domain Name System; see RFC 6763.[14] It is used in Apple products, many network printers and a number of third party products and applications on various operating systems. The Apple solution uses DNS messages, in contrast to Microsoft's competing technology, SSDP, which uses HTTP messages. It uses DNS SRV, TXT, and PTR records to advertise Service Instance Names. The hosts offering services publish details of available services: instance, service type, domain name and optional configuration parameters. Service types are given informally on a first-come basis. A service type registry[15] is maintained and published by DNS-SD.org.[16]

Many Apple Mac OS X networking clients, such as the Safari browser and the iChat instant messaging software, use DNS-SD to locate nearby servers. On MS Windows, some instant messaging and VoIP clients support DNS-SD. Some Unix, BSD, and Linux distributions also include DNS-SD functionality.

Microsoft's protocol: UPnP SSDP

Simple Service Discovery Protocol (SSDP) is a UPnP protocol, used in MS Windows XP and several brands of network equipment. SSDP uses HTTP notification announcements that give a service-type URI and a Unique Service Name (USN). Service types are regulated by the Universal Plug and Play Steering Committee.

SSDP is supported in many SOHO firewall appliances, where host computers behind it may pierce holes for applications. It is also used in media center systems, where media exchange between host computers and the media center is facilitated using SSDP.

Efforts toward an IETF standard protocol

Service Location Protocol (SLP) is supported by Hewlett-Packard's network printers, Novell, and Sun Microsystems. SLP is described in RFC 2608 and RFC 3224 and implementations are available for both Solaris and Linux.

Standardization

RFC 3927, a standard for choosing addresses for networked items, was published in March 2005 by the Zeroconf IETF working group, which included individuals from Apple, Sun, and Microsoft.[17]

LLMNR was submitted for official adoption in the DNSEXT IETF working group, however failed to gain consensus and thus has been published as informational RFC only: RFC 4795.[18]

Following the failure of LLMNR to become an Internet standard, Apple was asked by the IETF to submit the mDNS/DNS-SD specs for publication as informational RFC as well, given that mDNS/DNS-SD is used much more widely than LLMNR. In February 2013 mDNS and DNS-SD were published as Standards Track Proposals RFC 6762 and RFC 6763.

RFC 2608, the SLP standard for figuring out where to get services, was published by the SVRLOC IETF working group.[19]

Security issues

Because mDNS operates under a different trust model than unicast DNS—trusting the entire network rather than a designated DNS server, it is vulnerable to spoofing attacks by any system within the multicast IP range. Like SNMP and many other network management protocols, it can also be used by attackers to quickly gain detailed knowledge of the network and its machines.[20]

Major implementations

Apple Bonjour

Bonjour (formerly known as Rendezvous) from Apple Inc., uses multicast DNS and DNS Service Discovery. Apple changed its preferred zeroconf technology from SLP to mDNS and DNS-SD between Mac OS X 10.1 and 10.2, though SLP continues to be supported by Mac OS X.

Apple's mDNSResponder has interfaces for C and Java[21] and is available on BSD, Apple Mac OS X, Linux, other POSIX based operating systems and MS Windows. The Windows downloads are available from Apple's website.[22]

Avahi

Avahi is a Zeroconf implementation for Linux and BSDs. It implements IPv4LL, mDNS and DNS-SD. It is part of most Linux distributions, and is installed by default on some. If run in conjunction with nss-mdns it also offers host name resolution.[23]

Avahi also implements binary compatibility libraries that emulate Bonjour and the historical mDNS implementation Howl, so software made to use those implementations can also utilize Avahi through the emulation interfaces.

MS Windows CE 5.0

Microsoft Windows CE 5.0 includes Microsoft's own implementation of LLMNR.

Link-local IPv4 addresses

There are some implementations available:

  • Apple Mac OS and MS Windows have supported link-local addresses since 1998. Apple released its open-source implementation in the Darwin bootp package.
  • Avahi contains an implementation of IPv4LL in the avahi-autoipd tool.
  • Zero-Conf IP (zcip).[24]
  • BusyBox can embed a simple IPv4LL implementation.
  • Stablebox,[25] a fork from Busybox, offers a slightly modified IPv4LL implementation named llad.
  • Zeroconf,[26] a package based on Simple IPv4LL, a shorter implementation by Arthur van Hoff.[27]

The above implementations are all stand-alone daemons or plugins for DHCP clients that only deal with link-local IP addresses. Another approach is to include support in new or existing DHCP clients:

  • Elvis Pfützenreuter has written a patch for the uDHCP client/server.[28]
  • dhcpcd[29] is an opensource DHCP client for Linux and BSD that includes IPv4LL support. It is included as standard in NetBSD.

Neither of these implementations addresses kernel issues like broadcasting ARP replies[30] or closing existing network connections.

See also

References

  • Guttman, Erik (2001), "Autoconfiguration for IP Networking: Enabling Local Communication", IEEE Internet Computing 5 (3): 81–86, doi:10.1109/4236.935181
  1. ^ RFC 4862, IETF, http://tools.ietf.org/html/rfc4862
  2. ^ RFC 3927, IETF, http://tools.ietf.org/html/rfc3927
  3. ^ "Apipa", MS Developer Network, Microsoft, http://msdn.microsoft.com/en-us/libra ry/aa505918.aspx
  4. ^ "How to use automatic TCP/IP addressing without a DHCP server", Knowledge base, Microsoft, http://support.microsoft.com/kb/22087 4
  5. ^ Manning, Multicast Domain Name Service (draft), Water springs, http://www.watersprings.org/pub/id/dr aft-manning-dnsext-mdns-00.txt
  6. ^ Re: Last Call: 'Linklocal Multicast Name Resolution (LLMNR)' to Proposed Standard (electronic mail message), IETF, http://www1.ietf.org/mail-archive/web /ietf/current/msg37126.html
  7. ^ Re: Summary of the LLMNR Last Call (electronic mail message), IETF, http://www1.ietf.org/mail-archive/web /ietf/current/msg37773.html
  8. ^ Summary of the LLMNR Last Call (electronic mail message), IETF, http://www1.ietf.org/mail-archive/web /ietf/current/msg37740.html
  9. ^ More details on the differences (electronic mail message), IETF, http://www.mhonarc.org/archive/html/i etf/2005-08/msg00494.html
  10. ^ Cheshire, Stuart, Name Binding Protocol over IP (rant), http://www.stuartcheshire.org/rants/N BPIP.html
  11. ^ ———, Multicast DNS (draft), http://files.multicastdns.org/draft-c heshire-dnsext-multicastdns.txt
  12. ^ ———, DNS-based Service Discovery, DNS-SD, http://files.dns-sd.org/draft-cheshir e-dnsext-dns-sd.txt
  13. ^ Zero conf, http://www.zeroconf.org/
  14. ^ RFC 6763, IETF, http://tools.ietf.org/html/rfc6763
  15. ^ Service types, DNS-SD, http://www.dns-sd.org/ServiceTypes.ht ml
  16. ^ DNS-SD, http://www.dns-sd.org/
  17. ^ Zero Configuration Networking (zeroconf) Charter, IETF, http://www.ietf.org/html.charters/OLD /zeroconf-charter.html
  18. ^ DNS Extensions (dnsext) Charter, IETF, http://www.ietf.org/html.charters/dns ext-charter.html
  19. ^ Service Location Protocol (svrloc) Charter, IETF, http://www.ietf.org/proceedings/33/ch arters/svrloc-charter.html
  20. ^ Name (MDNS) Poisoning Attacks Inside the LAN (World Wide Web log), GNU citizen, http://www.gnucitizen.org/blog/name-m dns-poisoning-attacks-inside-the-lan/
  21. ^ A Rendezvous with Java, Mac Dev Center, 2004‐8‐31, http://www.macdevcenter.com/pub/a/mac /2004/08/31/osx_java.html
  22. ^ "Bonjour for MS Windows 1.0.4", Support, Apple, http://www.apple.com/support/download s/bonjourforwindows.html
  23. ^ Lennart, nss-mdns 0.10, DE: 0 pointer, http://0pointer.de/lennart/projects/n ss-mdns
  24. ^ zcip, Source forge, http://zeroconf.sourceforge.net/
  25. ^ "Stable box", Code, Google, http://code.google.com/p/stablebox/
  26. ^ Zeroconf, AU: UTS, http://www.progsoc.uts.edu.au/~wildfi re/zeroconf/
  27. ^ AVH IPv4LL (C source code), Zero conf, http://www.zeroconf.org/AVH-IPv4LL.c
  28. ^ "Zeroconf in udhcpc", udhcpc (electronic mail message), Busy box, May 2005, http://udhcp.busybox.net/lists/udhcp/ 2005-May/000124.html
  29. ^ Marples, Roy (wiki), dhcpcd (project), http://roy.marples.name/projects/dhcp cd/wiki
  30. ^ "Link-Local ARP Measurements", AIR (wiki), NE: UVA, http://www.science.uva.nl/research/ai r/wiki/LinkLocalARPMeasurements
  31. ^ "Mac OS X v10.6: About Wake on Demand (Apple Article HT3774)" (in several languages). Apple. 2009-08-27. Retrieved 2009-09-15. "Setting up Wake on Demand", "Setting up a Bonjour Sleep Proxy" 

External links

(Sebelumnya) ZeobitZero flag (Berikutnya)