15-441 Lecture

Download Report

Transcript 15-441 Lecture

۲ ‫شبکه های کامپیوتری‬
Mozafar Bag-Mohammadi
Lecture 3
TCP ‫کنترل ازدحام در‬
‫ازدحام‬
‫‪10 Mbps‬‬
‫‪1.5 Mbps‬‬
‫‪100 Mbps‬‬
‫• فرستنده های مختلف برای منابع شبکه رقابت میکنند‪.‬‬
‫• چه مشکالتی وجود دارد؟‬
‫– فرستنده ها از وضعیت جاری منابع خبر ندارند‪.‬‬
‫– فرستنده ها از همدیگر خبر ندارند‪.‬‬
‫• عالئم وقوع‪:‬‬
‫– گم شدن بسته ها (پر شدن بافر مسیریابها)‬
‫– تاخیرهای طوالنی (صف بندی در بافر روترها)‬
‫– کاهش گذردهی موثر به مقدرای کمتر از ظرفیت لینک گلوگاه (در توپولوژی باال ‪)1.5Mbps‬‬
‫‪2‬‬
‫هزینه های ازدحام‬
‫•‬
‫•‬
‫‪3‬‬
‫بسته ها منابع را مصرف می کنند و در جایی از شبکه دور انداخته می شوند‪.‬‬
‫ارسال مجدد بسته های دچار تاخیر طوالنی منجر به مصرف بیخود پهنای باند می شود‪.‬‬
‫کنترل ازدحام و اجتناب از ازدحام‬
‫• یک مکانیسم که‪:‬‬
‫– از منابع شبکه به طور موثر استفاده می کند‪.‬‬
‫– باعث تخصیص عادالنه ی منابع می شود‪.‬‬
‫– ازدحام را کنترل می کند یا از وقوع آن اجتناب می کند‪.‬‬
‫‪4‬‬
‫رویکردهای کنترل ازدحام‬
‫• دو رویکرد کلی‪:‬‬
‫• کنترل ازدحام به کمک شبکه‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪5‬‬
‫مسیریابها به نودهای انتهایی بازخورد‬
‫صریح می فرستند‪.‬‬
‫اعالم یک بیت که نشانگر وقوع‬
‫ازدحام است‪.‬‬
‫اعالم یک نرخ صریح که فرستنده باید‬
‫از آن برای ارسال استفاده کند‪.‬‬
‫مشکالت‪ :‬افزایش پیچیدگی مسیریابها‬
‫• کنترل ازدحام انتها به انتها‬
‫–‬
‫–‬
‫–‬
‫–‬
‫عدم وجود بازخورد صریح شبکه‬
‫نودهای انتهایی ازدحام را از روی‬
‫میزان تاخیر و گم شدن بسته ها حدس‬
‫می زنند‪.‬‬
‫‪ TCP‬از این روش استفاده می کند‪.‬‬
‫مشکالت‪ :‬تخمینی و غیر دقیق‬
‫کنترل ازدحام انتها به انتها‬
‫• تا کنون‪ :‬فرستنده ی ‪TCP‬محدود به اندازه ی بافر قابل دسترس در گیرنده‬
‫است‪.‬‬
‫– کنترل جریان توسط گیرنده انجام می شود‪.‬‬
‫– از پنجره ی اعالن استفاده می شود‪.‬‬
‫• برای این که مالحظات شبکه نیز رعایت شود‪ ،‬فرستنده از پنجره ی ازدحام نیز‬
‫نگهداری میکند‪.‬‬
‫– پنجره ی ازدحام حالت پویای شبکه را منعکس میکند‪.‬‬
‫‪– Max outstanding packets ≤ min {congestion window,‬‬
‫}‪advertised window‬‬
‫• اگر پنجره ی اعالن گیرنده خیلی بزرگ باشد‪ ،‬پنجره ی ازدحام عامل محدود‬
‫کننده ی سرعت فرستنده خواهد بود‪.‬‬
‫)‪– Speed = CWND/RTT (roughly‬‬
‫‪6‬‬
‫کنترل ازدحام در ‪TCP‬‬
‫• مکانیسمهای شبکه خیلی ساده هسستند‪.‬‬
‫– زمانبندی ‪ FIFO‬و استفاده از بافر مشترک‬
‫– بازخورد ضمنی از طریق دور انداختن بسته ها‬
‫• در میزبانهای انتهایی‪ TCP ،‬گم شدن بسته ها را به عنوان عالمت ازدحام تعبیر‬
‫می کند و سرعت خود را پایین می آورد‪.‬‬
‫– یعنی اندازه ی پنجره ی ازدحام را کاهش می دهد‪.‬‬
‫• سپس‪ ،‬به صورت دوره ای اندازه ی پنجره ازدحام را‬
‫افزایش می دهد‪.‬‬
‫– هدف از انجام این کار این است که اگر پهنای باندی آزاد شد از‬
‫آن استفاده کنیم‪.‬‬
‫‪7‬‬
‫اهداف کنترل ازدحام‬
‫• رفتار ساده ی مسیریابها‬
‫• توزیع شده‬
‫• کارآیی‪ Sxi(t) :‬به ظرفیت سیستم نزدیک باشد‪.‬‬
‫• عدالت‪ :‬تخصیص برابر (یا متناسب)‬
‫)‪– Metric = (Sxi)2/n(Sxi2‬‬
‫• همگرایی‪ :‬سیستم کنترلی باید پایدار باشد‪.‬‬
‫‪8‬‬
‫کنترل خطی‬
‫• میتوان از روشهای مختلفی برای واکنش به ازدحام (افزایش یا‬
‫کاهش) استفاده کرد‪.‬‬
‫– کنترل ساده ی خطی‪:‬‬
‫)‪• Window(t + 1) = a + b Window(t‬‬
‫• نسبتهای ‪ ai/bi‬برای افزایش و ‪ ad/bd‬برای کاهش با هم متفاوت‬
‫هستند‪.‬‬
‫• عکس العمهای مختلفی را می توان تصور نمود‬
‫– افزایش و کاهش جمعی‬
‫– افزایش و کاهش ضربی‬
‫– کدامیک بهتر است؟‬
‫• فرض کنید دو میزبان برای پهنای باند شبکه با هم رقابت میکنند‪.‬‬
‫‪9‬‬
‫کاهش و افزایش جمعی‬
‫• هر دوی ‪ X1‬و ‪ X2‬به‬
‫یک اندازه در طول زمان‬
‫افزایش یا کاهش پیدا می‬
‫کننند‪.‬‬
‫‪Fairness Line‬‬
‫‪T1‬‬
‫‪T0‬‬
‫‪Efficiency Line‬‬
‫‪User 1’s Allocation x1‬‬
‫‪10‬‬
‫‪User 2’s‬‬
‫‪Allocation‬‬
‫‪x2‬‬
‫– افزایش جمعی عدالت را‬
‫بهبود می دهد و کاهش‬
‫جمعی باعث کاهش عدالت‬
‫می شود‪.‬‬
‫کاهش و افزایش ضربی‬
‫‪Fairness Line‬‬
‫• هر دوی ‪ X1‬و ‪ X2‬به‬
‫اندازه ی فاکتور یکسانی‬
‫در طول زمان تغییر‬
‫می کنند‪.‬‬
‫‪T1‬‬
‫‪T0‬‬
‫‪Efficiency Line‬‬
‫‪User 1’s Allocation x1‬‬
‫‪11‬‬
‫‪User 2’s‬‬
‫‪Allocation‬‬
‫‪x2‬‬
‫– اگر نمودار از مبدا گذر‬
‫کند‪ ،‬عدالت ثابت می‬
‫ماند‬
‫همگرایی کارآیی‬
Fairness Line
xH
User 2’s
Allocation
x2
Efficiency Line
User 1’s Allocation x1
12
‫همگرایی توزیع شده به کارآیی‬
a=0
a>0 & b>1
b=1
a<0 & b>1
Fairness Line
xH
User 2’s
Allocation x2
a>0 & b<1
a<0 & b<1
Efficiency Line
User 1’s Allocation x1
13
‫همگرایی به عدالت‬
Fairness Line
xH
User 2’s
Allocation
x2
xH’
Efficiency Line
User 1’s Allocation x1
14
‫همگرایی به عدالت و کارآیی‬
‫• ناحیه ی همپوشان بین دو حالت‬
a=0 & b < 1:‫• برای کاهش‬
Fairness Line
xH
User 2’s
Allocation
x2
xH’
Efficiency Line
User 1’s Allocation x1
15
‫انتخاب درست کدام است؟‬
‫‪Fairness Line‬‬
‫• شرایط ما را مجبور‬
‫می کنند که از‬
‫‪ AIMD‬استفاده کنیم‪.‬‬
‫‪x1‬‬
‫‪x0‬‬
‫‪x2‬‬
‫‪Efficiency Line‬‬
‫‪User 1’s Allocation x1‬‬
‫‪16‬‬
‫‪User 2’s‬‬
‫‪Allocation‬‬
‫‪x2‬‬
‫– میتوان در هنگام‬
‫افزاییش نیز ضربی‬
‫عمل کرد‬
‫(‪)MAIMD‬‬
‫– ‪ AIMD‬به سمت‬
‫نقطه ی بهینه حرکت‬
‫می کند‪.‬‬