- Dienstzugangspunkt
-
Service Access Point (auch Dienstzugangspunkt) ist ein Fachbegriff aus der Telekommunikation. Man bezeichnet damit die Schnittstelle zur Interaktion mit einer Kommunikations-Schicht an der oberen Grenze selbiger Schicht.
Traditionell modelliert man in der Telekommunikation Kommunikationssysteme und -protokolle mit sogenannten Schichten-Modellen, wie dem OSI-Modell. Funktionen, die zur Kommunikation notwendig sind, werden dabei in übereinander liegenden Schichten modelliert und dargestellt. Jede Schicht erfüllt eine spezifische Aufgabe (zum Beispiel eine Datenkodierung/-dekodierung). Anders ausgedrückt, jede Schicht erbringt einen gewissen Dienst für das Gesamtsystem, welche von der nächsthöheren Schicht genutzt wird. Eine Schnittstelle, die von einer Schicht für ihren Dienst nach oben hin angeboten wird, ist ein Service Access Point.
Der Dienstbenutzer (die höhere Schicht, service user) greift nur über den Service Access Point auf den Dienst der niedrigeren Schicht (den Diensteanbieter, service provider) zu. Zur Kommunikation werden dabei sogenannte Dienstelemente (service primitives) verwendet. Dies sind vorgegebene Protokolle, mit dem zum Beispiel die höhere Schicht Anforderungen an die niedrigere Schicht sendet, oder von dieser Daten erhält.
In der Praxis kann eine Schicht durchaus mehrere identische oder unterschiedliche Dienste gleichzeitig anbieten - zum Beispiel, wenn mehrere Verbindungen gleichzeitig abgewickelt werden. Dies bedeutet, eine Schicht kann mehrere Service Access Points besitzen. In vielen Protokollen ist es dann üblich, diese Service Access Points durch eine Nummerierung, Namen oder ähnliches zu bezeichnen, um sie zu unterscheiden. Ein solcher Bezeichner wird Service Access Point Identifier (SAPI) genannt. Höherliegende Schichten adressieren einen Dienst dann über einen entsprechenden SAPI, um zum Beispiel sicherzustellen, dass die Anfrage der Verbindung zugeordnet werden kann, für die sie bestimmt ist.
Primitives
Bei der Definition der Schnittstelle dienen Primitives als abstraktes Konzept und vermeiden so die strikte Vorgabe etwa einer API anhand von Funktions-Prototypen. Damit wird lediglich definiert, welche Daten ausgetauscht werden, jedoch nicht auf welche Weise die Übergabe abläuft.
Die Primitives unterteilen sich in vier Gruppen: Request, Indication, Response und Confirm. Ein Request wird durch die darüberliegende Schicht gesendet. Nachdem ein Request abgearbeitet wurde schickt in der Regel die bearbeitende Schicht eine Confirm-Nachricht. Ein Indication wird auf Initiative der unteren Schicht ausgelöst. Die darüberliegende Schicht hat in der Regel darauf folgend mit einer Response-Nachricht zu reagieren. Auslöser für Indication-Nachrichten sind gewöhnlich eingehende Daten von anderen Geräten, die diese als Reaktion auf einen Request verschicken.
Wikimedia Foundation.