The Service Location Protocol (SLP) discovers and selects services in IP networks. SLP Version 2 is specified in RFC 2608. RFC 3111 describes how SLPv2 can be used in IPv6 networks. SLP uses UDP and TCP, so only minor changes are necessary to use SLP on IPv6 networks. SLPv1, which was defined in RFC 2165, does not support IPv6. If you want to use SLP over IPv6, you have to use SLPv2.
SLP is based on three components. A User Agent (UA) sends out service requests to find services. Service Agents (SA) reply to service requests from UAs. An SA can register its services with a Directory Agent (DA). UAs can then send their service requests to the DA, which will answer on behalf of the SAs with a list of the registered services. Most SLP communication is based on multicast messages. SLP also knows scopes that can be used to group services into administrative units.
The changes made for SLPv2 can be summarized as follows:
When SLP is used over IPv4, it can be configured to use broadcasts for service requests, but this is not recommended. IPv6 no longer supports broadcasts, so if SLP is used over IPv6, it has to use multicast addresses to discover service or directory agents.
Table 9-4 shows the multicast addresses that have been defined for SLP over IPv6.
The X in FF0X is the placeholder for the multicast scope to be used for this group ID. For instance, 2 would be link-local scope and 5 would be site-local scope. For a list of the multicast scopes, refer to Table 3-6.
SLP also uses scopes. All SLP agents (i.e., User Agents, Service Agents, and Directory Agents) support scopes, and Service Registration and Service Requests work only if the SLP scope is configured on all agents. Using SLP over IPv6 adds multicast scopes to this scenario. For instance, an SLPv2 agent cannot join a multicast group with a greater multicast scope than itself. If the SA has only a link-local address, it will join multicast scope FF01 and FF02. If the SA is configured with a site-local or global address, it will join multicast groups in the range FF01 to FF05. An SLPv2 agent issues requests using a Source address with a scope no less than the scope of the multicast group it addresses. This prevents, for example, a site-local multicast message being sent from a link-local Source address. An SA and a DA must join all multicast scopes to which an SLP agent may send a message. The maximum scope for SLPv2 messages is site-local (FF05). The service URL in an SLP message can contain a hostname instead of an IP address, in which case the agent has to resolve the name to a set of addresses using DNS.