
کیا کئی انٹرنیٹ چینلز کو ایک میں ملانا ممکن ہے؟ اس موضوع کے بارے میں بہت ساری غلط فہمیاں ہیں؛ یہاں تک کہ تجربہ کار نیٹ ورک انجینئر بھی اکثر نہیں جانتے کہ یہ ممکن ہے۔ زیادہ تر معاملات میں، لنک ایگریگیشن کو غلطی سے NAT سطح پر توازن یا فیل اوور کہا جاتا ہے۔ لیکن حقیقی خلاصہ اجازت دیتا ہے۔ تمام انٹرنیٹ چینلز پر بیک وقت ایک واحد TCP کنکشن شروع کریں۔مثال کے طور پر، ویڈیو براڈکاسٹنگ تاکہ اگر انٹرنیٹ چینلز میں سے کسی میں خلل پڑے تو نشریات میں خلل نہ پڑے۔
ویڈیو نشریات کے لیے مہنگے تجارتی حل موجود ہیں، لیکن اس طرح کے آلات کی قیمت کئی کلو بکس ہے۔ مضمون میں بتایا گیا ہے کہ مفت، اوپن سورس OpenMPTCPRouter پیکج کو کس طرح ترتیب دیا جائے اور چینل سمنگ کے بارے میں مشہور افسانوں کو حل کیا جائے۔
چینل سمنگ کے بارے میں خرافات
بہت سے ہوم راؤٹرز ہیں جو ملٹی وان فنکشن کو سپورٹ کرتے ہیں۔ بعض اوقات مینوفیکچررز اس چینل کو سمنگ کہتے ہیں، جو کہ مکمل طور پر درست نہیں ہے۔ بہت سے نیٹ ورکرز کا خیال ہے کہ اس کے علاوہ اور L2 سطح پر خلاصہ، کوئی دوسرا چینل جمع موجود نہیں ہے۔ میں نے اکثر سنا ہے کہ ٹیلی کام میں کام کرنے والے لوگوں سے یہ عام طور پر ناممکن ہے۔ لہذا، آئیے مشہور افسانوں کو سمجھنے کی کوشش کرتے ہیں۔
IP کنکشن کی سطح پر توازن
یہ ایک ہی وقت میں کئی انٹرنیٹ چینلز کو استعمال کرنے کا سب سے سستا اور مقبول طریقہ ہے۔ سادگی کے لیے، آئیے تصور کریں کہ آپ کے پاس تین انٹرنیٹ فراہم کنندہ ہیں، ہر ایک آپ کو اپنے نیٹ ورک سے حقیقی IP ایڈریس دیتا ہے۔ یہ تمام فراہم کنندگان ایک روٹر سے جڑے ہوئے ہیں جو ملٹی وان فنکشن کو سپورٹ کرتا ہے۔ یہ mwan3 پیکیج، mikrotik، ubiquiti، یا کسی دوسرے گھریلو راؤٹر کے ساتھ OpenWRT ہو سکتا ہے، کیونکہ ایسا آپشن اب غیر معمولی نہیں ہے۔
صورت حال کی تقلید کے لیے، آئیے تصور کریں کہ فراہم کنندگان نے ہمیں درج ذیل پتے دیے ہیں:
WAN1 — 11.11.11.11
WAN2 — 22.22.22.22
WAN2 — 33.33.33.33
یعنی ریموٹ سرور سے جڑنا example.com فراہم کنندگان میں سے ہر ایک کے ذریعے، ریموٹ سرور تین آزاد سورس آئی پی کلائنٹس کو دیکھے گا۔ توازن آپ کو تمام چینلز پر بوجھ کو تقسیم کرنے اور ان تینوں کو بیک وقت استعمال کرنے کی اجازت دیتا ہے۔ سادگی کے لیے، تصور کریں کہ ہم بوجھ کو تمام چینلز کے درمیان یکساں طور پر تقسیم کرتے ہیں۔ نتیجے کے طور پر، جب کوئی کلائنٹ تین تصاویر والی سائٹ کھولتا ہے، تو وہ ہر تصویر کو علیحدہ فراہم کنندہ کے ذریعے ڈاؤن لوڈ کرتا ہے۔ سائٹ کی طرف یہ تین مختلف IPs سے کنکشن کی طرح لگتا ہے۔

