Computer, denen bereits ein Zugang zu einem IP-basierten Netzwerk zur Verfügung steht, sollen Dienste selbständig auffinden und nutzen können. Dabei soll keine manuelle Hilfe von einem Administrator nötig sein. Der optimale zu nutzende Dienst-Leister (z.B. Drucker) soll allein anhand einer Reihe Kriterien, die der Nutzer bestimmen kann, automatisch gefunden, konfiguriert und genutzt werden.
Dabei soll anhand der Informationen über die Existenz, räumliche Lage (Drucker) und Konfiguration von Netzwerk-Diensten der zu nutzende Service ermittelt werden. Diese Informationen sollen natürlich-sprachlich abgegeben werden können.
Der Nutzer soll lediglich eine Beschreibung des gewünschten Dienstes sowie einige Rahmen-Daten angeben müssen und bekommt automatisch als Ergebnis Zugriff auf diesen Dienst (sofern vorhanden). Sämtliche Konfigurations-Arbeit soll für den Nutzer unsichtbar und automatisch ablaufen. Die Vergabe einer IP-Adresse ist nicht vorgesehen. Für diese Aufgabe wird explizit auf 'andere' Protokolle verwiesen.
Dabei soll eine zentrale Konfiguration und Steuerung aller Regeln möglich sein. Es soll möglich sein, Policies bezüglich Sicherheit, Multicast-Routing und Organisation der Dienste festzulegen und durchzusetzen.
SLP wurde designed, um Firmen-Netzwerke mit 'Shared Services' zu bedienen. Eine Nutzung über das gesammte Internet hinweg oder in Netzen mit mehreren tausend Clients ist nicht vorgesehen.
Das Service Location Protokoll basiert auf der Vorstellung, daß alle Diensterbringer und alle Dienstnutzer (also Clients und Server) als Agenten betrachtet werden. Somit wird meist ein Client als User Agent bezeichnet und ein Service als Service Agent. Ein Directory Agent bildet einen speziellen Auskunfts-Service.
Nachdem SLP nur eine allgemeine Dienstvermittlung beschreibt, muß in einer konkreten Verwendung durch einen Dienst dieser Dienst, bzw. sein Typ gekennzeichnet (benannt) werden können. Dies wird mit 'ServiceType' umgesetzt.
Ein Scope ist ein Bezeichner, um einen speziellen Bereich des Netzwerkes zu benennen.
Um Lokalitäten zu benennen (Rechnername, Port) verwendet man hier ausschließlich URLs (Uniform Ressource Locator) . Der URL ist im Zusammenhang mit dem allgemeinen Web-Hype berühmt geworden und hat folgende Grundstruktur (wie in RFC 1738 [BLMM94] beschrieben):
protokoll://[(host.)*]rechner.domain[:port]/<pfad>/<dokument>