DHCP Options for Service Location Protocol
Extracted elements (14)
A zero-length Scope List configuration removes all centralized control of scope configuration, allowing every User Agent to see every service. This is flagged as potentially undesirable since users may not be able to choose appropriate services.
DHCP-based configuration of SLP is useful in larger deployments to centralize administration and to deploy SLP in networks where multicast routing is not available, complementing the default SLP multicast/broadcast discovery mechanism.
A SLP Service Scope Option with a Length of 1 (omitting the Scope List string entirely) validly configures the SLP User Agent to use 'User Selectable Scopes,' where the UA aggregates scopes from all known DAs or uses SA discovery.
The SLP Scope Option (code 79) takes precedence over both default and static scope configuration of SLP agents. If Mandatory is 0, static configuration takes precedence over the DHCP-provided scope list.
Directory Agents listed in the SLP Directory Agent Option MUST be listed in order of preference, if there is an order of preference.
For backward compatibility with some deployed software, the Mandatory byte in the Directory Agent Option MUST NOT be set to any byte value for which the high order bit (0x80) is set.
If the Mandatory byte in the SLP Directory Agent Option is set to 1, the SLP User Agent or Service Agent so configured MUST NOT employ either active or passive multicast discovery of Directory Agents.
If the Mandatory byte in the SLP Service Scope Option is 1, the Scope List provided in the option MUST be used by the SLP Agent, overriding any static configuration.
The Directory Agents listed in the SLP Directory Agent Option MUST be configured with a non-empty subset of the scope list that the receiving Agent is configured with.
The Length of the SLP Directory Agent Option minus one MUST always be divisible by 4 and has a minimum value of 5, enforcing the 4-byte-per-address structure.
A malicious host able to insert fraudulent information in DHCPOFFER packets can cause SLP Agents to be unable to obtain service or be directed to use incorrect services, including being prevented from using multicast or directed to nonexistent Directory Agents.
These risks are inherited from the broader problem that securing or authenticating any information from a DHCP server or client is not possible in common DHCP deployments, leaving SLP configuration vulnerable to denial-of-service and misdirection attacks.
SLP Directory Agent Option uses DHCP option code 78. The format is: 1-byte Code (78), 1-byte Length, 1-byte Mandatory flag, followed by one or more 4-byte IPv4 Directory Agent addresses in network byte order. Minimum Length is 5.
SLP Service Scope Option uses DHCP option code 79. The format is: 1-byte Code (79), 1-byte Length, 1-byte Mandatory flag, followed by a UTF-8 encoded comma-delimited Scope List string. Length includes 1 for the Mandatory byte.