انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

-1)تعاريف (definitions):
سگمنت ((Segment: به بسته هاي TCP (Data,Ack) اصطلاحا سگمنت گفته مي شود.
(Sender Maximum Segment Size)SMSS: اندازه بزرگترين سگمنتي كه فرستنده مي تواند ارسال كند. اين مقدار براساس حداكثر واحد انتقال در شبكه ، الگوريتمهاي تعيين MTU ، RMSS يا فاكتورهاي ديگر تعيين مي شود. اين اندازه شامل هدر بسته و option نمي باشد.
(Receiver Maximum Segment Size)RMSS: سايز بزرگترين سگمنتي كه گيرنده مي تواند دريافت كند. كه در يك ارتباط در فيلد MSS در option توسط  گيرنده تعيين مي شود و شامل هدر و option نمي باشد.
 (Receiver Window)rwnd: طول پنجره سمت گيرنده.
(Congestion Window )cwnd: نشان دهنده وضعیت متغیر TCP است که میزان داده در شبکه را محدود می کند.در هر لحظه , حجم داده در شبکه به اندازه مینیمم cwnd و rwnd می باشد.

1-2)مكانيزمهاي كنترل ازدحام در شبكه TCP:
در يك شبكه زمانيكه ترافيك بار از ظرفيت شبكه بيشتر مي شود ، ازدحام اتفاق مي افتد.که به منظورکنترل ازدحام در  شبكه الگوريتمهاي متفاوتي وجود دارد. در يك ارتباط ، لايه شبكه تا حدي قادر به كنترل ازدحام در شبكه است اما راه حل واقعي براي اجتناب از ازدحام پايين آوردن نرخ تزريق داده در شبكه است. TCP با تغيير سايز پنجره ارسال تلاش ميكند كه نرخ تزريق داده را كنترل كند.
شناسايي ازدحام اولين گام در جهت كنترل آن است.
در گذشته ،شناسايي ازدحام به راحتي امكانپذير نبود. از نشانه هاي آن  وقوع Timeout بدليل اتلاف بسته  يا وجود noise در خط ارتباطي يا اتلاف بسته ها در روترهاي پر ازدحام و ... را می توان نام برد. اما امروزه از آنجا كه اكثرا تكنولوژي بستر ارتباطي از نوع فيبر مي باشد اتلاف بسته ها كه منجر به خطاي ارتباطي شود بندرت اتفاق مي افتد. و از طرفي وقوع Timeout در اينترنت بدليل ازدحام مي باشد.
در همه الگوريتمهاي TCP فرض بر اين است كه وقوع Timeout بدليل ازدحام شبكه است.
در شروع يك ارتباط در شبكه ،سايز پنجره مناسب تعيين مي شود. گيرنده بر اساس سايز بافر خود مي تواند سايز پنجره را تعيين كند. اگر ميزان داده هاي ارسالي از فرستنده در حد سايز پنجره باشد ،مشكلي پيش نمي آيد. در غير اينصورت در سمت گيرنده Overflow اتفاق مي افتد. پس بطور كلي با دو مسئله مواجه هستيم:
 1- ظرفيت شبكه
  2- ظرفيت گيرنده
كه دريك ارتباط بايد اين دو مورد را در نظر گرفت.
فرستنده در هنگام ارسال ،سايز دو پنجره را در نظر مي گيرد.
1-    پنجره سمت گيرنده
2-    پنجرا ازدحام
كه سايز پنجره ارسال به اندازه مينيمم اين دو مقدار تعیین می شود.
كنترل ازدحام در شبكه TCP از بالا رفتن ظرفيت شبكه جلوگيري مي كند . در واقع به فرستنده اجازه مس دهد نرخ ارسال داده در شبكه را به منظور جلوگيري از ازدحام تنظيم نمايد.
مكانيزمهاي كنترل ازدحام كه توسط TCP حمايت مي شوند عمدتا شامل 4 مرحله اصلي مي باشند كه عبارتند از:
1- Slow Start
2- Congestion Avoidance
3- Fast Retransmission
4- Fast Recovery
كه در ادامه هر يك به تفصيل شرح داده مي شوند.

1-2-1)Slow Start: در شروع يك ارتباط ،ارسال داده ها به سمت گيرنده به اندازه حداكثر ظرفيت سمت گيرنده انجام نمي شود. بلكه فرستنده تعدادي بسته در شروع ارسال مي كند و منتظر دريافت Ack بسته هاي ارسالي مي شود. و سپس بتدريج نرخ ارسال را افزايش مي دهد . اين مكانيزم به فرستنده TCP اين اجازه را مي دهد كه وضعيت موجود شبكه اعم از پهناي باند در دسترس را شناسايي كند.
مكانيزم Slow Start درموارد زير كاربرد دارد:

1-    در شروع هر ارتباط مبتي بر TCP.
2-    در شروع مجدد يك ارتباط TCP بعد از مدتي بيكاري.
3-    در شروع مجدد يك ارتباط TCP بعد از وقوع Timeout.

شكل(1) مكانيزم Slow Start در TCP را به تصوير كشيده است. در مرحله Slow Start فرستنده بايد سايز پنجره ازدحام (Cwnd كه ميزان ترافيك در شبكه را مشخص مي كند) داشته باشد. تعداد سگمنتهاي ارسالي از سمت فرستنده در هر لحظه به اندازه مينيمم سايز پنجره ازدحام و سايز پنجره سمت گيرنده مي باشد.
 
                                                 شكل(1)
در شروع يك ارتباط سايز اين پنجره يك سگمنت است. فرستنده TCP با ارسال يك سگمنت وارد فاز   Slow Startشده و منتظر دريافتAck مي شود. بعد از دريافت Ack فرستنده سايز پنجره ارسال را از يك به دو افزايش مي دهد و دو سگمنت فرستاده مي شود.زمانيكه Ack اين دو سگمنت از سمت گيرنده دريافت شد ، فرستنده سايز پنجره ارسال را از 2 به 4 افزايش مي دهد و 4 سگمنت فرستاده مي شود. رشد نمايي سايز پنجره ارسال (Cwnd) ادامه مي يابد تا زمانيكه به حداكثر سايز پنجره سمت گيرنده برسد يا بسته ها بدليل ازدحام در شبكه اتلاف شوند. در فاز بعدي (Congestion Avoidance) چگونگی برخورد TCP با اتلاف بسته ها شرح داده میشود.
 فرستنده TCP به دو طریق می تواند اتلاف بسته ها در شبکه را تشخیص دهد:
1-    دریافت  ack تکراری.
2-    سر ریز شدن تایمر.
عدم وجود یک سگمنت در بین سگمنتهای ارسالی در یک پنجره باعث ایجاد Ack تکراری در مقصد می شود. (یادآوری می شود که TCP , Ack منفی یا Ack حاوی شماره بسته نمی فرستد.)
برای مثال , زمانیکه مقصد داده را تا بایت 2000 دریافت می کند در پاسخ Ack داده 2001 را می فرستد به این مفهوم که سگمنت بعدی که گیرنده انتظار دریافت آنرا دارد از بایت 2001 شروع می شود . اگر یک سگمنت در روترهای میانی تلف شود , در مقصد بسته های بعدی به ترتیب رسیدن بافر می شوند و از آنجاییکه گیرنده  سگمنت بعدی مورد انتظار را دریافت نکرده به فرستادن Ack سگمنت 2001 ادامه می دهد. از آنجاییکه دریافت Ack تکراری همچنین دلالت بر عدم دریافت سگمنتها به ترتیب دارد, در نتیجه مبدا TCP از سه Ack تکراری به نشانه اتلاف بسته ها استفاده می کند. اتلاف آخرین بسته در یک پنجره ارسالی از سگمنتها باعث سرریز شدن تایمر در مبدا می شود , زیرا سگمنت بعدی جهت تولید Ack وجود ندارد.
فرستنده TCP انتظار دریافت Ack از سمت مقصد به نشانه دریافت موفق بایتهای جدید در رشته داده ها را دارد. هر زمانی که فرستنده یک سگمنت را ارسال می کند یک تایمر شروع بکار می کند و منتظر دریافت Ack می شود. اگر تایمر قبل از اینکه Ack داده های ارسالی دریافت شود, سرریز شود فرستنده TCP فرض را بر این می گذارد که سگمنت گم شده یا آسیب دیده است . در نتیجه مجددا آنرا ارسال می کند.