کنکشن کی سطح پر توازن رکھتے وقت، ہر TCP کنکشن ایک الگ فراہم کنندہ کے ذریعے جاتا ہے۔
یہ بیلنسنگ موڈ اکثر صارفین کے لیے مسائل کا باعث بنتا ہے۔ مثال کے طور پر، بہت سی سائٹیں کلائنٹ کے آئی پی ایڈریس پر کوکیز اور ٹوکنز کو سختی سے پابند کرتی ہیں، اور اگر یہ اچانک تبدیل ہو جاتا ہے، تو درخواست مسترد کر دی جاتی ہے یا کلائنٹ سائٹ سے لاگ آؤٹ ہو جاتا ہے۔ یہ اکثر کلائنٹ-بینک سسٹمز اور دیگر سائٹس میں سخت صارف سیشن قوانین کے ساتھ دوبارہ پیش کیا جاتا ہے۔ یہاں ایک سادہ مثالی مثال ہے: VK.com پر میوزک فائلیں صرف ایک درست سیشن کی کے ساتھ دستیاب ہوتی ہیں، جو ایک IP سے منسلک ہوتی ہے، اور اس طرح کے توازن کا استعمال کرنے والے کلائنٹ اکثر آڈیو نہیں چلاتے ہیں کیونکہ درخواست فراہم کنندہ کے ذریعے نہیں جاتی تھی۔ سیشن بندھا ہوا ہے.

ٹورینٹ ڈاؤن لوڈ کرتے وقت، کنکشن لیول بیلنسنگ تمام چینلز کی بینڈوڈتھ کو جمع کرتی ہے۔
یہ توازن آپ کو متعدد کنکشن استعمال کرتے وقت انٹرنیٹ چینل کی رفتار کا خلاصہ حاصل کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، اگر تین فراہم کنندگان میں سے ہر ایک کی رفتار 100 میگا بٹس ہے، تو ٹورینٹ ڈاؤن لوڈ کرتے وقت ہمیں 300 میگا بٹس ملیں گے۔ کیونکہ ایک ٹورینٹ بہت سے کنکشن کھولتا ہے، جو تمام فراہم کنندگان میں تقسیم ہوتے ہیں اور بالآخر پورے چینل کو استعمال کرتے ہیں۔
یہ سمجھنا ضروری ہے کہ ایک واحد TCP کنکشن ہمیشہ صرف ایک فراہم کنندہ سے گزرے گا۔ یعنی اگر ہم ایک بڑی فائل کو HTTP کے ذریعے ڈاؤن لوڈ کریں گے تو یہ کنکشن کسی ایک پرووائیڈر کے ذریعے بنے گا اور اگر اس پرووائیڈر سے رابطہ ٹوٹ جائے گا تو ڈاؤن لوڈ بھی ٹوٹ جائے گا۔

ایک کنکشن ہمیشہ صرف ایک انٹرنیٹ چینل استعمال کرے گا۔
یہ ویڈیو نشریات کے لیے بھی درست ہے۔ اگر آپ سٹریمنگ ویڈیو کو کسی قسم کے مشروط Twitch پر نشر کر رہے ہیں، تو IP کنکشنز کی سطح پر توازن رکھنا کوئی خاص فائدہ نہیں دے گا، کیونکہ ویڈیو سٹریم ایک IP کنکشن کے اندر نشر کیا جائے گا۔ اس صورت میں، اگر WAN 3 فراہم کنندہ کو کمیونیکیشن کے ساتھ مسائل کا سامنا کرنا شروع ہو جاتا ہے، جیسے کہ پیکٹ کا نقصان یا رفتار کم ہو، تو آپ فوری طور پر کسی دوسرے فراہم کنندہ پر جانے کے قابل نہیں ہوں گے۔ نشریات کو روک کر دوبارہ جوڑنا ہو گا۔
سچی چینل کا خلاصہ
اصلی چینل کا خلاصہ تمام فراہم کنندگان کے ذریعے ایک ہی وقت میں مشروط Twitch سے ایک کنکشن کو اس طرح چلانا ممکن بناتا ہے کہ اگر فراہم کنندگان میں سے کوئی ٹوٹ جاتا ہے، تو کنکشن میں خلل نہیں پڑے گا۔ یہ ایک حیرت انگیز طور پر مشکل مسئلہ ہے جس کا ابھی تک کوئی بہترین حل نہیں ہے۔ بہت سے لوگ یہ بھی نہیں جانتے کہ یہ ممکن ہے!
پچھلی مثالوں سے، ہمیں یاد ہے کہ مشروط Twitch سرور ہم سے صرف ایک سورس IP ایڈریس سے ویڈیو سٹریم وصول کر سکتا ہے، جس کا مطلب ہے کہ یہ ہمارے لیے ہمیشہ مستقل ہونا چاہیے، قطع نظر اس کے کہ کون سے فراہم کنندگان بند ہو گئے ہیں اور کون سے کام کر رہے ہیں۔ اس کو حاصل کرنے کے لیے، ہمیں ایک سمنگ سرور کی ضرورت ہے جو ہمارے تمام رابطوں کو ختم کردے اور انہیں ایک میں جوڑ دے۔

خلاصہ سرور تمام چینلز کو ایک سرنگ میں جمع کرتا ہے۔ تمام کنکشن خلاصہ سرور ایڈریس سے شروع ہوتے ہیں۔
اس اسکیم میں، تمام فراہم کنندگان استعمال کیے جاتے ہیں، اور ان میں سے کسی کو بھی غیر فعال کرنے سے Twitch سرور کے ساتھ مواصلت کا نقصان نہیں ہوگا۔ بنیادی طور پر، یہ ایک خصوصی VPN سرنگ ہے، جس کے نیچے ایک ساتھ کئی انٹرنیٹ چینلز ہیں۔ اس طرح کی اسکیم کا بنیادی کام اعلیٰ ترین کوالٹی کمیونیکیشن چینل حاصل کرنا ہے۔ اگر فراہم کنندگان میں سے کسی ایک کو مسائل، پیکٹوں کا نقصان، تاخیر میں اضافہ ہونا شروع ہو جائے، تو اس سے مواصلات کے معیار کو کسی بھی طرح متاثر نہیں کرنا چاہیے، کیونکہ لوڈ خود بخود دوسرے، بہتر چینلز پر تقسیم ہو جائے گا جو دستیاب ہیں۔
تجارتی حل
یہ مسئلہ طویل عرصے سے ان لوگوں کو پریشان کر رہا ہے جو لائیو ایونٹس نشر کرتے ہیں اور انہیں اعلیٰ معیار کا انٹرنیٹ تک رسائی نہیں ہے۔ اس طرح کے کاموں کے لیے، کئی تجارتی حل ہیں، مثال کے طور پر، کمپنی Teradek ایسے شیطانی راؤٹرز بناتی ہے جس میں USB موڈیم کے پیک ڈالے جاتے ہیں:

