به نام خدا درس شیوه ارائه مطالب علمی الگوریتمهای مسیریابی درون شبکههای کامپیوتری استاد مربوطه :دکتر طاهری فر دانشجو : جعفر بیت غانم 9818510 سال تحصیلی 01-02 1 فهرست مطالب مقدمه2............................................................................................................ -1الگوریتم های مسیریابی شبکه5............................................................................................................ .1انواع الگوریتم های مسیریابی6............................................................................................... .2الگوریتم های مسیریابی تطبیقی6.................................................................................................. .3الگوریتم های مسیریابی غیر تطبیقی10................................................................................................. -2انواع پروتکل های مسیریابی درون شبکه13............................................................................................................ 20................................................................................................EGP-IGP -3 -4پروتکل سامانه حد واسط به سامانه حد واسط 28...................................................IS-IS -5منابع 30....................................................................................................... 2 مقدمه مسیریابی چیست؟ در واقع مسیریابی راهکاری ذهنی و غریزی است که به طور طبیعی در تمامی جانداران متحرک وجود دارد.آنها از آن برای رسیدن به اهداف خود استفاده میکنند.این اهداف میتوانند غذاخوردن،فرار از خطرات،پیدا کردن پناهگاه و ...باشند.اما مسیریابی امروزه معنای متفاوتی پیدا کرده است.امروزه برای انسان ها مسیریابی معنای متفاوتی در تمامی ابعاد پیدا کرده است.دلیل آن هم بالطبع پیشرفت تکنولوژی و دسترسی به انواع مسیریابی ها بوده است.از انواع مسیریابیهایی که میتوان به آن اشاره کرد مسیریابی با استفاده از GPSبرای پیدا کردن سریع ترین مسیر در دسترس برای رسیدن به مقصد است یا استفاده از الگوهای مسیریابی درون رشتههای عصبی مغز برای شبیهسازی آنها و بررسی نحوه عملکرد آنها است. مسیریابی درون شبکه های کامپیوتری با استفاده از الگوهایی که در طبیعت مشاهده میشوند،رفتار انسانها در طول قرن های متمادی برای یافتن بهترین مسیر،انواع روش های ریاضی و الگوریتم ها بر طبق آن انجام میشود که در ادامه به آن میپردازیم. ردیابی تاریخچه مسئله مسیریابی و کوتاهترین مسیر دشوار است .میتوان تصور کرد که حتی در جوامع بسیار بدوی (حتی حیوانات) نیز این کار بسیار ضروری بوده است (به عنوان مثال برای یافتن غذا). تحقیقات ریاضی درباره این مسئله نسبت به مسئلههای معروف دیگر دیر شروع شد .از اولین الگوریتمهایی که برای این مسئله ارائه شد میتوان به الگوریتم جستجوی اول سطح اشاره کرد. در نظریه گراف ،جستجوی سطح-اول( )Breadth-First Search BFSیکی از الگوریتمهای پیمایش گراف است. استراتژی جستجوی سطح اول برای پیمایش گراف ،همانطور که از نامش پیداست «جستجوی سطح به سطح گراف» است. الگوریتم از ریشه شروع میکند (در گرافها یا درختهای بدون ریشه رأس دلخواهی به عنوان ریشه انتخاب میشود) و آن را در سطح یک قرار میدهد .سپس در هر مرحله همه همسایههای رئوس آخرین سطح دیده شده را که تا به حال دیده نشدهاند بازدید میکند و آنها را در سطح بعدی میگذارد .این فرایند زمانی متوقف میشود که همه همسایههای رئوس آخرین سطح قبلا دیده شده باشند .همچنین در مسائلی که حاالت مختلف متناظر با رئوس یک گرافاند و حل مسئله مستلزم یافتن رأس هدف با خصوصیات 3 مشخصی است که در عین حال در بین همه رئوس هدف با آن خصوصیات به ریشه نزدیکترین باشد، جستجوی سطح اول به صورت غیرخلق عمل میکند .بدین ترتیب که الگوریتم هر دفعه همه همسایههای یک رأس را بازدید کرده و سپس به سراغ رأس بعدی میرود و بنابراین گراف سطح به سطح پیمایش خواهد شد .این روند تا جایی ادامه مییابد که رأس هدف پیدا شود یا احتماالا همه گراف پیمایش شود. براساس آنچه گفته شد پیادهسازی هوشمندانه الگوریتم آنقدر مؤثر نخواهد بود. با توجه به پیشرفت کامپیوترها و ظهور مسائل جدید ،این مسئله به تدریج از اواسط قرن بیستم مورد توجه قرار گرفت و با ایجاد شبکه جهانی اینترنت ،بیش از پیش به آن پرداخته شد .بازیهای کامپیوتری و نقشههای آنلین ،امروزه از پیشرفتهترین الگوریتمهای مسیریابی استفاده میکنند. مسیر یابی یک الگوریتم برای برنامههای کامپیوتری است که هدف آن یافتن (غالبا) کوتاهترین مسیر بین دو نقطه است .مسیر یابی یک راه کاربردی برای حل هزارتوها است.مسیر یابی به مقدار زیادی به مسئله کوتاهترین مسیر در نظریه گرافها ارتباط دارد؛ که در واقع این مسئله به این موضوع میپردازد که چگونه سریعترین ،ارزانترین (از لحاظ تعداد راسها) و کوتاهترین مسیر را بین دو نقطه در یک شبکه بزرگ بیابیم. مسیریابی درون شبکه( )Routingفرآیندی برای انتخاب بهترین مسیر در شبکه های داخلی و خارجی است و نقش مؤثری در ارسال دادهها در یک شبکه دارد .پروتکلهای مسیریابی میتواند بین انواع مختلفی از شبکهها ،مثل شبکه تلفن و اینترنت برقرار شوند .این مسیریابی میتواند عامل ارسال بستههای منطقی از مبدأ به مقصد باشد.سختافزارهای به کار رفته در یک شبکه شامل مسیریاب( ،)Routerپل ) ،(Bridgeفایروال و سوئیچ میشوند .کامپیوترهایی که کارت شبکه دارند میتوانند بستهها را ارسال کنند .این روند عامل ارسال براساس جداول میباشد و میتواند ثبتها را در مقصد نگهداری کند .این جداول در حافظه دستگاه تشکیل میشوند. در ادامه به سراغ الگوریتم های مسیریابی درون شبکه،انواع آنها،ویژگی،Protocol،و نحوه عملکرد و تفاوتهای آنها می رویم. 4 -1-1الگوریتم های مسیریابی شبکه الگوریتم های مسیریابی شبکه ،موضوعی است که در مبحث شبکه بیشترین اهمیت را دارد .درواقع الگوریتم های مسیریابی شبکه قسمتی از نرمافزار الیه شبکه هستند و تعیین میکنند بسته ورودی باید به کدام خط خروجی منتقل شود .قطعا ا تعیین الگوریتم بهینه که بستهها را در مدتزمان کوتاه و ایمن به مقصد برساند بسیار حائز اهمیت است .در ادامه به بررسی الگوریتم های مسیریابی شبکه میپردازیم. مسیریابی فرآیند ایجاد مسیرهایی است که بستههای داده باید برای رسیدن به مقصد دنبال کنند .در این فرآیند ،یک جدول مسیریابی ایجاد میشود که حاوی اطلعاتی در مورد مسیرهایی است که بستههای داده دنبال میکنند .الگوریتم های مسیریابی شبکه مختلفی به منظور تصمیمگیری در این مورد استفاده میشوند که یک بسته داده ورودی باید در کدام مسیر ارسال شود تا به طور موثر به مقصد برسد. الگوریتم های مسیریابی شبکه نقش مهمی در اتصال سیستمهای مختلف برای برقراری ارتباط از طریق شبکه ایفا میکنند و بهترین مسیر را برای طی کردن تعیین میکنند .با استفاده از این الگوریتمها میتوان دادهها را در کسری از ثانیه از طریق شبکه بهصورت ایمن منتقل کرده و کیفیت دادهها را حفظ نمود. الگوریتم های مسیریابی شبکه ،اصول و روشهایی هستند که برای انتقال بستههای داده از مبدأ به مقصد ،مسیر یا مسیرهایی را تعیین میکنند .پس از اینکه یک بستهی داده منبع خود را ترک میکند، می تواند مسیری را از بین مسیرهای مختلف برای رسیدن به مقصد خود انتخاب کند .الگوریتم های مسیریابی شبکه بهصورت ریاضی بهترین مسیر یعنی« مسیر با کمترین هزینه »که بسته میتواند از طریق آن مسیریابی شود را محاسبه میکنند و به هدایت ترافیک در شبکه بهطور مؤثر در بستر امن کمک میکنند. الگوریتم های مسیریابی شبکه عمدتا ا برای پیشرفت کیفیت شبکه های کامپیوتری کار میکنند .این الگوریتمها روی پروتکلهای خاصی کار میکنند و مسیر را میتوان با استفاده از روشهای مختلف الگوریتمها محاسبه کرد .بر اساس نوع شبکه و همچنین کاربرد آن ،هر الگوریتم را میتوان اعمال کرد. این الگوریتمها باید ویژگیهای متعددی مانند ثبات ،صحت ،کارایی ،سادگی ،مقاوم در برابر نفوذ و استحکام را داشته باشند. 5 1-1انواع الگوریتم های مسیریابی الگوریتم های مسیریابی شبکه را میتوان بهطورکلی به دو نوع الگوریتم مسیریابی تطبیقی و غیر تطبیقی طبقهبندی کرد. 1-2الگوریتم های مسیریابی تطبیقی)(Adaptive routing algorithms الگوریتم های مسیریابی تطبیقی الگوریتمهایی هستند که تغییرات بهصورت خودکار در مسیریابی اعمال می شود و دیگر الزم نیست خودمان دستی تغییرات را به الگوریتم بدهیم .الگوریتم های مسیریابی تطبیقی که با نام الگوریتمهای مسیریابی پویا نیز شناخته میشوند ،بسته به شرایط شبکه تصمیمات مسیریابی را بهصورت پویا اتخاذ میکنند ،همچنین جدول مسیریابی را بسته به ترافیک شبکه و توپولوژی میسازند. آنها سعی میکنند مسیر بهینهشده را بسته به تعداد گام یا پرش ،زمان عبور و مسافت محاسبه کنند. در مسیریابی تطبیقی ،گرههای میانی میتوانند شرایط واقعی شبکه ،ازجمله وجود خرابی یا تنگناها را در نظر بگیرند و بر این اساس تصمیم بگیرند که داده به کدام همسایه باید منتقل شود .با توجه به انتخاب کانال خروجی ،طرح مسیریابی تطبیقی میتواند دو حالت داشته باشد :یا سودآور باشد و یا مسیریابی نادرست باشد .در مسیریابی سودآور ،تنها کانالهایی که تضمینشده است به مقصد نزدیکتر میباشند، کاندیدای انتخاب هستند. 6 مزیت پروتکلهای سودآور به شرح زیر است: .1منجر به ایجاد یک مسیر با حداقل طول میشوند. .2میتوان آنها را برای اثبات رها شدن از بنبست موجود ایجاد کرد. .3زمانی که کانالهای معیوب در شبکه وجود دارند ،پروتکلهای مسیریابی نادرست سودمند هستند .چراکه تحت چنین شرایطی ،پروتکلهای مسیریابی نادرست شانس بیشتری برای یافتن مسیر مناسب دارند. طرحهای مسیریابی تطبیقی را میتوان به پروتکلهای پیشرونده یا عقبرونده تقسیم کرد .در مسیریابی پیشرونده ،پیامها نمیتوانند در مسیری که قبلا دنبال کردهاند بهعقب برگردند .برعکس ،در طرح عقبنشینی ،پیامها میتوانند بهعقب برگردند و بهطور سیستماتیک تمام مسیرهای ممکن بین گرههای مبدأ و مقصد را بررسی کنندِ .هدِر پیام باید حاوی برخی از اطلعات وضعیت باشد تا از جستجوی مکرر در همان مسیر جلوگیری شود و از اینرو رها شدن از بنبست فعال تضمین میشود. طرحهای عقبگرد نیز بدون بنبست هستند زیرا منابع نگهداری را مسدود نمیکنند .میتوانند از جستجوی مکرر در همان مسیر جلوگیری کنند ،پروتکلهای عقبگرد اطلعات تاریخچه را در سر صفحه پیام (یا کاوشگر) ذخیره میکنند .ازآنجاییکه فضای جستجو میتواند بسیار بزرگ باشد، بهخصوص در مسیریابی نادرست پروتکلها ،هدر بسیار طوالنی میشود ،که بهطور قابلتوجهی زمان تأخیر را افزایش میدهد .اگر کانال سودآور آزاد در یک گره میانی وجود نداشته باشد ،چندین استراتژی جایگزین برای دنبال کردن وجود دارد: .1مسیریابی سودآور پیشرونده منتظر میماند تا یک کانال سودآور آزاد شود. .2یک پروتکل مسیریابی نادرست پیشرونده یک کانال آزاد غیر سودآور را امتحان میکند. .3مسیریابی عقبگرد بهعقب رفته و دوباره در گره قبلی شروع میشود. 7 سه نوع محبوب از الگوریتم های مسیریابی تطبیقی عبارتاند از: • الگوریتم متمرکز)(Centralized این نوع از الگوریتم های مسیریابی شبکه ،یک روش ِوفقی به شمار میرود که بر اساس جدول مسیریابی کار میکند .گره مرکزی شبکه ،دادههای کاملی در مورد توپولوژی شبکه و ترافیک دریافت میکند و از ازدحام چندین گره ارتباطی جلوگیری میکند .این الگوریتم میتواند دادهها را به روترهای خاص منتقل کند .از مزایای این الگوریتم این است که تنها یک گره برای نگهداری اطلعات بهروز موردنیاز است ،اما نقطهضعف آن این است که با کاهش تبادالت گره مرکزی ،کل شبکه سقوط میکند. این الگوریتم بهعنوان الگوریتم مسیریابی سراسری نیز شناخته میشود چراکه با استفاده از دانش سراسری در مورد شبکه ،مسیر کمهزینه را بین گرههای مبدأ و مقصد پیدا میکند .برخلف الگوریتمهای توزیعشده ،برای نوشتن یک الگوریتم متمرکز ،نیازی به ارث بردن از یک کلس خاص نداریم. )1یک فرآیند بهعنوان هماهنگکننده ) (Coordinatorانتخاب میشود. )2فرآیندی که میخواهد منبع را در اختیار بگیرد پیامی به هماهنگکننده میفرستد که تعیین میکند چه منبعی را میخواهد. )3اگر فرآیند دیگری منبع را در دسترس نداشته باشد ،هماهنگکننده با ارسال یک پیام جواب دهی ،منبع را به آن فرآیند میدهد. • الگوریتم مستقل)(Isolated این الگوریتم اطلعات مسیریابی را بهجای جمعآوری از گرههای دیگر با استفاده از اطلعات محلی تهیه میکند .هر روتر فقط برای دادههای محلی که در اختیار دارد تصمیم میگیرد و حتی اطلعاتی را با همسایگان خود ردوبدل نمیکند .اشکال این الگوریتم این است که میتواند بستهها را از طریق یک مسیر متراکم به اشتراک بگذارد که منجر به تأخیر میشود .برخی از نمونههای این نوع الگوریتمها بهصورت زیر هستند: :HotPotato .1الگوریتم مسیریابی سیبزمینی داغ الگوریتمی است که در آن روترهای یک شبکه هیچ بافری برای ذخیره بستهها قبل از انتقال به آخرین مقصد از پیش تعیینشده خود ندارند .در یک موقعیت مسیریابی معمولی ،هنگامیکه بستههای متعدد به یک کانال خروجی میروند، 8 بستههایی که بافر نیستند برای جلوگیری از تراکم رها میشوند .بسته در همهجا پرتاب میشود، مانند یک “سیبزمینی داغ” که ممکن است بهدوراز مقصد منتقل شود .در این حالت الگوریتم بستهها را رها نمیکند بلکه به حرکت خود ادامه میدهد. :Hotpotato + SR .2در این روش علوه بر خلوت بودن مسیر وزن مسیر را نیز در نظر میگیریم .وزن مسیر عددی بین 0و 1است .این الگوریتم مسیری را انتخاب میکند که هم کوتاه باشد و هم زیاد شلوغ نباشد یعنی وزن مسیر مساعد باشد. :Backward Learning .3یک فرستنده با یک گیرنده پیغامی را ردوبدل میکند .فرض کنیم فرستنده سه مسیر را میشناسد یعنی در جدول مسیریابی خود تا گیرنده موردنظر سه مسیر دارد که به نظر خودش بهترین مسیرهایی بوده که میتوانسته تا مقصد موردنظر انتخاب کند .حاال گیرنده یک پاسخ میدهد ،وقتی فرستنده پاسخ را دریافت میکند و مسیر آن را با مسیرهای ذخیرهشده در جدول خود مقایسه میکند ،میبیند این مسیر از سه مسیر قبلی کوتاهتر است پس این مسیر جدید را جایگزین یکی از مسیرهای خود میکند. • الگوریتم توزیع شده)(Distributed در این الگوریتم هر گره دادهها را از گرههای همسایه خود دریافت میکند و سپس تصمیم میگیرد که با کدام تکنیک بسته را ارسال کند .اشکال این نوع از الگوریتم های مسیریابی شبکه در این است که اگر بین فواصل زمانی متغیر دادهها را دریافت کند و بسته را ارسال کند ،بسته به تأخیر میافتد. این الگوریتم ،از نوع الگوریتم غیرمتمرکز است که مسیر کمهزینه بین منبع و مقصد را بهصورت تکراری و بهصورت توزیعشده محاسبه میکند .این الگوریتمها بیشترین استفاده را در شبکههای گسترده دارند ،منظور شبکههایی است که تعداد IMPهای آنها زیاد است .در این الگوریتمها هر IMPبرای ایجاد و بهروزرسانی جداول فقط نیازمند اطلعات همسایگان خود است. 9 1-3الگوریتم های مسیریابی غیر تطبیقی)(Non_ Adaptive routing algorithms نوع دوم الگوریتم های مسیریابی شبکه ،الگوریتم های مسیریابی غیر تطبیقی یا Non_ Adaptive routing algorithmsهستند که بهعنوان الگوریتم های مسیریابی استاتیک نیز شناخته میشوند ،یک جدول مسیریابی استاتیک برای تعیین مسیر ارسال بستهها ایجاد میکنند .جدول مسیریابی استاتیک بر اساس اطلعات مسیریابی ذخیرهشده در مسیریابها هنگام راهاندازی شبکه ساخته میشود. الگوریتم غیر تطبیقی یا مسیریابی ایستا مستقل از ترافیک فعلی و حجم توپولوژی است .این الگوریتمها مسیری را تعیین میکنند که دیتاگرام قرار است بهصورت آفلین به آن ارسال شود .هنگام بوت شدن شبکه ،مسیر محاسبهشده و در روترها دانلود میشود .بنابراین ،دادههای مسیریابی بهصورت دستی مشخصشده و دادههای مسیر ثابت را برای هر روتر فراهم میکند ،اگر تغییری در مسیر وجود نداشته باشد ،بهصورت دستی ایجاد میشود. در حالت کلی این نوع از الگوریتم های مسیریابی شبکه ،الگوریتمهایی هستند که تغییرات شبکه باید بهصورت دستی در آنها اعمال شود یعنی اگر تغییراتی در شبکه صورت بگیرد این تغییرات خودکار اعمال نمیشود .دو نوع الگوریتم مسیریابی غیر تطبیقی عبارتاند از: • سیل آسا)(Flooding در این الگوریتم هر بسته ورودی جدا از زمان رسیدن ،به هر خط خروجی منتقلشده و خارج میگردد، بنابراین تعداد زیادی بسته تکراری تولید میکند .برای کاهش این مقدار ،از یک شمارنده استفاده میشود که بعد از جهش هر بسته کاهش مییابد و بستهای که مقدار شمارنده آن قبل از رسیدن به مقصد صفر است ،کنار گذاشته میشود .بیشتر اوقات ،فرستنده طول مسیر مقصد را میداند ،اما اگر نداند ،شمارنده با عددی برابر با مقدار کل زیر شبکه مقداردهی اولیه میشود. 10 بهطور خلصه ،در floodingوقتی یک بسته داده به یک روتر میرسد ،به تمام پیوندهای خروجی بهجز پیوندی که به آن رسیده است ارسال میشود .سیل ممکن است سیل کنترل نشده ،کنترلشده یا انتخابی باشد .در این روش فرستنده تعداد زیادی setup Callرا به شبکه ارسال میکند تا در مسیرهای مختلف حرکت کنند . setup Callکه زودتر به گیرنده برسد و برگردد نشاندهنده بهترین مسیر انتخابشده است .برای غلبه بر سیلآسا بودن جریان ،تکنیکهای زیر استفاده میشوند: اعداد دنباله ای هر بسته با شماره ترتیبی ارائه میشود .هنگامیکه یک گرهبسته را دریافت میکند ،شماره مبدأ و مقصد آن را مشاهده میکند ،اگر گره متوجه شود که قبلا بسته مشابهی را ارسال کرده است ،بسته را ارسال نمیکند و آن را کنار میگذارد. گام شمارش هر بسته دارای یک تعداد پرش مربوطه است .این پرشها بعد از مشاهده هر گره یک واحد کاهش مییابد .هنگامیکه تعداد پرش به صفر میرسد ،بسته آزاد میشود. درخت پوشا در این روش هر بسته با ایجاد یک درخت پوشا در مبدأ ،تنها در یک اتصال که به مقصد منتهی میشود، منتقل میگردد .این روش از ایجاد حلقهها در انتقال جلوگیری میکند اما تنها زمانی امکانپذیر است که تمام گرههای انتقالی توپولوژی شبکه را بدانند. 11 • پیاده روی تصادفی)(Random walk این الگوریتم یک الگوریتم احتمالی است که در آن بستهها به صورت تصادفی میزبان به میزبان یا گره به گره به یکی از همسایگان خود ارسال میشوند .این روش ،روشی بسیار قوی است که معموالا با ارسال بستهها هنگامیکه شبکه بهشدت مرتبط است ،به پیوندی که کمترین صف را دارد اجرا میشود. پیادهروی تصادفی بخشی از مدلهای تحرک داخلی است .مدل تحرک مدلی است که حرکت کاربران موبایل و نحوه تغییر مکان ،سرعت و شتاب آنها را در طول زمان توصیف میکند .این مدل برای اولین بار توسط اینشتین در سال 1926توصیف شد و بیان میکند که گره موبایل از مکان فعلی به مکان جدید با انتخاب تصادفی جهت و سرعت حرکت میکند زیرا پویا است .این ویژگی با حداقل سرعت یا حداکثر سرعت و با جهت از 0تا pi 2یعنی 360درجه صورت میگیرد. مسیریابها بر اساس اطلعات موجود در جداول مسیریابی ،بهترین مسیر عبور دادهها را تعیین میکنند. در سادهترین تعریف ،مسیریابی به فرآیند انتقال اطلعات روی یک مسیر مشخص از مبدا به مقصد اشاره دارد. 12 -2انواع پروتکل های مسیریابی درون شبکه مسیریابی روند دریافت بسته های اطلعاتی از مکانی که بسته ها باید به آن ارسال شود تعریف میشود. در واقع مسیریابی اجرا الگوریتم های مختلفی است که وظیفه آنها پیدا کردن کوتاه ترین مسیر بین دو نقطه می باشد. آدرس دهی IPبرپایه مفهوم شبکه و هاست است .در واقع هاست به هر عضوی در شبکه گفته میشود که توانایی ارسال و دریافت بسته های IPرا داشته باشد که شامل دستگاه هایی از قبیل ایستگاه کاری و یا روتر می باشد .مسیریابی عملیات انتقال داده از یک هاست به یک هاست دیگر میباشد .تفاوت مهم مسیریابی با برقراری پل ) (bridgingاین است که پل در الیه " 2الیه لینک" از مدل OSIاست اما مسیریابی در الیه " 3الیه شبکه" میباشد .مسیریابی بهینه ترین مسیر را در شبکه تشخیص میدهد. 2-1مدل اتصالOSI؛ سامانههای باز ) (Open Systems Interconnection (OSI) modelتوصیفی مفهومی و مجرد از الیههایی است که دو یا چند سیستم مخابراتی یا شبکه کامپیوتری از طریق آن به یکدیگر متصل میشوند .مدل OSIسعی بر توضیح چگونگی ارتباط دو سیستم انتقال اطلعات بر پایه انواع رسانهها در یک شبکه کامپیوتری را دارد .مدل OSIیک معماری شبکه نیست ،چون هیچ سرویس یا پروتکلی در آن تعریف نمیشود .بلکه یکی از مدلهای استاندارد و پذیرفته شدهاست که برای طراحی یا توصیف شبکههای مخابراتی به کار میرود. الیههای مدل OSI این مدل دارای هفت الیهاست .در این مدل باالترین الیه ،الیه ۷و پایینترین الیه ،الیه ۱است. • الیه : ۱الیه فیزیکی اولین الیه • الیه : ۲الیه پیوند داده • الیه : ۳الیه شبکه • الیه : ۴الیه انتقال • الیه : ۵الیه نشست • الیه : ۶الیه نمایش 13 • الیه : ۷الیه کاربرد الیه فیزیکی الیه فیزیکی در مدل مرجع OSIبه ویژگیهای سختافزاری کارت شبکه اشاره میکند .الیه فیزیکی به مواردی از قبیل زمانبندی و ولتاژ برقی که قرار است در رسانه منتقل شود اشاره میکند .این الیه تعیین میکند که به چه شکل و از چه طریق و با چه رسانهای قرار است اطلعات خود را انتقال دهیم ،برای مثال رسانه ما سیمی است یا تجهیزات بیسیم؟ در واقع الیه فیزیکی تعیین میکند که اطلعات چگونه دریافت و ارسال شوند .عملیات Codingنیز که به معنای تعیین کردن صفر و یک در رسانه است در این الیه انجام میشود. الیه پیوند داده الیه پیوند به خودی خود به دو زیر الیه به نامهای MACکه مخفف Media Access Controlو LLCکه مخفف Logical Link Controlهست تقسیم میشود .زیر الیه MACهمانطوریکه از نامش پیداست شناسه سختافزاری کامپیوتر که در واقع همان آدرس MACکارت شبکه است را به شبکه معرفی میکند .آدرس MACآدرس سختافزاری است که در هنگام ساخت کارت شبکه از طرف شرکت سازنده بر روی کارت شبکه قرار داده میشود و در حقیقت Hard Codeمیشود .این در حقیقت مهمترین فاکتوری است در آدرس دهی که کامپیوتری از طریق آن بستههای اطلعاتی را دریافت و ارسال میکند .زیر الیه LLCوظیفه کنترل Frame Synchronizationیا یکپارچهسازی فریمها و همچنین خطایابی در الیه دوم را بر عهده دارد. الیه شبکه وظیفه الیه شبکه این است که چگونگی رسیدن دادهها به مقصد را تعیین کند .این الیه وظایفی از قبیل آدرس دهی ،مسیریابی و پروتکلهای منطقی را عهدهدار است .الیه شبکه مسیرهای منطقی یا Logical Pathبین مبدأ و مقصد ایجاد میکند که به اصطلح مدارهای مجازی یا Virtual Circuitsنامگذاری میشوند ،این مدارها باعث میشوند که هر بسته اطلعاتی بتواند راهی برای رسیدن به مقصدش پیدا کند. الیه شبکه همچنین وظیفه مدیریت خطا در الیه خود ،ترتیب دهی بستههای اطلعاتی و کنترل ازدحام را نیز بر عهده دارد .ترتیب بستههای اطلعاتی بسیار مهم است زیرا هر پروتکلی برای خود یک حداکثر 14 اندازه بسته اطلعاتی تعریف کردهاست .برخی اوقات پیش میآید که بستههای اطلعاتی از این حجم تعریف شده بیشتر میشوند و به ناچار اینگونه بستههای به بستههای کوچکتری تقسیم میشوند و برای هر کدام از این بستههای اطلعاتی یک نوبت یا Sequenceداده میشود که معلوم شود کدام بسته اول است و کدام بسته دوم و … به این عدد به اصطلح Sequence Numberهم گفته میشود. وقتی بستههای اطلعاتی در مقصد دریافت شدند ،در الیه شبکه این Sequence Numberها چک میشود و به وسیله همین Sequence Numberاست که اطلعات به حالت اولیه بازمیگردند و تبدیل به اطلعات اولیه میشوند .در صورتیکه یکی از این بستههای به درستی دریافت نشود در همان الیه شبکه از طریق چک کردن این عدد مشخص میشود که کدام بسته اطلعاتی دریافت نشدهاست و طبیعتا ا مجددا ا در خواست داده میشود. الیه انتقال الیه انتقال وظیفه نگهداری و کنترل ریزش اطلعات یا Flow Controlرا بر عهده دارد .اگر به خاطر داشته باشید سیستم عامل به شما این اجازه را میدهد که همزمان از چندین نرمافزار استفاده کنید .خوب همین کار در شبکه نیز ممکن است رخ بدهد ،چندین نرمافزار بر روی سیستم عامل تصمیم میگیرند که به صورت همزمان بر روی شبکه اطلعات خود را منتقل کنند .الیه انتقال اطلعات مربوط به هر نرمافزار در سیستم عامل را دریافت و آنها را در قالب یک رشته تکی درمیآورد .همچنین این الیه وظیفه کنترل خطا و همچنین تصحیح خطا در هنگام ارسال اطلعات بر روی شبکه را نیز بر عهده دارد .به صورت خلصه وظیفه الیه انتقال این است که از رسیدن درست اطلعات از مبدأ به مقصد اطمینان حاصل کند ،انواع پروتکلهای اتصال گرا یا Connection Orientedو غیر اتصال گرا Connection Lessدر این الیه فعالیت میکنند. الیه جلسه وقتی دادهها به شکلی قابل درک برای ارسال توسط شبکه درآمدند ،ماشین ارسالکننده بایستی یک Sessionبا ماشین مقصد ایجاد کند .منظور از Sessionدقیقا ا شبیه ارتباطی است که از طریق تلفن انجام میشود ،شما برای ارسال اطلعات از طریق تلفن حتما ا بایستی با شخص مورد نظرتان تماس برقرار کنید .اینجا زمانی است که الیه نشست وارد کار میشود ،این الیه وظیفه ایجاد ،مدیریت و نگهداری و در نهایت خاتمه یک Sessionرا با کامپیوتر مقصد بر عهده دارد .نکته جالب در خصوص 15 الیه نشست این است که بیشتر با الیه کاربرد مرتبط است تا الیه فیزیکی ،شاید فکر کنید که بیشتر Sessionها بین سختافزارها و از طریق لینکهای شبکه ایجاد میشوند اما در اصل این نرمافزارهای کاربردی هستند که برای خود Sessionبا نرمافزار مقصد ایجاد میکنند .اگر کاربری از تعدادی نرمافزار کاربردی استفاده میکند ،هر کدام از این نرم افزاها به خودی خود میتوانند یک Sessionبا نرمافزار مقصد خود برقرار کنند که هر کدام از این Sessionها برای خود یک سری منابع منحصر به فرد دارد. الیه نمایش فعالیت الیه نمایش یا Presentationتا حدی پیچیدهاست اما همه کارهایی که این الیه انجام میدهد را میتوان در یک جمله خلصه کرد ،الیه نمایش اطلعات را از الیه کاربرد دریافت میکند و در قالبی درمیآورد که برای الیههای پایینتر قابل درک باشد .همچنین برعکس این عمل را نیز انجام میدهد یعنی زمانی که اطلعاتی از الیه نشست یا Sessionبه این الیه وارد میشود ،این اطلعات را به گونهای تبدیل میکند که الیه کاربرد بتواند آنها را درک کرده و متوجه شود .دلیل اهمیت این الیه این است که نرمافزارها اطلعات را به شیوهها و اشکال مختلفی نسبت به یکدیگر بر روی شبکه ارسال میکنند. برای اینکه ارتباطات در سطح شبکهها بتوانند برقرار شوند و به درستی برقرار شوند شما بایستی اطلعات را به گونهای ساختار دهی کنید که برای همه انواع شبکهها استاندارد و قابل فهم باشد .بهطور خلصه وظیفه اصلی این الیه قالب بندی اطلعات یا Formattingاطلعات است .معموالا فعالیتهایی نظیر رمزنگاری و فشرده سازی از وظایف اصلی این الیه محسوب میشود. الیه کاربرد باالترین الیه در مدل مرجع OSIالیه کاربرد یا Applicationاست .اولین نکتهای که در خصوص الیه کاربرد یا Applicationباید بدانید این است که به هیچ عنوان این الیه با نرمافزارهای کاربردی ارتباطی ندارد و صرفا ا یک تشابه اسمی است .در عوض این الیه محیطی را ایجاد میکند که نرمافزارهای کاربردی بتوانند از طریق آن با شبکه ارتباط برقرار کنند .برای اینکه درک بهتری از الیه کاربرد داشته باشید فرض کنید که یک کاربر با استفاده از نرمافزار Internet Explorerقصد دارد از طریق پروتکل FTPیک فایل را در شبکه منتقل کند .در این مورد الیه کاربرد به وظیفه برقراری ارتباط با پروتکل FTPبرای انتقال فایل را بر عهده دارد .این پروتکل به صورت مستقیم برای کاربران 16 قابل دسترسی نیست ،کاربر بایستی با استفاده از یک نرمافزار رابط مانند Internet Explorerبرای برقراری ارتباط با پروتکل مورد نظر استفاده کند .به صورت خلصه در تعریف کارایی این الیه میتوان گفت که این الیه رابط بین کاربر و شبکه است و تنها قسمتی از این مدل هفت الیهای است که کاربر تا حدی میتواند با آن ارتباط برقرار کند. روی شبکههای TCP/IPمبدا و مقصد هر دو میزبان ) (hostنامیده میشوند ،در این شبکهها اطلعات به بستههایی شکسته میشوند و بعد میان میزبانها مبادله میشوند .پروتکلهای مسیریابی مشخص میکنند که دادههای شما چگونه باید به مقصد برسند و کمک میکنند تا فرآیند مسیریابی تا حد امکان راحتتر انجام شود .امروزه پروتکلهای مسیریابی مختلفی در دسترس سرپرستان شبکه قرار دارد که این تنوع باعث شده تا انتخاب گزینه مناسب کار سختی شود. شبکههای کامپیوتری میتوانند به بخشهای مختلفی تقسیم شوند که بر مبنای پروتکلهای مختلف با معماریهای متفاوت با یکدیگر در ارتباط باشند .در این مدل شبکهها بهکارگیری پل ) (Bridgeبرای حفظ سرعت ارتباطات میان بخشهای مختلف شبکه عملکرد قابل قبولی ندارند .در شبکههای سازمانی که عمدتا بر مبنای معماریهای پیچیده و چند الیه پیادهسازی میشوند ،به تجهیزاتی نیاز است که ضمن دارا بودن خواص پل و قابلیت تفکیک یک شبکه به بخشهای کوچکتر ،قابلیت تعیین مسیر را نیز داشته باشد .هنگامی که دستگاهی چند مسیر برای رسیدن به یک مقصد دارد ،همواره مسیری که نسبت به دیگران ارجحیت دارد را انتخاب میکند .این فرآیند انتخاب بهنام مسیریابی ) (Routingشناخته میشود. مسیریابی الیه شبکه از طریق مسیریابها (روتر) انجام میشود .مسیریابها بر اساس اطلعات موجود در جداول مسیریابی ،بهترین مسیر عبور دادهها را تعیین میکنند .در سادهترین تعریف ،مسیریابی به فرآیند انتقال اطلعات روی یک مسیر مشخص از مبدا به مقصد اشاره دارد .روی شبکههای TCP/IP مبدا و مقصد هر دو میزبان ) (hostنامیده میشوند ،در این شبکهها اطلعات به بستههایی شکسته میشوند و بعد میان میزبانها مبادله میشوند .پروتکلهای مسیریابی مشخص میکنند که دادههای شما چگونه باید به مقصد برسند و کمک میکنند تا فرآیند مسیریابی تا حد امکان راحتتر انجام شود .امروزه پروتکلهای مسیریابی مختلفی در دسترس سرپرستان شبکه قرار دارد که این تنوع باعث شده تا انتخاب گزینه مناسب کار سختی شود. 17 مسییاب 2-1پروتکلهای ر از مهمترین پروتکلهای مسیریابی به موارد زیر میتوان اشاره کرد: ▪ پروتکل اطلعات مسیریابی یا)Routing Information Protocol (RIP ▪ پروتکل دروازه داخلی یا)Interior Gateway Protocol (IGRP ▪ پروتکل ابتدا کوتاهترین مسیر را انتخاب کن یا)Open Shortest Path First (OSPF ▪ پروتکل دروازه خارجی یا)Exterior Gateway Protocol (EGP ▪ پروتکل مسیریابی دروازه داخلی پیشرفته یا Enhanced Interior Gateway Routing )Protocol (EIGRP ▪ ▪ پروتکل دروازه مرزی یا)Border Gateway Protocol (BGP پروتکل سامانه حد واسط به سامانه حد واسط Intermediate System-to-Intermediate )System (IS-IS پروتکلهای مسیریابی را میتوان به شرح زیر طبقهبندی کرد: ▪ پروتکلهای بردار فاصله ) (Distance Vectorو وضعیت پیوند)(Link State ▪ پروتکلهای دروازه داخلی ) (IGPیا پروتکلهای دروازه خارجی)(EGP ▪ پروتکلهای ClassfulیاClassless 18 2-2-1پروتکلهای بردار فاصله و وضعیت پیوند ▪ پروتکلهای مسیریابی بردار فاصله ) (Distance-vector routing protocolپروتکلهایی هستند که از معیار فاصله برای تعیین بهترین مسیر برای بستههای درون یک شبکه استفاده میکنند .این پروتکلها فاصله را بر اساس این که دادهها باید چند هاپ ) (HOPرا پشت سر بگذارند تا به مقصد برسند اندازهگیری میکنند .تعداد هاپها همان تعداد روترهایی است که بستهها باید تا رسیدن به مقصد از آنها عبور کنند .پروتکلهای مسیریابی بردار فاصله یک جدول مسیریابی را برای دستگاههای مجاور ارسال میکنند .از آنجایی که در این روش استقرار تجهیزات به مدیریت خاصی نیاز نیست ،مدیران شبکه دردسر کمتری برای نظارت بر شبکهها متحمل میشوند .تنها مشکل روش فوق این است که پروتکلهای بردار فاصله برای ارسال جداول مسیریابی به پهنای باند بیشتری نیاز دارند و ممکن است در چرخههای مسیریابی گرفتار شوند. 2-2-2پروتکلهای مسیریابی وضعیت پیوند ▪ پروتکلهای مسیریابی وضعیت پیوند ) (Link State Routing Protocolsبرای پیدا کردن بهترین مسیر از رویکرد متفاوتی استفاده میکنند و اطلعات را با روترهای دورتر از همسایگان خود بهاشتراک میگذارند .در این شیوه نرخ تبادل دادهها در فرآیند مسیریابی بر اساس سرعت رسیدن بستهها به مقصد محاسبه میشود .این نوع از پروتکلها از یک الگوریتم برای انجام اینکار استفاده میکنند .یکی از تفاوتهای اصلی این پروتکل با پروتکل بردار فاصله این است که پروتکلهای وضعیت پیوند جداول مسیریابی را ارسال نمیکنند و به جای آن روترها وقتی تغییرات مسیر شناسایی میشوند این موضوع را به یکدیگر اطلع میدهند .روترهایی که از پروتکل وضعیت پیوند استفاده میکنند سه نوع جدول شامل جدول همسایه ،جدول توپولوژی و جدول مسیریابی را ایجاد میکنند .جدول همسایه اطلعات مربوط به روترهای مجاور را ذخیره میکند ،جدول توپولوژی کل توپولوژی شبکه را ذخیره میکند و جدول مسیریابی کارآمدترین مسیرها را در خود نگهداری میکند. 19 IGPوEGP میتوان پروتکلهای مسیریابی را به عنوان پروتکل دروازه داخلی ) (IGPسرنام Interior Gateway Protocolطبقهبندی کرد IGP.ها پروتکلهایی هستند که اطلعات مسیریابی را با سایر روترهای درون یک سیستم خودمختار ) (ASمبادله میکنند .یک ASبه عنوان یک شبکه یا مجموعهای از شبکههای تحت کنترل یک سازمان تعریف میشود .بنابراین ASشرکت جدا از ASتامینکننده خدمات اینترنت ) (ISPاست .هر یک از پروتکلهای زیر به عنوان یک IGPطبقهبندی میشوند: ▪ ▪ ▪ پروتکل ابتدا کوتاهترین مسیر را باز کن ) (OSPFسرنام Open Shortest Path First پروتکل اطلعات مسیریابی (RIP) Routing Information Protocol پروتکل سامانه حد واسط به سامانه حد واسط ) (IS-ISسرنامIntermediate System-to- Intermediate System ▪ پروتکل مسیریابی دروازه داخلی پیشرفته ) (EIGRPسرنام Enhanced Interior Gateway Routing Protocol از طرف دیگرEGP ،ها پروتکلهای مسیریابی هستند که اطلعات مسیریابی را بین روترها در سیستمهای خودمختار متفاوت منتقل میکنند .این پروتکلها پیچیدهتر هستند . BGPتنها پروتکل EGP است که سرپرستان شبکه با آن در تعامل هستند .از EGPهای مطرحی که معماران شبکه به شکل گسترده از آنها استفاده میکنند به موارد زیر میتوان اشاره کرد: ▪ پروتکل دروازه مرزی ) (BGPسرنام Border Gateway Protocol ▪ پروتکل دروازه خارجی ) (EGPسرنام Exterior Gateway Protocol ▪ پروتکل مسیریابی ایزو (IDRP) InterDomianسرنام The ISO’s InterDomain Routing Protocol 20 جدول تاریخچه پروتکلهای مسیریابی ▪ 1982 – EGP ▪ 1985 – IGRP ▪ 1988 – RIPv1 ▪ 1990 – IS-IS ▪ 1991 – OSPFv2 ▪ 1992 – EIGRP ▪ 1994 – RIPv2 ▪ 1995 – BGP ▪ 1997 – RIPng ▪ 1999 – BGPv6 and OSPFv3 ▪ 2000 – IS-ISv6 2-2-3پروتکل اطالعات مسیریابی)(RIP پروتکل اطلعات مسیریابی ) (RIPیکی از اولین پروتکلهای مسیریابی طراحی شده است . RIPدر شبکههای محلی ) (LANو شبکههای گسترده ) (WANو همچنین الیه کاربرد مدل OSIاستفاده میشود .نسخههای مختلفی از RIPاز جمله RIPv1و RIPv2وجود دارد .نسخه اصلی )(RIPv1 مسیرهای شبکه را بر اساس مقصد آیپی و شمارش هاپها تعیین میکند . RIPv1با انتشار جدول آیپی خود به تمام روترهای متصل به یک شبکه با آن شبکه ارتباط برقرار میکند . RIPv2کمی پیچیدهتر است و جدول مسیریابی خود را به یک آدرس مالتیکست ارسال میکند .هر مسیریاب یا روتر هر ۳۰ثانیه کل محتویات جدول مسیریابی خود را به عنوان اینترفیسهای RIPبرای استفاده مسیریابهای دیگر در شبکه میفرستد .زمانیکه چنین اعلنی دریافت میشود تمام مسیریابها 21 تخصیصی را درجدول مسیریابی خود قرار داده و ارسال مجدد را شروع میکنند .این فرایند تضمین میکند که تمامی شبکههای متصل به هر مسیریاب سرانجام به همه مسیریابها شناسانده میشوند. اگر یک مسیریاب در مدت زمان ۱۸۰ثانیه از مسیریاب دیگری مجدد تغییرات محتویات مسیریابی را دریافت نکند روتر به این نتیجه خواهد رسید که تمامی اطلعاتی که دریافت کردهاست غیرمعتبر است و از آنها استفاده نمیکند .در نهایت اگر تا مدت زمان ۲۴۰ثانیه اطلعات محتویات مسیریاب را دریافت نکند تمامی اطلعات مسیریابی که از آن روتر دریافت کردهاست را پاک میکند. هر مسیر یک صفت ویژه بنام متریک ) (Metricدارد که فاصله از مقصد را مشخص میکند. زمانی که یک مسیریاب یک اعلن دریافت میکند ،صفت ویژه متریک را افزایش میدهد .این ویژگی باعث میشود که مسیرها از نظر متریک با هم متفاوت شوند و مسیریابها بتوانند مسیر کوتاهتر را تشخیص دهند .حداکثر تعداد متریک میتواند عدد ۱۵باشد و عددی باالتر از ۱۵به منزله غیرقابل دسترس بودن است .ریپ میتواند تا ۶مسیر را که دارای متریک برابر باشد به عنوان لود باالنس ) (Load Balanceو فیل اور ) (Fail Overیکدیگر قرار دهد .ریپ از پروتکل قرارداد دادهنگار کاربر )(UDPبه عنوان پروتکل حمل و نقل خود و از پورت پیشفرض ۵۲۰استفاده مینماید. نسخه۱ RIPنسخه ۱در سال ۱۹۸۸عرضه شد و تنها میتواند از کلسهای پیشفرض IPاستفاده کند . )(Classfulاین نسخه برای به روز کردن جداول خود جدول خود را بین مسیریابهای دیگر پخش )(Broadcastمیکند و همچنین در آن برای به روز کردن جداول احراز هویت انجام نمیگیرد که این موضوع آن را نسبت به حملت مختلف آسیبپذیر میسازد. 22 نسخه ۲ با توجه به کمبودهای RIPنسخه RIP ،۱نسخه ۲در سال ۱۹۹۸آماده استفاده شد. در این نسخه بسیاری از کاستیهای نسخه اول برطرف شدهاست .همچنین میتوان از زیر شبکههای )(Subnetغیر پیشفرض استفاده نمود) ، (Classlessبرای آن فاکتور احراز هویت بکار برد و همچنین آن را با الگوریتم امدی ۵رمز نگاری کرد. ویژگی دیگر این نسخه نسبت به نسخه قبل این است که جداول خود را هم به صورت پخش)(Broadcastو هم به صورت چند بخشی )(Multicastدر رنج آی پی ۲۲۴٫۰٫۰٫۹ارسال نماید .دو ویژگی احراز هویت و ارتباط Multicastدر این نسخه باعث ایمنی نسبی آن نسبت به نسخه قبلی گشتهاست. RIPngاین نسخه شباهت زیادی به نسخه ۲دارد با این تفاوت که برای پشتیبانی از آی پی ورژن ۶به وجود آمدهاست. 2-2-4پروتکل دروازه داخلی)(IGRP پروتکل دروازه داخلی) (IGRPیک پروتکل مسیریابی بردار فاصله ارائه شده توسط سیسکو است. IGRPبر پایه معماری RIPساخته شده تا به شکل کارآمدتری درون شبکههای متصل بزرگتر عمل کند . IGRPاز معیارهایی مثل پهنای باند ،زمان تاخیر ،قابلیت اطمینان و بارگیری استفاده میکند تا وضعیت دسترسی به روترهای درون شبکه را مقایسه کند .با اینحال ،در تنظیمات پیشفرض IGRPتنها از پهنای باند و زمان تاخیر استفاده میشود . IGRPبرای شبکههای بزرگتر مناسب است ،زیرا بهروزرسانیهای خود را هر 90ثانیه منتشر میکند و حداکثر 255هاپ دارد. بهطور پیش فرض هر مسیریاب یا روتر هر ۹۰ثانیه کل محتویات جدول مسیریابی خود را برای استفاده مسیریابهای دیگر در شبکه میفرستد .زمانیکه چنین اعلنی دریافت میشود تمام مسیریابها تخصیصی را درجدول مسیریابی خود قرار داده و ارسال مجدد را شروع میکنند .این فرایند تضمین میکند که تمامی شبکههای متصل به هر مسیریاب سرانجام به همه مسیریابها شناسانده میشوند. 23 اگر یک مسیریاب در مدت زمان ۲۷۰ثانیه سه برابر زمان پیش فرض ۹۰ثانیه از مسیریاب دیگری مجدد تغییرات محتویات مسیریابی را دریافت نکند روتر به این نتیجه خواهد رسید که تمامی اطلعاتی که دریافت کردهاست غیرمعتبر است و از آنها استفاده نمیکند .در نهایت اگر تا مدت زمان ۶۳۰ثانیه هفت برابر زمان پیش فرض ۹۰ثانیهاطلعات محتویات مسیریاب را دریافت نکند تمامی اطلعات مسیریابی که از آن روتر دریافت کردهاست را پاک میکند. در این پروتکل ،از پهنای باند) ، (bandwidthتأخیر خط) ، (delayقابلیت اطمینان ) (reliabilityو بار ) (loadبه عنوان شاخص هائی جهت تعیین بهترین مسیر استفاده میشود و میتواند حداکثر دارای ۲۵۵هاپ باشد که مقدار پیش فرض آن ۱۰۰در نظر گرفته میشود .این وضعیت در شبکههای بزرگ بسیار مفید است و مشکل داشتن حداکثر ۱۵هاپ در یک شبکه مبتنی بر پروتکل RIPرا برطرف مینماید. 2-2-5پروتکل ابتدا کوتاهترین مسیر را باز کن)(OSPF پروتکل ابتدا کوتاهترین مسیر را باز/انتخاب کن ) (OSPFیک پروتکل مسیریابی وضعیت-پیوند از نوع IGPاست که برای شبکههای آیپی مبتنی بر الگوریتم ابتدا کوتاهترین مسیر ) (SPFرا استفاده کن طراحی شده است .از الگوریتم مسیریابی SPFبرای محاسبه کوتاهترین مسیر برای نقل و انتقال موثر بستههای دادهای استفاده میشود .در این روش روترهای OSPFاز پایگاههای داده حاوی اطلعات مربوط به توپولوژی شبکه نگهداری میکنند .این پایگاه داده با دادههای دریافتی از پروتکل LSAsسرنام Link State Advertisementsکه توسط سایر روترها ارسال میشود پر میشود . OSPFهمچنین از الگوریتم Dijkstraبرای محاسبه مجدد مسیرهای شبکه در زمانهایی که توپولوژی تغییر کرده استفاده میکند .همچنین این پروتکل نسبتا ایمن است ،زیرا میتواند برای امن نگه داشتن دادهها تغییرات پروتکل را تایید کند .این پروتکل به دلیل انعطافپذیری و قابلیت گسترش در محیطهای بزرگ توسط بسیاری از سازمانها استفاده میشود . ایجاد پیوندهای همسایگی در OSPFدارای چند مرحله است: :Down .1در این حالت ،هیچ اطلعاتی اعم از پیغامهای helloو غیره رد و بدل نشدهاست. :Attempt .2مشابه Downاست با این تفاوت که پروسه هماهنگی در حال آغاز است. 24 :Init .3پیغام helloاز روتر دیگری دریافت شده ،اما ارتباط دوطرفه هنوز برقرار نشدهاست. :2-way .4ارتباط دوطرفه بین روترها برقرار است و همسایگی در حال استقرار است .این وضعیت اولین مرحله در انتخاب DRاست. :ExStart .5اولین مرحله تبیین مجاورت بین دو روتر؛ :Exchange .6در حالت ، exchangeروتر جدول اطلعات تمام پیوندهایش را به همسایه ارسال میکند .در این مرحله است که تمام بستههای پروتکل مسیریابی قابلیت انتقال دارند. :Loading .7در این مرحله روتر اطلعات اخیر مربوط به وضعیت پیوند را از همسایهاش درخواست میکند. :Full .8تمام اطلعات مربوط به پیوندها با همه روترها همگام ) synchronizedشدهاست .هر اطلعاتی که از طریق OSPFبه روترهای دیگر اعلم میشود( به اصطلح Advertise میشود دارای نوع خاصی است که در headerپروتکل از بیت نهم تا شانزدهم به آن اختصاص یافتهاست .این گونههای داده به این شرح هستند: • :Type 1همه روترهای یک ناحیه Areaاین نوع داده را ارسال میکنند و در آن اطلعات مربوط به روترهای همسایه و هزینه رسیدن به آنها فهرست میشود .این نوع از داده فقط مخصوص همان ناحیهای است که ساخته شده .نام آن Router Linkاست. • :Type 2این نوع از الاسای توسط روتر برگزیده یا DR: Designated Routerساخته شده و اطلعات مربوط به همسایههای یک قسمت یا سگمنت Segmentمجاور را فهرست میکند .این نوع نیز از ناحیهای که در آن ساخته شده فراتر نمیرود .نام آن Network Linkاست. • :Type 3توسط روترهای مرز ناحیه یا( ) ABR:Area Border Routerساخته شده و بین ناحیهها ارسال میشود .نا آن Network Summaryاست. • :Type 4این نوع داده را ABRبه ناحیه ستون فقرات شبکه یا Backboneارسال میکند تا حضور یک ASBRرا در ناحیه مورد نظر اعلم کند .نام آن ASBR Summaryاست. 25 • :Type 5توسط روترهای مرز سیستم مستقل( ASBR: Autonomous System Border )Routerساخته میشود تا اطلعات مربوط به مسیرهای اکسترنال (مسیرهایی که از پروتکل مسیریابی اواسپیاف استفاده نمیکنند) به روترهایی اجرا کننده پروتکل اواسپیاف ارسال شود. نام آن External Linkاست. 2-2-6الگوریتم Dijkstra الگوریتم Dijkstraبرای یافتن کوتاهترین مسیر بین گرهها در یک گراف مورد استفاده قرار میگیرد .این الگوریتم به عنوان مثال ،در شبکههای جادهای کاربرد زیادی دارد .این الگوریتم توسط ادسخر دایکسترا در سال ۱۹۵۶پیشنهاد شد. این الگوریتم انواع مختلفی دارد .الگوریتم اصلی دایکسترا کوتاهترین مسیر را بین دو گره معین پیدا میکرد ،اما یک نوع رایجتر این الگوریتم یک گره منفرد را به عنوان گره "مبدأ" مشخص میکند و کوتاهترین مسیر را از مبدأ مشخص شده تا همه گرههای دیگر در گراف پیدا میکند که به آن" درخت کوتاهترین مسیر ") (Shortest path treeگفته میشود. برای یک مبدأ مشخص شده در گراف ،این الگوریتم کوتاهترین مسیر را بین آن گره و سایر نقاط پیدا میکند .همچنین از این الگوریتم میتوان برای یافتن کوتاهترین مسیر بین دو گره مشخص استفاده کرد ،به این صورت که الگوریتم از گره مبدأ آغاز میشود و در زمانی که به گره مقصد رسید متوقف خواهد شد .این الگوریتم کوتاهترین مسیر به شکل گسترده در پروتکلهای مسیریابی در شبکهها کامپیوتری ،بهطور مثال در IS-ISیا در OSPFمورد استفاده است. الگوریتم دایکسترا از برچسبهایی استفاده میکند که اعداد صحیح مثبت یا اعداد حقیقی هستند و کاملا مرتب شدهاند .اما میتوان آن را به اعدادی که به صورت جزئی (محلی) مرتب هستند نیز تعمیم داد .به این عمومی سازی ،الگوریتم کوتاهترین مسیر عمومی دایکسترا گفته میشود. الگوریتم دایکسترا برای ذخیرهسازی دسترسی به اطلعات ذخیرهشده ،از یک داده ساختار استفاده میکند .الگوریتم اصلی از صف اولویتدار استفاده میکند و پیچیدگی آن )| 𝑂(|𝑉 2جایی که |𝑉| تعداد گرهها است میباشد .ایده این الگوریتم در مقاله( Leyzorekو دیگران ) 1957نیز 26 ارائه شدهاست( . Fredmanو ) Tarjan 1984با استفاده از یک صف اولویتدار در هرم فیبوناچی پیچیدگی زمان اجرا را به )|𝑉| 𝑂(|𝐸| + |𝑉| logکه|𝐸| تعداد لبهها است رساندند .این الگوریتم به صورت مجانبی سریعترین الگوریتم یافتن کوتاهترین مسیر از یک مبدأ برای یک گراف جهت دار با وزنهای غیر منفی بدون محدودیت شناخته شدهاست. 2-2-7پروتکلهای دروازه خارجی)(EGP ▪ پروتکل دروازه خارجی ) (EGPبرای تبادل داده بین میزبانهایی که در سیستمهای خودمختار در مجاورت یکدیگر قرار دارند استفاده میشود .به عبارت دیگر EGPیک مکانیزم ارتباطی برای روترها فراهم میکند تا اطلعات دامنههای مختلف را بهاشتراک بگذارند .معروفترین نمونه از یک EGPخود اینترنت است .جدول مسیریابی پروتکل EGPشامل روترهای شناخته شده ،هزینه مسیر و آدرس شبکه دستگاههای مجاور است . EGPدر گذشته به میزان زیادی توسط سازمانهای بزرگ استفاده میشد ،اما بعد از مدتی با BGPجایگزین شد .پروتکل فوق به این دلیل محبوبیت خود را از دست داد که از محیطهای شبکهسازی چند مسیره پشتیبانی نمیکرد. پروتکل EGPبرای آنکه بتواند به بهترین شکل کار کند از یک پایگاه داده خاصمنظوره استفاده میکند .این پایگاه داده اطلعات مربوط به شبکههای مجاور و جهتهای مسیریابی را نگهداری میکند .پروتکل EGPاطلعات مسیر را برای روترهای موجود در شبکه ارسال میکند . 2-2-7پروتکل مسیریابی دروازه داخلی پیشرفته)(EIGRP ▪ پروتکل مسیریابی دروازه داخلی پیشرفته ) (EIGRPیک پروتکل مسیریابی بردار فاصله است که برای شبکههای آیپیAppleTalk ،و NetWareطراحی شده است . EIGRPپروتکل اختصاصی سیسکو است که طراحی آن بر پایه پروتکل اصلی IGRPصورت گرفته است. زمانی که از EIGRPاستفاده میشود یک روتر اطلعات را از جداول مسیریابی همسایگان خود دریافت میکند و آنها را ضبط میکند .هر زمان تغییری اتفاق میافتد روتر اطلعات جدید را برای همسایگان خود ارسال میکند .به این شكل روترهای مجاور از آنچه در دستگاههای اطراف میگذرد آگاه میشوند . EIGRPبرای به حداکثر رساندن کارایی از فناوریها و پروتکلهای خاصی همچون RTPسرنام Reliable Transport Protocolو DUALسرنام 27 Diffusing Update Algorithmاستفاده میکند .در این روش بستهها به شکل کارآمدتری ارسال میشوند ،زیرا مسیرها بازنگری و محاسبه میشوند تا به فرآیند همگرایی سرعت داده شود. 2-2-8پروتکل دروازه مرزی)(BGP ▪ پروتکل دروازه مرزی ) (BGPپروتکل مسیریابی اینترنت است که به عنوان یک پروتکل بردار فاصله طبقهبندی شده است . BGPبا رویکرد غیر متمرکز در مسیریابی طراحی شد تا جایگزین EGPشود .الگوریتم انتخاب بهترین مسیر در BGPبهترین مسیرها را برای نقل و انتقال بستهها انتخاب میکند .اگر تنظیمات را تغییر نداده باشیدBGP ،مسیرهایی که کمترین فاصله تا مقصد دارند را انتخاب میکند .با اینحال ،خیلی از مدیران شبکه ترجیح میدهند تصمیمات مسیریابی را متناسب با نیازهای خود تغییر دهند . BGPتنها زمانی دادههای جدول مسیریابی بهروزرسانی شده را ارسال میکند که تغییراتی اتفاق افتاده باشد .در نتیجه هیچ شناسایی خودکاری از تغییرات توپولوژی وجود ندارد و کاربر باید BGPرا بهطور دستی پیکربندی کند. به منظور افزایش سطح امنیت ،پروتکل BGPمیتواند احراز هویت شود تا فقط روترهای تایید شده بتوانند دادهها را با یکدیگر مبادله کنند. پروتکل سامانه حد واسط به سامانه حد واسط)(IS-IS ▪ پروتکل سامانه حد واسط به سامانه حد واسط ) (IS-ISیک پروتکل وضعیت پیوند ،مسیریابی آیپی و پروتکل IGPPاست که در اینترنت برای ارسال اطلعات مسیریابی آیپی استفاده میشود . IS-ISاز یک نسخه اصلح شده از الگوریتم Dijkstraاستفاده میکند .شبکههای مبتنی بر پروتکل IS-ISاز طیف گستردهای از مولفههای مختلف شامل سیستمهای نقطه پایانی (دستگاههای کاربر) ،سیستمهای میانی (روتر) ،نواحی و دامنهها تشکیل شدهاند .در پروتکلIS- ISروترها در گروههایی تحت عنوان نواحی ) (areasسازماندهی میشوند و با ترکیب چند ناحیه یک دامنه ساخته میشود .دو نوع آدرس شبکه NSAPسرنام Network Service Access Pointو NETسرنام Network Entity Titleتوسط IS-ISاستفاده میشود. 28 2-2-9پروتکلهای مسیریابی ClassfulیاClassless ▪ پروتکلهای مسیریابی را میتوان به دو دسته classfulو classlessطبقهبندی کرد .تمایز بین این دو کلس به نحوه انجام بهروزرسانیهای مسیریابی بر میگردد . پروتکلهای مسیریابیClassful ▪ پروتکلهای مسیریابی Classfulدر زمان بهروزرسانی مسیریابی اطلعات ماسک زیرشبکه را ارسال نمیکنند ،در حالی که در مسیریابی classlessاینکار انجام میشود . RIPv1و IGRP به عنوان پروتکلهای classfulدر نظر گرفته شدهاند ،زیرا در بهروزرسانیهای مسیریابی خود اطلعات ماسک زیرشبکه را منتقل نمیکنند .این نوع از پروتکلها جای خود را به پروتکلهای classlessدادهاند . پروتکلهای مسیریابیClassless ▪ همانگونه که اشاره شد پروتکلهای مسیریابی classlessجایگزین پروتکل classfulشده است. این نوع پروتکلها در زمان بهروزرسانی مسیریابی ،اطلعات ماسک زیرشبکه را ارسال میکنندOSPF ،EIGRP ،. RIPv2و IS-ISهمگی در گروه پروتکلهای مسیریابی classlessطبقهبندی میشوند. 29 منابع Routing Information Protocol www.cisco.com • https://www.semanticscholar.org/paper/An-adaptive-routing-algorithm-forintegrated-Wang-Jiang/e7dc32dcee204dab881aa01c2e3a357ae0a5106c • /https://avashnet.com/what-is-osi-model • M. Noormohammadpour; C. S. Raghavendra. (2018). "Minimizing Flow Completion Times using Adaptive Routing over Inter-Datacenter Wide Area Networks" • Goścień, Róża; Walkowiak, Krzysztof; Klinkowski, Mirosław (2015-03-14). "Tabu search algorithm for routing, modulation and spectrum allocation in elastic optical network with anycast and unicast traffic". Computer Networks. 79: 148–165. doi:10.1016/j.comnet.2014.12.004. ISSN 13891286. • https://www.scaler.com/topics/routing-algorithms-in-computer-networks • /https://www.geeksforgeeks.org/classification-of-routing-algorithms • 30