بخشی از مقاله
چکیده
در سال های اخیر روش هایی برای استفاده بهینه از منابع در شبکه های کامپیوتری به ویژه شبکه ی مرکزداده و همچنین مراکز دادهی ابری که بطور عمده مبتنی بر همبندی هستند ارائه شده است. جلوگیری از ازدحام بر روی پیوندهای ارتباطی و استفاده بهینه از مسیرهای موجود، یکی از چالش های مهم در این نوع شبکه ها محسوب شده و همواره تحقیقاتی بر روی آن صورت گرفته است. شبکه های مرکزداده، حجم بالا و ترافیک پویایی با توجه به گسترش سرویسهای ابری دارند که موجب میشود این شبکهها چالش بیشتری برای کنترل کردن ازدحام به شیوههای کارآمد داشته باشند. با ظهور شبکه های مبتنی بر نرم افزار، افق جدیدی برای نسل جدیدی از شبکهی مرکزداده از طریق جداسازی بخشهای کنترل و داده بوجود آمده است.
در این مقاله روش مؤثری برای کنترل ازدحام در شبکه ی مرکزداده با به کارگیری پروتکل OpenFlow پیشنهاد شده است. روش پیشنهادی، ازدحام در لینک های شبکه را بصورت متمرکز با نظارت کردن آمارهای پورت سوئیچ، تشخیص می دهد. سپس کنترل کننده برخی از جریان ها در لینک دارای ازدحام را از طریق مسیرهای با منابع آزاد بیشتر، به شکلی بهینه و کارآمد، مسیریابی مجدد می کند. نتایج پیاده سازی روش پیشنهادی در محیط شبیه ساز مینینت ، عملکرد آن را در بهبود کارایی سیستم و کاهش ازدحام در شبکه نشان میدهد.
1 -مقدمه
معماری شبکه مبتنی بر نرمافزار، یک معماری نوین برای شبکههای کامپیوتری است که در آن لایه کنترلی و لایه داده در تجهیزات شبکه از یکدیگر جدا شده و لایه کنترلی به صورت یک موجودیت یکپارچه و مستقل پیادهسازی میگردد. این رویکرد، مزایایی چون انعطافپذیری در ارایه سرویس به کاربران، رشد و نوآوری سریعتر در لایه کنترلی و پیکربندی سادهتر تجهیزات شبکه را در پی خواهد داشت. با توجه به اهمیت روزافزون استفاده از اینترنت و تقاضا برای سرویس های حساس به زمان مانند صدا و تصویر، نیاز به طراحی و استفاده از الگوریتم های کنترل مناسب برای کنترل شبکه، امری ضروری به نظر می رسد. ازدحام در یک شبکه هنگامی رخ می دهد که بسته ها با سرعتی بالاتر از آنچه بتوان آنها را انتقال داد به درگاه خروجی وارد شوند.
وقتی شبکه دچار ازدحام می شود، بسته هایی از بین می روند، پهنای باند تلف می شود، تاخیرهای نامعقول پدید می آیند و بطور کلی کارایی شبکه کاهش می یابد. از آنجا که همواره منابع سخت افزاری محدود هستند، افزایش پهنای باند و یا ظرفیت حافظهی مسیریابها در هنگام وقوع ازدحام جوابگو نمی باشند. یکی از راهکارهای مناسب، استفاده کردن از یک الگوی بهینه مناسب برای پیدا کردن بهترین و کمهزینهترین مسیر بین سوئیچها در شاخهها و لایههای مختلف شبکه است که این امر با بوجود آمدن شبکه های مبتنی بر نرم افزار و دارابودن کنترل کننده ای مستقل و هوشمند، بسیار دقیق و کارآمد صورت میپذیرد. کنترل ترافیک در شبکه ابتدا با طرح الگوریتمهای دینامیکی در سال 1988 مطرح شد و به الگوریتم TCP Tahoe معروف شد.
در سالهای بعد برای بهبود این الگوریتم، الگوریتمهای متفاوتی مانند TCP Reno و TCP Vegas ارائه گردید. این الگوریتم ها در سمت منابع TCP اعمال می شوند و در کاهش وقوع ازدحام در این شبکه ها نقش مهمی ایفا می کنند .[1] با توجه به مشکلات و کاستیهایی که الگوریتمهای در سمت منابع داشتند، الگوریتم هایی برای کنترل ازدحام در سمت مسیریاب ها پیاده سازی شد. این الگوریتمها اساساً متکی به سنجش ازدحام از طریق اندازه گیری طول صف در مسیریاب ها هستند و روش هایی که بر این اساس عمل می کنند، الگوریتم مدیریت فعال صف نامیده می شوند. مهمترین و معروف ترین این الگوریتم ها، الگوریتم RED نام دارد.
در مدت ها قبل همه الگوریتم های کنترل ازدحام مطرح شده در اینترنت با بسته های داده و ازدحام شبکه بصورت یکسان برخورد کرده و اولویت خاصی برای کاربردهای مختلف قائل نمی شدند که باعث نقصانهایی بود. مثلا یک فایل داده اطلاعاتی نیازمند رسیدن تمامی بسته های آن به مقصد بصورت صحیح میباشد و برای بسته و بسته های یک مکالمه صوتی مهمترین مساله رسیدن بسته ها با کمترین تاخیر است. با افزایش حجم اطلاعات همزمان ارسالی توسط این سرویس ها نیاز به معرفی مکانیزم های کنترلی برای جلوگیری از ازدحام در این شبکه ها احساس شد. به همین خاطر مهندسین با ارائه روشهای مختلف کنترلی چه در سمت فرستنده ها و چه در قسمت مسیریاب ها سعی در کنترل بار ازدحامی این سرویس ها داشته اند.
در سال 2011 در مقاله [2]، یک استراتژی کنترلی در مسیریاب شبکههای تفکیک شده توسط مهندسین کنترل طراحی شد که با توجه به میزان اهمیت هر سرویس، استراتژی متفاوتی برای هر سرویس طراحی شده بود. در ادامه کارهای کنترلی در این زمینه با استفاده از منطق فازی کنترل کننده بر مبنای الگوریتم RED برای این شبکه ها ارائه شد .[3] از دیگر روش های کنترل ازدحام در مراکزداده میتوان بطور خلاصه از مکانیزم PAUSE و روشهای BCN ، QCN ، ECM و DCTCP نام برد. در مبحث SDN ، در [4] یک راه حل با استفاده از بکارگیری الگوریتم توسعه یافته جانسون برای موازنه بار و کنترل ازدحام در دیتاسنترهای مبتنی بر SDN مطرح شده است که بر پایه تکنولوژی اپنفلو، به حل مشکل موازنه بار در دیتاسنترِ شبکهِ مجازی پرداخته است.
در [5] بر اساس مکانیزم ارسال مجدد و مسیردهی دوباره جریان، به یک راه حل برای کنترل ازدحام در دیتاسنترهای مبتنی بر SDN دست یافته است که در ادامه برای مقایسه آن با ایده بکار رفته در این مقاله، با عنوان CCSDD از ایده آن مقاله یاد خواهد شد. در آن با بکارگیری کنترلر و امکاناتِ پروتکلِ اپنفلو به حل مشکل ازدحام پرداخته است. در مبحث یادگیری ماشینی در مقالهای در سال [6] 2009 به معرفی ایدهای برای مساله کنترل ازدحام در شبکههای بیسیم پرداخته شدهاست که با استفاده از ویژگیهای شبکه های مبتنی بر TCP به این مطلوب دست یافته است.
در این پژوهش سعی شده است که با استفاده از امکانات مهیا شده در شبکه های مبتنی بر نرم افزار و پروتکل اپنفلو یک راه حل کارآمد و دقیق برای جلوگیری از وقوع ازدحام و در نتیجه آن کاهش کارایی شبکه و تاخیرهای متعدد، ارائه گردد. در این ایده که در ادامه بطور کامل تشریح خواهد شد، با استفاده از استاندارد اپنفلو و ارتباط آن با کنترلر شبکه، آمار هر پورت سوئیچ جمع آوری شده و جریانهای تولید کنندهی ازدحام در لینک، مسیریابی مجدد میشوند و نوع این مسیریابی تفاوت عمدهی این روش با سایر روشهای گذشته را مشخص میکند.
2 -بخش اصلی
در بخش اصلی، در ابتدا به تعریف مفاهیم اولیه و کلیات مساله مورد بحث پرداخته خواهد شد و در بخش دوم به بیان طرح مسالهی اصلی تحقیق و چگونگی پیدایش موضوع اشاره شده و در پایان این بخش به بیان راه حل پیشنهادی و تحلیل نتایج بدست آمده پرداخته میشود.
-1 2 -تعریف مفاهیم اولیه
مرکزداده، مجموعه تاسیسات و تجهییزات نرمافزاری و سخت افزاری است که به منظور میزبانی امکانات رایانه ای و ارتباطی جهت ارائه سرویس های کلان اطلاعاتی و اینترنتی ایجاد می شوند. اکنون با توجه به رشد سریع اینترنت، روز به روز به تعداد مراکز داده ها اضافه می شود بطوری که در حال حاظر در اکثر کشورهای پیشرفته این مراکز وجود دارند که تمرکز بیشتر آن در کشور امریکا به دلیل دارا بودن اینترنت ارزان و پر سرعت می باشد. برخی از این مراکز داده از طریق خطوط مختلف فیبر نوری پهنای باندی بیش از 4 گیگا بایت بر ثانیه در اختیار دارند.
ازدحام در شبکه های کامپیوتری به تجمع بیش از اندازه ی داده های انتقالی در صف انتظار و در نتیجه از بین رفتن بستهها اطلاق میشود. ازدحام در شبکه زمانی اتفاق می افتد که بسته ها با سرعتی بالاتر از آنچه بتوان آنها را انتقال داد به درگاه خروجی وارد شوند و میزان دادهی ورودی به گذرگاه داده بیشتر از حد تحمل آن گذرگاه باشد. گلوگاهها بزرگترین منبع ایجاد ازدحام در شبکه های اینترنتی می باشند. هر گاه تعداد بستههایی که توسط ماشینهای میزبان به زیرشبکه سرازیر میشوند متناسب با ظرفیت حمل زیرشبکه باشند، تمام این بستهها تحویل مقصدشان خواهند شد و تعداد بستههای تحویلی متناسب با بستههای ارسالی است و لیکن به محض افزایش بیرویه ترافیک، مسیریابها قادر نیستند از عهده آن برآمده و بستهها شروع به ازدست رفتن میکنند.
این مساله حادتر نیز میشود و در ترافیک بسیار بالا کارایی بطور کامل سقوط کرده و هیچ بستهای تحویل مقصد نخواهد شد. چندین عامل می تواند به بروز ازدحام بیآنجامد. اگر به ناگاه دنبالهای از بستهها بر روی سه یا چهار خط ورودی دریافت شده و خط خروجی همه آنها یکی باشد صف تشکیل خواهد شد و اگر فضای حافظه کافی برای نگهداری تمام آنها وجود نداشته باشد، بسته ها از بین می روند. شکل - - 1 روند انتقال داده با و بدون بروز ازدحام را نشان میدهد. پردازندههای کند نیز میتوانند عامل بروز ازدحام باشند.
توپولوژی مراکزداده مشتمل بر الگویی است که شامل سه لایه کلی می باشد. لایه دسترسی متصل به سرورها که بر اساس شکل مفهومی مرکزداده در پایین ترین قسمت قرار میگیرد، شامل اتصال سرورها و استفاده کنندگان از شبکه به لینک ها و سوئیچ ها میباشد. لایه مجتمع سوئیچ ها، شامل سوئیچ های مجتمع برای مسیردهی های مختلف لینک ها برای دسترسی به سایر سوئیچ ها و سرورها میباشد و لایه هسته که وظیفه اتصال لایه های مختلف سوئیچهای مجتمع به یکدیگر را بر عهده دارد و همچنین اتصال مرکزداده به شبکه اینترنت را نیز فراهم می سازد. این نوع توپولوژی از نوع قدیمیتر به حساب میآید. نوع جدید توپولوژی مرکزداده با یک سری تغییرات طراحی مواجه شده است. در بررسی این پژوهش از نوع جدید توپولوژیها با ساختار درخت چاق، استفاده شده است. شمای کلی توپولوژی مورد استفاده در شکل - 2 - نشان داده شده است.
-2 2 -بیان طرح مساله
دیتاسنتر های مدرن شامل هزاران منبع است که به صورت جمع شده در رکها قرار گرفتهاند و هزاران هاست بر روی آنها قرار گرفتهاند. ترافیک در دیتاسنترها عموما به صورت فورانی یا bursty است و در طول زمان کوتاه پکتهای زیادی را ارسال میکند که این باعث ناپایداری شده که جریانهای دیگر را تحت تاثیر قرار میدهد و در کل باعث کاهش کارایی شبکه میشود.