Sliding window protocol
سلائڈنگ ونڈو پروٹوکول پیکٹ پر مبنی ڈیٹا ٹرانسمیشن پروٹوکول کی ایک خصوصیت ہے۔ سلائیڈنگ ونڈو پروٹوکول کا استعمال کیا جاتا ہے جہاں پیکٹوں کی قابل اعتماد ان آرڈر ڈیلیوری کی ضرورت ہوتی ہے، جیسے کہ ڈیٹا لنک لیئر (او ایس آئی لیئر 2) کے ساتھ ساتھ ٹرانسمیشن کنٹرول پروٹوکول (ٹی سی پی) میں۔ ان کا استعمال کارکردگی کو بہتر بنانے کے لیے بھی کیا جاتا ہے جب چینل میں زیادہ تاخیر شامل ہو سکتی ہے۔ پیکٹ پر مبنی نظام ڈیٹا کا ایک بیچ، پیکٹ، اضافی ڈیٹا کے ساتھ بھیجنے کے خیال پر مبنی ہوتے ہیں جو وصول کنندہ کو یہ یقینی بنانے کی اجازت دیتا ہے کہ اسے صحیح طریقے سے موصول کیا گیا تھا، شاید چیکسم۔ نمونہ ایک ونڈو کی طرح ہے جو سائیڈ وے سلائڈنگ کرتا ہے تاکہ تازہ پیکٹوں کے داخلے کی اجازت دی جا سکے اور ان کو مسترد کیا جا سکے جنہیں پہلے ہی تسلیم کیا جا چکا ہے۔ جب وصول کنندہ ڈیٹا کی تصدیق کرتا ہے، تو وہ بھیجنے والے کو ایک اعتراف سگنل، یا "اے سی کے" بھیجتا ہے، تاکہ اس بات کی نشاندہی کی جا سکے کہ وہ اگلا پیکٹ بھیج سکتا ہے۔ ایک سادہ آٹومیٹک ریپیٹ ریکویسٹ پروٹوکول (اے آر کیو) میں، بھیجنے والا ہر پیکٹ کے بعد رکتا ہے اور وصول کنندہ کے اے سی کے کا انتظار کرتا ہے۔ یہ یقینی بناتا ہے کہ پیکٹ صحیح ترتیب میں پہنچتے ہیں، کیونکہ ایک وقت میں صرف ایک ہی بھیجا جا سکتا ہے۔ اے سی کے سگنل موصول ہونے میں جو وقت لگتا ہے وہ پیکٹ بھیجنے کے لیے درکار وقت کے مقابلے میں کافی وقت کی نمائندگی کر سکتا ہے۔ اس صورت میں، مجموعی تھرو پٹ نظریاتی طور پر ممکن سے بہت کم ہو سکتا ہے۔ اس سے نمٹنے کے لیے، سلائڈنگ ونڈو پروٹوکول ایک منتخب تعداد میں پیکٹ، ونڈو، کو اے سی کے کا انتظار کیے بغیر بھیجنے کی اجازت دیتے ہیں۔ ہر پیکٹ کو ایک ترتیب نمبر ملتا ہے، اور اے سی کے اس نمبر کو واپس بھیج دیتے ہیں۔ پروٹوکول اس بات کا سراغ لگاتا ہے کہ کون سے پیکٹوں کو اے سی کے کیا گیا ہے، اور جب وہ موصول ہوتے ہیں، تو مزید پیکٹ بھیجتے ہیں۔ اس طرح، ونڈو منتقلی کو بنانے والے پیکٹوں کی ندی کے ساتھ سلائڈ کرتی ہے۔ سلائیڈنگ ونڈوز بہت سے پروٹوکول کا ایک اہم حصہ ہیں۔ یہ ٹی سی پی پروٹوکول کا ایک کلیدی حصہ ہے، جو فطری طور پر پیکٹوں کو ترتیب سے باہر پہنچنے کی اجازت دیتا ہے، اور یہ بہت سے فائل ٹرانسفر پروٹوکول جیسے یو یو سی پی-جی اور زیڈ ایم او ڈی ای ایم میں بھی پایا جاتا ہے جو کہ ایکس ایم او ڈی ای ایم جیسے غیر ونڈو پروٹوکول کے مقابلے میں کارکردگی کو بہتر بنانے کا ایک طریقہ ہے۔ SEAlink بھی دیکھیں۔ بنیادی تصور تصوراتی طور پر، ترسیل کے ہر حصے (زیادہ تر ڈیٹا لنک تہوں میں پیکٹ، لیکن ٹی سی پی میں بائٹس) کو ایک منفرد مسلسل ترتیب نمبر تفویض کیا جاتا ہے، اور وصول کنندہ موصول شدہ پیکٹوں کو صحیح ترتیب میں رکھنے کے لیے نمبروں کا استعمال کرتا ہے، ڈپلیکیٹ پیکٹوں کو خارج کرتا ہے اور گمشدہ پیکٹوں کی شناخت کرتا ہے۔ اس کے ساتھ مسئلہ یہ ہے کہ ترتیب نمبر کے سائز کی کوئی حد نہیں ہے جس کی ضرورت پڑ سکتی ہے۔ کسی بھی وقت منتقل یا موصول ہونے والے پیکٹوں کی تعداد پر حدود رکھ کر، ایک سلائڈنگ ونڈو پروٹوکول مقررہ سائز کے ترتیب نمبروں کا استعمال کرتے ہوئے لامحدود تعداد میں پیکٹوں کو بات چیت کرنے کی اجازت دیتا ہے۔ ٹرانسمیٹر کی طرف "ونڈو" کی اصطلاح وصول کنندہ کے ذریعہ ابھی تک تسلیم کیے جانے والے پیکٹوں کی کل تعداد کی منطقی حد کی نمائندگی کرتی ہے۔ رسیور ٹرانسمیٹر کو ہر قبولیت پیکٹ میں موجودہ زیادہ سے زیادہ رسیور بفر سائز (ونڈو باؤنڈری) سے آگاہ کرتا ہے۔ ٹی سی پی ہیڈر بھیجنے والے کو رسیور ونڈو سائز کی اطلاع دینے کے لیے 16 بٹ فیلڈ کا استعمال کرتا ہے۔ لہذا، استعمال کی جانے والی سب سے بڑی ونڈو 216 = 64 کلو بائٹس ہے۔ سلو اسٹارٹ موڈ میں، ٹرانسمیٹر کم پیکٹ گنتی کے ساتھ شروع ہوتا ہے اور وصول کنندہ سے اعتراف پیکٹ موصول کرنے کے بعد ہر ٹرانسمیشن میں پیکٹ کی تعداد میں اضافہ کرتا ہے۔ موصول ہونے والے ہر ایک پیکٹ کے لیے، ونڈو ایک نیا پیکٹ منتقل کرنے کے لیے ایک پیکٹ (منطقی طور پر) کے ذریعے سلائڈ کرتی ہے۔ جب ونڈو کی حد تک پہنچ جاتا ہے، تو ٹرانسمیٹر موصول ہونے والے ایک ایک پیکٹ کے لیے ایک پیکٹ بھیجتا ہے۔ اگر ونڈو کی حد 10 پیکٹ ہے تو سلو اسٹارٹ موڈ میں ٹرانسمیٹر ایک پیکٹ کے بعد دو پیکٹ منتقل کرنا شروع کر سکتا ہے (دو پیکٹ منتقل کرنے سے پہلے، ایک پیکٹ وصول کرنا پڑتا ہے)، اس کے بعد تین پیکٹ اور اسی طرح 10 پیکٹ تک۔ لیکن 10 پیکٹوں تک پہنچنے کے بعد، مزید ترسیل موصول ہونے والے ایک ایک پیکٹ کے لیے منتقل ہونے والے ایک پیکٹ تک محدود ہوتی ہے۔ ایک تخروپن میں ایسا ظاہر ہوتا ہے جیسے ونڈو موصول ہونے والے ہر ایک پیکٹ کے لیے ایک پیکٹ کے فاصلے سے آگے بڑھ رہی ہو۔ رسیور کی طرف بھی ونڈو موصول ہونے والے ہر پیکٹ کے لیے ایک پیکٹ منتقل کرتی ہے۔ سلائڈنگ ونڈو کا طریقہ اس بات کو یقینی بناتا ہے کہ نیٹ ورک پر ٹریفک کی بھیڑ سے بچا جائے۔ ایپلیکیشن لیئر اب بھی نیٹ ورک ٹریفک کی بھیڑ کے مسائل کی فکر کیے بغیر ٹی سی پی کو ٹرانسمیشن کے لیے ڈیٹا پیش کرے گی کیونکہ بھیجنے والے اور وصول کرنے والے کی طرف ٹی سی پی پیکٹ بفر کی سلائڈنگ ونڈوز کو نافذ کرتا ہے۔ ونڈو کا سائز نیٹ ورک ٹریفک کے لحاظ سے متحرک طور پر مختلف ہو سکتا ہے۔ زیادہ سے زیادہ ممکنہ تھرو پٹ کے لیے، یہ ضروری ہے کہ ٹرانسمیٹر کو ایک راؤنڈ ٹرپ تاخیر وقت (آر ٹی ٹی) سے پہلے سلائڈنگ ونڈو پروٹوکول کے ذریعے بھیجنا بند کرنے پر مجبور نہ کیا جائے۔ اعتراف کے انتظار میں رکنے سے پہلے جو ڈیٹا بھیج سکتا ہے اس کی حد مواصلاتی لنک کے بینڈوتھ-تاخیر پروڈکٹ سے زیادہ ہونی چاہیے۔ اگر ایسا نہیں ہے تو پروٹوکول لنک کی موثر بینڈوتھ کو محدود کر دے گا۔ محرک غلطی پر قابو پانے کے لیے خودکار دہرانے کی درخواست پر مبنی کسی بھی مواصلاتی پروٹوکول میں، وصول کنندہ کو موصول شدہ پیکٹوں کو تسلیم کرنا چاہیے۔ اگر ٹرانسمیٹر کو مناسب وقت کے اندر اعتراف موصول نہیں ہوتا ہے، تو وہ ڈیٹا کو دوبارہ بھیجتا ہے۔ ایک ٹرانسمیٹر جسے منظوری نہیں ملتی ہے وہ یہ نہیں جان سکتا کہ آیا وصول کنندہ کو اصل میں پیکٹ موصول ہوا ہے ؛ یہ ہو سکتا ہے کہ یہ ترسیل میں گم ہو گیا ہو یا خراب ہو گیا ہو۔ اگر غلطی کا پتہ لگانے کے طریقہ کار سے بدعنوانی کا پتہ چلتا ہے، تو وصول کنندہ پیکٹ کو نظر انداز کر دے گا اور وصول کنندہ کی طرف سے منفی یا ڈپلیکیٹ اعتراف بھیجا جائے گا۔ وصول کنندہ کو اس طرح بھی ترتیب دیا جا سکتا ہے کہ وہ کوئی اعتراف نہ بھیجے۔ اسی طرح، وصول کنندہ عام طور پر اس بارے میں غیر یقینی ہوتا ہے کہ آیا اس کے اعترافات موصول ہو رہے ہیں۔ یہ ہو سکتا ہے کہ ایک اعتراف بھیجا گیا ہو، لیکن ٹرانسمیشن میڈیم میں گم ہو گیا ہو یا خراب ہو گیا ہو۔ اس صورت میں، وصول کنندہ کو ڈیٹا کو مسلسل ناراض ہونے سے روکنے کے لیے دوبارہ ترسیل کو تسلیم کرنا چاہیے، لیکن بصورت دیگر اسے نظر انداز کرنا چاہیے۔ پروٹوکول آپریشن ٹرانسمیٹر اور رسیور میں سے ہر ایک کا موجودہ ترتیب نمبر nt اور nr بالترتیب ہوتا ہے۔ ان میں سے ہر ایک کے پاس ونڈو سائز ڈبلیو ٹی اور ڈبلیو آر بھی ہے۔ ونڈو کے سائز مختلف ہو سکتے ہیں، لیکن آسان نفاذ میں وہ طے کیے جاتے ہیں۔ کسی بھی پیش رفت کے لیے ونڈو کا سائز صفر سے زیادہ ہونا چاہیے۔ جیسا کہ عام طور پر نافذ کیا جاتا ہے، این ٹی منتقل ہونے والا اگلا پیکٹ ہے، یعنی۔ پہلے پیکٹ کا ترتیب نمبر ابھی منتقل نہیں ہوا ہے۔ اسی طرح، این آر پہلا پیکٹ ہے جو ابھی موصول نہیں ہوا ہے۔ دونوں اعداد وقت کے ساتھ یکسوئی سے بڑھ رہے ہیں۔ وہ صرف بڑھتے رہتے ہیں۔ وصول کنندہ ابھی تک موصول ہونے والے سب سے زیادہ ترتیب والے نمبر کا بھی سراغ لگا سکتا ہے۔ متغیر این ایس موصول ہونے والے سب سے زیادہ ترتیب والے نمبر کے ترتیب والے نمبر سے ایک زیادہ ہے۔ سادہ وصول کنندگان کے لیے جو صرف ترتیب میں پیکٹ قبول کرتے ہیں (ڈبلیو آر = 1)، یہ این آر کے برابر ہے، لیکن اگر ڈبلیو آر> 1 ہو تو زیادہ ہو سکتا ہے۔ فرق کو نوٹ کریں: این آر سے نیچے کے تمام پیکٹ موصول ہوئے ہیں، این ایس سے اوپر کا کوئی پیکٹ موصول نہیں ہوا ہے، اور این آر اور این ایس کے درمیان کچھ پیکٹ موصول ہوئے ہیں۔ جب وصول کنندہ کو ایک پیکٹ موصول ہوتا ہے، تو وہ اپنے متغیرات کو مناسب طریقے سے اپ ڈیٹ کرتا ہے اور نئے این آر کے ساتھ ایک اعتراف منتقل کرتا ہے۔ ٹرانسمیٹر اسے موصول ہونے والے سب سے زیادہ اعتراف کا سراغ لگاتا ہے۔ ٹرانسمیٹر جانتا ہے کہ تمام پیکٹ موصول ہوئے ہیں، لیکن جن میں نا شامل نہیں ہے، لیکن نا اور این ایس کے درمیان پیکٹ کے بارے میں غیر یقینی ہے۔ نا ≤ این آر ≤ این ایس۔ ترتیب نمبر ہمیشہ اس اصول کی پابندی کرتے ہیں کہ Na ≤ nr ≤ ns ≤ nt ≤ na + wt۔ یعنی: نا ≤ این آر: ٹرانسمیٹر کے ذریعے موصول ہونے والا سب سے زیادہ اعتراف وصول کنندہ کے ذریعے تسلیم کیے جانے والے سب سے زیادہ این آر سے زیادہ نہیں ہو سکتا۔ این آر ≤ این ایس: مکمل طور پر موصول ہونے والے پیکٹوں کا دورانیہ جزوی طور پر موصول ہونے والے پیکٹوں کے اختتام سے آگے نہیں بڑھ سکتا۔ این ایس ≤ این ٹی: موصول ہونے والا سب سے زیادہ پیکٹ بھیجے گئے سب سے زیادہ پیکٹ سے زیادہ نہیں ہو سکتا۔ این ٹی ≤ این اے + ڈبلیو ٹی: بھیجا گیا سب سے زیادہ پیکٹ موصول ہونے والے سب سے زیادہ اعتراف اور ٹرانسمیٹ ونڈو کے سائز سے محدود ہوتا ہے۔ ٹرانسمیٹر آپریشن جب بھی ٹرانسمیٹر کے پاس بھیجنے کے لیے ڈیٹا ہوتا ہے، تو یہ تازہ ترین منظوری سے پہلے ڈبلیو ٹی پیکٹوں تک منتقل ہو سکتا ہے۔ یعنی یہ پیکٹ نمبر nt منتقل کر سکتا ہے جب تک کہ nt <na + wt۔ مواصلاتی غلطی کی عدم موجودگی میں، ٹرانسمیٹر کو جلد ہی اپنے بھیجے گئے تمام پیکٹوں کے لیے ایک اعتراف موصول ہوتا ہے، جس سے Na nt کے برابر رہ جاتا ہے۔ اگر یہ معقول تاخیر کے بعد نہیں ہوتا ہے، تو ٹرانسمیٹر کو نا اور این ٹی کے درمیان پیکٹوں کو دوبارہ منتقل کرنا ہوگا۔ "معقول تاخیر" کی وضاحت کرنے کی تکنیکیں انتہائی وسیع ہو سکتی ہیں، لیکن وہ صرف کارکردگی کو متاثر کرتی ہیں ؛ سلائڈنگ ونڈو پروٹوکول کی بنیادی وشوسنییتا تفصیلات پر منحصر نہیں ہے۔ رسیور آپریشن ہر بار جب x نمبر والا پیکٹ موصول ہوتا ہے، تو وصول کنندہ یہ دیکھنے کے لیے چیک کرتا ہے کہ آیا یہ وصول کرنے والی ونڈو، nr ≤ x <nr + wr میں آتا ہے یا نہیں۔ (سب سے آسان وصول کنندگان کو صرف ایک قدر این آر = این ایس پر نظر رکھنی ہوتی ہے۔) اگر یہ کھڑکی کے اندر آتا ہے تو وصول کنندہ اسے قبول کرتا ہے۔ اگر اس کا نمبر nr ہے، تو وصول کرنے والے ترتیب نمبر میں 1 کا اضافہ کیا جاتا ہے، اور ممکنہ طور پر اس سے بھی زیادہ اگر مزید مسلسل پیکٹ پہلے موصول اور محفوظ کیے گئے تھے۔ اگر x> nr ہے، تو پیکٹ کو اس وقت تک ذخیرہ کیا جاتا ہے جب تک کہ پچھلے تمام پیکٹ موصول نہ ہو جائیں۔ اگر x ≤ ns ہے، تو مؤخر الذکر کو ns = x + 1 میں اپ ڈیٹ کیا جاتا ہے۔ اگر پیکٹ کا نمبر وصول ونڈو کے اندر نہیں ہے، تو وصول کنندہ اسے رد کر دیتا ہے اور این آر یا این ایس میں ترمیم نہیں کرتا ہے۔ چاہے پیکٹ قبول کیا گیا ہو یا نہیں، وصول کنندہ ایک اعتراف بھیجتا ہے جس میں موجودہ این آر ہوتا ہے۔ (اعتراف میں این آر اور این ایس کے درمیان موصول ہونے والے اضافی پیکٹوں کے بارے میں معلومات بھی شامل ہو سکتی ہیں، لیکن اس سے صرف کارکردگی میں مدد ملتی ہے۔) نوٹ کریں کہ موصول ونڈو کا ٹرانسمیٹ ونڈو ڈبلیو ٹی سے بڑا ہونے کا کوئی فائدہ نہیں ہے، کیونکہ ایسا پیکٹ موصول کرنے کے بارے میں فکر کرنے کی ضرورت نہیں ہے جو کبھی منتقل نہیں ہوگا۔ مفید رینج 1 ≤ ڈبلیو آر ≤ ڈبلیو ٹی ہے۔ سیکوینس نمبر رینج درکار ہے اب تک، پروٹوکول کو اس طرح بیان کیا گیا ہے جیسے کہ سیکوینس نمبر لامحدود سائز کے ہوں، جو مسلسل بڑھ رہے ہوں۔ تاہم، پیغامات میں مکمل ترتیب نمبر x کو منتقل کرنے کے بجائے، کچھ محدود N کے لیے صرف x موڈ N منتقل کرنا ممکن ہے۔ (N عام طور پر 2 کی طاقت ہے۔) مثال کے طور پر، ٹرانسمیٹر کو صرف این اے سے این ٹی کی حد میں اعترافات موصول ہوں گے، بشمول۔ چونکہ یہ اس بات کی ضمانت دیتا ہے کہ nt −na ≤ wt، زیادہ سے زیادہ wt + 1 ممکنہ ترتیب نمبر ہیں جو کسی بھی وقت پہنچ سکتے ہیں۔ اس طرح، ٹرانسمیٹر غیر واضح طور پر ترتیب نمبر کو ڈی کوڈ کر سکتا ہے جب تک کہ N> wt۔ وصول کنندہ کی طرف سے ایک مضبوط پابندی عائد کی جاتی ہے۔ پروٹوکول کا عمل اس بات پر منحصر ہے کہ وصول کنندہ نئے پیکٹوں (جن کو قبول اور پروسیس کیا جانا چاہیے) کو پرانے پیکٹوں کی دوبارہ ترسیل سے قابل اعتماد طور پر ممتاز کرنے کے قابل ہو (جن کو ضائع کیا جانا چاہیے، اور آخری اعتراف دوبارہ منتقل کیا جانا چاہیے)۔ یہ ٹرانسمیٹر کی کھڑکی کے سائز کے علم کے پیش نظر کیا جا سکتا ہے۔ ایک پیکٹ نمبر x حاصل کرنے کے بعد، وصول کنندہ کو معلوم ہوتا ہے کہ x <na + wt، تو na> x − wt۔ اس طرح، x−wt نمبر والے پیکٹ دوبارہ کبھی منتقل نہیں کیے جائیں گے۔ مستقبل میں ہمیں موصول ہونے والا سب سے کم ترتیب نمبر این ایس-ڈبلیو ٹی ہے۔ وصول کنندہ یہ بھی جانتا ہے کہ ٹرانسمیٹر کا این اے اب تک بھیجے گئے سب سے زیادہ اعتراف سے زیادہ نہیں ہو سکتا، جو کہ این آر ہے۔ لہذا سب سے زیادہ ترتیب نمبر جو ہم ممکنہ طور پر دیکھ سکتے ہیں وہ nr + wt ≤ ns + wt ہے۔ اس طرح، 2 ڈبلیو ٹی مختلف ترتیب نمبر ہوتے ہیں جو وصول کنندہ کسی بھی وقت حاصل کر سکتا ہے۔ اس لیے ایسا لگ سکتا ہے کہ ہمارے پاس N ≤ 2wt ہونا چاہیے۔ تاہم، اصل حد کم ہے۔ اضافی بصیرت یہ ہے کہ وصول کنندہ کو ترتیب نمبروں کے درمیان فرق کرنے کی ضرورت نہیں ہے جو بہت کم ہیں (این آر سے کم) یا جو بہت زیادہ ہیں (این ایس + ڈبلیو آر سے زیادہ یا اس کے برابر)۔ دونوں صورتوں میں، وصول کنندہ پیکٹ کو نظر انداز کر دیتا ہے سوائے اس کے کہ اعتراف کو دوبارہ منتقل کرے۔ اس طرح، یہ صرف ضروری ہے کہ N ≤ wt + r۔ جیسا کہ ڈبلیو آر <ڈبلیو ٹی ہونا عام ہے (مثال کے طور پر۔ نیچے دیکھیں گو بیک این)، یہ ایک مقررہ این کے اندر بڑے ڈبلیو ٹی کی اجازت دے سکتا ہے۔ مثالیں سب سے آسان سلائڈنگ ونڈو: اسٹاپ اینڈ ویٹ اگرچہ عام طور پر سلائڈنگ ونڈو پروٹوکول سے ممتاز ہے، لیکن اسٹاپ اینڈ ویٹ اے آر کیو پروٹوکول دراصل اس کا سب سے آسان ممکنہ نفاذ ہے۔ ٹرانسمیٹ ونڈو 1 پیکٹ ہے، اور وصول ونڈو 1 پیکٹ ہے۔ اس طرح، N = 2 ممکنہ ترتیب نمبر (آسانی سے ایک بٹ کی طرف سے نمائندگی) کی ضرورت ہے۔ ابہام کی مثال ٹرانسمیٹر متبادل طور پر "عجیب" اور "یکساں" کے نشان والے پیکٹ بھیجتا ہے۔ اعترافات بھی اسی طرح "عجیب" اور "یکساں" کہتے ہیں۔ فرض کریں کہ ٹرانسمیٹر نے ایک عجیب پیکٹ بھیجنے کے بعد، ایک عجیب اعتراف کا انتظار نہیں کیا، اور اس کے بجائے فوری طور پر مندرجہ ذیل یکساں پیکٹ بھیجا۔ اس کے بعد اسے ایک اعتراف موصول ہو سکتا ہے جس میں کہا گیا ہو کہ "آگے ایک عجیب پیکٹ کی توقع ہے"۔ یہ ٹرانسمیٹر کو الجھن میں ڈال دے گا: کیا وصول کنندہ کو دونوں پیکٹ موصول ہوئے ہیں، یا نہ ہی؟ گو-بیک-این گو-بیک-این اے آر کیو سلائڈنگ ونڈو پروٹوکول ہے جس میں ڈبلیو ٹی> 1 ہے، لیکن ایک فکسڈ ڈبلیو آر = 1 ہے۔ وصول کنندہ کسی بھی پیکٹ کو قبول کرنے سے انکار کرتا ہے لیکن اگلے پیکٹ کو ترتیب میں۔ اگر کوئی پیکٹ نقل و حمل کے دوران گم ہو جاتا ہے، تو مندرجہ ذیل پیکٹوں کو اس وقت تک نظر انداز کر دیا جاتا ہے جب تک کہ گمشدہ پیکٹ کو دوبارہ منتقل نہیں کیا جاتا، جس سے کم از کم ایک راؤنڈ ٹرپ وقت کا نقصان ہوتا ہے۔ اس وجہ سے، یہ ان لنکس پر غیر موثر ہے جو اکثر پیکٹ کے نقصان کا شکار ہوتے ہیں۔ ابہام کی مثال فرض کریں کہ ہم 3 بٹ سیکوینس نمبر استعمال کر رہے ہیں، جیسے کہ ایچ ڈی ایل سی کے لیے عام ہے۔ اس سے N = 23 = 8 ملتا ہے۔ چونکہ ڈبلیو آر = 1، ہمیں ڈبلیو ٹی ≤ 7 کو محدود کرنا چاہیے۔ اس کی وجہ یہ ہے کہ 7 پیکٹ منتقل کرنے کے بعد 8 ممکنہ نتائج سامنے آتے ہیں: کہیں بھی 0 سے 7 پیکٹ کامیابی سے موصول ہو سکتے تھے۔ یہ 8 امکانات ہیں، اور ٹرانسمیٹر کو ان سب میں فرق کرنے کے لیے اعتراف میں کافی معلومات کی ضرورت ہوتی ہے۔ اگر ٹرانسمیٹر نے اعتراف کا انتظار کیے بغیر 8 پیکٹ بھیجے، تو یہ خود کو اسٹاپ اینڈ ویٹ کیس جیسی الجھن میں ڈال سکتا ہے: کیا اعتراف کا مطلب یہ ہے کہ تمام 8 پیکٹ کامیابی سے موصول ہوئے، یا ان میں سے کوئی بھی نہیں؟ سلیکٹو ریپیٹ سلائڈنگ ونڈو پروٹوکول کا سب سے عام معاملہ سلیکٹو ریپیٹ اے آر کیو ہے۔ اس کے لیے بہت زیادہ قابل رسیور کی ضرورت ہوتی ہے، جو موجودہ این آر سے زیادہ ترتیب والے نمبروں والے پیکٹوں کو قبول کر سکتا ہے اور خلا کو پر کرنے تک انہیں ذخیرہ کر سکتا ہے۔ تاہم، فائدہ یہ ہے کہ ٹرانسمیٹر کو یہ بتانے سے پہلے کہ دوبارہ ترسیل کی ضرورت ہے، ایک راؤنڈ ٹرپ وقت کے لیے درج ذیل درست ڈیٹا کو ضائع کرنا ضروری نہیں ہے۔ اس لیے اسے کم وشوسنییتا اور/یا اعلی بینڈوڈتھ-تاخیر والے پروڈکٹ والے لنکس کے لیے ترجیح دی جاتی ہے۔ ونڈو کا سائز صرف مسلسل گمشدہ پیکٹوں کی تعداد سے بڑا ہونا چاہیے جنہیں برداشت کیا جا سکتا ہے۔ اس طرح، چھوٹی اقدار مقبول ہیں ؛ ڈبلیو آر = 2 عام ہے۔ مبہم مثال انتہائی مقبول ایچ ڈی ایل سی پروٹوکول 3 بٹ سیکوینس نمبر کا استعمال کرتا ہے، اور اس میں سلیکٹو ریپیٹ کے لیے اختیاری التزام ہے۔ تاہم، اگر سلیکٹو ریپیٹ استعمال کرنا ہے، تو ضرورت یہ ہے کہ nt + nr ≤ 8 کو برقرار رکھا جانا چاہیے ؛ اگر ڈبلیو آر کو بڑھا کر 2 کر دیا جائے، تو ڈبلیو ٹی کو کم کر کے 6 کر دیا جانا چاہیے۔ فرض کریں کہ ڈبلیو آر = 2، لیکن ایک غیر ترمیم شدہ ٹرانسمیٹر ڈبلیو ٹی = 7 کے ساتھ استعمال ہوتا ہے، جیسا کہ عام طور پر ایچ ڈی ایل سی کے گو بیک این ورژن کے ساتھ استعمال ہوتا ہے۔ مزید فرض کریں کہ وصول کنندہ nr = ns = 0 سے شروع ہوتا ہے۔ اب فرض کریں کہ وصول کنندہ پیکٹوں کی مندرجہ ذیل سیریز دیکھتا ہے (تمام ماڈیولو 8): 0 1 2 3 4 5 6 (وقفہ) 0 کیونکہ ڈبلیو آر = 2، وصول کنندہ حتمی پیکٹ 0 کو قبول کرے گا اور ذخیرہ کرے گا (یہ سوچ کر کہ یہ سیریز میں پیکٹ 8 ہے)، جبکہ پیکٹ 7 کی دوبارہ ترسیل کی درخواست کرتا ہے۔ تاہم، یہ بھی ممکن ہے کہ ٹرانسمیٹر کوئی اعتراف موصول کرنے میں ناکام رہا ہو اور اس نے پیکٹ 0 کو دوبارہ منتقل کیا ہو۔ اس مؤخر الذکر صورت میں، وصول کنندہ غلط پیکٹ کو پیکٹ 8 کے طور پر قبول کرے گا۔ حل ٹرانسمیٹر کے لیے ڈبلیو ٹی ≤ 6 کو محدود کرنا ہے۔ اس پابندی کے ساتھ، وصول کنندہ جانتا ہے کہ اگر تمام اعترافات ختم ہو جاتے تو ٹرانسمیٹر پیکٹ 5 کے بعد رک جاتا۔ جب اسے پیکٹ 6 موصول ہوتا ہے، تو وصول کنندہ اندازہ لگا سکتا ہے کہ ٹرانسمیٹر کو پیکٹ 0 (ٹرانسمیٹر کا Na ≤ 1) کا اعتراف موصول ہوا ہے، اور اس طرح درج ذیل پیکٹ نمبر 0 پیکٹ 8 ہونا چاہیے۔ توسیعات پروٹوکول کو بڑھانے کے بہت سے طریقے ہیں: مندرجہ بالا مثالوں میں یہ فرض کیا گیا ہے کہ پیکٹوں کو ٹرانسمیشن میں کبھی بھی دوبارہ ترتیب نہیں دیا جاتا ہے۔ وہ ٹرانزٹ میں گم ہو سکتے ہیں (غلطی کا پتہ لگانے سے بدعنوانی نقصان کے برابر ہو جاتی ہے)، لیکن کبھی بھی ترتیب سے باہر ظاہر نہیں ہوں گے۔ پروٹوکول کو پیکٹ ری آرڈرنگ کی حمایت کرنے کے لیے بڑھایا جا سکتا ہے، جب تک کہ فاصلے کو محدود کیا جا سکے۔ ترتیب نمبر ماڈیولس N کو زیادہ سے زیادہ غلط ترتیب کے فاصلے سے بڑھایا جانا چاہیے۔ ہر پیکٹ کو تسلیم نہ کرنا ممکن ہے، جب تک کہ وقفہ ہونے کی صورت میں اعتراف بھیجا جائے۔ مثال کے طور پر، ٹی سی پی عام طور پر ہر دوسرے پیکٹ کو تسلیم کرتا ہے۔ اگر پیکٹ کی ترتیب میں کوئی خلا پایا جاتا ہے تو فوری طور پر ٹرانسمیٹر کو مطلع کرنا عام بات ہے۔ ایچ ڈی ایل سی کے پاس اس کے لیے ایک خاص آر ای جے (مسترد) پیکٹ ہے۔ ٹرانسمیٹ اور وصول ونڈو کے سائز کو مواصلات کے دوران تبدیل کیا جا سکتا ہے، جب تک کہ ان کا مجموعہ N کی حد کے اندر رہے۔ عام طور پر، ان میں سے ہر ایک کو زیادہ سے زیادہ اقدار تفویض کی جاتی ہیں جو اس حد کا احترام کرتی ہیں، لیکن کسی بھی وقت کام کرنے کی قیمت زیادہ سے زیادہ سے کم ہو سکتی ہے۔ خاص طور پر: سیچوریشن یا بھیڑ سے بچنے کے لیے لنک کی رفتار سے ملنے کے لیے ٹرانسمیشن کو سست کرنے کے لیے ٹرانسمیٹ ونڈو کا سائز کم کرنا عام بات ہے۔ سلیکٹو-ریپیٹ کی ایک عام آسان کاری کو ایس آر ای جے-آر ای جے اے آر کیو کہا جاتا ہے۔ یہ وقفے کے بعد ڈبلیو آر = 2 اور بفر پیکٹوں کے ساتھ کام کرتا ہے، لیکن صرف ایک کھوئے ہوئے پیکٹ کی اجازت دیتا ہے۔ اس پیکٹ کا انتظار کرتے ہوئے، ڈبلیو آر = 1 اور اگر دوسرا پیکٹ کھو جاتا ہے تو مزید پیکٹوں کو بفر نہیں کیا جاتا ہے۔ یہ آسان نفاذ کے ساتھ مکمل سلیکٹو-ریپیٹ پروٹوکول کی کارکردگی کا زیادہ تر فائدہ دیتا ہے۔ فیڈرل اسٹینڈرڈ 1037 سی کمپاؤنڈ ٹی سی پی سیریل نمبر ریاضی ٹی سی پی فاسٹ اوپن ریفرنسز کامر، ڈگلس ای۔ "انٹرنیٹ ورکنگ ود ٹی سی پی/آئی پی، جلد 1: اصول، پروٹوکول، اور فن تعمیر"، پرینٹس ہال، 1995 بھی دیکھیں۔ بیرونی روابط آر ایف سی 1323-ہائی پرفارمنس ٹی سی پی ونڈو اسکیلنگ اور ٹوٹے ہوئے راؤٹرز کے لیے ٹی سی پی ایکسٹینشنز، 2004 کمیونیکیشن ڈیٹا ٹرانسمیشن