SLP, Service Location Protocol

Description Glossary RFCs Publications Obsolete RFCs

Description:

Protocol suite: TCP/IP.
Protocol type:Application layer protocol.
Multicast addresses: 239.255.255.253 (Administratively Scoped SLP Multicast).
224.0.1.22 (Service Location General Multicast Address).
224.0.1.35 (Directory Agent Discovery Multicast Address).
Ports: 427 (TCP, UDP).
1847 (TCP, UDP) notification.
URI:service:
MIME subtype:
SNMP MIBs:
Working groups: svrloc, Service Location Protocol.
Links: www.srvloc.org/
IANA: SLP extensions.

SLP provides a way for clients to dynamically discover network services.


MAC header IP header TCP header SLP header Data :::

SLP header version 1:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Version Function Length
O M U A F Reserved Dialect Language Code
Char Encoding XID
Data :::

Version. 8 bits. Must be set to 1.
Version of Service Location Protocol.

Function. 8 bits.

FunctionDescription
1Service Request.
2Service Reply.
3Service Registration.
4Service Deregister.
5Service Acknowledge.
6Attribute Request.
7Attribute Reply.
8DA Advertisement.
9Service Type Request.
10Service Type Reply.

Length. 16 bits.
The total number of bytes in the message including the SLP header.

O, Overflow. 1 bit.
Set when a message's length exceeds what can fit into a datagram.

M, Monolingual. 1 bit.
If this bit is set, the User Agent will only accept responses in the language specified by the Service Request or Attribute Request.

U, URL Authentication Present. 1 bit.

A, Attribute Authentication Present. 1 bit.

F, Fresh. 1 bit.
If set and the function is a Service Acknowledgement, the directory agent has registered the service as a new entry, not as an updated entry.

reserved. 3 bits. Must be cleared to zero.

Dialect. 8 bits. Must be cleared to zero.
Dialect tags will be used by future versions of the Service Location Protocol to indicate a variant of vocabulary used.

Language Code. 16 bits.
Strings within the remainder of the message which follows are to be interpreted in the language encoded in this field.

Char Encoding. 16 bits.
The characters making up strings within the remainder of the message may be encoded in any standardized encoding.

XID, Transaction Identifier. 16 bits.
This field allows the requester to match replies to individual requests. Note that, whenever there is an Attribute Authentication block, there will also be a URL Authentication block. Thus, it is an error to have the A bit set without also having the U bit set.

Data. Variable length.


MAC header IP | IPv6 header TCP header SLP header Data :::

SLP header version 2:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Version Function Length
Length O F R reserved Next Ext Offset
Next Ext Offset XID
Data :::

Version. 8 bits. Must be set to 2.
Version of Service Location Protocol.

Function. 8 bits.
Same as in version 1.

Length. 24 bits.
The total number of bytes in the message including the SLP header.

O, Overflow. 1 bit.
Set when the length of a message exceeds what can fit into a datagram.

F, Fresh. 1 bit.
If set and the function is a Service Acknowledgement, the directory agent has registered the service as a new entry, not as an updated entry.

R, Request multicast. 1 bit.
Set when multicasting or broadcasting requests.

Reserved. 13 bits. Must be cleared to zero.

Next Ext Offset. 24 bits.
Cleared to 0 unless extensions are used. The first extension begins at 'offset' bytes, from the message's beginning. It is placed after the SLP message data.

XID, Transaction Identifier. 16 bits.
This field allows the requester to match replies to individual requests. Note that, whenever there is an Attribute Authentication block, there will also be a URL Authentication block.

Data. Variable length.


SLP extensions:

ExtensionDescriptionReferences
0x0001Attribute missing. RFC 2609
0x0002Attribute list. RFC 3059
0x0003Vendor opaque. 
0x0004Subscribe. RFC 3082
0x0005NotifyAt. RFC 3082
0x0006Mesh-enhancement. RFC 3528
0x4001SLP Local Service Autoderegistration. 
0x4002Selection. RFC 3421
0x4003Sort. RFC 3421

Glossary:

DA, Directory Agent.
(RFC 2608). A process which collects service advertisements. There can only be one DA present per given host.

Naming Authority.
(RFC 2608). The agency or group which catalogues given Service Types and Attributes. The default Naming Authority is IANA.

SA, Service Agent.
(RFC 2608). A process working on the behalf of one or more services to advertise the services.

Scope.
(RFC 2608). A set of services, typically making up a logical administrative group.

Service Type.
(RFC 2608). Each type of service has a unique Service Type string.

UA, User Agent.
(RFC 2608) A process working on the user's behalf to establish contact with some service. The UA retrieves service information from the Service Agents or Directory Agents.


RFCs:

[RFC 2165] Service Location Protocol.

[RFC 2608] Service Location Protocol, Version 2.

[RFC 2609] Service Templates and Service: Schemes.

[RFC 2614] An API for Service Location.

[RFC 2926] Conversion of LDAP Schemas to and from SLP Templates.

[RFC 3059] Attribute List Extension for the Service Location Protocol.

[RFC 3082] Notification and Subscription for SLP.

[RFC 3105] Finding an RSIP Server with SLP.

[RFC 3111] Service Location Protocol Modifications for IPv6.

[RFC 3224] Vendor Extensions for Service Location Protocol, Version 2.

[RFC 3421] Select and Sort Extensions for the Service Location Protocol (SLP).

[RFC 3528] Mesh-enhanced Service Location Protocol (mSLP).

[RFC 3712] Lightweight Directory Access Protocol (LDAP): Schema for Printer Services.

[RFC 3723] Securing Block Storage Protocols over IP.

[RFC 3822] Finding Fibre Channel over TCP/IP (FCIP) Entities Using Service Location Protocol version 2 (SLPv2).

[RFC 3832] Remote Service Discovery in the Service Location Protocol (SLP) via DNS SRV.

[RFC 4018] Finding Internet Small Computer Systems Interface (iSCSI) Targets and Name Servers by Using Service Location Protocol version 2 (SLPv2).


Publications:


Obsolete RFCs:


Description Glossary RFCs Publications Obsolete RFCs