VPN مقابل مرحّل TURN: أيّهما يحمل مكالمة WebRTC فعلاً؟
النفق يغيّر المسار الذي يراه ICE؛ لكنه لا يخصّص مرحّلًا ولا يوفّر إشارات الاتصال. قارن ما يقدّمه مخرج VPN وخادم TURN كلٌّ على حدة.
تُحمَّل الصفحة عبر VPN لكن المكالمة لا تتصل أبدًا: عطلان مختلفان يحملان شريط العنوان نفسه. غيّر النفق المسار الذي يستخدمه المتصفح؛ لكنه لم يصر خدمة إشارات ولا خادم STUN ولا مرحّلًا، وهو لا يقرّر أي زوج مرشّحات سيختاره ICE. الفصل بين الوظيفة التي يؤديها كل مكوّن هو ما يحوّل عبارة «WebRTC محجوب» الغامضة إلى عطل محدّد.
أربع وظائف، لا يلمس النفق منها إلا واحدة
تبادل التطبيق معلومات الجلسة عبر ترتيب ما للإشارات، وهذه هي الوظيفة الأولى. يجمع ICE عناوين المرشّحات ويختبر الأزواج حتى ينجح أحدها، وهذه هي الثانية. يتيح STUN للنظير أن يعرف كيف يظهر حركته من الخارج، ويخصّص TURN مرحّلًا للحالات التي لا يوجد فيها مسار مباشر. تلك الأدوار الأربعة متمايزة، وVPN يؤثّر في العناوين والتصفية التي تصادفها بدلًا من أن يوفّر أيًّا منها.
لهذا لا يقول تسجيل الدخول الناجح شيئًا عن مسار الوسائط. عادةً ما تعتمد الإشارات على HTTPS نفسه الذي تستخدمه الصفحة، على المنفذ 443، بينما قد تنتقل الوسائط عبر UDP إلى وجهة مختلفة تمامًا.
العنونة الخاصة تزيد الالتباس سوءًا. لا يكون عنوان النفق مفيدًا للنظير إلا حين يكون لديه مسار مقصود يعود إليه؛ فكون العنوان خاصًا ليس دليلًا على إمكانية الوصول المتبادل، ولا تتعامل المتصفحات معه على هذا النحو حين تتخلّص من المرشّحات التي لا يمكن اختبارها. قد يكون المرشّح الذي يبدو لك محليًا غير قابل للاختبار من الجهة الأخرى. تستحق تلك الفجوة الاستبعاد قبل أن تستنتج أن النفق يُسقط الوسائط.
قارن مخرج VPN بمرحّل TURN
كلاهما يمرّر الحزم، ولهذا يُخلط بينهما، ويستحق جدول المقارنة أعلاه قراءة عمودًا بعمود لا كقائمة ميزات. تخصيص المرحّل كائن لكل جلسة يُنشأ بطلب موثّق؛ أما النفق فهو مسار. لأحدهما بيانات اعتماد تنتهي صلاحيتها، وللآخر عنوان نظير إما أن يكون قابلًا للوصول أو لا.
| 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 |
أرقام المنافذ تجعل الفرق ملموسًا. يستمع TURN افتراضيًا على 3478 عبر UDP وTCP وعلى 5349 عبر TLS، والشبكة التي تسمح بـ 443 وتُسقط تلك المنافذ ستفشل في المكالمات الممرَّرة بينما يستمر التصفح طبيعيًا. تغيير منفذ VPN لا يضبط أيًّا من ذلك، لأن المنافذ المهمة تخصّ خدمة المرحّل لا النفق.
اقرأ التشخيصات، ثم اختبر المكالمة
تعرض المتصفحات المعلومات التي تحتاجها دون التقاط الحزم. افتح صفحة تشخيص WebRTC لمتصفحك، وأجرِ المكالمة، واقرأ زوج المرشّحات المختار بدلًا من القائمة المجمّعة: أي أنواع المرشّحات المحلية والبعيدة اختيرت، وعبر أي نقل وأي عائلة عناوين، وما إذا كان المسار مباشرًا أو ممرَّرًا.
هناك قراءتان تستحقان المعرفة مسبقًا. إذا كان الزوج المختار من المضيف إلى المضيف على عناوين خاصة، فالوسائط تبقى على مسار يمكنك التفكير فيه؛ وإذا كان من مرحّل إلى مرحّل، فالمكالمة تستهلك سعة المرحّل وتعتمد على توفّر تلك الخدمة. أما العطل الذي يتوقف عند «التحقق» دون زوج مختار فيعني أن المرشّحات جُمعت لكن أيًّا منها لم ينجح في فحوص الاتصال.
بعد ذلك قارن نفس الطرفين في المكالمة نفسها مع تغيير شرط واحد معتمد فقط، واقبل النتيجة بناءً على وسائط أو بيانات في الاتجاهين لا على مؤشر «متصل». ينجح جمع المرشّحات في حالات كثيرة لا تحمل إطارًا واحدًا من الصوت. أعد المكالمة على الجانب الآخر من التغيير واحفظ كلا التسجيلين التشخيصيين، لأن مقارنة تشغيلين أكثر فائدة من قراءة أيٍّ منهما وحده. نفس الطرفين، نفس الترميز، متغيّر واحد تغيّر.
التطبيق الذي يضبط سياسة نقل ICE لديه على المرحّل عن قصد يطلب مرشّحات المرحّل فقط. هذا الإعداد لا ينشئ مرحّلًا ولا يصلح بيانات اعتماد ناقصة؛ إنه يجعل الشرط صريحًا، وهو مفيد عندما يلوم أحدهم VPN على سياسة اختارها الموقع.
اجعل ادعاء الخصوصية ضيّقًا بقدر الأدلة
يعتمد تعرّض المرشّحات على سياسة المتصفح والتطبيق، لا على حالة النفق وحدها، ويعالج مواصفة W3C لاتصال النظير التعامل مع IP كشأن خاص بها. لذلك يكون VPN المتصل أساسًا ضعيفًا للوعد بأن المكالمة لا تكشف إلا عنوانًا واحدًا مختارًا. بل يمكن لنظيرين خلف النفق نفسه أن يختارا مسارًا لا يغادر المضيف أبدًا، وهو تحسين للخصوصية وقيد للاتصال في اللحظة نفسها.
ما يمكنك قوله بدقة أضيق وأفيد: أي زوج مرشّحات اختير، وأي نقل حمله، وهل بقي ذلك المسار داخل النفق. سجّل هذه الحقائق الثلاث لمكالمة ناجحة وأخرى فاشلة، والفرق عادةً يسمّي المكوّن الذي يجب إصلاحه.
بعد أن يعمل الاتصال، افصل الأداء عن إمكانية الوصول. الفقد والتأخير والانتظار في الطوابير وMTU كلها تقع في اتجاه مجرى زوج مرشّحات صحيح، ومعالجة مكالمة متقطعة كعطل اتصال تعيدك إلى قائمة المرشّحات بلا سبب.