کی میز کے مندرجات[چھپائیں][دکھائیں]
صارف اور سرور کے درمیان ڈیٹا کے بہاؤ کو کنٹرول کرنے کے لیے TCP Flow Control نامی پروٹوکول بنایا گیا تھا۔
یہ یقینی بناتا ہے کہ ڈیٹا بھیجنے اور وصول کرنے کے لیے ایک خاص مقدار میں بینڈوتھ دستیاب ہے تاکہ پروسیسنگ کسی سنگین مسائل کا سامنا کیے بغیر آگے بڑھ سکے۔
TCP پروٹوکول اس کو پورا کرنے کے لیے ایک طریقہ استعمال کرتا ہے جسے سلائیڈنگ ونڈو پروٹوکول کہا جاتا ہے۔
ہم اس ٹکڑے میں TCP فلو کنٹرول پر گہری نظر ڈالیں گے، بشمول یہ کیسے کام کرتا ہے اور، سب سے اہم طور پر، سلائیڈنگ ونڈو پروٹوکول۔
TCP فلو کنٹرول کیا ہے؟
TCP پروٹوکول اس بات کو یقینی بناتا ہے کہ غیر متوقع نیٹ ورک پر ایک قابل اعتماد مواصلاتی چینل قائم کیا جا سکتا ہے۔
ڈیٹا پیکٹ گم ہو سکتے ہیں، ترتیب سے باہر پہنچ سکتے ہیں، نیٹ ورک میں بیک اپ ہو سکتے ہیں، یا وصول کرنے والے نوڈ پر اوور لوڈ ہو سکتے ہیں کیونکہ وہ ایک نوڈ سے دوسرے کو بھیجے جا رہے ہیں۔
تاہم، ایک ایپلیکیشن تیار کرتے وقت، ہمیں عام طور پر اس پیچیدگی سے نمٹنے کی ضرورت نہیں ہوتی ہے۔ اس کے بجائے، ہم صرف ساکٹ میں کچھ ڈیٹا بھیجتے ہیں، اور TCP اس بات کو یقینی بناتا ہے کہ پیکٹ کامیابی کے ساتھ وصول کنندہ نوڈ تک پہنچ گئے ہیں۔.
فلو کنٹرول ایک اہم اضافی خصوصیت ہے جو TCP پیش کرتا ہے۔
بہاؤ کنٹرول کے استعمال کے ذریعے، TCP بنیادی طور پر اس بات کو یقینی بنائے گا کہ بھیجنے والا ایک وصول کنندہ کو ایک ساتھ بہت زیادہ پیکٹ نہیں بھیج رہا ہے۔
ٹرانسفر کنٹرول پروٹوکول - فلو کنٹرول کیسے کام کرتا ہے؟
یہ عام طور پر اس وقت ہوتا ہے جب ہمیں کسی نیٹ ورک پر ڈیٹا کو مواصلت کرنے کی ضرورت ہوتی ہے۔
بھیجنے والا ایپلی کیشن ڈیٹا کو ساکٹ میں بھیجتا ہے، ٹرانسپورٹ کی پرت (اس معاملے میں، TCP) اس ڈیٹا کو ایک سیگمنٹ میں پیک کرتی ہے، اور نیٹ ورک کی پرت (مثال کے طور پر، آئی پی) اس پیکٹ کو کسی راستے سے وصول کرنے والے نوڈ پر منتقل کرتی ہے۔
بات چیت کے اختتام پر نیٹ ورک کی پرت اس ڈیٹا کو TCP کو منتقل کرے گی، اور TCP اسے موصول ہونے والی درخواست کو دیے گئے ڈیٹا کی ایک جیسی ڈپلیکیٹ کے طور پر دستیاب کرائے گا۔
TCP آرڈر سے باہر پیکٹ فراہم نہیں کرے گا اور بائٹ سٹریم گیپ کا پتہ لگانے کی صورت میں دوبارہ ٹرانسمیشن کا انتظار کرے گا۔
یہ وہی ہے جو ہم دیکھیں گے اگر ہم زوم ان کریں گے۔
TCP پر ٹرانسمٹ اور وصول کرنے والے دونوں بفرز کو ڈیٹا رکھنے کے لیے استعمال کیا جاتا ہے جسے بالترتیب بھیجا اور وصول کرنا ہوتا ہے۔
موصول ہونے والے بفر سے ڈیٹا تیار ہونے پر درخواست کے ذریعہ پڑھا جائے گا۔
اس بات کو یقینی بنانا کہ ہم اضافی پیکٹ نہ بھیجیں جب کہ وصول کنندہ کا بفر پہلے سے بھرا ہوا ہو بہاؤ کنٹرول کا بنیادی ہدف ہے کیونکہ ایسا کرنے سے وصول کنندہ اضافی پیکٹ چھوڑنے پر مجبور ہو جائے گا جنہیں وہ سنبھال نہیں سکتا۔
وصول کنندہ اپنی وصولی ونڈو، یا وصول کرنے والے بفر میں دستیاب جگہ کا اعلان کرے گا تاکہ ڈیٹا کی مقدار کو محدود کیا جا سکے جسے TCP منتقل کر سکتا ہے۔
سلائیڈنگ ونڈو پروٹوکول
TCP میں سلائیڈنگ ونڈو پروٹوکول سب سے زیادہ استعمال ہونے والے فلو کنٹرول طریقوں میں سے ایک ہے۔ یہ ایک متغیر سائز، بائٹ پر مبنی طریقہ کار ہے۔
اس نقطہ نظر میں، وصول کنندہ بھیجنے والے اور وصول کنندہ کے منسلک ہوتے ہی بھیجنے والے کو رسیور ونڈو بھیج دیتا ہے۔
وصول کنندہ کے موجودہ بفر کے سائز کو رسیور ونڈو کہا جاتا ہے۔
ڈیٹا کی مقدار جو بغیر کسی تصدیق کے مزید بھیجی جا سکتی ہے اب ٹی سی پی کے ذریعہ دستیاب رسیور ونڈو کی بنیاد پر شمار کیا جاتا ہے۔
TCP، تاہم، ڈیٹا کی منتقلی کو روکتا ہے اگر وصول کنندہ ونڈو کا سائز 0 ہے اور اس کے بڑھنے کا انتظار کرتا ہے۔
رسیور ونڈو کا سائز TCP فریم کا ایک جزو ہے۔
ونڈو کا زیادہ سے زیادہ سائز 65,535 بائٹس ہے کیونکہ اس کی ونڈو کا سائز 16 بٹس ہے۔
ونڈو کے طول و عرض وصول کنندہ کے ذریعہ منتخب کیے جاتے ہیں۔ ہر ایک اعترافی پیغام کے ساتھ، وصول کنندہ رسیور ونڈو کے سائز کو منتقل کرتا ہے جو فی الحال دستیاب ہے۔
سلائیڈنگ ونڈو پروٹوکول کا عمل
سلائیڈنگ ونڈو پروٹوکول تکنیک کا استعمال کرتے وقت، بھیجنے والے اور وصول کنندہ کے آپس میں جڑنے پر دو بفرز قائم ہوتے ہیں۔
یہ دو بفر دو گروہوں میں تقسیم ہیں: بھیجنے والی ونڈو، جو بھیجنے والے کی ہے، اور وصول کرنے والی ونڈو، جو وصول کنندہ کی ہے۔
جب بھیجنے والا ڈیٹا وصول کنندہ کو منتقل کرتا ہے تو وصول کرنے والی ونڈو باقی وصول کرنے والی بفر اسپیس کو واپس دیتی ہے۔
نتیجے کے طور پر، بھیجنے والا ڈیٹا کی مقدار تک محدود ہے جو وصول کرنے والے بفر میں فٹ ہو سکتا ہے۔
اوپر دی گئی مثال میں ٹرانسمیٹنگ ونڈو ڈیٹا کو وصول کرنے والی ونڈو میں منتقل کرتی ہے۔
ڈیٹا حاصل کرنے کے بعد، وصول کرنے والی ونڈو ایک اعتراف بھیجتی ہے، اور پھر منتقل کرنے والی ونڈو ایک نیا ڈیٹا فریم منتقل کرتی ہے۔
اس بار، اگرچہ، وصول کرنے والی ونڈو اضافی طور پر ایک پیغام بھیجتی ہے جس میں کہا گیا ہے کہ دستیاب میموری اس کے موصول ہونے والے اعتراف کے علاوہ بھری ہوئی ہے۔
ترسیل کرنے والی ونڈو ڈیٹا کی منتقلی کو روکتی ہے جب تک کہ اسے وصول کرنے والی ونڈو سے اس بات کی تصدیق نہ ہو جائے کہ جگہ خالی کر دی گئی ہے، جس وقت یہ ڈیٹا کی منتقلی کو دوبارہ شروع کر سکتا ہے۔
نتیجہ
آخر میں، ڈیٹا کنکشن کی تہہ اور ٹرانسپورٹ کی تہہ بہاؤ کنٹرول کے خدشات سے نمٹنے کے لیے ذمہ دار ہیں۔
بہاؤ کو کنٹرول کرنے کے طریقہ کار کا بنیادی مقصد وصول کنندہ کو تیزی سے منتقل کرنے والے بھیجنے والے ڈیٹا کے ساتھ زیادہ بوجھ بننے سے روکنا ہے۔
یہاں تک کہ اگر بھیجنے والے کی طرف سے منتقل کیا جا رہا ڈیٹا غلطی سے پاک ہے اور ایک طاقتور مشین کی بدولت تیز رفتاری پر بھیجا جا رہا ہے، تو یہ ممکن ہے کہ سست رفتار کا وصول کنندہ تیز رفتار ڈیٹا کی شرح کو سنبھالنے سے قاصر ہو اور اس وجہ سے کچھ ڈیٹا سے محروم ہو جائے۔
جواب دیجئے