چینل سمنگ فنکشن کے ساتھ ویڈیو براڈکاسٹ کے لیے راؤٹر
اس طرح کے آلات میں عام طور پر HDMI یا SDI کے ذریعے ویڈیو سگنل کیپچر کرنے کی بلٹ ان صلاحیت ہوتی ہے۔ راؤٹر کے ساتھ ساتھ، چینل سمنگ سروس کا سبسکرپشن بھی فروخت کیا جاتا ہے، ساتھ ہی ویڈیو سٹریم پر کارروائی، اسے ٹرانس کوڈنگ اور اسے مزید ریلے کرنا۔ اس طرح کے آلات کی قیمت $2k سے موڈیم کے ایک سیٹ کے ساتھ شروع ہوتی ہے، اس کے علاوہ سروس کے لیے علیحدہ سبسکرپشن۔
کبھی کبھی یہ کافی خوفناک لگتا ہے:

OpenMPTCPRouter ترتیب دینا
پروٹوکول (MultiPath TCP) ایک ساتھ کئی چینلز کے ذریعے جڑنے کے قابل ہونے کے لیے ایجاد کیا گیا تھا۔ مثال کے طور پر، اس کے اور بیک وقت وائی فائی اور سیلولر نیٹ ورک کے ذریعے ریموٹ سرور سے جڑ سکتا ہے۔ یہ سمجھنا ضروری ہے کہ یہ دو الگ الگ TCP کنکشن نہیں ہیں، بلکہ ایک ہی وقت میں دو چینلز پر ایک کنکشن قائم ہوا ہے۔ اس کے کام کرنے کے لیے، ریموٹ سرور کو MPTCP کو بھی سپورٹ کرنا چاہیے۔
ایک اوپن سورس سافٹ ویئر راؤٹر پروجیکٹ ہے جو حقیقی چینل کا خلاصہ کرنے کی اجازت دیتا ہے۔ مصنفین کا کہنا ہے کہ پروجیکٹ الفا ورژن کی حیثیت میں ہے، لیکن اسے پہلے ہی استعمال کیا جا سکتا ہے۔ یہ دو حصوں پر مشتمل ہے - ایک سمنگ سرور، جو انٹرنیٹ پر واقع ہے اور ایک روٹر، جس سے کئی انٹرنیٹ فراہم کرنے والے اور کلائنٹ کے آلات خود جڑے ہوئے ہیں: کمپیوٹر، فون۔ حسب ضرورت راؤٹر Raspberry Pi، کچھ WiFi راؤٹرز، یا ایک باقاعدہ کمپیوٹر ہو سکتا ہے۔ مختلف پلیٹ فارمز کے لیے تیار اسمبلیاں ہیں، جو کہ بہت آسان ہے۔

OpenMPTCPRouter کیسے کام کرتا ہے۔
خلاصہ سرور ترتیب دینا
سمنگ سرور انٹرنیٹ پر واقع ہے اور کلائنٹ روٹر کے تمام چینلز سے کنکشن کو ایک میں ختم کرتا ہے۔ OpenMPTCPRouter کے ذریعے انٹرنیٹ تک رسائی کے وقت اس سرور کا IP پتہ بیرونی پتہ ہوگا۔
اس کام کے لیے ہم VPS سرور آن استعمال کریں گے۔ Debian 10.
خلاصہ سرور کے لیے تقاضے:
- MPTCP OpenVZ ورچوئلائزیشن پر کام نہیں کرتا ہے۔
- آپ کا اپنا دانا انسٹال کرنا ممکن ہونا چاہئے۔ Linux
سرور کو ایک کمانڈ چلا کر تعینات کیا جاتا ہے۔ اسکرپٹ ایم پی ٹی سی پی سپورٹ اور تمام ضروری پیکجز کے ساتھ ایک دانا انسٹال کرے گا۔ انسٹالیشن اسکرپٹس کے لیے دستیاب ہیں۔ Ubuntu и Debian.
wget -O - http://www.openmptcprouter.com/server/debian10-x86_64.sh | sh
کامیاب سرور کی تنصیب کا نتیجہ۔

ہم پاس ورڈ محفوظ کرتے ہیں، ہمیں کلائنٹ روٹر کو کنفیگر کرنے اور دوبارہ شروع کرنے کے لیے ان کی ضرورت ہوگی۔ یہ ذہن میں رکھنا ضروری ہے کہ انسٹالیشن کے بعد، SSH پورٹ 65222 پر دستیاب ہوگا۔ ریبوٹ کرنے کے بعد، ہمیں اس بات کو یقینی بنانا ہوگا کہ ہم نے نئے کرنل کے ساتھ بوٹ کیا ہے۔
uname -a
Linux test-server.local 4.19.67-mptcp
ہم ورژن نمبر کے آگے ایم پی ٹی سی پی انکرپشن دیکھتے ہیں، جس کا مطلب ہے کہ دانا صحیح طریقے سے انسٹال ہوا تھا۔
کلائنٹ راؤٹر ترتیب دینا
پر کچھ پلیٹ فارمز، جیسے Raspberry Pi، Banana Pi، Lynksys راؤٹرز اور ورچوئل مشینوں کے لیے ریڈی میڈ بلڈز دستیاب ہیں۔
Openmptcprouter کا یہ حصہ OpenWRT پر مبنی ہے، LuCI کو ایک انٹرفیس کے طور پر استعمال کرتا ہے، جو ہر اس شخص سے واقف ہے جس نے کبھی OpenWRT کا سامنا کیا ہو۔ تقسیم کا وزن تقریباً 50MB ہے!

ایک ٹیسٹ بینچ کے طور پر، میں مختلف آپریٹرز کے ساتھ Raspberry Pi اور کئی USB موڈیم استعمال کروں گا: MTS اور Megafon۔ مجھے نہیں لگتا کہ مجھے آپ کو یہ بتانے کی ضرورت ہے کہ ایس ڈی کارڈ پر تصویر کیسے لکھی جائے۔
ابتدائی طور پر، Raspberry Pi میں ایتھرنیٹ پورٹ کو ایک جامد IP ایڈریس کے ساتھ لین کے طور پر ترتیب دیا گیا ہے۔ 192.168.100.1. اپنی میز پر تاروں سے الجھنے سے بچنے کے لیے، میں نے Raspberry Pi کو WiFi ایکسیس پوائنٹ سے منسلک کیا اور کمپیوٹر کے WiFi اڈاپٹر کو ایک جامد ایڈریس پر سیٹ کیا۔ 192.168.100.2. ڈی ایچ سی پی سرور ڈیفالٹ کے طور پر فعال نہیں ہے، لہذا آپ کو جامد پتے استعمال کرنے چاہئیں۔
اب آپ ویب انٹرفیس میں لاگ ان کر سکتے ہیں۔
جب آپ پہلی بار لاگ ان ہوں گے، تو سسٹم آپ سے روٹ پاس ورڈ سیٹ کرنے کو کہے گا؛ اسی پاس ورڈ کے ساتھ SSH دستیاب ہوگا۔

