جب WebRTC ٹیسٹ صفحہ 172.20.4.15 چھاپتا ہے، تو اس نے جان لیا ہے کہ اس نیٹ ورک پر ایک مقامی انٹرفیس موجود ہے۔ یہ حقیقی افشا ہے، اور یہ «میڈیا VPN ایگزٹ سے باہر گیا» والا وہی نتیجہ نہیں ہے۔ امیدواروں کی دریافت اور پیکٹ روٹنگ الگ الگ میکانزم ہیں، اور زیادہ تر لیک رپورٹیں انہیں ایک ہی فیصلے میں ملا دیتی ہیں۔ آپ کون سا دیکھ رہے ہیں، یہی حل طے کرتا ہے۔

کچھ بھیجنے سے پہلے جمع کرنا ہوتا ہے

براؤزر مقامی انٹرفیس کی فہرست بناتا ہے، STUN سرور کو بائنڈنگ درخواست بھیجتا ہے اور TURN سرور سے الاٹمنٹ مانگتا ہے، پھر نتائج کو سیشن تفصیل میں امیدوار لائنوں کے طور پر لکھتا ہے۔ یہ سب کسی کال، میڈیا اور سامنے والے فریق کے بغیر مکمل ہوتا ہے۔ اس لیے امیدواروں کی فہرست دریافت کا ریکارڈ ہے، ترسیل کا نہیں۔

جدید براؤزر ہوسٹ امیدوار کے لغوی پتے کو mDNS نام .local سے بدل سکتے ہیں، جس سے صفحہ نجی IP نہیں پڑھ سکتا۔ مقامی نیٹ ورک اب بھی وہ ملٹی کاسٹ استفسارات دیکھتا ہے جو اس نام کو حل کرتے ہیں، یعنی پتہ ایپلیکیشن سے چھپایا جاتا ہے، تار سے ہٹایا نہیں جاتا۔

ترتیب بھی اہم ہے: نئی صفحہ لوڈ نئی مجموعہ جمع کرتی ہے، مختلف TURN الاٹمنٹ اور ممکنہ طور پر مختلف ریفلکسیو میپنگ کے ساتھ۔ مختلف نتائج دینے والی دو رنز لازماً دو مختلف ترتیبات نہیں ہیں۔

تین قسم کے امیدوار، تین قسم کے ثبوت

ہر لائن کسی مختلف مشاہدے سے آتی ہے۔ ہر قسم مختلف سوال کا جواب دیتی ہے، اور جدول انہیں اس بنیاد پر الگ کرتا ہے کہ وہ کیا ثابت کر سکتے ہیں اور کیا نہیں۔

CandidateDerived fromWhat it establishesWhat it cannot establish
HostAn interface on the deviceA local address exists in that networkThat the peer can reach it
Server-reflexiveA STUN binding responseHow a NAT mapped this sourceWhich exit the media will use
Peer-reflexiveA connectivity check that arrivedAn address seen by the far sideThat it was ever advertised
RelayA TURN allocationThe relay server accepted the sessionThat the relay carries the call

ریلے امیدوار کو اکثر صارف کے انٹرنیٹ پتے کے طور پر غلط سمجھا جاتا ہے۔ یہ TURN سرور کا ہے، اور اس کی موجودگی بتاتی ہے کہ ریلے دستیاب تھا، یہ نہیں کہ براؤزر نے اسے چنا۔ یہی الجھن ہوسٹ امیدواروں کے ساتھ الٹی سمت میں چلتی ہے، جہاں mDNS نام پتے کو صفحہ سے چھپاتا ہے جبکہ نیٹ ورک اب بھی استفسارات لے کر جاتا ہے۔ قدر پڑھنے سے پہلے قسم پڑھیں۔

منتخب جوڑی روٹنگ سوال کا جواب دیتی ہے

ICE ہر مقامی امیدوار کو ہر دور امیدوار کے ساتھ جوڑتا ہے، ہر جوڑی پر کنیکٹیویٹی جانچ چلاتا ہے اور ایک جیتنے والا نامزد کرتا ہے۔ وہی نامزد جوڑی، جو براؤزر کی اپنی تشخیص میں نظر آتی ہے، میڈیا لے کر جاتی ہے۔ فہرست میں باقی سب ہاری ہوئی امکان ہے۔

جیتنے والا آپ کو راستے کی شکل بتاتا ہے۔ ریلے سے ریلے TURN سرور سے گزرتا ہے، ہوسٹ جوڑی مقامی نیٹ ورک پر رہتی ہے، اور سرور ریفلکسیو جوڑی NAT سے سیدھی جاتی ہے۔ یہی وہ حقیقت ہے جو VPN جانچ کو درکار ہے، اور یہ پتوں کی فہرست سے مختلف حقیقت ہے۔ ایک جیسی امیدوار فہرستوں والی دو کالیں مختلف جوڑیاں لے سکتی ہیں۔

نہ چنے گئے امیدوار بھی جمع ہوئے، اور جمع کرنا وہ نیٹ ورک ٹریفک ہے جو مشین سے باہر جاتا ہے۔ جس کال نے آخر میں ریلے استعمال کیا، اس کا مطلب یہ نہیں کہ فہرست بنتے وقت کچھ بھی ظاہر نہیں ہوا۔

کنٹرول اہداف سے مطابقت رکھتے ہیں، لیک اسکور سے نہیں

WebRTC کی IP ہینڈلنگ تفصیل کئی پالیسیاں بیان کرتی ہے: صرف وہ انٹرفیس استعمال کرنا جو ڈیفالٹ راستہ لے کر جاتا ہے، تمام انٹرفیس استعمال کرنا، اور پراکسی کے بغیر UDP بند کرنا تاکہ ٹریفک کو ریلے یا پراکسی سے گزرنا پڑے۔ ہر ایک کنیکٹیویٹی اور تاخیر کو مختلف قسم کے انکشاف سے بدلتا ہے۔ براؤزر کون سی نافذ کرتا ہے اور کس نام سے، یہ پلیٹ فارم اور ورژن کے مطابق بدلتا ہے۔

پالیسی ہدف سے چنیں۔ صفحہ سے مقامی پتے چھپانا ایک ہدف ہے؛ براہ راست ہم مرتبہ ٹریفک روکنا دوسرا ہے؛ ہر پیکٹ کو ٹنل کے اندر رکھنا تیسرا ہے۔ پہلا زیادہ تر اس بارے میں ہے کہ ایپلیکیشن کیا سیکھتی ہے، دوسرا اس بارے میں کہ کون سا راستہ اجازت یافتہ ہے، اور تیسرا پلیٹ فارم یا VPN کی حد پر بھی نافذ کرنا ہوگا۔

آپ جو بھی کنٹرول چنیں، دونوں نصف جانچیں: جمع کرنے کا ٹیسٹ چلائیں اور امیدواروں کی اقسام درج کریں، پھر اصل سیشن کے دوران منتخب جوڑی کا جائزہ لیں۔ براہ راست میڈیا راستے والی صاف پتوں کی فہرست بھی وہ راستہ ہے جس کا آپ نے ارادہ نہیں کیا تھا۔

متعلقہ مضامین