rfc-3111

Service Location Protocol Modifications for IPv6

E. Guttman
date2001-05 streamIETF areaint wgsvrloc statusPROPOSED STANDARD pages13 canonicalhttps://www.rfc-editor.org/rfc/rfc3111 doi10.17487/RFC3111
This document defines the Service Location Protocol Version 2's (SLPv2) use over IPv6 networks. Since this protocol relies on UDP and TCP, the changes to support its use over IPv6 are minor. [STANDARDS-TRACK]

Extracted elements (24)

design-rationale §3

DNS names SHOULD be preferred over literal IPv6 addresses in service: URLs to avoid scope ambiguity. Literal addresses are necessary only when SLP is used without DNS, such as in ad-hoc networks with no pre-configured infrastructure.

dns, v6ops

design-rationale §1

IPv6 uses link-local multicast in place of broadcast. SLPv1 over IPv6 is not described because there is no implementation or deployment of SLPv1 over IPv6 at time of publication; SLPv2 is RECOMMENDED instead.

v6ops, multicast

design-rationale §4.1

SLPv2 for IPv4 uses only one administratively scoped multicast address because only 256 relative assignments were available. IPv6's larger address space and scoped multicast architecture allow a range of distinct group-id assignments (FF0X::116, FF0X::123, FF0X::1:1000–13FF), improving scalability and reducing unnecessary multicast delivery.

multicast, v6ops

interoperability-note §1

This document does not describe how to use SLPv1 over IPv6; there was no implementation or deployment of SLPv1 over IPv6 at time of publication. Only SLPv2 is specified for IPv6 use.

v6ops

normative-requirement §4.2.4.4 MUST

A multihomed DA MUST respond to active DA discovery requests using the same scope as the request. The DA MUST multicast unsolicited DAAdverts on each interface using link-local and site-local source addresses (or link-local only if no higher-scope address is configured).

multicast, v6ops

normative-requirement §4.2.4.4 MUST

A multihomed DA MUST track which interface each registration was made on and MUST prevent zone-crossing: services registered in Zone 2 must not be discoverable in Zone 1.

multicast, v6ops

normative-requirement §4.2.4.3 MUST

A multihomed SA MUST issue DA discovery requests using multicast scope FF02 and, if it has a site-local or global address, MUST reissue with increasing scopes up to FF05. Active DA discovery must be attempted on all zones.

multicast, v6ops

normative-requirement §4.2.4.3 MUST NOT

A multihomed SA MUST NOT include an address in a SAAdvert sent on a zone where that address is not valid (e.g., no link-local address from Link 1 in a SAAdvert sent on Link 2).

multicast, v6ops, ip

normative-requirement §4.2.4.3 MUST NOT

A multihomed SA MUST NOT return service information for services in a different zone than the request's zone. The SA MUST NOT send a registration to a DA for a service present in a different zone, and MUST register services with DAs present in the same zone.

multicast, v6ops

normative-requirement §4.2.4.2 MUST

A multihomed UA MUST use active discovery to detect DAs before issuing multicast requests, and MUST issue requests using increasing multicast scopes starting at FF01 up to a maximum of FF05 to solicit DAAdvertisements.

multicast, v6ops

normative-requirement §4.2.1 MUST

A SA and DA MUST join all multicast groups to which a SLPv2 agent may send a message, to ensure they can receive all multicast traffic.

multicast, v6ops

normative-requirement §4.2.1 MUST NOT

A SLPv2 Agent MUST NOT join a multicast group whose scope is greater than the scope configured for unicast on that interface. Interfaces with site-local or global addresses MUST join all multicast scopes from FF01 through FF05.

multicast, v6ops

normative-requirement §4.2.4 MUST NOT

A SLPv2 Agent MUST NOT propagate service advertisements from one zone to another. A SA or DA MUST NOT respond to a request from one zone with service information associated with a service in a different zone.

multicast, v6ops

normative-requirement §2 MUST

Broadcast-only configuration for SLP is not supported under IPv6. If a User Agent wishes to discover Directory Agents or query multiple Service Agents, it MUST multicast the request to the appropriate multicast address.

routing, multicast, v6ops

normative-requirement §4.2.4.1 MUST

Service Locations in SrvReg, SrvRply, AttrRst, SAAdvert, or DAAdvert messages whose locations are literal addresses MUST only be sent to SLP agents located on the same zone.

multicast, v6ops, ip

normative-requirement §4.2.3 MUST NOT

SLPv2 SAs and DAs MUST determine the scope of each service: URL address, resolving hostnames to addresses if necessary. A SA or DA MUST NOT respond to a SrvRqst with a service: URL whose address scope is less than the request's source address scope.

multicast, v6ops, ip

normative-requirement §4.2.4.4 MUST

The DA URL MUST contain the address of the greatest scope the DA is configured with in the zone (e.g., global address if the DA has link-local, site-local, and global addresses in that zone).

multicast, v6ops, ip

normative-requirement §4.2.2 MUST

The maximum scope for SLPv2 multicast messages is site-local (FF05). An SLPv2 agent MUST issue multicast requests using a source address whose scope is no less than the scope of the multicast group.

multicast, v6ops

protocol-element §3

IPv6 literal addresses in service: URLs are enclosed in square brackets per RFC 2732: ipv6-addr = '[' num-addr ']', where num-addr is the text IPv6 address as specified in RFC 2373 Section 2.2.

ip, v6ops

protocol-element §4.1

SLPv2 for IPv6 uses three multicast group-id assignments: FF0X::116 (SVRLOC) for Service Type and Attribute Requests, FF0X::123 (SVRLOC-DA) for DA discovery, and FF0X::1:1000–FF0X::1:13FF (Service Location range) for all other multicast Service Requests.

multicast, v6ops

protocol-element §4.1

The multicast group-id for a given service type is computed by hashing the UTF-8 service type string using a polynomial hash (h = h*33 + byte), then taking the low 10 bits (range 0–1023) as the offset into FF0X::1:1000.

multicast, v6ops

registry §5

IANA assigned the IPv6 multicast group-id range FF0X::1:1000–FF0X::1:13FF for use by Service Location Protocol. The range FF05::1:1000–FF05::1:13FF was previously assigned in RFC 2375; this document extends it across all scopes (FF0X). No additional IANA registry is required.

registry, multicast, v6ops

security-consideration §6 MUST

UAs and DAs MAY ignore all unauthenticated SLP messages when a valid IPSec association exists. SAs and DAs MUST be able to use IP Authentication and IP Encapsulating Security Payload for SLP messages whenever an appropriate IPSec Security Association exists.

security, ipsec, v6ops

state-machine §4.2.3

Out-of-scope response rules: a service with a link-local address responds only to link-local requests (Drop for site-local or global requestors); a site-local service responds to link-local and site-local requestors but Drops global; a global service responds to all requestors.

multicast, v6ops, ip