•  بے نور روشنی

ٹی سی اسپلٹر۔

TCP یا UDP کنکشن کو کئی TCP کنکشنز میں تقسیم کرنے کے لیے ایک سرنگ۔

مقصد۔

آپ کب ایک ٹی سی پی کنکشن کو متعدد میں تقسیم کرنا چاہیں گے؟ عام طور پر آپ a استعمال کرتے ہیں۔ سرنگ کے حصول کے لئے بالکل برعکس . میرا استعمال کیس موبائل نیٹ ورک میں بینڈوڈتھ کی حدود کو ختم کر رہا تھا ، لہذا سم کارڈ کے ساتھ ٹیسٹ کیے گئے جس کے منصوبے میں مزید ڈیٹا باقی نہیں تھا[1].

یہ کیسے کام کرتا ہے

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

ابتدائی طور پر "فلنگز" اور "لاسسوز" تھے ، جو کہ باہر جانے والے (فلنگ والے) اور آنے والے (لاسوڈ) کے کنکشن کی تعداد کو تقسیم کرنے کے لیے تھے ، لیکن یہ ایک غیر ضروری تجرید تھی کیونکہ پیکٹوں کو ان کی منزل کے ساتھ ٹیگ کرنا بہتر ہے ، حالانکہ اصل مقصد یہ تھا آؤٹ گوئنگ اور آنے والے کنکشنز کے لیے مختلف ریٹ کی حدیں پیش کرنا

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

پیکٹ پھر سرور کو بھیجے جاتے ہیں ، جس نے انہیں درست ترتیب میں دوبارہ تشکیل دینا ہوتا ہے ، کیونکہ مختلف ٹی سی پی کنکشن کسی بھی وقت ڈیٹا سٹریم کو ختم کر سکتے ہیں (بھیجے گئے آرڈر کا احترام نہیں کیا جاتا ، کیونکہ روٹنگ ) ، اور پھر وصول کرنے والی ایپ کو بھیج دیا گیا۔

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

یہ کیوں کام کرتا ہے؟

یہاں کا ارادہ یہ ہے کہ ہر کنکشن کو کتنا ڈیٹا سنبھالنا چاہیے۔ ہمارے مقاصد کے لیے ، اس سے آگے کبھی نہیں تھا عام طور پر ہے۔ ایم ٹی یو کھڑکی کا سائز آپ MTU کے بارے میں سوچ سکتے ہیں کہ ڈیٹا کے ایک ٹکڑے کی اوپری حد ہے جو پورے نیٹ ورک میں گزرتی ہے ، اور یہ ہمارا ہدف تھا کیونکہ ہم ایک گیٹڈ نیٹ ورک کی بینڈوتھ ریٹ کی حد کو نظرانداز کرنا چاہتے تھے۔ ایک کلائنٹ کتنا ڈیٹا پاس کر سکتا ہے اس کو محدود کرنے کے لیے ، آپ کو ضرورت ہے۔ شمار ٹھیک ہے؟ اگر آپ کی منطق کسی چیز کے ساتھ کام کرتی ہے ado-while

پھر آپ کو ضرورت ہے۔ کم از کم وصول کرنا apacket . مجھے یقین نہیں ہے کہ کیا واقعی ایسا ہوتا ہے ، یا میری سرنگ کے کام کرنے کی وجہ کوئی اور ہے۔ شاید پہلے پیکٹ کو بھی چیک کرنا مکمل طور پر ممکن ہے ، لیکن ڈیزائن کے نقطہ نظر سے ، اس کا مطلب یہ ہوگا کہ آپ کو چیک کرنا پڑے گا۔ ہر کوئی سنگل کنکشن ، جو نظام کو DOS حملوں کے لیے کمزور کر دے گا ، اور ہاں میری سرنگ آسانی سے ایک موثر DOS/تناؤ کے آلے کے طور پر استعمال کی جا سکتی ہے ، کیونکہ آپ ڈیٹا کو بہت چھوٹے پیکٹوں میں تقسیم کر سکتے ہیں (جس کا مطلب ہے کہ TCP کنکشنز پر ہائی ری سائیکل دباؤ پڑے گا۔ ) اور کنکشن کا پول ہے جتنا آپ چاہیں۔

