Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data) · Oppitunti

ICE-ehdokkaat ja yhteyden muodostaminen

Tutustukaa ICE-ehdokkaisiin, siihen, miten ne edustavat verkko-osoitteita, ja siihen, miten ICE auttaa löytämään parhaan reitin vertaisyhteydelle.

Oppitunti 3/410 vaihetta

ICE-ehdokkaat ja yhteyden muodostaminen on ilmainen Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-kurssilla on yhteensä 4 oppituntia.

ICE: Yhteyksien etsijä

ICE tulee sanoista Interactive Connectivity Establishment. Se on WebRTC:n keskeinen kehys, joka auttaa muodostamaan suoria yhteyksiä vertaisten välille myös hankalissa verkoissa, kuten NATien tai palomuurien takana.

Ajattele ICE:tä nokkelana etsivänä. Se löytää kaikki mahdolliset reitit, joita kaksi osapuolta voi käyttää suoraan keskustelemiseen, ja valitsee niistä parhaan.

Verkon esteiden ylittäminen

Monet laitteet muodostavat internetyhteyden reitittimien kautta. Reitittimet käyttävät NATia (Network Address Translation) tai niiden yhteydessä on palomuureja. Ne toimivat kuin vartijat ja estävät usein suorat saapuvat yhteydet.

  • NAT: Piilottaa yksityiset verkon IP-osoitteet yhden julkisen IP-osoitteen taakse.
  • Palomuurit: Estävät luvattoman käytön.

Ilman ICE:tä suoran vertaisverkkoyhteyden muodostaminen tällaisissa ympäristöissä olisi lähes mahdotonta.

Mitä ICE-ehdokkaat ovat?

ICE-ehdokas on pohjimmiltaan mahdollinen verkko-osoite ja portti, josta vertainen voidaan tavoittaa. Kumpikin vertainen kerää useita ehdokkaita, jotka edustavat erilaisia viestintätapoja.

Ehdokkaat ovat kuin käytössäsi olevat eri puhelinnumerot tai osoitteet: kotinumero, työpaikan numero tai ystävän numero, josta sinut voi tavoittaa. ICE kokeilee niitä kaikkia.

ICE-ehdokkaiden tyypit

ICE-ehdokkaita on kolme päätyyppiä:

  • Isäntäehdokkaat: Vertaisen todelliset paikalliset IP-osoitteet. Ne toimivat parhaiten saman lähiverkon sisäisissä suorissa yhteyksissä.
  • Palvelimen avulla heijastetut ehdokkaat: Saadaan STUN-palvelimelta. Ne ovat ulkoisen palvelimen näkemä julkinen IP-osoitteesi ja porttisi, ja auttavat NATien takana olevia vertaisia löytämään toisensa.
  • Välitetyt ehdokkaat: Saadaan TURN-palvelimelta. Jos suora yhteys ei ole mahdollinen, TURN-palvelin välittää kaiken liikenteen. Tämä on viimeinen vaihtoehto.

Ehdokkaiden kerääminen: prosessi

Kun WebRTC-yhteys aloitetaan, kummankin vertaisen selain (WebRTC-agentti) alkaa kerätä ICE-ehdokkaita. Se kyselyttää aktiivisesti lähiverkkoa, STUN-palvelimia ja mahdollisesti TURN-palvelimia löytääkseen kaikki mahdolliset viestintäreitit.

Tämä keräysprosessi tapahtuu jatkuvasti taustalla, kun RTCPeerConnection-yhteyttä määritetään.

Koodi: ehdokkaiden kuunteleminen

JavaScriptissä kuuntelet RTCPeerConnection-objektin icecandidate-tapahtumia saadaksesi nämä ehdokkaat. Kukin tapahtuma tarjoaa uuden ehdokkaan, jonka voit jakaa etävertaiselle signalointipalvelimesi kautta.

const pc = new RTCPeerConnection();

