რას ამხელს WebRTC-ის კანდიდატების სია თქვენს VPN-ზე
ჰოსტის, სერვერის არეკლილი ან რელეს კანდიდატი ამბობს, საიდან მოვიდა მისამართი. მხოლოდ შერჩეული ICE წყვილი ამბობს, რომელი გზა გამოიყენა მედიამ სინამდვილეში.
როცა WebRTC-ის სატესტო გვერდი ბეჭდავს 172.20.4.15-ს, მან შეიტყო, რომ ამ ქსელში ლოკალური ინტერფეისი არსებობს. ეს ნამდვილი გამჟღავნებაა და ეს არ არის იგივე დასკვნა, რაც «მედია VPN-ის გასასვლელიდან გავიდა». კანდიდატების აღმოჩენა და პაკეტების მარშრუტიზაცია ცალკე მექანიზმებია, და გაჟონვის შესახებ მოხსენებების უმეტესობა მათ ერთ განაჩენში აერთიანებს. რომელს უყურებთ, ეს წყვეტს გამოსავალს.
შეგროვება ხდება მანამ, სანამ რამე გაიგზავნება
ბრაუზერი ჩამოთვლის ლოკალურ ინტერფეისებს, უგზავნის დაკავშირების მოთხოვნას STUN სერვერს და სთხოვს TURN სერვერს გამოყოფას, შემდეგ შედეგებს წერს სესიის აღწერაში კანდიდატის ხაზებად. ეს ყველაფერი სრულდება ზარის, მედიისა და მეორე მხარის გარეშე. ამიტომ კანდიდატების სია აღმოჩენის, და არა გადაცემის ჩანაწერია.
თანამედროვე ბრაუზერებმა შეიძლება ჰოსტ კანდიდატის ლიტერალური მისამართი შეცვალონ mDNS სახელით .local, ასე რომ გვერდი ვერ წაიკითხავს კერძო IP-ს. ლოკალური ქსელი მაინც ხედავს მულტიქასტურ მოთხოვნებს, რომლებიც ამ სახელს წყვეტს, ანუ მისამართი იმალება აპლიკაციისგან და არა ამოღებულია ქსელიდან.
თანმიმდევრობაც მნიშვნელოვანია: გვერდის ახალი ჩატვირთვა აგროვებს ახალ ნაკრებს, სხვა TURN გამოყოფით და შესაძლოა სხვა არეკლილი ასახვით. ორი განსხვავებული გაშვება სულაც არ არის ორი განსხვავებული კონფიგურაცია.
სამი ტიპის კანდიდატი, სამი სახის მტკიცებულება
ყოველი ხაზი სხვადასხვა დაკვირვებიდან მოდის. თითოეული ტიპი სხვა კითხვას პასუხობს, და ცხრილი მათ იმის მიხედვით ჰყოფს, რისი დამტკიცება შეუძლიათ და რისი არა.
| Candidate | Derived from | What it establishes | What it cannot establish |
|---|---|---|---|
| Host | An interface on the device | A local address exists in that network | That the peer can reach it |
| Server-reflexive | A STUN binding response | How a NAT mapped this source | Which exit the media will use |
| Peer-reflexive | A connectivity check that arrived | An address seen by the far side | That it was ever advertised |
| Relay | A TURN allocation | The relay server accepted the session | That the relay carries the call |
რელეს კანდიდატს ხშირად მომხმარებლის ინტერნეტ მისამართად შეცდომით თვლიან. ის TURN სერვერს ეკუთვნის, და მისი არსებობა გვიჩვენებს, რომ რელე ხელმისაწვდომი იყო და არა ის, რომ ბრაუზერმა ის აირჩია. იგივე დაბნეულობა საპირისპირო მიმართულებით მიდის ჰოსტ კანდიდატებთან, სადაც mDNS სახელი მისამართს გვერდისგან მალავს, ქსელი კი მოთხოვნებს კვლავ ატარებს. წაიკითხეთ ტიპი სანამ მნიშვნელობას წაიკითხავთ.
შერჩეული წყვილი პასუხობს მარშრუტიზაციის კითხვას
ICE ყოველ ლოკალურ კანდიდატს ყოველ დისტანციურთან აწყვილებს, თითოეულ წყვილზე კავშირის შემოწმებებს ატარებს და ირჩევს გამარჯვებულს. სწორედ ეს დასახელებული წყვილი, რომელიც ბრაუზერის საკუთარ დიაგნოსტიკაში ჩანს, ატარებს მედიას. სიაში დარჩენილი ყველაფერი წაგებული შესაძლებლობაა.
გამარჯვებული გეუბნებათ გზის ფორმას. რელე-რელეზე გადის TURN სერვერის გავლით, ჰოსტ წყვილი რჩება ლოკალურ ქსელში, და სერვერის არეკლილი წყვილი პირდაპირ NAT-ით მიდის. ეს არის ის ფაქტი, რაც VPN შემოწმებას სჭირდება, და ის განსხვავებული ფაქტია მისამართების სიისგან. ორ ზარს ერთნაირი კანდიდატების სიებით შეიძლება განსხვავებული წყვილები აიღოს.
არჩეული კანდიდატები მაინც შეგროვდა, და შეგროვება ქსელური ტრაფიკია, რომელიც მოწყობილობას ტოვებს. ზარი, რომელმაც საბოლოოდ რელე გამოიყენა, არ ნიშნავს, რომ სიის აგებისას არაფერი გამჟღავნდა.
კონტროლი მიზნებს ემთხვევა და არა გაჟონვის ქულას
WebRTC-ის IP დამუშავების სპეციფიკაცია აღწერს რამდენიმე პოლიტიკას: გამოიყენო მხოლოდ ის ინტერფეისი, რომელიც ნაგულისხმევ მარშრუტს ატარებს, გამოიყენო ყველა ინტერფეისი, და გამორთო პროქსის გარეშე UDP, რათა ტრაფიკი რელეზე ან პროქსიზე გაივლოს. თითოეული კავშირსა და შეყოვნებას ცვლის სხვა ტიპის გამოფენაზე. რომელს დანერგავს ბრაუზერი და რა სახელით, დამოკიდებულია პლატფორმასა და ვერსიაზე.
პოლიტიკა მიზნის მიხედვით შეარჩიეთ. ლოკალური მისამართების გვერდისგან დამალვა ერთი მიზანია; პირდაპირი თანასწორ წევრებს შორის ტრაფიკის აკრძალვა მეორე; ყოველი პაკეტის გვირაბში შენარჩუნება მესამე. პირველი ძირითადად იმაზეა, რას იგებს აპლიკაცია, მეორე იმაზე, რომელი გზაა დაშვებული, ხოლო მესამე პლატფორმის ან VPN-ის საზღვარზეც უნდა აღსრულდეს.
რომელ კონტროლსაც აირჩევთ, შეამოწმეთ ორივე ნახევარი: გაუშვით შეგროვების ტესტი და ჩაწერეთ კანდიდატების ტიპები, შემდეგ რეალური სესიის დროს შეამოწმეთ შერჩეული წყვილი. სუფთა მისამართების სია პირდაპირი მედია გზით მაინც ის გზაა, რაც არ გინდოდათ.