1-2-2)Congestion Avoidance:
زمانيكه فرستنده TCP متوجه اتلاف بسته ها در شبكه شد متغيرssthresh یا حد آستانه ناحیه (slow-start threshold) slow start را به اندازه نصف cwnd جاري تنظيم مي كند. در واقع فرستنده نرخ ارسال خود را با برگشت به فاز Slow Start كاهش مي دهد. با اين تفاوت كه افزايش نمايي نرخ ارسال تا رسيدن به سايز پنجره ارسال به حد آستانه (ssthresh) ادامه مي يابد. در اين نقطه ، فرستنده سايز پنجره ارسال را (cwnd)  بطور خطي افزايش مي دهد (با يك سگمنت در هر RTT).
در واقع به آهستگي نرخ ارسال را افزايش مي دهد تا به مقدار cwnd قبلي كه در آن نقطه اتلاف بسته رخ داده بود برسد.
زمانيكه cwnd مساوي يا كمتر از حد آستانه ssthresh است فرستنده TCP در فاز slow-start است. و زمانيكه cwnd بزرگتر از ssthresh است فرستنده TCP در فاز Congestion Avoidance قرار دارد. كه در شكل (2) به تصوير كشيده شده است.


    



               


                                                        شكل (2)

فاز slow-start و Congestion Avoidance سبب مي شود TCP با وقوع اتلاف بسته ها سايز پنجره ارسال را به نصف كاهش دهد . اگر وجود ازدحام در شبكه به طور مرتب باعث اتلاف بسته ها شود ميزان ترافيك وارد شده به شبكه و نرخ ارسال توسط فرستنده TCP بطورنمايي كاهش مي يابد. كه اين امر به روترهاي مياني اجازه مي دهد تا صفهاي خود را خالي كنند.

1-2-3)Fast Retransmission:
همانطور كه قبلا گفته شد ، TCP با دريافت Ack تكراري متوجه اتلاف بسته ها ميشود. از طرفي دريافت Ack تكراري همچنين مي تواند به مفهوم دريافت بسته ها بر خلاف ترتيب اصلي باشد. پس بجاي نشان عكس العمل سريع نسبت به دريافت Ack تكراري با ارسال مجدد بسته گم شده، فرستنده   TCP منتظر ميشود تا 3 Ack تكراري دريافت كند.

Fast Retransmission كارايي TCP را به 3 طريق افزايش دهد:
-    اگر بسته ها به ترتيب دريافت نشده باشند از ارسال مجدد آنها و در نتيجه پر كردن ظرفيت شبكه جلوگيري مي كند.
-    بهره وري بيشتر و بازدهي بالا خطوط ارتباطي را موجب مي شود.
-    در صورت اتلاف بسته ها ، TCP قبل از سرريز تايمر اقدام به ارسال مجدد بسته مي كند. و منتظر سرريز شدن تايمر نمي شود.

1-2-4)Fast Recovery:
زمانيكه مبدا  TCP، Ack تكراري دريافت مي كند ،داده ها به سمت مقصد در جريان هستند زيرا در مقصد اگر سگمنتها به ترتيب دريافت نشوند Ack تكراري توليد مي شود.
در اين مورد فرستنده TCP به طور ناگهاني نرخ ارسال داده را با رفتن به فاز slow-start كاهش نمي دهد. در عوض بعد از ارسال مجدد سگمنت گم شده (در پاسخ به 3 Ack تكراري) مبدا   TCP ميزان  cwnd  را به نصف كاهش مي دهد و وارد فاز  Congestion Avoidanceمي شود. اين عمليات باعث بازدهي بهتر TCP مي شود. كه اين عمليات در شكل (3) به تصوير كشيده شده است.









                                          شكل (3)

Fast Recovery از خالي شدن جريان TCP بين مبدا و مقصد بعد از اتلاف يك بسته و ارسال مجدد آن جلوگيري مي كند. اين فاز كارايي TCP را با عدم نياز به برگشت به فاز slow-start و افزايش تدريجي ظرفيت شبكه بعد از اتلاف يك بسته ايجاد مي شود.
در مقابل, در حاليكه فاز Fast Recovery كارايي TCP را زمانيكه يك بسته در يك پنجره ارسالي گم مي شود افزايش ميدهد.كارايي را زمانيكه چندين بسته در يك پنجره اتلاف مي شوند افزايش نمي دهند.

مثال:
شكل 4 بازدهي جريان TCP را نمايش مي دهد.

 

                                           شکل (4)

 در شروع يك ارتباط TCP ،مبدا اتصال سعي در اجتناب از بالا بردن ترافيك شبكه دارد. همانطور كه در منحني A ديده مي شود ارتباط با فاز    slow-start آغاز مي شود و سرعت نرخ ارسال افزايش مي يابد تا ظرفيت جاري تشخيص داده شود. فاز slow-start تا زمانيكه Ack تكراري دريافت شود ادامه مي يابد. همانطور كه در منحني قسمت B نشان داده شده مبدا  TCP ميزان حد آستانه  ssthresh را به نصف ميزان  cwndجاري تنظيم مي كند و Fast Restart  انجام مي شود و  به فاز Congestion Avoidance مي رسد تا دوباره به ميزان cwnd قبلي كه منجر به اتلاف بسته شده بود برسد.
بعد از شروع مجدد با فاز   Congestion Avoidance نرخ ارسال افزايش مي يابد تا زمانيكه Ack تكراري دريافت شود . همانطور كه در منحني C نشان داده شده است، فرستنده ميزان ssthresh را مساوي نصف cwnd جاري تنظيم مي كند و بازيابي مجدد همراه با Congestion Avoidance انجام ميشود.
حال اگر آخرين سگمنت در پنجره ارسال در يكي از روترهاي مياني آسيب ببيند ،در اينصورت مبدا TCP منتظر سرريز شدن تايمر است قبل از اينكه آخرين سگمنت را مجددا ارسال كند. همانطور كه در منحني D ديده مي شود ، مبدا   TCPميزان ssthresh را به نصف مقدار cwnd جاري تنظيم مي كند و مجددا به فاز slow-startبر ميگرددو با ازدحام برخورد مي كند.

1-3)پيشرفتهاي جديد در زمينه كنترل ازدحام در TCP:
در طي سالها ،پياده سازي TCP منجر به طراحي الگوريتمهاي متفاوتي به منظور كنترل ازدحام در شبكه و ايجاد يك ارتباط مناسب گشته است. در اين زمينه الگوريتمهايي مثل Tahoe، Reno، New Reno، و Vegas مطرح هستند.كه در ادامه نقاط ضعف و قوت هر يك را بيان مي كنيم.

1-3-1)TCP Tahoe:
 اولين پياده سازي از اين نسخه TCP در سال 1988 در سيستم 4.3BSd يونيكس بود. و اين نسخه پياده سازي اصلي مكانيزم پيشنهادي توسط Van Jacobson بود. Tahoe شامل 3 مرحله اساسي است.
Slow-Start، Congestion Avoidance، Fast Retransmission.
در طول Slow-Start ، در شروع يك ارتباط (cwnd=1) يك بسته ارسال مي شود. و سايز پنجره ارسال با دريافت Ack از سمت گيرنده به طور نمايي افزايش مي يابد و ناحيه Slow-Start ادامه مي يابد تا زمانيكه<ssthresh  cwnd . در طول فاز Congestion Avoidance
(ssthresh =cwnd) اتلاف بسته نشان دهنده ازدحام در شبكه است.
Tahoe در چنين مواقعي به شرح ذيل عمل مي نمايد.
1- اگر در هنگاميكه اتلاف رخ مي دهدw = cwndباشد سايز پنجره ارسال بين 0.5w تا w بسته تنظيم ميشود با اين فرض كه شبكه مي تواند اين تعداد بسته را هدايت كند.
2- ssthresh را به اندازه0.5w تنظيم مي كند و TCP به فاز Slow-Start بر مي گردد يعني جائيكه cwnd=1  
3- با دريافت يك Ack جديد در حاليكه>sshresh  cwnd ،سايز پنجره ارسال يعني cwnd طبق رابطه زير افزايش مي يابد.
                       Cwnd+=1/ cwnd

فاز Fast Retransmission درواقع Tahoe را از وقوع Time out بدليل اتلاف بسته ها حمايت مي كند. دريافت Ack تكراري، دلالت بر اتلاف بسته ها دارد و Tahoe در اين شرايط به فاز Slow-Start بر مي گردد. و با دريافت چندين Ack تكراري ،شروع به ارسال مجدد بسته ها مي كند و منتظر وقوع  Time out (سرريز شدن تايمر) نمي شود.








انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

 

انجام پایان نامه | دانلود مقاله

سفارش پایان نامه