Service discovery

Service discovery is the process of automatically detecting devices and services on a computer network. It aims to reduce the manual configuration effort required from users and administrators. A service discovery protocol (SDP) is a network protocol that helps accomplish service discovery.

Service discovery requires a common language to allow software agents to make use of one another's services without the need for continuous user intervention.

Protocols
There are many service discovery protocols, including:
 * Bluetooth Service Discovery Protocol (SDP)
 * Bonjour, e.g., Apple AirPrint
 * DNS Service Discovery (DNS-SD), a component of zero-configuration networking
 * DNS, as used for example in Kubernetes
 * Dynamic Host Configuration Protocol (DHCP)
 * Internet Storage Name Service (iSNS)
 * Jini for Java objects.
 * Lightweight Service Discovery (LSD), for mobile ad hoc networks
 * Link Layer Discovery Protocol (LLDP) standards-based neighbor discovery protocol similar to vendor-specific protocols which find each other by advertising to vendor-specific broadcast addresses (versus all-1's), such Cabletron (Enterasys) and Cisco Discovery Protocol (both referred to as CDP but different formats).
 * Local Peer Discovery, or Local Service Discovery
 * Multicast Source Discovery Protocol (MSDP), usually used for unicast exchange of multicast source information between anycast Rendez-Vous Points (RPs) to service mcast clients.
 * Service Location Protocol (SLP)
 * Session Announcement Protocol (SAP) used to discover RTP sessions
 * Simple Service Discovery Protocol (SSDP), a component of Universal Plug and Play (UPnP)
 * Universal Description Discovery and Integration (UDDI) for web services
 * Web Proxy Autodiscovery Protocol (WPAD)
 * WS-Discovery (Web Services Dynamic Discovery)
 * XMPP Service Discovery (XEP-0030)
 * XRDS (eXtensible Resource Descriptor Sequence) used by XRI, OpenID, OAuth, etc.