بخشی از مقاله
چکیده
امروزه تعداد کامپیوترهای موجود در شبکه و داده هایی که از طریق اینترنت انتقال مییابند پیوسته در حال گسترش است. برای دستیابی به انتقال مطمئن و کارا به ناچار باید پروتکل هایی وجود داشته باشد که این ترافیک پیچیده شبکه و از بین رفتن غیر منتظره بستههای فرستاده شده را مدیریت کنند. پروتکل کنترل انتقال - TCP - یکی از این پروتکل ها است که تضمین میکند دادهها حتما به مقصد برسند و برای هر بستهای که در یک دوره زمانی خاصی تائیدیهای دریافت نکند آن بسته را دوباره ارسال میکند .
به دلیل تفاوت این دوره زمانی بین دو کامپیوتر میزبان در اینترنت، همچنین تغییرات این دوره زمانی بین دو کامپیوتر میزبان یکسان، در طول زمان انتخاب یک زمان تایم اوت برای آن کار آسانی نیست. برای مدیریت این مشکل، الگوریتم های متفاوتی ارائه شده است. در این مقاله روش جدیدی بر اساس منطق فازی پیشنهاد می شود که در نرم افزار متلب پیاده سازی شده است. نتایج شبیه سازی نشانگر برتری این روش نسبت به TCP معمولی است.
1. مقدمه
پروتکل TCP با داشتن قابلیت اطمینان بالا در شبکه اینترنت جایگاه ویژهای دارد. با این ویژگی فرستنده تضمین میکند که تمام دادههای ارسالی را به صورت منظم به گیرنده تحویل دهد. بنابراین باید برای دریافت بستهها تائیدیه ارسال شود. فرستنده ضمن نگهداری موقت داده های ارسالی در یک بافر، یک زمانسنج برای آن تنظیم میکند و منتظر دریافت تائیدیه میماند. در صورت عدم دریافت تائیدیه مناسب، شروع به ارسال مجدد می نماید. این زمانسنج را زمانسج انتقال مجدد می نامند. اگر زمان تایم اوت زمانسج انتقال مجدد کوچک باشد ارسال تکراری انجام شده و باعث افزایش تراکم شبکه خواهد شد.
چنانچه این زمان بزرگ باشد و بسته خراب یا گم شده باشد فرستنده دیر واکنش نشان خواهد داد. - استالینگز, - 1383 بنابراین تعیین این زمان در کارایی شبکه بسیار تاثیر گذار است. باید این را هم در نظر گرفت کهگیرنده پس از دریافت یک بسته فوراً تائیدیه برای آن بسته ارسال نمی کند بلکه به مدت حداکثر500 میلی ثانیه صبر میکند تا اگر بستهای به صورت مرتب در این زمان دریافت شد تائیدیه ای برای آخرین بسته مرتب دریافت شده ارسال نماید. - تانن بام, - 1381 برای طراحی این زمانسنج انتقال مجدد ابتدا با منطق فازی و سپس روشهای مدیریت این زمانسنج آشنا میشویم. در نهایت کنترل کننده فازی را بیان کرده و نتایج شبیه سازی آن در نرم افزار متلب ارائه می شود.
.2 منطق فازی
منطق کلاسیک، دنیا را صفر و یک میبیند در حالیکه منطق فازی آن را عددی بین صفر و یک می بیند. یکی از کاربردهای این منطق استفاده در کنترل کنندهها است. کنترل کننده فازی بر اساس منطق انسانی پایه ریزی شده است و دارای چهار قسمت اصلی میباشند: فازی ساز، پایگاه قواعد، موتور استنتاج و غیر فازی ساز. - تاناکا, - 1381 قانون »اگرX ،A است آنگاه Y، B است« برای توصیف پاسخ دلخواه سیستم استفاده می شود که بهتر از فرمول های ریاضی است. تعداد این قواعد بستگی به تعداد ورودی ها و خروجی ها و هدف های کنترلی طراحان دارد. - وانگ, - 1378
دو نوع سیستم استنتاج فازی پر کاربرد وجود دارد: نوع ممدانی- اصیلیان و سوگنو. مهمترین تفاوت این دو روش در خروجی آنها است. به طوری که در سیستم ممدانی خروجی بصورت یک مجموعه فازی است که باید غیر فازی شود. ولی در سیستم سوگنو خروجی بصورت خطی یا ثابت است. چندین نوع غیر فازی ساز وجود دارد . در غیر فازی ساز مرکز ثقل، میانگین وزنی عناصر نتیجه استنتاج محاسبه میشود. - تاناکا, - 1381
.3 روشهای مدیریت زمانسج انتقال مجدد
اوایل روش بسیار سادهای برای تعیین زمان تایم اوت زمانسج انتقال مجدد - - RTO استفاده میشد. این الگوریتم که در فرمول های شماره 1 و2 بیان شده است زمان رفت و برگشت - RTT - تخمین زده شده را دو برابر میکرد. α یک پارامتر میانگین بین صفر و یک است. - Zhang, Li, & Suthaharan, 2005 - این الگوریتم بسیار محافظه کارانه عمل میکرد. پس از گذشت چندین سال استفاده از این الگوریتم ساده در اینترنت، اشکالات آن به تدریج آشکار شد. مشکل اصلی اینجاست که امکان دارد بسته های داده و تائیدیه آنها در شبکه گم شوند.
وقتی که یک بسته دوباره منتقل می شود و تائیدیه آن به فرستنده میرسد، نمیتوان با قاطعیت تعیین کرد که این تائیدیه به اولین انتقال مربوط میشود یا دومین آن. بنابر این آقایان Karn و Patridge روش ساده دیگری را پیشنهاد دادهاند که نمونه RTT فقط بر روی بستههایی که یک بار فرستاده شده اند ، محاسبه شود و TCP برای بستههایی که دو بار منتقل شدهاند نمونه گرفتن RTT را متوقف کند. بنابراین مقدار G را به 100 میلی ثانیه تنظیم میکنند. لازم به ذکر است که مقدار اولیه RTO را برابر 3 ثانیه قرار داده و SampleRTT را برابر با فاصله زمانی بین ارسال بسته و دریافت تائیدیه آن قرار میدهیم و مقدار اولیه بقیه متغیرها را از فرمول های شماره 6، 7 و 8 به دست
.4 کنترل کننده فازی پیشنهادی
در این روش دو کنترل کننده فازی از نوع ممدانی با دو ورودی و یک خروجی تعریف شده است. ورودی های هر دو کنترل کننده مشابه است. ورودی اول اختلاف میانگین RTT های قبل با RTT کنونی و ورودی دوم اختلاف RTO و میانگین RTT های قبل میباشد. همانطور که در شکل شماره 1 مشاهده می کنید خروجی یکی از کنترل کنندهها α و دیگری β است که بین صفر و یک هستند. این دو متغیر خروجی، در فرمول های شماره 3 و 4 قرار گرفته و زمان تایم اوتی برای زمانسج انتقال مجدد تعیین میشود.