Section 9.4. SLP


9.4. SLP

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.

For a detailed discussion of SLP concepts, refer to my book Guide to Service Location Protocol (http://www.podbooks.com). Readers in Europe can order the book at http://www.sunny.ch.


The changes made for SLPv2 can be summarized as follows:

  • The use for broadcasting of SLP requests was eliminated.

  • The format of SLP URLs (service entries) must be able to hold IPv6 addresses.

  • SLP must be able to use IPv6 multicast addresses and multicast scopes.

  • The propagation of Service Advertisements must be restricted.

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.

Table 9-4. Multicast addresses for SLP over IPv6

Multicast address

Description

FF0X:0:0:0:0:0:0:116

Service Agent (SA), used for Service Type and Attribute Request Messages.

FF0X:0:0:0:0:0:0:123

Directory Agent (DA), used by User Agents (UAs) and SAs to discover DAs. Also used by DA for sending unsolicited DA Advertisement messages.

FF0X:0:0:0:0:0:1:1000 to FF0X:0:0:0:0:0:1:13FF

Service Location, used by SAs to join the groups that correspond to the Service Types of the services they advertise. The Service Type string is used to determine the corresponding value in the 1000 to 13FF range, which has been assigned by IANA for this purpose. For an explanation of the algorithm used to calculate the group ID, refer to RFC 3111.


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.



IPv6 Essentials
IPv6 Essentials
ISBN: 0596100582
EAN: 2147483647
Year: 2004
Pages: 156
Authors: Silvia Hagen

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net