pc.onicecandidate = (event) => {
  if (event.candidate) {
    console.log("New ICE candidate found:");
    console.log(event.candidate.candidate);
    // Send this candidate to the remote peer via signaling server
  } else {
    console.log("ICE candidate gathering complete.");
  }
};

console.log("Listening for ICE candidates...");
// Note: This snippet requires a full browser WebRTC context to run
// and produce actual candidates. It's for demonstration.

Ehdokkaiden vaihto: signalointi

Kun ehdokkaat on kerätty, ne on vaihdettava vertaisten kesken. Tämä tapahtuu signalointipalvelimen kautta. Sama palvelin välittää myös SDP-tarjoukset ja -vastaukset.

  • Kumpikin vertainen lähettää keräämänsä ehdokkaat signalointipalvelimelle.
  • Signalointipalvelin välittää ehdokkaat toiselle vertaiselle.

Tätä prosessia kutsutaan usein nimellä "trickle ICE", koska ehdokkaat lähetetään sitä mukaa kuin niitä löydetään sen sijaan, että kaikkia odotettaisiin ensin.

Yhteyden tarkistaminen

Ehdokkaiden vaihdon jälkeen ICE aloittaa yhteystarkistukset. Molemmat vertaiset yrittävät muodostaa yhteyden käyttämällä kaikkia mahdollisia paikallisten ja etäehdokkaiden pareja. Tämä tarkoittaa pienten "STUN binding request" -pyyntöjen lähettämistä tavoitettavuuden testaamiseksi.

ICE asettaa sitten reitit tärkeysjärjestykseen ja valitsee tehokkaimman ja luotettavimman. Se suosii ensin suoria isäntäyhteyksiä, sitten STUNin avulla löydettyjä julkisia IP-osoitteita ja lopuksi TURNin kautta välitettyjä yhteyksiä.

Pikatarkistus: ICE-ehdokkaiden tyypit

Minkä tyyppinen ICE-ehdokas saadaan STUN-palvelimen avulla vertaisen julkisen IP-osoitteen selvittämiseksi?

Kertaus: ICE käytännössä

Tässä oppitunnissa opit ICE-ehdokkaista ja siitä, miten ne auttavat WebRTC:tä muodostamaan vertaisverkkoyhteyksiä erilaisissa verkoissa.

  • ICE-ehdokkaat ovat mahdollisia verkko-osoitteita.
  • Niitä on kolmea tyyppiä: isäntä-, palvelimen avulla heijastetut (STUN) ja välitetyt (TURN) ehdokkaat.
  • Vertaiset keräävät ja vaihtavat ehdokkaat signalointipalvelimen kautta.
  • ICE suorittaa sitten yhteystarkistukset löytääkseen parhaan mahdollisen reitin suoraa viestintää varten.

ICE on hiljainen sankari, joka varmistaa, että reaaliaikaiset puhelusi löytävät reitin internetin monimutkaisuuden läpi!

Aloita maksutta

Opi Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data) tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”ICE-ehdokkaat ja yhteyden muodostaminen” ilmainen?

Kyllä – oppitunnin ”ICE-ehdokkaat ja yhteyden muodostaminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-kurssin, päivitä CoddyKit PROhon. Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”ICE-ehdokkaat ja yhteyden muodostaminen”?

Tutustukaa ICE-ehdokkaisiin, siihen, miten ne edustavat verkko-osoitteita, ja siihen, miten ICE auttaa löytämään parhaan reitin vertaisyhteydelle. Harjoittelet Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”ICE-ehdokkaat ja yhteyden muodostaminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppitunnilla?

Kyllä. Jokainen Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Signalointipalvelinten rooli
  2. SDP: Session Description Protocol
  3. ICE-ehdokkaat ja yhteyden muodostaminen
  4. Uudelleenneuvottelu ja yhteyden tila
← Takaisin: Reaaliaikaiset suoratoistojärjestelmät (WebRTC + reaaliaikainen data)