Das Session Announcement Protocol (SAP) ist ein Netzwerkprotokoll aus dem Bereich der IP-Telefonie, welches Multicast-Multimediasitzungen und andere Multicast-Sitzungen unterstützt und die entsprechende Sitzungskonfiguration an in Frage kommende Teilnehmer weiterleitet. Es wurde von der IETF entwickelt und wird in der RFC 2974 beschrieben.

Funktionsprinzip

Der SAP-Ankündiger sendet dabei periodisch Ankündigungspakete an die allgemein bekannte („well known“) Multicast-Adresse (sap.mcast.net = 224.2.127.254) auf den entsprechenden Port (Standard: 9875). Der SAP-Client horcht auf diesem Port, um eventuelle Anfragen für Multicast-Sitzungen erkennen und annehmen zu können.

Aufbau eines SAP-Paketes

0 3 4 5 6 7 8 16 31
V=1 A R T E C Auth len Msg ID hash
Originating source (32 Bit oder 128 Bit)
Optional Authentication Data
Optional timeout
Optional payload type
0
Payload
  • V – 3 Bit – Versionsnummer, muss auf 1 gesetzt sein
  • A – 1 Bit – Address Type, kann 0 oder 1 sein
    • 0 – Feld Originating Source enthält IPv4-Adresse (32 Bit)
    • 1 – Feld Originating Source enthält IPv6-Adresse (128 Bit)
  • R – 1 Bit – Reserved, wird von SAP-Ankündigern auf 0 gesetzt und von SAP-Clients ignoriert
  • T – 1 Bit – Message Type, kann 0 oder 1 sein
    • 0 – Paket zur Ankündigung einer Sitzung
    • 1 – Paket zum Löschen einer Sitzung
  • E – 1 Bit – Encryption Bit, kann 0 oder 1 sein
    • 0 – Der Payload ist nicht verschlüsselt, das Timeout-Feld darf fehlen
    • 1 – Der Payload ist verschlüsselt, das Timeout-Feld muss dem Header hinzugefügt werden
  • C – 1 Bit – Compressed Bit, wenn 1 gesetzt, dann ist der Payload komprimiert
  • Authentication Length – 8 Bit – Gibt die Anzahl an 32-Bit-Wörtern an, die dem Header folgen und Authentifizierungsdaten enthalten, an. Wenn 0, dann kein Authentifizierungs-Header vorhanden
  • Message Identifier Hash – 16 Bit – Wird zusammen mit dem Feld Origination Source benutzt, um einen global eindeutigen Identifikator für diese Nachricht zu erhalten.
  • Origination Source – 32 Bit oder 128 Bit – Die IP-Adresse des Urhebers der Nachricht. Wenn Feld A 0 gesetzt ist, dann steht hier eine IPv4-Adresse, wenn 1, dann eine IPv6-Adresse.
  • Timestamp – 32 Bit – Falls der Payload verschlüsselt ist, enthält diese Feld einen Zeitstempel, der vorschreibt, wie lange die Nachricht gültig ist. Er ist im NTP-Format gespeichert und in Sekunden angegeben.
  • Payload Type – Enthält den MIME-Type (sprich das Datenformat) des Payloads. Er ist als ASCII-String angegeben und wird von einem Null-Byte (ASCII NUL) abgeschlossen.
  • Payload – Enthält die eigentlichen Daten (Nutzlast) und ist noch einmal in diverse Unterfelder geteilt.

Siehe auch

Commons: Session Announcement Protocol – Sammlung von Bildern, Videos und Audiodateien
  • M. Handley, C. Perkins, E. Whelan: RFC 2974 Session Announcement Protocol. Oktober 2000 (englisch).

Einzelnachweise

  1. M. Handley, C. Perkins, E. Whelan: RFC 2974 Session Announcement Protocol. Oktober 2000 (englisch).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.