مختلف بندرگاہوں پر جانچ سے یہ بھی پتہ چلتا ہے کہ یہ صرف پر ممکن تھا۔ کچھ بندرگاہوں ، اور یہ کہ بندرگاہوں کے درمیان حد مسلسل مختلف تھی ، کے ساتھ۔443 اونچی کھڑکیوں میں سے ایک دے رہا ہے۔20kb ، کیونکہ اندازہ لگایا جا رہا ہے۔TLS مصافحہ کے لیے مزید ڈیٹا درکار ہوتا ہے ، اور یہ کہ یہ شرح کی حدیں دن کے وقت کی بنیاد پر تبدیل ہوتی ہیں۔[2].

نتائج

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

یہ پتہ چلا کہ یہ صرف ایک شرح کی حد ہے کہ کلائنٹ نیٹ ورک پر کتنے ٹی سی پی کنکشن بھیج سکتا ہے ، لہذا صرف ایک ڈاس تحفظ جس کے بارے میں میں کچھ نہیں کر سکتا۔ کنکشن کی X مقدار کے بعد کوئی بھی۔SYN کوششیں ان کا واجبات وصول کرنا بند کردیتی ہیں۔ACK ، بیک لاگ کو پُر کرنا اور بالآخر ٹنل اسٹال بنانا۔ آزمائش اور غلطی نے ظاہر کیا کہ یہ دونوں کے درمیان ممکن تھا۔4-8[3] کنکشن کسی بھی وقت اور MTU کے ساتھ کھلے ہیں۔500-1000 بائٹس آپ کم از کم ایک مستحکم ندی رکھ سکتے ہیں۔128kbps ، اگر مسلسل سٹریم کی ضرورت نہیں تھی ، آپ کم وقت کے دوران زیادہ رفتار حاصل کر سکتے ہیں۔ پھٹ رہا ہے مانگ پر بہت سے کنکشن۔

اس کے برعکس ، ایک (سچ)DNS سرنگ بمشکل دھکیل سکتی ہے۔56kbps اور جلدی سے گلا گھونٹ سکتا ہے کیونکہ میرے خیال میں DNS درخواستوں کی ایک بڑی تعداد TCP کی درخواستوں کے مقابلے میں زیادہ مشکوک لگتی ہے۔ ہمیں یہ بتانا ہوگا کہ atrue ڈی این ایس ٹنل انکوڈز (آؤٹ گوئنگ) ڈیٹا کو بوگس سب ڈومینز اور ڈی کوڈ (آنے والے) ڈیٹا کو ڈی این ایس ریکارڈ سے استفسار کرتے ہوئے موصول ہوتا ہے ، جبکہ بعض اوقات ڈی این ایس ٹنل کو ڈی این ایس پورٹ پر خام یو ڈی پی کنکشن سمجھا جا سکتا ہے ، جو شاید کبھی ماضی میں ، ڈی این ایس سرورز اجازت دی گئی اور درست طریقے سے آگے بڑھایا گیا۔

نتائج

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

[1]عام طور پر جب ایک سم کارڈ کے پاس ویب کو براؤز کرنے کے لیے مزید ڈیٹا نہیں ہوتا ہے ، ویب کی درخواستیں کیپچر گیٹ وے پر ری ڈائریکٹ ہوتی ہیں (آپ کو مزید ڈیٹا خریدنے کے لیے بتانے کے لیے)
[2]موبائل ڈیٹا پلان رات کے اوقات میں بہتر کنکشن فراہم کر سکتا ہے۔
[3]یہ نمبر ، جو کہ کسی حد تک عام بنیادی گنتی کے مطابق ہے ، آپ کو یہ شبہ کرنے پر مجبور کر سکتا ہے کہ دانا کسی طرح کنکشن کو محدود کر رہا ہے ، ہماری سرنگ کے کھلے ہوئے کنکشن کا منظر یقینی طور پر غیر معمولی ہے ، لیکن ٹننگ لینکس نوبز نے میرے اختتام پر کبھی بہتر نتائج نہیں دیئے۔

پوسٹ ٹیگز: