Markus Mainka - Fotolia
Was ist ein WebRTC-Server und welche Funktion hat er?
Einen WebRTC-Server gibt es in der Spezifikation nicht. Meistens ist damit ein Signal- oder Medienserver für Browser-basierte Kommunikation gemeint.
Oft liest oder hört man von einem WebRTC-Server, der für die Kommunikationsverbindungen notwendig ist. Was ist ein WebRTC-Server und welche Aufgaben hat er?
So etwas wie einen WebRTC-Server gibt es in der Spezifikation für WebRTC nicht. Wenn von einem WebRTC-Server die Rede ist, geht es in der Regel um das Backend eines WebRTC-basierten Services.
Die Peer-to-Peer-Kommunikation via WebRTC wird oftmals missverstanden. WebRTC heißt nicht, dass Sie keine Server mehr benötigen, um die Anrufe zu verbinden oder diese auszuhandeln. Es bedeutet lediglich, dass Sie direkt zwischen Browsern kommunizieren können.
Damit ein WebRTC Service angemessen funktioniert, sind folgende Serverarten als Backend notwendig:
1. Signalserver: Damit sich eine Sitzung oder Session zwischen zwei Browsern etablieren lässt, wird irgendeine Form von Vermittler benötigt. Das ist ein Server, der beide Enden des Anrufs kennt. Der Signalserver, der die Sitzung aushandelt, ist dafür verantwortlich. Möglicherweise kommt das der Sache am nächsten, die allgemein als WebRTC-Server bezeichnet wird.
Oftmals schickt der Server während der Session auch relevante Daten. Signalserver können auf standardisierte Protokolle wie zum Beispiel SIP oder XMPP setzen. Möglich ist auch, dass sie ein proprietäres Protokoll verwenden. Manchmal ist die Signalkomponente ein Teil des Webservers, der die Website betreibt. Dann gibt es Fälle, bei denen ein dedizierter Server für das Signal eingesetzt wird.
2. TURN- und STUN-Server: Wenn beide Enden einer Session voneinander wissen, dann werden sie versuchen, eine direkte Verbindung aufzubauen. Das funktioniert manchmal und manchmal eben nicht.
Wenn es nicht klappt, dann hängt das oft am Network Address Translation (NAT) oder einer Firewall, die sich im Kommunikationspfad befindet. Entweder sind die Adressen der Browser maskiert und werden von einer privaten IP-Adresse in eine öffentliche übersetzt oder es soll ganz einfach keine Kommunikation erlaubt sein. In diesem Fall wird der Traffic blockiert und als nicht erwünscht eingestuft.
Um diese Probleme zu vermeiden, verwendet WebRTC STUN und TURN. Diese Protokolle helfen den Serverkomponenten bei der Aushandlung der Media-Übertragung. Zuweilen werden auch sämtliche Medien durch den TURN-Server geleitet.
3. Media-Server: Selbst nach der Aushandlung des Signals und der Verbindung der Media-Komponenten, möchten wir möglicherweise die Medien auf der Seite des Servers verarbeiten. Das ist unter Umständen dann der Fall, wenn einer Sitzung eine große Anzahl an Anwendern beiwohnt. Vielleicht soll die Session auch aufgenommen und archiviert werden. Es ist zudem denkbar, dass der Server als Gateway für die Session dient, um sie in ein anderes Netzwerkprotokoll zu übersetzen. In solchen Fällen würden wir einen sogenannten Backend Media Server einsetzen.
Je nach Zusammenhang können alle Arten der oben genannten Servertypen als WebRTC-Server bezeichnet werden. In den meisten Fällen ist damit jedoch der Signalserver gemeint.
Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!