LAN سیٹنگز میں، آپ مطلوبہ سب نیٹ سیٹ کر سکتے ہیں اور DHCP سرور کو فعال کر سکتے ہیں۔
میں ایک علیحدہ DHCP سرور کے ساتھ USB ایتھرنیٹ انٹرفیس کے طور پر بیان کردہ موڈیم استعمال کرتا ہوں، اس لیے اس کی تنصیب کی ضرورت ہے۔ . طریقہ کار باقاعدہ OpenWRT میں موڈیم ترتیب دینے کے مترادف ہے، اس لیے میں اسے یہاں نہیں بتاؤں گا۔
اگلا آپ کو WAN انٹرفیس کو ترتیب دینے کی ضرورت ہے۔ ابتدائی طور پر، سسٹم نے دو ورچوئل انٹرفیس WAN1 اور WAN2 بنائے۔ انہیں ایک فزیکل ڈیوائس تفویض کرنے کی ضرورت ہے، میرے معاملے میں یہ USB موڈیم انٹرفیس کے نام ہیں۔
انٹرفیس کے ناموں میں الجھن سے بچنے کے لیے، میں SSH کے ذریعے جڑتے ہوئے dmesg پیغامات دیکھنے کی تجویز کرتا ہوں۔
چونکہ میرے موڈیم خود روٹرز کے طور پر کام کرتے ہیں، اور خود ایک DHCP سرور رکھتے ہیں، اس لیے مجھے ان کے اندرونی نیٹ ورک رینجز کی سیٹنگز کو تبدیل کرنا پڑا اور DHCP سرور کو غیر فعال کرنا پڑا، کیونکہ ابتدائی طور پر دونوں موڈیم ایک ہی نیٹ ورک سے ایڈریس جاری کرتے ہیں، اور یہ تنازعہ کا باعث بنتا ہے۔
OpenMPTCPRouter کا تقاضہ ہے کہ WAN انٹرفیس ایڈریس جامد ہوں، اس لیے ہم موڈیم کے لیے سب نیٹس لے کر آتے ہیں اور انہیں سسٹم → openmptcprouter → انٹرفیس سیٹنگز مینو میں کنفیگر کرتے ہیں۔ یہاں آپ کو سمنگ سرور کی تنصیب کے دوران حاصل کردہ IP ایڈریس اور سرور کلید کی وضاحت کرنے کی ضرورت ہے۔

اگر سیٹ اپ کامیاب ہے، تو اسٹیٹس پیج پر اسی طرح کی تصویر ظاہر ہونی چاہیے۔ یہ دیکھا جا سکتا ہے کہ راؤٹر سمنگ سرور تک پہنچنے کے قابل تھا اور دونوں چینلز معمول کے مطابق کام کر رہے ہیں۔

ڈیفالٹ موڈ shadowsacks + mptcp ہے۔ یہ ایک پراکسی ہے جو تمام رابطوں کو اپنے اندر سمیٹ لیتی ہے۔ اسے ابتدائی طور پر صرف TCP پر کارروائی کرنے کے لیے ترتیب دیا گیا ہے، لیکن UDP کو بھی فعال کیا جا سکتا ہے۔

اگر اسٹیٹس پیج پر کوئی خرابیاں نہیں ہیں تو سیٹ اپ کو مکمل سمجھا جا سکتا ہے۔
کچھ فراہم کنندگان کے ساتھ، ایسی صورت حال پیدا ہو سکتی ہے جب ایم پی ٹی سی پی جھنڈا ٹریفک کے راستے سے کاٹ دیا جائے، پھر درج ذیل خرابی ظاہر ہو جائے گی۔

اس صورت میں، آپ MPTCP استعمال کیے بغیر، ایک مختلف آپریٹنگ موڈ استعمال کر سکتے ہیں، اس بارے میں مزید .
حاصل يہ ہوا
OpenMPTCPRouter پروجیکٹ بہت دلچسپ اور اہم ہے، کیونکہ یہ چینل سمنگ کے مسئلے کا شاید واحد کھلا جامع حل ہے۔ باقی سب کچھ یا تو مضبوطی سے بند اور ملکیتی ہے، یا محض الگ الگ ماڈیولز ہیں جنہیں ایک عام آدمی سمجھ نہیں سکتا۔ ترقی کے موجودہ مرحلے پر، منصوبہ ابھی بھی کافی خام ہے، دستاویزات انتہائی ناقص ہیں، بہت سی چیزیں صرف بیان نہیں کی جاتی ہیں۔ لیکن ایک ہی وقت میں یہ اب بھی کام کرتا ہے. مجھے امید ہے کہ یہ ترقی کرتا رہے گا، اور ہمیں گھریلو راؤٹرز ملیں گے جو باکس سے باہر چینلز کو صحیح طریقے سے جوڑنے کے قابل ہوں گے۔
انسٹاگرام پر ہمارے ڈویلپر کو فالو کریں۔
ماخذ: www.habr.com
