Was ist WebRTC?
WAS IST ALI KARABAY WebRTCWebRTCEchtzeitEchtzeitKontakt 0 Kommentar

WebRTC ist ein Open-Source-Projekt, das derzeit in Entwicklung ist, um Peer-to-Peer-Kommunikation zwischen Webanwendungen in Echtzeit bereitzustellen.

WebRTC bietet einfache JavaScript-APIs, mit denen Entwickler Webanwendungen mit Echtzeit-Audio-, Video- und Datenübertragungsfunktionen erstellen können. Die jüngsten Entwicklungen in WebRTC haben es auch ermöglicht, es in lokale Anwendungen einzubauen. Da es unter der API-Überschrift eine Menge gibt, ist es wichtig, das Konzept und den Betrieb von WebRTC zu verstehen, um die Vorteile der Technologie voll auszuschöpfen.

Um eine WebRTC-Verbindung herzustellen, müssen wir die folgenden beiden Schritte ausführen:

  1. Suchen Sie einen Peer.

Schritt 1: Suchen eines Verknüpfungsteils

Betrachten Sie es als einen Telefonanruf, wenn Sie mit jemandem am Telefon sprechen müssen, wählen Sie die Telefonnummer der anderen Person und kontaktieren Sie diese Person. Dasselbe passiert, wenn dich jemand anrufen will. Bei der mobilizipativen Kommunikation verwenden wir Mobiltelefon-/Telefonnummern als Benutzer-ID. Diese Definition wird auch von Telekommunikationssystemen verwendet, um einen Benutzer zu finden.

Web-Apps können sich jedoch nicht gegenseitig "suchen und suchen". Jedem der Millionen Browser auf der ganzen Welt ist keine eindeutige ID (z. B. eine Telefonnummer) zugewiesen. Dem System, auf dem sich diese Anwendungen befinden, wird jedoch eine eindeutige IP-Adresse zugewiesen, die zum Auffinden eines Peers verwendet werden kann.

Aber dieser Prozess ist nicht so einfach, wie es scheint. Da die meisten dieser Systeme Netzwerkadressübersetzung (NAT) Gerät sitzt dahinter Nat-Geräte sind für Die Sicherheit und IPv4-Einschränkungen für die verfügbaren öffentlichen IP-Adressen erforderlich. Ein NAT-Gerät weist Systemen innerhalb eines lokalen Netzwerks private IP-Adressen zu. Diese privaten IP-Adressen sind gültig und nur innerhalb des lokalen Netzwerks sichtbar und können nicht verwendet werden, um die Kommunikation von der Außenwelt zu akzeptieren, da Systeme außerhalb des Netzwerks die öffentliche IP-Adresse von Geräten innerhalb des Netzwerks nicht kennen.

Aufgrund der Beteiligung von NAT-Geräten kennt ein Peer seine öffentliche IP-Adresse nicht, da sie durch eine private IP-Adresse maskiert ist, die von NAT zugewiesen wurde. Daher kann sie die öffentliche IP-Adresse nicht mit einem anderen Peer teilen, um Verbindungen zu akzeptieren. Genauer gesagt, wenn Sie möchten, dass jemand Sie anuns anuns tauft, müssen Sie Ihre Telefonnummer der anderen Person geben. In Anwesenheit von NAT werden anrufe an der Rezeption entgegengehalten und auf Anfrage auch an Ihr Zimmer weitergeleitet, z. B. in einem Hotel, in dem die Telefonnummer Ihres Zimmers von der Außenwelt verborgen ist. Diese Art des indirekten Verbindungsformats ist in der End-to-End-Konnektivitätstechnologie nicht vorgesehen.

Um darüber hinwegzukommen Interaktive Konnektivität (ICE) wir verwenden ein Protokoll namens Die Aufgabe von ICE ist es, den bestmöglichen Weg zu finden, die beiden Peers zu verbinden. ICE kann eine direkte Verbindung herstellen, d. h. in Ermangelung von NAT, sowie indirekte Verbindungen, d. h. in Gegenwart eines NAT. Der ICE-Rahmen bietet uns "ICE-Kandidaten". "ICE-Kandidaten" sind nichts anderes als Objekte, die unsere eigene öffentliche IP-Adresse, Portnummer und andere Informationen über die Verbindung enthalten.

In Ermangelung von NAT ist ICE ganz einfach, da die öffentliche IP-Adresse des Ehegatten fertig ist. In Anwesenheit von NAT, ICE Session Migration Utilities (STUN) für und / oder Verwenden von Relais um NAT (TURN) Übergang auf sogenannten Entitäten basieren.

Ein STUN-Server ermöglicht es einem Peer im Grunde, seine öffentliche IP-Adresse zu finden. Peers, die ihre öffentliche IP-Adresse kennen müssen, senden eine Anforderung an den STUN-Server. Der STUN-Server antwortet mit der öffentlichen IP-Adresse dieses Peers. Diese öffentliche Adresse kann jetzt mit anderen Kollegen geteilt werden, damit sie Sie finden können. Wenn sich der Peer jedoch hinter einem komplexen NAT und/oder einer Firewall befindet, kann selbst STUN den anfordernden Peer nicht finden und die IP-Adresse angeben. In solchen Fällen verlässt sich ICE auf TURN, um die Verbindung herzustellen. TURN ist, wie der Name schon sagt, ein Übertragungsserver und fungiert als Vermittler für Daten-, Audio- und Videoübertragung, wenn eine direkte Verbindung zwischen zwei Peers nicht möglich ist.

Der STUN-Server ist nur am globalen IP-Ermittlungsprozess beteiligt. Nachdem die WebRTC-Verbindung hergestellt wurde, erfolgt die gesamte andere Kommunikation über WebRTC. Im Fall von TURN ist sie jedoch im gesamten TURN-Server erforderlich, auch nachdem die WebRTC-Verbindung hergestellt wurde.

Ein TURN-Server ist etwas, das nicht beabsichtigt ist, aber aufgrund von STUN-Einschränkungen müssen wir ihm vertrauen. Ein STUN-Server ist nur etwa 86 % der Zeit erfolgreich.

"ICE ist kompliziert, weil wir in einer komplizierten Welt leben."

Schritt 2: Informieren Sie einen Ehepartner, um eine WebRTC-Verbindung herzustellen

Jetzt, da wir Eiskandidaten haben, besteht der nächste Schritt darin, sie an einen Peer zu schicken, mit dem wir uns verbinden wollen. Sitzungsbeschreibungen wie Sitzungsinformationen, Zeitbeschreibung, Medienbeschreibung werden mit Kandidaten gesendet. ICE-Kandidaten und Sitzungsbeschreibungwerden werden in einem Objekt und Session Disclosure Protocol (SDP) übertragen mit In einigen Fällen werden ICE-Kandidaten nicht im selben Objekt wie die Session Description gesammelt und separat gesendet, was Trickle ICE heißt (dies ist ein völlig neues Konzept, lassen Sie uns vorerst nicht in die Tiefe gehen!).

Ich schrieb, dass wir die Informationen an den anderen Peer "senden" sollten. Wie übertragen Sie Kandidaten und Sitzungsbeschreibungen jedoch nur, wenn wir die IP-Adresse des Absenders kennen und die IP-Adresse des empfangenden Ehepartners nicht kennen? Seit die WebRTC-Verbindung noch nicht hergestellt ist, über welches Medium werden diese Informationen übertragen?

Die Antwort auf all diese Fragen lautet: Signalmechanismus liegt in einem Konzept namens Bevor eine WebRTC-Verbindung hergestellt wird, benötigen wir eine Umgebung, um die oben genannten Informationen zwischen Peers zu übertragen und ihnen mitzuteilen, wie sie für eine WebRTC-Verbindung suchen und eine Verbindung zueinander herstellen können. Hier setzt der Signalmechanismus an. Wie der Name schon sagt, ermöglicht ein Signalisierungsmechanismus Verbindungssignale (ICE-Kandidaten, Session-Beschreibung usw.) zwischen zwei Peers, die eine Verbindung herstellen möchten. Änderungen.

WebRTC definiert keine Standards für die Implementierung eines solchen Signalisierungsmechanismus und überlässt es dem Entwickler, einen Mechanismus nach seinen Wünschen zu erstellen. Zum Informationsaustausch kann der Signalisierungsmechanismus entweder durch Kopieren und Einfügen von Informationen an die relevanten Peers oder durch Verwendung von WebSockets, Socket.io, Server-Side-Ereignissen usw. verwendet werden. Es kann über einen Kommunikationskanal wie durchgeführt werden. Kurz gesagt, ein Signalmechanismus es ist nur ein Modus. Der Austausch von Informationen über die Verbindung zwischen Peers erfolgt, damit sich die Peers identifizieren und mehr mit WebRTC kommunizieren können.

  Zitat

KARABAY A, 2020 . Was ist WebRTC ?,

https://www.karabayyazilim.com/blog/diger/webrtc-nedir-2020-10-24-165855

(Abgerufen am 24. Oktober 2020).


  Diesen Beitrag teilen

Kommentare (0)

Kommentar

Abonnieren
Melden Sie sich für den E-Mail-Newsletter an, um als Erster über meine Blogbeiträge Bescheid zu wissen