Страницата се вчитува преку VPN, но повикот никогаш не се поврзува: две различни дефекти во истата адресна лента. Тунелот ја промени патеката што ја користи прелистувачот; тој не стана услуга за сигнализација, STUN сервер или реле и не одлучува кој пар кандидати ќе го избере ICE. Токму одвојувањето на работата на секоја компонента го претвора нејасното „WebRTC е блокиран“ во конкретен дефект.

Четири работи, од кои тунелот допира само една

Апликацијата разменува информации за сесијата преку некаква сигнализациска поставеност, и тоа е првата работа. ICE собира адреси на кандидати и тестира парови додека еден не проработи, што е втората. STUN му овозможува на партнерот да научи како изгледа неговиот сообраќај однадвор, а TURN доделува реле за случаи кога нема директна патека. Тие четири улоги се различни, а VPN влијае на адресите и филтрирањето со кои тие се среќаваат, наместо да обезбеди која било од нив.

Затоа успешното најавување не кажува ништо за патеката на медиумот. Сигнализацијата обично оди по истиот HTTPS што страницата веќе го користи, на портата 443, додека медиумот може да патува преку UDP до сосема друга дестинација.

Приватното адресирање ја влошува забуната. Адресата на тунелот му е корисна на партнерот само кога тој има предвидена патека назад кон неа; тоа што е приватна не е доказ за заемна достапност, и прелистувачите не го третираат така кога отфрлаат кандидати што не можат да се проверат. Кандидат што ви изгледа локален може да е непроверлив од другата страна. Таа празнина вреди да се исклучи пред да заклучите дека тунелот ги испушта медиумите.

Споредете VPN излез со TURN реле

Двете препраќаат пакети, затоа се мешаат, и табелата за споредба погоре вреди да се чита колона по колона, а не како список на функции. Доделувањето на реле е објект за секоја сесија создаден со автентизирано барање; тунелот е маршрута. Едното има акредитиви што истекуваат, другото има адреса на партнер што или е достапна или не е.

ComponentWhat it contributesWhat it needs to workWhat it cannot do
VPN exitChanges the observed mapping and the route packets takeA working tunnel and a policy that permits the media transportAllocate a relay or supply signaling
STUN serverReports the mapped address a peer appears to useReachability from the client, on its configured transportCarry media when a direct path fails
TURN serverRelays media through an authenticated allocationValid credentials, an allowed transport and sufficient capacityFix a missing ICE policy or an unauthorized client
Signaling channelCarries offers, answers and candidate listsBoth peers reaching the same application endpointEstablish connectivity by itself

Броевите на портите ја прават разликата конкретна. TURN стандардно слуша на 3478 за UDP и TCP и на 5349 за TLS, а мрежа што дозволува 443 но ги отфрла тие порти ќе ги провали релеираните повици додека прелистувањето продолжува нормално. Менувањето на портата на VPN не конфигурира ништо од тоа, бидејќи важните порти и припаѓаат на реле услугата, а не на тунелот.

Прочитајте ја дијагностиката, потоа тестирајте го повикот

Прелистувачите ја прикажуваат потребната информација без фаќање пакети. Отворете ја дијагностичката страница за WebRTC на вашиот прелистувач, направете го повикот и читајте го избраниот пар кандидати, а не собраниот список: кои типови локални и далечни кандидати се избрани, преку кој транспорт и фамилија адреси, и дали патеката е директна или релеирана.

Две читања вреди да се знаат однапред. Ако избраниот пар е хост-до-хост на приватни адреси, медиумот останува на патека за која може да се расудува; ако е реле-до-реле, повикот троши реле капацитет и зависи од достапноста на таа услуга. Дефект што застанува на „проверка“ без избран пар значи дека кандидатите се собрани, но ниту еден не ги поминал проверките за поврзаност.

Потоа споредете ги истите два краја во истиот повик менувајќи само еден одобрен услов, и прифатете го резултатот врз основа на двосмерен медиум или податоци, а не на показател „поврзано“. Собирањето кандидати успева во многу случаи што не пренесуваат ниту една рамка звук. Повторете го повикот на другата страна од промената и зачувајте ги двете дијагностички снимки, бидејќи споредбата на две извршувања дава повеќе информации отколку читањето на било кое само. Исти краеви, ист кодек, една променета променлива.

Апликација што намерно ја поставува својата ICE транспортна политика на relay бара само реле кандидати. Тоа поставување не создава реле и не ги поправа акредитивите што недостигаат; го прави барањето експлицитно, што е корисно кога некој го обвинува VPN за политика што ја избрал сајтот.

Држете го тврдењето за приватност онолку тесно колку доказите

Откривањето на кандидатите зависи од политиката на прелистувачот и апликацијата, не само од состојбата на тунелот, и спецификацијата на W3C за врска меѓу партнери го третира ракувањето со IP како свое посебно прашање. Затоа поврзан VPN е слаба основа за ветување дека повикот открива само една избрана адреса. Дури и два партнери зад истиот тунел можат да изберат патека што никогаш не го напушта хостот, што е истовремено подобрување на приватноста и ограничување на поврзаноста.

Она што можете прецизно да го кажете е потесно и покорисно: кој пар кандидати е избран, кој транспорт го носел и дали таа патека останала внатре во тунелот. Запишете ги тие три факти за повик што работи и за оној што не успева, и разликата обично го именува компонентот што треба да се поправи.

Кога поврзаноста работи, одвојте ги перформансите од достапноста. Загуба, доцнење, редици и MTU сите се наоѓаат низводно од точен пар кандидати, и третирањето на прекинат повик како дефект на поврзаноста ве враќа на списокот кандидати без причина.

Поврзани статии