پروتكل مسيريابي Interior Gateway Routing Protocol يا IGRP پروتكل مسيريابي است كه در اواسط سال 1980 ميلادي توسط شركت سيسكو معرفي شد. هدف سيسكو از ارائه اين پروتكل مسيريابي ارائه يك پروتكل قوي و قابل اعتماد براي كار كردن در يك Autonomous System يا AS عنوان شد. اين نوع پروتكل ها كه فقط در يك Autonomous System فعاليت مي كنند به عنوان پروتكل هاي IGP يا Interior Gateway Routing Protocol شناخته مي شوند. بد نيست بدانيد كه IGRP هم به نوعي يك پروتكل Distance Vector از نوع پيشرفته است.
در اواسط سال 1980 ميلادي محبوب ترين و معمولترين پروتكل Interior Gateway اي كه در دنيا مورد استفاده قرار مي گرفت Routing Information Protocol يا RIP بود. RIP براي شبكه هايي كه كوچك و متوسط بودند پروتكل مسيريابي تقريبا مطمئني بود اما به بزرگتر شده شبكه ها و محدوديت هايي كه در RIP بصورت ذاتي وجود داشت و در شبكه هاي بزرگ قابل استفاده نبود. در واقع محدوديت تعداد 15 عدد Hop Count اندازه شبكه ها را خود به خود كوچك مي كرد ، با توجه به اينكه RIP فقط از مكانيزم Hop Count براي محاسبه Metric استفاده مي كرد انعطاف پذيري ما در طراحي شبكه ها را به شدت در محيط هاي پيچيده تر شبكه كاهش مي داد. محبوبيت تجهيزات زيرساختي و به ويژه روترهاي سيسكو باعث رونق گرفتن استفاده از IGRP در سازمان هاي مختلف و جانشين شدن اين پروتكل به جاي RIP در سازمان ها شد.
IGRP سيسكو از همان ابتدا از پروتكل IP پشتيباني كرد و در تمامي شبكه هاي IP Based قابل استفاده شد ، IGRP به گونه اي طراحي شده بود كه مي توانست تقريبا در همه شبكه ها مورد استفاده قرار بگيرد و حتي سيسكو براي اثبات پروتكل ارائه شده خود آن را به عنوان يك پروتكل Connectionless-Network Protocol يا CLNP در مدل OSI وارد كرد. يکي از محدوديت هايي که IGRP در خود داشت و دارد اين است که با توجه به Distance Vector بودن اين پروتکل امکان استفاده از VLSM در آن وجود ندارد. سيسكو بعدها مدل بسيار پيشرفته تري از IGRP به نام EIGRP يا Enhanced Interior Gateway Routing Protocol را ارائه داد كه كارايي اين پروتكل را بسيار ارتقاء داد در اين مقاله هدف صرفا آشنايي اوليه با پروتكل IGRP مي باشد.
همانطور كه قبلا هم اشاره كرديم IGRP يك نوع پيشرفته از پروتكل هاي مسيريابي Distance Vector است و اين بدين معناست كه هر روتر در مجموعه اي كه در آن IGRP پياده سازي شده است Routing Table هاي خود را بصورت كامل يا قسمت بروز رساني شده را طي وهله هاي زماني معين براي ساير روترهاي موجود در مجموعه ارسال مي كند. روتر بهترين مسير براي رساندن بسته اطلاعاتي از مبدا به مقصد را بر عهده دارد. با توجه به اينكه هر يك از مسيرها ممكن است شامل چندين لينك مختلف براي رسيدن به شبكه مقصد باشند ، سيستم نياز به مكانيزمي دارد تا بتواند لينك هاي مسيرهاي موجود را با هم مقايسه كند و بهترين مسير را پيدا كند. سيستم يا پروتكي مثل RIP از فاكتوري به نام Hop Count براي تعيين بهترين مسير استفاده مي كند اما پروتكل IGRP از پنج فاكتور مختلف براي محاسبه و پيدا كردن بهترين مسير اسفاده مي كند ، فاكتورهايي كه در IGRP براي محاسبه بهترين مسير استفاده مي شود به شرح زير مي باشند :
سرعت لينك يا Link Speed
اندازه بسته اطلاعاتي يا Packet Size
Loading يا ترافيك موجود در لينك ( بار ترافيكي موجود در مسير)
قابل اعتماد بودن يا Reliability
فرآيند بروز رساني Route ها در IGRP
روترهايي که بر روي آنها IGRP پياده سازي شده است بصورت پيشفرض هر 90 ثانيه يکبار بسته هاي بروز رساني Routing Table خود را Broadcast مي کنند. اگر يک Update از يک روتر موجود در شبکه IGRP به مدت 3 وهله زماني يا 270 ثانيه دريافت نشود روترهاي شبکه Route مربوط به اين روتر را نامعتبر يا Invalid مي کنند ، اگر اين فرآيند ادامه پيدا کند و بعد از 7 وهله زماني همچنان Routing Update از يک روتر در شبکه ديده نشود روتر مورد نظر بصورت کامل از Routing Table هاي موجود در IGRP شبکه حذف خواهد شد.
IGRP سه نوع Route را Advertise مي کند :
Interior : يا داخلي Route هايي هستند که بين Subnet هايي که به Interface هاي روتر متصل شده اند رد و بدل مي شود
System : يا سيستمي Route هايي هستند که به شبکه هايي که در يک Autonomous System قرار دارند ارسال مي شود . روتر System Route ها را از شبکه هايي که مستقيما به Interface ها آن متصل شده اند و همچنين از System Route هايي که توسط ساير روترهاي IGRP شبکه ارسال مي شوند دريافت مي کند.
Exterior : يا خارجي Route هايي هستند که به شبکه هاي خارج از Autonomous System فعلي ارسال مي شوند و زمانيکه صحبت از Exterior Routes مي شود يعني مقصد مورد نظر در شبکه هاي موجود فعلي پيدا نشده است و به همين دليل به آخرين Gateway ارسال شده است. Router با استفاده از Exterior Route هايي که از طريق IGRP دريافت مي کند Gateway يک Autonomous System را شناسايي مي کند. اگر يک Autonomous System به بيش از يک شبکه External متصل شده باشد در اينجاست که روترهاي مختلف Gateway هاي مختلفي را مي توانند براي آخرين مسير خود انتخاب کنند و بسته اطلاعاتي را به آن ارسال کنند.
نحوه محاسبه Routing Metric در IGRP
همانطور که قبلا هم اشاره کرديم و کار هميشگي ITPRO هاست که قبلا اشاره مي کنند D: پروتکل IGRP براي محاسبه Metric از پارامترهايي مصل Delay ، Bandwidth ، Reliability ، MTU و Load براي محاسبه بهترين مسير براي هر Packet استفاده مي کند. بصورت پيشفرض الگوريتم مورد استفاده در IGRP فقط از Bandwidth و Delay براي تعيين Metric استفاده مي کند اما ساير فاکتورهاي محاسبه Metric هم مي تواند فعال کرد. فرمول پايين براي محاسبه مقدار Metric در پروتکل IGRP مورد استفاده قرار مي گيرد :
Metric = [K1 * Bandwidth + (K2 * Bandwidth)/ (256-Load) + K3*Delay] * [K5/(Reliability + K4)]
مقادير پيشفرض در فرمول بالا به ترتيب K1 و K3 برابر عدد 1 و K2 و K4 و K5 برابر عدد صفر هستند.. اگر K برابر صفر باشد در فرمول بالا قسمت [K5// (reliability + K4)] بي اثر خواهد بود. بنابراين با مقادير پيشفرضي که به K1 و K5 داده مي شود خوب به خود فرمول کلي محاسبه Metric در IGRP به شکل Metric=Bandwidth + Delay در خواهد آمد. براي پيدا کردن مقدار Bandwidth کمترين اندازه پهناي باند در Interface هاي خروجي روتر را پيدا کنيد و آن را تقسيم بر 10,000,000 کنيد ، اندازه پهناي باند را بر حسب Kbps يا کيلو بيت بر ثانيه تعريف کنيد. مقدار پارامترهاي Reliability و Load عددي بين 1 تا 255 خواهد بود. عدد Reliability يک برابر پايينترين ميزان Reliability و عدد 255 نشان دهنده بالاترين ميزان Reliability در لينک مي باشد. Load اي که برابر 1 باشد کمترين ميزان بهينه سازي و Load اي که عدد 255 را داشته باشد به معناي استفاده صد در صدي از لينک است. MTU به اندازه Frame شما بستگي دارد. براي محاسبه تاخير يا Delay تمامي Delay هاي موجود خروجي از Interface هاي روتر را بر حسب ميکروثانيه با هم جمع کنيد و تقسيم بر عدد 10 کنيد. البته زياد نگران نباشيد اينها همگي توسط روتر محاسبه مي شوند و تنها برخي اوقات شما نياز به تغيير اين موارد خواهيد داشت.