consdata.com
Blog techniczny Blog biznesowy Dział HR
EN
webrtc

Czy wiesz, że WebRTC korzysta z serwera STUN, aby umożliwić połączenie P2P?

author Jakub Goszczurny
20 sierpnia 2021

Czy wiesz że WebRTC korzysta z serwera STUN, aby umożliwić połączenie P2P, a w ostateczności z serwera TURN aby przepuścić ruch przez niego i umożliwić połączenie?

Rzadko kiedy zwykły użytkownik posiada na swoim komputerze publiczne IP, przez co przekazanie informacji drugiej osobie “moje ip to 192.168.0.X” nie umożliwi połączenia P2P.

Nieudane połączenie P2P Nieudane połączenie P2P
źródło: MDN - dostęp: 2020-08-20

Dopiero wykorzystanie serwera STUN do określenia publicznego IP oraz ewentualnych ograniczeń może, w większości przypadków, pomóc przy zestawieniu połączenia P2P.

Wykorzystanie serwera STUN Wykorzystanie serwera STUN
źródło: MDN - dostęp: 2020-08-20

Dzięki temu użytkownik A i B mogą przesłać do siebie adresy przez serwer pośredniczący (tzw. signaling) i ustanowić połączenie P2P.

Niestety w niektórych przypadkach samo wykorzystanie STUN nie umożliwia połączenia P2P (np. kiedy użytkownik jest za symetrycznym NATem).

Wtedy możliwe jest wykorzystanie serwera TURN, który będzie działał jak proxy dla przesyłanych pakietów.

Niestety wiąże się to z większym wykorzystaniem zasobów oraz łącza sieciowego przy przesyłaniu pakietów przez dostawcę usługi WebRTC.

Wykorzystanie serwera TURN Wykorzystanie serwera TURN
źródło: MDN - dostęp: 2020-08-20

W tym wariancie połączenie bezpośrednie nie było możliwe, ale przesyłanie pakietów przez TURN pozwala użytkownikom nadal się połączyć z przez WebRTC.

Połączenie w tym wypadku nadal będzie bezpieczne, ponieważ pakiety są szyfrowane i TURN nie ma możliwości ich odczytania, służy tylko jako pośrednik.

Darmowym serwerem STUN/TURN jest coTURN (https://github.com/coturn/coturn). A jeśli chcesz zobaczyć, pod jakim adresem Cię widać z zewnątrz możesz wykorzystać to narzędzie online: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/.

Źródła

https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Protocols https://blog.ivrpowers.com/post/technologies/what-is-stun-turn-server/ https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/

Najnowsze wpisy

  • Dostępność w PDF - dokumenty bez barier
  • Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?
  • Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

newsletter

techniczny

Zapisz się

Podobne wpisy

post-image
WCAG

Dostępność w PDF - dokumenty bez barier

author
Kacper Hoffman 28 kwi 2025
post-image
angular

Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?

author
Piotr Tatarski 7 kwi 2025
post-image
angular

Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?

author
Dorian Mejer 10 mar 2025
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

Zapisz się na

newsletter

techniczny

consdata.com
  • Kontakt

    • sales@consdata.com
    • +48 61 41 51 000

  • Biuro

    • K9Office
      Krysiewicza 9/14
      61-825 Poznań
      Polska

  • Rozwiązania

    • Eximee
    • Kouncil
  • Blog Dołącz do nas
Copyright © 2024 Consdata. All rights reserved. Privacy Policy & Cookies
Chcemy używać plików cookie oraz skryptów podmiotów trzecich do polepszania funkcjonowania tej strony Zgadzam się