หน้าเว็บโหลดผ่าน 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 ล้วนอยู่ปลายน้ำของคู่ผู้สมัครที่ถูกต้อง และการถือว่าสายที่สะดุดเป็นการล้มเหลวของการเชื่อมต่อจะส่งคุณกลับไปยังรายการผู้สมัครโดยไม่มีเหตุผล

บทความที่เกี่ยวข้อง