ٹی سی پی کا خفیہ ہتھیار: نیٹ ورک فلو کنٹرول اور نیٹ ورک بھیڑ کنٹرول

ٹی سی پی وشوسنییتا ٹرانسپورٹ
ہم سب قابل اعتماد ٹرانسپورٹ پروٹوکول کے طور پر ٹی سی پی پروٹوکول سے واقف ہیں ، لیکن یہ نقل و حمل کی وشوسنییتا کو کیسے یقینی بناتا ہے؟

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

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

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

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

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

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

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

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

یہاں ایک نیٹ ورک فلو کنٹرول ڈایاگرام ہے:

ٹریفک کنٹرول

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

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

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

اس طرح ، ٹی سی پی نیٹ ورک پر جو کچھ ہو رہا ہے اسے نظرانداز نہیں کرسکتا۔ جب نیٹ ورک کو بھیڑ دیا جاتا ہے تو ، ٹی سی پی اپنے بھیجے ہوئے اعداد و شمار کی مقدار کو کم کرکے خود کی قربانی دیتا ہے۔

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

بھیڑ کی کھڑکی کیا ہے؟ اس کا بھیجنے والی ونڈو سے کیا تعلق ہے؟

بھیڑ ونڈو ایک ریاست متغیر ہے جو مرسل کے ذریعہ برقرار ہے جو مرسل بھیجنے والے کے اعداد و شمار کی مقدار کا تعین کرتا ہے۔ بھیڑ کی کھڑکی نیٹ ورک کی بھیڑ کی سطح کے مطابق متحرک طور پر تبدیل ہوتی ہے۔

بھیجنے والی ونڈو مرسل اور وصول کنندہ کے مابین ونڈو سائز پر متفق ہے جو اس بات کی نشاندہی کرتی ہے کہ وصول کنندہ وصول کرنے والے ڈیٹا کی مقدار کو حاصل کرسکتا ہے۔ بھیڑ کی کھڑکی اور بھیجنے والی ونڈو کا تعلق ہے۔ بھیجنے والی ونڈو عام طور پر بھیڑ اور وصول کرنے والی ونڈوز کے کم سے کم کے برابر ہوتی ہے ، یعنی ، SWND = منٹ (CWND ، RWND)۔

بھیڑ ونڈو CWND مندرجہ ذیل طور پر تبدیل ہوتا ہے:

اگر نیٹ ورک میں کوئی بھیڑ نہیں ہے تو ، یعنی ، کوئی منتقلی کا وقت ختم نہیں ہوتا ہے ، بھیڑ کی کھڑکی میں اضافہ ہوتا ہے۔

اگر نیٹ ورک میں بھیڑ ہے تو ، بھیڑ کی کھڑکی کم ہوتی ہے۔

مرسل اس بات کا تعین کرتا ہے کہ آیا یہ مشاہدہ کرکے نیٹ ورک کو بھیڑ دیا گیا ہے کہ آیا ACK کے اعتراف کا پیکٹ مقررہ وقت میں موصول ہوا ہے یا نہیں۔ اگر بھیجنے والے کو مقررہ وقت کے اندر ACK ACCENCELDGMENT پیکٹ موصول نہیں ہوتا ہے تو ، یہ سمجھا جاتا ہے کہ نیٹ ورک بھیڑ ہے۔

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

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

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

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

 نیٹ ورک بھیڑ کا کنٹرول

تاہم ، بھیجنے کی شرح ہمیشہ بڑھ نہیں سکتی۔ ترقی کو کسی وقت ختم ہونا ہے۔ تو ، بھیجنے کی شرح میں اضافہ کب ختم ہوتا ہے؟ سست آغاز عام طور پر کئی طریقوں میں سے ایک میں بھیجنے کی شرح میں اضافے کو ختم کرتا ہے:

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

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

آخری طریقہ جس سے سست آغاز ختم ہوسکتا ہے وہ یہ ہے کہ اگر تین بے کار ACKs کا پتہ چلا تو ، ٹی سی پی تیز رفتار سے چلنے والی کارکردگی کا مظاہرہ کرتا ہے اور بازیابی کی حالت میں داخل ہوتا ہے۔ (اگر یہ واضح نہیں ہے کہ یہاں تین ACK پیکٹ کیوں ہیں تو ، اس کی بحالی کے طریقہ کار میں الگ الگ وضاحت کی جائے گی۔)

بھیڑ سے بچنا
جب ٹی سی پی بھیڑ کنٹرول ریاست میں داخل ہوتا ہے تو ، سی ڈبلیو این ڈی کو آدھے بھیڑ کی حد سدھریش پر سیٹ کیا جاتا ہے۔ اس کا مطلب یہ ہے کہ جب بھی پیکٹ طبقہ موصول ہوتا ہے تو CWND کی قیمت دوگنی نہیں کی جاسکتی ہے۔ اس کے بجائے ، ایک نسبتا conseزوریٹو نقطہ نظر اپنایا جاتا ہے جس میں ہر ٹرانسمیشن مکمل ہونے کے بعد CWND کی قیمت میں صرف ایک MSS (زیادہ سے زیادہ پیکٹ طبقہ کی لمبائی) میں اضافہ ہوتا ہے۔ مثال کے طور پر ، یہاں تک کہ اگر پیکٹ کے 10 طبقات کو تسلیم کیا جاتا ہے تو ، CWND کی قیمت صرف ایک ایم ایس ایس تک بڑھ جائے گی۔ یہ ایک لکیری نمو ماڈل ہے اور اس کی ترقی پر بھی اوپری پابند ہے۔ جب پیکٹ کا نقصان ہوتا ہے تو ، CWND کی قیمت کو MSS میں تبدیل کردیا جاتا ہے ، اور SSthresh کی قیمت CWND کے نصف حصے پر سیٹ ہوجاتی ہے۔ یا یہ ایم ایس ایس کی نمو کو بھی روک دے گا جب 3 بے کار ACK جوابات موصول ہوں گے۔ اگر CWND کی قیمت کو آدھا کرنے کے بعد ابھی بھی تین بے کار ACK موصول ہوئے ہیں تو ، SSThresh کی قیمت CWND کی نصف قیمت کے طور پر ریکارڈ کی گئی ہے اور فاسٹ ریکوری اسٹیٹ داخل ہے۔

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

جب کھوئے ہوئے پیکٹ طبقہ کا ایک ACK آتا ہے تو ، TCP CWND کی قیمت میں کمی کرتا ہے اور پھر بھیڑ سے بچنے کی حالت میں داخل ہوتا ہے۔ یہ بھیڑ ونڈو کے سائز کو کنٹرول کرنے اور نیٹ ورک کی بھیڑ میں مزید اضافے سے بچنے کے لئے ہے۔

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

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

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


پوسٹ ٹائم: فروری -24-2025