Хуудас 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 нь анхдагчаар UDP ба TCP-д 3478, TLS-д 5349 дээр сонсдог бөгөөд 443-ыг зөвшөөрөх боловч эдгээр портыг хаядаг сүлжээ нь хөтлөлт хэвийн үргэлжлэх ч релей дуудлагыг бүтэлгүйтүүлнэ. VPN-ийн портыг өөрчлөх нь эдгээрийн алийг ч тохируулахгүй, учир нь чухал портууд туннельд бус релей үйлчилгээнд хамаарна.

Оношилгоог уншиж, дараа нь дуудлагыг турш

Хөтчүүд шаардлагатай мэдээллийг пакет барихгүйгээр харуулдаг. Хөтчийнхөө WebRTC оношилгооны хуудсыг нээж, дуудлага хийгээд, цуглуулсан жагсаалтын оронд сонгосон нэр дэвшигчийн хосыг унш: ямар орон нутгийн ба алслагдсан нэр дэвшигчийн төрөл сонгогдсон, ямар тээвэр, хаягийн бүлгээр, зам нь шууд уу эсвэл релейгээр уу.

Хоёр уншилтыг урьдчилан мэдэх нь зүйтэй. Хэрэв сонгосон хос нь хувийн хаяг дээрх хост-хост бол медиа нь дүгнэлт хийж болох зам дээр үлддэг; хэрэв релей-релей бол дуудлага релейн хүчин чадлыг зарцуулж, тэр үйлчилгээний хүртээмжээс хамаарна. Сонгосон хосгүйгээр «шалгаж байна» дээр зогсдог гэмтэл нь нэр дэвшигчид цугларсан ч нэг ч нь холболтын шалгалтыг давж чадаагүй гэсэн үг.

Дараа нь мөн тэр дуудлагын мөн тэр хоёр үзүүрийг зөвхөн нэг зөвшөөрөгдсөн нөхцөлийг өөрчлөж харьцуул, үр дүнг «холбогдсон» заагчаар бус, хоёр талын медиа эсвэл өгөгдлөөр хүлээж ав. Нэр дэвшигчийн цуглуулалт нь нэг ч аудио фрейм зөөдөггүй олон тохиолдолд амжилттай болдог. Өөрчлөлтийн нөгөө талд дуудлагыг давтаж, хоёр оношилгооны бичлэгийг хадгал, учир нь хоёр гүйлтийг харьцуулах нь аль нэгийг ганцаар уншихаас илүү мэдээлэл өгдөг. Ижил үзүүрүүд, ижил кодек, нэг өөрчлөгдсөн хувьсагч.

ICE тээврийн бодлогыг санаатайгаар relay дээр тавьдаг аппликейшн зөвхөн релей нэр дэвшигчдийг хүсдэг. Тэр тохиргоо релей үүсгэхгүй, дутуу итгэмжлэлийг засахгүй; шаардлагыг тодорхой болгодог, энэ нь хэн нэгэн сайтын сонгосон бодлогын төлөө VPN-ийг буруутгах үед хэрэгтэй.

Нууцлалын мэдэгдлийг нотолгоотой адил нарийн бариарай

Нэр дэвшигчдийн илчлэлт нь зөвхөн туннелийн төлөвөөс бус, хөтөч ба аппликейшний бодлогоос хамаардаг бөгөөд W3C-ийн түнш холболтын тодорхойлолт IP-тэй харьцахыг өөрийн тусдаа асуудал гэж үздэг. Тиймээс холбогдсон VPN нь дуудлага зөвхөн нэг сонгосон хаягийг илрүүлнэ гэж амлах сул үндэс. Нэг туннелийн ард байгаа хоёр түнш хост-оос хэзээ ч гарахгүй зам хүртэл сонгож болно, энэ нь нэгэн зэрэг нууцлалын сайжруулалт ба холболтын хязгаарлалт юм.

Таны нарийн хэлж чадах зүйл илүү нарийн бөгөөд илүү ашигтай: аль нэр дэвшигчийн хос сонгогдсон, ямар тээвэр түүнийг зөөсөн, тэр зам туннелийн дотор үлдсэн эсэх. Эдгээр гурван баримтыг ажиллаж буй болон бүтэлгүйтсэн дуудлагад бичиж ав, ялгаа нь ихэвчлэн засах ёстой компонентийг нэрлэдэг.

Холболт ажилласны дараа гүйцэтгэлийг хүртээмжээс тусгаарла. Алдагдал, саатал, дараалал, MTU бүгд зөв нэр дэвшигчийн хосын доод хэсэгт байрладаг бөгөөд тасарч буй дуудлагыг холболтын гэмтэл гэж үзэх нь таныг шалтгаангүйгээр нэр дэвшигчдийн жагсаалт руу буцаана.

Холбоотой нийтлэлүүд