VPN o TURN relay: alin ba talaga ang nagdadala ng WebRTC call?
Binabago ng tunnel ang rutang nakikita ng ICE; hindi ito kailanman naglalaan ng relay at hindi nagbibigay ng signaling. Ihambing kung ano ang ibinibigay ng VPN exit at ng TURN server.
Naglo-load ang pahina sa VPN, pero hindi kailanman kumokonekta ang tawag: dalawang magkaibang pagkabigo sa iisang address bar. Binago ng tunnel ang rutang ginagamit ng browser; hindi ito naging serbisyo ng signaling, STUN server o relay, at hindi nito pinipili kung aling pares ng kandidato ang pipiliin ng ICE. Ang paghihiwalay ng gawaing ginagawa ng bawat bahagi ang siyang nagpapalit ng malabong “naka-block ang WebRTC” sa tiyak na sira.
Apat na gawain, at isa lang ang hinahawakan ng tunnel
Nagpapalitan ang aplikasyon ng impormasyon ng sesyon sa pamamagitan ng anumang kaayusan ng signaling, at iyon ang unang gawain. Nag-iipon ang ICE ng mga address ng kandidato at sumusubok ng mga pares hanggang may gumana, at iyon ang pangalawa. Hinahayaan ng STUN ang kapares na malaman kung paano lumilitaw ang trapiko nito mula sa labas, at naglalaan ang TURN ng relay para sa mga kasong walang direktang ruta. Magkaiba ang apat na papel na iyon, at naaapektuhan ng VPN ang mga address at pag-filter na nahaharap nila sa halip na magbigay ng alinman sa mga ito.
Kaya walang sinasabi ang matagumpay na pag-login tungkol sa ruta ng media. Karaniwang sumasakay ang signaling sa parehong HTTPS na ginagamit na ng pahina, sa port 443, habang ang media ay maaaring dumaan sa UDP patungo sa ganap na ibang destinasyon.
Pinapalala ng pribadong pag-address ang kalituhan. Ang address ng tunnel ay kapaki-pakinabang sa kapares lamang kapag may nilalayong rutang pabalik dito; ang pagiging pribado ay hindi patunay ng pantay na maabot, at hindi ito itinuturing ng mga browser kapag itinatapon nila ang mga kandidatong hindi masusuri. Ang kandidatong mukhang lokal sa iyo ay maaaring hindi masuri mula sa kabilang panig. Sulit na alisin ang puwang na iyon bago ka magpasya na ang tunnel ay nagtatapon ng media.
Ihambing ang VPN exit sa TURN relay
Parehong nagpapasa ng mga packet, kaya napagkakamalang pareho, at ang talahanayan ng paghahambing sa itaas ay sulit basahin bawat hanay, hindi bilang listahan ng feature. Ang paglalaan ng relay ay isang bagay bawat sesyon na nilikha ng awtentikadong kahilingan; ang tunnel ay isang ruta. Ang isa ay may mga kredensyal na nag-e-expire, ang isa ay may address ng kapares na maaaring maabot o hindi.
| Component | What it contributes | What it needs to work | What it cannot do |
|---|---|---|---|
| VPN exit | Changes the observed mapping and the route packets take | A working tunnel and a policy that permits the media transport | Allocate a relay or supply signaling |
| STUN server | Reports the mapped address a peer appears to use | Reachability from the client, on its configured transport | Carry media when a direct path fails |
| TURN server | Relays media through an authenticated allocation | Valid credentials, an allowed transport and sufficient capacity | Fix a missing ICE policy or an unauthorized client |
| Signaling channel | Carries offers, answers and candidate lists | Both peers reaching the same application endpoint | Establish connectivity by itself |
Ginagawang konkreto ng mga numero ng port ang pagkakaiba. Nakikinig ang TURN bilang default sa 3478 para sa UDP at TCP at sa 5349 para sa TLS, at ang network na nagpapahintulot sa 443 pero nagtatapon ng mga port na iyon ay mabibigo sa relayed na tawag habang normal na nagpapatuloy ang pag-browse. Ang pagpapalit ng port ng VPN ay wala sa mga iyon, dahil ang mahahalagang port ay pag-aari ng serbisyo ng relay, hindi ng tunnel.
Basahin ang diagnostics, tapos subukan ang tawag
Ipinapakita ng mga browser ang kailangang impormasyon nang walang packet capture. Buksan ang pahina ng diagnostics ng WebRTC para sa iyong browser, gawin ang tawag, at basahin ang napiling pares ng kandidato sa halip na ang nakolektang listahan: aling mga uri ng lokal at malayong kandidato ang napili, sa aling transport at pamilya ng address, at kung direkta o relayed ang ruta.
Dalawang pagbasa ang sulit malaman nang maaga. Kung host-to-host sa pribadong address ang napiling pares, nananatili ang media sa rutang maiisip mo; kung relay-to-relay ito, gumagamit ang tawag ng kapasidad ng relay at nakadepende sa availability ng serbisyong iyon. Ang pagkabigong tumitigil sa “nagsusuri” na walang napiling pares ay nangangahulugang nakolekta ang mga kandidato pero walang nakapasa sa mga pagsusuri ng konektibidad.
Pagkatapos ihambing ang parehong dalawang dulo sa parehong tawag habang binabago lamang ang isang aprubadong kondisyon, at tanggapin ang resulta sa two-way na media o data at hindi sa indicator na “konektado”. Nagtatagumpay ang pagkolekta ng kandidato sa maraming kaso na hindi nagdadala ng kahit isang frame ng audio. Ulitin ang tawag sa kabilang panig ng pagbabago at itabi ang parehong diagnostic capture, dahil ang paghahambing ng dalawang pagtakbo ay mas nagbibigay-alam kaysa sa pagbasa ng alinman sa kanila nang nag-iisa. Parehong dulo, parehong codec, isang binagong variable.
Ang aplikasyong sadyang naglalagay ng patakaran ng ICE transport nito sa relay ay humihingi lamang ng relay na kandidato. Ang setting na iyon ay hindi gumagawa ng relay at hindi nag-aayos ng nawawalang kredensyal; ginagawa nitong malinaw ang kahilingan, na kapaki-pakinabang kapag may nagbibintang sa VPN sa patakarang pinili ng site.
Panatilihing kasingkitid ng ebidensya ang pahayag tungkol sa privacy
Ang pagkakalantad ng kandidato ay nakadepende sa patakaran ng browser at aplikasyon, hindi lamang sa katayuan ng tunnel, at itinuturing ng spec ng W3C para sa peer connection na hiwalay na usapin ang paghawak ng IP. Kaya ang konektadong VPN ay mahinang batayan para mangako na isang address lang ang inilalantad ng tawag. Maging ang dalawang kapares sa likod ng parehong tunnel ay makapipili ng rutang hindi kailanman lumalabas sa host, na sabay na pagbuti ng privacy at paghihigpit sa konektibidad.
Ang tiyak mong masasabi ay mas makitid at mas kapaki-pakinabang: aling pares ng kandidato ang napili, aling transport ang nagdala nito, at kung nanatili ba ang rutang iyon sa loob ng tunnel. Isulat ang tatlong katotohanang iyon para sa tawag na gumagana at sa nabibigo, at karaniwang pinapangalanan ng pagkakaiba ang bahaging kailangang ayusin.
Kapag gumana ang konektibidad, ihiwalay ang pagganap sa maabot. Ang pagkawala, pagkaantala, pila at MTU ay nasa ibaba ng tamang pares ng kandidato, at ang pagtrato sa napuputol na tawag bilang pagkabigo ng konektibidad ay nagbabalik sa iyo sa listahan ng kandidato nang walang dahilan.