چکیدهمدیریت و کنترل شبکههای بزرگ مانند شبکه های اجتماعی همیشه دردسرهای مخصوص به خود را دارد. یکی از آسانترین روشهای پیشگیری از بروز مشکلات و پیچیدگیهای مدیریت شبکههای بزرگ استفاده از محصولات یک تولید کننده در تمامی قسمتهای شبکه مورد نظر است. اتکا به یک تولید کننده، علاوه بر تحمیل هزینههای بیشتر (به خاطر محدودیتهای مربوط به لایسنس و حق نام…) میتواند خلاقیت را از سازمانها و شرکتها دور کند. علاوه بر این، شبکههای سازمانی بزرگ و پرهزینه، این روزها تنها ابزار ممکن برای ارائه ی خدمات بهتر و ارائه نرمافزارهای کاربردی تر در سطح شبکهها هستند.آزمایشگاه های اجتماعی که یک بستر آزمایش شبکه های اجتماعی می باشد. با استفاده از این آزمایشگاه ها ، محققان قادرند آزمایشاتی با پروتکل های جدید و برنامه های کاربردی برای شبکه های اجتماعی در یک محیط واقعی انجام دهند. با این وجود در این بسترهای آزمایشی انجام بعضی آزمایشات مانند آزمایش روی لایه دوم شبکه مقدور نیست.برای رسیدگی به این مشکل ما تصمیم گرفتیم سیستمی را توسعه دهیم تا به محققان آزمایشگاه های اجتماعی اجازه انجام آزمایش بر روی این لایه را نیز بدهد. علاوه بر این تصمیم گرفتیم تا با استفاده از تکنیک شبکه های نرم افزار محور به این هدف برسیم. شبکه ی نرم افزار محور دارای معماری ای است که به پژوهشگران این امکان را می دهد تا بتوانند بر روی لایه ی دوم شبکه آزمایش کنند. ما این معماری را با استفاده از پروتکلOpenFlow که به پژوهشگران اجازه مدیریت توپولوژی های تجربی لایه دو ی خود را می دهد پیاده سازی می کنیم. برای رسیدن به این هدف با شبکه های نرم افزار محور و معماری آن آشنا می شویم سپس در طی مراحل تحقیق به ارائه ی ساختاری مناسب برای راه اندازی محیطی آزمایشگاهی برای مطالعه و آزمایش بر روی لایه ی دوم شبکه در شبکه های اجتماعی می پردازیم و در انتها به ارزیابی مدل پیشنهادی می پردازیم.کلمات کلیدی : شبکه های اجتماعی CN ، شبکه های نرم افزار محور SDN ، شبکه های بی سیم مش WMN ، پروتکل OpenFlow فهرست مطالبفصل اول : مقدمه 11.1 مقدمه. 21.2 طرح مسئله. 31.3 ضرورت تحقیق. 31.4 سوالات تحقیق. 41.5 محدوده ی پژوهش.. 51.6 فرضیات تحقیق. 51.7 نوآوری های تحقیق. 51.8 ساختار پایان نامه. 6فصل دوم : ادبیات و پیشینه ی تحقیق72.1 مقدمه. 82.2 زيرساخت يک شبکه. 82.2.1شبکه ها ی کامپيوتری را می توان بر اساس سه ويژگی متفاوت تقسيم نمود :92.2.2تجهیزات شبکه. 122.3 شبکه های اجتماعی. 132.3.1خصوصیات و عملکرد شبکه های اجتماعی. 162.4 رسانه های اجتماعی. 162.4.1ویژگی های رسانه های اجتماعی. 172.4.2انواع رسانههای اجتماعی. 172.5 تفاوت Social Networkو Community Network. 182.5.1Social networks 182.5.2Community Network. 192.6 شبکه های ارتباط بی سیم202.6.1شبکه های مش بی سیم212.6.2نقش شبکه های بیسیم مش در شبکه های اجتماعی. 242.7 آزمایشگاه اجتماعی. 252.8 محدودیت فناوری شبکه های کنونی. 272.8.1پیچیدگی های منتهی به کاهش درآمد292.8.2سیاست های متناقض... 292.8.3فقدان مقیاس پذیری.. 292.8.4وابستگی به فروشنده302.9 شبکه های نرم افزار محور. 302.9.1تاریخچه ی شبکه های نرم افزار محور. 302.9.2شبکه های نرم افزار محور. 332.9.3معماری SDN :372.10 پروتکل OpenFlow.. 412.10.1FlowTable. 442.10.2Open Flow Switch. 452.10.3کنترل کننده472.10.4حالت های برنامه های کنترلی OpenFlow.. 492.10.5کاربرد های Open Flow.. 492.10.6Openflow.. 512.10.7معماری منطقی سوئیچ. 512.10.8مولفههای جدول جریان داده522.10.9مولفه فیلدهای تطبیق داه شده ورودی یك جدول شامل فیلدهای ضروری زیر است:532.10.10...................................................................................... فیلدهای زیر ممكن است پشتیبانی شوند:532.10.11.................................................................. مشخصات Openflow كارهای زیر را انجام می دهد:552.10.12................................................................................................... دستورالعملها 4 نوع هستند:552.10.13...................................................................................................... خط لوله جدول جریان داده562.10.14.................................................................................................. ساختار پروتكل Openflow.. 572.11 مقایسه ی معماری شبکه های نرم افزار محور با معماری فعلی شبکه های کامپیوتری.. 592.12 موانع. 602.13 چالش ها612.13.1شبکه های مش بی سیم612.13.2شبکه های اجتماعی و بستر های آزمایشی شبکه های اجتماعی. 622.14 کار مرتبط. 632.14.1SDNدر شبکه های مش بی سیم632.14.2SDNدر محیط های ناهمگن و روستایی. 652.14.3SDNدر شبکه های تلفن همراه652.15 نتیجه گیری.. 66فصل سوم : روش تحقیق 673.1 مرور کلی و توصیف ساختار. 683.1.2تصمیم گیری.. 693.2 پیاده سازی معماری.. 773.2.1poxy، یک پروکسی برای کنترل کننده ی pox of.783.2.2openVswitch. 803.2.3OpenDayLight803.2.4نرم افزار خارجی. 823.2.5آزمایشات L2در جامعه آزمایشگاه843.3 نتیجه گیری.. 88فصل چهارم : ارزیابی 894.1 مقدمه. 904.2 ارزیابی. 904.2.1ارزیابی عملکرد904.2.2تجزیه و تحلیل عملکرد914.2.3سربار ارتباطات.. 914.3 بحث.. 944.3.1مقابله با چالش ها944.3.2مشخصات توزیع شده در این معماری.. 964.4 نتیجه گیری.. 96فصل پنجم : نتیجه گیری و پیشنهادات975.1 نتیجه گیری.. 985.1.1محدودیت های تحقیق. 995.2 کارهای آتی. 1005.2.1تعمیم معماری ارائه شده برای شبکه های اجتماعی CNو WMNها101منابع و مآخذ103 فهرست جدول هاجدول 2.1مدل مرجع OSI به همراه پروتکل های قابل اجرا در هر لایه10جدول 2.2مدل مرجع OSI و تجهیزات SDN پیاده سازی شده بر روی این مدل39جدول 2.3پیغام های ورودیهای جریان داده در جداول جریان داده 58جدول 2.4مقایسه ی معماری شبکه های نرم افزار محور با معماری فعلی شبکه های کامپیوتری60 فهرست شکل هاشکل 2.1............................................ ساختار اجتماعی Social Network19شکل 2.2............................... ساختار اجتماعی Community Network20شکل 2.3............................................... ترسیمی از معماری شبکه مش22شکل 2.4.............................................................. نوعی از معماری WMN 25شکل 2.5.............................................. معماری آزمایشگاه اجتماعی26شکل 2.6نگاه انتزاعی به مفهوم آزمایشگاه اجتماعی 27شکل 2.7............................ معماری عمودی تجهیزات فعلی شبکه34شکل 2.8............................ معماری افقی تجهیزات شبکه ی SDN35شکل 2.9....................................................................................... شمايي از SDN36شکل 2.10....................................................................... ساختار منطقی SDN38شکل 2.11............................................................................................... SDN Domain40شکل 2.12.................................................. اجزای سازنده ی Open Flow42شکل 2.13............ نمونه ای از شبکه Openflow enabled switch43شکل2.14............................................................. فیلد های یک Flow Table44شکل 2.15................................................................... هدر یک سوئیچ Type047شکل 2.16................................................................ معماری منطقی سوئیچ51شکل 2.17.......................................................... خط لوله ی جریان داده56شکل 3.1...................................................................... ساختار کلی معماری68شکل 3.2....................................................................... استقرار OpenVswitch70شکل 3.3................................................................................ استقرار کنترلر71شکل 3.4..... دو روش ممکن برای دستیابی به اتصالات L272شکل 3.5نحوه ی صحیح برقراری اتصالات رابط های شبکه ی محلی و مدیریتی74شکل 3.6...................................... بقراری اتصال با کنترل کننده75شکل 3.7......................................................... استقرار پروکسی کنترلر76شکل 3.8.................................. ساختار نهایی بستر آزمایشگاهی77شکل 3.9............................ پیاده سازی بخش های اصلی ساختار82شکل 3.10استقرار و پیاده سازی نرم افزار های کنترلر و مدیریت گره ی Confine83شکل 3.11برقراری ارتباط با گره های جامعه توسط پروتکل و اتصالات Batman–adv84شکل 3.12............................................. دیدگاه کاربر از توپولوژی86شکل 3.13دیاگرام سلسله مراتبی نحوه ی گردش کار معماری87شکل 3.14.. دیاگرام همکاری نحوه ی گردش کار معماری88شکل 4.1........................................................ واسط کاربری OpenDayLight91شکل 4.2دو نقطه اصلی در ایجاد سربار های ارتباطی93شکل 4.3............................................... معماری سرور بستر آزمایشی93شکل 4.4............................................ معماری گره ی بستر آزمایشی94مقدمه و کلیات تحقیق 1.1 مقدمهدر دنياي امروز كه ارتباطات موجب اشتراك فكر و تبادل علم مي شود، شبكه هاي اجتماعي را مي توان از بسترهاي مؤثر در توليد علم، اشتراك عقايد و رشد فردي و اجتماعي دانست. هدف كلي هر شبكة اجتماعي، ايجاد سرماية اجتماعي و تسهيل ارتباط بين متخصصان و حرفه مندان است. تبديل سرماية فردي به سرمايه اجتماعي، از مسائل مهم و مورد توجه تمامي حوزههاي علمي است. از اين طريق، دانش فردي به دانش جمعي تبديل و در واقع از دانايي جمعي براي حل مسائل و مشكلات دنياي علم بهرهبرداري ميشود. شبکه های اجتماعی زمینه ای از شبکه است که در سالهای گذشته بسیار مورد توجه قرار گرفته است. در یک تلاش برای تنظیم یک اساس اینترنت غیر آمرانه و غیر انحصاری، مهندسان شبکه شروع به ساخت شبکه های اجتماعی نمودند. مدیریت و کنترل شبکههای بزرگ مانند شبکه های اجتماعی همیشه دردسرهای مخصوص به خود را دارد.در پی گسترش روزافزون شبكههای رایانهای، ارتباط سازمانها و مشتریان مختلف با اینترنت و افزایش استفاده از تجهیزات رایانشی همراه مانند تلفن همراه و تبلت، محققان و متخصصان به فكر طراحی و ایجاد راهكارهای نوین برای بهینهسازی این ارتباطات افتادند؛ مدیریت تجهیزات سیار، الگوی جدید آدرسدهی و نامگذاری در اینترنت، مدیریت دسترسی كاربران، امنسازی ابرهای رایانشی و كاربردهای مختلف مجازیسازی را میتوان از جمله مهمترین ایدههایی دانست كه امروزه در حال تكامل هستند.همانطور كه مشخص است هر ایدهای باید پیش از پیادهسازی عمومی، در آزمایشهای مرتبط موفقیت لازم را كسب كند. برای بررسی ایدههای فوق نیز، باید علاوه بر محیط آزمایشگاهی مناسب، ترافیك واقعی كاربر شبیهسازی شود تا نتیجه آزمایش این راهكارها به واقعیت نزدیك باشد و مقیاسی واقعگرایانه نسبت به استفاده عمومی به دست آید.اما معمولا آمادهسازی این چنین آزمایشگاهی نیازمند صرف هزینههای گزاف است كه اتلاف وقت زیادی را نیز به دنبال خواهد داشت. چه بسیار ایدههای درستی كه به دلیل برخورد با چنین موانعی و نبود امكان آزمایش در شبكهها و ترافیك واقعی كاربران، از بین رفته و به دست فراموشی سپرده میشود كه این موضوع در نهایت سد راهی برای پیشرفت فناوری است.احتمالا شما نیز با خواندن جملات قبل و عبور از كلمات «شبكههای واقعی» و « ترافیك واقعی كاربران» به این نتیجه رسیده باشید تنها محیط واقعی برای انجام این آزمایشها و ارزیابی فناوریهای آینده شبكه جهانی، «اینترنت» است . SDN یا Software Defined Networking راهكاری است كه به وسیله پروتکلی به نام OpenFlow امكان انجام آزمایشها روی اینترنت را به نحوی فراهم میكند كه در استفاده كاربران اینترنت اخلالی ایجاد نشود[6,7].SDN يا شبکههاي نرمافزارمحور سعي دارند هوشمندي شبکهها را بيشتر کرده و با انتقال بخش کنترل دادهها از سوئیچ و روتر سختافزاري به لايههاي نرمافزاري مجازي شبکه و بهرهگيري از يک کنترلر نرمافزاري متمرکز، قابليتهايي مانند برنامهريزي، مقياسپذيري، انعطافپذيري، خودکارسازي، هوشمندي و توسعه نرمافزاري شبکه توسط سازمانها را فراهم کنند[8]. از SDN به عنوان بزرگترين تحول چهار دهه شبکه هاي کامپيوتري نام برده ميشود.آزمایشگاه های اجتماعی یک بستر آزمایش شبکه های اجتماعی می باشد که با استفاده از این آزمایشگاه ها ، محققان قادرند آزمایشاتی با پروتکل های جدید و برنامه های کاربردی برای شبکه های اجتماعی در یک محیط واقعی انجام دهند. با این وجود در این بسترهای آزمایشی انجام بعضی آزمایشات مانند آزمایش روی لایه دوم شبکه (L2) مقدور نبود و ما برای رسیدگی به این مشکل ما تصمیم گرفتیم سیستمی را توسعه دهیم تا به محققان آزمایشگاه های اجتماعی اجازه انجام آزمایش بر روی L2 را نیز بدهد. علاوه بر این تصمیم گرفتیم تا با استفاده از تکنیک شبکه های نرم افزار محور (SDN) به این هدف برسیم. SDN معماری ای است که به پژوهشگران این امکان را می دهد تا بر روی L2 آزمایش کنند. ما این معماری را با استفاده از پروتکل OpenFlow SDN که به پژوهشگران اجازه مدیریت توپولوژی های تجربی L2 خود را می دهد پیاده سازی می کنیم. SDN یک استاندارد شبکه جدید است که امکان نوآوری بوسیله محققان ، کاربران،توسعه دهندگان برنامه ها/سرویس ها و ... را بخوبی کمپانی های سازنده ممکن می سازد.در پی گسترش روزافزون شبكههای رایانهای، ارتباط سازمانها و مشتریان مختلف با اینترنت و افزایش استفاده از تجهیزات رایانشی همراه مانند تلفن همراه و تبلت، محققان و متخصصان به فكر طراحی و ایجاد راهكارهای نوین برای بهینهسازی این ارتباطات افتادند؛ مدیریت تجهیزات سیار، الگوی جدید آدرسدهی و نامگذاری در اینترنت، مدیریت دسترسی كاربران، امنسازی ابرهای رایانشی و كاربردهای مختلف مجازیسازی را میتوان از جمله مهمترین ایدههایی دانست كه امروزه در حال تكامل هستند.همانطور كه مشخص است هر ایدهای باید پیش از پیادهسازی عمومی، در آزمایشهای مرتبط موفقیت لازم را كسب كند. برای بررسی ایدههای فوق نیز، باید علاوه بر محیط آزمایشگاهی مناسب، ترافیك واقعی كاربر شبیهسازی شود تا نتیجه آزمایش این راهكارها به واقعیت نزدیك باشد و مقیاسی واقعگرایانه نسبت به استفاده عمومی به دست آید[9].اما معمولا آمادهسازی این چنین آزمایشگاهی نیازمند صرف هزینههای گزاف است كه اتلاف وقت زیادی را نیز به دنبال خواهد داشت. چه بسیار ایدههای درستی كه به دلیل برخورد با چنین موانعی و نبود امكان آزمایش در شبكهها و ترافیك واقعی كاربران، از بین رفته و به دست فراموشی سپرده میشود كه این موضوع در نهایت سد راهی برای پیشرفت فناوری است.احتمالا شما نیز با خواندن جملات قبل و عبور از كلمات «شبكههای واقعی» و « ترافیك واقعی كاربران» به این نتیجه رسیده باشید تنها محیط واقعی برای انجام این آزمایشها و ارزیابی فناوریهای آینده شبكه جهانی، «اینترنت» است[9] . SDN یا Software Defined Networking راهكاری است كه به وسیله پروتکلی به نام OpenFlow امكان انجام آزمایشها روی اینترنت را به نحوی فراهم میكند كه در استفاده كاربران اینترنت اخلالی ایجاد نشود[9].SDN يا شبکههاي نرمافزارمحور سعي دارند هوشمندي شبکهها را بيشتر کرده و با انتقال بخش کنترل دادهها از سوئیچ و روتر سختافزاري به لايههاي نرمافزاري مجازي شبکه و بهرهگيري از يک کنترلر نرمافزاري متمرکز، قابليتهايي مانند برنامهريزي، مقياسپذيري، انعطافپذيري، خودکارسازي، هوشمندي و توسعه نرمافزاري شبکه توسط سازمانها را فراهم کنند. از SDN به عنوان بزرگترين تحول چهار دهه شبکه هاي کامپيوتري نام برده ميشود.1- چگونه می توان قابلیت های SDN را به بستر آزمایشگاهی شبکه های اجتماعی اضافه نمود؟2- تکنیک های غلبه بر چالش های موجود چیست؟3- چگونه می توان در بستر شبکه های اجتماعی بر روی لایه ی دوم شبکه در مدل OSI آزمایش انجام داد و نقش شبکه های نرم افزار محور برای انجام این آزمایشات چیست؟تمرکز اصلی و عمده در این پژوهش ارائه ی چارچوبی است که به وسیله ی آن بتوان آزمایشاتی را بر روی لایه دوم شبکه در مدل مرجع OSI در بستر شبکه های اجتماعی انجام داد. اما برای این منظور ابتدا باید با ساختار شبکه های اجتماعی آشنا شده و سپس مفاهیمی همچون شبکه های نرم افزار محور ، پروتکل OpenFlow و نحوه ی عملکرد آنها را بشناسیم و در سطح بعد با ابزارهایی که برای برپایی این بستر آزمایشگاهی نیاز است ، همچون کنترلر ، پروکسی کنترلر ، تجهیزات مسیریابی ، پروتکل های مورد نیاز و ... که در این راستا نیازمندیم آشنا خواهیم شد تا بعد از آن بتوانیم معماری خود را برای فراهم کردن بستر آزمایشگاهی شبکه های اجتماعی مورد نظر ارائه داده و پیاده سازی کنیم.آزمایشگاه های اجتماعی که یک بستر آزمایش شبکه های اجتماعی می باشد. با استفاده از این آزمایشگاه ها ، محققان قادرند آزمایشاتی با پروتکل های جدید و برنامه های کاربردی برای شبکه های اجتماعی در یک محیط واقعی انجام دهند. با این وجود در این بسترهای آزمایشی انجام بعضی آزمایشات مانند آزمایش روی لایه دوم شبکه مقدور نیست.از سوی دیگر SDN يا شبکههاي نرمافزارمحور سعي دارند هوشمندي شبکهها را بيشتر کرده و با انتقال بخش کنترل دادهها از سوئیچ و روتر سختافزاري به لايههاي نرمافزاري مجازي شبکه و بهرهگيري از يک کنترلر نرمافزاري متمرکز، قابليتهايي مانند برنامهريزي، مقياسپذيري، انعطافپذيري، خودکارسازي، هوشمندي و توسعه نرمافزاري شبکه توسط سازمانها را فراهم کنند. SDN با استفاده از پروتکل OpenFlow امکان کار و برنامه نویسی بر روی L2 را فراهم می آورد.ما می خواهیم با اضافه کردن امکانات شبکه های نرم افزار محور به آزمایشگاه های شبکه های اجتماعی ساختاری را ارائه کنیم که محققان بتوانند آزمایشات خود را بر روی L2 نیز انجام داده و بتوانند با توجه به نیازهای شبکه ی خود برای مدیریت شبکه برنامه نویسی کنند.
استفاده از شبکه های نرم افزار محور(SDN) برای مدیریت زیرساخت شبکه های اجتماعی (CN) WORD
چکیدهمدیریت و کنترل شبکههای بزرگ مانند شبکه های اجتماعی همیشه دردسرهای مخصوص به خود را دارد. یکی از آسانترین روشهای پیشگیری از بروز مشکلات و پیچیدگیهای مدیریت شبکههای بزرگ استفاده از محصولات یک تولید کننده در تمامی قسمتهای شبکه مورد نظر است. اتکا به یک تولید کننده، علاوه بر تحمیل هزینههای بیشتر (به خاطر محدودیتهای مربوط به لایسنس و حق نام…) میتواند خلاقیت را از سازمانها و شرکتها دور کند. علاوه بر این، شبکههای سازمانی بزرگ و پرهزینه، این روزها تنها ابزار ممکن برای ارائه ی خدمات بهتر و ارائه نرمافزارهای کاربردی تر در سطح شبکهها هستند.آزمایشگاه های اجتماعی که یک بستر آزمایش شبکه های اجتماعی می باشد. با استفاده از این آزمایشگاه ها ، محققان قادرند آزمایشاتی با پروتکل های جدید و برنامه های کاربردی برای شبکه های اجتماعی در یک محیط واقعی انجام دهند. با این وجود در این بسترهای آزمایشی انجام بعضی آزمایشات مانند آزمایش روی لایه دوم شبکه مقدور نیست.برای رسیدگی به این مشکل ما تصمیم گرفتیم سیستمی را توسعه دهیم تا به محققان آزمایشگاه های اجتماعی اجازه انجام آزمایش بر روی این لایه را نیز بدهد. علاوه بر این تصمیم گرفتیم تا با استفاده از تکنیک شبکه های نرم افزار محور به این هدف برسیم. شبکه ی نرم افزار محور دارای معماری ای است که به پژوهشگران این امکان را می دهد تا بتوانند بر روی لایه ی دوم شبکه آزمایش کنند. ما این معماری را با استفاده از پروتکلOpenFlow که به پژوهشگران اجازه مدیریت توپولوژی های تجربی لایه دو ی خود را می دهد پیاده سازی می کنیم. برای رسیدن به این هدف با شبکه های نرم افزار محور و معماری آن آشنا می شویم سپس در طی مراحل تحقیق به ارائه ی ساختاری مناسب برای راه اندازی محیطی آزمایشگاهی برای مطالعه و آزمایش بر روی لایه ی دوم شبکه در شبکه های اجتماعی می پردازیم و در انتها به ارزیابی مدل پیشنهادی می پردازیم.کلمات کلیدی : شبکه های اجتماعی CN ، شبکه های نرم افزار محور SDN ، شبکه های بی سیم مش WMN ، پروتکل OpenFlow فهرست مطالبفصل اول : مقدمه 11.1 مقدمه. 21.2 طرح مسئله. 31.3 ضرورت تحقیق. 31.4 سوالات تحقیق. 41.5 محدوده ی پژوهش.. 51.6 فرضیات تحقیق. 51.7 نوآوری های تحقیق. 51.8 ساختار پایان نامه. 6فصل دوم : ادبیات و پیشینه ی تحقیق72.1 مقدمه. 82.2 زيرساخت يک شبکه. 82.2.1شبکه ها ی کامپيوتری را می توان بر اساس سه ويژگی متفاوت تقسيم نمود :92.2.2تجهیزات شبکه. 122.3 شبکه های اجتماعی. 132.3.1خصوصیات و عملکرد شبکه های اجتماعی. 162.4 رسانه های اجتماعی. 162.4.1ویژگی های رسانه های اجتماعی. 172.4.2انواع رسانههای اجتماعی. 172.5 تفاوت Social Networkو Community Network. 182.5.1Social networks 182.5.2Community Network. 192.6 شبکه های ارتباط بی سیم202.6.1شبکه های مش بی سیم212.6.2نقش شبکه های بیسیم مش در شبکه های اجتماعی. 242.7 آزمایشگاه اجتماعی. 252.8 محدودیت فناوری شبکه های کنونی. 272.8.1پیچیدگی های منتهی به کاهش درآمد292.8.2سیاست های متناقض... 292.8.3فقدان مقیاس پذیری.. 292.8.4وابستگی به فروشنده302.9 شبکه های نرم افزار محور. 302.9.1تاریخچه ی شبکه های نرم افزار محور. 302.9.2شبکه های نرم افزار محور. 332.9.3معماری SDN :372.10 پروتکل OpenFlow.. 412.10.1FlowTable. 442.10.2Open Flow Switch. 452.10.3کنترل کننده472.10.4حالت های برنامه های کنترلی OpenFlow.. 492.10.5کاربرد های Open Flow.. 492.10.6Openflow.. 512.10.7معماری منطقی سوئیچ. 512.10.8مولفههای جدول جریان داده522.10.9مولفه فیلدهای تطبیق داه شده ورودی یك جدول شامل فیلدهای ضروری زیر است:532.10.10...................................................................................... فیلدهای زیر ممكن است پشتیبانی شوند:532.10.11.................................................................. مشخصات Openflow كارهای زیر را انجام می دهد:552.10.12................................................................................................... دستورالعملها 4 نوع هستند:552.10.13...................................................................................................... خط لوله جدول جریان داده562.10.14.................................................................................................. ساختار پروتكل Openflow.. 572.11 مقایسه ی معماری شبکه های نرم افزار محور با معماری فعلی شبکه های کامپیوتری.. 592.12 موانع. 602.13 چالش ها612.13.1شبکه های مش بی سیم612.13.2شبکه های اجتماعی و بستر های آزمایشی شبکه های اجتماعی. 622.14 کار مرتبط. 632.14.1SDNدر شبکه های مش بی سیم632.14.2SDNدر محیط های ناهمگن و روستایی. 652.14.3SDNدر شبکه های تلفن همراه652.15 نتیجه گیری.. 66فصل سوم : روش تحقیق 673.1 مرور کلی و توصیف ساختار. 683.1.2تصمیم گیری.. 693.2 پیاده سازی معماری.. 773.2.1poxy، یک پروکسی برای کنترل کننده ی pox of.783.2.2openVswitch. 803.2.3OpenDayLight803.2.4نرم افزار خارجی. 823.2.5آزمایشات L2در جامعه آزمایشگاه843.3 نتیجه گیری.. 88فصل چهارم : ارزیابی 894.1 مقدمه. 904.2 ارزیابی. 904.2.1ارزیابی عملکرد904.2.2تجزیه و تحلیل عملکرد914.2.3سربار ارتباطات.. 914.3 بحث.. 944.3.1مقابله با چالش ها944.3.2مشخصات توزیع شده در این معماری.. 964.4 نتیجه گیری.. 96فصل پنجم : نتیجه گیری و پیشنهادات975.1 نتیجه گیری.. 985.1.1محدودیت های تحقیق. 995.2 کارهای آتی. 1005.2.1تعمیم معماری ارائه شده برای شبکه های اجتماعی CNو WMNها101منابع و مآخذ103 فهرست جدول هاجدول 2.1مدل مرجع OSI به همراه پروتکل های قابل اجرا در هر لایه10جدول 2.2مدل مرجع OSI و تجهیزات SDN پیاده سازی شده بر روی این مدل39جدول 2.3پیغام های ورودیهای جریان داده در جداول جریان داده 58جدول 2.4مقایسه ی معماری شبکه های نرم افزار محور با معماری فعلی شبکه های کامپیوتری60 فهرست شکل هاشکل 2.1............................................ ساختار اجتماعی Social Network19شکل 2.2............................... ساختار اجتماعی Community Network20شکل 2.3............................................... ترسیمی از معماری شبکه مش22شکل 2.4.............................................................. نوعی از معماری WMN 25شکل 2.5.............................................. معماری آزمایشگاه اجتماعی26شکل 2.6نگاه انتزاعی به مفهوم آزمایشگاه اجتماعی 27شکل 2.7............................ معماری عمودی تجهیزات فعلی شبکه34شکل 2.8............................ معماری افقی تجهیزات شبکه ی SDN35شکل 2.9....................................................................................... شمايي از SDN36شکل 2.10....................................................................... ساختار منطقی SDN38شکل 2.11............................................................................................... SDN Domain40شکل 2.12.................................................. اجزای سازنده ی Open Flow42شکل 2.13............ نمونه ای از شبکه Openflow enabled switch43شکل2.14............................................................. فیلد های یک Flow Table44شکل 2.15................................................................... هدر یک سوئیچ Type047شکل 2.16................................................................ معماری منطقی سوئیچ51شکل 2.17.......................................................... خط لوله ی جریان داده56شکل 3.1...................................................................... ساختار کلی معماری68شکل 3.2....................................................................... استقرار OpenVswitch70شکل 3.3................................................................................ استقرار کنترلر71شکل 3.4..... دو روش ممکن برای دستیابی به اتصالات L272شکل 3.5نحوه ی صحیح برقراری اتصالات رابط های شبکه ی محلی و مدیریتی74شکل 3.6...................................... بقراری اتصال با کنترل کننده75شکل 3.7......................................................... استقرار پروکسی کنترلر76شکل 3.8.................................. ساختار نهایی بستر آزمایشگاهی77شکل 3.9............................ پیاده سازی بخش های اصلی ساختار82شکل 3.10استقرار و پیاده سازی نرم افزار های کنترلر و مدیریت گره ی Confine83شکل 3.11برقراری ارتباط با گره های جامعه توسط پروتکل و اتصالات Batman–adv84شکل 3.12............................................. دیدگاه کاربر از توپولوژی86شکل 3.13دیاگرام سلسله مراتبی نحوه ی گردش کار معماری87شکل 3.14.. دیاگرام همکاری نحوه ی گردش کار معماری88شکل 4.1........................................................ واسط کاربری OpenDayLight91شکل 4.2دو نقطه اصلی در ایجاد سربار های ارتباطی93شکل 4.3............................................... معماری سرور بستر آزمایشی93شکل 4.4............................................ معماری گره ی بستر آزمایشی94مقدمه و کلیات تحقیق 1.1 مقدمهدر دنياي امروز كه ارتباطات موجب اشتراك فكر و تبادل علم مي شود، شبكه هاي اجتماعي را مي توان از بسترهاي مؤثر در توليد علم، اشتراك عقايد و رشد فردي و اجتماعي دانست. هدف كلي هر شبكة اجتماعي، ايجاد سرماية اجتماعي و تسهيل ارتباط بين متخصصان و حرفه مندان است. تبديل سرماية فردي به سرمايه اجتماعي، از مسائل مهم و مورد توجه تمامي حوزههاي علمي است. از اين طريق، دانش فردي به دانش جمعي تبديل و در واقع از دانايي جمعي براي حل مسائل و مشكلات دنياي علم بهرهبرداري ميشود. شبکه های اجتماعی زمینه ای از شبکه است که در سالهای گذشته بسیار مورد توجه قرار گرفته است. در یک تلاش برای تنظیم یک اساس اینترنت غیر آمرانه و غیر انحصاری، مهندسان شبکه شروع به ساخت شبکه های اجتماعی نمودند. مدیریت و کنترل شبکههای بزرگ مانند شبکه های اجتماعی همیشه دردسرهای مخصوص به خود را دارد.در پی گسترش روزافزون شبكههای رایانهای، ارتباط سازمانها و مشتریان مختلف با اینترنت و افزایش استفاده از تجهیزات رایانشی همراه مانند تلفن همراه و تبلت، محققان و متخصصان به فكر طراحی و ایجاد راهكارهای نوین برای بهینهسازی این ارتباطات افتادند؛ مدیریت تجهیزات سیار، الگوی جدید آدرسدهی و نامگذاری در اینترنت، مدیریت دسترسی كاربران، امنسازی ابرهای رایانشی و كاربردهای مختلف مجازیسازی را میتوان از جمله مهمترین ایدههایی دانست كه امروزه در حال تكامل هستند.همانطور كه مشخص است هر ایدهای باید پیش از پیادهسازی عمومی، در آزمایشهای مرتبط موفقیت لازم را كسب كند. برای بررسی ایدههای فوق نیز، باید علاوه بر محیط آزمایشگاهی مناسب، ترافیك واقعی كاربر شبیهسازی شود تا نتیجه آزمایش این راهكارها به واقعیت نزدیك باشد و مقیاسی واقعگرایانه نسبت به استفاده عمومی به دست آید.اما معمولا آمادهسازی این چنین آزمایشگاهی نیازمند صرف هزینههای گزاف است كه اتلاف وقت زیادی را نیز به دنبال خواهد داشت. چه بسیار ایدههای درستی كه به دلیل برخورد با چنین موانعی و نبود امكان آزمایش در شبكهها و ترافیك واقعی كاربران، از بین رفته و به دست فراموشی سپرده میشود كه این موضوع در نهایت سد راهی برای پیشرفت فناوری است.احتمالا شما نیز با خواندن جملات قبل و عبور از كلمات «شبكههای واقعی» و « ترافیك واقعی كاربران» به این نتیجه رسیده باشید تنها محیط واقعی برای انجام این آزمایشها و ارزیابی فناوریهای آینده شبكه جهانی، «اینترنت» است . SDN یا Software Defined Networking راهكاری است كه به وسیله پروتکلی به نام OpenFlow امكان انجام آزمایشها روی اینترنت را به نحوی فراهم میكند كه در استفاده كاربران اینترنت اخلالی ایجاد نشود[6,7].SDN يا شبکههاي نرمافزارمحور سعي دارند هوشمندي شبکهها را بيشتر کرده و با انتقال بخش کنترل دادهها از سوئیچ و روتر سختافزاري به لايههاي نرمافزاري مجازي شبکه و بهرهگيري از يک کنترلر نرمافزاري متمرکز، قابليتهايي مانند برنامهريزي، مقياسپذيري، انعطافپذيري، خودکارسازي، هوشمندي و توسعه نرمافزاري شبکه توسط سازمانها را فراهم کنند[8]. از SDN به عنوان بزرگترين تحول چهار دهه شبکه هاي کامپيوتري نام برده ميشود.آزمایشگاه های اجتماعی یک بستر آزمایش شبکه های اجتماعی می باشد که با استفاده از این آزمایشگاه ها ، محققان قادرند آزمایشاتی با پروتکل های جدید و برنامه های کاربردی برای شبکه های اجتماعی در یک محیط واقعی انجام دهند. با این وجود در این بسترهای آزمایشی انجام بعضی آزمایشات مانند آزمایش روی لایه دوم شبکه (L2) مقدور نبود و ما برای رسیدگی به این مشکل ما تصمیم گرفتیم سیستمی را توسعه دهیم تا به محققان آزمایشگاه های اجتماعی اجازه انجام آزمایش بر روی L2 را نیز بدهد. علاوه بر این تصمیم گرفتیم تا با استفاده از تکنیک شبکه های نرم افزار محور (SDN) به این هدف برسیم. SDN معماری ای است که به پژوهشگران این امکان را می دهد تا بر روی L2 آزمایش کنند. ما این معماری را با استفاده از پروتکل OpenFlow SDN که به پژوهشگران اجازه مدیریت توپولوژی های تجربی L2 خود را می دهد پیاده سازی می کنیم. SDN یک استاندارد شبکه جدید است که امکان نوآوری بوسیله محققان ، کاربران،توسعه دهندگان برنامه ها/سرویس ها و ... را بخوبی کمپانی های سازنده ممکن می سازد.در پی گسترش روزافزون شبكههای رایانهای، ارتباط سازمانها و مشتریان مختلف با اینترنت و افزایش استفاده از تجهیزات رایانشی همراه مانند تلفن همراه و تبلت، محققان و متخصصان به فكر طراحی و ایجاد راهكارهای نوین برای بهینهسازی این ارتباطات افتادند؛ مدیریت تجهیزات سیار، الگوی جدید آدرسدهی و نامگذاری در اینترنت، مدیریت دسترسی كاربران، امنسازی ابرهای رایانشی و كاربردهای مختلف مجازیسازی را میتوان از جمله مهمترین ایدههایی دانست كه امروزه در حال تكامل هستند.همانطور كه مشخص است هر ایدهای باید پیش از پیادهسازی عمومی، در آزمایشهای مرتبط موفقیت لازم را كسب كند. برای بررسی ایدههای فوق نیز، باید علاوه بر محیط آزمایشگاهی مناسب، ترافیك واقعی كاربر شبیهسازی شود تا نتیجه آزمایش این راهكارها به واقعیت نزدیك باشد و مقیاسی واقعگرایانه نسبت به استفاده عمومی به دست آید[9].اما معمولا آمادهسازی این چنین آزمایشگاهی نیازمند صرف هزینههای گزاف است كه اتلاف وقت زیادی را نیز به دنبال خواهد داشت. چه بسیار ایدههای درستی كه به دلیل برخورد با چنین موانعی و نبود امكان آزمایش در شبكهها و ترافیك واقعی كاربران، از بین رفته و به دست فراموشی سپرده میشود كه این موضوع در نهایت سد راهی برای پیشرفت فناوری است.احتمالا شما نیز با خواندن جملات قبل و عبور از كلمات «شبكههای واقعی» و « ترافیك واقعی كاربران» به این نتیجه رسیده باشید تنها محیط واقعی برای انجام این آزمایشها و ارزیابی فناوریهای آینده شبكه جهانی، «اینترنت» است[9] . SDN یا Software Defined Networking راهكاری است كه به وسیله پروتکلی به نام OpenFlow امكان انجام آزمایشها روی اینترنت را به نحوی فراهم میكند كه در استفاده كاربران اینترنت اخلالی ایجاد نشود[9].SDN يا شبکههاي نرمافزارمحور سعي دارند هوشمندي شبکهها را بيشتر کرده و با انتقال بخش کنترل دادهها از سوئیچ و روتر سختافزاري به لايههاي نرمافزاري مجازي شبکه و بهرهگيري از يک کنترلر نرمافزاري متمرکز، قابليتهايي مانند برنامهريزي، مقياسپذيري، انعطافپذيري، خودکارسازي، هوشمندي و توسعه نرمافزاري شبکه توسط سازمانها را فراهم کنند. از SDN به عنوان بزرگترين تحول چهار دهه شبکه هاي کامپيوتري نام برده ميشود.1- چگونه می توان قابلیت های SDN را به بستر آزمایشگاهی شبکه های اجتماعی اضافه نمود؟2- تکنیک های غلبه بر چالش های موجود چیست؟3- چگونه می توان در بستر شبکه های اجتماعی بر روی لایه ی دوم شبکه در مدل OSI آزمایش انجام داد و نقش شبکه های نرم افزار محور برای انجام این آزمایشات چیست؟تمرکز اصلی و عمده در این پژوهش ارائه ی چارچوبی است که به وسیله ی آن بتوان آزمایشاتی را بر روی لایه دوم شبکه در مدل مرجع OSI در بستر شبکه های اجتماعی انجام داد. اما برای این منظور ابتدا باید با ساختار شبکه های اجتماعی آشنا شده و سپس مفاهیمی همچون شبکه های نرم افزار محور ، پروتکل OpenFlow و نحوه ی عملکرد آنها را بشناسیم و در سطح بعد با ابزارهایی که برای برپایی این بستر آزمایشگاهی نیاز است ، همچون کنترلر ، پروکسی کنترلر ، تجهیزات مسیریابی ، پروتکل های مورد نیاز و ... که در این راستا نیازمندیم آشنا خواهیم شد تا بعد از آن بتوانیم معماری خود را برای فراهم کردن بستر آزمایشگاهی شبکه های اجتماعی مورد نظر ارائه داده و پیاده سازی کنیم.آزمایشگاه های اجتماعی که یک بستر آزمایش شبکه های اجتماعی می باشد. با استفاده از این آزمایشگاه ها ، محققان قادرند آزمایشاتی با پروتکل های جدید و برنامه های کاربردی برای شبکه های اجتماعی در یک محیط واقعی انجام دهند. با این وجود در این بسترهای آزمایشی انجام بعضی آزمایشات مانند آزمایش روی لایه دوم شبکه مقدور نیست.از سوی دیگر SDN يا شبکههاي نرمافزارمحور سعي دارند هوشمندي شبکهها را بيشتر کرده و با انتقال بخش کنترل دادهها از سوئیچ و روتر سختافزاري به لايههاي نرمافزاري مجازي شبکه و بهرهگيري از يک کنترلر نرمافزاري متمرکز، قابليتهايي مانند برنامهريزي، مقياسپذيري، انعطافپذيري، خودکارسازي، هوشمندي و توسعه نرمافزاري شبکه توسط سازمانها را فراهم کنند. SDN با استفاده از پروتکل OpenFlow امکان کار و برنامه نویسی بر روی L2 را فراهم می آورد.ما می خواهیم با اضافه کردن امکانات شبکه های نرم افزار محور به آزمایشگاه های شبکه های اجتماعی ساختاری را ارائه کنیم که محققان بتوانند آزمایشات خود را بر روی L2 نیز انجام داده و بتوانند با توجه به نیازهای شبکه ی خود برای مدیریت شبکه برنامه نویسی کنند.