other devices supporting the protocol, could be added to the network by simply plugging them in; all further configuration was automated. Network addresses were automatically selected by each device using a protocol known as AppleTalk Address Resolution Protocol (AARP), while each machine built its own local directory service using a protocol known as Name Binding Protocol (NBP). NBP included not only a name but the type of device and any additional user-provided information such as its physical location or availability. Users could look up any device on the network with the application Chooser, which filtered names based on the device type. On Internet Protocol (IP) networks, the Domain Name System database for a network was initially maintained manually by a network administrator. Efforts to automate maintenance of this database, led to the introduction of a number of new protocols providing automated services, such as the Dynamic Host Configuration Protocol (DHCP). Address selection Hosts on a network must be assigned IP addresses that uniquely identify them to other devices on the same network. On some networks, there is a central authority that assigns these addresses as new devices are added. Mechanisms were introduced to handle this task automatically, and both IPv4 and IPv6 now include systems for address autoconfiguration, which allows a device to determine a safe address to use through simple mechanisms. For link-local addressing, IPv4 uses the special block , while IPv6 hosts use the prefix . More commonly addresses are assigned by a DHCP server, often built into common networking hardware like computer hosts or routers. Most IPv4 hosts use link-local addressing 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. Discovering the DHCP-assigned address of another host requires either distributed name resolution or a unicast DNS server with this information; 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