Zum Inhalt springen

„Session Description Protocol“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Änderungen von 92.194.84.167 (Diskussion) rückgängig gemacht und letzte Version von SpBot wiederhergestellt
tk k
 
(41 dazwischenliegende Versionen von 30 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{| class="wikitable float-right" style="width:22em;"
{{Überarbeiten}}
|+ style="background:#C0C0FF; font-size:larger;"| SDP (Session Description Protocol)
{| class="prettytable float-right" style="width:22em;"
|-----
|-
! bgcolor="#C0C0FF" colspan="2" font="size:larger" | SDP (Session Description Protocol)
|-----
| '''Familie:'''
| '''Familie:'''
| [[Internetprotokollfamilie]]
| [[Internetprotokollfamilie]]
|-----
|-
| '''Einsatzgebiet:'''
| '''Einsatzgebiet:'''
| Beschreibung von Multimedia-Sitzungen im Rahmen der Aushandlung von Medienformaten
| Beschreibung von Multimedia-Sitzungen im Rahmen der Aushandlung von Medienformaten
|-----
|-
| align="center" colspan="2" |
|colspan="2" style="text-align:center" |
{{Netzwerk-TCP-IP-Anwendungsprotokoll|SDP|}}
{{Netzwerk-TCP-IP-Anwendungsprotokoll|SDP|}}
|-----
|-
| '''Standards:'''
| '''Standards:'''
| <nowiki>RFC&nbsp;8866</nowiki> (2021)<ref name="RFC8866" />
| RFC 4566 ([[2006]])
|}
|}


Mit dem '''Session Description Protocol''' (SDP, RFC 4566) werden Eigenschaften von Multimediadatenströmen beschrieben. Es dient dazu, Kommunikationssitzungen zu verwalten, und wird beispielsweise zusammen mit [[Session Initiation Protocol|SIP]] und [[H.323]] in der [[IP-Telefonie]] bei der Aushandlung von [[Codec]]s, Transportprotokollen und -adressen und zur Übertragung von Metadaten eingesetzt. SDP selbst bietet keinen eigenen Aushandlungsmechanismus, sondern nur eine Beschreibung der Datenströme. Datensätze im SDP-Format können mit verschiedenen Transportprotokollen übertragen werden, z.B. auch mit solchen "Transportprotokollen" wie E-Mail.
Mit dem '''Session Description Protocol''' ('''SDP''', <nowiki>RFC&nbsp;8866</nowiki>;<ref name="RFC8866" /> deutsch: „Sitzungsbeschreibungsprotokoll“) werden Eigenschaften von Multimediadatenströmen beschrieben. Es dient dazu, [[Sitzung (Informatik)|Kommunikationssitzungen]] zu verwalten, und wird beispielsweise zusammen mit [[Session Initiation Protocol|SIP]] in der [[IP-Telefonie]] bei der Aushandlung von [[Codec]]s, Transportprotokollen und -adressen und zur Übertragung von Metadaten eingesetzt. SDP selbst bietet keinen eigenen Aushandlungsmechanismus, sondern nur eine Beschreibung der [[Streaming Media|Datenströme]] (streams). Datensätze im SDP-Format können mit verschiedenen Transportprotokollen übertragen werden, z.&nbsp;B. auch mit dem [[Session Announcement Protocol]] (SAP, <nowiki>RFC&nbsp;2974</nowiki><ref>{{RFC-Internet |RFC=2974 |Titel=Session Announcement Protocol |Datum=2000-10}}</ref>).


SDP wurde als Standardprotokoll für die Medienaushandlung beim Aufbau von SIP-Verbindungen definiert.<ref>{{RFC-Internet |RFC=3261 |Titel=SIP: Session Initiation Protocol |Datum=2002-06 |Abschnitt=2}}</ref>
== Beispiel: ==


== SDP-Inhalte ==
v=0
SDP-Inhalte bestehen aus mehreren Parametern, die in einfacher Syntax (<code><Parametertyp>=<Parameterwert></code>) untereinander stehend angegeben werden.<ref name="RFC4566" />
o=Alice 1234 1234 IN IP4 host.example.com
s=Video von 987654
c=IN IP4 host.example.com
t=0 0
m=audio 20000 RTP/AVP 97
a=rtpmap:97 iLBC/16000
m=video 20001 RTP/AVP 31
a=rtpmap:31 H261/90000

Alice bietet dem Empfänger von host.example.com ausgehend die Sitzung Nr. 1234 an, beinhaltend 2 Nachrichtenströme (m=), die beide mit dem Transportprotokoll RTP versendet werden. Der eine ist ein Audiostrom im Format [[iLBC]] (97) an Port 20000, der andere ein Videodatenstrom im Format [[H.261]] (32) an Port 20001. Die Attribute (a=) der jeweiligen Datenströme beschreiben Formatparameter, der mit der Nummer 97 hat dem Namen iLBC und eine Samplerate von 16kHz.

RFC 4317 enthält ausführliche Beispiele dafür, wie eine Protokollaushandlung mittels SDP dann aussehen könnte.

== Felder: ==


'''Sitzungsbeschreibung'''
* v = Protokoll-Version
* v = Protokollversion (aktuelle Versionsnummer ist "0"<ref name="RFC4566" />)
* o = Ersteller der Session und Session-Identifizierung
* o = Ersteller der Session und Session-Identifizierung
* s = Name der Session
* s = Name der Session
* i = zusätzliche Session-Informationen (optional)
* i = zusätzliche Session-Informationen (optional)
* u = [[URI]] mit der weiterführender Beschreibung (optional)
* u = [[Uniform Resource Identifier|URI]] der auf zusätzliche Informationen zur Session verweist (optional)
* e = E-Mail-Adresse (optional)
* e = [[E-Mail-Adresse]] (optional)
* p = Telefon-Nummer (optional)
* p = [[Telefonnummer]] (optional)
* c = Verbindungs-Information (wird nicht benötigt, wenn bei allen Medien angegeben, optional)
* c = Verbindungsinformation (wird nicht benötigt, wenn bei allen Medien angegeben, optional)
* b = Information über die Bandbreite (optional)
* b = Information über die [[Datenübertragungsrate]] (optional)
* ''Eine oder mehrere Zeit-Beschreibungen (s. u.)''
* ''Eine oder mehrere Zeitbeschreibungen (s.&nbsp;u.)''
* z = Zeitzonen-Anpassungen (optional)
* z = [[Zeitzone]]nanpassungen (optional)
* k = Verschlüsselungs-Schlüssel (encryption key) (optional)
* k = [[Verschlüsselung]]sschlüssel (encryption key) (optional)
* a = keine oder mehr Session-Attribute (optional)
* a = keine oder mehr Session-Attribute (optional)
* ''Keine oder mehr Medien-Beschreibungen (s.u.)''
* ''Keine oder mehr Medienbeschreibungen (s.&nbsp;u.)''


'''Zeitbeschreibungen'''

'''Zeit-Beschreibungen''':
* t = Zeit, in der die Session aktiv ist
* t = Zeit, in der die Session aktiv ist
* r = keine oder mehr Wiederholungen (optional)
* r = keine oder mehr Wiederholungen (optional)


'''Medienbeschreibung'''
* m = Medientyp, [[Port (Protokoll)|Port]] und Protokoll für den Medientransport sowie die Medienformate
* i = Titel des Mediums (optional)
* c = Verbindungsinformationen, wenn diese nicht in der Session definiert sind (s.&nbsp;o., optional)
* b = keine oder mehr Informationen zur Datenübertragungsrate (optional)
* k = Verschlüsselungsschlüssel ("encryption key", optional)
* a = keine oder mehr Medienattribute (optional)


== SDP-Beispiel ==
'''Beschreibung der Medien:'''
Anhand eines beispielhaften SDP-Teils einer SIP-Verbindungsnachricht werden die wesentlichen SDP-Parameter erläutert:
* m = Medienname und Adresse für den Medientransport (i. d. R. IP/Adresse und Port)
v=0
* i = Titel des Mediums (optional)
o=Alice 1234 1234 IN IP4 host.provider1.com
* c = Verbindungs-Informationen, optional wenn diese nicht in der Session definiert sind (s. o, optional)
s=Video von 987654
* b = keine oder mehr Bandbreiteninformationen (optional)
c=IN IP4 host.provider2.com
* k = Verschlüsselungs-Schlüssel ("encryption key", optional)
t=0 0
* a = keine oder mehr Media-Attribute (optional)
m=audio 20000 RTP/AVP 97
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=30
m=video 20002 RTP/AVP 31
a=rtpmap:31 H261/90000

Sitzungsinitiator "Alice" bietet dem Empfänger von "host.provider2.com" ausgehend die Sitzungsnummer 1234 an (erste Zahl). Die zweite Zahl ist die Sitzungsversionsnummer, die sich bei jeder Änderung während der Sitzung erhöht. Die Sitzung soll zwei Datenströme (m=) übertragen, die beide mit dem Transportprotokoll [[Real-Time Transport Protocol|RTP]] versendet werden. Der eine Datenstrom ist ein Audiostrom im Format [[Internet Low Bitrate Codec|iLBC]] (97) an Port 20000, der andere ein Videodatenstrom im Format [[H.261]] (31) an Port 20002. Die Attribute (a=) der jeweiligen Datenströme beschreiben Formatparameter, der mit der Nummer 97 hat den Namen iLBC und eine [[Abtastrate]] von 8&nbsp;kHz.

<nowiki>RFC&nbsp;4317</nowiki> enthält mehrere ausführliche Beispiele, wie eine Medienaushandlung mittels SDP aussehen könnte.<ref>{{RFC-Internet |RFC=4317 |Titel=Session Description Protocol (SDP) Offer/Answer Examples |Datum=2005-12}}</ref>


== Literatur ==
Quelle: IETF RFC 4566: SDP: Session Description Protocol (M. Handley, V. Jacobson, C. Perkins, Juli 2006)
* Ulrich Trick, Frank Weber: ''SIP, TCP/IP und Telekommunikationsnetze.'' 2. Auflage. Oldenbourg, 2005, ISBN 3-486-57796-4.


== Einzelnachweise ==
[[Kategorie:Netzwerkprotokoll auf Anwendungsschicht]]
<references>
<ref name="RFC4566">
{{RFC-Internet |RFC=4566 |Titel=SDP: Session Description Protocol |Datum=2006-07 |Autor=M. Handley, V. Jacobson, C. Perkins}}
</ref>
<ref name="RFC8866">
{{RFC-Internet |RFC=8866 |Titel=SDP: Session Description Protocol |Datum=2021-01 |Obsoletes=4566}}
</ref>
</references>


[[Kategorie:Internet-Anwendungsprotokoll]]
[[en:Session Description Protocol]]
[[es:Session Description Protocol]]
[[fi:Session Description Protocol]]
[[ja:Session Description Protocol]]
[[ko:Session Description Protocol]]
[[pl:Session Description Protocol]]
[[ru:Session Description Protocol]]
[[zh:会话描述协议]]

Aktuelle Version vom 2. Juli 2023, 12:00 Uhr

SDP (Session Description Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Beschreibung von Multimedia-Sitzungen im Rahmen der Aushandlung von Medienformaten
SDP im TCP/IP-Protokollstapel:
Anwendung SDP
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI
Standards: RFC 8866 (2021)[1]

Mit dem Session Description Protocol (SDP, RFC 8866;[1] deutsch: „Sitzungsbeschreibungsprotokoll“) werden Eigenschaften von Multimediadatenströmen beschrieben. Es dient dazu, Kommunikationssitzungen zu verwalten, und wird beispielsweise zusammen mit SIP in der IP-Telefonie bei der Aushandlung von Codecs, Transportprotokollen und -adressen und zur Übertragung von Metadaten eingesetzt. SDP selbst bietet keinen eigenen Aushandlungsmechanismus, sondern nur eine Beschreibung der Datenströme (streams). Datensätze im SDP-Format können mit verschiedenen Transportprotokollen übertragen werden, z. B. auch mit dem Session Announcement Protocol (SAP, RFC 2974[2]).

SDP wurde als Standardprotokoll für die Medienaushandlung beim Aufbau von SIP-Verbindungen definiert.[3]

SDP-Inhalte bestehen aus mehreren Parametern, die in einfacher Syntax (<Parametertyp>=<Parameterwert>) untereinander stehend angegeben werden.[4]

Sitzungsbeschreibung

  • v = Protokollversion (aktuelle Versionsnummer ist "0"[4])
  • o = Ersteller der Session und Session-Identifizierung
  • s = Name der Session
  • i = zusätzliche Session-Informationen (optional)
  • u = URI der auf zusätzliche Informationen zur Session verweist (optional)
  • e = E-Mail-Adresse (optional)
  • p = Telefonnummer (optional)
  • c = Verbindungsinformation (wird nicht benötigt, wenn bei allen Medien angegeben, optional)
  • b = Information über die Datenübertragungsrate (optional)
  • Eine oder mehrere Zeitbeschreibungen (s. u.)
  • z = Zeitzonenanpassungen (optional)
  • k = Verschlüsselungsschlüssel (encryption key) (optional)
  • a = keine oder mehr Session-Attribute (optional)
  • Keine oder mehr Medienbeschreibungen (s. u.)

Zeitbeschreibungen

  • t = Zeit, in der die Session aktiv ist
  • r = keine oder mehr Wiederholungen (optional)

Medienbeschreibung

  • m = Medientyp, Port und Protokoll für den Medientransport sowie die Medienformate
  • i = Titel des Mediums (optional)
  • c = Verbindungsinformationen, wenn diese nicht in der Session definiert sind (s. o., optional)
  • b = keine oder mehr Informationen zur Datenübertragungsrate (optional)
  • k = Verschlüsselungsschlüssel ("encryption key", optional)
  • a = keine oder mehr Medienattribute (optional)

Anhand eines beispielhaften SDP-Teils einer SIP-Verbindungsnachricht werden die wesentlichen SDP-Parameter erläutert:

v=0
o=Alice 1234 1234 IN IP4 host.provider1.com
s=Video von 987654
c=IN IP4 host.provider2.com
t=0 0
m=audio 20000 RTP/AVP 97
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=30
m=video 20002 RTP/AVP 31
a=rtpmap:31 H261/90000

Sitzungsinitiator "Alice" bietet dem Empfänger von "host.provider2.com" ausgehend die Sitzungsnummer 1234 an (erste Zahl). Die zweite Zahl ist die Sitzungsversionsnummer, die sich bei jeder Änderung während der Sitzung erhöht. Die Sitzung soll zwei Datenströme (m=) übertragen, die beide mit dem Transportprotokoll RTP versendet werden. Der eine Datenstrom ist ein Audiostrom im Format iLBC (97) an Port 20000, der andere ein Videodatenstrom im Format H.261 (31) an Port 20002. Die Attribute (a=) der jeweiligen Datenströme beschreiben Formatparameter, der mit der Nummer 97 hat den Namen iLBC und eine Abtastrate von 8 kHz.

RFC 4317 enthält mehrere ausführliche Beispiele, wie eine Medienaushandlung mittels SDP aussehen könnte.[5]

  • Ulrich Trick, Frank Weber: SIP, TCP/IP und Telekommunikationsnetze. 2. Auflage. Oldenbourg, 2005, ISBN 3-486-57796-4.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b RFC: 8866 – SDP: Session Description Protocol. Januar 2021 (löst RFC 4566 ab, englisch).
  2. RFC: 2974 – Session Announcement Protocol. Oktober 2000 (englisch).
  3. RFC: 3261 – SIP: Session Initiation Protocol. Juni 2002, Abschnitt 2 (englisch).
  4. a b M. Handley, V. Jacobson, C. Perkins: RFC: 4566 – SDP: Session Description Protocol. Juli 2006 (englisch).
  5. RFC: 4317 – Session Description Protocol (SDP) Offer/Answer Examples. Dezember 2005 (englisch).