کاهش تأخیر وب و بازیابی پکت گم شده در TCP

congeston control

کاهش تأخیر وب و بازیابی پکت گم شده در TCP

صورت مسئله: در زمانیکه کانکشن ها زیاد میشود در صورت گم شدن پکت ها و time out برای ما مهم است که در چه زمانی این پکت ها دوباره فرستاده شده و یا ریکاوری میشود.

انگیزه: زمانیکه پکت ها گم شده و ریکاوری میشود چند مسئله مهم مورد بحث است. یکی اینکه لود سرور بالا میرود و بخاطر پیدا کردن پکت گم شده و دوباره فرستادن آن پکت بافر و سی پی یو سرور بیشتر اشغال و درگیر کارمی شود. بناءً بخاطر به هدر نرفتن انرژی سیستم ها و وقت برای پیدا شدن پکت های گم شده راه حل هایی باید پیشنهاد گردد.

در ارسال داده احتمال Tail Lost  خیلی بیشتر از Head Lost است. چون در قسمت های اخیر ack را با احتمال کمتری فرستنده دریافت میکند. هرچقدر به مراحل آخر ارسال داده ها نزدیکتر بشویم امکان نرسیدن پکت ها به دریافت کننده کمتر میشود.

در مقاله web latancy ارائه شده توسط دیپارتمان دانشگاه کالیفرنیا درسال 2013 بخاطر حل این موضوع سه راه حل پیشنهاد شده است.

Reactive:  زمانی که آخرین پکت در یک window ارسال نشود و فرستنده  ack آخرین پکت ویندو را دریافت نکند، دوباره آخرین پکت را درصف ارسال داده ارسال میکند. که در قسمت client – front end این مکانیزم را ست شده است. میزان کاهش ترافیک در این مکانیزم 0.5% کمتر از دو مکانیزم corrective  و proactive هست.

در زمانیکه آخرین پکت گم میشود Tail Loss اتفاق میافتد که یک پکت اضافه Prob را فرستنده ارسال میکند تا ببیند که آیا بازهم Ack تکراری میگیرد یا نه. اگر تکراری گرفت میفهمد که پکت ارسال نشده و دوباره پکت را میفرستد.

Corrective: یک پکت حاوی کدی برای پیدا کردن پکت گم شده ارسال میکند. که در هردو قسمت backend-fronend و frontend – client این کار صورت میگیرد. این عملیه نیازی به ارسال مجدد پکت ندارد که ترافیک را به مقدار 10 درصد کاهش میدهد.

Proactive: در قسمت  backend – frontendهر پکت داده را دو مرتبه ارسال نموده تا دیگر نیازی به ریکاوری اطلاعات و اعتلاف وقت نباشد. در هر بار سرور back-end دوبار پکت را دریافت میکند. اگر قبلا پکت دریافت شده باشد، پکت دومی را حذف کرده و در غیر آن پکت را دریافت میکند.

در يك شبكه زمانيكه ترافيك دیتا از ظرفيت شبكه بيشتر مي شود ، ازدحام اتفاق مي افتد. که به برای کنترل این ازدحام در شبكه الگوريتمهاي متفاوتي وجود دارد. در يك ارتباط ، لايه شبكه تا حدي قادر به كنترل ازدحام در شبكه است اما راه حل واقعي براي اجتناب از ازدحام پايين آوردن نرخ ارسال اطلاعات در شبكه است TCP با تغيير سايز پنجره ارسال تلاش ميكند كه نرخ تزريق داده را كنترل كند. شناسايي ازدحام اولين قدم در جهت كنترل آن است.

 

رامین رامش حسینی

دانشکده مهندسی دانشگاه علم و صنعت ایران

پاییز 1396

 

یک دیدگاه در “کاهش تأخیر وب و بازیابی پکت گم شده در TCP

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *